@ckeditor/ckeditor5-real-time-collaboration 47.7.3-alpha.0 → 47.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/build/real-time-collaboration.js +1 -1
  2. package/dist/index.js +6 -6
  3. package/dist/translations/af.js +1 -1
  4. package/dist/translations/af.umd.js +1 -1
  5. package/dist/translations/ar.js +1 -1
  6. package/dist/translations/ar.umd.js +1 -1
  7. package/dist/translations/ast.js +1 -1
  8. package/dist/translations/ast.umd.js +1 -1
  9. package/dist/translations/az.js +1 -1
  10. package/dist/translations/az.umd.js +1 -1
  11. package/dist/translations/be.js +1 -1
  12. package/dist/translations/be.umd.js +1 -1
  13. package/dist/translations/bg.js +1 -1
  14. package/dist/translations/bg.umd.js +1 -1
  15. package/dist/translations/bn.js +1 -1
  16. package/dist/translations/bn.umd.js +1 -1
  17. package/dist/translations/bs.js +1 -1
  18. package/dist/translations/bs.umd.js +1 -1
  19. package/dist/translations/ca.js +1 -1
  20. package/dist/translations/ca.umd.js +1 -1
  21. package/dist/translations/cs.js +1 -1
  22. package/dist/translations/cs.umd.js +1 -1
  23. package/dist/translations/da.js +1 -1
  24. package/dist/translations/da.umd.js +1 -1
  25. package/dist/translations/de-ch.js +1 -1
  26. package/dist/translations/de-ch.umd.js +1 -1
  27. package/dist/translations/de.js +1 -1
  28. package/dist/translations/de.umd.js +1 -1
  29. package/dist/translations/el.js +1 -1
  30. package/dist/translations/el.umd.js +1 -1
  31. package/dist/translations/en-au.js +1 -1
  32. package/dist/translations/en-au.umd.js +1 -1
  33. package/dist/translations/en-gb.js +1 -1
  34. package/dist/translations/en-gb.umd.js +1 -1
  35. package/dist/translations/en.js +1 -1
  36. package/dist/translations/en.umd.js +1 -1
  37. package/dist/translations/eo.js +1 -1
  38. package/dist/translations/eo.umd.js +1 -1
  39. package/dist/translations/es-co.js +1 -1
  40. package/dist/translations/es-co.umd.js +1 -1
  41. package/dist/translations/es.js +1 -1
  42. package/dist/translations/es.umd.js +1 -1
  43. package/dist/translations/et.js +1 -1
  44. package/dist/translations/et.umd.js +1 -1
  45. package/dist/translations/eu.js +1 -1
  46. package/dist/translations/eu.umd.js +1 -1
  47. package/dist/translations/fa.js +1 -1
  48. package/dist/translations/fa.umd.js +1 -1
  49. package/dist/translations/fi.js +1 -1
  50. package/dist/translations/fi.umd.js +1 -1
  51. package/dist/translations/fr.js +1 -1
  52. package/dist/translations/fr.umd.js +1 -1
  53. package/dist/translations/gl.js +1 -1
  54. package/dist/translations/gl.umd.js +1 -1
  55. package/dist/translations/gu.js +1 -1
  56. package/dist/translations/gu.umd.js +1 -1
  57. package/dist/translations/he.js +1 -1
  58. package/dist/translations/he.umd.js +1 -1
  59. package/dist/translations/hi.js +1 -1
  60. package/dist/translations/hi.umd.js +1 -1
  61. package/dist/translations/hr.js +1 -1
  62. package/dist/translations/hr.umd.js +1 -1
  63. package/dist/translations/hu.js +1 -1
  64. package/dist/translations/hu.umd.js +1 -1
  65. package/dist/translations/hy.js +1 -1
  66. package/dist/translations/hy.umd.js +1 -1
  67. package/dist/translations/id.js +1 -1
  68. package/dist/translations/id.umd.js +1 -1
  69. package/dist/translations/it.js +1 -1
  70. package/dist/translations/it.umd.js +1 -1
  71. package/dist/translations/ja.js +1 -1
  72. package/dist/translations/ja.umd.js +1 -1
  73. package/dist/translations/jv.js +1 -1
  74. package/dist/translations/jv.umd.js +1 -1
  75. package/dist/translations/kk.js +1 -1
  76. package/dist/translations/kk.umd.js +1 -1
  77. package/dist/translations/km.js +1 -1
  78. package/dist/translations/km.umd.js +1 -1
  79. package/dist/translations/kn.js +1 -1
  80. package/dist/translations/kn.umd.js +1 -1
  81. package/dist/translations/ko.js +1 -1
  82. package/dist/translations/ko.umd.js +1 -1
  83. package/dist/translations/ku.js +1 -1
  84. package/dist/translations/ku.umd.js +1 -1
  85. package/dist/translations/lt.js +1 -1
  86. package/dist/translations/lt.umd.js +1 -1
  87. package/dist/translations/lv.js +1 -1
  88. package/dist/translations/lv.umd.js +1 -1
  89. package/dist/translations/ms.js +1 -1
  90. package/dist/translations/ms.umd.js +1 -1
  91. package/dist/translations/nb.js +1 -1
  92. package/dist/translations/nb.umd.js +1 -1
  93. package/dist/translations/ne.js +1 -1
  94. package/dist/translations/ne.umd.js +1 -1
  95. package/dist/translations/nl.js +1 -1
  96. package/dist/translations/nl.umd.js +1 -1
  97. package/dist/translations/no.js +1 -1
  98. package/dist/translations/no.umd.js +1 -1
  99. package/dist/translations/oc.js +1 -1
  100. package/dist/translations/oc.umd.js +1 -1
  101. package/dist/translations/pl.js +1 -1
  102. package/dist/translations/pl.umd.js +1 -1
  103. package/dist/translations/pt-br.js +1 -1
  104. package/dist/translations/pt-br.umd.js +1 -1
  105. package/dist/translations/pt.js +1 -1
  106. package/dist/translations/pt.umd.js +1 -1
  107. package/dist/translations/ro.js +1 -1
  108. package/dist/translations/ro.umd.js +1 -1
  109. package/dist/translations/ru.js +1 -1
  110. package/dist/translations/ru.umd.js +1 -1
  111. package/dist/translations/si.js +1 -1
  112. package/dist/translations/si.umd.js +1 -1
  113. package/dist/translations/sk.js +1 -1
  114. package/dist/translations/sk.umd.js +1 -1
  115. package/dist/translations/sl.js +1 -1
  116. package/dist/translations/sl.umd.js +1 -1
  117. package/dist/translations/sq.js +1 -1
  118. package/dist/translations/sq.umd.js +1 -1
  119. package/dist/translations/sr-latn.js +1 -1
  120. package/dist/translations/sr-latn.umd.js +1 -1
  121. package/dist/translations/sr.js +1 -1
  122. package/dist/translations/sr.umd.js +1 -1
  123. package/dist/translations/sv.js +1 -1
  124. package/dist/translations/sv.umd.js +1 -1
  125. package/dist/translations/th.js +1 -1
  126. package/dist/translations/th.umd.js +1 -1
  127. package/dist/translations/ti.js +1 -1
  128. package/dist/translations/ti.umd.js +1 -1
  129. package/dist/translations/tk.js +1 -1
  130. package/dist/translations/tk.umd.js +1 -1
  131. package/dist/translations/tr.js +1 -1
  132. package/dist/translations/tr.umd.js +1 -1
  133. package/dist/translations/tt.js +1 -1
  134. package/dist/translations/tt.umd.js +1 -1
  135. package/dist/translations/ug.js +1 -1
  136. package/dist/translations/ug.umd.js +1 -1
  137. package/dist/translations/uk.js +1 -1
  138. package/dist/translations/uk.umd.js +1 -1
  139. package/dist/translations/ur.js +1 -1
  140. package/dist/translations/ur.umd.js +1 -1
  141. package/dist/translations/uz.js +1 -1
  142. package/dist/translations/uz.umd.js +1 -1
  143. package/dist/translations/vi.js +1 -1
  144. package/dist/translations/vi.umd.js +1 -1
  145. package/dist/translations/zh-cn.js +1 -1
  146. package/dist/translations/zh-cn.umd.js +1 -1
  147. package/dist/translations/zh.js +1 -1
  148. package/dist/translations/zh.umd.js +1 -1
  149. package/package.json +15 -15
  150. package/src/common-translations.js +1 -1
  151. package/src/index.js +1 -1
  152. package/src/presencelist/presencelistui.js +1 -1
  153. package/src/presencelist/view/presencecounterview.js +1 -1
  154. package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
  155. package/src/presencelist/view/presencedropdownlistview.js +1 -1
  156. package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
  157. package/src/presencelist/view/presenceinlinelistview.js +1 -1
  158. package/src/presencelist/view/presencelistview.js +1 -1
  159. package/src/presencelist.js +1 -1
  160. package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +2 -2
  161. package/src/realtimecollaborativecomments.js +1 -1
  162. package/src/realtimecollaborativeediting/realtimecollaborationclient.js +2 -2
  163. package/src/realtimecollaborativeediting/sessions.js +1 -1
  164. package/src/realtimecollaborativeediting/usermarkers.js +1 -1
  165. package/src/realtimecollaborativeediting/websocketgateway.js +2 -2
  166. package/src/realtimecollaborativeediting.js +1 -1
  167. package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +2 -2
  168. package/src/realtimecollaborativerevisionhistory.js +1 -1
  169. package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +2 -2
  170. package/src/realtimecollaborativetrackchanges.js +1 -1
@@ -2,4 +2,4 @@
2
2
  /*!
3
3
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
4
4
  * For licensing, see LICENSE.md.
5
- */(()=>{var t={188(t){"use strict";t.exports=function(t,e){var n=new Array(arguments.length-1),r=0,s=2,o=!0;for(;s<arguments.length;)n[r++]=arguments[s++];return new Promise(function(s,i){n[r]=function(t){if(o)if(o=!1,t)i(t);else{for(var e=new Array(arguments.length-1),n=0;n<e.length;)e[n++]=arguments[n];s.apply(null,e)}};try{t.apply(e||null,n)}catch(t){o&&(o=!1,i(t))}})}},4(t,e){"use strict";var n=e;n.length=function(t){var e=t.length;if(!e)return 0;for(var n=0;--e%4>1&&"="===t.charAt(e);)++n;return Math.ceil(3*t.length)/4-n};for(var r=new Array(64),s=new Array(123),o=0;o<64;)s[r[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;n.encode=function(t,e,n){for(var s,o=null,i=[],a=0,c=0;e<n;){var d=t[e++];switch(c){case 0:i[a++]=r[d>>2],s=(3&d)<<4,c=1;break;case 1:i[a++]=r[s|d>>4],s=(15&d)<<2,c=2;break;case 2:i[a++]=r[s|d>>6],i[a++]=r[63&d],c=0}a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),a=0)}return c&&(i[a++]=r[s],i[a++]=61,1===c&&(i[a++]=61)),o?(a&&o.push(String.fromCharCode.apply(String,i.slice(0,a))),o.join("")):String.fromCharCode.apply(String,i.slice(0,a))};var i="invalid encoding";n.decode=function(t,e,n){for(var r,o=n,a=0,c=0;c<t.length;){var d=t.charCodeAt(c++);if(61===d&&a>1)break;if(void 0===(d=s[d]))throw Error(i);switch(a){case 0:r=d,a=1;break;case 1:e[n++]=r<<2|(48&d)>>4,r=d,a=2;break;case 2:e[n++]=(15&r)<<4|(60&d)>>2,r=d,a=3;break;case 3:e[n++]=(3&r)<<6|d,a=0}}if(1===a)throw Error(i);return n-o},n.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}},925(t){"use strict";function e(){this._listeners=Object.create(null)}t.exports=e,e.prototype.on=function(t,e,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:n||this}),this},e.prototype.off=function(t,e){if(void 0===t)this._listeners=Object.create(null);else if(void 0===e)this._listeners[t]=[];else{var n=this._listeners[t];if(!n)return this;for(var r=0;r<n.length;)n[r].fn===e?n.splice(r,1):++r}return this},e.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<e.length;)e[r].fn.apply(e[r++].ctx,n)}return this}},791(t){"use strict";function e(t){return"undefined"!=typeof Float32Array?function(){var e=new Float32Array([-0]),n=new Uint8Array(e.buffer),r=128===n[3];function s(t,r,s){e[0]=t,r[s]=n[0],r[s+1]=n[1],r[s+2]=n[2],r[s+3]=n[3]}function o(t,r,s){e[0]=t,r[s]=n[3],r[s+1]=n[2],r[s+2]=n[1],r[s+3]=n[0]}function i(t,r){return n[0]=t[r],n[1]=t[r+1],n[2]=t[r+2],n[3]=t[r+3],e[0]}function a(t,r){return n[3]=t[r],n[2]=t[r+1],n[1]=t[r+2],n[0]=t[r+3],e[0]}t.writeFloatLE=r?s:o,t.writeFloatBE=r?o:s,t.readFloatLE=r?i:a,t.readFloatBE=r?a:i}():function(){function e(t,e,n,r){var s=e<0?1:0;if(s&&(e=-e),0===e)t(1/e>0?0:2147483648,n,r);else if(isNaN(e))t(2143289344,n,r);else if(e>34028234663852886e22)t((s<<31|2139095040)>>>0,n,r);else if(e<11754943508222875e-54)t((s<<31|Math.round(e/1401298464324817e-60))>>>0,n,r);else{var o=Math.floor(Math.log(e)/Math.LN2);t((s<<31|o+127<<23|8388607&Math.round(e*Math.pow(2,-o)*8388608))>>>0,n,r)}}function i(t,e,n){var r=t(e,n),s=2*(r>>31)+1,o=r>>>23&255,i=8388607&r;return 255===o?i?NaN:s*(1/0):0===o?1401298464324817e-60*s*i:s*Math.pow(2,o-150)*(i+8388608)}t.writeFloatLE=e.bind(null,n),t.writeFloatBE=e.bind(null,r),t.readFloatLE=i.bind(null,s),t.readFloatBE=i.bind(null,o)}(),"undefined"!=typeof Float64Array?function(){var e=new Float64Array([-0]),n=new Uint8Array(e.buffer),r=128===n[7];function s(t,r,s){e[0]=t,r[s]=n[0],r[s+1]=n[1],r[s+2]=n[2],r[s+3]=n[3],r[s+4]=n[4],r[s+5]=n[5],r[s+6]=n[6],r[s+7]=n[7]}function o(t,r,s){e[0]=t,r[s]=n[7],r[s+1]=n[6],r[s+2]=n[5],r[s+3]=n[4],r[s+4]=n[3],r[s+5]=n[2],r[s+6]=n[1],r[s+7]=n[0]}function i(t,r){return n[0]=t[r],n[1]=t[r+1],n[2]=t[r+2],n[3]=t[r+3],n[4]=t[r+4],n[5]=t[r+5],n[6]=t[r+6],n[7]=t[r+7],e[0]}function a(t,r){return n[7]=t[r],n[6]=t[r+1],n[5]=t[r+2],n[4]=t[r+3],n[3]=t[r+4],n[2]=t[r+5],n[1]=t[r+6],n[0]=t[r+7],e[0]}t.writeDoubleLE=r?s:o,t.writeDoubleBE=r?o:s,t.readDoubleLE=r?i:a,t.readDoubleBE=r?a:i}():function(){function e(t,e,n,r,s,o){var i=r<0?1:0;if(i&&(r=-r),0===r)t(0,s,o+e),t(1/r>0?0:2147483648,s,o+n);else if(isNaN(r))t(0,s,o+e),t(2146959360,s,o+n);else if(r>17976931348623157e292)t(0,s,o+e),t((i<<31|2146435072)>>>0,s,o+n);else{var a;if(r<22250738585072014e-324)t((a=r/5e-324)>>>0,s,o+e),t((i<<31|a/4294967296)>>>0,s,o+n);else{var c=Math.floor(Math.log(r)/Math.LN2);1024===c&&(c=1023),t(4503599627370496*(a=r*Math.pow(2,-c))>>>0,s,o+e),t((i<<31|c+1023<<20|1048576*a&1048575)>>>0,s,o+n)}}}function i(t,e,n,r,s){var o=t(r,s+e),i=t(r,s+n),a=2*(i>>31)+1,c=i>>>20&2047,d=4294967296*(1048575&i)+o;return 2047===c?d?NaN:a*(1/0):0===c?5e-324*a*d:a*Math.pow(2,c-1075)*(d+4503599627370496)}t.writeDoubleLE=e.bind(null,n,0,4),t.writeDoubleBE=e.bind(null,r,4,0),t.readDoubleLE=i.bind(null,s,0,4),t.readDoubleBE=i.bind(null,o,4,0)}(),t}function n(t,e,n){e[n]=255&t,e[n+1]=t>>>8&255,e[n+2]=t>>>16&255,e[n+3]=t>>>24}function r(t,e,n){e[n]=t>>>24,e[n+1]=t>>>16&255,e[n+2]=t>>>8&255,e[n+3]=255&t}function s(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function o(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}t.exports=e(e)},338(t){"use strict";t.exports=function(t,e,n){var r=n||8192,s=r>>>1,o=null,i=r;return function(n){if(n<1||n>s)return t(n);i+n>r&&(o=t(r),i=0);var a=e.call(o,i,i+=n);return 7&i&&(i=1+(7|i)),a}}},405(t,e){"use strict";var n=e;n.length=function(t){for(var e=0,n=0,r=0;r<t.length;++r)(n=t.charCodeAt(r))<128?e+=1:n<2048?e+=2:55296==(64512&n)&&56320==(64512&t.charCodeAt(r+1))?(++r,e+=4):e+=3;return e},n.read=function(t,e,n){if(n-e<1)return"";for(var r="",s=e;s<n;){var o=t[s++];if(o<=127)r+=String.fromCharCode(o);else if(o>=192&&o<224){var i=(31&o)<<6|63&t[s++];r+=i>=128?String.fromCharCode(i):"�"}else if(o>=224&&o<240){var a=(15&o)<<12|(63&t[s++])<<6|63&t[s++];r+=a>=2048?String.fromCharCode(a):"�"}else if(o>=240){var c=(7&o)<<18|(63&t[s++])<<12|(63&t[s++])<<6|63&t[s++];c<65536||c>1114111?r+="�":(c-=65536,r+=String.fromCharCode(55296+(c>>10)),r+=String.fromCharCode(56320+(1023&c)))}}return r},n.write=function(t,e,n){for(var r,s,o=n,i=0;i<t.length;++i)(r=t.charCodeAt(i))<128?e[n++]=r:r<2048?(e[n++]=r>>6|192,e[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(s=t.charCodeAt(i+1)))?(r=65536+((1023&r)<<10)+(1023&s),++i,e[n++]=r>>18|240,e[n++]=r>>12&63|128,e[n++]=r>>6&63|128,e[n++]=63&r|128):(e[n++]=r>>12|224,e[n++]=r>>6&63|128,e[n++]=63&r|128);return n-o}},792(t,e,n){"use strict";n.d(e,{A:()=>a});var r=n(366),s=n.n(r),o=n(271),i=n.n(o)()(s());i.push([t.id,'.ck.ck-balloon-panel.ck-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:calc(var(--ck-z-dialog) + 100)}:root{--ck-color-presence-list-dropdown-background:#fff;--ck-color-presence-list-dropdown-arrow-border:#ebebeb;--ck-presence-list-dropdown-list-max-width:250px;--ck-presence-list-dropdown-list-min-width:180px;--ck-presence-list-users-tooltip-max-width:120px;--ck-presence-list-users-tooltip-min-width:25px}.ck.ck-presence-list{align-items:center;display:inline-flex;font-size:var(--ck-font-size-base);margin-right:var(--ck-spacing-standard);transition:margin-right .2s ease-in-out}.ck.ck-presence-list *{box-sizing:border-box}.ck.ck-presence-list__list{display:flex;flex-direction:row;justify-content:flex-end;position:relative}.ck.ck-presence-list__list:after{background:transparent;bottom:-15px;content:"";height:15px;left:0;position:absolute;width:100%}.ck.ck-presence-list__counter--hidden{display:none}.ck.ck-presence-list__list-item{background:none;border:1px solid transparent;color:inherit;font:inherit;margin-left:var(--ck-spacing-medium);outline:none;padding:0;position:relative}.ck.ck-presence-list__list-item:focus{border:var(--ck-focus-ring);border-radius:0;box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck-rounded-corners .ck.ck-presence-list__list-item:focus,.ck.ck-presence-list__list-item.ck-rounded-corners:focus{border-radius:var(--ck-border-radius)}.ck.ck-presence-list__list-item .ck-label{height:0;overflow:hidden;width:0}.ck.ck-presence-list__list-item:first-child{margin-left:0}.ck.ck-tooltip.ck-presence-list__list-item__tooltip>.ck-tooltip__text{display:inline-block;max-width:var(--ck-presence-list-users-tooltip-max-width);overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ck.ck-presence-list__marker{display:block;height:3px;margin-top:5px;position:relative;width:100%}.ck-presence-list__balloon button.ck-presence-list__dropdown-list-item *,.ck-presence-list__list button.ck-presence-list__list-item *{cursor:pointer}.ck.ck-presence-list--collapsed .ck-presence-list__list{border:1px solid transparent;min-width:calc(var(--ck-user-avatar-size)*2);padding-left:1px}.ck.ck-presence-list--collapsed .ck-presence-list__list *{cursor:pointer;transition:all .4s ease-in-out}.ck.ck-presence-list--collapsed .ck-presence-list__list:focus{border:var(--ck-focus-ring);border-radius:0;box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck-rounded-corners .ck.ck-presence-list--collapsed .ck-presence-list__list:focus,.ck.ck-presence-list--collapsed .ck-presence-list__list.ck-rounded-corners:focus{border-radius:var(--ck-border-radius)}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item{border:0;margin-left:calc(var(--ck-user-avatar-size)*-.35);padding:0}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:first-child{margin-left:0}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:last-child{order:unset}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item .ck-user{--ck-presence-list-avatar-border-color:var(--ck-color-base-foreground);border:2px solid var(--ck-presence-list-avatar-border-color);margin-left:0;margin-right:0}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item.ck-presence-list__users-counter{margin-left:0;margin-right:0}.ck.ck-presence-list__balloon{--ck-color-panel-border:var(--ck-color-presence-list-dropdown-arrow-border);--ck-color-panel-background:var(--ck-color-presence-list-dropdown-background);animation:fadeIn .3s ease-in-out;background-color:var(--ck-color-presence-list-dropdown-background);border:0;opacity:1}@media (prefers-reduced-motion:reduce){.ck.ck-presence-list__balloon{animation:none}}.ck.ck-presence-list__balloon ul{background-color:var(--ck-color-presence-list-dropdown-background)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-wrapper{border-radius:var(--ck-border-radius);max-width:var(--ck-presence-list-dropdown-list-max-width);min-width:var(--ck-presence-list-dropdown-list-min-width)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-wrapper.ck-presence-list__dropdown-list-wrapper_scrollable{max-height:80vh;overflow-x:hidden;overflow-y:auto}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item{align-items:center;background:none;border:0;color:inherit;display:flex;font:inherit;outline:none;padding:var(--ck-spacing-standard);position:relative}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:focus{box-shadow:var(--ck-focus-outer-shadow),0 0;outline:var(--ck-focus-ring);outline-offset:-1px;position:relative;z-index:1}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:first-of-type .ck-presence-list__marker{border-top-left-radius:var(--ck-border-radius)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:last-of-type .ck-presence-list__marker{border-bottom-left-radius:var(--ck-border-radius)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list .ck-user__full-name{color:var(--ck-color-base-text);margin-left:var(--ck-spacing-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list .ck.ck-presence-list__marker{height:100%;left:0;margin:0;position:absolute;width:3px}.ck.ck-presence-list__users-counter{--ck-presence-list-counter-border-color:var(--ck-user-avatar-background);--ck-presence-list-counter-background-color:var(--ck-user-avatar-color);align-items:center;background-color:var(--ck-presence-list-counter-background-color);border:2px solid var(--ck-presence-list-counter-border-color);border-radius:50%;box-sizing:border-box;display:flex;height:calc(var(--ck-user-avatar-size) - 4px);justify-content:center;line-height:100%;margin:4px 2px 2px;position:relative;width:calc(var(--ck-user-avatar-size) - 4px)}.ck.ck-presence-list__users-counter__text{--ck-presence-list-counter-text-color:var(--ck-user-avatar-background);color:var(--ck-presence-list-counter-text-color);cursor:default;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}',""]);const a=i},725(t,e,n){"use strict";n.d(e,{A:()=>a});var r=n(366),s=n.n(r),o=n(271),i=n.n(o)()(s());i.push([t.id,".ck .ck-user__marker-dot{border-radius:50%;cursor:default;display:block;height:var(--ck-user-dot-size);left:50%;position:absolute;top:calc((var(--ck-user-dot-size)/2)*-1);transform:translate(-50%,-50%);width:var(--ck-user-dot-size)}.ck .ck-user__marker-tooltip{color:#fff;display:none;font-family:Georgia,sans-serif;font-size:var(--ck-font-size-base);font-style:normal;font-weight:400;left:0;line-height:1;opacity:0;padding:var(--ck-spacing-small);position:absolute;top:-20px;transition:opacity .2s linear,transform .3s ease-in-out;white-space:nowrap;z-index:99999}@media (prefers-reduced-motion:reduce){.ck .ck-user__marker-tooltip{transition:none}}.ck .ck-user__marker-line{bottom:0;height:100%;position:absolute;width:0}.ck .ck-user__marker{cursor:default;display:inline;position:relative}.ck .ck-user__marker.ck-user__marker_hovered .ck-user__marker-dot{width:0}.ck .ck-user__marker.ck-user__marker_hovered .ck-user__marker-tooltip{animation:fadeInLeft .3s ease-in-out;display:block;opacity:1}.ck .ck-placeholder .ck-user__marker{display:none}@media (prefers-reduced-motion:reduce){.ck .ck-user__marker,.ck .ck-user__marker *,.ck .ck-user__marker:after{animation:none!important}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}",""]);const a=i},271(t){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n}).join("")},e.i=function(t,n,r,s,o){"string"==typeof t&&(t=[[null,t,void 0]]);var i={};if(r)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(i[c]=!0)}for(var d=0;d<t.length;d++){var u=[].concat(t[d]);r&&i[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),s&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=s):u[4]="".concat(s)),e.push(u))}},e}},366(t){"use strict";t.exports=function(t){return t[1]}},929(t,e,n){"use strict";t.exports=n(449)},449(t,e,n){"use strict";var r=e;function s(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=n(76),r.BufferWriter=n(493),r.Reader=n(808),r.BufferReader=n(777),r.util=n(971),r.rpc=n(912),r.roots=n(666),r.configure=s,s()},808(t,e,n){"use strict";t.exports=c;var r,s=n(971),o=s.LongBits,i=s.utf8;function a(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function c(t){this.buf=t,this.pos=0,this.len=t.length}var d,u="undefined"!=typeof Uint8Array?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new c(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new c(t);throw Error("illegal buffer")},l=function(){return s.Buffer?function(t){return(c.create=function(t){return s.Buffer.isBuffer(t)?new r(t):u(t)})(t)}:u};function h(){var t=new o(0,0),e=0;if(!(this.len-this.pos>4)){for(;e<3;++e){if(this.pos>=this.len)throw a(this);if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(127&this.buf[this.pos++])<<7*e)>>>0,t}for(;e<4;++e)if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(127&this.buf[this.pos])<<28)>>>0,t.hi=(t.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return t;if(e=0,this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw a(this);if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}function p(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new o(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}c.create=l(),c.prototype._slice=s.Array.prototype.subarray||s.Array.prototype.slice,c.prototype.uint32=(d=4294967295,function(){if(d=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return d;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return d}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(1&t)},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|p(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var t=s.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var t=s.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},c.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw a(this,t);if(this.pos+=t,Array.isArray(this.buf))return this.buf.slice(e,n);if(e===n){var r=s.Buffer;return r?r.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,e,n)},c.prototype.string=function(){var t=this.bytes();return i.read(t,0,t.length)},c.prototype.skip=function(t){if("number"==typeof t){if(this.pos+t>this.len)throw a(this,t);this.pos+=t}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.recursionLimit=s.recursionLimit,c.prototype.skipType=function(t,e){if(void 0===e&&(e=0),e>c.recursionLimit)throw Error("maximum nesting depth exceeded");switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(t=7&this.uint32());)this.skipType(t,e+1);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this},c._configure=function(t){r=t,c.create=l(),r._configure();var e=s.Long?"toLong":"toNumber";s.merge(c.prototype,{int64:function(){return h.call(this)[e](!1)},uint64:function(){return h.call(this)[e](!0)},sint64:function(){return h.call(this).zzDecode()[e](!1)},fixed64:function(){return f.call(this)[e](!0)},sfixed64:function(){return f.call(this)[e](!1)}})}},777(t,e,n){"use strict";t.exports=o;var r=n(808);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(971);function o(t){r.call(this,t)}o._configure=function(){s.Buffer&&(o.prototype._slice=s.Buffer.prototype.slice)},o.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},o._configure()},666(t){"use strict";t.exports=Object.create(null)},912(t,e,n){"use strict";e.Service=n(100)},100(t,e,n){"use strict";t.exports=s;var r=n(971);function s(t,e,n){if("function"!=typeof t)throw TypeError("rpcImpl must be a function");r.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=Boolean(e),this.responseDelimited=Boolean(n)}(s.prototype=Object.create(r.EventEmitter.prototype)).constructor=s,s.prototype.rpcCall=function t(e,n,s,o,i){if(!o)throw TypeError("request must be specified");var a=this;if(!i)return r.asPromise(t,a,e,n,s,o);if(a.rpcImpl)try{return a.rpcImpl(e,n[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),function(t,n){if(t)return a.emit("error",t,e),i(t);if(null!==n){if(!(n instanceof s))try{n=s[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(t){return a.emit("error",t,e),i(t)}return a.emit("data",n,e),i(null,n)}a.end(!0)})}catch(t){return a.emit("error",t,e),void setTimeout(function(){i(t)},0)}else setTimeout(function(){i(Error("already ended"))},0)},s.prototype.end=function(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},720(t,e,n){"use strict";t.exports=s;var r=n(971);function s(t,e){this.lo=t>>>0,this.hi=e>>>0}var o=s.zero=new s(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var i=s.zeroHash="\0\0\0\0\0\0\0\0";s.fromNumber=function(t){if(0===t)return o;var e=t<0;e&&(t=-t);var n=t>>>0,r=(t-n)/4294967296>>>0;return e&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new s(n,r)},s.from=function(t){if("number"==typeof t)return s.fromNumber(t);if(r.isString(t)){if(!r.Long)return s.fromNumber(parseInt(t,10));t=r.Long.fromString(t)}return t.low||t.high?new s(t.low>>>0,t.high>>>0):o},s.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=1+~this.lo>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+4294967296*n)}return this.lo+4294967296*this.hi},s.prototype.toLong=function(t){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(t)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(t)}};var a=String.prototype.charCodeAt;s.fromHash=function(t){return t===i?o:new s((a.call(t,0)|a.call(t,1)<<8|a.call(t,2)<<16|a.call(t,3)<<24)>>>0,(a.call(t,4)|a.call(t,5)<<8|a.call(t,6)<<16|a.call(t,7)<<24)>>>0)},s.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},s.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this},s.prototype.zzDecode=function(){var t=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this},s.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===e?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}},971(t,e,n){"use strict";var r=e;function s(t){return"__proto__"===t||"prototype"===t||"constructor"===t}function o(t){var e="boolean"==typeof arguments[arguments.length-1],n=e?arguments.length-1:arguments.length;e=e&&arguments[arguments.length-1];for(var r=1;r<n;++r){var o=arguments[r];if(o)for(var i=Object.keys(o),a=0;a<i.length;++a)s(i[a])||void 0!==t[i[a]]&&e||(t[i[a]]=o[i[a]])}return t}function i(t){function e(t,n){if(!(this instanceof e))return new e(t,n);Object.defineProperty(this,"message",{get:function(){return t}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&o(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}r.asPromise=n(188),r.base64=n(4),r.EventEmitter=n(925),r.float=n(791),r.utf8=n(405),r.pool=n(338),r.LongBits=n(720),r.isUnsafeProperty=s,r.isNode=Boolean(void 0!==n.g&&n.g&&n.g.process&&n.g.process.versions&&n.g.process.versions.node),r.global=r.isNode&&n.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,r.emptyArray=Object.freeze?Object.freeze([]):[],r.emptyObject=Object.freeze?Object.freeze({}):{},r.isInteger=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t},r.isString=function(t){return"string"==typeof t||t instanceof String},r.isObject=function(t){return t&&"object"==typeof t},r.isset=r.isSet=function(t,e){var n=t[e];return!(null==n||!Object.hasOwnProperty.call(t,e))&&("object"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},r.Buffer=function(){try{var t=r.global.Buffer;return t.prototype.utf8Write?t:null}catch(t){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(t){return"number"==typeof t?r.Buffer?r._Buffer_allocUnsafe(t):new r.Array(t):r.Buffer?r._Buffer_from(t):"undefined"==typeof Uint8Array?t:new Uint8Array(t)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||function(){try{var t=n(284);return t&&t.isLong?t:null}catch(t){return null}}(),r.key2Re=/^true|false|0|1$/,r.key32Re=/^-?(?:0|[1-9][0-9]*)$/,r.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,r.longToHash=function(t){return t?r.LongBits.from(t).toHash():r.LongBits.zeroHash},r.longFromHash=function(t,e){var n=r.LongBits.fromHash(t);return r.Long?r.Long.fromBits(n.lo,n.hi,e):n.toNumber(Boolean(e))},r.merge=o,r.nestingLimit=32,r.recursionLimit=100,r.makeProp=function(t,e){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,writable:!0})},r.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)},r.newError=i,r.ProtocolError=i("ProtocolError"),r.oneOfGetter=function(t){for(var e={},n=0;n<t.length;++n)e[t[n]]=1;return function(){for(var t=Object.keys(this),n=t.length-1;n>-1;--n)if(1===e[t[n]]&&void 0!==this[t[n]]&&null!==this[t[n]])return t[n]}},r.oneOfSetter=function(t){return function(e){for(var n=0;n<t.length;++n)t[n]!==e&&delete this[t[n]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var t=r.Buffer;t?(r._Buffer_from=t.from!==Uint8Array.from&&t.from||function(e,n){return new t(e,n)},r._Buffer_allocUnsafe=t.allocUnsafe||function(e){return new t(e)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},76(t,e,n){"use strict";t.exports=l;var r,s=n(971),o=s.LongBits,i=s.base64,a=s.utf8;function c(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}function d(){}function u(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function l(){this.len=0,this.head=new c(d,0,0),this.tail=this.head,this.states=null}var h=function(){return s.Buffer?function(){return(l.create=function(){return new r})()}:function(){return new l}};function p(t,e,n){e[n]=255&t}function f(t,e){this.len=t,this.next=void 0,this.val=e}function m(t,e,n){for(var r=t.lo,s=t.hi;s;)e[n++]=127&r|128,r=(r>>>7|s<<25)>>>0,s>>>=7;for(;r>127;)e[n++]=127&r|128,r>>>=7;e[n++]=r}function g(t,e,n){e[n]=255&t,e[n+1]=t>>>8&255,e[n+2]=t>>>16&255,e[n+3]=t>>>24}l.create=h(),l.alloc=function(t){return new s.Array(t)},s.Array!==Array&&(l.alloc=s.pool(l.alloc,s.Array.prototype.subarray)),l.prototype._push=function(t,e,n){return this.tail=this.tail.next=new c(t,e,n),this.len+=e,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(t,e,n){for(;t>127;)e[n++]=127&t|128,t>>>=7;e[n]=t},l.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new f((t>>>=0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},l.prototype.int32=function(t){return(t|=0)<0?this._push(m,10,o.fromNumber(t)):this.uint32(t)},l.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)},l.prototype.uint64=function(t){var e=o.from(t);return this._push(m,e.length(),e)},l.prototype.int64=l.prototype.uint64,l.prototype.sint64=function(t){var e=o.from(t).zzEncode();return this._push(m,e.length(),e)},l.prototype.bool=function(t){return this._push(p,1,t?1:0)},l.prototype.fixed32=function(t){return this._push(g,4,t>>>0)},l.prototype.sfixed32=l.prototype.fixed32,l.prototype.fixed64=function(t){var e=o.from(t);return this._push(g,4,e.lo)._push(g,4,e.hi)},l.prototype.sfixed64=l.prototype.fixed64,l.prototype.float=function(t){return this._push(s.float.writeFloatLE,4,t)},l.prototype.double=function(t){return this._push(s.float.writeDoubleLE,8,t)};var y=s.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var r=0;r<t.length;++r)e[n+r]=t[r]};l.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(p,1,0);if(s.isString(t)){var n=l.alloc(e=i.length(t));i.decode(t,n,0),t=n}return this.uint32(e)._push(y,e,t)},l.prototype.string=function(t){var e=a.length(t);return e?this.uint32(e)._push(a.write,e,t):this._push(p,1,0)},l.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new c(d,0,0),this.len=0,this},l.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(d,0,0),this.len=0),this},l.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this},l.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e},l._configure=function(t){r=t,l.create=h(),r._configure()}},493(t,e,n){"use strict";t.exports=o;var r=n(76);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(971);function o(){r.call(this)}function i(t,e,n){t.length<40?s.utf8.write(t,e,n):e.utf8Write?e.utf8Write(t,n):e.write(t,n)}o._configure=function(){o.alloc=s._Buffer_allocUnsafe,o.writeBytesBuffer=s.Buffer&&s.Buffer.prototype instanceof Uint8Array&&"set"===s.Buffer.prototype.set.name?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var r=0;r<t.length;)e[n++]=t[r++]}},o.prototype.bytes=function(t){s.isString(t)&&(t=s._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(o.writeBytesBuffer,e,t),this},o.prototype.string=function(t){var e=s.Buffer.byteLength(t);return this.uint32(e),e&&this._push(i,e,t),this},o._configure()},682(t,e){"use strict";var n=Object.prototype.hasOwnProperty;function r(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch(t){return null}}function s(t){try{return encodeURIComponent(t)}catch(t){return null}}e.stringify=function(t,e){e=e||"";var r,o,i=[];for(o in"string"!=typeof e&&(e="?"),t)if(n.call(t,o)){if((r=t[o])||null!=r&&!isNaN(r)||(r=""),o=s(o),r=s(r),null===o||null===r)continue;i.push(o+"="+r)}return i.length?e+i.join("&"):""},e.parse=function(t){for(var e,n=/([^=?#&]+)=?([^&]*)/g,s={};e=n.exec(t);){var o=r(e[1]),i=r(e[2]);null===o||null===i||o in s||(s[o]=i)}return s}},995(t){"use strict";t.exports=function(t,e){if(e=e.split(":")[0],!(t=+t))return!1;switch(e){case"http":case"ws":return 80!==t;case"https":case"wss":return 443!==t;case"ftp":return 21!==t;case"gopher":return 70!==t;case"file":return!1}return 0!==t}},789(t){"use strict";var e=[];function n(t){for(var n=-1,r=0;r<e.length;r++)if(e[r].identifier===t){n=r;break}return n}function r(t,r){for(var o={},i=[],a=0;a<t.length;a++){var c=t[a],d=r.base?c[0]+r.base:c[0],u=o[d]||0,l="".concat(d," ").concat(u);o[d]=u+1;var h=n(l),p={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==h)e[h].references++,e[h].updater(p);else{var f=s(p,r);r.byIndex=a,e.splice(a,0,{identifier:l,updater:f,references:1})}i.push(l)}return i}function s(t,e){var n=e.domAPI(e);n.update(t);return function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;n.update(t=e)}else n.remove()}}t.exports=function(t,s){var o=r(t=t||[],s=s||{});return function(t){t=t||[];for(var i=0;i<o.length;i++){var a=n(o[i]);e[a].references--}for(var c=r(t,s),d=0;d<o.length;d++){var u=n(o[d]);0===e[u].references&&(e[u].updater(),e.splice(u,1))}o=c}}},298(t){"use strict";var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},825(t){"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},207(t){"use strict";t.exports=function(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}},437(t){"use strict";var e,n=(e=[],function(t,n){return e[t]=n,e.filter(Boolean).join("\n")});function r(t,e,r,s){var o;if(r)o="";else{o="",s.supports&&(o+="@supports (".concat(s.supports,") {")),s.media&&(o+="@media ".concat(s.media," {"));var i=void 0!==s.layer;i&&(o+="@layer".concat(s.layer.length>0?" ".concat(s.layer):""," {")),o+=s.css,i&&(o+="}"),s.media&&(o+="}"),s.supports&&(o+="}")}if(t.styleSheet)t.styleSheet.cssText=n(e,o);else{var a=document.createTextNode(o),c=t.childNodes;c[e]&&t.removeChild(c[e]),c.length?t.insertBefore(a,c[e]):t.appendChild(a)}}var s={singleton:null,singletonCounter:0};t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=s.singletonCounter++,n=s.singleton||(s.singleton=t.insertStyleElement(t));return{update:function(t){r(n,e,!1,t)},remove:function(t){r(n,e,!0,t)}}}},337(t,e,n){"use strict";var r=n(995),s=n(682),o=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,i=/[\n\r\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,c=/:\d+$/,d=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,u=/^[a-zA-Z]:/;function l(t){return(t||"").toString().replace(o,"")}var h=[["#","hash"],["?","query"],function(t,e){return m(e.protocol)?t.replace(/\\/g,"/"):t},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],p={hash:1,query:1};function f(t){var e,r=("undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:{}).location||{},s={},o=typeof(t=t||r);if("blob:"===t.protocol)s=new y(unescape(t.pathname),{});else if("string"===o)for(e in s=new y(t,{}),p)delete s[e];else if("object"===o){for(e in t)e in p||(s[e]=t[e]);void 0===s.slashes&&(s.slashes=a.test(t.href))}return s}function m(t){return"file:"===t||"ftp:"===t||"http:"===t||"https:"===t||"ws:"===t||"wss:"===t}function g(t,e){t=(t=l(t)).replace(i,""),e=e||{};var n,r=d.exec(t),s=r[1]?r[1].toLowerCase():"",o=!!r[2],a=!!r[3],c=0;return o?a?(n=r[2]+r[3]+r[4],c=r[2].length+r[3].length):(n=r[2]+r[4],c=r[2].length):a?(n=r[3]+r[4],c=r[3].length):n=r[4],"file:"===s?c>=2&&(n=n.slice(2)):m(s)?n=r[4]:s?o&&(n=n.slice(2)):c>=2&&m(e.protocol)&&(n=r[4]),{protocol:s,slashes:o||m(s),slashesCount:c,rest:n}}function y(t,e,n){if(t=(t=l(t)).replace(i,""),!(this instanceof y))return new y(t,e,n);var o,a,c,d,p,b,O=h.slice(),w=typeof e,v=this,I=0;for("object"!==w&&"string"!==w&&(n=e,e=null),n&&"function"!=typeof n&&(n=s.parse),o=!(a=g(t||"",e=f(e))).protocol&&!a.slashes,v.slashes=a.slashes||o&&e.slashes,v.protocol=a.protocol||e.protocol||"",t=a.rest,("file:"===a.protocol&&(2!==a.slashesCount||u.test(t))||!a.slashes&&(a.protocol||a.slashesCount<2||!m(v.protocol)))&&(O[3]=[/(.*)/,"pathname"]);I<O.length;I++)"function"!=typeof(d=O[I])?(c=d[0],b=d[1],c!=c?v[b]=t:"string"==typeof c?~(p="@"===c?t.lastIndexOf(c):t.indexOf(c))&&("number"==typeof d[2]?(v[b]=t.slice(0,p),t=t.slice(p+d[2])):(v[b]=t.slice(p),t=t.slice(0,p))):(p=c.exec(t))&&(v[b]=p[1],t=t.slice(0,p.index)),v[b]=v[b]||o&&d[3]&&e[b]||"",d[4]&&(v[b]=v[b].toLowerCase())):t=d(t,v);n&&(v.query=n(v.query)),o&&e.slashes&&"/"!==v.pathname.charAt(0)&&(""!==v.pathname||""!==e.pathname)&&(v.pathname=function(t,e){if(""===t)return e;for(var n=(e||"/").split("/").slice(0,-1).concat(t.split("/")),r=n.length,s=n[r-1],o=!1,i=0;r--;)"."===n[r]?n.splice(r,1):".."===n[r]?(n.splice(r,1),i++):i&&(0===r&&(o=!0),n.splice(r,1),i--);return o&&n.unshift(""),"."!==s&&".."!==s||n.push(""),n.join("/")}(v.pathname,e.pathname)),"/"!==v.pathname.charAt(0)&&m(v.protocol)&&(v.pathname="/"+v.pathname),r(v.port,v.protocol)||(v.host=v.hostname,v.port=""),v.username=v.password="",v.auth&&(~(p=v.auth.indexOf(":"))?(v.username=v.auth.slice(0,p),v.username=encodeURIComponent(decodeURIComponent(v.username)),v.password=v.auth.slice(p+1),v.password=encodeURIComponent(decodeURIComponent(v.password))):v.username=encodeURIComponent(decodeURIComponent(v.auth)),v.auth=v.password?v.username+":"+v.password:v.username),v.origin="file:"!==v.protocol&&m(v.protocol)&&v.host?v.protocol+"//"+v.host:"null",v.href=v.toString()}y.prototype={set:function(t,e,n){var o=this;switch(t){case"query":"string"==typeof e&&e.length&&(e=(n||s.parse)(e)),o[t]=e;break;case"port":o[t]=e,r(e,o.protocol)?e&&(o.host=o.hostname+":"+e):(o.host=o.hostname,o[t]="");break;case"hostname":o[t]=e,o.port&&(e+=":"+o.port),o.host=e;break;case"host":o[t]=e,c.test(e)?(e=e.split(":"),o.port=e.pop(),o.hostname=e.join(":")):(o.hostname=e,o.port="");break;case"protocol":o.protocol=e.toLowerCase(),o.slashes=!n;break;case"pathname":case"hash":if(e){var i="pathname"===t?"/":"#";o[t]=e.charAt(0)!==i?i+e:e}else o[t]=e;break;case"username":case"password":o[t]=encodeURIComponent(e);break;case"auth":var a=e.indexOf(":");~a?(o.username=e.slice(0,a),o.username=encodeURIComponent(decodeURIComponent(o.username)),o.password=e.slice(a+1),o.password=encodeURIComponent(decodeURIComponent(o.password))):o.username=encodeURIComponent(decodeURIComponent(e))}for(var d=0;d<h.length;d++){var u=h[d];u[4]&&(o[u[1]]=o[u[1]].toLowerCase())}return o.auth=o.password?o.username+":"+o.password:o.username,o.origin="file:"!==o.protocol&&m(o.protocol)&&o.host?o.protocol+"//"+o.host:"null",o.href=o.toString(),o},toString:function(t){t&&"function"==typeof t||(t=s.stringify);var e,n=this,r=n.host,o=n.protocol;o&&":"!==o.charAt(o.length-1)&&(o+=":");var i=o+(n.protocol&&n.slashes||m(n.protocol)?"//":"");return n.username?(i+=n.username,n.password&&(i+=":"+n.password),i+="@"):n.password?(i+=":"+n.password,i+="@"):"file:"!==n.protocol&&m(n.protocol)&&!r&&"/"!==n.pathname&&(i+="@"),(":"===r[r.length-1]||c.test(n.hostname)&&!n.port)&&(r+=":"),i+=r+n.pathname,(e="object"==typeof n.query?t(n.query):n.query)&&(i+="?"!==e.charAt(0)?"?"+e:e),n.hash&&(i+=n.hash),i}},y.extractProtocol=g,y.location=f,y.trimLeft=l,y.qs=s,t.exports=y},211(t,e,n){t.exports=n(312)("./src/collaboration-core.js")},782(t,e,n){t.exports=n(237)("./src/core.js")},783(t,e,n){t.exports=n(237)("./src/engine.js")},311(t,e,n){t.exports=n(237)("./src/ui.js")},584(t,e,n){t.exports=n(237)("./src/utils.js")},312(t){"use strict";t.exports=CKEditor5.collaborationDll},237(t){"use strict";t.exports=CKEditor5.dll},284(t,e){var n;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&self,n=function(){var t={};return function(t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var e=null;try{e=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function n(t,e,n){this.low=0|t,this.high=0|e,this.unsigned=!!n}function r(t){return!0===(t&&t.__isLong__)}function s(t){var e=Math.clz32(t&-t);return t?31-e:e}n.prototype.__isLong__,Object.defineProperty(n.prototype,"__isLong__",{value:!0}),n.isLong=r;var o={},i={};function a(t,e){var n,r,s;return e?(s=0<=(t>>>=0)&&t<256)&&(r=i[t])?r:(n=d(t,0,!0),s&&(i[t]=n),n):(s=-128<=(t|=0)&&t<128)&&(r=o[t])?r:(n=d(t,t<0?-1:0,!1),s&&(o[t]=n),n)}function c(t,e){if(isNaN(t))return e?O:b;if(e){if(t<0)return O;if(t>=m)return k}else{if(t<=-g)return P;if(t+1>=g)return S}return t<0?c(-t,e).neg():d(t%f|0,t/f|0,e)}function d(t,e,r){return new n(t,e,r)}n.fromInt=a,n.fromNumber=c,n.fromBits=d;var u=Math.pow;function l(t,e,n){if(0===t.length)throw Error("empty string");if("number"==typeof e?(n=e,e=!1):e=!!e,"NaN"===t||"Infinity"===t||"+Infinity"===t||"-Infinity"===t)return e?O:b;if((n=n||10)<2||36<n)throw RangeError("radix");var r;if((r=t.indexOf("-"))>0)throw Error("interior hyphen");if(0===r)return l(t.substring(1),e,n).neg();for(var s=c(u(n,8)),o=b,i=0;i<t.length;i+=8){var a=Math.min(8,t.length-i),d=parseInt(t.substring(i,i+a),n);if(a<8){var h=c(u(n,a));o=o.mul(h).add(c(d))}else o=(o=o.mul(s)).add(c(d))}return o.unsigned=e,o}function h(t,e){return"number"==typeof t?c(t,e):"string"==typeof t?l(t,e):d(t.low,t.high,"boolean"==typeof e?e:t.unsigned)}n.fromString=l,n.fromValue=h;var p=65536,f=p*p,m=f*f,g=m/2,y=a(1<<24),b=a(0);n.ZERO=b;var O=a(0,!0);n.UZERO=O;var w=a(1);n.ONE=w;var v=a(1,!0);n.UONE=v;var I=a(-1);n.NEG_ONE=I;var S=d(-1,2147483647,!1);n.MAX_VALUE=S;var k=d(-1,-1,!0);n.MAX_UNSIGNED_VALUE=k;var P=d(0,-2147483648,!1);n.MIN_VALUE=P;var A=n.prototype;A.toInt=function(){return this.unsigned?this.low>>>0:this.low},A.toNumber=function(){return this.unsigned?(this.high>>>0)*f+(this.low>>>0):this.high*f+(this.low>>>0)},A.toString=function(t){if((t=t||10)<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(P)){var e=c(t),n=this.div(e),r=n.mul(e).sub(this);return n.toString(t)+r.toInt().toString(t)}return"-"+this.neg().toString(t)}for(var s=c(u(t,6),this.unsigned),o=this,i="";;){var a=o.div(s),d=(o.sub(a.mul(s)).toInt()>>>0).toString(t);if((o=a).isZero())return d+i;for(;d.length<6;)d="0"+d;i=""+d+i}},A.getHighBits=function(){return this.high},A.getHighBitsUnsigned=function(){return this.high>>>0},A.getLowBits=function(){return this.low},A.getLowBitsUnsigned=function(){return this.low>>>0},A.getNumBitsAbs=function(){if(this.isNegative())return this.eq(P)?64:this.neg().getNumBitsAbs();for(var t=0!=this.high?this.high:this.low,e=31;e>0&&!(t&1<<e);e--);return 0!=this.high?e+33:e+1},A.isSafeInteger=function(){var t=this.high>>21;return!t||!this.unsigned&&-1===t&&!(0===this.low&&-2097152===this.high)},A.isZero=function(){return 0===this.high&&0===this.low},A.eqz=A.isZero,A.isNegative=function(){return!this.unsigned&&this.high<0},A.isPositive=function(){return this.unsigned||this.high>=0},A.isOdd=function(){return!(1&~this.low)},A.isEven=function(){return!(1&this.low)},A.equals=function(t){return r(t)||(t=h(t)),(this.unsigned===t.unsigned||this.high>>>31!=1||t.high>>>31!=1)&&this.high===t.high&&this.low===t.low},A.eq=A.equals,A.notEquals=function(t){return!this.eq(t)},A.neq=A.notEquals,A.ne=A.notEquals,A.lessThan=function(t){return this.comp(t)<0},A.lt=A.lessThan,A.lessThanOrEqual=function(t){return this.comp(t)<=0},A.lte=A.lessThanOrEqual,A.le=A.lessThanOrEqual,A.greaterThan=function(t){return this.comp(t)>0},A.gt=A.greaterThan,A.greaterThanOrEqual=function(t){return this.comp(t)>=0},A.gte=A.greaterThanOrEqual,A.ge=A.greaterThanOrEqual,A.compare=function(t){if(r(t)||(t=h(t)),this.eq(t))return 0;var e=this.isNegative(),n=t.isNegative();return e&&!n?-1:!e&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1},A.comp=A.compare,A.negate=function(){return!this.unsigned&&this.eq(P)?P:this.not().add(w)},A.neg=A.negate,A.add=function(t){r(t)||(t=h(t));var e=this.high>>>16,n=65535&this.high,s=this.low>>>16,o=65535&this.low,i=t.high>>>16,a=65535&t.high,c=t.low>>>16,u=0,l=0,p=0,f=0;return p+=(f+=o+(65535&t.low))>>>16,l+=(p+=s+c)>>>16,u+=(l+=n+a)>>>16,u+=e+i,d((p&=65535)<<16|(f&=65535),(u&=65535)<<16|(l&=65535),this.unsigned)},A.subtract=function(t){return r(t)||(t=h(t)),this.add(t.neg())},A.sub=A.subtract,A.multiply=function(t){if(this.isZero())return this;if(r(t)||(t=h(t)),e)return d(e.mul(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned);if(t.isZero())return this.unsigned?O:b;if(this.eq(P))return t.isOdd()?P:b;if(t.eq(P))return this.isOdd()?P:b;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(y)&&t.lt(y))return c(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,s=65535&this.high,o=this.low>>>16,i=65535&this.low,a=t.high>>>16,u=65535&t.high,l=t.low>>>16,p=65535&t.low,f=0,m=0,g=0,w=0;return g+=(w+=i*p)>>>16,m+=(g+=o*p)>>>16,g&=65535,m+=(g+=i*l)>>>16,f+=(m+=s*p)>>>16,m&=65535,f+=(m+=o*l)>>>16,m&=65535,f+=(m+=i*u)>>>16,f+=n*p+s*l+o*u+i*a,d((g&=65535)<<16|(w&=65535),(f&=65535)<<16|(m&=65535),this.unsigned)},A.mul=A.multiply,A.divide=function(t){if(r(t)||(t=h(t)),t.isZero())throw Error("division by zero");var n,s,o;if(e)return this.unsigned||-2147483648!==this.high||-1!==t.low||-1!==t.high?d((this.unsigned?e.div_u:e.div_s)(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?O:b;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return O;if(t.gt(this.shru(1)))return v;o=O}else{if(this.eq(P))return t.eq(w)||t.eq(I)?P:t.eq(P)?w:(n=this.shr(1).div(t).shl(1)).eq(b)?t.isNegative()?w:I:(s=this.sub(t.mul(n)),o=n.add(s.div(t)));if(t.eq(P))return this.unsigned?O:b;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();o=b}for(s=this;s.gte(t);){n=Math.max(1,Math.floor(s.toNumber()/t.toNumber()));for(var i=Math.ceil(Math.log(n)/Math.LN2),a=i<=48?1:u(2,i-48),l=c(n),p=l.mul(t);p.isNegative()||p.gt(s);)p=(l=c(n-=a,this.unsigned)).mul(t);l.isZero()&&(l=w),o=o.add(l),s=s.sub(p)}return o},A.div=A.divide,A.modulo=function(t){return r(t)||(t=h(t)),e?d((this.unsigned?e.rem_u:e.rem_s)(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned):this.sub(this.div(t).mul(t))},A.mod=A.modulo,A.rem=A.modulo,A.not=function(){return d(~this.low,~this.high,this.unsigned)},A.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},A.clz=A.countLeadingZeros,A.countTrailingZeros=function(){return this.low?s(this.low):s(this.high)+32},A.ctz=A.countTrailingZeros,A.and=function(t){return r(t)||(t=h(t)),d(this.low&t.low,this.high&t.high,this.unsigned)},A.or=function(t){return r(t)||(t=h(t)),d(this.low|t.low,this.high|t.high,this.unsigned)},A.xor=function(t){return r(t)||(t=h(t)),d(this.low^t.low,this.high^t.high,this.unsigned)},A.shiftLeft=function(t){return r(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?d(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):d(0,this.low<<t-32,this.unsigned)},A.shl=A.shiftLeft,A.shiftRight=function(t){return r(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?d(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):d(this.high>>t-32,this.high>=0?0:-1,this.unsigned)},A.shr=A.shiftRight,A.shiftRightUnsigned=function(t){return r(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?d(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):d(32===t?this.high:this.high>>>t-32,0,this.unsigned)},A.shru=A.shiftRightUnsigned,A.shr_u=A.shiftRightUnsigned,A.rotateLeft=function(t){var e;return r(t)&&(t=t.toInt()),0==(t&=63)?this:32===t?d(this.high,this.low,this.unsigned):t<32?(e=32-t,d(this.low<<t|this.high>>>e,this.high<<t|this.low>>>e,this.unsigned)):(e=32-(t-=32),d(this.high<<t|this.low>>>e,this.low<<t|this.high>>>e,this.unsigned))},A.rotl=A.rotateLeft,A.rotateRight=function(t){var e;return r(t)&&(t=t.toInt()),0==(t&=63)?this:32===t?d(this.high,this.low,this.unsigned):t<32?(e=32-t,d(this.high<<e|this.low>>>t,this.low<<e|this.high>>>t,this.unsigned)):(e=32-(t-=32),d(this.low<<e|this.high>>>t,this.high<<e|this.low>>>t,this.unsigned))},A.rotr=A.rotateRight,A.toSigned=function(){return this.unsigned?d(this.low,this.high,!1):this},A.toUnsigned=function(){return this.unsigned?this:d(this.low,this.high,!0)},A.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()},A.toBytesLE=function(){var t=this.high,e=this.low;return[255&e,e>>>8&255,e>>>16&255,e>>>24,255&t,t>>>8&255,t>>>16&255,t>>>24]},A.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24,t>>>16&255,t>>>8&255,255&t,e>>>24,e>>>16&255,e>>>8&255,255&e]},n.fromBytes=function(t,e,r){return r?n.fromBytesLE(t,e):n.fromBytesBE(t,e)},n.fromBytesLE=function(t,e){return new n(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,e)},n.fromBytesBE=function(t,e){return new n(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],e)},"function"==typeof BigInt&&(n.fromBigInt=function(t,e){return d(Number(BigInt.asIntN(32,t)),Number(BigInt.asIntN(32,t>>BigInt(32))),e)},n.fromValue=function(t,e){return"bigint"==typeof t?n.fromBigInt(t,e):h(t,e)},A.toBigInt=function(){var t=BigInt(this.low>>>0);return BigInt(this.unsigned?this.high>>>0:this.high)<<BigInt(32)|t}),t.default=n}(t),function(t){return t.default||t}(t)}.apply(e,[]),void 0===n||(t.exports=n)}},e={};function n(r){var s=e[r];if(void 0!==s)return s.exports;var o=e[r]={id:r,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{CloudServicesCommentsAdapter:()=>Es,CloudServicesRevisionHistoryAdapter:()=>$s,CloudServicesTrackChangesAdapter:()=>Us,PresenceList:()=>Go,PresenceListUI:()=>Uo,RealTimeCollaborationClient:()=>vs,RealTimeCollaborativeComments:()=>Ys,RealTimeCollaborativeEditing:()=>_s,RealTimeCollaborativeRevisionHistory:()=>so,RealTimeCollaborativeTrackChanges:()=>Ws,Sessions:()=>Qn,WebSocketGateway:()=>Fn});var t={};n.r(t),n.d(t,{Decoder:()=>Dt,Encoder:()=>jt,PacketType:()=>xt,isPacketValid:()=>Mt,protocol:()=>Et});var e=n(782),s=n(584),o=n(311),i=n(783);class a{static DESCRIPTOR_NAME;static DESCRIPTOR;constructor(...t){}}class c extends a{static TYPE="1000";static READABLE_TYPE_NAME;constructor(...t){super()}static fromJSON(t){throw new TypeError("Must be implemented in a child class!")}}class d extends c{id;static TYPE="21";static READABLE_TYPE_NAME="getUser";static DESCRIPTOR_NAME="GetUserMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1}}};constructor(t){super(),this.id=t}toJSON(){return{id:this.id}}static fromJSON(t){return new d(t.id)}}class u extends c{attributes;static DESCRIPTOR_NAME="GetUserResponse";static DESCRIPTOR={fields:{attributes:{rule:"repeated",type:"KeyValueDescriptor",id:1}}};constructor(t){super(),this.attributes=t}toJSON(){return{attributes:Object.keys(this.attributes).map(t=>({key:t,value:JSON.stringify(this.attributes[t])}))}}static fromJSON(t){const e=t.attributes.reduce((t,e)=>(t[e.key]=e.value?JSON.parse(e.value):null,t),{});return new u(e)}}var l=n(929);const h=(()=>{var t=l.Reader,e=l.Writer,n=l.util,r=l.roots.default||(l.roots.default={});return r.StringStringPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).string(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.StringStringPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.string();break;case 2:i.data1=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isString(t.data1)?"data1: string expected":null},s.fromObject=function(t){if(t instanceof r.StringStringPacketDataMessage)return t;var e=new r.StringStringPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&(e.data1=String(t.data1)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data="",n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/StringStringPacketDataMessage"},s}(),r.StringObjectPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).string(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.StringObjectPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.string();break;case 2:i.data1=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isString(t.data1)?"data1: string expected":null},s.fromObject=function(t){if(t instanceof r.StringObjectPacketDataMessage)return t;var e=new r.StringObjectPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&(e.data1=String(t.data1)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data="",n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/StringObjectPacketDataMessage"},s}(),r.StringNumberPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data="",s.prototype.data1=0,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(16).uint32(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.StringNumberPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.string();break;case 2:i.data1=e.uint32();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isInteger(t.data1)?"data1: integer expected":null},s.fromObject=function(t){if(t instanceof r.StringNumberPacketDataMessage)return t;var e=new r.StringNumberPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&(e.data1=t.data1>>>0),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data="",n.data1=0),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/StringNumberPacketDataMessage"},s}(),r.StringBytesPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data="",s.prototype.data1=n.newBuffer([]),s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).bytes(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.StringBytesPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.string();break;case 2:i.data1=e.bytes();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!(t.data1&&"number"==typeof t.data1.length||n.isString(t.data1))?"data1: buffer expected":null},s.fromObject=function(t){if(t instanceof r.StringBytesPacketDataMessage)return t;var e=new r.StringBytesPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&("string"==typeof t.data1?n.base64.decode(t.data1,e.data1=n.newBuffer(n.base64.length(t.data1)),0):t.data1.length>=0&&(e.data1=t.data1)),e},s.toObject=function(t,e){e||(e={});var r={};return e.defaults&&(r.data="",e.bytes===String?r.data1="":(r.data1=[],e.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=t.data&&t.hasOwnProperty("data")&&(r.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(r.data1=e.bytes===String?n.base64.encode(t.data1,0,t.data1.length):e.bytes===Array?Array.prototype.slice.call(t.data1):t.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/StringBytesPacketDataMessage"},s}(),r.PacketOptionsMessage=function(){function s(t){if(this.rooms=[],this.except=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.flags="",s.prototype.rooms=n.emptyArray,s.prototype.except=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.flags&&Object.hasOwnProperty.call(t,"flags")&&n.uint32(10).string(t.flags),null!=t.rooms&&t.rooms.length)for(var r=0;r<t.rooms.length;++r)n.uint32(18).string(t.rooms[r]);if(null!=t.except&&t.except.length)for(r=0;r<t.except.length;++r)n.uint32(26).string(t.except[r]);return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.PacketOptionsMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.flags=e.string();break;case 2:i.rooms&&i.rooms.length||(i.rooms=[]),i.rooms.push(e.string());break;case 3:i.except&&i.except.length||(i.except=[]),i.except.push(e.string());break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.flags&&t.hasOwnProperty("flags")&&!n.isString(t.flags))return"flags: string expected";if(null!=t.rooms&&t.hasOwnProperty("rooms")){if(!Array.isArray(t.rooms))return"rooms: array expected";for(var e=0;e<t.rooms.length;++e)if(!n.isString(t.rooms[e]))return"rooms: string[] expected"}if(null!=t.except&&t.hasOwnProperty("except")){if(!Array.isArray(t.except))return"except: array expected";for(e=0;e<t.except.length;++e)if(!n.isString(t.except[e]))return"except: string[] expected"}return null},s.fromObject=function(t){if(t instanceof r.PacketOptionsMessage)return t;var e=new r.PacketOptionsMessage;if(null!=t.flags&&(e.flags=String(t.flags)),t.rooms){if(!Array.isArray(t.rooms))throw TypeError(".PacketOptionsMessage.rooms: array expected");e.rooms=[];for(var n=0;n<t.rooms.length;++n)e.rooms[n]=String(t.rooms[n])}if(t.except){if(!Array.isArray(t.except))throw TypeError(".PacketOptionsMessage.except: array expected");for(e.except=[],n=0;n<t.except.length;++n)e.except[n]=String(t.except[n])}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.rooms=[],n.except=[]),e.defaults&&(n.flags=""),null!=t.flags&&t.hasOwnProperty("flags")&&(n.flags=t.flags),t.rooms&&t.rooms.length){n.rooms=[];for(var r=0;r<t.rooms.length;++r)n.rooms[r]=t.rooms[r]}if(t.except&&t.except.length)for(n.except=[],r=0;r<t.except.length;++r)n.except[r]=t.except[r];return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/PacketOptionsMessage"},s}(),r.PacketMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.type=0,s.prototype.id=0,s.prototype.nsp="",s.prototype.data=n.newBuffer([]),s.prototype.options=n.newBuffer([]),s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(8).uint32(t.type),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(16).uint32(t.id),null!=t.nsp&&Object.hasOwnProperty.call(t,"nsp")&&n.uint32(26).string(t.nsp),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(34).bytes(t.data),null!=t.options&&Object.hasOwnProperty.call(t,"options")&&n.uint32(42).bytes(t.options),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.PacketMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.type=e.uint32();break;case 2:i.id=e.uint32();break;case 3:i.nsp=e.string();break;case 4:i.data=e.bytes();break;case 5:i.options=e.bytes();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isInteger(t.type)?"type: integer expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isInteger(t.id)?"id: integer expected":null!=t.nsp&&t.hasOwnProperty("nsp")&&!n.isString(t.nsp)?"nsp: string expected":null!=t.data&&t.hasOwnProperty("data")&&!(t.data&&"number"==typeof t.data.length||n.isString(t.data))?"data: buffer expected":null!=t.options&&t.hasOwnProperty("options")&&!(t.options&&"number"==typeof t.options.length||n.isString(t.options))?"options: buffer expected":null},s.fromObject=function(t){if(t instanceof r.PacketMessage)return t;var e=new r.PacketMessage;return null!=t.type&&(e.type=t.type>>>0),null!=t.id&&(e.id=t.id>>>0),null!=t.nsp&&(e.nsp=String(t.nsp)),null!=t.data&&("string"==typeof t.data?n.base64.decode(t.data,e.data=n.newBuffer(n.base64.length(t.data)),0):t.data.length>=0&&(e.data=t.data)),null!=t.options&&("string"==typeof t.options?n.base64.decode(t.options,e.options=n.newBuffer(n.base64.length(t.options)),0):t.options.length>=0&&(e.options=t.options)),e},s.toObject=function(t,e){e||(e={});var r={};return e.defaults&&(r.type=0,r.id=0,r.nsp="",e.bytes===String?r.data="":(r.data=[],e.bytes!==Array&&(r.data=n.newBuffer(r.data))),e.bytes===String?r.options="":(r.options=[],e.bytes!==Array&&(r.options=n.newBuffer(r.options)))),null!=t.type&&t.hasOwnProperty("type")&&(r.type=t.type),null!=t.id&&t.hasOwnProperty("id")&&(r.id=t.id),null!=t.nsp&&t.hasOwnProperty("nsp")&&(r.nsp=t.nsp),null!=t.data&&t.hasOwnProperty("data")&&(r.data=e.bytes===String?n.base64.encode(t.data,0,t.data.length):e.bytes===Array?Array.prototype.slice.call(t.data):t.data),null!=t.options&&t.hasOwnProperty("options")&&(r.options=e.bytes===String?n.base64.encode(t.options,0,t.options.length):e.bytes===Array?Array.prototype.slice.call(t.options):t.options),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/PacketMessage"},s}(),r.ObjectObjectPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).string(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.ObjectObjectPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.string();break;case 2:i.data1=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isString(t.data1)?"data1: string expected":null},s.fromObject=function(t){if(t instanceof r.ObjectObjectPacketDataMessage)return t;var e=new r.ObjectObjectPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&(e.data1=String(t.data1)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data="",n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/ObjectObjectPacketDataMessage"},s}(),r.ObjectBufferPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data="",s.prototype.data1=n.newBuffer([]),s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).bytes(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.ObjectBufferPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.string();break;case 2:i.data1=e.bytes();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!(t.data1&&"number"==typeof t.data1.length||n.isString(t.data1))?"data1: buffer expected":null},s.fromObject=function(t){if(t instanceof r.ObjectBufferPacketDataMessage)return t;var e=new r.ObjectBufferPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&("string"==typeof t.data1?n.base64.decode(t.data1,e.data1=n.newBuffer(n.base64.length(t.data1)),0):t.data1.length>=0&&(e.data1=t.data1)),e},s.toObject=function(t,e){e||(e={});var r={};return e.defaults&&(r.data="",e.bytes===String?r.data1="":(r.data1=[],e.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=t.data&&t.hasOwnProperty("data")&&(r.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(r.data1=e.bytes===String?n.base64.encode(t.data1,0,t.data1.length):e.bytes===Array?Array.prototype.slice.call(t.data1):t.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/ObjectBufferPacketDataMessage"},s}(),r.NumberStringPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data=0,s.prototype.data1="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(8).uint32(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).string(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.NumberStringPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.uint32();break;case 2:i.data1=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isInteger(t.data)?"data: integer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isString(t.data1)?"data1: string expected":null},s.fromObject=function(t){if(t instanceof r.NumberStringPacketDataMessage)return t;var e=new r.NumberStringPacketDataMessage;return null!=t.data&&(e.data=t.data>>>0),null!=t.data1&&(e.data1=String(t.data1)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data=0,n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/NumberStringPacketDataMessage"},s}(),r.NumberObjectPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data=0,s.prototype.data1="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(8).uint32(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).string(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.NumberObjectPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.uint32();break;case 2:i.data1=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isInteger(t.data)?"data: integer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isString(t.data1)?"data1: string expected":null},s.fromObject=function(t){if(t instanceof r.NumberObjectPacketDataMessage)return t;var e=new r.NumberObjectPacketDataMessage;return null!=t.data&&(e.data=t.data>>>0),null!=t.data1&&(e.data1=String(t.data1)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data=0,n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/NumberObjectPacketDataMessage"},s}(),r.NumberNumberPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data=0,s.prototype.data1=0,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(8).uint32(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(16).uint32(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.NumberNumberPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.uint32();break;case 2:i.data1=e.uint32();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isInteger(t.data)?"data: integer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isInteger(t.data1)?"data1: integer expected":null},s.fromObject=function(t){if(t instanceof r.NumberNumberPacketDataMessage)return t;var e=new r.NumberNumberPacketDataMessage;return null!=t.data&&(e.data=t.data>>>0),null!=t.data1&&(e.data1=t.data1>>>0),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data=0,n.data1=0),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/NumberNumberPacketDataMessage"},s}(),r.NumberBytesPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data=0,s.prototype.data1=n.newBuffer([]),s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(8).uint32(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).bytes(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.NumberBytesPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.uint32();break;case 2:i.data1=e.bytes();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isInteger(t.data)?"data: integer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!(t.data1&&"number"==typeof t.data1.length||n.isString(t.data1))?"data1: buffer expected":null},s.fromObject=function(t){if(t instanceof r.NumberBytesPacketDataMessage)return t;var e=new r.NumberBytesPacketDataMessage;return null!=t.data&&(e.data=t.data>>>0),null!=t.data1&&("string"==typeof t.data1?n.base64.decode(t.data1,e.data1=n.newBuffer(n.base64.length(t.data1)),0):t.data1.length>=0&&(e.data1=t.data1)),e},s.toObject=function(t,e){e||(e={});var r={};return e.defaults&&(r.data=0,e.bytes===String?r.data1="":(r.data1=[],e.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=t.data&&t.hasOwnProperty("data")&&(r.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(r.data1=e.bytes===String?n.base64.encode(t.data1,0,t.data1.length):e.bytes===Array?Array.prototype.slice.call(t.data1):t.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/NumberBytesPacketDataMessage"},s}(),r.BytesBytesPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data=n.newBuffer([]),s.prototype.data1=n.newBuffer([]),s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).bytes(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).bytes(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.BytesBytesPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.bytes();break;case 2:i.data1=e.bytes();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!(t.data&&"number"==typeof t.data.length||n.isString(t.data))?"data: buffer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!(t.data1&&"number"==typeof t.data1.length||n.isString(t.data1))?"data1: buffer expected":null},s.fromObject=function(t){if(t instanceof r.BytesBytesPacketDataMessage)return t;var e=new r.BytesBytesPacketDataMessage;return null!=t.data&&("string"==typeof t.data?n.base64.decode(t.data,e.data=n.newBuffer(n.base64.length(t.data)),0):t.data.length>=0&&(e.data=t.data)),null!=t.data1&&("string"==typeof t.data1?n.base64.decode(t.data1,e.data1=n.newBuffer(n.base64.length(t.data1)),0):t.data1.length>=0&&(e.data1=t.data1)),e},s.toObject=function(t,e){e||(e={});var r={};return e.defaults&&(e.bytes===String?r.data="":(r.data=[],e.bytes!==Array&&(r.data=n.newBuffer(r.data))),e.bytes===String?r.data1="":(r.data1=[],e.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=t.data&&t.hasOwnProperty("data")&&(r.data=e.bytes===String?n.base64.encode(t.data,0,t.data.length):e.bytes===Array?Array.prototype.slice.call(t.data):t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(r.data1=e.bytes===String?n.base64.encode(t.data1,0,t.data1.length):e.bytes===Array?Array.prototype.slice.call(t.data1):t.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/BytesBytesPacketDataMessage"},s}(),r.ChannelMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.type=0,s.prototype.socketId="",s.prototype.data=n.newBuffer([]),s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(8).uint32(t.type),null!=t.socketId&&Object.hasOwnProperty.call(t,"socketId")&&n.uint32(18).string(t.socketId),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(26).bytes(t.data),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.ChannelMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.type=e.uint32();break;case 2:i.socketId=e.string();break;case 3:i.data=e.bytes();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isInteger(t.type)?"type: integer expected":null!=t.socketId&&t.hasOwnProperty("socketId")&&!n.isString(t.socketId)?"socketId: string expected":null!=t.data&&t.hasOwnProperty("data")&&!(t.data&&"number"==typeof t.data.length||n.isString(t.data))?"data: buffer expected":null},s.fromObject=function(t){if(t instanceof r.ChannelMessage)return t;var e=new r.ChannelMessage;return null!=t.type&&(e.type=t.type>>>0),null!=t.socketId&&(e.socketId=String(t.socketId)),null!=t.data&&("string"==typeof t.data?n.base64.decode(t.data,e.data=n.newBuffer(n.base64.length(t.data)),0):t.data.length>=0&&(e.data=t.data)),e},s.toObject=function(t,e){e||(e={});var r={};return e.defaults&&(r.type=0,r.socketId="",e.bytes===String?r.data="":(r.data=[],e.bytes!==Array&&(r.data=n.newBuffer(r.data)))),null!=t.type&&t.hasOwnProperty("type")&&(r.type=t.type),null!=t.socketId&&t.hasOwnProperty("socketId")&&(r.socketId=t.socketId),null!=t.data&&t.hasOwnProperty("data")&&(r.data=e.bytes===String?n.base64.encode(t.data,0,t.data.length):e.bytes===Array?Array.prototype.slice.call(t.data):t.data),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/ChannelMessage"},s}(),r.GetUserResponse=function(){function s(t){if(this.attributes=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.attributes=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.attributes&&t.attributes.length)for(var s=0;s<t.attributes.length;++s)r.KeyValueDescriptor.encode(t.attributes[s],n.uint32(10).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.GetUserResponse;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?(i.attributes&&i.attributes.length||(i.attributes=[]),i.attributes.push(r.KeyValueDescriptor.decode(e,e.uint32()))):e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")){if(!Array.isArray(t.attributes))return"attributes: array expected";for(var e=0;e<t.attributes.length;++e){var n=r.KeyValueDescriptor.verify(t.attributes[e]);if(n)return"attributes."+n}}return null},s.fromObject=function(t){if(t instanceof r.GetUserResponse)return t;var e=new r.GetUserResponse;if(t.attributes){if(!Array.isArray(t.attributes))throw TypeError(".GetUserResponse.attributes: array expected");e.attributes=[];for(var n=0;n<t.attributes.length;++n){if("object"!=typeof t.attributes[n])throw TypeError(".GetUserResponse.attributes: object expected");e.attributes[n]=r.KeyValueDescriptor.fromObject(t.attributes[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.attributes=[]),t.attributes&&t.attributes.length){n.attributes=[];for(var s=0;s<t.attributes.length;++s)n.attributes[s]=r.KeyValueDescriptor.toObject(t.attributes[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetUserResponse"},s}(),r.GetManyUsersResponse=function(){function s(t){if(this.users=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.users=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.users&&t.users.length)for(var s=0;s<t.users.length;++s)r.UserDescriptor.encode(t.users[s],n.uint32(10).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.GetManyUsersResponse;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?(i.users&&i.users.length||(i.users=[]),i.users.push(r.UserDescriptor.decode(e,e.uint32()))):e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.users&&t.hasOwnProperty("users")){if(!Array.isArray(t.users))return"users: array expected";for(var e=0;e<t.users.length;++e){var n=r.UserDescriptor.verify(t.users[e]);if(n)return"users."+n}}return null},s.fromObject=function(t){if(t instanceof r.GetManyUsersResponse)return t;var e=new r.GetManyUsersResponse;if(t.users){if(!Array.isArray(t.users))throw TypeError(".GetManyUsersResponse.users: array expected");e.users=[];for(var n=0;n<t.users.length;++n){if("object"!=typeof t.users[n])throw TypeError(".GetManyUsersResponse.users: object expected");e.users[n]=r.UserDescriptor.fromObject(t.users[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.users=[]),t.users&&t.users.length){n.users=[];for(var s=0;s<t.users.length;++s)n.users[s]=r.UserDescriptor.toObject(t.users[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetManyUsersResponse"},s}(),r.GetUserMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.GetUserMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.id=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null},s.fromObject=function(t){if(t instanceof r.GetUserMessage)return t;var e=new r.GetUserMessage;return null!=t.id&&(e.id=String(t.id)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetUserMessage"},s}(),r.GetManyUsersMessage=function(){function s(t){if(this.ids=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.ids=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.ids&&t.ids.length)for(var r=0;r<t.ids.length;++r)n.uint32(10).string(t.ids[r]);return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.GetManyUsersMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?(i.ids&&i.ids.length||(i.ids=[]),i.ids.push(e.string())):e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.ids&&t.hasOwnProperty("ids")){if(!Array.isArray(t.ids))return"ids: array expected";for(var e=0;e<t.ids.length;++e)if(!n.isString(t.ids[e]))return"ids: string[] expected"}return null},s.fromObject=function(t){if(t instanceof r.GetManyUsersMessage)return t;var e=new r.GetManyUsersMessage;if(t.ids){if(!Array.isArray(t.ids))throw TypeError(".GetManyUsersMessage.ids: array expected");e.ids=[];for(var n=0;n<t.ids.length;++n)e.ids[n]=String(t.ids[n])}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.ids=[]),t.ids&&t.ids.length){n.ids=[];for(var r=0;r<t.ids.length;++r)n.ids[r]=t.ids[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetManyUsersMessage"},s}(),r.UserDescriptor=function(){function s(t){if(this.attributes=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.attributes=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.attributes&&t.attributes.length)for(var s=0;s<t.attributes.length;++s)r.KeyValueDescriptor.encode(t.attributes[s],n.uint32(10).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.UserDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?(i.attributes&&i.attributes.length||(i.attributes=[]),i.attributes.push(r.KeyValueDescriptor.decode(e,e.uint32()))):e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")){if(!Array.isArray(t.attributes))return"attributes: array expected";for(var e=0;e<t.attributes.length;++e){var n=r.KeyValueDescriptor.verify(t.attributes[e]);if(n)return"attributes."+n}}return null},s.fromObject=function(t){if(t instanceof r.UserDescriptor)return t;var e=new r.UserDescriptor;if(t.attributes){if(!Array.isArray(t.attributes))throw TypeError(".UserDescriptor.attributes: array expected");e.attributes=[];for(var n=0;n<t.attributes.length;++n){if("object"!=typeof t.attributes[n])throw TypeError(".UserDescriptor.attributes: object expected");e.attributes[n]=r.KeyValueDescriptor.fromObject(t.attributes[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.attributes=[]),t.attributes&&t.attributes.length){n.attributes=[];for(var s=0;s<t.attributes.length;++s)n.attributes[s]=r.KeyValueDescriptor.toObject(t.attributes[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/UserDescriptor"},s}(),r.TrackChangesGetSuggestionResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.authorId="",s.prototype.type="",s.prototype.createdAt="",s.prototype.data="",s.prototype.hasComments=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.authorId&&Object.hasOwnProperty.call(t,"authorId")&&n.uint32(18).string(t.authorId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(26).string(t.type),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(34).string(t.createdAt),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(42).string(t.data),null!=t.hasComments&&Object.hasOwnProperty.call(t,"hasComments")&&n.uint32(48).bool(t.hasComments),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&n.uint32(58).string(t.state),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(66).string(t.attributes),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesGetSuggestionResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.authorId=e.string();break;case 3:i.type=e.string();break;case 4:i.createdAt=e.string();break;case 5:i.data=e.string();break;case 6:i.hasComments=e.bool();break;case 7:i.state=e.string();break;case 8:i.attributes=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.authorId&&t.hasOwnProperty("authorId")&&!n.isString(t.authorId)?"authorId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isString(t.type)?"type: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.hasComments&&t.hasOwnProperty("hasComments")&&"boolean"!=typeof t.hasComments?"hasComments: boolean expected":null!=t.state&&t.hasOwnProperty("state")&&!n.isString(t.state)?"state: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesGetSuggestionResponse)return t;var e=new r.TrackChangesGetSuggestionResponse;return null!=t.id&&(e.id=String(t.id)),null!=t.authorId&&(e.authorId=String(t.authorId)),null!=t.type&&(e.type=String(t.type)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.data&&(e.data=String(t.data)),null!=t.hasComments&&(e.hasComments=Boolean(t.hasComments)),null!=t.state&&(e.state=String(t.state)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.authorId&&t.hasOwnProperty("authorId")&&(n.authorId=t.authorId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.hasComments&&t.hasOwnProperty("hasComments")&&(n.hasComments=t.hasComments),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesGetSuggestionResponse"},s}(),r.TrackChangesGetAllSuggestionsResponse=function(){function s(t){if(this.suggestions=[],this.suggestionsV2=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.suggestions=n.emptyArray,s.prototype.suggestionsV2=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.suggestions&&t.suggestions.length)for(var s=0;s<t.suggestions.length;++s)n.uint32(10).string(t.suggestions[s]);if(null!=t.suggestionsV2&&t.suggestionsV2.length)for(s=0;s<t.suggestionsV2.length;++s)r.SuggestionDescriptor.encode(t.suggestionsV2[s],n.uint32(18).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesGetAllSuggestionsResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.suggestions&&i.suggestions.length||(i.suggestions=[]),i.suggestions.push(e.string());break;case 2:i.suggestionsV2&&i.suggestionsV2.length||(i.suggestionsV2=[]),i.suggestionsV2.push(r.SuggestionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.suggestions&&t.hasOwnProperty("suggestions")){if(!Array.isArray(t.suggestions))return"suggestions: array expected";for(var e=0;e<t.suggestions.length;++e)if(!n.isString(t.suggestions[e]))return"suggestions: string[] expected"}if(null!=t.suggestionsV2&&t.hasOwnProperty("suggestionsV2")){if(!Array.isArray(t.suggestionsV2))return"suggestionsV2: array expected";for(e=0;e<t.suggestionsV2.length;++e){var s=r.SuggestionDescriptor.verify(t.suggestionsV2[e]);if(s)return"suggestionsV2."+s}}return null},s.fromObject=function(t){if(t instanceof r.TrackChangesGetAllSuggestionsResponse)return t;var e=new r.TrackChangesGetAllSuggestionsResponse;if(t.suggestions){if(!Array.isArray(t.suggestions))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestions: array expected");e.suggestions=[];for(var n=0;n<t.suggestions.length;++n)e.suggestions[n]=String(t.suggestions[n])}if(t.suggestionsV2){if(!Array.isArray(t.suggestionsV2))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: array expected");for(e.suggestionsV2=[],n=0;n<t.suggestionsV2.length;++n){if("object"!=typeof t.suggestionsV2[n])throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: object expected");e.suggestionsV2[n]=r.SuggestionDescriptor.fromObject(t.suggestionsV2[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),t.suggestions&&t.suggestions.length){n.suggestions=[];for(var s=0;s<t.suggestions.length;++s)n.suggestions[s]=t.suggestions[s]}if(t.suggestionsV2&&t.suggestionsV2.length)for(n.suggestionsV2=[],s=0;s<t.suggestionsV2.length;++s)n.suggestionsV2[s]=r.SuggestionDescriptor.toObject(t.suggestionsV2[s],e);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesGetAllSuggestionsResponse"},s}(),r.TrackChangesConnectResponse=function(){function s(t){if(this.suggestions=[],this.suggestionsV2=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.channel="",s.prototype.suggestions=n.emptyArray,s.prototype.suggestionsV2=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&n.uint32(10).string(t.channel),null!=t.suggestions&&t.suggestions.length)for(var s=0;s<t.suggestions.length;++s)n.uint32(18).string(t.suggestions[s]);if(null!=t.suggestionsV2&&t.suggestionsV2.length)for(s=0;s<t.suggestionsV2.length;++s)r.SuggestionDescriptor.encode(t.suggestionsV2[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesConnectResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=e.string();break;case 2:i.suggestions&&i.suggestions.length||(i.suggestions=[]),i.suggestions.push(e.string());break;case 3:i.suggestionsV2&&i.suggestionsV2.length||(i.suggestionsV2=[]),i.suggestionsV2.push(r.SuggestionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!n.isString(t.channel))return"channel: string expected";if(null!=t.suggestions&&t.hasOwnProperty("suggestions")){if(!Array.isArray(t.suggestions))return"suggestions: array expected";for(var e=0;e<t.suggestions.length;++e)if(!n.isString(t.suggestions[e]))return"suggestions: string[] expected"}if(null!=t.suggestionsV2&&t.hasOwnProperty("suggestionsV2")){if(!Array.isArray(t.suggestionsV2))return"suggestionsV2: array expected";for(e=0;e<t.suggestionsV2.length;++e){var s=r.SuggestionDescriptor.verify(t.suggestionsV2[e]);if(s)return"suggestionsV2."+s}}return null},s.fromObject=function(t){if(t instanceof r.TrackChangesConnectResponse)return t;var e=new r.TrackChangesConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),t.suggestions){if(!Array.isArray(t.suggestions))throw TypeError(".TrackChangesConnectResponse.suggestions: array expected");e.suggestions=[];for(var n=0;n<t.suggestions.length;++n)e.suggestions[n]=String(t.suggestions[n])}if(t.suggestionsV2){if(!Array.isArray(t.suggestionsV2))throw TypeError(".TrackChangesConnectResponse.suggestionsV2: array expected");for(e.suggestionsV2=[],n=0;n<t.suggestionsV2.length;++n){if("object"!=typeof t.suggestionsV2[n])throw TypeError(".TrackChangesConnectResponse.suggestionsV2: object expected");e.suggestionsV2[n]=r.SuggestionDescriptor.fromObject(t.suggestionsV2[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),e.defaults&&(n.channel=""),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),t.suggestions&&t.suggestions.length){n.suggestions=[];for(var s=0;s<t.suggestions.length;++s)n.suggestions[s]=t.suggestions[s]}if(t.suggestionsV2&&t.suggestionsV2.length)for(n.suggestionsV2=[],s=0;s<t.suggestionsV2.length;++s)n.suggestionsV2[s]=r.SuggestionDescriptor.toObject(t.suggestionsV2[s],e);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesConnectResponse"},s}(),r.TrackChangesAddSuggestionResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.authorId="",s.prototype.type="",s.prototype.createdAt="",s.prototype.data="",s.prototype.hasComments=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.authorId&&Object.hasOwnProperty.call(t,"authorId")&&n.uint32(18).string(t.authorId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(26).string(t.type),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(34).string(t.createdAt),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(42).string(t.data),null!=t.hasComments&&Object.hasOwnProperty.call(t,"hasComments")&&n.uint32(48).bool(t.hasComments),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&n.uint32(58).string(t.state),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(66).string(t.attributes),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesAddSuggestionResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.authorId=e.string();break;case 3:i.type=e.string();break;case 4:i.createdAt=e.string();break;case 5:i.data=e.string();break;case 6:i.hasComments=e.bool();break;case 7:i.state=e.string();break;case 8:i.attributes=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.authorId&&t.hasOwnProperty("authorId")&&!n.isString(t.authorId)?"authorId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isString(t.type)?"type: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.hasComments&&t.hasOwnProperty("hasComments")&&"boolean"!=typeof t.hasComments?"hasComments: boolean expected":null!=t.state&&t.hasOwnProperty("state")&&!n.isString(t.state)?"state: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesAddSuggestionResponse)return t;var e=new r.TrackChangesAddSuggestionResponse;return null!=t.id&&(e.id=String(t.id)),null!=t.authorId&&(e.authorId=String(t.authorId)),null!=t.type&&(e.type=String(t.type)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.data&&(e.data=String(t.data)),null!=t.hasComments&&(e.hasComments=Boolean(t.hasComments)),null!=t.state&&(e.state=String(t.state)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.authorId&&t.hasOwnProperty("authorId")&&(n.authorId=t.authorId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.hasComments&&t.hasOwnProperty("hasComments")&&(n.hasComments=t.hasComments),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesAddSuggestionResponse"},s}(),r.TrackChangesUpdateSuggestionMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.documentId="",s.prototype.hasComments=!1,s.prototype.isHasCommentsModified=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),null!=t.hasComments&&Object.hasOwnProperty.call(t,"hasComments")&&n.uint32(24).bool(t.hasComments),null!=t.isHasCommentsModified&&Object.hasOwnProperty.call(t,"isHasCommentsModified")&&n.uint32(32).bool(t.isHasCommentsModified),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&n.uint32(42).string(t.state),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(50).string(t.attributes),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesUpdateSuggestionMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.documentId=e.string();break;case 3:i.hasComments=e.bool();break;case 4:i.isHasCommentsModified=e.bool();break;case 5:i.state=e.string();break;case 6:i.attributes=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.hasComments&&t.hasOwnProperty("hasComments")&&"boolean"!=typeof t.hasComments?"hasComments: boolean expected":null!=t.isHasCommentsModified&&t.hasOwnProperty("isHasCommentsModified")&&"boolean"!=typeof t.isHasCommentsModified?"isHasCommentsModified: boolean expected":null!=t.state&&t.hasOwnProperty("state")&&!n.isString(t.state)?"state: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesUpdateSuggestionMessage)return t;var e=new r.TrackChangesUpdateSuggestionMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.hasComments&&(e.hasComments=Boolean(t.hasComments)),null!=t.isHasCommentsModified&&(e.isHasCommentsModified=Boolean(t.isHasCommentsModified)),null!=t.state&&(e.state=String(t.state)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.documentId="",n.hasComments=!1,n.isHasCommentsModified=!1,n.state="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.hasComments&&t.hasOwnProperty("hasComments")&&(n.hasComments=t.hasComments),null!=t.isHasCommentsModified&&t.hasOwnProperty("isHasCommentsModified")&&(n.isHasCommentsModified=t.isHasCommentsModified),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesUpdateSuggestionMessage"},s}(),r.TrackChangesGetSuggestionMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesGetSuggestionMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.documentId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesGetSuggestionMessage)return t;var e=new r.TrackChangesGetSuggestionMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.documentId=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesGetSuggestionMessage"},s}(),r.TrackChangesGetAllSuggestionMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesGetAllSuggestionMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.documentId=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesGetAllSuggestionMessage)return t;var e=new r.TrackChangesGetAllSuggestionMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesGetAllSuggestionMessage"},s}(),r.TrackChangesConnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesConnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.documentId=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesConnectMessage)return t;var e=new r.TrackChangesConnectMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesConnectMessage"},s}(),r.TrackChangesBatchUpdateSuggestionsStateMessage=function(){function s(t){if(this.ids=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.ids=n.emptyArray,s.prototype.documentId="",s.prototype.state="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.ids&&t.ids.length)for(var r=0;r<t.ids.length;++r)n.uint32(10).string(t.ids[r]);return null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&n.uint32(26).string(t.state),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesBatchUpdateSuggestionsStateMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.ids&&i.ids.length||(i.ids=[]),i.ids.push(e.string());break;case 2:i.documentId=e.string();break;case 3:i.state=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.ids&&t.hasOwnProperty("ids")){if(!Array.isArray(t.ids))return"ids: array expected";for(var e=0;e<t.ids.length;++e)if(!n.isString(t.ids[e]))return"ids: string[] expected"}return null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.state&&t.hasOwnProperty("state")&&!n.isString(t.state)?"state: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesBatchUpdateSuggestionsStateMessage)return t;var e=new r.TrackChangesBatchUpdateSuggestionsStateMessage;if(t.ids){if(!Array.isArray(t.ids))throw TypeError(".TrackChangesBatchUpdateSuggestionsStateMessage.ids: array expected");e.ids=[];for(var n=0;n<t.ids.length;++n)e.ids[n]=String(t.ids[n])}return null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.state&&(e.state=String(t.state)),e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.ids=[]),e.defaults&&(n.documentId="",n.state=""),t.ids&&t.ids.length){n.ids=[];for(var r=0;r<t.ids.length;++r)n.ids[r]=t.ids[r]}return null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesBatchUpdateSuggestionsStateMessage"},s}(),r.TrackChangesAddSuggestionMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.documentId="",s.prototype.type="",s.prototype.data="",s.prototype.originalSuggestionId="",s.prototype.attributes="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(26).string(t.type),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(34).string(t.data),null!=t.originalSuggestionId&&Object.hasOwnProperty.call(t,"originalSuggestionId")&&n.uint32(42).string(t.originalSuggestionId),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(50).string(t.attributes),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesAddSuggestionMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.documentId=e.string();break;case 3:i.type=e.string();break;case 4:i.data=e.string();break;case 5:i.originalSuggestionId=e.string();break;case 6:i.attributes=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isString(t.type)?"type: string expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.originalSuggestionId&&t.hasOwnProperty("originalSuggestionId")&&!n.isString(t.originalSuggestionId)?"originalSuggestionId: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesAddSuggestionMessage)return t;var e=new r.TrackChangesAddSuggestionMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.type&&(e.type=String(t.type)),null!=t.data&&(e.data=String(t.data)),null!=t.originalSuggestionId&&(e.originalSuggestionId=String(t.originalSuggestionId)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.documentId="",n.type="",n.data="",n.originalSuggestionId="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.originalSuggestionId&&t.hasOwnProperty("originalSuggestionId")&&(n.originalSuggestionId=t.originalSuggestionId),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesAddSuggestionMessage"},s}(),r.SuggestionDescriptor=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.authorId="",s.prototype.type="",s.prototype.createdAt="",s.prototype.data="",s.prototype.hasComments=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.authorId&&Object.hasOwnProperty.call(t,"authorId")&&n.uint32(18).string(t.authorId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(26).string(t.type),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(34).string(t.createdAt),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(42).string(t.data),null!=t.hasComments&&Object.hasOwnProperty.call(t,"hasComments")&&n.uint32(48).bool(t.hasComments),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&n.uint32(58).string(t.state),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(66).string(t.attributes),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.SuggestionDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.authorId=e.string();break;case 3:i.type=e.string();break;case 4:i.createdAt=e.string();break;case 5:i.data=e.string();break;case 6:i.hasComments=e.bool();break;case 7:i.state=e.string();break;case 8:i.attributes=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.authorId&&t.hasOwnProperty("authorId")&&!n.isString(t.authorId)?"authorId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isString(t.type)?"type: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.hasComments&&t.hasOwnProperty("hasComments")&&"boolean"!=typeof t.hasComments?"hasComments: boolean expected":null!=t.state&&t.hasOwnProperty("state")&&!n.isString(t.state)?"state: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null},s.fromObject=function(t){if(t instanceof r.SuggestionDescriptor)return t;var e=new r.SuggestionDescriptor;return null!=t.id&&(e.id=String(t.id)),null!=t.authorId&&(e.authorId=String(t.authorId)),null!=t.type&&(e.type=String(t.type)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.data&&(e.data=String(t.data)),null!=t.hasComments&&(e.hasComments=Boolean(t.hasComments)),null!=t.state&&(e.state=String(t.state)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.authorId&&t.hasOwnProperty("authorId")&&(n.authorId=t.authorId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.hasComments&&t.hasOwnProperty("hasComments")&&(n.hasComments=t.hasComments),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SuggestionDescriptor"},s}(),r.SessionsConnectResponse=function(){function s(t){if(this.sockets=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.channel="",s.prototype.sockets=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&n.uint32(10).string(t.channel),null!=t.sockets&&t.sockets.length)for(var s=0;s<t.sockets.length;++s)r.SessionsSocketDescriptor.encode(t.sockets[s],n.uint32(18).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.SessionsConnectResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=e.string();break;case 2:i.sockets&&i.sockets.length||(i.sockets=[]),i.sockets.push(r.SessionsSocketDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!n.isString(t.channel))return"channel: string expected";if(null!=t.sockets&&t.hasOwnProperty("sockets")){if(!Array.isArray(t.sockets))return"sockets: array expected";for(var e=0;e<t.sockets.length;++e){var s=r.SessionsSocketDescriptor.verify(t.sockets[e]);if(s)return"sockets."+s}}return null},s.fromObject=function(t){if(t instanceof r.SessionsConnectResponse)return t;var e=new r.SessionsConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),t.sockets){if(!Array.isArray(t.sockets))throw TypeError(".SessionsConnectResponse.sockets: array expected");e.sockets=[];for(var n=0;n<t.sockets.length;++n){if("object"!=typeof t.sockets[n])throw TypeError(".SessionsConnectResponse.sockets: object expected");e.sockets[n]=r.SessionsSocketDescriptor.fromObject(t.sockets[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.sockets=[]),e.defaults&&(n.channel=""),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),t.sockets&&t.sockets.length){n.sockets=[];for(var s=0;s<t.sockets.length;++s)n.sockets[s]=r.SessionsSocketDescriptor.toObject(t.sockets[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SessionsConnectResponse"},s}(),r.SocketDisconnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.SocketDisconnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.id=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null},s.fromObject=function(t){if(t instanceof r.SocketDisconnectMessage)return t;var e=new r.SocketDisconnectMessage;return null!=t.id&&(e.id=String(t.id)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SocketDisconnectMessage"},s}(),r.SocketConnectMessage=function(){function s(t){if(this.permissions=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.userId="",s.prototype.role="",s.prototype.permissions=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.userId&&Object.hasOwnProperty.call(t,"userId")&&n.uint32(18).string(t.userId),null!=t.role&&Object.hasOwnProperty.call(t,"role")&&n.uint32(26).string(t.role),null!=t.permissions&&t.permissions.length)for(var r=0;r<t.permissions.length;++r)n.uint32(34).string(t.permissions[r]);return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.SocketConnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.userId=e.string();break;case 3:i.role=e.string();break;case 4:i.permissions&&i.permissions.length||(i.permissions=[]),i.permissions.push(e.string());break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id))return"id: string expected";if(null!=t.userId&&t.hasOwnProperty("userId")&&!n.isString(t.userId))return"userId: string expected";if(null!=t.role&&t.hasOwnProperty("role")&&!n.isString(t.role))return"role: string expected";if(null!=t.permissions&&t.hasOwnProperty("permissions")){if(!Array.isArray(t.permissions))return"permissions: array expected";for(var e=0;e<t.permissions.length;++e)if(!n.isString(t.permissions[e]))return"permissions: string[] expected"}return null},s.fromObject=function(t){if(t instanceof r.SocketConnectMessage)return t;var e=new r.SocketConnectMessage;if(null!=t.id&&(e.id=String(t.id)),null!=t.userId&&(e.userId=String(t.userId)),null!=t.role&&(e.role=String(t.role)),t.permissions){if(!Array.isArray(t.permissions))throw TypeError(".SocketConnectMessage.permissions: array expected");e.permissions=[];for(var n=0;n<t.permissions.length;++n)e.permissions[n]=String(t.permissions[n])}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.permissions=[]),e.defaults&&(n.id="",n.userId="",n.role=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.userId&&t.hasOwnProperty("userId")&&(n.userId=t.userId),null!=t.role&&t.hasOwnProperty("role")&&(n.role=t.role),t.permissions&&t.permissions.length){n.permissions=[];for(var r=0;r<t.permissions.length;++r)n.permissions[r]=t.permissions[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SocketConnectMessage"},s}(),r.SessionsConnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.sessionType=0,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.sessionType&&Object.hasOwnProperty.call(t,"sessionType")&&n.uint32(16).uint32(t.sessionType),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.SessionsConnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.sessionType=e.uint32();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.sessionType&&t.hasOwnProperty("sessionType")&&!n.isInteger(t.sessionType)?"sessionType: integer expected":null},s.fromObject=function(t){if(t instanceof r.SessionsConnectMessage)return t;var e=new r.SessionsConnectMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.sessionType&&(e.sessionType=t.sessionType>>>0),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.sessionType=0),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.sessionType&&t.hasOwnProperty("sessionType")&&(n.sessionType=t.sessionType),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SessionsConnectMessage"},s}(),r.SessionsSocketDescriptor=function(){function s(t){if(this.permissions=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.session="",s.prototype.user="",s.prototype.role="",s.prototype.permissions=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.session&&Object.hasOwnProperty.call(t,"session")&&n.uint32(10).string(t.session),null!=t.user&&Object.hasOwnProperty.call(t,"user")&&n.uint32(18).string(t.user),null!=t.role&&Object.hasOwnProperty.call(t,"role")&&n.uint32(26).string(t.role),null!=t.permissions&&t.permissions.length)for(var r=0;r<t.permissions.length;++r)n.uint32(34).string(t.permissions[r]);return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.SessionsSocketDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.session=e.string();break;case 2:i.user=e.string();break;case 3:i.role=e.string();break;case 4:i.permissions&&i.permissions.length||(i.permissions=[]),i.permissions.push(e.string());break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.session&&t.hasOwnProperty("session")&&!n.isString(t.session))return"session: string expected";if(null!=t.user&&t.hasOwnProperty("user")&&!n.isString(t.user))return"user: string expected";if(null!=t.role&&t.hasOwnProperty("role")&&!n.isString(t.role))return"role: string expected";if(null!=t.permissions&&t.hasOwnProperty("permissions")){if(!Array.isArray(t.permissions))return"permissions: array expected";for(var e=0;e<t.permissions.length;++e)if(!n.isString(t.permissions[e]))return"permissions: string[] expected"}return null},s.fromObject=function(t){if(t instanceof r.SessionsSocketDescriptor)return t;var e=new r.SessionsSocketDescriptor;if(null!=t.session&&(e.session=String(t.session)),null!=t.user&&(e.user=String(t.user)),null!=t.role&&(e.role=String(t.role)),t.permissions){if(!Array.isArray(t.permissions))throw TypeError(".SessionsSocketDescriptor.permissions: array expected");e.permissions=[];for(var n=0;n<t.permissions.length;++n)e.permissions[n]=String(t.permissions[n])}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.permissions=[]),e.defaults&&(n.session="",n.user="",n.role=""),null!=t.session&&t.hasOwnProperty("session")&&(n.session=t.session),null!=t.user&&t.hasOwnProperty("user")&&(n.user=t.user),null!=t.role&&t.hasOwnProperty("role")&&(n.role=t.role),t.permissions&&t.permissions.length){n.permissions=[];for(var r=0;r<t.permissions.length;++r)n.permissions[r]=t.permissions[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SessionsSocketDescriptor"},s}(),r.RevisionHistoryUpdateRevisionsResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.requestId=0,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&n.uint32(8).uint32(t.requestId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryUpdateRevisionsResponse;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.requestId=e.uint32():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.requestId&&t.hasOwnProperty("requestId")&&!n.isInteger(t.requestId)?"requestId: integer expected":null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryUpdateRevisionsResponse)return t;var e=new r.RevisionHistoryUpdateRevisionsResponse;return null!=t.requestId&&(e.requestId=t.requestId>>>0),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.requestId=0),null!=t.requestId&&t.hasOwnProperty("requestId")&&(n.requestId=t.requestId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryUpdateRevisionsResponse"},s}(),r.RevisionHistoryGetRevisionResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.revisionId="",s.prototype.name="",s.prototype.creatorId="",s.prototype.authorsIds="",s.prototype.diffData="",s.prototype.createdAt="",s.prototype.attributes="",s.prototype.toVersion=0,s.prototype.fromVersion=0,s.prototype.isEmptyCurrent=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.revisionId&&Object.hasOwnProperty.call(t,"revisionId")&&n.uint32(10).string(t.revisionId),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&n.uint32(18).string(t.name),null!=t.creatorId&&Object.hasOwnProperty.call(t,"creatorId")&&n.uint32(26).string(t.creatorId),null!=t.authorsIds&&Object.hasOwnProperty.call(t,"authorsIds")&&n.uint32(34).string(t.authorsIds),null!=t.diffData&&Object.hasOwnProperty.call(t,"diffData")&&n.uint32(42).string(t.diffData),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(50).string(t.createdAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(58).string(t.attributes),null!=t.toVersion&&Object.hasOwnProperty.call(t,"toVersion")&&n.uint32(64).uint32(t.toVersion),null!=t.fromVersion&&Object.hasOwnProperty.call(t,"fromVersion")&&n.uint32(72).uint32(t.fromVersion),null!=t.isEmptyCurrent&&Object.hasOwnProperty.call(t,"isEmptyCurrent")&&n.uint32(80).bool(t.isEmptyCurrent),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryGetRevisionResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.revisionId=e.string();break;case 2:i.name=e.string();break;case 3:i.creatorId=e.string();break;case 4:i.authorsIds=e.string();break;case 5:i.diffData=e.string();break;case 6:i.createdAt=e.string();break;case 7:i.attributes=e.string();break;case 8:i.toVersion=e.uint32();break;case 9:i.fromVersion=e.uint32();break;case 10:i.isEmptyCurrent=e.bool();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.revisionId&&t.hasOwnProperty("revisionId")&&!n.isString(t.revisionId)?"revisionId: string expected":null!=t.name&&t.hasOwnProperty("name")&&!n.isString(t.name)?"name: string expected":null!=t.creatorId&&t.hasOwnProperty("creatorId")&&!n.isString(t.creatorId)?"creatorId: string expected":null!=t.authorsIds&&t.hasOwnProperty("authorsIds")&&!n.isString(t.authorsIds)?"authorsIds: string expected":null!=t.diffData&&t.hasOwnProperty("diffData")&&!n.isString(t.diffData)?"diffData: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null!=t.toVersion&&t.hasOwnProperty("toVersion")&&!n.isInteger(t.toVersion)?"toVersion: integer expected":null!=t.fromVersion&&t.hasOwnProperty("fromVersion")&&!n.isInteger(t.fromVersion)?"fromVersion: integer expected":null!=t.isEmptyCurrent&&t.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof t.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryGetRevisionResponse)return t;var e=new r.RevisionHistoryGetRevisionResponse;return null!=t.revisionId&&(e.revisionId=String(t.revisionId)),null!=t.name&&(e.name=String(t.name)),null!=t.creatorId&&(e.creatorId=String(t.creatorId)),null!=t.authorsIds&&(e.authorsIds=String(t.authorsIds)),null!=t.diffData&&(e.diffData=String(t.diffData)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.toVersion&&(e.toVersion=t.toVersion>>>0),null!=t.fromVersion&&(e.fromVersion=t.fromVersion>>>0),null!=t.isEmptyCurrent&&(e.isEmptyCurrent=Boolean(t.isEmptyCurrent)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.revisionId="",n.name="",n.creatorId="",n.authorsIds="",n.diffData="",n.createdAt="",n.attributes="",n.toVersion=0,n.fromVersion=0,n.isEmptyCurrent=!1),null!=t.revisionId&&t.hasOwnProperty("revisionId")&&(n.revisionId=t.revisionId),null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.creatorId&&t.hasOwnProperty("creatorId")&&(n.creatorId=t.creatorId),null!=t.authorsIds&&t.hasOwnProperty("authorsIds")&&(n.authorsIds=t.authorsIds),null!=t.diffData&&t.hasOwnProperty("diffData")&&(n.diffData=t.diffData),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.toVersion&&t.hasOwnProperty("toVersion")&&(n.toVersion=t.toVersion),null!=t.fromVersion&&t.hasOwnProperty("fromVersion")&&(n.fromVersion=t.fromVersion),null!=t.isEmptyCurrent&&t.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=t.isEmptyCurrent),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryGetRevisionResponse"},s}(),r.RevisionHistoryConnectResponse=function(){function s(t){if(this.revisions=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.channel="",s.prototype.requestId=0,s.prototype.revisions=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&n.uint32(10).string(t.channel),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&n.uint32(16).uint32(t.requestId),null!=t.revisions&&t.revisions.length)for(var s=0;s<t.revisions.length;++s)r.RevisionDescriptor.encode(t.revisions[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryConnectResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=e.string();break;case 2:i.requestId=e.uint32();break;case 3:i.revisions&&i.revisions.length||(i.revisions=[]),i.revisions.push(r.RevisionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!n.isString(t.channel))return"channel: string expected";if(null!=t.requestId&&t.hasOwnProperty("requestId")&&!n.isInteger(t.requestId))return"requestId: integer expected";if(null!=t.revisions&&t.hasOwnProperty("revisions")){if(!Array.isArray(t.revisions))return"revisions: array expected";for(var e=0;e<t.revisions.length;++e){var s=r.RevisionDescriptor.verify(t.revisions[e]);if(s)return"revisions."+s}}return null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryConnectResponse)return t;var e=new r.RevisionHistoryConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),null!=t.requestId&&(e.requestId=t.requestId>>>0),t.revisions){if(!Array.isArray(t.revisions))throw TypeError(".RevisionHistoryConnectResponse.revisions: array expected");e.revisions=[];for(var n=0;n<t.revisions.length;++n){if("object"!=typeof t.revisions[n])throw TypeError(".RevisionHistoryConnectResponse.revisions: object expected");e.revisions[n]=r.RevisionDescriptor.fromObject(t.revisions[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.revisions=[]),e.defaults&&(n.channel="",n.requestId=0),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),null!=t.requestId&&t.hasOwnProperty("requestId")&&(n.requestId=t.requestId),t.revisions&&t.revisions.length){n.revisions=[];for(var s=0;s<t.revisions.length;++s)n.revisions[s]=r.RevisionDescriptor.toObject(t.revisions[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryConnectResponse"},s}(),r.RevisionHistoryUpdateRevisionsMessage=function(){function s(t){if(this.revisions=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.prototype.requestId=0,s.prototype.revisions=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&n.uint32(16).uint32(t.requestId),null!=t.revisions&&t.revisions.length)for(var s=0;s<t.revisions.length;++s)r.RevisionDescriptor.encode(t.revisions[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryUpdateRevisionsMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=e.string();break;case 2:i.requestId=e.uint32();break;case 3:i.revisions&&i.revisions.length||(i.revisions=[]),i.revisions.push(r.RevisionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId))return"documentId: string expected";if(null!=t.requestId&&t.hasOwnProperty("requestId")&&!n.isInteger(t.requestId))return"requestId: integer expected";if(null!=t.revisions&&t.hasOwnProperty("revisions")){if(!Array.isArray(t.revisions))return"revisions: array expected";for(var e=0;e<t.revisions.length;++e){var s=r.RevisionDescriptor.verify(t.revisions[e]);if(s)return"revisions."+s}}return null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryUpdateRevisionsMessage)return t;var e=new r.RevisionHistoryUpdateRevisionsMessage;if(null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.requestId&&(e.requestId=t.requestId>>>0),t.revisions){if(!Array.isArray(t.revisions))throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: array expected");e.revisions=[];for(var n=0;n<t.revisions.length;++n){if("object"!=typeof t.revisions[n])throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: object expected");e.revisions[n]=r.RevisionDescriptor.fromObject(t.revisions[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.revisions=[]),e.defaults&&(n.documentId="",n.requestId=0),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.requestId&&t.hasOwnProperty("requestId")&&(n.requestId=t.requestId),t.revisions&&t.revisions.length){n.revisions=[];for(var s=0;s<t.revisions.length;++s)n.revisions[s]=r.RevisionDescriptor.toObject(t.revisions[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryUpdateRevisionsMessage"},s}(),r.RevisionHistoryReconnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.prototype.requestId=0,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&n.uint32(16).uint32(t.requestId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryReconnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=e.string();break;case 2:i.requestId=e.uint32();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.requestId&&t.hasOwnProperty("requestId")&&!n.isInteger(t.requestId)?"requestId: integer expected":null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryReconnectMessage)return t;var e=new r.RevisionHistoryReconnectMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.requestId&&(e.requestId=t.requestId>>>0),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId="",n.requestId=0),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.requestId&&t.hasOwnProperty("requestId")&&(n.requestId=t.requestId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryReconnectMessage"},s}(),r.RevisionHistoryGetRevisionMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.prototype.revisionId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),null!=t.revisionId&&Object.hasOwnProperty.call(t,"revisionId")&&n.uint32(18).string(t.revisionId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryGetRevisionMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=e.string();break;case 2:i.revisionId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.revisionId&&t.hasOwnProperty("revisionId")&&!n.isString(t.revisionId)?"revisionId: string expected":null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryGetRevisionMessage)return t;var e=new r.RevisionHistoryGetRevisionMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.revisionId&&(e.revisionId=String(t.revisionId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId="",n.revisionId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.revisionId&&t.hasOwnProperty("revisionId")&&(n.revisionId=t.revisionId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryGetRevisionMessage"},s}(),r.RevisionHistoryConnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryConnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.documentId=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryConnectMessage)return t;var e=new r.RevisionHistoryConnectMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryConnectMessage"},s}(),r.RevisionDescriptor=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.revisionId="",s.prototype.name="",s.prototype.creatorId="",s.prototype.authorsIds="",s.prototype.diffData="",s.prototype.createdAt="",s.prototype.attributes="",s.prototype.toVersion=0,s.prototype.fromVersion=0,s.prototype.isEmptyCurrent=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.revisionId&&Object.hasOwnProperty.call(t,"revisionId")&&n.uint32(10).string(t.revisionId),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&n.uint32(18).string(t.name),null!=t.creatorId&&Object.hasOwnProperty.call(t,"creatorId")&&n.uint32(26).string(t.creatorId),null!=t.authorsIds&&Object.hasOwnProperty.call(t,"authorsIds")&&n.uint32(34).string(t.authorsIds),null!=t.diffData&&Object.hasOwnProperty.call(t,"diffData")&&n.uint32(42).string(t.diffData),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(50).string(t.createdAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(58).string(t.attributes),null!=t.toVersion&&Object.hasOwnProperty.call(t,"toVersion")&&n.uint32(64).uint32(t.toVersion),null!=t.fromVersion&&Object.hasOwnProperty.call(t,"fromVersion")&&n.uint32(72).uint32(t.fromVersion),null!=t.isEmptyCurrent&&Object.hasOwnProperty.call(t,"isEmptyCurrent")&&n.uint32(80).bool(t.isEmptyCurrent),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.revisionId=e.string();break;case 2:i.name=e.string();break;case 3:i.creatorId=e.string();break;case 4:i.authorsIds=e.string();break;case 5:i.diffData=e.string();break;case 6:i.createdAt=e.string();break;case 7:i.attributes=e.string();break;case 8:i.toVersion=e.uint32();break;case 9:i.fromVersion=e.uint32();break;case 10:i.isEmptyCurrent=e.bool();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.revisionId&&t.hasOwnProperty("revisionId")&&!n.isString(t.revisionId)?"revisionId: string expected":null!=t.name&&t.hasOwnProperty("name")&&!n.isString(t.name)?"name: string expected":null!=t.creatorId&&t.hasOwnProperty("creatorId")&&!n.isString(t.creatorId)?"creatorId: string expected":null!=t.authorsIds&&t.hasOwnProperty("authorsIds")&&!n.isString(t.authorsIds)?"authorsIds: string expected":null!=t.diffData&&t.hasOwnProperty("diffData")&&!n.isString(t.diffData)?"diffData: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null!=t.toVersion&&t.hasOwnProperty("toVersion")&&!n.isInteger(t.toVersion)?"toVersion: integer expected":null!=t.fromVersion&&t.hasOwnProperty("fromVersion")&&!n.isInteger(t.fromVersion)?"fromVersion: integer expected":null!=t.isEmptyCurrent&&t.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof t.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},s.fromObject=function(t){if(t instanceof r.RevisionDescriptor)return t;var e=new r.RevisionDescriptor;return null!=t.revisionId&&(e.revisionId=String(t.revisionId)),null!=t.name&&(e.name=String(t.name)),null!=t.creatorId&&(e.creatorId=String(t.creatorId)),null!=t.authorsIds&&(e.authorsIds=String(t.authorsIds)),null!=t.diffData&&(e.diffData=String(t.diffData)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.toVersion&&(e.toVersion=t.toVersion>>>0),null!=t.fromVersion&&(e.fromVersion=t.fromVersion>>>0),null!=t.isEmptyCurrent&&(e.isEmptyCurrent=Boolean(t.isEmptyCurrent)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.revisionId="",n.name="",n.creatorId="",n.authorsIds="",n.diffData="",n.createdAt="",n.attributes="",n.toVersion=0,n.fromVersion=0,n.isEmptyCurrent=!1),null!=t.revisionId&&t.hasOwnProperty("revisionId")&&(n.revisionId=t.revisionId),null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.creatorId&&t.hasOwnProperty("creatorId")&&(n.creatorId=t.creatorId),null!=t.authorsIds&&t.hasOwnProperty("authorsIds")&&(n.authorsIds=t.authorsIds),null!=t.diffData&&t.hasOwnProperty("diffData")&&(n.diffData=t.diffData),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.toVersion&&t.hasOwnProperty("toVersion")&&(n.toVersion=t.toVersion),null!=t.fromVersion&&t.hasOwnProperty("fromVersion")&&(n.fromVersion=t.fromVersion),null!=t.isEmptyCurrent&&t.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=t.isEmptyCurrent),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionDescriptor"},s}(),r.IsEditorBundleUploadedResponse=function(){function n(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return n.prototype.isUploaded=!1,n.create=function(t){return new n(t)},n.encode=function(t,n){return n||(n=e.create()),null!=t.isUploaded&&Object.hasOwnProperty.call(t,"isUploaded")&&n.uint32(8).bool(t.isUploaded),n},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.IsEditorBundleUploadedResponse;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.isUploaded=e.bool():e.skipType(7&a)}return i},n.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},n.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.isUploaded&&t.hasOwnProperty("isUploaded")&&"boolean"!=typeof t.isUploaded?"isUploaded: boolean expected":null},n.fromObject=function(t){if(t instanceof r.IsEditorBundleUploadedResponse)return t;var e=new r.IsEditorBundleUploadedResponse;return null!=t.isUploaded&&(e.isUploaded=Boolean(t.isUploaded)),e},n.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.isUploaded=!1),null!=t.isUploaded&&t.hasOwnProperty("isUploaded")&&(n.isUploaded=t.isUploaded),n},n.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},n.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/IsEditorBundleUploadedResponse"},n}(),r.IsEditorBundleUploadedMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.bundleVersion="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.bundleVersion&&Object.hasOwnProperty.call(t,"bundleVersion")&&n.uint32(10).string(t.bundleVersion),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.IsEditorBundleUploadedMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.bundleVersion=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&!n.isString(t.bundleVersion)?"bundleVersion: string expected":null},s.fromObject=function(t){if(t instanceof r.IsEditorBundleUploadedMessage)return t;var e=new r.IsEditorBundleUploadedMessage;return null!=t.bundleVersion&&(e.bundleVersion=String(t.bundleVersion)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.bundleVersion=""),null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&(n.bundleVersion=t.bundleVersion),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/IsEditorBundleUploadedMessage"},s}(),r.KeyValueDescriptor=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.key="",s.prototype.value="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.key&&Object.hasOwnProperty.call(t,"key")&&n.uint32(10).string(t.key),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&n.uint32(18).string(t.value),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.KeyValueDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.key=e.string();break;case 2:i.value=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.key&&t.hasOwnProperty("key")&&!n.isString(t.key)?"key: string expected":null!=t.value&&t.hasOwnProperty("value")&&!n.isString(t.value)?"value: string expected":null},s.fromObject=function(t){if(t instanceof r.KeyValueDescriptor)return t;var e=new r.KeyValueDescriptor;return null!=t.key&&(e.key=String(t.key)),null!=t.value&&(e.value=String(t.value)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.key="",n.value=""),null!=t.key&&t.hasOwnProperty("key")&&(n.key=t.key),null!=t.value&&t.hasOwnProperty("value")&&(n.value=t.value),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/KeyValueDescriptor"},s}(),r.CommentsV2GetDocumentThreadsResponse=function(){function s(t){if(this.threads=[],this.threadsV2=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.threads=n.emptyArray,s.prototype.threadsV2=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.threads&&t.threads.length)for(var s=0;s<t.threads.length;++s)n.uint32(10).string(t.threads[s]);if(null!=t.threadsV2&&t.threadsV2.length)for(s=0;s<t.threadsV2.length;++s)r.CommentsThreadDescriptor.encode(t.threadsV2[s],n.uint32(18).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2GetDocumentThreadsResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.threads&&i.threads.length||(i.threads=[]),i.threads.push(e.string());break;case 2:i.threadsV2&&i.threadsV2.length||(i.threadsV2=[]),i.threadsV2.push(r.CommentsThreadDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.threads&&t.hasOwnProperty("threads")){if(!Array.isArray(t.threads))return"threads: array expected";for(var e=0;e<t.threads.length;++e)if(!n.isString(t.threads[e]))return"threads: string[] expected"}if(null!=t.threadsV2&&t.hasOwnProperty("threadsV2")){if(!Array.isArray(t.threadsV2))return"threadsV2: array expected";for(e=0;e<t.threadsV2.length;++e){var s=r.CommentsThreadDescriptor.verify(t.threadsV2[e]);if(s)return"threadsV2."+s}}return null},s.fromObject=function(t){if(t instanceof r.CommentsV2GetDocumentThreadsResponse)return t;var e=new r.CommentsV2GetDocumentThreadsResponse;if(t.threads){if(!Array.isArray(t.threads))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threads: array expected");e.threads=[];for(var n=0;n<t.threads.length;++n)e.threads[n]=String(t.threads[n])}if(t.threadsV2){if(!Array.isArray(t.threadsV2))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: array expected");for(e.threadsV2=[],n=0;n<t.threadsV2.length;++n){if("object"!=typeof t.threadsV2[n])throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: object expected");e.threadsV2[n]=r.CommentsThreadDescriptor.fromObject(t.threadsV2[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.threads=[],n.threadsV2=[]),t.threads&&t.threads.length){n.threads=[];for(var s=0;s<t.threads.length;++s)n.threads[s]=t.threads[s]}if(t.threadsV2&&t.threadsV2.length)for(n.threadsV2=[],s=0;s<t.threadsV2.length;++s)n.threadsV2[s]=r.CommentsThreadDescriptor.toObject(t.threadsV2[s],e);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2GetDocumentThreadsResponse"},s}(),r.CommentsV2GetCommentThreadResponse=function(){function s(t){if(this.comments=[],this.commentsV2=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.comments=n.emptyArray,s.prototype.commentsV2=n.emptyArray,s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.context="",s.prototype.createdAt="",s.prototype.deletedAt="",s.prototype.attributes="",s.prototype.unlinkedAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.comments&&t.comments.length)for(var s=0;s<t.comments.length;++s)n.uint32(18).string(t.comments[s]);if(null!=t.commentsV2&&t.commentsV2.length)for(s=0;s<t.commentsV2.length;++s)r.CommentDescriptor.encode(t.commentsV2[s],n.uint32(26).fork()).ldelim();return null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&n.uint32(34).string(t.resolvedAt),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&n.uint32(42).string(t.resolvedBy),null!=t.context&&Object.hasOwnProperty.call(t,"context")&&n.uint32(50).string(t.context),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(58).string(t.createdAt),null!=t.deletedAt&&Object.hasOwnProperty.call(t,"deletedAt")&&n.uint32(66).string(t.deletedAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(74).string(t.attributes),null!=t.unlinkedAt&&Object.hasOwnProperty.call(t,"unlinkedAt")&&n.uint32(82).string(t.unlinkedAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2GetCommentThreadResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(e.string());break;case 3:i.commentsV2&&i.commentsV2.length||(i.commentsV2=[]),i.commentsV2.push(r.CommentDescriptor.decode(e,e.uint32()));break;case 4:i.resolvedAt=e.string();break;case 5:i.resolvedBy=e.string();break;case 6:i.context=e.string();break;case 7:i.createdAt=e.string();break;case 8:i.deletedAt=e.string();break;case 9:i.attributes=e.string();break;case 10:i.unlinkedAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.comments&&t.hasOwnProperty("comments")){if(!Array.isArray(t.comments))return"comments: array expected";for(var e=0;e<t.comments.length;++e)if(!n.isString(t.comments[e]))return"comments: string[] expected"}if(null!=t.commentsV2&&t.hasOwnProperty("commentsV2")){if(!Array.isArray(t.commentsV2))return"commentsV2: array expected";for(e=0;e<t.commentsV2.length;++e){var s=r.CommentDescriptor.verify(t.commentsV2[e]);if(s)return"commentsV2."+s}}return null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!n.isString(t.resolvedAt)?"resolvedAt: string expected":null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!n.isString(t.resolvedBy)?"resolvedBy: string expected":null!=t.context&&t.hasOwnProperty("context")&&!n.isString(t.context)?"context: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&!n.isString(t.deletedAt)?"deletedAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&!n.isString(t.unlinkedAt)?"unlinkedAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2GetCommentThreadResponse)return t;var e=new r.CommentsV2GetCommentThreadResponse;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),t.comments){if(!Array.isArray(t.comments))throw TypeError(".CommentsV2GetCommentThreadResponse.comments: array expected");e.comments=[];for(var n=0;n<t.comments.length;++n)e.comments[n]=String(t.comments[n])}if(t.commentsV2){if(!Array.isArray(t.commentsV2))throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: array expected");for(e.commentsV2=[],n=0;n<t.commentsV2.length;++n){if("object"!=typeof t.commentsV2[n])throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: object expected");e.commentsV2[n]=r.CommentDescriptor.fromObject(t.commentsV2[n])}}return null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),null!=t.context&&(e.context=String(t.context)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.deletedAt&&(e.deletedAt=String(t.deletedAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.unlinkedAt&&(e.unlinkedAt=String(t.unlinkedAt)),e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.comments=[],n.commentsV2=[]),e.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes="",n.unlinkedAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),t.comments&&t.comments.length){n.comments=[];for(var s=0;s<t.comments.length;++s)n.comments[s]=t.comments[s]}if(t.commentsV2&&t.commentsV2.length)for(n.commentsV2=[],s=0;s<t.commentsV2.length;++s)n.commentsV2[s]=r.CommentDescriptor.toObject(t.commentsV2[s],e);return null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),null!=t.context&&t.hasOwnProperty("context")&&(n.context=t.context),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&(n.deletedAt=t.deletedAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=t.unlinkedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2GetCommentThreadResponse"},s}(),r.CommentsV2ConnectResponse=function(){function s(t){if(this.threads=[],this.threadsV2=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.channel="",s.prototype.threads=n.emptyArray,s.prototype.threadsV2=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&n.uint32(10).string(t.channel),null!=t.threads&&t.threads.length)for(var s=0;s<t.threads.length;++s)n.uint32(18).string(t.threads[s]);if(null!=t.threadsV2&&t.threadsV2.length)for(s=0;s<t.threadsV2.length;++s)r.CommentsThreadDescriptor.encode(t.threadsV2[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2ConnectResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=e.string();break;case 2:i.threads&&i.threads.length||(i.threads=[]),i.threads.push(e.string());break;case 3:i.threadsV2&&i.threadsV2.length||(i.threadsV2=[]),i.threadsV2.push(r.CommentsThreadDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!n.isString(t.channel))return"channel: string expected";if(null!=t.threads&&t.hasOwnProperty("threads")){if(!Array.isArray(t.threads))return"threads: array expected";for(var e=0;e<t.threads.length;++e)if(!n.isString(t.threads[e]))return"threads: string[] expected"}if(null!=t.threadsV2&&t.hasOwnProperty("threadsV2")){if(!Array.isArray(t.threadsV2))return"threadsV2: array expected";for(e=0;e<t.threadsV2.length;++e){var s=r.CommentsThreadDescriptor.verify(t.threadsV2[e]);if(s)return"threadsV2."+s}}return null},s.fromObject=function(t){if(t instanceof r.CommentsV2ConnectResponse)return t;var e=new r.CommentsV2ConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),t.threads){if(!Array.isArray(t.threads))throw TypeError(".CommentsV2ConnectResponse.threads: array expected");e.threads=[];for(var n=0;n<t.threads.length;++n)e.threads[n]=String(t.threads[n])}if(t.threadsV2){if(!Array.isArray(t.threadsV2))throw TypeError(".CommentsV2ConnectResponse.threadsV2: array expected");for(e.threadsV2=[],n=0;n<t.threadsV2.length;++n){if("object"!=typeof t.threadsV2[n])throw TypeError(".CommentsV2ConnectResponse.threadsV2: object expected");e.threadsV2[n]=r.CommentsThreadDescriptor.fromObject(t.threadsV2[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.threads=[],n.threadsV2=[]),e.defaults&&(n.channel=""),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),t.threads&&t.threads.length){n.threads=[];for(var s=0;s<t.threads.length;++s)n.threads[s]=t.threads[s]}if(t.threadsV2&&t.threadsV2.length)for(n.threadsV2=[],s=0;s<t.threadsV2.length;++s)n.threadsV2[s]=r.CommentsThreadDescriptor.toObject(t.threadsV2[s],e);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ConnectResponse"},s}(),r.CommentsV2AddCommentResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.createdAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&n.uint32(18).string(t.commentId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(26).string(t.createdAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2AddCommentResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.commentId=e.string();break;case 3:i.createdAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.commentId&&t.hasOwnProperty("commentId")&&!n.isString(t.commentId)?"commentId: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2AddCommentResponse)return t;var e=new r.CommentsV2AddCommentResponse;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.commentId="",n.createdAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2AddCommentResponse"},s}(),r.CommentsV2ResolveCommentThreadResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&n.uint32(26).string(t.resolvedAt),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&n.uint32(34).string(t.resolvedBy),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2ResolveCommentThreadResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.documentId=e.string();break;case 3:i.resolvedAt=e.string();break;case 4:i.resolvedBy=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!n.isString(t.resolvedAt)?"resolvedAt: string expected":null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!n.isString(t.resolvedBy)?"resolvedBy: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2ResolveCommentThreadResponse)return t;var e=new r.CommentsV2ResolveCommentThreadResponse;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedAt="",n.resolvedBy=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ResolveCommentThreadResponse"},s}(),r.CommentsV2AddCommentThreadResponse=function(){function s(t){if(this.comments=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.createdAt="",s.prototype.comments=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(18).string(t.createdAt),null!=t.comments&&t.comments.length)for(var s=0;s<t.comments.length;++s)r.CommentThreadAddedCommentDescriptor.encode(t.comments[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2AddCommentThreadResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.createdAt=e.string();break;case 3:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(r.CommentThreadAddedCommentDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt))return"createdAt: string expected";if(null!=t.comments&&t.hasOwnProperty("comments")){if(!Array.isArray(t.comments))return"comments: array expected";for(var e=0;e<t.comments.length;++e){var s=r.CommentThreadAddedCommentDescriptor.verify(t.comments[e]);if(s)return"comments."+s}}return null},s.fromObject=function(t){if(t instanceof r.CommentsV2AddCommentThreadResponse)return t;var e=new r.CommentsV2AddCommentThreadResponse;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),t.comments){if(!Array.isArray(t.comments))throw TypeError(".CommentsV2AddCommentThreadResponse.comments: array expected");e.comments=[];for(var n=0;n<t.comments.length;++n){if("object"!=typeof t.comments[n])throw TypeError(".CommentsV2AddCommentThreadResponse.comments: object expected");e.comments[n]=r.CommentThreadAddedCommentDescriptor.fromObject(t.comments[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.comments=[]),e.defaults&&(n.commentThreadId="",n.createdAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),t.comments&&t.comments.length){n.comments=[];for(var s=0;s<t.comments.length;++s)n.comments[s]=r.CommentThreadAddedCommentDescriptor.toObject(t.comments[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2AddCommentThreadResponse"},s}(),r.CommentsV2UpdateCommentMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.content="",s.prototype.documentId="",s.prototype.attributes="",s.prototype.isAttributesUpdated=!1,s.prototype.commentThread=null,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&n.uint32(18).string(t.commentId),null!=t.content&&Object.hasOwnProperty.call(t,"content")&&n.uint32(26).string(t.content),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(34).string(t.documentId),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(42).string(t.attributes),null!=t.isAttributesUpdated&&Object.hasOwnProperty.call(t,"isAttributesUpdated")&&n.uint32(48).bool(t.isAttributesUpdated),null!=t.commentThread&&Object.hasOwnProperty.call(t,"commentThread")&&r.CommentsThreadDescriptor.encode(t.commentThread,n.uint32(58).fork()).ldelim(),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2UpdateCommentMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.commentId=e.string();break;case 3:i.content=e.string();break;case 4:i.documentId=e.string();break;case 5:i.attributes=e.string();break;case 6:i.isAttributesUpdated=e.bool();break;case 7:i.commentThread=r.CommentsThreadDescriptor.decode(e,e.uint32());break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.commentId&&t.hasOwnProperty("commentId")&&!n.isString(t.commentId))return"commentId: string expected";if(null!=t.content&&t.hasOwnProperty("content")&&!n.isString(t.content))return"content: string expected";if(null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId))return"documentId: string expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes))return"attributes: string expected";if(null!=t.isAttributesUpdated&&t.hasOwnProperty("isAttributesUpdated")&&"boolean"!=typeof t.isAttributesUpdated)return"isAttributesUpdated: boolean expected";if(null!=t.commentThread&&t.hasOwnProperty("commentThread")){var e=r.CommentsThreadDescriptor.verify(t.commentThread);if(e)return"commentThread."+e}return null},s.fromObject=function(t){if(t instanceof r.CommentsV2UpdateCommentMessage)return t;var e=new r.CommentsV2UpdateCommentMessage;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.content&&(e.content=String(t.content)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.isAttributesUpdated&&(e.isAttributesUpdated=Boolean(t.isAttributesUpdated)),null!=t.commentThread){if("object"!=typeof t.commentThread)throw TypeError(".CommentsV2UpdateCommentMessage.commentThread: object expected");e.commentThread=r.CommentsThreadDescriptor.fromObject(t.commentThread)}return e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.commentId="",n.content="",n.documentId="",n.attributes="",n.isAttributesUpdated=!1,n.commentThread=null),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.content&&t.hasOwnProperty("content")&&(n.content=t.content),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.isAttributesUpdated&&t.hasOwnProperty("isAttributesUpdated")&&(n.isAttributesUpdated=t.isAttributesUpdated),null!=t.commentThread&&t.hasOwnProperty("commentThread")&&(n.commentThread=r.CommentsThreadDescriptor.toObject(t.commentThread,e)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2UpdateCommentMessage"},s}(),r.CommentsV2RemoveCommentThreadMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2RemoveCommentThreadMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.documentId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2RemoveCommentThreadMessage)return t;var e=new r.CommentsV2RemoveCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.documentId=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2RemoveCommentThreadMessage"},s}(),r.CommentsV2RemoveCommentMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&n.uint32(18).string(t.commentId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(26).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2RemoveCommentMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.commentId=e.string();break;case 3:i.documentId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.commentId&&t.hasOwnProperty("commentId")&&!n.isString(t.commentId)?"commentId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2RemoveCommentMessage)return t;var e=new r.CommentsV2RemoveCommentMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.commentId="",n.documentId=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2RemoveCommentMessage"},s}(),r.CommentsV2GetDocumentThreadsMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2GetDocumentThreadsMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.documentId=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2GetDocumentThreadsMessage)return t;var e=new r.CommentsV2GetDocumentThreadsMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2GetDocumentThreadsMessage"},s}(),r.CommentsV2GetCommentThreadMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2GetCommentThreadMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.documentId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2GetCommentThreadMessage)return t;var e=new r.CommentsV2GetCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.documentId=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2GetCommentThreadMessage"},s}(),r.CommentsV2ConnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2ConnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.documentId=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2ConnectMessage)return t;var e=new r.CommentsV2ConnectMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ConnectMessage"},s}(),r.CommentsV2AddCommentMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.content="",s.prototype.documentId="",s.prototype.commentId="",s.prototype.createdAt="",s.prototype.userId="",s.prototype.attributes="",s.prototype.commentThread=null,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.content&&Object.hasOwnProperty.call(t,"content")&&n.uint32(18).string(t.content),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(26).string(t.documentId),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&n.uint32(34).string(t.commentId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(42).string(t.createdAt),null!=t.userId&&Object.hasOwnProperty.call(t,"userId")&&n.uint32(50).string(t.userId),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(58).string(t.attributes),null!=t.commentThread&&Object.hasOwnProperty.call(t,"commentThread")&&r.CommentsThreadDescriptor.encode(t.commentThread,n.uint32(66).fork()).ldelim(),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2AddCommentMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.content=e.string();break;case 3:i.documentId=e.string();break;case 4:i.commentId=e.string();break;case 5:i.createdAt=e.string();break;case 6:i.userId=e.string();break;case 7:i.attributes=e.string();break;case 8:i.commentThread=r.CommentsThreadDescriptor.decode(e,e.uint32());break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.content&&t.hasOwnProperty("content")&&!n.isString(t.content))return"content: string expected";if(null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId))return"documentId: string expected";if(null!=t.commentId&&t.hasOwnProperty("commentId")&&!n.isString(t.commentId))return"commentId: string expected";if(null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt))return"createdAt: string expected";if(null!=t.userId&&t.hasOwnProperty("userId")&&!n.isString(t.userId))return"userId: string expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes))return"attributes: string expected";if(null!=t.commentThread&&t.hasOwnProperty("commentThread")){var e=r.CommentsThreadDescriptor.verify(t.commentThread);if(e)return"commentThread."+e}return null},s.fromObject=function(t){if(t instanceof r.CommentsV2AddCommentMessage)return t;var e=new r.CommentsV2AddCommentMessage;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.content&&(e.content=String(t.content)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.userId&&(e.userId=String(t.userId)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.commentThread){if("object"!=typeof t.commentThread)throw TypeError(".CommentsV2AddCommentMessage.commentThread: object expected");e.commentThread=r.CommentsThreadDescriptor.fromObject(t.commentThread)}return e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.content="",n.documentId="",n.commentId="",n.createdAt="",n.userId="",n.attributes="",n.commentThread=null),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.content&&t.hasOwnProperty("content")&&(n.content=t.content),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.userId&&t.hasOwnProperty("userId")&&(n.userId=t.userId),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.commentThread&&t.hasOwnProperty("commentThread")&&(n.commentThread=r.CommentsThreadDescriptor.toObject(t.commentThread,e)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2AddCommentMessage"},s}(),r.CommentsV2UpdateCommentThreadMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.context="",s.prototype.attributes="",s.prototype.unlinkedAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),null!=t.context&&Object.hasOwnProperty.call(t,"context")&&n.uint32(26).string(t.context),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(34).string(t.attributes),null!=t.unlinkedAt&&Object.hasOwnProperty.call(t,"unlinkedAt")&&n.uint32(42).string(t.unlinkedAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2UpdateCommentThreadMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.documentId=e.string();break;case 3:i.context=e.string();break;case 4:i.attributes=e.string();break;case 5:i.unlinkedAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.context&&t.hasOwnProperty("context")&&!n.isString(t.context)?"context: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&!n.isString(t.unlinkedAt)?"unlinkedAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2UpdateCommentThreadMessage)return t;var e=new r.CommentsV2UpdateCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.context&&(e.context=String(t.context)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.unlinkedAt&&(e.unlinkedAt=String(t.unlinkedAt)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.documentId="",n.context="",n.attributes="",n.unlinkedAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.context&&t.hasOwnProperty("context")&&(n.context=t.context),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=t.unlinkedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2UpdateCommentThreadMessage"},s}(),r.CommentsV2ResolveCommentThreadMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.resolvedBy="",s.prototype.resolvedAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&n.uint32(26).string(t.resolvedBy),null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&n.uint32(34).string(t.resolvedAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2ResolveCommentThreadMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.documentId=e.string();break;case 3:i.resolvedBy=e.string();break;case 4:i.resolvedAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!n.isString(t.resolvedBy)?"resolvedBy: string expected":null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!n.isString(t.resolvedAt)?"resolvedAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2ResolveCommentThreadMessage)return t;var e=new r.CommentsV2ResolveCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedBy="",n.resolvedAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ResolveCommentThreadMessage"},s}(),r.CommentsV2ReopenCommentThreadMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2ReopenCommentThreadMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.documentId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2ReopenCommentThreadMessage)return t;var e=new r.CommentsV2ReopenCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.documentId=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ReopenCommentThreadMessage"},s}(),r.CommentsV2AddCommentThreadMessage=function(){function s(t){if(this.comments=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.prototype.commentThreadId="",s.prototype.context="",s.prototype.createdAt="",s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.attributes="",s.prototype.deletedAt="",s.prototype.comments=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(18).string(t.commentThreadId),null!=t.context&&Object.hasOwnProperty.call(t,"context")&&n.uint32(26).string(t.context),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(34).string(t.createdAt),null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&n.uint32(42).string(t.resolvedAt),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&n.uint32(50).string(t.resolvedBy),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(58).string(t.attributes),null!=t.deletedAt&&Object.hasOwnProperty.call(t,"deletedAt")&&n.uint32(66).string(t.deletedAt),null!=t.comments&&t.comments.length)for(var s=0;s<t.comments.length;++s)r.CommentDescriptor.encode(t.comments[s],n.uint32(74).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2AddCommentThreadMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=e.string();break;case 2:i.commentThreadId=e.string();break;case 3:i.context=e.string();break;case 4:i.createdAt=e.string();break;case 5:i.resolvedAt=e.string();break;case 6:i.resolvedBy=e.string();break;case 7:i.attributes=e.string();break;case 8:i.deletedAt=e.string();break;case 9:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(r.CommentDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId))return"documentId: string expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.context&&t.hasOwnProperty("context")&&!n.isString(t.context))return"context: string expected";if(null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt))return"createdAt: string expected";if(null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!n.isString(t.resolvedAt))return"resolvedAt: string expected";if(null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!n.isString(t.resolvedBy))return"resolvedBy: string expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes))return"attributes: string expected";if(null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&!n.isString(t.deletedAt))return"deletedAt: string expected";if(null!=t.comments&&t.hasOwnProperty("comments")){if(!Array.isArray(t.comments))return"comments: array expected";for(var e=0;e<t.comments.length;++e){var s=r.CommentDescriptor.verify(t.comments[e]);if(s)return"comments."+s}}return null},s.fromObject=function(t){if(t instanceof r.CommentsV2AddCommentThreadMessage)return t;var e=new r.CommentsV2AddCommentThreadMessage;if(null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.context&&(e.context=String(t.context)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.deletedAt&&(e.deletedAt=String(t.deletedAt)),t.comments){if(!Array.isArray(t.comments))throw TypeError(".CommentsV2AddCommentThreadMessage.comments: array expected");e.comments=[];for(var n=0;n<t.comments.length;++n){if("object"!=typeof t.comments[n])throw TypeError(".CommentsV2AddCommentThreadMessage.comments: object expected");e.comments[n]=r.CommentDescriptor.fromObject(t.comments[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.comments=[]),e.defaults&&(n.documentId="",n.commentThreadId="",n.context="",n.createdAt="",n.resolvedAt="",n.resolvedBy="",n.attributes="",n.deletedAt=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.context&&t.hasOwnProperty("context")&&(n.context=t.context),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&(n.deletedAt=t.deletedAt),t.comments&&t.comments.length){n.comments=[];for(var s=0;s<t.comments.length;++s)n.comments[s]=r.CommentDescriptor.toObject(t.comments[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2AddCommentThreadMessage"},s}(),r.CommentThreadAddedCommentDescriptor=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentId="",s.prototype.createdAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&n.uint32(10).string(t.commentId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(18).string(t.createdAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentThreadAddedCommentDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentId=e.string();break;case 2:i.createdAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentId&&t.hasOwnProperty("commentId")&&!n.isString(t.commentId)?"commentId: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentThreadAddedCommentDescriptor)return t;var e=new r.CommentThreadAddedCommentDescriptor;return null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentId="",n.createdAt=""),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentThreadAddedCommentDescriptor"},s}(),r.CommentsThreadDescriptor=function(){function s(t){if(this.comments=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.comments=n.emptyArray,s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.context="",s.prototype.createdAt="",s.prototype.deletedAt="",s.prototype.attributes="",s.prototype.unlinkedAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.comments&&t.comments.length)for(var s=0;s<t.comments.length;++s)r.CommentDescriptor.encode(t.comments[s],n.uint32(18).fork()).ldelim();return null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&n.uint32(26).string(t.resolvedAt),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&n.uint32(34).string(t.resolvedBy),null!=t.context&&Object.hasOwnProperty.call(t,"context")&&n.uint32(42).string(t.context),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(50).string(t.createdAt),null!=t.deletedAt&&Object.hasOwnProperty.call(t,"deletedAt")&&n.uint32(58).string(t.deletedAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(66).string(t.attributes),null!=t.unlinkedAt&&Object.hasOwnProperty.call(t,"unlinkedAt")&&n.uint32(74).string(t.unlinkedAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsThreadDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(r.CommentDescriptor.decode(e,e.uint32()));break;case 3:i.resolvedAt=e.string();break;case 4:i.resolvedBy=e.string();break;case 5:i.context=e.string();break;case 6:i.createdAt=e.string();break;case 7:i.deletedAt=e.string();break;case 8:i.attributes=e.string();break;case 9:i.unlinkedAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.comments&&t.hasOwnProperty("comments")){if(!Array.isArray(t.comments))return"comments: array expected";for(var e=0;e<t.comments.length;++e){var s=r.CommentDescriptor.verify(t.comments[e]);if(s)return"comments."+s}}return null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!n.isString(t.resolvedAt)?"resolvedAt: string expected":null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!n.isString(t.resolvedBy)?"resolvedBy: string expected":null!=t.context&&t.hasOwnProperty("context")&&!n.isString(t.context)?"context: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&!n.isString(t.deletedAt)?"deletedAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&!n.isString(t.unlinkedAt)?"unlinkedAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsThreadDescriptor)return t;var e=new r.CommentsThreadDescriptor;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),t.comments){if(!Array.isArray(t.comments))throw TypeError(".CommentsThreadDescriptor.comments: array expected");e.comments=[];for(var n=0;n<t.comments.length;++n){if("object"!=typeof t.comments[n])throw TypeError(".CommentsThreadDescriptor.comments: object expected");e.comments[n]=r.CommentDescriptor.fromObject(t.comments[n])}}return null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),null!=t.context&&(e.context=String(t.context)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.deletedAt&&(e.deletedAt=String(t.deletedAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.unlinkedAt&&(e.unlinkedAt=String(t.unlinkedAt)),e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.comments=[]),e.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes="",n.unlinkedAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),t.comments&&t.comments.length){n.comments=[];for(var s=0;s<t.comments.length;++s)n.comments[s]=r.CommentDescriptor.toObject(t.comments[s],e)}return null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),null!=t.context&&t.hasOwnProperty("context")&&(n.context=t.context),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&(n.deletedAt=t.deletedAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=t.unlinkedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsThreadDescriptor"},s}(),r.CommentDescriptor=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentId="",s.prototype.commentThreadId="",s.prototype.userId="",s.prototype.content="",s.prototype.documentId="",s.prototype.createdAt="",s.prototype.attributes="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&n.uint32(10).string(t.commentId),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(18).string(t.commentThreadId),null!=t.userId&&Object.hasOwnProperty.call(t,"userId")&&n.uint32(26).string(t.userId),null!=t.content&&Object.hasOwnProperty.call(t,"content")&&n.uint32(34).string(t.content),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(42).string(t.documentId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(50).string(t.createdAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(58).string(t.attributes),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentId=e.string();break;case 2:i.commentThreadId=e.string();break;case 3:i.userId=e.string();break;case 4:i.content=e.string();break;case 5:i.documentId=e.string();break;case 6:i.createdAt=e.string();break;case 7:i.attributes=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentId&&t.hasOwnProperty("commentId")&&!n.isString(t.commentId)?"commentId: string expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.userId&&t.hasOwnProperty("userId")&&!n.isString(t.userId)?"userId: string expected":null!=t.content&&t.hasOwnProperty("content")&&!n.isString(t.content)?"content: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentDescriptor)return t;var e=new r.CommentDescriptor;return null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.userId&&(e.userId=String(t.userId)),null!=t.content&&(e.content=String(t.content)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentId="",n.commentThreadId="",n.userId="",n.content="",n.documentId="",n.createdAt="",n.attributes=""),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.userId&&t.hasOwnProperty("userId")&&(n.userId=t.userId),null!=t.content&&t.hasOwnProperty("content")&&(n.content=t.content),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentDescriptor"},s}(),r.GetDocumentDetailsResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.lastDocumentSessionId="",s.prototype.lastDocumentSessionOperationId="",s.prototype.currentDocumentSessionId="",s.prototype.currentDocumentSessionVersion=0,s.prototype.currentDocumentSessionOperationId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.lastDocumentSessionId&&Object.hasOwnProperty.call(t,"lastDocumentSessionId")&&n.uint32(10).string(t.lastDocumentSessionId),null!=t.lastDocumentSessionOperationId&&Object.hasOwnProperty.call(t,"lastDocumentSessionOperationId")&&n.uint32(18).string(t.lastDocumentSessionOperationId),null!=t.currentDocumentSessionId&&Object.hasOwnProperty.call(t,"currentDocumentSessionId")&&n.uint32(26).string(t.currentDocumentSessionId),null!=t.currentDocumentSessionVersion&&Object.hasOwnProperty.call(t,"currentDocumentSessionVersion")&&n.uint32(32).uint32(t.currentDocumentSessionVersion),null!=t.currentDocumentSessionOperationId&&Object.hasOwnProperty.call(t,"currentDocumentSessionOperationId")&&n.uint32(42).string(t.currentDocumentSessionOperationId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.GetDocumentDetailsResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.lastDocumentSessionId=e.string();break;case 2:i.lastDocumentSessionOperationId=e.string();break;case 3:i.currentDocumentSessionId=e.string();break;case 4:i.currentDocumentSessionVersion=e.uint32();break;case 5:i.currentDocumentSessionOperationId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.lastDocumentSessionId&&t.hasOwnProperty("lastDocumentSessionId")&&!n.isString(t.lastDocumentSessionId)?"lastDocumentSessionId: string expected":null!=t.lastDocumentSessionOperationId&&t.hasOwnProperty("lastDocumentSessionOperationId")&&!n.isString(t.lastDocumentSessionOperationId)?"lastDocumentSessionOperationId: string expected":null!=t.currentDocumentSessionId&&t.hasOwnProperty("currentDocumentSessionId")&&!n.isString(t.currentDocumentSessionId)?"currentDocumentSessionId: string expected":null!=t.currentDocumentSessionVersion&&t.hasOwnProperty("currentDocumentSessionVersion")&&!n.isInteger(t.currentDocumentSessionVersion)?"currentDocumentSessionVersion: integer expected":null!=t.currentDocumentSessionOperationId&&t.hasOwnProperty("currentDocumentSessionOperationId")&&!n.isString(t.currentDocumentSessionOperationId)?"currentDocumentSessionOperationId: string expected":null},s.fromObject=function(t){if(t instanceof r.GetDocumentDetailsResponse)return t;var e=new r.GetDocumentDetailsResponse;return null!=t.lastDocumentSessionId&&(e.lastDocumentSessionId=String(t.lastDocumentSessionId)),null!=t.lastDocumentSessionOperationId&&(e.lastDocumentSessionOperationId=String(t.lastDocumentSessionOperationId)),null!=t.currentDocumentSessionId&&(e.currentDocumentSessionId=String(t.currentDocumentSessionId)),null!=t.currentDocumentSessionVersion&&(e.currentDocumentSessionVersion=t.currentDocumentSessionVersion>>>0),null!=t.currentDocumentSessionOperationId&&(e.currentDocumentSessionOperationId=String(t.currentDocumentSessionOperationId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.lastDocumentSessionId="",n.lastDocumentSessionOperationId="",n.currentDocumentSessionId="",n.currentDocumentSessionVersion=0,n.currentDocumentSessionOperationId=""),null!=t.lastDocumentSessionId&&t.hasOwnProperty("lastDocumentSessionId")&&(n.lastDocumentSessionId=t.lastDocumentSessionId),null!=t.lastDocumentSessionOperationId&&t.hasOwnProperty("lastDocumentSessionOperationId")&&(n.lastDocumentSessionOperationId=t.lastDocumentSessionOperationId),null!=t.currentDocumentSessionId&&t.hasOwnProperty("currentDocumentSessionId")&&(n.currentDocumentSessionId=t.currentDocumentSessionId),null!=t.currentDocumentSessionVersion&&t.hasOwnProperty("currentDocumentSessionVersion")&&(n.currentDocumentSessionVersion=t.currentDocumentSessionVersion),null!=t.currentDocumentSessionOperationId&&t.hasOwnProperty("currentDocumentSessionOperationId")&&(n.currentDocumentSessionOperationId=t.currentDocumentSessionOperationId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetDocumentDetailsResponse"},s}(),r.CollaborativeEditingResponse=function(){function s(t){if(this.buffers=[],this.types=[],this.metadata=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.version=0,s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.metadata=n.emptyArray,s.prototype.lastOperationId="",s.prototype.lastOperationAcceptedAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.version&&Object.hasOwnProperty.call(t,"version")&&n.uint32(8).uint32(t.version),null!=t.buffers&&t.buffers.length)for(var s=0;s<t.buffers.length;++s)n.uint32(18).bytes(t.buffers[s]);if(null!=t.types&&t.types.length){for(n.uint32(26).fork(),s=0;s<t.types.length;++s)n.uint32(t.types[s]);n.ldelim()}if(null!=t.metadata&&t.metadata.length)for(s=0;s<t.metadata.length;++s)r.OperationMetadataDescriptor.encode(t.metadata[s],n.uint32(42).fork()).ldelim();return null!=t.lastOperationId&&Object.hasOwnProperty.call(t,"lastOperationId")&&n.uint32(50).string(t.lastOperationId),null!=t.lastOperationAcceptedAt&&Object.hasOwnProperty.call(t,"lastOperationAcceptedAt")&&n.uint32(58).string(t.lastOperationAcceptedAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CollaborativeEditingResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.version=e.uint32();break;case 2:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(e.bytes());break;case 3:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=e.uint32()+e.pos;e.pos<c;)i.types.push(e.uint32());else i.types.push(e.uint32());break;case 5:i.metadata&&i.metadata.length||(i.metadata=[]),i.metadata.push(r.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 6:i.lastOperationId=e.string();break;case 7:i.lastOperationAcceptedAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.version&&t.hasOwnProperty("version")&&!n.isInteger(t.version))return"version: integer expected";if(null!=t.buffers&&t.hasOwnProperty("buffers")){if(!Array.isArray(t.buffers))return"buffers: array expected";for(var e=0;e<t.buffers.length;++e)if(!(t.buffers[e]&&"number"==typeof t.buffers[e].length||n.isString(t.buffers[e])))return"buffers: buffer[] expected"}if(null!=t.types&&t.hasOwnProperty("types")){if(!Array.isArray(t.types))return"types: array expected";for(e=0;e<t.types.length;++e)if(!n.isInteger(t.types[e]))return"types: integer[] expected"}if(null!=t.metadata&&t.hasOwnProperty("metadata")){if(!Array.isArray(t.metadata))return"metadata: array expected";for(e=0;e<t.metadata.length;++e){var s=r.OperationMetadataDescriptor.verify(t.metadata[e]);if(s)return"metadata."+s}}return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&!n.isString(t.lastOperationId)?"lastOperationId: string expected":null!=t.lastOperationAcceptedAt&&t.hasOwnProperty("lastOperationAcceptedAt")&&!n.isString(t.lastOperationAcceptedAt)?"lastOperationAcceptedAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CollaborativeEditingResponse)return t;var e=new r.CollaborativeEditingResponse;if(null!=t.version&&(e.version=t.version>>>0),t.buffers){if(!Array.isArray(t.buffers))throw TypeError(".CollaborativeEditingResponse.buffers: array expected");e.buffers=[];for(var s=0;s<t.buffers.length;++s)"string"==typeof t.buffers[s]?n.base64.decode(t.buffers[s],e.buffers[s]=n.newBuffer(n.base64.length(t.buffers[s])),0):t.buffers[s].length>=0&&(e.buffers[s]=t.buffers[s])}if(t.types){if(!Array.isArray(t.types))throw TypeError(".CollaborativeEditingResponse.types: array expected");for(e.types=[],s=0;s<t.types.length;++s)e.types[s]=t.types[s]>>>0}if(t.metadata){if(!Array.isArray(t.metadata))throw TypeError(".CollaborativeEditingResponse.metadata: array expected");for(e.metadata=[],s=0;s<t.metadata.length;++s){if("object"!=typeof t.metadata[s])throw TypeError(".CollaborativeEditingResponse.metadata: object expected");e.metadata[s]=r.OperationMetadataDescriptor.fromObject(t.metadata[s])}}return null!=t.lastOperationId&&(e.lastOperationId=String(t.lastOperationId)),null!=t.lastOperationAcceptedAt&&(e.lastOperationAcceptedAt=String(t.lastOperationAcceptedAt)),e},s.toObject=function(t,e){e||(e={});var s={};if((e.arrays||e.defaults)&&(s.buffers=[],s.types=[],s.metadata=[]),e.defaults&&(s.version=0,s.lastOperationId="",s.lastOperationAcceptedAt=""),null!=t.version&&t.hasOwnProperty("version")&&(s.version=t.version),t.buffers&&t.buffers.length){s.buffers=[];for(var o=0;o<t.buffers.length;++o)s.buffers[o]=e.bytes===String?n.base64.encode(t.buffers[o],0,t.buffers[o].length):e.bytes===Array?Array.prototype.slice.call(t.buffers[o]):t.buffers[o]}if(t.types&&t.types.length)for(s.types=[],o=0;o<t.types.length;++o)s.types[o]=t.types[o];if(t.metadata&&t.metadata.length)for(s.metadata=[],o=0;o<t.metadata.length;++o)s.metadata[o]=r.OperationMetadataDescriptor.toObject(t.metadata[o],e);return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&(s.lastOperationId=t.lastOperationId),null!=t.lastOperationAcceptedAt&&t.hasOwnProperty("lastOperationAcceptedAt")&&(s.lastOperationAcceptedAt=t.lastOperationAcceptedAt),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingResponse"},s}(),r.CollaborativeEditingConnectResponse=function(){function s(t){if(this.buffers=[],this.types=[],this.metadata=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.channel="",s.prototype.offset=0,s.prototype.version=0,s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.metadata=n.emptyArray,s.prototype.initData="",s.prototype.isInitialized=!1,s.prototype.sessionId="",s.prototype.lastOperationId="",s.prototype.sessionCreatedAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&n.uint32(10).string(t.channel),null!=t.offset&&Object.hasOwnProperty.call(t,"offset")&&n.uint32(16).uint32(t.offset),null!=t.version&&Object.hasOwnProperty.call(t,"version")&&n.uint32(24).uint32(t.version),null!=t.buffers&&t.buffers.length)for(var s=0;s<t.buffers.length;++s)n.uint32(34).bytes(t.buffers[s]);if(null!=t.types&&t.types.length){for(n.uint32(42).fork(),s=0;s<t.types.length;++s)n.uint32(t.types[s]);n.ldelim()}if(null!=t.metadata&&t.metadata.length)for(s=0;s<t.metadata.length;++s)r.OperationMetadataDescriptor.encode(t.metadata[s],n.uint32(58).fork()).ldelim();return null!=t.initData&&Object.hasOwnProperty.call(t,"initData")&&n.uint32(66).string(t.initData),null!=t.isInitialized&&Object.hasOwnProperty.call(t,"isInitialized")&&n.uint32(72).bool(t.isInitialized),null!=t.sessionId&&Object.hasOwnProperty.call(t,"sessionId")&&n.uint32(82).string(t.sessionId),null!=t.lastOperationId&&Object.hasOwnProperty.call(t,"lastOperationId")&&n.uint32(90).string(t.lastOperationId),null!=t.sessionCreatedAt&&Object.hasOwnProperty.call(t,"sessionCreatedAt")&&n.uint32(98).string(t.sessionCreatedAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CollaborativeEditingConnectResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=e.string();break;case 2:i.offset=e.uint32();break;case 3:i.version=e.uint32();break;case 4:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(e.bytes());break;case 5:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=e.uint32()+e.pos;e.pos<c;)i.types.push(e.uint32());else i.types.push(e.uint32());break;case 7:i.metadata&&i.metadata.length||(i.metadata=[]),i.metadata.push(r.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 8:i.initData=e.string();break;case 9:i.isInitialized=e.bool();break;case 10:i.sessionId=e.string();break;case 11:i.lastOperationId=e.string();break;case 12:i.sessionCreatedAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!n.isString(t.channel))return"channel: string expected";if(null!=t.offset&&t.hasOwnProperty("offset")&&!n.isInteger(t.offset))return"offset: integer expected";if(null!=t.version&&t.hasOwnProperty("version")&&!n.isInteger(t.version))return"version: integer expected";if(null!=t.buffers&&t.hasOwnProperty("buffers")){if(!Array.isArray(t.buffers))return"buffers: array expected";for(var e=0;e<t.buffers.length;++e)if(!(t.buffers[e]&&"number"==typeof t.buffers[e].length||n.isString(t.buffers[e])))return"buffers: buffer[] expected"}if(null!=t.types&&t.hasOwnProperty("types")){if(!Array.isArray(t.types))return"types: array expected";for(e=0;e<t.types.length;++e)if(!n.isInteger(t.types[e]))return"types: integer[] expected"}if(null!=t.metadata&&t.hasOwnProperty("metadata")){if(!Array.isArray(t.metadata))return"metadata: array expected";for(e=0;e<t.metadata.length;++e){var s=r.OperationMetadataDescriptor.verify(t.metadata[e]);if(s)return"metadata."+s}}return null!=t.initData&&t.hasOwnProperty("initData")&&!n.isString(t.initData)?"initData: string expected":null!=t.isInitialized&&t.hasOwnProperty("isInitialized")&&"boolean"!=typeof t.isInitialized?"isInitialized: boolean expected":null!=t.sessionId&&t.hasOwnProperty("sessionId")&&!n.isString(t.sessionId)?"sessionId: string expected":null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&!n.isString(t.lastOperationId)?"lastOperationId: string expected":null!=t.sessionCreatedAt&&t.hasOwnProperty("sessionCreatedAt")&&!n.isString(t.sessionCreatedAt)?"sessionCreatedAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CollaborativeEditingConnectResponse)return t;var e=new r.CollaborativeEditingConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),null!=t.offset&&(e.offset=t.offset>>>0),null!=t.version&&(e.version=t.version>>>0),t.buffers){if(!Array.isArray(t.buffers))throw TypeError(".CollaborativeEditingConnectResponse.buffers: array expected");e.buffers=[];for(var s=0;s<t.buffers.length;++s)"string"==typeof t.buffers[s]?n.base64.decode(t.buffers[s],e.buffers[s]=n.newBuffer(n.base64.length(t.buffers[s])),0):t.buffers[s].length>=0&&(e.buffers[s]=t.buffers[s])}if(t.types){if(!Array.isArray(t.types))throw TypeError(".CollaborativeEditingConnectResponse.types: array expected");for(e.types=[],s=0;s<t.types.length;++s)e.types[s]=t.types[s]>>>0}if(t.metadata){if(!Array.isArray(t.metadata))throw TypeError(".CollaborativeEditingConnectResponse.metadata: array expected");for(e.metadata=[],s=0;s<t.metadata.length;++s){if("object"!=typeof t.metadata[s])throw TypeError(".CollaborativeEditingConnectResponse.metadata: object expected");e.metadata[s]=r.OperationMetadataDescriptor.fromObject(t.metadata[s])}}return null!=t.initData&&(e.initData=String(t.initData)),null!=t.isInitialized&&(e.isInitialized=Boolean(t.isInitialized)),null!=t.sessionId&&(e.sessionId=String(t.sessionId)),null!=t.lastOperationId&&(e.lastOperationId=String(t.lastOperationId)),null!=t.sessionCreatedAt&&(e.sessionCreatedAt=String(t.sessionCreatedAt)),e},s.toObject=function(t,e){e||(e={});var s={};if((e.arrays||e.defaults)&&(s.buffers=[],s.types=[],s.metadata=[]),e.defaults&&(s.channel="",s.offset=0,s.version=0,s.initData="",s.isInitialized=!1,s.sessionId="",s.lastOperationId="",s.sessionCreatedAt=""),null!=t.channel&&t.hasOwnProperty("channel")&&(s.channel=t.channel),null!=t.offset&&t.hasOwnProperty("offset")&&(s.offset=t.offset),null!=t.version&&t.hasOwnProperty("version")&&(s.version=t.version),t.buffers&&t.buffers.length){s.buffers=[];for(var o=0;o<t.buffers.length;++o)s.buffers[o]=e.bytes===String?n.base64.encode(t.buffers[o],0,t.buffers[o].length):e.bytes===Array?Array.prototype.slice.call(t.buffers[o]):t.buffers[o]}if(t.types&&t.types.length)for(s.types=[],o=0;o<t.types.length;++o)s.types[o]=t.types[o];if(t.metadata&&t.metadata.length)for(s.metadata=[],o=0;o<t.metadata.length;++o)s.metadata[o]=r.OperationMetadataDescriptor.toObject(t.metadata[o],e);return null!=t.initData&&t.hasOwnProperty("initData")&&(s.initData=t.initData),null!=t.isInitialized&&t.hasOwnProperty("isInitialized")&&(s.isInitialized=t.isInitialized),null!=t.sessionId&&t.hasOwnProperty("sessionId")&&(s.sessionId=t.sessionId),null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&(s.lastOperationId=t.lastOperationId),null!=t.sessionCreatedAt&&t.hasOwnProperty("sessionCreatedAt")&&(s.sessionCreatedAt=t.sessionCreatedAt),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingConnectResponse"},s}(),r.GetDocumentDetailsMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.prototype.environmentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),null!=t.environmentId&&Object.hasOwnProperty.call(t,"environmentId")&&n.uint32(18).string(t.environmentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.GetDocumentDetailsMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=e.string();break;case 2:i.environmentId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.environmentId&&t.hasOwnProperty("environmentId")&&!n.isString(t.environmentId)?"environmentId: string expected":null},s.fromObject=function(t){if(t instanceof r.GetDocumentDetailsMessage)return t;var e=new r.GetDocumentDetailsMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.environmentId&&(e.environmentId=String(t.environmentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId="",n.environmentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.environmentId&&t.hasOwnProperty("environmentId")&&(n.environmentId=t.environmentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetDocumentDetailsMessage"},s}(),r.CollaborativeEditingUpdateMessage=function(){function s(t){if(this.buffers=[],this.types=[],this.metadata=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.baseVersion=0,s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.metadata=n.emptyArray,s.prototype.lastOperationId="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.baseVersion&&Object.hasOwnProperty.call(t,"baseVersion")&&n.uint32(16).uint32(t.baseVersion),null!=t.buffers&&t.buffers.length)for(var s=0;s<t.buffers.length;++s)n.uint32(26).bytes(t.buffers[s]);if(null!=t.types&&t.types.length){for(n.uint32(34).fork(),s=0;s<t.types.length;++s)n.uint32(t.types[s]);n.ldelim()}if(null!=t.metadata&&t.metadata.length)for(s=0;s<t.metadata.length;++s)r.OperationMetadataDescriptor.encode(t.metadata[s],n.uint32(50).fork()).ldelim();return null!=t.lastOperationId&&Object.hasOwnProperty.call(t,"lastOperationId")&&n.uint32(58).string(t.lastOperationId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CollaborativeEditingUpdateMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.baseVersion=e.uint32();break;case 3:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(e.bytes());break;case 4:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=e.uint32()+e.pos;e.pos<c;)i.types.push(e.uint32());else i.types.push(e.uint32());break;case 6:i.metadata&&i.metadata.length||(i.metadata=[]),i.metadata.push(r.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 7:i.lastOperationId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id))return"id: string expected";if(null!=t.baseVersion&&t.hasOwnProperty("baseVersion")&&!n.isInteger(t.baseVersion))return"baseVersion: integer expected";if(null!=t.buffers&&t.hasOwnProperty("buffers")){if(!Array.isArray(t.buffers))return"buffers: array expected";for(var e=0;e<t.buffers.length;++e)if(!(t.buffers[e]&&"number"==typeof t.buffers[e].length||n.isString(t.buffers[e])))return"buffers: buffer[] expected"}if(null!=t.types&&t.hasOwnProperty("types")){if(!Array.isArray(t.types))return"types: array expected";for(e=0;e<t.types.length;++e)if(!n.isInteger(t.types[e]))return"types: integer[] expected"}if(null!=t.metadata&&t.hasOwnProperty("metadata")){if(!Array.isArray(t.metadata))return"metadata: array expected";for(e=0;e<t.metadata.length;++e){var s=r.OperationMetadataDescriptor.verify(t.metadata[e]);if(s)return"metadata."+s}}return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&!n.isString(t.lastOperationId)?"lastOperationId: string expected":null},s.fromObject=function(t){if(t instanceof r.CollaborativeEditingUpdateMessage)return t;var e=new r.CollaborativeEditingUpdateMessage;if(null!=t.id&&(e.id=String(t.id)),null!=t.baseVersion&&(e.baseVersion=t.baseVersion>>>0),t.buffers){if(!Array.isArray(t.buffers))throw TypeError(".CollaborativeEditingUpdateMessage.buffers: array expected");e.buffers=[];for(var s=0;s<t.buffers.length;++s)"string"==typeof t.buffers[s]?n.base64.decode(t.buffers[s],e.buffers[s]=n.newBuffer(n.base64.length(t.buffers[s])),0):t.buffers[s].length>=0&&(e.buffers[s]=t.buffers[s])}if(t.types){if(!Array.isArray(t.types))throw TypeError(".CollaborativeEditingUpdateMessage.types: array expected");for(e.types=[],s=0;s<t.types.length;++s)e.types[s]=t.types[s]>>>0}if(t.metadata){if(!Array.isArray(t.metadata))throw TypeError(".CollaborativeEditingUpdateMessage.metadata: array expected");for(e.metadata=[],s=0;s<t.metadata.length;++s){if("object"!=typeof t.metadata[s])throw TypeError(".CollaborativeEditingUpdateMessage.metadata: object expected");e.metadata[s]=r.OperationMetadataDescriptor.fromObject(t.metadata[s])}}return null!=t.lastOperationId&&(e.lastOperationId=String(t.lastOperationId)),e},s.toObject=function(t,e){e||(e={});var s={};if((e.arrays||e.defaults)&&(s.buffers=[],s.types=[],s.metadata=[]),e.defaults&&(s.id="",s.baseVersion=0,s.lastOperationId=""),null!=t.id&&t.hasOwnProperty("id")&&(s.id=t.id),null!=t.baseVersion&&t.hasOwnProperty("baseVersion")&&(s.baseVersion=t.baseVersion),t.buffers&&t.buffers.length){s.buffers=[];for(var o=0;o<t.buffers.length;++o)s.buffers[o]=e.bytes===String?n.base64.encode(t.buffers[o],0,t.buffers[o].length):e.bytes===Array?Array.prototype.slice.call(t.buffers[o]):t.buffers[o]}if(t.types&&t.types.length)for(s.types=[],o=0;o<t.types.length;++o)s.types[o]=t.types[o];if(t.metadata&&t.metadata.length)for(s.metadata=[],o=0;o<t.metadata.length;++o)s.metadata[o]=r.OperationMetadataDescriptor.toObject(t.metadata[o],e);return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&(s.lastOperationId=t.lastOperationId),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingUpdateMessage"},s}(),r.CollaborativeEditingReconnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.bundleVersion="",s.prototype.lastKnowVersion=0,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.bundleVersion&&Object.hasOwnProperty.call(t,"bundleVersion")&&n.uint32(18).string(t.bundleVersion),null!=t.lastKnowVersion&&Object.hasOwnProperty.call(t,"lastKnowVersion")&&n.uint32(24).uint32(t.lastKnowVersion),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CollaborativeEditingReconnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.bundleVersion=e.string();break;case 3:i.lastKnowVersion=e.uint32();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&!n.isString(t.bundleVersion)?"bundleVersion: string expected":null!=t.lastKnowVersion&&t.hasOwnProperty("lastKnowVersion")&&!n.isInteger(t.lastKnowVersion)?"lastKnowVersion: integer expected":null},s.fromObject=function(t){if(t instanceof r.CollaborativeEditingReconnectMessage)return t;var e=new r.CollaborativeEditingReconnectMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.bundleVersion&&(e.bundleVersion=String(t.bundleVersion)),null!=t.lastKnowVersion&&(e.lastKnowVersion=t.lastKnowVersion>>>0),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.bundleVersion="",n.lastKnowVersion=0),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&(n.bundleVersion=t.bundleVersion),null!=t.lastKnowVersion&&t.hasOwnProperty("lastKnowVersion")&&(n.lastKnowVersion=t.lastKnowVersion),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingReconnectMessage"},s}(),r.CollaborativeEditingConnectMessage=function(){function s(t){if(this.buffers=[],this.types=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.bundleVersion="",s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.lastOperationId="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.bundleVersion&&Object.hasOwnProperty.call(t,"bundleVersion")&&n.uint32(18).string(t.bundleVersion),null!=t.buffers&&t.buffers.length)for(var r=0;r<t.buffers.length;++r)n.uint32(26).bytes(t.buffers[r]);if(null!=t.types&&t.types.length){for(n.uint32(34).fork(),r=0;r<t.types.length;++r)n.uint32(t.types[r]);n.ldelim()}return null!=t.lastOperationId&&Object.hasOwnProperty.call(t,"lastOperationId")&&n.uint32(42).string(t.lastOperationId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CollaborativeEditingConnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.bundleVersion=e.string();break;case 3:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(e.bytes());break;case 4:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=e.uint32()+e.pos;e.pos<c;)i.types.push(e.uint32());else i.types.push(e.uint32());break;case 5:i.lastOperationId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id))return"id: string expected";if(null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&!n.isString(t.bundleVersion))return"bundleVersion: string expected";if(null!=t.buffers&&t.hasOwnProperty("buffers")){if(!Array.isArray(t.buffers))return"buffers: array expected";for(var e=0;e<t.buffers.length;++e)if(!(t.buffers[e]&&"number"==typeof t.buffers[e].length||n.isString(t.buffers[e])))return"buffers: buffer[] expected"}if(null!=t.types&&t.hasOwnProperty("types")){if(!Array.isArray(t.types))return"types: array expected";for(e=0;e<t.types.length;++e)if(!n.isInteger(t.types[e]))return"types: integer[] expected"}return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&!n.isString(t.lastOperationId)?"lastOperationId: string expected":null},s.fromObject=function(t){if(t instanceof r.CollaborativeEditingConnectMessage)return t;var e=new r.CollaborativeEditingConnectMessage;if(null!=t.id&&(e.id=String(t.id)),null!=t.bundleVersion&&(e.bundleVersion=String(t.bundleVersion)),t.buffers){if(!Array.isArray(t.buffers))throw TypeError(".CollaborativeEditingConnectMessage.buffers: array expected");e.buffers=[];for(var s=0;s<t.buffers.length;++s)"string"==typeof t.buffers[s]?n.base64.decode(t.buffers[s],e.buffers[s]=n.newBuffer(n.base64.length(t.buffers[s])),0):t.buffers[s].length>=0&&(e.buffers[s]=t.buffers[s])}if(t.types){if(!Array.isArray(t.types))throw TypeError(".CollaborativeEditingConnectMessage.types: array expected");for(e.types=[],s=0;s<t.types.length;++s)e.types[s]=t.types[s]>>>0}return null!=t.lastOperationId&&(e.lastOperationId=String(t.lastOperationId)),e},s.toObject=function(t,e){e||(e={});var r={};if((e.arrays||e.defaults)&&(r.buffers=[],r.types=[]),e.defaults&&(r.id="",r.bundleVersion="",r.lastOperationId=""),null!=t.id&&t.hasOwnProperty("id")&&(r.id=t.id),null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&(r.bundleVersion=t.bundleVersion),t.buffers&&t.buffers.length){r.buffers=[];for(var s=0;s<t.buffers.length;++s)r.buffers[s]=e.bytes===String?n.base64.encode(t.buffers[s],0,t.buffers[s].length):e.bytes===Array?Array.prototype.slice.call(t.buffers[s]):t.buffers[s]}if(t.types&&t.types.length)for(r.types=[],s=0;s<t.types.length;++s)r.types[s]=t.types[s];return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&(r.lastOperationId=t.lastOperationId),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingConnectMessage"},s}(),r.OperationMetadataDescriptor=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.userId="",s.prototype.type="",s.prototype.createdAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.userId&&Object.hasOwnProperty.call(t,"userId")&&n.uint32(10).string(t.userId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(18).string(t.type),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(26).string(t.createdAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.OperationMetadataDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.userId=e.string();break;case 2:i.type=e.string();break;case 3:i.createdAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.userId&&t.hasOwnProperty("userId")&&!n.isString(t.userId)?"userId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isString(t.type)?"type: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null},s.fromObject=function(t){if(t instanceof r.OperationMetadataDescriptor)return t;var e=new r.OperationMetadataDescriptor;return null!=t.userId&&(e.userId=String(t.userId)),null!=t.type&&(e.type=String(t.type)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.userId="",n.type="",n.createdAt=""),null!=t.userId&&t.hasOwnProperty("userId")&&(n.userId=t.userId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/OperationMetadataDescriptor"},s}(),r})();class p{static decode(t,e){const n=f(e).decode("undefined"==typeof window?t:new Uint8Array(t));return e.fromJSON({...n})}static encode(t){const e=f(t.constructor),n=t.toJSON(),r=e.verify(n);if(r)throw Error(r);return e.encode(e.create(n)).finish()}}function f(t){return h[t.DESCRIPTOR_NAME]}class m extends c{ids;static TYPE="22";static READABLE_TYPE_NAME="getManyUsers";static DESCRIPTOR_NAME="GetManyUsersMessage";static DESCRIPTOR={fields:{ids:{id:1,type:"string",rule:"repeated"}}};constructor(t){super(),this.ids=t}toJSON(){return{ids:this.ids}}static fromJSON(t){return new m(t.ids)}}class g extends c{users;static DESCRIPTOR_NAME="GetManyUsersResponse";static DESCRIPTOR={fields:{users:{rule:"repeated",type:"UserDescriptor",id:1}}};constructor(t){super(),this.users=t}toJSON(){return{users:this.users.map(y)}}static fromJSON(t){return new g(t.users.map(b))}}function y(t){return{attributes:Object.keys(t).map(e=>({key:e,value:JSON.stringify(t[e])}))}}function b(t){return t.attributes.reduce((t,e)=>(t[e.key]=e.value?JSON.parse(e.value):null,t),{})}class O{static _SERVICE=2;constructor(t={}){this._attributes=new Map;for(const e of Object.keys(t))"id"!==e?(this._attributes.set(e,t[e]),Object.defineProperty(this,e,{enumerable:!0,configurable:!1,get:()=>this._attributes.get(e)})):this.id=t.id}static fromData(t){return new O(t)}static async get(t,e){const n=new d(e);try{const e=await t._sendRequest(O._SERVICE,d.TYPE,p.encode(n)),r=p.decode(e,u);return new O(r.attributes)}catch(t){return new O({id:e})}}static async getMany(t,e){const n=new m(e);try{const e=await t._sendRequest(O._SERVICE,m.TYPE,p.encode(n));return p.decode(e,g).users.map(t=>new O(t))}catch(t){return e.map(t=>new O({id:t}))}}}const w=O,v=Object.create(null);v.open="0",v.close="1",v.ping="2",v.pong="3",v.message="4",v.upgrade="5",v.noop="6";const I=Object.create(null);Object.keys(v).forEach(t=>{I[v[t]]=t});const S={type:"error",data:"parser error"},k="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),P="function"==typeof ArrayBuffer,A=t=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer,T=({type:t,data:e},n,r)=>k&&e instanceof Blob?n?r(e):_(e,r):P&&(e instanceof ArrayBuffer||A(e))?n?r(e):_(new Blob([e]),r):r(v[t]+(e||"")),_=(t,e)=>{const n=new FileReader;return n.onload=function(){const t=n.result.split(",")[1];e("b"+(t||""))},n.readAsDataURL(t)};function C(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}let E;const x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let t=0;t<64;t++)j[x.charCodeAt(t)]=t;const D="function"==typeof ArrayBuffer,R=(t,e)=>{if("string"!=typeof t)return{type:"message",data:V(t,e)};const n=t.charAt(0);if("b"===n)return{type:"message",data:N(t.substring(1),e)};return I[n]?t.length>1?{type:I[n],data:t.substring(1)}:{type:I[n]}:S},N=(t,e)=>{if(D){const n=(t=>{let e,n,r,s,o,i=.75*t.length,a=t.length,c=0;"="===t[t.length-1]&&(i--,"="===t[t.length-2]&&i--);const d=new ArrayBuffer(i),u=new Uint8Array(d);for(e=0;e<a;e+=4)n=j[t.charCodeAt(e)],r=j[t.charCodeAt(e+1)],s=j[t.charCodeAt(e+2)],o=j[t.charCodeAt(e+3)],u[c++]=n<<2|r>>4,u[c++]=(15&r)<<4|s>>2,u[c++]=(3&s)<<6|63&o;return d})(t);return V(n,e)}return{base64:!0,data:t}},V=(t,e)=>"blob"===e?t instanceof Blob?t:new Blob([t]):t instanceof ArrayBuffer?t:t.buffer,M=String.fromCharCode(30);function B(){return new TransformStream({transform(t,e){!function(t,e){k&&t.data instanceof Blob?t.data.arrayBuffer().then(C).then(e):P&&(t.data instanceof ArrayBuffer||A(t.data))?e(C(t.data)):T(t,!1,t=>{E||(E=new TextEncoder),e(E.encode(t))})}(t,n=>{const r=n.length;let s;if(r<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,r);else if(r<65536){s=new Uint8Array(3);const t=new DataView(s.buffer);t.setUint8(0,126),t.setUint16(1,r)}else{s=new Uint8Array(9);const t=new DataView(s.buffer);t.setUint8(0,127),t.setBigUint64(1,BigInt(r))}t.data&&"string"!=typeof t.data&&(s[0]|=128),e.enqueue(s),e.enqueue(n)})}})}let U;function J(t){return t.reduce((t,e)=>t+e.length,0)}function q(t,e){if(t[0].length===e)return t.shift();const n=new Uint8Array(e);let r=0;for(let s=0;s<e;s++)n[s]=t[0][r++],r===t[0].length&&(t.shift(),r=0);return t.length&&r<t[0].length&&(t[0]=t[0].slice(r)),n}function L(t){if(t)return function(t){for(var e in L.prototype)t[e]=L.prototype[e];return t}(t)}L.prototype.on=L.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},L.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},L.prototype.off=L.prototype.removeListener=L.prototype.removeAllListeners=L.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+t];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var s=0;s<r.length;s++)if((n=r[s])===e||n.fn===e){r.splice(s,1);break}return 0===r.length&&delete this._callbacks["$"+t],this},L.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),n=this._callbacks["$"+t],r=1;r<arguments.length;r++)e[r-1]=arguments[r];if(n){r=0;for(var s=(n=n.slice(0)).length;r<s;++r)n[r].apply(this,e)}return this},L.prototype.emitReserved=L.prototype.emit,L.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},L.prototype.hasListeners=function(t){return!!this.listeners(t).length};const G="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function H(t,...e){return e.reduce((e,n)=>(t.hasOwnProperty(n)&&(e[n]=t[n]),e),{})}const Y=G.setTimeout,z=G.clearTimeout;function F(t,e){e.useNativeTimers?(t.setTimeoutFn=Y.bind(G),t.clearTimeoutFn=z.bind(G)):(t.setTimeoutFn=G.setTimeout.bind(G),t.clearTimeoutFn=G.clearTimeout.bind(G))}function K(t){return"string"==typeof t?function(t){let e=0,n=0;for(let r=0,s=t.length;r<s;r++)e=t.charCodeAt(r),e<128?n+=1:e<2048?n+=2:e<55296||e>=57344?n+=3:(r++,n+=4);return n}(t):Math.ceil(1.33*(t.byteLength||t.size))}class W extends Error{constructor(t,e,n){super(t),this.description=e,this.context=n,this.type="TransportError"}}class Z extends L{constructor(t){super(),this.writable=!1,F(this,t),this.opts=t,this.query=t.query,this.socket=t.socket}onError(t,e,n){return super.emitReserved("error",new W(t,e,n)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(t){"open"===this.readyState&&this.write(t)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(t){const e=R(t,this.socket.binaryType);this.onPacket(e)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}pause(t){}createUri(t,e={}){return t+"://"+this._hostname()+this._port()+this.opts.path+this._query(e)}_hostname(){const t=this.opts.hostname;return-1===t.indexOf(":")?t:"["+t+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(t){const e=function(t){let e="";for(let n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e}(t);return e.length?"?"+e:""}}const X="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Q={};let $,tt=0,et=0;function nt(t){let e="";do{e=X[t%64]+e,t=Math.floor(t/64)}while(t>0);return e}function rt(){const t=nt(+new Date);return t!==$?(tt=0,$=t):t+"."+nt(tt++)}for(;et<64;et++)Q[X[et]]=et;let st=!1;try{st="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(t){}const ot=st;function it(t){const e=t.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!e||ot))return new XMLHttpRequest}catch(t){}if(!e)try{return new(G[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(t){}}function at(){}const ct=null!=new it({xdomain:!1}).responseType;class dt extends L{constructor(t,e){super(),F(this,e),this.opts=e,this.method=e.method||"GET",this.uri=t,this.data=void 0!==e.data?e.data:null,this.create()}create(){var t;const e=H(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd;const n=this.xhr=new it(e);try{n.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let t in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(t)&&n.setRequestHeader(t,this.opts.extraHeaders[t])}}catch(t){}if("POST"===this.method)try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{n.setRequestHeader("Accept","*/*")}catch(t){}null===(t=this.opts.cookieJar)||void 0===t||t.addCookies(n),"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=()=>{var t;3===n.readyState&&(null===(t=this.opts.cookieJar)||void 0===t||t.parseCookies(n)),4===n.readyState&&(200===n.status||1223===n.status?this.onLoad():this.setTimeoutFn(()=>{this.onError("number"==typeof n.status?n.status:0)},0))},n.send(this.data)}catch(t){return void this.setTimeoutFn(()=>{this.onError(t)},0)}"undefined"!=typeof document&&(this.index=dt.requestsCount++,dt.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=at,t)try{this.xhr.abort()}catch(t){}"undefined"!=typeof document&&delete dt.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(dt.requestsCount=0,dt.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",ut);else if("function"==typeof addEventListener){addEventListener("onpagehide"in G?"pagehide":"unload",ut,!1)}function ut(){for(let t in dt.requests)dt.requests.hasOwnProperty(t)&&dt.requests[t].abort()}const lt="function"==typeof Promise&&"function"==typeof Promise.resolve?t=>Promise.resolve().then(t):(t,e)=>e(t,0),ht=G.WebSocket||G.MozWebSocket,pt="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();const ft={websocket:class extends Z{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),e=this.opts.protocols,n=pt?{}:H(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=pt?new ht(t,e,n):e?new ht(t,e):new ht(t)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let e=0;e<t.length;e++){const n=t[e],r=e===t.length-1;T(n,this.supportsBinary,t=>{try{this.ws.send(t)}catch(t){}r&&lt(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",e=this.query||{};return this.opts.timestampRequests&&(e[this.opts.timestampParam]=rt()),this.supportsBinary||(e.b64=1),this.createUri(t,e)}check(){return!!ht}},webtransport:class extends Z{get name(){return"webtransport"}doOpen(){"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{const e=function(t,e){U||(U=new TextDecoder);const n=[];let r=0,s=-1,o=!1;return new TransformStream({transform(i,a){for(n.push(i);;){if(0===r){if(J(n)<1)break;const t=q(n,1);o=!(128&~t[0]),s=127&t[0],r=s<126?3:126===s?1:2}else if(1===r){if(J(n)<2)break;const t=q(n,2);s=new DataView(t.buffer,t.byteOffset,t.length).getUint16(0),r=3}else if(2===r){if(J(n)<8)break;const t=q(n,8),e=new DataView(t.buffer,t.byteOffset,t.length),o=e.getUint32(0);if(o>Math.pow(2,21)-1){a.enqueue(S);break}s=o*Math.pow(2,32)+e.getUint32(4),r=3}else{if(J(n)<s)break;const t=q(n,s);a.enqueue(R(o?t:U.decode(t),e)),r=0}if(0===s||s>t){a.enqueue(S);break}}}})}(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=t.readable.pipeThrough(e).getReader(),r=B();r.readable.pipeTo(t.writable),this.writer=r.writable.getWriter();const s=()=>{n.read().then(({done:t,value:e})=>{t||(this.onPacket(e),s())}).catch(t=>{})};s();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this.writer.write(o).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let e=0;e<t.length;e++){const n=t[e],r=e===t.length-1;this.writer.write(n).then(()=>{r&&lt(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var t;null===(t=this.transport)||void 0===t||t.close()}},polling:class extends Z{constructor(t){if(super(t),this.polling=!1,"undefined"!=typeof location){const e="https:"===location.protocol;let n=location.port;n||(n=e?"443":"80"),this.xd="undefined"!=typeof location&&t.hostname!==location.hostname||n!==t.port}const e=t&&t.forceBase64;this.supportsBinary=ct&&!e,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(t){this.readyState="pausing";const e=()=>{this.readyState="paused",t()};if(this.polling||!this.writable){let t=0;this.polling&&(t++,this.once("pollComplete",function(){--t||e()})),this.writable||(t++,this.once("drain",function(){--t||e()}))}else e()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){((t,e)=>{const n=t.split(M),r=[];for(let t=0;t<n.length;t++){const s=R(n[t],e);if(r.push(s),"error"===s.type)break}return r})(t,this.socket.binaryType).forEach(t=>{if("opening"===this.readyState&&"open"===t.type&&this.onOpen(),"close"===t.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(t)}),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};"open"===this.readyState?t():this.once("open",t)}write(t){this.writable=!1,((t,e)=>{const n=t.length,r=new Array(n);let s=0;t.forEach((t,o)=>{T(t,!1,t=>{r[o]=t,++s===n&&e(r.join(M))})})})(t,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",e=this.query||{};return!1!==this.opts.timestampRequests&&(e[this.opts.timestampParam]=rt()),this.supportsBinary||e.sid||(e.b64=1),this.createUri(t,e)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new dt(this.uri(),t)}doWrite(t,e){const n=this.request({method:"POST",data:t});n.on("success",e),n.on("error",(t,e)=>{this.onError("xhr post error",t,e)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(t,e)=>{this.onError("xhr poll error",t,e)}),this.pollXhr=t}}},mt=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,gt=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function yt(t){if(t.length>2e3)throw"URI too long";const e=t,n=t.indexOf("["),r=t.indexOf("]");-1!=n&&-1!=r&&(t=t.substring(0,n)+t.substring(n,r).replace(/:/g,";")+t.substring(r,t.length));let s=mt.exec(t||""),o={},i=14;for(;i--;)o[gt[i]]=s[i]||"";return-1!=n&&-1!=r&&(o.source=e,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=function(t,e){const n=/\/{2,9}/g,r=e.replace(n,"/").split("/");"/"!=e.slice(0,1)&&0!==e.length||r.splice(0,1);"/"==e.slice(-1)&&r.splice(r.length-1,1);return r}(0,o.path),o.queryKey=function(t,e){const n={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(t,e,r){e&&(n[e]=r)}),n}(0,o.query),o}class bt extends L{constructor(t,e={}){super(),this.binaryType="arraybuffer",this.writeBuffer=[],t&&"object"==typeof t&&(e=t,t=null),t?(t=yt(t),e.hostname=t.host,e.secure="https"===t.protocol||"wss"===t.protocol,e.port=t.port,t.query&&(e.query=t.query)):e.host&&(e.hostname=yt(e.host).host),F(this,e),this.secure=null!=e.secure?e.secure:"undefined"!=typeof location&&"https:"===location.protocol,e.hostname&&!e.port&&(e.port=this.secure?"443":"80"),this.hostname=e.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=e.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=e.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},e),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=function(t){let e={},n=t.split("&");for(let t=0,r=n.length;t<r;t++){let r=n[t].split("=");e[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return e}(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"==typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const e=Object.assign({},this.opts.query);e.EIO=4,e.transport=t,this.id&&(e.sid=this.id);const n=Object.assign({},this.opts,{query:e,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new ft[t](n)}open(){let t;if(this.opts.rememberUpgrade&&bt.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",t=>this.onClose("transport close",t))}probe(t){let e=this.createTransport(t),n=!1;bt.priorWebsocketSuccess=!1;const r=()=>{n||(e.send([{type:"ping",data:"probe"}]),e.once("packet",t=>{if(!n)if("pong"===t.type&&"probe"===t.data){if(this.upgrading=!0,this.emitReserved("upgrading",e),!e)return;bt.priorWebsocketSuccess="websocket"===e.name,this.transport.pause(()=>{n||"closed"!==this.readyState&&(d(),this.setTransport(e),e.send([{type:"upgrade"}]),this.emitReserved("upgrade",e),e=null,this.upgrading=!1,this.flush())})}else{const t=new Error("probe error");t.transport=e.name,this.emitReserved("upgradeError",t)}}))};function s(){n||(n=!0,d(),e.close(),e=null)}const o=t=>{const n=new Error("probe error: "+t);n.transport=e.name,s(),this.emitReserved("upgradeError",n)};function i(){o("transport closed")}function a(){o("socket closed")}function c(t){e&&t.name!==e.name&&s()}const d=()=>{e.removeListener("open",r),e.removeListener("error",o),e.removeListener("close",i),this.off("close",a),this.off("upgrading",c)};e.once("open",r),e.once("error",o),e.once("close",i),this.once("close",a),this.once("upgrading",c),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==t?this.setTimeoutFn(()=>{n||e.open()},200):e.open()}onOpen(){if(this.readyState="open",bt.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let t=0;const e=this.upgrades.length;for(;t<e;t++)this.probe(this.upgrades[t])}}onPacket(t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),this.resetPingTimeout(),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const e=new Error("server error");e.code=t.data,this.onError(e);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data)}}onHandshake(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this.upgrades=this.filterUpgrades(t.upgrades),this.pingInterval=t.pingInterval,this.pingTimeout=t.pingTimeout,this.maxPayload=t.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn(()=>{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let e=0;e<this.writeBuffer.length;e++){const n=this.writeBuffer[e].data;if(n&&(t+=K(n)),e>0&&t>this.maxPayload)return this.writeBuffer.slice(0,e);t+=2}return this.writeBuffer}write(t,e,n){return this.sendPacket("message",t,e,n),this}send(t,e,n){return this.sendPacket("message",t,e,n),this}sendPacket(t,e,n,r){if("function"==typeof e&&(r=e,e=void 0),"function"==typeof n&&(r=n,n=null),"closing"===this.readyState||"closed"===this.readyState)return;(n=n||{}).compress=!1!==n.compress;const s={type:t,data:e,options:n};this.emitReserved("packetCreate",s),this.writeBuffer.push(s),r&&this.once("flush",r),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},e=()=>{this.off("upgrade",e),this.off("upgradeError",e),t()},n=()=>{this.once("upgrade",e),this.once("upgradeError",e)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?n():t()}):this.upgrading?n():t()),this}onError(t){bt.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,e),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const e=[];let n=0;const r=t.length;for(;n<r;n++)~this.transports.indexOf(t[n])&&e.push(t[n]);return e}}bt.protocol=4;bt.protocol;const Ot="function"==typeof ArrayBuffer,wt=Object.prototype.toString,vt="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===wt.call(Blob),It="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===wt.call(File);function St(t){return Ot&&(t instanceof ArrayBuffer||(t=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer)(t))||vt&&t instanceof Blob||It&&t instanceof File}function kt(t,e){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(let e=0,n=t.length;e<n;e++)if(kt(t[e]))return!0;return!1}if(St(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return kt(t.toJSON(),!0);for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&kt(t[e]))return!0;return!1}function Pt(t){const e=[],n=t.data,r=t;return r.data=At(n,e),r.attachments=e.length,{packet:r,buffers:e}}function At(t,e){if(!t)return t;if(St(t)){const n={_placeholder:!0,num:e.length};return e.push(t),n}if(Array.isArray(t)){const n=new Array(t.length);for(let r=0;r<t.length;r++)n[r]=At(t[r],e);return n}if("object"==typeof t&&!(t instanceof Date)){const n={};for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=At(t[r],e));return n}return t}function Tt(t,e){return t.data=_t(t.data,e),delete t.attachments,t}function _t(t,e){if(!t)return t;if(t&&!0===t._placeholder){if("number"==typeof t.num&&t.num>=0&&t.num<e.length)return e[t.num];throw new Error("illegal attachments")}if(Array.isArray(t))for(let n=0;n<t.length;n++)t[n]=_t(t[n],e);else if("object"==typeof t)for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(t[n]=_t(t[n],e));return t}const Ct=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],Et=5;var xt;!function(t){t[t.CONNECT=0]="CONNECT",t[t.DISCONNECT=1]="DISCONNECT",t[t.EVENT=2]="EVENT",t[t.ACK=3]="ACK",t[t.CONNECT_ERROR=4]="CONNECT_ERROR",t[t.BINARY_EVENT=5]="BINARY_EVENT",t[t.BINARY_ACK=6]="BINARY_ACK"}(xt||(xt={}));class jt{constructor(t){this.replacer=t}encode(t){return t.type!==xt.EVENT&&t.type!==xt.ACK||!kt(t)?[this.encodeAsString(t)]:this.encodeAsBinary({type:t.type===xt.EVENT?xt.BINARY_EVENT:xt.BINARY_ACK,nsp:t.nsp,data:t.data,id:t.id})}encodeAsString(t){let e=""+t.type;return t.type!==xt.BINARY_EVENT&&t.type!==xt.BINARY_ACK||(e+=t.attachments+"-"),t.nsp&&"/"!==t.nsp&&(e+=t.nsp+","),null!=t.id&&(e+=t.id),null!=t.data&&(e+=JSON.stringify(t.data,this.replacer)),e}encodeAsBinary(t){const e=Pt(t),n=this.encodeAsString(e.packet),r=e.buffers;return r.unshift(n),r}}class Dt extends L{constructor(t){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},"function"==typeof t?{reviver:t}:t)}add(t){let e;if("string"==typeof t){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");e=this.decodeString(t);const n=e.type===xt.BINARY_EVENT;n||e.type===xt.BINARY_ACK?(e.type=n?xt.EVENT:xt.ACK,this.reconstructor=new Rt(e),0===e.attachments&&super.emitReserved("decoded",e)):super.emitReserved("decoded",e)}else{if(!St(t)&&!t.base64)throw new Error("Unknown type: "+t);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");e=this.reconstructor.takeBinaryData(t),e&&(this.reconstructor=null,super.emitReserved("decoded",e))}}decodeString(t){let e=0;const n={type:Number(t.charAt(0))};if(void 0===xt[n.type])throw new Error("unknown packet type "+n.type);if(n.type===xt.BINARY_EVENT||n.type===xt.BINARY_ACK){const r=e+1;for(;"-"!==t.charAt(++e)&&e!=t.length;);const s=t.substring(r,e);if(s!=Number(s)||"-"!==t.charAt(e))throw new Error("Illegal attachments");const o=Number(s);if(!Nt(o)||o<0)throw new Error("Illegal attachments");if(o>this.opts.maxAttachments)throw new Error("too many attachments");n.attachments=o}if("/"===t.charAt(e+1)){const r=e+1;for(;++e;){if(","===t.charAt(e))break;if(e===t.length)break}n.nsp=t.substring(r,e)}else n.nsp="/";const r=t.charAt(e+1);if(""!==r&&Number(r)==r){const r=e+1;for(;++e;){const n=t.charAt(e);if(null==n||Number(n)!=n){--e;break}if(e===t.length)break}n.id=Number(t.substring(r,e+1))}if(t.charAt(++e)){const r=this.tryParse(t.substr(e));if(!Dt.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return n}tryParse(t){try{return JSON.parse(t,this.opts.reviver)}catch(t){return!1}}static isPayloadValid(t,e){switch(t){case xt.CONNECT:return Vt(e);case xt.DISCONNECT:return void 0===e;case xt.CONNECT_ERROR:return"string"==typeof e||Vt(e);case xt.EVENT:case xt.BINARY_EVENT:return Array.isArray(e)&&("number"==typeof e[0]||"string"==typeof e[0]&&-1===Ct.indexOf(e[0]));case xt.ACK:case xt.BINARY_ACK:return Array.isArray(e)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class Rt{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){const t=Tt(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const Nt=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t};function Vt(t){return"[object Object]"===Object.prototype.toString.call(t)}function Mt(t){return"string"==typeof t.nsp&&(void 0===(e=t.id)||Nt(e))&&function(t,e){switch(t){case xt.CONNECT:return void 0===e||Vt(e);case xt.DISCONNECT:return void 0===e;case xt.EVENT:return Array.isArray(e)&&("number"==typeof e[0]||"string"==typeof e[0]&&-1===Ct.indexOf(e[0]));case xt.ACK:return Array.isArray(e);case xt.CONNECT_ERROR:return"string"==typeof e||Vt(e);default:return!1}}(t.type,t.data);var e}function Bt(t,e,n){return t.on(e,n),function(){t.off(e,n)}}const Ut=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Jt extends L{constructor(t,e,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=e,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[Bt(t,"open",this.onopen.bind(this)),Bt(t,"packet",this.onpacket.bind(this)),Bt(t,"error",this.onerror.bind(this)),Bt(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(t,...e){if(Ut.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');if(e.unshift(t),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(e),this;const n={type:xt.EVENT,data:e,options:{}};if(n.options.compress=!1!==this.flags.compress,"function"==typeof e[e.length-1]){const t=this.ids++,r=e.pop();this._registerAckCallback(t,r),n.id=t}const r=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!r||!this.connected)||(this.connected?(this.notifyOutgoingListeners(n),this.packet(n)):this.sendBuffer.push(n)),this.flags={},this}_registerAckCallback(t,e){var n;const r=null!==(n=this.flags.timeout)&&void 0!==n?n:this._opts.ackTimeout;if(void 0===r)return void(this.acks[t]=e);const s=this.io.setTimeoutFn(()=>{delete this.acks[t];for(let e=0;e<this.sendBuffer.length;e++)this.sendBuffer[e].id===t&&this.sendBuffer.splice(e,1);e.call(this,new Error("operation has timed out"))},r);this.acks[t]=(...t)=>{this.io.clearTimeoutFn(s),e.apply(this,[null,...t])}}emitWithAck(t,...e){const n=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise((r,s)=>{e.push((t,e)=>n?t?s(t):r(e):r(t)),this.emit(t,...e)})}_addToQueue(t){let e;"function"==typeof t[t.length-1]&&(e=t.pop());const n={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((t,...r)=>{if(n!==this._queue[0])return;return null!==t?n.tryCount>this._opts.retries&&(this._queue.shift(),e&&e(t)):(this._queue.shift(),e&&e(null,...r)),n.pending=!1,this._drainQueue()}),this._queue.push(n),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||0===this._queue.length)return;const e=this._queue[0];e.pending&&!t||(e.pending=!0,e.tryCount++,this.flags=e.flags,this.emit.apply(this,e.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){"function"==typeof this.auth?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:xt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,e){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,e)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case xt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case xt.EVENT:case xt.BINARY_EVENT:this.onevent(t);break;case xt.ACK:case xt.BINARY_ACK:this.onack(t);break;case xt.DISCONNECT:this.ondisconnect();break;case xt.CONNECT_ERROR:this.destroy();const e=new Error(t.data.message);e.data=t.data.data,this.emitReserved("connect_error",e)}}onevent(t){const e=t.data||[];null!=t.id&&e.push(this.ack(t.id)),this.connected?this.emitEvent(e):this.receiveBuffer.push(Object.freeze(e))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e=this._anyListeners.slice();for(const n of e)n.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&"string"==typeof t[t.length-1]&&(this._lastOffset=t[t.length-1])}ack(t){const e=this;let n=!1;return function(...r){n||(n=!0,e.packet({type:xt.ACK,id:t,data:r}))}}onack(t){const e=this.acks[t.id];"function"==typeof e&&(e.apply(this,t.data),delete this.acks[t.id])}onconnect(t,e){this.id=t,this.recovered=e&&this._pid===e,this._pid=e,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:xt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyListeners;for(let n=0;n<e.length;n++)if(t===e[n])return e.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(t),this}prependAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(t),this}offAnyOutgoing(t){if(!this._anyOutgoingListeners)return this;if(t){const e=this._anyOutgoingListeners;for(let n=0;n<e.length;n++)if(t===e[n])return e.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(t){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const e=this._anyOutgoingListeners.slice();for(const n of e)n.apply(this,t.data)}}}function qt(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor=t.factor||2,this.jitter=t.jitter>0&&t.jitter<=1?t.jitter:0,this.attempts=0}qt.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=1&Math.floor(10*e)?t+n:t-n}return 0|Math.min(t,this.max)},qt.prototype.reset=function(){this.attempts=0},qt.prototype.setMin=function(t){this.ms=t},qt.prototype.setMax=function(t){this.max=t},qt.prototype.setJitter=function(t){this.jitter=t};class Lt extends L{constructor(e,n){var r;super(),this.nsps={},this.subs=[],e&&"object"==typeof e&&(n=e,e=void 0),(n=n||{}).path=n.path||"/socket.io",this.opts=n,F(this,n),this.reconnection(!1!==n.reconnection),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(r=n.randomizationFactor)&&void 0!==r?r:.5),this.backoff=new qt({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==n.timeout?2e4:n.timeout),this._readyState="closed",this.uri=e;const s=n.parser||t;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=!1!==n.autoConnect,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return void 0===t?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var e;return void 0===t?this._reconnectionDelay:(this._reconnectionDelay=t,null===(e=this.backoff)||void 0===e||e.setMin(t),this)}randomizationFactor(t){var e;return void 0===t?this._randomizationFactor:(this._randomizationFactor=t,null===(e=this.backoff)||void 0===e||e.setJitter(t),this)}reconnectionDelayMax(t){var e;return void 0===t?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,null===(e=this.backoff)||void 0===e||e.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new bt(this.uri,this.opts);const e=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const r=Bt(e,"open",function(){n.onopen(),t&&t()}),s=e=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",e),t?t(e):this.maybeReconnectOnOpen()},o=Bt(e,"error",s);if(!1!==this._timeout){const t=this._timeout,n=this.setTimeoutFn(()=>{r(),s(new Error("timeout")),e.close()},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}return this.subs.push(r),this.subs.push(o),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Bt(t,"ping",this.onping.bind(this)),Bt(t,"data",this.ondata.bind(this)),Bt(t,"error",this.onerror.bind(this)),Bt(t,"close",this.onclose.bind(this)),Bt(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(t){this.onclose("parse error",t)}}ondecoded(t){lt(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,e){let n=this.nsps[t];return n?this._autoConnect&&!n.active&&n.connect():(n=new Jt(this,t,e),this.nsps[t]=n),n}_destroy(t){const e=Object.keys(this.nsps);for(const t of e){if(this.nsps[t].active)return}this._close()}_packet(t){const e=this.encoder.encode(t);for(let n=0;n<e.length;n++)this.engine.write(e[n],t.options)}cleanup(){this.subs.forEach(t=>t()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,e){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,e),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const e=this.backoff.duration();this._reconnecting=!0;const n=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),t.skipReconnect||t.open(e=>{e?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",e)):t.onreconnect()}))},e);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const Gt={};function Ht(t,e){"object"==typeof t&&(e=t,t=void 0);const n=function(t,e="",n){let r=t;n=n||"undefined"!=typeof location&&location,null==t&&(t=n.protocol+"//"+n.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?n.protocol+t:n.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==n?n.protocol+"//"+t:"https://"+t),r=yt(t)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";const s=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+s+":"+r.port+e,r.href=r.protocol+"://"+s+(n&&n.port===r.port?"":":"+r.port),r}(t,(e=e||{}).path||"/socket.io"),r=n.source,s=n.id,o=n.path,i=Gt[s]&&o in Gt[s].nsps;let a;return e.forceNew||e["force new connection"]||!1===e.multiplex||i?a=new Lt(r,e):(Gt[s]||(Gt[s]=new Lt(r,e)),a=Gt[s]),n.query&&!e.query&&(e.query=n.queryKey),a.socket(n.path,e)}Object.assign(Ht,{Manager:Lt,Socket:Jt,io:Ht,connect:Ht});var Yt=n(337);class zt extends c{type;socketId;data;static DESCRIPTOR_NAME="ChannelMessage";static DESCRIPTOR={fields:{type:{type:"uint32",id:1},socketId:{type:"string",id:2},data:{type:"bytes",id:3}}};constructor(t,e,n){super(),this.type=t,this.socketId=e,this.data=n}toJSON(){return{type:this.type,socketId:this.socketId,data:this.data}}static fromJSON(t){return new zt(t.type,t.socketId,t.data)}}class Ft extends((0,s.EmitterMixin)()){_channelName;_wsGateway;_socket;constructor(t,e,n){super(),this._channelName=t,this._wsGateway=e,this._socket=n,this._subscribeToChannel()}remove(){this._socket.off(this._channelName)}getEventName(t,e=!1){let n="";return e&&(n+="all:"),n+="event",t&&(n+=":"+t),n}_subscribeToChannel(){this._socket.on(this._channelName,t=>{const e=p.decode(t,zt);this.fire(this.getEventName(e.type,!0),e.data,e.socketId),e.socketId!==this._wsGateway.socketId&&this.fire(this.getEventName(e.type),e.data,e.socketId)})}}class Kt extends Error{context;code;data;constructor(t,e,n=null,r={}){super("cloud-services-internal-error: "+t),this.context=e,this.code=n,this.data=r,this.name="CKEditorError"}static fromPublicError(t){return new Kt(function(t){let e="cloud-services-error: "+t.message;return t.data&&(e+="\nError data: "+JSON.stringify(t.data)),t.explanation&&(e+="\nExplanation: "+t.explanation),t.action&&(e+="\nAction: "+t.action),t.traceId&&(e+="\nTraceId: "+t.traceId),t.code&&(e+="\nCode: "+t.code),e}(t),t)}}class Wt extends Error{code;traceId;data;constructor(t,e){super(),this.name="CKEditorCloudServicesServerError",this.stack=void 0,this.message=t,this.code=e.code,this.traceId=e.traceId,this.data=e.data}static fromPublicError(t){return new Wt(function(t){let e="cloud-services-server-error: "+t.message;return t.explanation&&(e+="\nExplanation: "+t.explanation),t.action&&(e+="\nAction: "+t.action),t.traceId&&(e+="\nTraceId: "+t.traceId),t.code&&(e+="\nCode: "+t.code),e}(t),t)}}class Zt extends c{flags;rooms;except;static TYPE=11;static DESCRIPTOR_NAME="PacketOptionsMessage";static DESCRIPTOR={fields:{flags:{type:"string",id:1},rooms:{type:"string",id:2,rule:"repeated"},except:{type:"string",id:3,rule:"repeated"}}};constructor(t,e=[],n=[]){super(),this.flags=t,this.rooms=e,this.except=n}toJSON(){return{flags:this.flags?JSON.stringify(this.flags):void 0,rooms:this.rooms?.length?this.rooms:void 0,except:this.except?.length?this.except:void 0}}static fromJSON(t){return new Zt(t.flags&&JSON.parse(t.flags),t.rooms,t.except)}}const Xt=(()=>!("undefined"==typeof process||!process.versions?.node))(),Qt=1,$t=2,te=3,ee=4;class ne{static getPacketType(...t){let e=0;for(let n=0;n<t.length;n++)e+=t[n]*Math.pow(10,t.length-n-1);return e}static getType(t){if(ne.isBuffer(t))return Qt;const e=typeof t;return"string"===e?$t:"number"===e?te:ee}static isBuffer(t){return Xt&&Buffer.isBuffer(t)||t instanceof ArrayBuffer||t instanceof Uint8Array||this._isBufferView(t)}static _isBufferView(t){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer}}class re extends c{data;data1;static create(t,e){throw new TypeError("Must be implemented in a child class!")}}class se extends re{data;data1;static TYPE=(()=>ne.getPacketType(te,Qt))();static DESCRIPTOR_NAME="NumberBytesPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"bytes",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new se(t.data,t.data1)}static create(t,e){return new se(t,e)}}class oe extends re{data;data1;static TYPE=(()=>ne.getPacketType($t,Qt))();static DESCRIPTOR_NAME="StringBytesPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new oe(t.data,t.data1)}static create(t,e){return new oe(t,e)}}class ie extends re{data;data1;static TYPE=(()=>ne.getPacketType(Qt,Qt))();static DESCRIPTOR_NAME="BytesBytesPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"bytes",id:1},data1:{type:"bytes",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new ie(t.data,t.data1)}static create(t,e){return new ie(t,e)}}class ae extends re{data;data1;static TYPE=(()=>ne.getPacketType($t,ee))();static DESCRIPTOR_NAME="StringObjectPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(t){return new ae(t.data,t.data1&&JSON.parse(t.data1))}static create(t,e){return new ae(t,e)}}class ce extends re{data;data1;static TYPE=(()=>ne.getPacketType(te,ee))();static DESCRIPTOR_NAME="NumberObjectPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(t){return new ce(t.data,t.data1&&JSON.parse(t.data1))}static create(t,e){return new ce(t,e)}}class de extends re{data;data1;static TYPE=(()=>ne.getPacketType(ee,ee))();static DESCRIPTOR_NAME="ObjectObjectPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(t){return new de(t.data&&JSON.parse(t.data),t.data1&&JSON.parse(t.data1))}static create(t,e){return new de(t,e)}}class ue extends re{data;data1;static TYPE=(()=>ne.getPacketType(ee,Qt))();static DESCRIPTOR_NAME="ObjectBufferPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1}}static fromJSON(t){return new ue(t.data&&JSON.parse(t.data),t.data1)}static create(t,e){return new ue(t,e)}}class le extends re{data;data1;static TYPE=(()=>ne.getPacketType($t,$t))();static DESCRIPTOR_NAME="StringStringPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new le(t.data,t.data1)}static create(t,e){return new le(t,e)}}class he extends re{data;data1;static TYPE=(()=>ne.getPacketType($t,te))();static DESCRIPTOR_NAME="StringNumberPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"uint32",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new he(t.data,t.data1)}static create(t,e){return new he(t,e)}}class pe extends re{data;data1;static TYPE=(()=>ne.getPacketType(te,te))();static DESCRIPTOR_NAME="NumberNumberPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"uint32",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new pe(t.data,t.data1)}static create(t,e){return new pe(t,e)}}class fe extends re{data;data1;static TYPE=(()=>ne.getPacketType(te,$t))();static DESCRIPTOR_NAME="NumberStringPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new fe(t.data,t.data1)}static create(t,e){return new fe(t,e)}}const me=(()=>[se,oe,ie,ae,ce,de,ue,le,he,pe,fe].reduce((t,e)=>(t[e.TYPE]=e,t),{}))();class ge extends c{type;data;id;nsp;options;static TYPE=10;static DESCRIPTOR_NAME="PacketMessage";static DESCRIPTOR={fields:{type:{type:"uint32",id:1},id:{type:"uint32",id:2},nsp:{type:"string",id:3},data:{type:"bytes",id:4},options:{type:"bytes",id:5}}};constructor(t,e,n,r="/",s){super(),this.type=t,this.data=e,this.id=n,this.nsp=r,this.options=s??new Zt}get packetData(){return void 0===this.data.data&&void 0===this.data.data1?[]:this.data.data&&void 0===this.data.data1?[this.data.data]:[this.data.data,this.data.data1]}toJSON(){const t=p.encode(this.options),e=p.encode(this.data);return{type:this.type+10*this.data.constructor.TYPE,id:this.id,nsp:"/"===this.nsp?void 0:this.nsp,data:e,options:t}}static fromJSON(t){const e=Math.floor(t.type/10);return new ge(t.type-10*e,p.decode(t.data,me[e]),t.id,t.nsp,t.options?p.decode(t.options,Zt):new Zt)}static create(t,e={}){const n=ne.getPacketType(ne.getType(t.data[0]),ne.getType(t.data[1]??t.data[0]));return new ge(t.type,me[n].create(t.data[0],t.data[1]),t.id,t.nsp,new Zt(e.flags,e.rooms,e.except))}}class ye{encode(t,e,n,r="/",s={}){if(e.length>2)throw new Error("PacketParser supports only 2 elements in data");const o={type:t,data:e,id:n,nsp:r};return p.encode(ge.create(o,s))}decode(t){const e=p.decode(t,ge);return{packet:{id:e.id,type:e.type,data:e.packetData,nsp:e.nsp},options:{flags:e.options.flags,rooms:e.options.rooms,except:e.options.except}}}}const be=(()=>[xt.EVENT,xt.ACK,xt.BINARY_ACK,xt.BINARY_EVENT])();class Oe extends jt{_packetParser;constructor(t){super(),this._packetParser=t??new ye}encode(t){if(be.includes(t.type))try{return[this._packetParser.encode(t.type,t.data,t.id,t.nsp)]}catch(t){console.error("Can not properly serialize or deserialize messages. Check the original error.",{originalError:{message:t.message}})}return super.encode(t)}}class we extends Dt{_packetParser;constructor(t){super(),this._packetParser=t??new ye}add(t){if(!ne.isBuffer(t))return super.add(t);let e;try{e=this._packetParser.decode(t).packet}catch(e){return super.add(t)}super.emitReserved("decoded",e)}}class ve{_context;_deferredPromise=function(){let t,e;const n=new Promise((n,r)=>{t=n,e=r});return{resolve:t,reject:e,promise:n}}();timeout;constructor(t,e){this._context=t,this.timeout=setTimeout(()=>this.error(new Kt("Request timeout.",this._context)),e)}get promise(){return this._deferredPromise.promise}response(t){this._deferredPromise.resolve(t)}error(t){this._deferredPromise.reject(t)}}class Ie{_context;_requests=new Set;constructor(t){this._context=t}async send(t,e=45e3){const n=this._createRequest(e);try{return t(n),await n.promise}finally{this._finishRequest(n)}}errorAll(t){for(const e of this._requests)e.error(t)}waitForAllRequests(t=45e3){return this._waitForRequests(t)}_createRequest(t){const e=new ve(this._context,t);return this._requests.add(e),e}_finishRequest(t){this._requests.delete(t),clearTimeout(t.timeout)}async _waitForRequests(t=5e3,e=0){return!this._requests.size||e>=t/500?Promise.resolve():(await new Promise(t=>{setTimeout(t,500)}),this._waitForRequests(t,e++))}}const Se={DISCONNECTED:"disconnected",CONNECTING:"connecting",CONNECTED:"connected"};class ke extends((0,s.ObservableMixin)()){_requestsManager;_url;_socket;_socketAuth;_channels;_connectionAttempt=0;_token;_options;_connectionProvider;_userFactory;static STATE_DISCONNECTED=(()=>Se.DISCONNECTED)();static STATE_CONNECTING=(()=>Se.CONNECTING)();static STATE_CONNECTED=(()=>Se.CONNECTED)();static _CHANGE_STATE_EVENT_PRIORITY=(()=>s.priorities.get("highest")+999999)();constructor(t,e,n,r,s){if(super(),this._token=e,this._options=n??{},this._connectionProvider=r??Ht,this._userFactory=s??w.get,this._requestsManager=new Ie(this),this._channels=new Map,!t)throw new TypeError("Api address must be provided.");if(!this._token)throw new TypeError("Token must be provided.");this._options.requestTimeout||(this._options.requestTimeout=2e4),this._url=Yt(t.replace(/^(?!(?:\w+:)?\/\/)/,"https://")),this.set("state",Se.DISCONNECTED),this.set("socketId",void 0),this.set("me",void 0),this.on("change:state",async(t,e,n)=>{if(this._debugEvent("ws-gw:change:state",n),n!==ke.STATE_CONNECTED){if(n===ke.STATE_DISCONNECTED)return this._requestsManager.errorAll(new Kt("Not connected.",this))}else try{this.me=await this._userFactory.call(w,this,this._socketAuth?.userId)}catch(t){}},{priority:ke._CHANGE_STATE_EVENT_PRIORITY}),this.on("error",(t,e)=>{this._options.onError?this._options.onError(e):console.error(e)})}get sessionId(){return this.socketId}waitForAllRequests(t){return this._requestsManager.waitForAllRequests(t)}disconnect(){this.state!==Se.DISCONNECTED&&(this._socket?.disconnect(),this._socket=void 0,this.state=Se.DISCONNECTED)}async reconnect(){this._socket||this.state!==Se.DISCONNECTED||(await this._token.refreshToken(),await this._connect())}static async connect(t,e="local.cs.dev:443/ws-v2",n={},r=Ht,s=w.get){const o=new this(e,t,n,r,s);return await o._connect(),o}_sendRequest(t,e,n){if(!t)throw new Kt("`serviceName` must be provided.",this);if(this.state!==ke.STATE_CONNECTED)throw new Kt("Not connected.",this);if(!this._socketAuth||!this._socketAuth.isAuthenticated)throw new Kt("Not authenticated.",this);const r=new ArrayBuffer(n.length+2),s=new Uint8Array(r);return s[0]=t,s[1]=parseInt(e),s.set(n,2),this._emit(1,s)}_getChannel(t,e){const n=""+t+e;return!this._channels.has(n)&&this._socket&&this._channels.set(n,new Ft(n,this,this._socket)),this._channels.get(n)}_connect(){return new Promise((t,e)=>{const n=this._setupSocket();!this.socketId&&n.io.on("reconnect_error",()=>{this._debugEvent("reconnect_error"),this._reconnectionAttemptError(e)}),n.once("connect",async()=>{this._debugEvent("once-connect");try{await this._onConnect(),t()}catch(t){e(t)}}),n.connect()})}_getPortByProtocol(t){return["http:","ws:"].includes(t)?80:443}_setupSocket(){if(this._socket)return this._socket;const t=this._url.port||this._getPortByProtocol(this._url.protocol),e=(this._url.protocol||"https:")+"//"+this._url.hostname+":"+t,n=this._url.pathname.match(/^\/.*\/ws/)?this._url.pathname.split("/ws")[0]:"",r=this._connectionProvider(e,{parser:{Encoder:Oe,Decoder:we},path:n+"/ws-v2/ws",transports:["websocket"],timeout:void 0!==this._options.timeout?this._options.timeout:5e3,reconnection:void 0===this._options.autoReconnect||this._options.autoReconnect,reconnectionDelay:1e3,reconnectionDelayMax:5e3,rejectUnauthorized:void 0===this._options.rejectUnauthorized||this._options.rejectUnauthorized,query:{version:"53.0.7"},agent:this._options.agent??!1,closeOnBeforeunload:!1});return this.state=Se.CONNECTING,r.on("connect",()=>{this._debugEvent("connect"),this.socketId=r.id}),r.on("connect_error",t=>{this._debugEvent("connect_error",t)}),r.on("disconnect",()=>{this._debugEvent("disconnect"),this._onDisconnect()}),r.io.on("reconnect",async()=>{this._debugEvent("reconnect"),await this._onReconnect()}),r.io.on("reconnect_attempt",t=>{this._debugEvent("reconnect_attempt",t),this.state=Se.CONNECTING,this._connectionAttempt=t}),r.on("unauthorized",t=>{this._debugEvent("unauthorized"),this._onUnauthorized(t)}),r.on("authenticationRequest",async t=>{this._debugEvent("authenticationRequest",t.attempt),await this._onReconnect()}),this._socket=r,r}_emit(t,e){const n=this._socket;return this._requestsManager.send(r=>{n.emit(t,e,(t,e)=>{if(t)return r.error(Wt.fromPublicError(t));r.response(e)})},this._options.requestTimeout)}_addAuthData(t,e){this._socketAuth={environmentId:t,userId:e,isAuthenticated:!0}}_removeAuthData(){this._socketAuth=void 0}async _onConnect(){await this._authenticate(this._token.value),this.state=Se.CONNECTED;const t=async(t,e,n)=>{this._debugEvent("token:value:change");try{await this._authenticate(n)}catch(t){}};this._token.on("change:value",t),this._socket.io.off("reconnect_error"),this.on("disconnect",()=>{this._token.off("change:value",t)})}async _onReconnect(){await this._token.refreshToken(),await this._onConnect()}_onDisconnect(){this.state=Se.DISCONNECTED,this._connectionAttempt=0,this.fire("disconnect");for(const t of this._channels.values())t.remove();this._channels.clear(),void 0===this._options.autoReconnect||this._options.autoReconnect||(this._socket=void 0)}_debugEvent(t,e){if(!this._isDebugModeEnabled())return;const n=void 0!==e?", data: "+e:"";console.info((new Date).toLocaleString()+" "+t+n)}_reconnectionAttemptError(t){this._connectionAttempt>=2&&(this.disconnect(),t(Kt.fromPublicError({message:"The number of initial connection attempts exceeded.",explanation:"Three initial connection attempts failed. It can be caused by a slow, unstable, missing or blocked Internet connection.",action:"Please verify the stability of your Internet connection and ensure that no antivirus or firewall software blocks the Web Socket protocol connections."})))}_onUnauthorized({error:t}){this._removeAuthData(),this.fire("error",Wt.fromPublicError(t))}async _authenticate(t){try{this._debugEvent("authenticate:start");const e=await this._emit(2,{token:t});this._debugEvent("authenticate:success","envId: "+e.environmentId+", userId: "+e.userId),this._addAuthData(e.environmentId,e.userId)}catch(t){throw this._debugEvent("authenticate:error",t.message),this._removeAuthData(),t}}_isDebugModeEnabled(){return!!s.global.window.localStorage&&"true"===(s.global.window.localStorage.getItem("csClientDebugMode")??"false").toLowerCase()}}const Pe=ke;class Ae extends c{bundleVersion;static TYPE="131";static READABLE_TYPE_NAME="isEditorBundleUploaded";static DESCRIPTOR_NAME="IsEditorBundleUploadedMessage";static DESCRIPTOR={fields:{bundleVersion:{type:"string",id:1}}};constructor(t){super(),this.bundleVersion=t}toJSON(){return{bundleVersion:this.bundleVersion}}static fromJSON(t){return new Ae(t.bundleVersion)}}class Te extends c{isUploaded;static DESCRIPTOR_NAME="IsEditorBundleUploadedResponse";static DESCRIPTOR={fields:{isUploaded:{type:"bool",id:1}}};constructor(t){super(),this.isUploaded=t}toJSON(){return{isUploaded:this.isUploaded}}static fromJSON(t){return new Te(t.isUploaded)}}class _e extends((0,s.EmitterMixin)()){static _SERVICE=13;static async isBundleUploaded(t,e){const n=new Ae(e);if(t.state!==Se.CONNECTED)throw new Kt("WebSocket Gateway is not connected.",t);const r=await t._sendRequest(_e._SERVICE,Ae.TYPE,p.encode(n));return p.decode(r,Te).isUploaded}}const Ce=_e;class Ee extends c{documentId;revisionId;static TYPE="123";static READABLE_TYPE_NAME="getRevision";static DESCRIPTOR_NAME="RevisionHistoryGetRevisionMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},revisionId:{type:"string",id:2}}};constructor(t,e){super(),this.documentId=t,this.revisionId=e}toJSON(){return{documentId:this.documentId,revisionId:this.revisionId}}static fromJSON(t){return new Ee(t.documentId,t.revisionId)}}class xe extends a{static DESCRIPTOR_NAME="RevisionDescriptor";static DESCRIPTOR={fields:{revisionId:{type:"string",id:1},name:{type:"string",id:2},creatorId:{type:"string",id:3},authorsIds:{type:"string",id:4},diffData:{type:"string",id:5},createdAt:{type:"string",id:6},attributes:{type:"string",id:7},toVersion:{type:"uint32",id:8},fromVersion:{type:"uint32",id:9},isEmptyCurrent:{type:"bool",id:10}}};static create(t){return{revisionId:t.id,name:t.name,creatorId:t.creatorId,createdAt:t.createdAt,fromVersion:t.fromVersion,toVersion:t.toVersion,isEmptyCurrent:t.isEmptyCurrent,diffData:t.diffData?JSON.stringify(t.diffData):void 0,attributes:t.attributes,authorsIds:t.authorsIds}}static toJSON(t){return{revisionId:t.revisionId,name:t.name,creatorId:t.creatorId,authorsIds:t.authorsIds?JSON.stringify(t.authorsIds):void 0,diffData:t.diffData,createdAt:t.createdAt?.toISOString(),attributes:t.attributes?JSON.stringify(t.attributes):void 0,toVersion:t.toVersion,fromVersion:t.fromVersion,isEmptyCurrent:t.isEmptyCurrent}}static fromJSON(t){return{revisionId:(t={...t}).revisionId,name:t.name,creatorId:t.creatorId,authorsIds:t.authorsIds?JSON.parse(t.authorsIds):void 0,diffData:t.diffData,createdAt:t.createdAt?new Date(t.createdAt):void 0,attributes:t.attributes?JSON.parse(t.attributes):void 0,toVersion:t.toVersion,fromVersion:t.fromVersion,isEmptyCurrent:t.isEmptyCurrent}}static toObject(t){return function(t){for(const[e,n]of Object.entries(t))void 0===n&&delete t[e];return t}({id:t.revisionId,name:t.name,creatorId:t.creatorId,createdAt:t.createdAt,fromVersion:t.fromVersion,toVersion:t.toVersion,isEmptyCurrent:t.isEmptyCurrent,diffData:t.diffData?JSON.parse(t.diffData):void 0,attributes:t.attributes,authorsIds:t.authorsIds})}}class je extends c{revisionId;name;creatorId;authorsIds;createdAt;diffData;attributes;fromVersion;toVersion;isEmptyCurrent;static DESCRIPTOR_NAME="RevisionHistoryGetRevisionResponse";static DESCRIPTOR=(()=>xe.DESCRIPTOR)();constructor(t,e,n,r,s,o,i,a,c,d){super(),this.revisionId=t,this.name=e,this.creatorId=n,this.authorsIds=r,this.createdAt=s,this.diffData=o,this.attributes=i,this.fromVersion=a,this.toVersion=c,this.isEmptyCurrent=d}toJSON(){return xe.toJSON(this)}toObject(){return xe.toObject(this)}static create(t){return new je(t.revisionId,t.name,t.creatorId,t.authorsIds,t.createdAt,t.diffData,t.attributes,t.fromVersion,t.toVersion,t.isEmptyCurrent)}static fromJSON(t){return new je(t.revisionId,t.name,t.creatorId,t.authorsIds?JSON.parse(t.authorsIds):void 0,t.createdAt?new Date(t.createdAt):void 0,t.diffData,t.attributes?JSON.parse(t.attributes):void 0,t.fromVersion,t.toVersion,t.isEmptyCurrent)}}class De extends c{documentId;requestId;revisions;static TYPE="124";static READABLE_TYPE_NAME="updateRevisions";static DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};constructor(t,e,n){super(),this.documentId=t,this.requestId=e,this.revisions=n}toJSON(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(xe.toJSON)}}toObject(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(xe.toObject)}}static create(t){return new De(t.documentId,t.requestId,t.revisions.map(xe.create))}static fromJSON(t){return new De(t.documentId,t.requestId,t.revisions.map(xe.fromJSON))}}class Re extends c{requestId;static DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsResponse";static DESCRIPTOR={fields:{requestId:{type:"uint32",id:1}}};constructor(t){super(),this.requestId=t}toJSON(){return{requestId:this.requestId}}static fromJSON(t){return new Re(t.requestId)}}class Ne extends c{documentId;static TYPE="121";static READABLE_TYPE_NAME="connectToRevisionHistory";static DESCRIPTOR_NAME="RevisionHistoryConnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new Ne(t.documentId)}}class Ve extends c{channel;requestId;revisions;static DESCRIPTOR_NAME="RevisionHistoryConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};constructor(t,e,n){super(),this.channel=t,this.requestId=e,this.revisions=n}toJSON(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(xe.toJSON)}}toObject(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(xe.toObject)}}static fromJSON(t){return new Ve(t.channel,t.requestId,t.revisions.map(xe.fromJSON))}}class Me extends c{documentId;requestId;static TYPE="122";static READABLE_TYPE_NAME="reconnectToRevisionHistory";static DESCRIPTOR_NAME="RevisionHistoryReconnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2}}};constructor(t,e){super(),this.documentId=t,this.requestId=e}toJSON(){return{documentId:this.documentId,requestId:this.requestId}}static fromJSON(t){return new Me(t.documentId,t.requestId)}}class Be extends Kt{constructor(t,e){super(t+" Service is not connected.",e)}}class Ue extends((0,s.EmitterMixin)()){_documentId;_isConnected=!1;_wsGateway;_channel;static _SERVICE=12;constructor(t){super(),this._documentId=t}get isConnected(){return this._isConnected}connect(t){return this._isConnected?Promise.resolve():this._connect(t,new Ne(this._documentId))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}reconnect(t,e){if(this.isConnected)throw new Kt("Cannot reconnect to already connected service.",t);return this._connect(t,new Me(this._documentId,e))}async updateRevisions(t,e){const n=De.create({documentId:this._documentId,requestId:e,revisions:t}),r=await this._sendRequest(De.TYPE,n),{requestId:s}=p.decode(r,Re);return s}async getRevision(t){const e=new Ee(this._documentId,t),n=await this._sendRequest(Ee.TYPE,e);return p.decode(n,je).toObject()}async _connect(t,e){if(t.state!==Se.CONNECTED)throw new Kt("WebSocket Gateway is not connected.",t);this._wsGateway=t,this.stopListening(t,"change:state");const n=await t._sendRequest(12,e.constructor.TYPE,p.encode(e)),{channel:r,requestId:s,revisions:o}=p.decode(n,Ve).toObject();return this.listenTo(t,"change:state",(t,e,n)=>this._onWsGatewayStateChange(n),{priority:Pe._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,r),this._isConnected=!0,this.fire("connected"),{revisions:o,requestId:s}}_connectToChannel(t,e){this._channel=t._getChannel(Ue._SERVICE,e),this._channel&&this.listenTo(this._channel,this._channel.getEventName(De.TYPE),(t,e)=>{const{documentId:n,requestId:r,revisions:s}=p.decode(e,De).toObject();this.fire("revisionsUpdated",{documentId:n,requestId:r,revisionsData:s})})}_onWsGatewayStateChange(t){t===Se.DISCONNECTED&&this.disconnect()}_sendRequest(t,e){if(!this._wsGateway||!this._isConnected)throw new Be("Revision History",this);return this._wsGateway._sendRequest(12,t,p.encode(e))}}const Je=Ue;class qe extends c{id;documentId;type;data;originalSuggestionId;attributes;static TYPE="101";static READABLE_TYPE_NAME="addSuggestion";static DESCRIPTOR_NAME="TrackChangesAddSuggestionMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},type:{type:"string",id:3},data:{type:"string",id:4},originalSuggestionId:{type:"string",id:5},attributes:{type:"string",id:6}}};constructor(t,e,n,r={},s=null,o=null){super(),this.id=t,this.documentId=e,this.type=n,this.data=r,this.originalSuggestionId=s,this.attributes=o}toJSON(){return{id:this.id,documentId:this.documentId,type:this.type,data:JSON.stringify(this.data),originalSuggestionId:this.originalSuggestionId,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new qe(t.id,t.documentId,t.type,JSON.parse(t.data),t.originalSuggestionId??null,t.attributes?JSON.parse(t.attributes):null)}}class Le extends c{id;authorId;type;hasComments;state;data;attributes;createdAt;static DESCRIPTOR_NAME="TrackChangesAddSuggestionResponse";static DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}};constructor(t,e,n,r,s,o,i={},a=null){super(),this.id=t,this.authorId=e,this.type=n,this.hasComments=s,this.state=o,this.data=i,this.attributes=a,this.createdAt=r?new Date(r):void 0}toJSON(){return{id:this.id,authorId:this.authorId,type:this.type,createdAt:this.createdAt?.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new Le(t.id,t.authorId,t.type,t.createdAt,t.hasComments,t.state,JSON.parse(t.data),t.attributes?JSON.parse(t.attributes):null)}}class Ge extends c{id;documentId;static TYPE="103";static READABLE_TYPE_NAME="getSuggestion";static DESCRIPTOR_NAME="TrackChangesGetSuggestionMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(t,e){super(),this.id=t,this.documentId=e}toJSON(){return{id:this.id,documentId:this.documentId}}static fromJSON(t){return new Ge(t.id,t.documentId)}}class He extends c{id;authorId;type;hasComments;state;data;attributes;createdAt;static DESCRIPTOR_NAME="TrackChangesGetSuggestionResponse";static DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}};constructor(t,e,n,r,s,o,i={},a=null){super(),this.id=t,this.authorId=e,this.type=n,this.hasComments=s,this.state=o,this.data=i,this.attributes=a,this.createdAt=new Date(r)}toJSON(){return{id:this.id,authorId:this.authorId,type:this.type,createdAt:this.createdAt.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new He(t.id,t.authorId,t.type,t.createdAt,t.hasComments,t.state,JSON.parse(t.data),t.attributes?JSON.parse(t.attributes):null)}}class Ye extends c{documentId;static TYPE="102";static READABLE_TYPE_NAME="getAllSuggestions";static DESCRIPTOR_NAME="TrackChangesGetAllSuggestionMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new Ye(t.documentId)}}class ze extends a{static DESCRIPTOR_NAME="SuggestionDescriptor";static DESCRIPTOR={fields:{id:{id:1,type:"string"},authorId:{id:2,type:"string"},type:{id:3,type:"string"},createdAt:{id:4,type:"string"},data:{id:5,type:"string"},hasComments:{id:6,type:"bool"},state:{id:7,type:"string"},attributes:{id:8,type:"string"}}};static toJSON(t){return{...t,data:t.data?JSON.stringify(t.data):t.data,attributes:t.attributes?JSON.stringify(t.attributes):t.attributes,createdAt:t.createdAt?.toISOString()}}static fromJSON(t){return{...t,data:t.data?JSON.parse(t.data):t.data,attributes:t.attributes?JSON.parse(t.attributes):t.attributes,createdAt:t.createdAt?new Date(t.createdAt):void 0}}}class Fe extends c{_suggestions;_suggestionsV2;suggestions;static DESCRIPTOR_NAME="TrackChangesGetAllSuggestionsResponse";static DESCRIPTOR={fields:{suggestions:{type:"string",rule:"repeated",id:1},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:2}}};constructor(t,e){super(),this._suggestions=t,this._suggestionsV2=e,this.suggestions=e?.length?e:t}toJSON(){return{suggestions:this._suggestions?.map(t=>JSON.stringify(t)),suggestionsV2:this._suggestionsV2?.map(ze.toJSON)}}static fromJSON(t){return new Fe(t.suggestions?.map(Ke),t.suggestionsV2?.map(ze.fromJSON))}}function Ke(t){const e=JSON.parse(t);return e.createdAt=e.createdAt?new Date(e.createdAt):void 0,e}class We extends c{id;documentId;hasComments;isHasCommentsModified;state;attributes;static TYPE="104";static READABLE_TYPE_NAME="updateSuggestion";static DESCRIPTOR_NAME="TrackChangesUpdateSuggestionMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},hasComments:{type:"bool",id:3},isHasCommentsModified:{type:"bool",id:4},state:{type:"string",id:5},attributes:{type:"string",id:6}}};constructor(t,e,n,r,s,o=null){super(),this.id=t,this.documentId=e,this.hasComments=n,this.isHasCommentsModified=r,this.state=s,this.attributes=o}toJSON(){return{id:this.id,documentId:this.documentId,hasComments:this.hasComments,isHasCommentsModified:this.isHasCommentsModified,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new We(t.id,t.documentId,t.hasComments,t.isHasCommentsModified,t.state,t.attributes?JSON.parse(t.attributes):null)}}class Ze extends c{documentId;static TYPE="105";static READABLE_TYPE_NAME="connectToSuggestions";static DESCRIPTOR_NAME="TrackChangesConnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new Ze(t.documentId)}}class Xe extends c{channel;_suggestions;_suggestionsV2;suggestions;static DESCRIPTOR_NAME="TrackChangesConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},suggestions:{type:"string",rule:"repeated",id:2},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:3}}};constructor(t,e,n){super(),this.channel=t,this._suggestions=e,this._suggestionsV2=n,this.suggestions=n?.length?n:e}toJSON(){return{channel:this.channel,suggestions:this._suggestions?.map(t=>JSON.stringify(t)),suggestionsV2:this._suggestionsV2?.map(ze.toJSON)}}static fromJSON(t){return new Xe(t.channel,t.suggestions?.map(t=>JSON.parse(t)),t.suggestionsV2?.map(ze.fromJSON))}}class Qe extends c{ids;documentId;state;static TYPE="106";static READABLE_TYPE_NAME="batchUpdateSuggestionsState";static DESCRIPTOR_NAME="TrackChangesBatchUpdateSuggestionsStateMessage";static DESCRIPTOR={fields:{ids:{type:"string",rule:"repeated",id:1},documentId:{type:"string",id:2},state:{type:"string",id:3}}};constructor(t,e,n){super(),this.ids=t,this.documentId=e,this.state=n}toJSON(){return{ids:this.ids,documentId:this.documentId,state:this.state}}static fromJSON(t){return new Qe(t.ids,t.documentId,t.state)}}class $e extends((0,s.EmitterMixin)()){_documentId;_isConnected=!1;_wsGateway;_channel;static _SERVICE=10;constructor(t){super(),this._documentId=t}get isConnected(){return this._isConnected}async connect(t){if(this._isConnected)return;if(t.state!==Se.CONNECTED)throw new Kt("WebSocket Gateway is not connected.",t);const e=new Ze(this._documentId);this._wsGateway=t,this.stopListening(t,"change:state");const n=await t._sendRequest(10,Ze.TYPE,p.encode(e)),r=p.decode(n,Xe);return this.listenTo(t,"change:state",(t,e,n)=>this._onWsGatewayStateChange(n),{priority:Pe._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,r.channel),this._isConnected=!0,this.fire("connected"),r.suggestions}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}async add(t,e,n,r=null,s){const o=new qe(t,this._documentId,e,n,r,s),i=await this._sendRequest(qe.TYPE,o);return p.decode(i,Le)}async get(t,e=1){const n=new Ge(t,this._documentId);try{const t=await this._sendRequest(Ge.TYPE,n);return p.decode(t,He)}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&e<5)return await(r=100*e,new Promise(t=>{setTimeout(t,r)})),this.get(t,e+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw Wt.fromPublicError(n)}var r}async getAll(){const t=new Ye(this._documentId),e=await this._sendRequest(Ye.TYPE,t),{suggestions:n}=p.decode(e,Fe);return n}async update(t,e={}){const{hasComments:n,state:r,attributes:s}=e,o=void 0!==n,i=new We(t,this._documentId,n,o,r,s);await this._sendRequest(We.TYPE,i)}async batchUpdateState(t){const e=new Qe(t.ids,this._documentId,t.state);await this._sendRequest(Qe.TYPE,e)}_connectToChannel(t,e){this._channel=t._getChannel($e._SERVICE,e),this._channel&&this.listenTo(this._channel,this._channel.getEventName(We.TYPE),(t,e)=>{const n=p.decode(e,We);this.fire("suggestionUpdated",n)})}_onWsGatewayStateChange(t){t===Se.DISCONNECTED&&this.disconnect()}_sendRequest(t,e){if(!this._wsGateway||!this._isConnected)throw new Be("Track Changes",this);return this._wsGateway._sendRequest(10,t,p.encode(e))}}const tn=$e,en=new Uint8Array(16);const nn=[];for(let t=0;t<256;++t)nn.push((t+256).toString(16).slice(1));function rn(t,e=0){return(nn[t[e+0]]+nn[t[e+1]]+nn[t[e+2]]+nn[t[e+3]]+"-"+nn[t[e+4]]+nn[t[e+5]]+"-"+nn[t[e+6]]+nn[t[e+7]]+"-"+nn[t[e+8]]+nn[t[e+9]]+"-"+nn[t[e+10]]+nn[t[e+11]]+nn[t[e+12]]+nn[t[e+13]]+nn[t[e+14]]+nn[t[e+15]]).toLowerCase()}const sn=function(t,e,n){return e||t||!crypto.randomUUID?function(t,e,n){t=t||{};const r=t.random??t.rng?.()??crypto.getRandomValues(en);if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,e){if((n=n||0)<0||n+16>e.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let t=0;t<16;++t)e[n+t]=r[t];return e}return rn(r)}(t,e,n):crypto.randomUUID()};class on extends c{channel;sockets;static DESCRIPTOR_NAME="SessionsConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},sockets:{rule:"repeated",type:"SessionsSocketDescriptor",id:2}}};constructor(t,e=[]){super(),this.channel=t,this.sockets=e}toJSON(){return{channel:this.channel,sockets:this.sockets.map(t=>({user:t.userId,session:t.id,role:t.role,permissions:t.permissions}))}}static fromJSON(t){return new on(t.channel,t.sockets.map(t=>({id:t.session,userId:t.user,role:t.role,permissions:t.permissions})))}}class an extends c{id;sessionType;static TYPE="31";static READABLE_TYPE_NAME="getConnectedSockets";static DESCRIPTOR_NAME="SessionsConnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},sessionType:{type:"uint32",id:2}}};constructor(t,e){super(),this.id=t,this.sessionType=e}toJSON(){return{id:this.id,sessionType:this.sessionType}}static fromJSON(t){return new an(t.id,t.sessionType)}}class cn extends c{id;userId;role;permissions;static TYPE="32";static READABLE_TYPE_NAME="connectSocket";static DESCRIPTOR_NAME="SocketConnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},userId:{type:"string",id:2},role:{type:"string",id:3},permissions:{rule:"repeated",type:"string",id:4}}};constructor(t,e,n,r){super(),this.id=t,this.userId=e,this.role=n,this.permissions=r}toJSON(){return{id:this.id,userId:this.userId??void 0,role:this.role??void 0,permissions:this.permissions??void 0}}static fromJSON(t){return new cn(t.id,t.userId,t.role,t.permissions)}}class dn extends c{id;static TYPE="33";static READABLE_TYPE_NAME="disconnectSocket";static DESCRIPTOR_NAME="SocketDisconnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1}}};constructor(t){super(),this.id=t}toJSON(){return{id:this.id}}static fromJSON(t){return new dn(t.id)}}class un extends s.Collection{_id;_sessionType;_handlers=new Map;_channel;_wsGateway;_connected;_eventsQueue=[];_isRunning=!1;constructor(t,e){super({idProperty:"id"}),this._id=t,this._sessionType=e}async connect(t){this._wsGateway=t,this.stopListening(t,"change:state");const e=new an(this._id,this._sessionType);let n;try{const t=await this._wsGateway._sendRequest(3,an.TYPE,p.encode(e));n=p.decode(t,on)}catch(t){n=new on(this._id,[])}this._connectToChannel(this._wsGateway,n.channel,this._sessionType);const r=await async function(t,e){const n=e.map(t=>t.userId),r=n.length?await w.getMany(t,n):[];return e.map(t=>{const e={id:t.id,role:t.role,permissions:t.permissions};return e.user=t.userId&&r.find(e=>e.id===t.userId)||new w,e})}(this._wsGateway,n.sockets);for(const t of r)super.add(t);this._connected=!0,this.fire("connected"),this.listenTo(this._wsGateway,"change:state",(t,e,n)=>this._onWsGatewayStateChange(n),{priority:Pe._CHANGE_STATE_EVENT_PRIORITY}),await this._runQueue()}disconnect(t=!0){if(this._connected){for(this._connected=!1,this._eventsQueue=[];this.length;)super.remove(0);this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._wsGateway&&t&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this.fire("disconnected"),t&&this.stopListening()}}add(t,e){throw new TypeError("The collection is read-only.")}remove(t){throw new TypeError("The collection is read-only.")}_connectToChannel(t,e,n){this._channel=t._getChannel(n,e),this._channel&&(this._addHandler(this._channel,cn.TYPE,async e=>{const n=p.decode(e,cn);if(-1===this.getIndex(n.id)){const e={id:n.id,role:n.role,permissions:n.permissions};n.userId&&(e.user=await w.get(t,n.userId)),super.add(e)}}),this._addHandler(this._channel,dn.TYPE,t=>{const e=p.decode(t,dn);-1!==this.getIndex(e.id)&&super.remove(e.id)}))}async _onWsGatewayStateChange(t){t===Pe.STATE_DISCONNECTED&&this.disconnect(!1),t===Pe.STATE_CONNECTED&&await this.connect(this._wsGateway)}async _runQueue(){if(this._isRunning||!this._connected)return;let t;for(this._isRunning=!0;t=this._eventsQueue.shift();){const e=this._handlers.get(t.eventName);e&&await e(t.data)}this._isRunning=!1}_addHandler(t,e,n){const r=t.getEventName(e,!0);this.listenTo(t,r,async(t,e)=>{const n=t.name;this._eventsQueue.push({eventName:n,data:e}),await this._runQueue()}),this._handlers.set(r,n)}}class ln{static async getConnectedSessions(t,e,n){const r=new un(e,n);return await r.connect(t),r}}class hn extends c{id;buffers;types;bundleVersion;lastOperationId;static TYPE="11";static READABLE_TYPE_NAME="connectToDocument";static DESCRIPTOR_NAME="CollaborativeEditingConnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},buffers:{rule:"repeated",type:"bytes",id:3},types:{rule:"repeated",type:"uint32",id:4},lastOperationId:{type:"string",id:5}}};constructor(t,e,n,r,s=""){super(),this.id=t,this.buffers=e,this.types=n,this.bundleVersion=r,this.lastOperationId=s}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,bundleVersion:this.bundleVersion,lastOperationId:this.lastOperationId}}static fromJSON(t){return new hn(t.id,t.buffers,t.types,t.bundleVersion,t.lastOperationId)}}class pn{static prepareMetadataForOperations(t,e){if(!t?.length||!e?.length)return[];const n=[];let r=0;for(const s of t)if(0!==s){if(!e[r])throw new Error("Missing metadata for a operation");n.push(e[r]),r++}else n.push(n[n.length-1]);return n}static removeUnnecessaryMetadata(t,e){if(!t?.length||!e?.length)return[];const n=[];for(let r=0;r<t.length;r++)if(0!==t[r]){if(!e[r])throw new Error("Missing metadata for a operation");n.push(e[r])}return n}}class fn extends a{static DESCRIPTOR_NAME="OperationMetadataDescriptor";static DESCRIPTOR={fields:{userId:{type:"string",id:1},type:{type:"string",id:2},createdAt:{type:"string",id:3}}};static toJSON({createdAt:t,...e}){const n={...e};return t?.toISOString&&(n.createdAt=t.toISOString()),n}static fromJSON({createdAt:t,...e}){const n={...e};return t&&(n.createdAt=new Date(t)),n}}class mn extends c{id;buffers;types;baseVersion;metadata;lastOperationId;static TYPE="13";static READABLE_TYPE_NAME="updateDocument";static DESCRIPTOR_NAME="CollaborativeEditingUpdateMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},baseVersion:{type:"uint32",id:2},buffers:{rule:"repeated",type:"bytes",id:3},types:{rule:"repeated",type:"uint32",id:4},metadata:{rule:"repeated",type:"OperationMetadataDescriptor",id:6},lastOperationId:{type:"string",id:7}}};constructor(t,e,n,r,s=[],o=""){super(),this.id=t,this.buffers=e,this.types=n,this.baseVersion=r,this.metadata=s,this.lastOperationId=o}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.baseVersion,lastOperationId:this.lastOperationId}}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,baseVersion:this.baseVersion,metadata:pn.removeUnnecessaryMetadata(this.types,this.metadata).map(fn.toJSON),lastOperationId:this.lastOperationId}}static fromJSON(t){return new mn(t.id,t.buffers,t.types,t.baseVersion,pn.prepareMetadataForOperations(t.types,t.metadata).map(fn.fromJSON),t.lastOperationId)}}class gn extends c{id;lastKnowVersion;bundleVersion;static TYPE="12";static READABLE_TYPE_NAME="reconnectToDocument";static DESCRIPTOR_NAME="CollaborativeEditingReconnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},lastKnowVersion:{type:"uint32",id:3}}};constructor(t,e,n){super(),this.id=t,this.lastKnowVersion=e,this.bundleVersion=n}toJSON(){return{id:this.id,bundleVersion:this.bundleVersion,lastKnowVersion:this.lastKnowVersion}}static fromJSON(t){return new gn(t.id,t.lastKnowVersion,t.bundleVersion)}}class yn extends c{version;buffers;types;metadata;lastOperationId;lastOperationAcceptedAt;static DESCRIPTOR_NAME="CollaborativeEditingResponse";static DESCRIPTOR={fields:{version:{type:"uint32",id:1},buffers:{rule:"repeated",type:"bytes",id:2},types:{rule:"repeated",type:"uint32",id:3},metadata:{rule:"repeated",type:"OperationMetadataDescriptor",id:5},lastOperationId:{type:"string",id:6},lastOperationAcceptedAt:{type:"string",id:7}}};constructor(t,e=[],n=[],r=[],s="",o=null){super(),this.version=t,this.buffers=e,this.types=n,this.metadata=r,this.lastOperationId=s,this.lastOperationAcceptedAt=o}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt}}get wereChangesApplied(){return!this.types?.length}toJSON(){return{version:this.version,buffers:this.buffers,types:this.types,metadata:pn.removeUnnecessaryMetadata(this.types,this.metadata).map(fn.toJSON),lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt instanceof Date?this.lastOperationAcceptedAt.toISOString():this.lastOperationAcceptedAt}}static fromJSON(t){return new yn(t.version,t.buffers,t.types,pn.prepareMetadataForOperations(t.types,t.metadata).map(fn.fromJSON),t.lastOperationId,t.lastOperationAcceptedAt?new Date(t.lastOperationAcceptedAt):null)}static create(t){return new yn(t.version,t.buffers,t.types,t.metadata,t.lastOperationId,t.lastOperationAcceptedAt?new Date(t.lastOperationAcceptedAt):null)}}class bn extends c{channel;version;buffers;types;offset;metadata;initData;sessionId;lastOperationId;sessionCreatedAt;static DESCRIPTOR_NAME="CollaborativeEditingConnectResponse";static DESCRIPTOR=(()=>({fields:{channel:{type:"string",id:1},offset:{type:"uint32",id:2},version:{type:"uint32",id:3},buffers:{rule:"repeated",type:"bytes",id:4},types:{rule:"repeated",type:"uint32",id:5},metadata:{rule:"repeated",type:fn.DESCRIPTOR_NAME,id:7},initData:{type:"string",id:8},isInitialized:{type:"bool",id:9},sessionId:{type:"string",id:10},lastOperationId:{type:"string",id:11},sessionCreatedAt:{type:"string",id:12}}}))();constructor(t,e,n=[],r=[],s=0,o=[],i=null,a="",c="",d=null){super(),this.channel=t,this.version=e,this.buffers=n,this.types=r,this.offset=s,this.metadata=o,this.initData=i,this.sessionId=a,this.lastOperationId=c,this.sessionCreatedAt=d}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt}}get wereChangesApplied(){return!this.types?.length&&null===this.initData}toJSON(){return{channel:this.channel,version:this.version,sessionId:this.sessionId,buffers:this.buffers,types:this.types,offset:this.offset,metadata:pn.removeUnnecessaryMetadata(this.types,this.metadata).map(fn.toJSON),initData:this.initData??"",isInitialized:"string"==typeof this.initData,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt?this.sessionCreatedAt.toISOString():null}}static create(t){return new bn(t.channel,t.version,t.buffers,t.types,t.offset,t.metadata,t.initData,t.sessionId,t.lastOperationId,t.sessionCreatedAt)}static fromJSON(t){let e=null;return!0===t.isInitialized?e=t.initData??"":"boolean"!=typeof t.isInitialized&&t.initData&&(e=t.initData),bn.create({channel:t.channel,version:t.version,buffers:t.buffers,types:t.types,offset:t.offset,metadata:pn.prepareMetadataForOperations(t.types,t.metadata).map(fn.fromJSON),initData:e,sessionId:t.sessionId,lastOperationId:t.lastOperationId,sessionCreatedAt:t.sessionCreatedAt?new Date(t.sessionCreatedAt):null})}}class On extends c{lastDocumentSession;currentDocumentSession;static DESCRIPTOR_NAME="GetDocumentDetailsResponse";static DESCRIPTOR={fields:{lastDocumentSessionId:{type:"string",id:1},lastDocumentSessionOperationId:{type:"string",id:2},currentDocumentSessionId:{type:"string",id:3},currentDocumentSessionVersion:{type:"uint32",id:4},currentDocumentSessionOperationId:{type:"string",id:5}}};constructor(t,e){super(),this.lastDocumentSession=t,this.currentDocumentSession=e}get data(){return{lastDocumentSessionId:this.lastDocumentSession?.id,lastDocumentSessionOperationId:this.lastDocumentSession?.lastOperationId,currentDocumentSessionId:this.currentDocumentSession?.id,currentDocumentSessionVersion:this.currentDocumentSession?.version,currentDocumentSessionOperationId:this.currentDocumentSession?.lastOperationId}}toJSON(){return{lastDocumentSessionId:this.lastDocumentSession?.id,lastDocumentSessionOperationId:this.lastDocumentSession?.lastOperationId,currentDocumentSessionId:this.currentDocumentSession?.id,currentDocumentSessionVersion:this.currentDocumentSession?.version,currentDocumentSessionOperationId:this.currentDocumentSession?.lastOperationId}}static fromJSON(t){const e=t.lastDocumentSessionId?{id:t.lastDocumentSessionId,lastOperationId:t.lastDocumentSessionOperationId}:void 0,n=t.currentDocumentSessionId?{lastOperationId:t.currentDocumentSessionOperationId,version:t.currentDocumentSessionVersion,id:t.currentDocumentSessionId}:void 0;return new On(e,n)}}class wn extends c{documentId;static TYPE="14";static READABLE_TYPE_NAME="getDocumentDetails";static DESCRIPTOR_NAME="GetDocumentDetailsMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},environmentId:{type:"string",id:2}}};constructor(t){super(),this.documentId=t}get data(){return{documentId:this.documentId}}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new wn(t.documentId)}}class vn extends((0,s.EmitterMixin)()){static _SERVICE=1;_bundleVersion;_id;_isConnected;_wsGateway;_channel;_connectedSessions;constructor(t,e){if(super(),!t)throw new TypeError('Param "bundleVersion" must be provided.');this._id=e??sn(),this._isConnected=!1,this._bundleVersion=t}getId(){return this._id}isConnected(){return this._isConnected}connect(t,e={buffers:[],types:[]},n){const r=new hn(this.getId(),e.buffers,e.types,this._bundleVersion,n);return this._connect(t,r)}reconnect(t,e){if(this.isConnected())throw new Kt("Cannot reconnect to already connected service.",t);return this._connect(t,new gn(this.getId(),e,this._bundleVersion))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async getDocumentDetails(){const t=new wn(this.getId());if(!this._wsGateway)throw new Be("Collaborative Editing",this);const e=await this._wsGateway._sendRequest(1,wn.TYPE,p.encode(t));return p.decode(e,On)}async sendOperations(t,e,n){if(!t?.types?.length)throw new Kt("Cannot send empty update.",this._wsGateway);const r="number"==typeof e?e:parseInt(e);if(!Number.isInteger(r)||r<0)throw new Kt("Base version not provided.",this._wsGateway);const s=new mn(this.getId(),t.buffers,t.types,r,[],n);if(!this._wsGateway||!this._isConnected)throw new Be("Collaborative Editing",this);const o=await this._wsGateway._sendRequest(1,mn.TYPE,p.encode(s));return p.decode(o,yn)}async getConnectedSessions(){if(!this._isConnected)throw new Be("Collaborative Editing",this);return this._connectedSessions||(this._connectedSessions=await ln.getConnectedSessions(this._wsGateway,this._id,1)),this._connectedSessions}static getConnectedSessions(t,e){return ln.getConnectedSessions(t,e,1)}async _connect(t,e){if(this.isConnected())return;if(t.state!==Pe.STATE_CONNECTED)throw new Kt("WebSocket Gateway is not connected.",t);this._wsGateway=t,this.stopListening(t,"change:state");const n=await t._sendRequest(1,e.constructor.TYPE,p.encode(e)),r=p.decode(n,bn);return this.listenTo(t,"change:state",(t,e,n)=>this._onWsGatewayStateChange(n),{priority:Pe._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,r.channel),this._isConnected=!0,this.fire("connected"),r}_connectToChannel(t,e){this._channel=t._getChannel(1,e),this.listenTo(this._channel,this._channel.getEventName(mn.TYPE),(t,e)=>{const n=p.decode(e,mn);this.fire("operationsReceived",n.baseVersion,n.data,n.metadata)})}_onWsGatewayStateChange(t){t===Pe.STATE_DISCONNECTED&&this.disconnect()}}class In extends a{static DESCRIPTOR_NAME="CommentDescriptor";static DESCRIPTOR={fields:{commentId:{id:1,type:"string"},commentThreadId:{id:2,type:"string"},userId:{id:3,type:"string"},content:{id:4,type:"string"},documentId:{id:5,type:"string"},createdAt:{id:6,type:"string"},attributes:{id:7,type:"string"}}};static toJSON(t){return{...t,createdAt:t.createdAt?.toISOString(),attributes:t.attributes?JSON.stringify(t.attributes):null}}static fromJSON(t){return{...t,createdAt:new Date(t.createdAt),attributes:t.attributes?JSON.parse(t.attributes):null}}}class Sn extends a{static DESCRIPTOR_NAME="CommentsThreadDescriptor";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"CommentDescriptor",rule:"repeated",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4},context:{type:"string",id:5},createdAt:{type:"string",id:6},deletedAt:{type:"string",id:7},attributes:{type:"string",id:8},unlinkedAt:{type:"string",id:9}}};static toJSON(t){return{...t,createdAt:t.createdAt?.toISOString(),deletedAt:t.deletedAt?.toISOString(),resolvedAt:t.resolvedAt?.toISOString(),attributes:t.attributes?JSON.stringify(t.attributes):null,context:t.context?JSON.stringify(t.context):t.context,comments:t.comments?.map(In.toJSON),unlinkedAt:t.unlinkedAt?.toISOString()}}static fromJSON(t){return{...t,createdAt:t.createdAt?new Date(t.createdAt):void 0,deletedAt:t.deletedAt?new Date(t.deletedAt):void 0,resolvedAt:t.resolvedAt?new Date(t.resolvedAt):void 0,attributes:t.attributes?JSON.parse(t.attributes):null,context:t.context?JSON.parse(t.context):void 0,comments:t.comments?.map(In.fromJSON),unlinkedAt:t.unlinkedAt?new Date(t.unlinkedAt):void 0}}}class kn extends c{documentId;commentThreadId;content;commentId;userId;attributes;commentThread;createdAt;static TYPE="91";static READABLE_TYPE_NAME="addComment";static DESCRIPTOR_NAME="CommentsV2AddCommentMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},content:{type:"string",id:2},documentId:{type:"string",id:3},commentId:{type:"string",id:4},createdAt:{type:"string",id:5},userId:{type:"string",id:6},attributes:{type:"string",id:7},commentThread:{type:"CommentsThreadDescriptor",id:8}}};constructor(t,e,n,r="",s,o="",i=null,a){super(),this.documentId=t,this.commentThreadId=e,this.content=n,this.commentId=r,this.userId=o,this.attributes=i,this.commentThread=a,this.createdAt=s?new Date(s):""}toJSON(){return{commentThreadId:this.commentThreadId,content:this.content,documentId:this.documentId,commentId:this.commentId,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,userId:this.userId,attributes:JSON.stringify(this.attributes),commentThread:this.commentThread?Sn.toJSON(this.commentThread):void 0}}static fromJSON(t){return new kn(t.documentId,t.commentThreadId,t.content,t.commentId?t.commentId:void 0,t.createdAt?new Date(t.createdAt):void 0,t.userId?t.userId:void 0,t.attributes?JSON.parse(t.attributes):{},t.commentThread?Sn.fromJSON(t.commentThread):void 0)}}class Pn extends c{commentThreadId;commentId;createdAt;static DESCRIPTOR_NAME="CommentsV2AddCommentResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},createdAt:{type:"string",id:3}}};constructor(t,e,n){super(),this.commentThreadId=t,this.commentId=e,this.createdAt=new Date(n)}toJSON(){return{commentThreadId:this.commentThreadId,commentId:this.commentId,createdAt:this.createdAt.toISOString()}}static fromJSON(t){return new Pn(t.commentThreadId,t.commentId,t.createdAt)}}class An extends c{documentId;static TYPE="92";static READABLE_TYPE_NAME="connectToComment";static DESCRIPTOR_NAME="CommentsV2ConnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new An(t.documentId)}}class Tn extends c{channel;_threads;_threadsV2;threads;static DESCRIPTOR_NAME="CommentsV2ConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},threads:{type:"string",rule:"repeated",id:2},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:3}}};constructor(t,e,n){super(),this.channel=t,this._threads=e,this._threadsV2=n,this.threads=n?.length?n:e}toJSON(){return{channel:this.channel,threads:this._threads?.map(t=>JSON.stringify(t)),threadsV2:this._threadsV2?.map(Sn.toJSON)}}static fromJSON(t){return new Tn(t.channel,t.threads?.map(t=>JSON.parse(t)),t.threadsV2?.map(Sn.fromJSON))}}class _n extends c{documentId;commentThreadId;commentId;static TYPE="95";static READABLE_TYPE_NAME="removeComment";static DESCRIPTOR_NAME="CommentsV2RemoveCommentMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},documentId:{type:"string",id:3}}};constructor(t,e,n){super(),this.documentId=t,this.commentThreadId=e,this.commentId=n}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId}}static fromJSON(t){return new _n(t.documentId,t.commentThreadId,t.commentId)}}class Cn extends c{documentId;commentThreadId;static TYPE="97";static READABLE_TYPE_NAME="removeCommentThread";static DESCRIPTOR_NAME="CommentsV2RemoveCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(t,e){super(),this.documentId=t,this.commentThreadId=e}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(t){return new Cn(t.documentId,t.commentThreadId)}}class En extends c{documentId;commentThreadId;commentId;content;attributes;isAttributesUpdated;commentThread;static TYPE="96";static READABLE_TYPE_NAME="updateComment";static DESCRIPTOR_NAME="CommentsV2UpdateCommentMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},content:{type:"string",id:3},documentId:{type:"string",id:4},attributes:{type:"string",id:5},isAttributesUpdated:{type:"bool",id:6},commentThread:{type:"CommentsThreadDescriptor",id:7}}};constructor(t,e,n,r,s=null,o=!1,i){super(),this.documentId=t,this.commentThreadId=e,this.commentId=n,this.content=r,this.attributes=s,this.isAttributesUpdated=o,this.commentThread=i}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId,content:this.content,attributes:this.attributes?JSON.stringify(this.attributes):null,isAttributesUpdated:this.isAttributesUpdated,commentThread:this.commentThread?Sn.toJSON(this.commentThread):void 0}}static fromJSON(t){return new En(t.documentId,t.commentThreadId,t.commentId,t.content,t.attributes?JSON.parse(t.attributes):null,t.isAttributesUpdated,t.commentThread?Sn.fromJSON(t.commentThread):void 0)}}class xn extends c{commentThreadId;documentId;static TYPE="93";static READABLE_TYPE_NAME="getComment";static DESCRIPTOR_NAME="CommentsV2GetCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(t,e){super(),this.commentThreadId=t,this.documentId=e}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId}}static fromJSON(t){return new xn(t.commentThreadId,t.documentId)}}class jn extends c{commentThreadId;_comments;_commentsV2;resolvedBy;comments;createdAt;deletedAt;resolvedAt;attributes;context;unlinkedAt;static DESCRIPTOR_NAME="CommentsV2GetCommentThreadResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"string",rule:"repeated",id:2},commentsV2:{type:"CommentDescriptor",rule:"repeated",id:3},resolvedAt:{type:"string",id:4},resolvedBy:{type:"string",id:5},context:{type:"string",id:6},createdAt:{type:"string",id:7},deletedAt:{type:"string",id:8},attributes:{type:"string",id:9},unlinkedAt:{type:"string",id:10}}};constructor(t,e,n,r,s,o,i,a,c,d){super(),this.commentThreadId=t,this._comments=e,this._commentsV2=n,this.resolvedBy=s,this.comments=n?.length?n:e,this.createdAt=i?new Date(i):void 0,this.deletedAt="string"==typeof a?new Date(a):a,this.resolvedAt="string"==typeof c?new Date(c):c,this.unlinkedAt="string"==typeof d?new Date(d):d,this.attributes="string"==typeof r?JSON.parse(r):r,this.context="string"==typeof o?JSON.parse(o):o}toJSON(){return{commentThreadId:this.commentThreadId,comments:this._comments?.map(t=>JSON.stringify(t)),commentsV2:this._commentsV2?.map(In.toJSON),attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,context:this.context?JSON.stringify(this.context):this.context,resolvedBy:this.resolvedBy,createdAt:this.createdAt?.toISOString(),deletedAt:this.deletedAt?.toISOString(),resolvedAt:this.resolvedAt?.toISOString(),unlinkedAt:this.unlinkedAt?.toISOString()}}static fromJSON(t){return new jn(t.commentThreadId,t.comments?.map(t=>function(t){const e=JSON.parse(t);return{...e,createdAt:new Date(e.createdAt)}}(t)),t.commentsV2?.map(In.fromJSON),t.attributes?JSON.parse(t.attributes):t.attributes,t.resolvedBy,t.context?JSON.parse(t.context):t.context,t.createdAt,t.deletedAt,t.resolvedAt,t.unlinkedAt)}}class Dn extends c{documentId;static TYPE="94";static READABLE_TYPE_NAME="getDocumentThreads";static DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new Dn(t.documentId)}}class Rn extends c{_threads;_threadsV2;threads;static DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsResponse";static DESCRIPTOR={fields:{threads:{type:"string",rule:"repeated",id:1},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:2}}};constructor(t,e){super(),this._threads=t,this._threadsV2=e,this.threads=e?.length?e:t}toJSON(){return{threads:this._threads?.map(t=>JSON.stringify(t)),threadsV2:this._threadsV2?.map(Sn.toJSON)}}static fromJSON(t){return new Rn(t.threads?.map(t=>function(t){const e=JSON.parse(t),n={...e};return e.comments&&(n.comments=e.comments?.map(t=>({...t,createdAt:new Date(t.createdAt)}))),n}(t)),t.threadsV2?.map(Sn.fromJSON))}}class Nn extends a{static DESCRIPTOR_NAME="CommentThreadAddedCommentDescriptor";static DESCRIPTOR={fields:{commentId:{id:1,type:"string"},createdAt:{id:2,type:"string"}}};static toJSON(t){return{commentId:t.commentId,createdAt:t.createdAt?.toISOString()}}static fromJSON(t){return{commentId:t.commentId,createdAt:new Date(t.createdAt)}}}class Vn extends c{commentThreadId;comments;createdAt;static DESCRIPTOR_NAME="CommentsV2AddCommentThreadResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},createdAt:{type:"string",id:2},comments:{type:"CommentThreadAddedCommentDescriptor",rule:"repeated",id:3}}};constructor(t,e,n=[]){super(),this.commentThreadId=t,this.comments=n,this.createdAt=new Date(e)}toJSON(){return{commentThreadId:this.commentThreadId,createdAt:this.createdAt.toISOString(),comments:this.comments.map(t=>Nn.toJSON(t))}}static fromJSON(t){return new Vn(t.commentThreadId,t.createdAt,t.comments.map(t=>Nn.fromJSON(t)))}}class Mn extends c{documentId;commentThreadId;comments;context;resolvedBy;attributes;createdAt;resolvedAt;deletedAt;static TYPE="140";static READABLE_TYPE_NAME="addCommentThread";static DESCRIPTOR_NAME="CommentsV2AddCommentThreadMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},commentThreadId:{type:"string",id:2},context:{type:"string",id:3},createdAt:{type:"string",id:4},resolvedAt:{type:"string",id:5},resolvedBy:{type:"string",id:6},attributes:{type:"string",id:7},deletedAt:{type:"string",id:8},comments:{type:"CommentDescriptor",rule:"repeated",id:9}}};constructor(t,e,n=[],r,s=null,o=null,i=null,a=null,c=null){super(),this.documentId=t,this.commentThreadId=e,this.comments=n,this.context=r,this.resolvedBy=s,this.attributes=c,this.createdAt=o?new Date(o):"",this.resolvedAt=i?new Date(i):"",this.deletedAt=a?new Date(a):""}toJSON(){return{commentThreadId:this.commentThreadId,context:this.context?JSON.stringify(this.context):this.context,documentId:this.documentId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt instanceof Date?this.resolvedAt.toISOString():this.resolvedAt,deletedAt:this.deletedAt instanceof Date?this.deletedAt.toISOString():this.deletedAt,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,comments:this.comments?.map(t=>In.toJSON(t))}}static fromJSON(t){return new Mn(t.documentId,t.commentThreadId,t.comments?.map(e=>In.fromJSON({...e,documentId:t.documentId,commentThreadId:t.commentThreadId})),t.context?JSON.parse(t.context):t.context,t.resolvedBy,t.createdAt?new Date(t.createdAt):void 0,t.resolvedAt?new Date(t.resolvedAt):void 0,t.deletedAt?new Date(t.deletedAt):void 0,t.attributes?JSON.parse(t.attributes):t.attributes)}}class Bn extends c{commentThreadId;documentId;resolvedBy;resolvedAt;static TYPE="142";static READABLE_TYPE_NAME="resolveCommentThread";static DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedBy:{type:"string",id:3},resolvedAt:{type:"string",id:4}}};constructor(t,e,n,r){super(),this.commentThreadId=t,this.documentId=e,this.resolvedBy=n,this.resolvedAt=r?new Date(r):void 0}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt?.toISOString()}}static fromJSON(t){return new Bn(t.commentThreadId,t.documentId,t.resolvedBy,t.resolvedAt)}}class Un extends c{commentThreadId;documentId;static TYPE="141";static READABLE_TYPE_NAME="reopenCommentThread";static DESCRIPTOR_NAME="CommentsV2ReopenCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(t,e){super(),this.commentThreadId=t,this.documentId=e}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(t){return new Un(t.commentThreadId,t.documentId)}}class Jn extends c{commentThreadId;documentId;context;attributes;unlinkedAt;static TYPE="143";static READABLE_TYPE_NAME="updateCommentThread";static DESCRIPTOR_NAME="CommentsV2UpdateCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},context:{type:"string",id:3},attributes:{type:"string",id:4},unlinkedAt:{type:"string",id:5}}};constructor(t,e,n,r=null,s=null){super(),this.commentThreadId=t,this.documentId=e,this.context=n,this.attributes=r,this.unlinkedAt=s?new Date(s):""}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,context:this.context?JSON.stringify(this.context):this.context,attributes:this.attributes?JSON.stringify(this.attributes):null,unlinkedAt:this.unlinkedAt instanceof Date?this.unlinkedAt.toISOString():this.unlinkedAt}}static fromJSON(t){return new Jn(t.commentThreadId,t.documentId,t.context?JSON.parse(t.context):t.context,t.attributes?JSON.parse(t.attributes):null,t.unlinkedAt?new Date(t.unlinkedAt):null)}}class qn extends c{commentThreadId;documentId;resolvedBy;resolvedAt;static DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4}}};constructor(t,e,n,r){super(),this.commentThreadId=t,this.documentId=e,this.resolvedBy=n,this.resolvedAt=new Date(r)}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt.toISOString()}}static fromJSON(t){return new qn(t.commentThreadId,t.documentId,t.resolvedBy,t.resolvedAt)}}class Ln extends((0,s.EmitterMixin)()){_documentId;_isConnected=!1;_wsGateway;_channel;_connectedSessions;static _SERVICE=9;constructor(t){super(),this._documentId=t}get isConnected(){return this._isConnected}async connect(t){if(this._isConnected)return;if(t.state!==Se.CONNECTED)throw new Kt("WebSocket Gateway is not connected.",t);const e=new An(this._documentId);this._wsGateway=t,this.stopListening(t,"change:state");const n=await t._sendRequest(9,An.TYPE,p.encode(e)),{channel:r,threads:s}=p.decode(n,Tn);return this.listenTo(t,"change:state",(t,e,n)=>this._onWsGatewayStateChange(n),{priority:Pe._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,r),this._isConnected=!0,this.fire("connected"),s}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async addComment(t,e,n,r){const s=new kn(this._documentId,t,n,e,void 0,void 0,r),o=await this._sendRequest(kn.TYPE,s);return p.decode(o,Pn)}async updateComment(t,e,n,r){const s=void 0!==r,o=new En(this._documentId,t,e,n,r,s);await this._sendRequest(En.TYPE,o)}async removeComment(t,e){const n=new _n(this._documentId,t,e);await this._sendRequest(_n.TYPE,n)}async removeCommentThread(t){const e=new Cn(this._documentId,t);await this._sendRequest(Cn.TYPE,e)}async addCommentThread(t){const e=new Mn(this._documentId,t.commentThreadId,t.comments?.map(e=>({...e,documentId:this._documentId,commentThreadId:t.commentThreadId})),t.context,t.resolvedBy,t.createdAt,t.resolvedAt,t.deletedAt,t.attributes),n=await this._sendRequest(Mn.TYPE,e);return p.decode(n,Vn)}async resolveCommentThread(t){const e=new Bn(t,this._documentId),n=await this._sendRequest(Bn.TYPE,e);return p.decode(n,qn)}async reopenCommentThread(t){const e=new Un(t,this._documentId);await this._sendRequest(Un.TYPE,e)}async updateCommentThread(t){const e=new Jn(t.commentThreadId,this._documentId,t.context,t.attributes,t.unlinkedAt);await this._sendRequest(Jn.TYPE,e)}async getCommentThread(t,e=1){const n=new xn(t,this._documentId);try{const t=await this._sendRequest(xn.TYPE,n),e=p.decode(t,jn);return{commentThreadId:e.commentThreadId,comments:e.comments,attributes:e.attributes,context:e.context,resolvedAt:e.resolvedAt,resolvedBy:e.resolvedBy,deletedAt:e.deletedAt,unlinkedAt:e.unlinkedAt}}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&e<5)return await(r=100*e,new Promise(t=>{setTimeout(t,r)})),this.getCommentThread(t,e+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw Wt.fromPublicError(n)}var r}async getDocumentThreads(){const t=new Dn(this._documentId),e=await this._sendRequest(Dn.TYPE,t),{threads:n}=p.decode(e,Rn);return{threads:n}}async getConnectedSessions(){if(!this._isConnected)throw new Be("Comments",this);return this._connectedSessions||(this._connectedSessions=await ln.getConnectedSessions(this._wsGateway,this._documentId,9)),this._connectedSessions}_connectToChannel(t,e){this._channel=t._getChannel(Ln._SERVICE,e),this._channel&&(this.listenTo(this._channel,this._channel.getEventName(kn.TYPE),(t,e)=>{const n=p.decode(e,kn);this.fire("commentAdded",n)}),this.listenTo(this._channel,this._channel.getEventName(_n.TYPE),(t,e)=>{const n=p.decode(e,_n);this.fire("commentRemoved",n)}),this.listenTo(this._channel,this._channel.getEventName(En.TYPE),(t,e)=>{const n=p.decode(e,En);this.fire("commentUpdated",n)}),this.listenTo(this._channel,this._channel.getEventName(Cn.TYPE),(t,e)=>{const n=p.decode(e,Cn);this.fire("commentThreadRemoved",n)}),this.listenTo(this._channel,this._channel.getEventName(Mn.TYPE),(t,e)=>{const n=p.decode(e,Mn);this.fire("commentThreadAdded",n)}),this.listenTo(this._channel,this._channel.getEventName(Jn.TYPE),(t,e)=>{const n=p.decode(e,Jn);this.fire("commentThreadUpdated",n)}),this.listenTo(this._channel,this._channel.getEventName(Bn.TYPE),(t,e)=>{const n=p.decode(e,Bn);this.fire("commentThreadResolved",n)}),this.listenTo(this._channel,this._channel.getEventName(Un.TYPE),(t,e)=>{const n=p.decode(e,Un);this.fire("commentThreadReopened",n)}))}_onWsGatewayStateChange(t){t===Se.DISCONNECTED&&this.disconnect()}_sendRequest(t,e){if(!this._wsGateway||!this._isConnected)throw new Be("Comments",this);return this._wsGateway._sendRequest(9,t,p.encode(e))}}const Gn=Ln;function Hn(t,e){const n=zn();return(Hn=function(t,e){return n[t-=273]})(t,e)}const Yn=Hn;function zn(){const t=["connection","plugins","error","constructor","connected","has","21PwZkhr","delete","define","from","code","56470HamxVP","websocketgateway-missing-websocket-url","pluginName","disconnect","config","CONNECTING","connect","context","showWarning","stopListening","776853gBiIhf","_domEmitter","CONNECTED","websocketgateway-missing-token","addToReconnectionStack","all","5342yIBPIj","isOfficialPlugin","set","get","isInReconnectionStack","initialReconnectionInterval","add","477jMcWPu","change:me","token","requires","Connected users limit exceeded","_isBrowserOffline","webSocketUrl","websocketgateway-plugin-already-registered","online","listenTo","cloudServices.connectionTimeout","cloudServices.requestTimeout","The limit of maximum concurrent connections that the collaboration server can handle has been reached. Try opening the document again in a few minutes. Please contact your system administrator if the problem persists.","382508SRvhaf","catch","state","then","limitExceeded","bind","_reconnectionStack","_reconnect","removeFromReconnectionStack","DISCONNECTED","cloudservices-init","108162RXlSfD","reconnect","2017935chkusW","cloudservices-reconnection-error","2262088QHGmPG","_shouldPluginsReconnect","WebSocketGateway","offline","real-time-collaboration","init","isPremiumPlugin","CloudServices","function","2ljfukt","websocketgateway-invalid-plugin-interface","destroy"];return(zn=function(){return t})()}!function(t){const e=Hn,n=t();for(;;)try{if(293050===parseInt(e(343))/1*(parseInt(e(299))/2)+parseInt(e(293))/3+-parseInt(e(319))/4+-parseInt(e(332))/5+parseInt(e(330))/6*(-parseInt(e(278))/7)+parseInt(e(334))/8+parseInt(e(306))/9*(parseInt(e(283))/10))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(zn);class Fn extends e.ContextPlugin{static[Yn(336)]=(()=>Pe)();static[Yn(304)]=1e3;[Yn(346)];[Yn(325)];[Yn(335)];[Yn(294)];static get[Yn(309)](){return[Yn(341),o.Notification]}static get[Yn(285)](){return Yn(336)}static get[Yn(300)](){return!0}static get[Yn(340)](){return!0}constructor(t){const e=Yn;super(t),this[e(301)](e(321),Se[e(295)]),this[e(301)](e(311),!1),this[e(325)]=new Set,this[e(335)]=!1,this[e(294)]=new((0,s.DomEmitterMixin)())}[Yn(339)](){const t=Yn,e=this[t(290)],n=e[t(273)][t(302)](t(341)),r=e[t(273)][t(302)](o.Notification);if(!n[t(308)])throw new s.CKEditorError(t(296),this);if(!n[t(312)])throw new s.CKEditorError(t(284),this);return this[t(294)][t(315)](window,t(337),()=>this[t(311)]=!0),this[t(294)][t(315)](window,t(314),()=>this[t(311)]=!1),this[t(290)][t(287)][t(280)](t(316),10),this[t(290)][t(287)][t(280)](t(317),20),Fn[t(336)][t(289)](n[t(308)],n[t(312)],{timeout:1e3*this[t(290)][t(287)][t(302)](t(316)),requestTimeout:1e3*this[t(290)][t(287)][t(302)](t(317))})[t(322)](e=>{const n=t;if(this[n(346)]=e,this[n(324)](n(321)).to(e,n(321),this,n(311),(t,e)=>(n(276)!==t&&(this[n(335)]=!0),e||t!==Se[n(295)]?Se[n(328)]:this[n(321)]==Se[n(328)]&&this[n(335)]?(this[n(335)]=!1,this[n(326)](),Se[n(288)]):Se[n(295)])),this[n(346)].on(n(274),(t,e)=>{const o=n;if(o(323)!==e[o(282)])throw console[o(274)](e),new s.CKEditorError(o(329),null,{originalError:e});r[o(291)](o(318),{title:o(310),namespace:o(338)})}),!e.me)return new Promise(t=>e.on(n(307),t))})[t(320)](e=>{const n=t;throw console[n(274)](e),new s.CKEditorError(n(329),null,{originalError:e})})}[Yn(297)](t){const e=Yn;if(e(342)!=typeof t[e(331)])throw new s.CKEditorError(e(344),this);if(this[e(303)](t))throw new s.CKEditorError(e(313),this,{name:t[e(275)][e(285)]});this[e(325)][e(305)](t)}[Yn(327)](t){const e=Yn;this[e(325)][e(279)](t)}[Yn(303)](t){const e=Yn;return this[e(325)][e(277)](t)}[Yn(326)](){const t=Yn;return this[t(346)][t(331)]()[t(322)](()=>Promise[t(298)](Array[t(281)](this[t(325)],e=>e[t(331)]())))[t(322)](()=>this[t(321)]=Se[t(295)])[t(320)](e=>{const n=t;throw console[n(274)](e),new s.CKEditorError(n(333),this[n(290)])})}[Yn(286)](){const t=Yn;this[t(346)]&&this[t(346)][t(286)](),this[t(321)]=Se[t(328)],this[t(294)][t(292)]()}[Yn(345)](){const t=Yn;this[t(286)](),super[t(345)]()}}var Kn=n(211);const Wn=Xn;function Zn(){const t=["sessions-register-already-registered","channelConnectedUsers","forEach","133476WibZGK","change:state","_createUser","sessions-unregister-not-exist","hiddenInPresenceList","unregister","remove","user","connection","_uniqueUsersCount","addUser","mySessionId","register","sessionAdd:","getUser","_registeredSessions","orderNumber","372quaAug","delete","add","isMe","size","connected","19061170vAHPfC","25509bfKIcX","listenTo","clear","180rVLuDV","isOfficialPlugin","role","803120fvEdbI","init","_users","_handleSessionAdd","values","allConnectedUsers","assign","getUserBySessionId","getUserSessions","plugins","11FqNFIh","248EcFMek","set","4754712aTnxUk","stopListening","_handleSessionRemove","isPremiumPlugin","getUserRole","sessionId","requires","908145NceMVW","get","fire","7002MksIUq","Sessions","has","defineMe","pluginName","channelSessions","state","context"];return(Zn=function(){return t})()}function Xn(t,e){const n=Zn();return(Xn=function(t,e){return n[t-=116]})(t,e)}!function(t){const e=Xn,n=t();for(;;)try{if(421677===-parseInt(e(120))/1*(-parseInt(e(158))/2)+parseInt(e(155))/3*(-parseInt(e(148))/4)+parseInt(e(161))/5+-parseInt(e(174))/6+parseInt(e(131))/7*(-parseInt(e(172))/8)+-parseInt(e(117))/9+-parseInt(e(154))/10*(-parseInt(e(171))/11))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Zn);class Qn extends e.ContextPlugin{[Wn(125)];[Wn(129)];[Wn(166)];[Wn(146)];[Wn(140)];[Wn(163)];static get[Wn(124)](){return Wn(121)}static get[Wn(159)](){return!0}static get[Wn(177)](){return!0}static get[Wn(116)](){return[Fn,Kn.Users]}constructor(t){const e=Wn;super(t),this[e(125)]=new Map,this[e(129)]=new Map,this[e(166)]=new s.Collection,this[e(146)]=new Map,this[e(140)]=0,this[e(163)]=this[e(127)][e(170)][e(118)](Kn.Users)}[Wn(162)](){const t=Wn,e=this[t(127)][t(170)][t(118)](Fn);this[t(156)](e,t(132),(e,n,r)=>{const s=t;if(s(153)!==r)this[s(125)][s(130)](t=>t[s(157)]()),this[s(129)][s(130)](t=>t[s(157)]()),this[s(166)][s(157)]();else for(const[t,e]of this[s(146)])for(const n of e)this[s(164)](t,n)}),this[t(133)](e[t(139)].me,!0)}[Wn(143)](t,e){const n=Wn;if(this[n(146)][n(122)](t))throw new s.CKEditorError(n(128),null,{channelId:t});this[n(146)][n(173)](t,e),this[n(125)][n(173)](t,new s.Collection),this[n(129)][n(173)](t,new s.Collection),this[n(156)](e,n(150),(e,r)=>this[n(164)](t,r)),this[n(156)](e,n(137),(e,r)=>this[n(176)](t,r));for(const r of e)this[n(164)](t,r)}[Wn(136)](t){const e=Wn;if(!this[e(146)][e(122)](t))throw new s.CKEditorError(e(134),null,{channelId:t});const n=this[e(146)][e(118)](t);this[e(175)](n);for(const r of n)e(153)===this[e(127)][e(170)][e(118)](Fn)[e(126)]&&this[e(176)](t,r);this[e(146)][e(149)](t),this[e(125)][e(149)](t),this[e(129)][e(149)](t)}get[Wn(142)](){const t=Wn;return this[t(127)][t(170)][t(118)](Fn)[t(139)][t(179)]}[Wn(168)](t){const e=Wn;for(const n of this[e(125)][e(165)]())for(const r of n)if(r.id===t)return r[e(138)]}[Wn(169)](t,e){const n=Wn,r=e?[this[n(125)][n(118)](e)]:this[n(125)][n(165)](),s=new Set;for(const e of r)for(const r of e)r[n(138)].id===t.id&&s[n(150)](r.id);return s}[Wn(178)](t){const e=Wn;for(const n of this[e(125)][e(165)]())for(const r of n)if(r[e(138)]===t)return r[e(160)]}[Wn(164)](t,e){const n=Wn;if(n(153)!==this[n(127)][n(170)][n(118)](Fn)[n(126)])return;const r=e[n(138)],s=this[n(163)][n(145)](r.id)||this[n(133)](r),o=Object[n(167)]({},e,{user:s});if(this[n(125)][n(118)](t)[n(150)](o),!r[n(135)]){const e=this[n(129)][n(118)](t);e[n(122)](s.id)||e[n(150)](s),this[n(166)][n(122)](s.id)||r[n(135)]||this[n(166)][n(150)](s,s[n(151)]?0:void 0)}this[n(119)](n(144)+t,{channelId:t,session:o})}[Wn(176)](t,e){const n=Wn;if(n(153)!==this[n(127)][n(170)][n(118)](Fn)[n(126)])return;const r=this[n(129)][n(118)](t),s=e[n(138)];s.id&&(this[n(125)][n(118)](t)[n(137)](e.id),r[n(122)](s.id)&&!this[n(169)](s,t)[n(152)]&&r[n(137)](s.id),this[n(166)][n(118)](s.id)&&!this[n(169)](s)[n(152)]&&this[n(166)][n(137)](s.id))}[Wn(133)](t,e){const n=Wn,r=this[n(163)][n(141)](t);return e&&this[n(163)][n(123)](t.id),r[n(147)]=this[n(140)]++,r}}var $n=n(789),tr=n.n($n),er=n(437),nr=n.n(er),rr=n(298),sr=n.n(rr),or=n(207),ir=n.n(or),ar=n(825),cr=n.n(ar),dr=n(725),ur={attributes:{"data-cke":!0}};ur.setAttributes=ir(),ur.insert=sr().bind(null,"head"),ur.domAPI=nr(),ur.insertStyleElement=cr();tr()(dr.A,ur);dr.A&&dr.A.locals&&dr.A.locals;function lr(){const t=["conversion","25054008uujuiR","22083fjTtdp","undo","user:position","selection","getRange","spellcheck","listenTo","mouseleave","userPositionMarker","26gndNSu","markerToElement","update:user:range","set","74YCNlrS","removeMarker","outerHTML","plugins","Escape","markers","remove","destroy","split","getPositions","isInline","getContainedElement","mySessionId","schema","setAttribute","enqueueChange","user:range:","getMarkerClass","afterInit","isDocumentOperation","model","detach","view","isPremiumPlugin","_domEmitter","hasContent","newRange","markerToHighlight","render","document","markerName","deletionPosition","batch","getStart","get","stopListening","checkChild","orderNumber","contenteditable","isLimit","ck-user__selection","span","3126105Cpibdn","_createdBatches","getFirstRange","size","reconvertMarker","clear","66HugWhe","$graveyard","root","change:range","getUserBySessionId","mapper","hasDomSelection","createElement","getCustomProperty","highest","editingDowncast","updateMarker","UserMarkers","createRange","markerNameToElements","isSimilar","$text","commands","12426100dkznhR","createUserMarkerOperations","pluginName","12VTDhxF","toRange","element","applyOperation","toDomElement","rootName","marker","isObject","getSelectionClass","isOfficialPlugin","keydown","markerRange","setCustomProperty","84464dIXtep","addMarker","8ItSwmT","ck-user__marker ","end","getNearestSelectionRange","data-session-id","getAttribute","requires","nodeAfter",'⁠<span class="ck-user__marker-line" contenteditable="false"><span class="ck-user__marker-dot"></span></span>',"11aDQVZi","editing","mouseenter","textContent","parent","user:position:","color","editor","has","createUIElement","ck-user__marker_hovered","for","delete","removeClass","start","startsWith","user:range","ck-user__marker-tooltip","change","8598303vofLVw","add","name","classList","user:","addEventListener","oldRange","678244rxYBDF","innerHTML","tableCell","init","false","type","fromRange","isCollapsed"];return(lr=function(){return t})()}const hr=fr;!function(t){const e=fr,n=t();for(;;)try{if(635565===-parseInt(e(372))/1*(parseInt(e(385))/2)+parseInt(e(312))/3*(-parseInt(e(325))/4)+parseInt(e(285))/5+parseInt(e(291))/6*(-parseInt(e(362))/7)+-parseInt(e(327))/8*(parseInt(e(355))/9)+parseInt(e(309))/10*(-parseInt(e(336))/11)+-parseInt(e(371))/12*(-parseInt(e(381))/13))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(lr);class pr extends e.Plugin{[hr(409)]=new((0,s.DomEmitterMixin)());static get[hr(333)](){return[Qn]}static get[hr(311)](){return hr(303)}static get[hr(321)](){return!0}static get[hr(408)](){return!0}[hr(365)](){const t=hr,e=this[t(343)],n=e[t(388)][t(277)](Qn);e[t(370)][t(347)](t(301))[t(382)]({model:t(374),view:(r,{writer:s})=>function(e,n,r,s){const o=t,i=e[o(273)][o(393)](":")[2],a=r[o(295)](i);if(!a||i===r[o(397)])return;if(!s[o(405)][o(398)][o(279)](e[o(323)][o(350)],o(307)))return;const c={class:o(328)+a[o(342)][o(402)](),"data-name":a[o(357)],"data-session-id":i},d=s[o(405)][o(390)][o(277)](e[o(273)])[o(276)](),u=d[o(334)],l=s[o(405)][o(398)];if(u&&l[o(319)](u)&&l[o(395)](u)&&!s[o(405)][o(390)][o(277)](o(401)+i)[o(376)]()[o(369)])return;const h=d[o(340)];return s[o(405)][o(398)][o(282)](h)&&!s[o(405)][o(410)](h)&&(c[o(281)]=!1),function(t,e,n){const r=o,s=t[r(345)](r(284),e);return t[r(324)](r(380),!0,s),s[r(271)]=function(t){const e=r,s=this[e(316)](t),o=document[e(298)](e(284));return o[e(358)][e(356)](e(353)),o[e(399)](e(281),e(366)),o[e(399)](e(377),e(366)),o[e(339)]=n[e(357)],s[e(363)]=e(335)+o[e(387)]+"⁠",s[e(360)](e(338),()=>{const t=e;s[t(358)][t(356)](t(346))}),s[e(360)](e(379),()=>{const t=e;s[t(358)][t(391)](t(346))}),s},s[r(306)]=function(t){const e=r;return!(!this[e(299)](e(380))||!t[e(299)](e(380))||this[e(332)](e(331))!=t[e(332)](e(331)))},s}(n,c,a)}(r,s,n,e)}),e[t(370)][t(347)](t(301))[t(270)]({model:t(352),view:e=>function(e,n){const r=t,s=e[r(273)][r(393)](":")[2];if(s===n[r(397)])return null;const o=n[r(295)](s);return o?{id:s,classes:[r(283),o[r(342)][r(320)]()],attributes:{"data-session-id":s},priority:2e3+o[r(280)]}:{id:s,classes:[]}}(e,n)}),function(e){const n=t,r=e[n(405)],s=new Map,o=e[n(388)][n(277)](Qn);r[n(390)].on(n(383),(t,a,c,d)=>{const u=n;if(!d&&s[u(277)](a[u(357)]))return s[u(277)](a[u(357)])[u(406)](),void s[u(348)](a[u(357)]);const l=a[u(357)][u(393)](":")[2];if(l===o[u(397)])return;const h=u(341)+l;r[u(390)][u(344)](h)&&e[u(337)][u(289)](h),a.on(u(294),(t,e,n)=>{const o=u;if(o(292)!=e[o(293)][o(317)]&&o(292)==a[o(376)]()[o(293)][o(317)]&&!s[o(344)](a[o(357)])){const t=r[o(398)][o(330)](n[o(274)]);if(t){const e=i.ModelLiveRange[o(368)](t);s[o(384)](a[o(357)],e),e.on(o(294),(t,n,i)=>{const c=o;if(c(292)==e[c(293)][c(317)]){const t=r[c(398)][c(330)](i[c(274)]);t?(e[c(350)]=t[c(350)],e[c(329)]=t[c(329)]):(s[c(348)](a[c(357)]),e[c(406)]())}})}}})}),r[n(272)].on(n(354),()=>{const t=n;s[t(288)]>0&&r[t(400)]({isUndoable:!1},e=>{const n=t;for(const[t,o]of s)n(292)==r[n(390)][n(277)](t)[n(376)]()[n(293)][n(317)]&&(mr(t[n(393)](":")[2],o[n(313)](),r,e),o[n(406)]());s[n(290)]()})})}(e),this[t(409)][t(378)](s.global[t(272)],t(322),(n,{key:r})=>{const s=t;s(389)===r&&function(t){const e=s;t[e(337)][e(407)][e(354)](n=>{const r=e;for(const e of t[r(405)][r(390)]){if(!e[r(357)][r(351)](r(374)))continue;const s=t[r(337)][r(296)][r(305)](e[r(357)]);if(s)for(const t of s)n[r(349)](r(346),t)}})}(e)},{useCapture:!0})}[hr(403)](){const t=hr,e=this[t(343)],n=e[t(308)][t(277)](t(373));n&&e[t(405)].on(t(315),(r,s)=>{const o=t,i=s[0];if(!i[o(404)])return;if(o(318)!=i[o(367)]||!i[o(357)][o(351)](o(359)))return;const a=i[o(275)];n[o(286)][o(344)](a)&&(i[o(269)]=i[o(361)]?e[o(405)][o(304)](i[o(361)][o(350)],i[o(361)][o(329)]):null)},{priority:t(300)})}[hr(392)](){const t=hr;return this[t(409)][t(278)](),super[t(392)]()}[hr(310)](){const t=hr,e=this[t(343)],n=e[t(405)][t(272)],r=e[t(388)][t(277)](Qn);e[t(405)][t(400)]({isUndoable:!1},s=>{const o=t,i=o(401)+r[o(397)],a=o(341)+r[o(397)],c=e[o(405)][o(390)][o(344)](i);e[o(337)][o(407)][o(297)]?mr(r[o(397)],n[o(375)][o(287)](),e[o(405)],s):c&&(s[o(386)](i),s[o(386)](a))})}}function fr(t,e){const n=lr();return(fr=function(t,e){return n[t-=269]})(t,e)}function mr(t,e,n,r){const s=hr,o=s(401)+t,i=s(341)+t,a=e[s(396)]();let c=e[s(350)];if(a&&a.is(s(314),s(364))){const t=function(t,e){const n=s;for(const r of t[n(394)]())if(e[n(398)][n(279)](r,n(307)))return r}(e,n);t&&(c=t,e=r[s(304)](c))}const d=r[s(304)](c);n[s(390)][s(344)](o)?(r[s(302)](o,{range:e}),r[s(302)](i,{range:d})):(r[s(326)](o,{range:e,usingOperation:!0}),r[s(326)](i,{range:d,usingOperation:!0}))}function gr(t,e,n){const r=t.t,s=t.t;switch(e){case"PENDING_ACTION_SENDING_DATA":return s({string:"Sending data to the server.",id:"PENDING_ACTION_SENDING_DATA"});case"The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.":return s("The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.");case"The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.":return s("The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.");case"The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.":return s("The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.");case"The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.":return s("The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.");case"Synchronization issue":return s("Synchronization issue");case"Connected users list dropdown menu":return s("Connected users list dropdown menu");case"Collapsed connected users list (press ENTER to open it)":return s("Collapsed connected users list (press ENTER to open it)");case"Connected users list":return s("Connected users list");case"PENDING_ACTION_REVISION_HISTORY":return r({string:"Unsaved change in revision history.",id:"PENDING_ACTION_REVISION_HISTORY"});case"CONNECTED_USERS":return s({string:"1 connected user (me)",plural:"%0 connected users",id:"CONNECTED_USERS"},n);default:return""}}const yr=(()=>{var t=l.Reader,e=l.Writer,n=l.util,r=l.roots.default||(l.roots.default={});return r.AttributeOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.range=null,s.prototype.key="",s.prototype.oldValueBoolean=!1,s.prototype.oldValueJson="",s.prototype.newValueBoolean=!1,s.prototype.newValueJson="",s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.range&&Object.hasOwnProperty.call(t,"range")&&r.Range.encode(t.range,n.uint32(10).fork()).ldelim(),null!=t.key&&Object.hasOwnProperty.call(t,"key")&&n.uint32(18).string(t.key),null!=t.oldValueBoolean&&Object.hasOwnProperty.call(t,"oldValueBoolean")&&n.uint32(24).bool(t.oldValueBoolean),null!=t.oldValueJson&&Object.hasOwnProperty.call(t,"oldValueJson")&&n.uint32(34).string(t.oldValueJson),null!=t.newValueBoolean&&Object.hasOwnProperty.call(t,"newValueBoolean")&&n.uint32(40).bool(t.newValueBoolean),null!=t.newValueJson&&Object.hasOwnProperty.call(t,"newValueJson")&&n.uint32(50).string(t.newValueJson),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(56).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.AttributeOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.range=r.Range.decode(e,e.uint32(),void 0,o+1);break;case 2:a.key=e.string();break;case 3:a.oldValueBoolean=e.bool();break;case 4:a.oldValueJson=e.string();break;case 5:a.newValueBoolean=e.bool();break;case 6:a.newValueJson=e.string();break;case 7:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";if(null!=t.range&&t.hasOwnProperty("range")){var s=r.Range.verify(t.range,e+1);if(s)return"range."+s}return null!=t.key&&t.hasOwnProperty("key")&&!n.isString(t.key)?"key: string expected":null!=t.oldValueBoolean&&t.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof t.oldValueBoolean?"oldValueBoolean: boolean expected":null!=t.oldValueJson&&t.hasOwnProperty("oldValueJson")&&!n.isString(t.oldValueJson)?"oldValueJson: string expected":null!=t.newValueBoolean&&t.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof t.newValueBoolean?"newValueBoolean: boolean expected":null!=t.newValueJson&&t.hasOwnProperty("newValueJson")&&!n.isString(t.newValueJson)?"newValueJson: string expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.AttributeOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.AttributeOperation;if(null!=t.range){if("object"!=typeof t.range)throw TypeError(".AttributeOperation.range: object expected");s.range=r.Range.fromObject(t.range,e+1)}return null!=t.key&&(s.key=String(t.key)),null!=t.oldValueBoolean&&(s.oldValueBoolean=Boolean(t.oldValueBoolean)),null!=t.oldValueJson&&(s.oldValueJson=String(t.oldValueJson)),null!=t.newValueBoolean&&(s.newValueBoolean=Boolean(t.newValueBoolean)),null!=t.newValueJson&&(s.newValueJson=String(t.newValueJson)),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.range=null,n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=t.range&&t.hasOwnProperty("range")&&(n.range=r.Range.toObject(t.range,e)),null!=t.key&&t.hasOwnProperty("key")&&(n.key=t.key),null!=t.oldValueBoolean&&t.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=t.oldValueBoolean),null!=t.oldValueJson&&t.hasOwnProperty("oldValueJson")&&(n.oldValueJson=t.oldValueJson),null!=t.newValueBoolean&&t.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=t.newValueBoolean),null!=t.newValueJson&&t.hasOwnProperty("newValueJson")&&(n.newValueJson=t.newValueJson),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/AttributeOperation"},s}(),r.InsertOperation=function(){function s(t){if(this.nodes=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.position=null,s.prototype.nodes=n.emptyArray,s.prototype.shouldReceiveAttributes=!1,s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.position&&Object.hasOwnProperty.call(t,"position")&&r.Position.encode(t.position,n.uint32(10).fork()).ldelim(),null!=t.nodes&&t.nodes.length)for(var s=0;s<t.nodes.length;++s)r.Element.encode(t.nodes[s],n.uint32(18).fork()).ldelim();return null!=t.shouldReceiveAttributes&&Object.hasOwnProperty.call(t,"shouldReceiveAttributes")&&n.uint32(24).bool(t.shouldReceiveAttributes),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(32).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.InsertOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.position=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 2:a.nodes&&a.nodes.length||(a.nodes=[]),a.nodes.push(r.Element.decode(e,e.uint32(),void 0,o+1));break;case 3:a.shouldReceiveAttributes=e.bool();break;case 4:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";if(null!=t.position&&t.hasOwnProperty("position")&&(o=r.Position.verify(t.position,e+1)))return"position."+o;if(null!=t.nodes&&t.hasOwnProperty("nodes")){if(!Array.isArray(t.nodes))return"nodes: array expected";for(var s=0;s<t.nodes.length;++s){var o;if(o=r.Element.verify(t.nodes[s],e+1))return"nodes."+o}}return null!=t.shouldReceiveAttributes&&t.hasOwnProperty("shouldReceiveAttributes")&&"boolean"!=typeof t.shouldReceiveAttributes?"shouldReceiveAttributes: boolean expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.InsertOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.InsertOperation;if(null!=t.position){if("object"!=typeof t.position)throw TypeError(".InsertOperation.position: object expected");s.position=r.Position.fromObject(t.position,e+1)}if(t.nodes){if(!Array.isArray(t.nodes))throw TypeError(".InsertOperation.nodes: array expected");s.nodes=[];for(var o=0;o<t.nodes.length;++o){if("object"!=typeof t.nodes[o])throw TypeError(".InsertOperation.nodes: object expected");s.nodes[o]=r.Element.fromObject(t.nodes[o],e+1)}}return null!=t.shouldReceiveAttributes&&(s.shouldReceiveAttributes=Boolean(t.shouldReceiveAttributes)),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.nodes=[]),e.defaults&&(n.position=null,n.shouldReceiveAttributes=!1,n.wasUndone=!1),null!=t.position&&t.hasOwnProperty("position")&&(n.position=r.Position.toObject(t.position,e)),t.nodes&&t.nodes.length){n.nodes=[];for(var s=0;s<t.nodes.length;++s)n.nodes[s]=r.Element.toObject(t.nodes[s],e)}return null!=t.shouldReceiveAttributes&&t.hasOwnProperty("shouldReceiveAttributes")&&(n.shouldReceiveAttributes=t.shouldReceiveAttributes),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/InsertOperation"},s}(),r.MarkerOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.name="",s.prototype.oldRange=null,s.prototype.newRange=null,s.prototype.affectsData=!1,s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&n.uint32(10).string(t.name),null!=t.oldRange&&Object.hasOwnProperty.call(t,"oldRange")&&r.Range.encode(t.oldRange,n.uint32(18).fork()).ldelim(),null!=t.newRange&&Object.hasOwnProperty.call(t,"newRange")&&r.Range.encode(t.newRange,n.uint32(26).fork()).ldelim(),null!=t.affectsData&&Object.hasOwnProperty.call(t,"affectsData")&&n.uint32(32).bool(t.affectsData),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(40).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.MarkerOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.name=e.string();break;case 2:a.oldRange=r.Range.decode(e,e.uint32(),void 0,o+1);break;case 3:a.newRange=r.Range.decode(e,e.uint32(),void 0,o+1);break;case 4:a.affectsData=e.bool();break;case 5:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";if(null!=t.name&&t.hasOwnProperty("name")&&!n.isString(t.name))return"name: string expected";var s;if(null!=t.oldRange&&t.hasOwnProperty("oldRange")&&(s=r.Range.verify(t.oldRange,e+1)))return"oldRange."+s;if(null!=t.newRange&&t.hasOwnProperty("newRange")&&(s=r.Range.verify(t.newRange,e+1)))return"newRange."+s;return null!=t.affectsData&&t.hasOwnProperty("affectsData")&&"boolean"!=typeof t.affectsData?"affectsData: boolean expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.MarkerOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.MarkerOperation;if(null!=t.name&&(s.name=String(t.name)),null!=t.oldRange){if("object"!=typeof t.oldRange)throw TypeError(".MarkerOperation.oldRange: object expected");s.oldRange=r.Range.fromObject(t.oldRange,e+1)}if(null!=t.newRange){if("object"!=typeof t.newRange)throw TypeError(".MarkerOperation.newRange: object expected");s.newRange=r.Range.fromObject(t.newRange,e+1)}return null!=t.affectsData&&(s.affectsData=Boolean(t.affectsData)),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.name="",n.oldRange=null,n.newRange=null,n.affectsData=!1,n.wasUndone=!1),null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.oldRange&&t.hasOwnProperty("oldRange")&&(n.oldRange=r.Range.toObject(t.oldRange,e)),null!=t.newRange&&t.hasOwnProperty("newRange")&&(n.newRange=r.Range.toObject(t.newRange,e)),null!=t.affectsData&&t.hasOwnProperty("affectsData")&&(n.affectsData=t.affectsData),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/MarkerOperation"},s}(),r.MergeOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.sourcePosition=null,s.prototype.targetPosition=null,s.prototype.graveyardPosition=null,s.prototype.howMany=0,s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.sourcePosition&&Object.hasOwnProperty.call(t,"sourcePosition")&&r.Position.encode(t.sourcePosition,n.uint32(10).fork()).ldelim(),null!=t.targetPosition&&Object.hasOwnProperty.call(t,"targetPosition")&&r.Position.encode(t.targetPosition,n.uint32(18).fork()).ldelim(),null!=t.graveyardPosition&&Object.hasOwnProperty.call(t,"graveyardPosition")&&r.Position.encode(t.graveyardPosition,n.uint32(26).fork()).ldelim(),null!=t.howMany&&Object.hasOwnProperty.call(t,"howMany")&&n.uint32(32).uint32(t.howMany),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(40).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.MergeOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.sourcePosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 2:a.targetPosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 3:a.graveyardPosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 4:a.howMany=e.uint32();break;case 5:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";var s;if(null!=t.sourcePosition&&t.hasOwnProperty("sourcePosition")&&(s=r.Position.verify(t.sourcePosition,e+1)))return"sourcePosition."+s;if(null!=t.targetPosition&&t.hasOwnProperty("targetPosition")&&(s=r.Position.verify(t.targetPosition,e+1)))return"targetPosition."+s;if(null!=t.graveyardPosition&&t.hasOwnProperty("graveyardPosition")&&(s=r.Position.verify(t.graveyardPosition,e+1)))return"graveyardPosition."+s;return null!=t.howMany&&t.hasOwnProperty("howMany")&&!n.isInteger(t.howMany)?"howMany: integer expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.MergeOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.MergeOperation;if(null!=t.sourcePosition){if("object"!=typeof t.sourcePosition)throw TypeError(".MergeOperation.sourcePosition: object expected");s.sourcePosition=r.Position.fromObject(t.sourcePosition,e+1)}if(null!=t.targetPosition){if("object"!=typeof t.targetPosition)throw TypeError(".MergeOperation.targetPosition: object expected");s.targetPosition=r.Position.fromObject(t.targetPosition,e+1)}if(null!=t.graveyardPosition){if("object"!=typeof t.graveyardPosition)throw TypeError(".MergeOperation.graveyardPosition: object expected");s.graveyardPosition=r.Position.fromObject(t.graveyardPosition,e+1)}return null!=t.howMany&&(s.howMany=t.howMany>>>0),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.sourcePosition=null,n.targetPosition=null,n.graveyardPosition=null,n.howMany=0,n.wasUndone=!1),null!=t.sourcePosition&&t.hasOwnProperty("sourcePosition")&&(n.sourcePosition=r.Position.toObject(t.sourcePosition,e)),null!=t.targetPosition&&t.hasOwnProperty("targetPosition")&&(n.targetPosition=r.Position.toObject(t.targetPosition,e)),null!=t.graveyardPosition&&t.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=r.Position.toObject(t.graveyardPosition,e)),null!=t.howMany&&t.hasOwnProperty("howMany")&&(n.howMany=t.howMany),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/MergeOperation"},s}(),r.MoveOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.sourcePosition=null,s.prototype.howMany=0,s.prototype.targetPosition=null,s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.sourcePosition&&Object.hasOwnProperty.call(t,"sourcePosition")&&r.Position.encode(t.sourcePosition,n.uint32(10).fork()).ldelim(),null!=t.howMany&&Object.hasOwnProperty.call(t,"howMany")&&n.uint32(16).uint32(t.howMany),null!=t.targetPosition&&Object.hasOwnProperty.call(t,"targetPosition")&&r.Position.encode(t.targetPosition,n.uint32(26).fork()).ldelim(),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(32).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.MoveOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.sourcePosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 2:a.howMany=e.uint32();break;case 3:a.targetPosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 4:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";var s;if(null!=t.sourcePosition&&t.hasOwnProperty("sourcePosition")&&(s=r.Position.verify(t.sourcePosition,e+1)))return"sourcePosition."+s;if(null!=t.howMany&&t.hasOwnProperty("howMany")&&!n.isInteger(t.howMany))return"howMany: integer expected";if(null!=t.targetPosition&&t.hasOwnProperty("targetPosition")&&(s=r.Position.verify(t.targetPosition,e+1)))return"targetPosition."+s;return null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.MoveOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.MoveOperation;if(null!=t.sourcePosition){if("object"!=typeof t.sourcePosition)throw TypeError(".MoveOperation.sourcePosition: object expected");s.sourcePosition=r.Position.fromObject(t.sourcePosition,e+1)}if(null!=t.howMany&&(s.howMany=t.howMany>>>0),null!=t.targetPosition){if("object"!=typeof t.targetPosition)throw TypeError(".MoveOperation.targetPosition: object expected");s.targetPosition=r.Position.fromObject(t.targetPosition,e+1)}return null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.sourcePosition=null,n.howMany=0,n.targetPosition=null,n.wasUndone=!1),null!=t.sourcePosition&&t.hasOwnProperty("sourcePosition")&&(n.sourcePosition=r.Position.toObject(t.sourcePosition,e)),null!=t.howMany&&t.hasOwnProperty("howMany")&&(n.howMany=t.howMany),null!=t.targetPosition&&t.hasOwnProperty("targetPosition")&&(n.targetPosition=r.Position.toObject(t.targetPosition,e)),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/MoveOperation"},s}(),r.RenameOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.position=null,s.prototype.oldName="",s.prototype.newName="",s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.position&&Object.hasOwnProperty.call(t,"position")&&r.Position.encode(t.position,n.uint32(10).fork()).ldelim(),null!=t.oldName&&Object.hasOwnProperty.call(t,"oldName")&&n.uint32(18).string(t.oldName),null!=t.newName&&Object.hasOwnProperty.call(t,"newName")&&n.uint32(26).string(t.newName),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(32).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.RenameOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.position=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 2:a.oldName=e.string();break;case 3:a.newName=e.string();break;case 4:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";if(null!=t.position&&t.hasOwnProperty("position")){var s=r.Position.verify(t.position,e+1);if(s)return"position."+s}return null!=t.oldName&&t.hasOwnProperty("oldName")&&!n.isString(t.oldName)?"oldName: string expected":null!=t.newName&&t.hasOwnProperty("newName")&&!n.isString(t.newName)?"newName: string expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.RenameOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.RenameOperation;if(null!=t.position){if("object"!=typeof t.position)throw TypeError(".RenameOperation.position: object expected");s.position=r.Position.fromObject(t.position,e+1)}return null!=t.oldName&&(s.oldName=String(t.oldName)),null!=t.newName&&(s.newName=String(t.newName)),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.position=null,n.oldName="",n.newName="",n.wasUndone=!1),null!=t.position&&t.hasOwnProperty("position")&&(n.position=r.Position.toObject(t.position,e)),null!=t.oldName&&t.hasOwnProperty("oldName")&&(n.oldName=t.oldName),null!=t.newName&&t.hasOwnProperty("newName")&&(n.newName=t.newName),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RenameOperation"},s}(),r.RootAttributeOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.root="",s.prototype.key="",s.prototype.oldValueBoolean=!1,s.prototype.oldValueJson="",s.prototype.newValueBoolean=!1,s.prototype.newValueJson="",s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.root&&Object.hasOwnProperty.call(t,"root")&&n.uint32(10).string(t.root),null!=t.key&&Object.hasOwnProperty.call(t,"key")&&n.uint32(18).string(t.key),null!=t.oldValueBoolean&&Object.hasOwnProperty.call(t,"oldValueBoolean")&&n.uint32(24).bool(t.oldValueBoolean),null!=t.oldValueJson&&Object.hasOwnProperty.call(t,"oldValueJson")&&n.uint32(34).string(t.oldValueJson),null!=t.newValueBoolean&&Object.hasOwnProperty.call(t,"newValueBoolean")&&n.uint32(40).bool(t.newValueBoolean),null!=t.newValueJson&&Object.hasOwnProperty.call(t,"newValueJson")&&n.uint32(50).string(t.newValueJson),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(56).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.RootAttributeOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.root=e.string();break;case 2:a.key=e.string();break;case 3:a.oldValueBoolean=e.bool();break;case 4:a.oldValueJson=e.string();break;case 5:a.newValueBoolean=e.bool();break;case 6:a.newValueJson=e.string();break;case 7:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){return"object"!=typeof t||null===t?"object expected":(void 0===e&&(e=0),e>n.recursionLimit?"maximum nesting depth exceeded":null!=t.root&&t.hasOwnProperty("root")&&!n.isString(t.root)?"root: string expected":null!=t.key&&t.hasOwnProperty("key")&&!n.isString(t.key)?"key: string expected":null!=t.oldValueBoolean&&t.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof t.oldValueBoolean?"oldValueBoolean: boolean expected":null!=t.oldValueJson&&t.hasOwnProperty("oldValueJson")&&!n.isString(t.oldValueJson)?"oldValueJson: string expected":null!=t.newValueBoolean&&t.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof t.newValueBoolean?"newValueBoolean: boolean expected":null!=t.newValueJson&&t.hasOwnProperty("newValueJson")&&!n.isString(t.newValueJson)?"newValueJson: string expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null)},s.fromObject=function(t,e){if(t instanceof r.RootAttributeOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.RootAttributeOperation;return null!=t.root&&(s.root=String(t.root)),null!=t.key&&(s.key=String(t.key)),null!=t.oldValueBoolean&&(s.oldValueBoolean=Boolean(t.oldValueBoolean)),null!=t.oldValueJson&&(s.oldValueJson=String(t.oldValueJson)),null!=t.newValueBoolean&&(s.newValueBoolean=Boolean(t.newValueBoolean)),null!=t.newValueJson&&(s.newValueJson=String(t.newValueJson)),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.root="",n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=t.root&&t.hasOwnProperty("root")&&(n.root=t.root),null!=t.key&&t.hasOwnProperty("key")&&(n.key=t.key),null!=t.oldValueBoolean&&t.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=t.oldValueBoolean),null!=t.oldValueJson&&t.hasOwnProperty("oldValueJson")&&(n.oldValueJson=t.oldValueJson),null!=t.newValueBoolean&&t.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=t.newValueBoolean),null!=t.newValueJson&&t.hasOwnProperty("newValueJson")&&(n.newValueJson=t.newValueJson),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RootAttributeOperation"},s}(),r.RootOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.rootName="",s.prototype.elementName="",s.prototype.isAdd=!1,s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.rootName&&Object.hasOwnProperty.call(t,"rootName")&&n.uint32(10).string(t.rootName),null!=t.elementName&&Object.hasOwnProperty.call(t,"elementName")&&n.uint32(18).string(t.elementName),null!=t.isAdd&&Object.hasOwnProperty.call(t,"isAdd")&&n.uint32(24).bool(t.isAdd),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(32).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.RootOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.rootName=e.string();break;case 2:a.elementName=e.string();break;case 3:a.isAdd=e.bool();break;case 4:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){return"object"!=typeof t||null===t?"object expected":(void 0===e&&(e=0),e>n.recursionLimit?"maximum nesting depth exceeded":null!=t.rootName&&t.hasOwnProperty("rootName")&&!n.isString(t.rootName)?"rootName: string expected":null!=t.elementName&&t.hasOwnProperty("elementName")&&!n.isString(t.elementName)?"elementName: string expected":null!=t.isAdd&&t.hasOwnProperty("isAdd")&&"boolean"!=typeof t.isAdd?"isAdd: boolean expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null)},s.fromObject=function(t,e){if(t instanceof r.RootOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.RootOperation;return null!=t.rootName&&(s.rootName=String(t.rootName)),null!=t.elementName&&(s.elementName=String(t.elementName)),null!=t.isAdd&&(s.isAdd=Boolean(t.isAdd)),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.rootName="",n.elementName="",n.isAdd=!1,n.wasUndone=!1),null!=t.rootName&&t.hasOwnProperty("rootName")&&(n.rootName=t.rootName),null!=t.elementName&&t.hasOwnProperty("elementName")&&(n.elementName=t.elementName),null!=t.isAdd&&t.hasOwnProperty("isAdd")&&(n.isAdd=t.isAdd),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RootOperation"},s}(),r.SplitOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.splitPosition=null,s.prototype.graveyardPosition=null,s.prototype.howMany=0,s.prototype.insertionPosition=null,s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.splitPosition&&Object.hasOwnProperty.call(t,"splitPosition")&&r.Position.encode(t.splitPosition,n.uint32(10).fork()).ldelim(),null!=t.graveyardPosition&&Object.hasOwnProperty.call(t,"graveyardPosition")&&r.Position.encode(t.graveyardPosition,n.uint32(18).fork()).ldelim(),null!=t.howMany&&Object.hasOwnProperty.call(t,"howMany")&&n.uint32(24).uint32(t.howMany),null!=t.insertionPosition&&Object.hasOwnProperty.call(t,"insertionPosition")&&r.Position.encode(t.insertionPosition,n.uint32(34).fork()).ldelim(),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(40).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.SplitOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.splitPosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 2:a.graveyardPosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 3:a.howMany=e.uint32();break;case 4:a.insertionPosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 5:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";var s;if(null!=t.splitPosition&&t.hasOwnProperty("splitPosition")&&(s=r.Position.verify(t.splitPosition,e+1)))return"splitPosition."+s;if(null!=t.graveyardPosition&&t.hasOwnProperty("graveyardPosition")&&(s=r.Position.verify(t.graveyardPosition,e+1)))return"graveyardPosition."+s;if(null!=t.howMany&&t.hasOwnProperty("howMany")&&!n.isInteger(t.howMany))return"howMany: integer expected";if(null!=t.insertionPosition&&t.hasOwnProperty("insertionPosition")&&(s=r.Position.verify(t.insertionPosition,e+1)))return"insertionPosition."+s;return null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.SplitOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.SplitOperation;if(null!=t.splitPosition){if("object"!=typeof t.splitPosition)throw TypeError(".SplitOperation.splitPosition: object expected");s.splitPosition=r.Position.fromObject(t.splitPosition,e+1)}if(null!=t.graveyardPosition){if("object"!=typeof t.graveyardPosition)throw TypeError(".SplitOperation.graveyardPosition: object expected");s.graveyardPosition=r.Position.fromObject(t.graveyardPosition,e+1)}if(null!=t.howMany&&(s.howMany=t.howMany>>>0),null!=t.insertionPosition){if("object"!=typeof t.insertionPosition)throw TypeError(".SplitOperation.insertionPosition: object expected");s.insertionPosition=r.Position.fromObject(t.insertionPosition,e+1)}return null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.splitPosition=null,n.graveyardPosition=null,n.howMany=0,n.insertionPosition=null,n.wasUndone=!1),null!=t.splitPosition&&t.hasOwnProperty("splitPosition")&&(n.splitPosition=r.Position.toObject(t.splitPosition,e)),null!=t.graveyardPosition&&t.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=r.Position.toObject(t.graveyardPosition,e)),null!=t.howMany&&t.hasOwnProperty("howMany")&&(n.howMany=t.howMany),null!=t.insertionPosition&&t.hasOwnProperty("insertionPosition")&&(n.insertionPosition=r.Position.toObject(t.insertionPosition,e)),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SplitOperation"},s}(),r.Position=function(){function s(t){if(this.path=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.root="",s.prototype.rootMain=!1,s.prototype.rootGraveyard=!1,s.prototype.path=n.emptyArray,s.prototype.stickiness="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.root&&Object.hasOwnProperty.call(t,"root")&&n.uint32(10).string(t.root),null!=t.rootMain&&Object.hasOwnProperty.call(t,"rootMain")&&n.uint32(16).bool(t.rootMain),null!=t.rootGraveyard&&Object.hasOwnProperty.call(t,"rootGraveyard")&&n.uint32(24).bool(t.rootGraveyard),null!=t.path&&t.path.length){n.uint32(34).fork();for(var r=0;r<t.path.length;++r)n.uint32(t.path[r]);n.ldelim()}return null!=t.stickiness&&Object.hasOwnProperty.call(t,"stickiness")&&n.uint32(42).string(t.stickiness),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.Position;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.root=e.string();break;case 2:a.rootMain=e.bool();break;case 3:a.rootGraveyard=e.bool();break;case 4:if(a.path&&a.path.length||(a.path=[]),2==(7&c))for(var d=e.uint32()+e.pos;e.pos<d;)a.path.push(e.uint32());else a.path.push(e.uint32());break;case 5:a.stickiness=e.string();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";if(null!=t.root&&t.hasOwnProperty("root")&&!n.isString(t.root))return"root: string expected";if(null!=t.rootMain&&t.hasOwnProperty("rootMain")&&"boolean"!=typeof t.rootMain)return"rootMain: boolean expected";if(null!=t.rootGraveyard&&t.hasOwnProperty("rootGraveyard")&&"boolean"!=typeof t.rootGraveyard)return"rootGraveyard: boolean expected";if(null!=t.path&&t.hasOwnProperty("path")){if(!Array.isArray(t.path))return"path: array expected";for(var r=0;r<t.path.length;++r)if(!n.isInteger(t.path[r]))return"path: integer[] expected"}return null!=t.stickiness&&t.hasOwnProperty("stickiness")&&!n.isString(t.stickiness)?"stickiness: string expected":null},s.fromObject=function(t,e){if(t instanceof r.Position)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.Position;if(null!=t.root&&(s.root=String(t.root)),null!=t.rootMain&&(s.rootMain=Boolean(t.rootMain)),null!=t.rootGraveyard&&(s.rootGraveyard=Boolean(t.rootGraveyard)),t.path){if(!Array.isArray(t.path))throw TypeError(".Position.path: array expected");s.path=[];for(var o=0;o<t.path.length;++o)s.path[o]=t.path[o]>>>0}return null!=t.stickiness&&(s.stickiness=String(t.stickiness)),s},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.path=[]),e.defaults&&(n.root="",n.rootMain=!1,n.rootGraveyard=!1,n.stickiness=""),null!=t.root&&t.hasOwnProperty("root")&&(n.root=t.root),null!=t.rootMain&&t.hasOwnProperty("rootMain")&&(n.rootMain=t.rootMain),null!=t.rootGraveyard&&t.hasOwnProperty("rootGraveyard")&&(n.rootGraveyard=t.rootGraveyard),t.path&&t.path.length){n.path=[];for(var r=0;r<t.path.length;++r)n.path[r]=t.path[r]}return null!=t.stickiness&&t.hasOwnProperty("stickiness")&&(n.stickiness=t.stickiness),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/Position"},s}(),r.Range=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.start=null,s.prototype.end=null,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.start&&Object.hasOwnProperty.call(t,"start")&&r.Position.encode(t.start,n.uint32(10).fork()).ldelim(),null!=t.end&&Object.hasOwnProperty.call(t,"end")&&r.Position.encode(t.end,n.uint32(18).fork()).ldelim(),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.Range;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.start=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 2:a.end=r.Position.decode(e,e.uint32(),void 0,o+1);break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";var s;if(null!=t.start&&t.hasOwnProperty("start")&&(s=r.Position.verify(t.start,e+1)))return"start."+s;if(null!=t.end&&t.hasOwnProperty("end")&&(s=r.Position.verify(t.end,e+1)))return"end."+s;return null},s.fromObject=function(t,e){if(t instanceof r.Range)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.Range;if(null!=t.start){if("object"!=typeof t.start)throw TypeError(".Range.start: object expected");s.start=r.Position.fromObject(t.start,e+1)}if(null!=t.end){if("object"!=typeof t.end)throw TypeError(".Range.end: object expected");s.end=r.Position.fromObject(t.end,e+1)}return s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.start=null,n.end=null),null!=t.start&&t.hasOwnProperty("start")&&(n.start=r.Position.toObject(t.start,e)),null!=t.end&&t.hasOwnProperty("end")&&(n.end=r.Position.toObject(t.end,e)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/Range"},s}(),r.Element=function(){function s(t){if(this.children=[],this.attributesBoolean={},t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.name="",s.prototype.children=n.emptyArray,s.prototype.data="",s.prototype.attributesBoolean=n.emptyObject,s.prototype.attributesJson="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&n.uint32(10).string(t.name),null!=t.children&&t.children.length)for(var s=0;s<t.children.length;++s)r.Element.encode(t.children[s],n.uint32(18).fork()).ldelim();if(null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(26).string(t.data),null!=t.attributesBoolean&&Object.hasOwnProperty.call(t,"attributesBoolean")){var o=Object.keys(t.attributesBoolean);for(s=0;s<o.length;++s)n.uint32(34).fork().uint32(10).string(o[s]).uint32(16).bool(t.attributesBoolean[o[s]]).ldelim()}return null!=t.attributesJson&&Object.hasOwnProperty.call(t,"attributesJson")&&n.uint32(42).string(t.attributesJson),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,s,o,i){if(e instanceof t||(e=t.create(e)),void 0===i&&(i=0),i>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var a,c,d=void 0===s?e.len:e.pos+s,u=new r.Element;e.pos<d;){var l=e.uint32();if(l===o)break;switch(l>>>3){case 1:u.name=e.string();break;case 2:u.children&&u.children.length||(u.children=[]),u.children.push(r.Element.decode(e,e.uint32(),void 0,i+1));break;case 3:u.data=e.string();break;case 4:u.attributesBoolean===n.emptyObject&&(u.attributesBoolean={});var h=e.uint32()+e.pos;for(a="",c=!1;e.pos<h;){var p=e.uint32();switch(p>>>3){case 1:a=e.string();break;case 2:c=e.bool();break;default:e.skipType(7&p,i)}}"__proto__"===a&&n.makeProp(u.attributesBoolean,a),u.attributesBoolean[a]=c;break;case 5:u.attributesJson=e.string();break;default:e.skipType(7&l,i)}}return u},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";if(null!=t.name&&t.hasOwnProperty("name")&&!n.isString(t.name))return"name: string expected";if(null!=t.children&&t.hasOwnProperty("children")){if(!Array.isArray(t.children))return"children: array expected";for(var s=0;s<t.children.length;++s){var o=r.Element.verify(t.children[s],e+1);if(o)return"children."+o}}if(null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data))return"data: string expected";if(null!=t.attributesBoolean&&t.hasOwnProperty("attributesBoolean")){if(!n.isObject(t.attributesBoolean))return"attributesBoolean: object expected";var i=Object.keys(t.attributesBoolean);for(s=0;s<i.length;++s)if("boolean"!=typeof t.attributesBoolean[i[s]])return"attributesBoolean: boolean{k:string} expected"}return null!=t.attributesJson&&t.hasOwnProperty("attributesJson")&&!n.isString(t.attributesJson)?"attributesJson: string expected":null},s.fromObject=function(t,e){if(t instanceof r.Element)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.Element;if(null!=t.name&&(s.name=String(t.name)),t.children){if(!Array.isArray(t.children))throw TypeError(".Element.children: array expected");s.children=[];for(var o=0;o<t.children.length;++o){if("object"!=typeof t.children[o])throw TypeError(".Element.children: object expected");s.children[o]=r.Element.fromObject(t.children[o],e+1)}}if(null!=t.data&&(s.data=String(t.data)),t.attributesBoolean){if("object"!=typeof t.attributesBoolean)throw TypeError(".Element.attributesBoolean: object expected");s.attributesBoolean={};var i=Object.keys(t.attributesBoolean);for(o=0;o<i.length;++o)"__proto__"===i[o]&&n.makeProp(s.attributesBoolean,i[o]),s.attributesBoolean[i[o]]=Boolean(t.attributesBoolean[i[o]])}return null!=t.attributesJson&&(s.attributesJson=String(t.attributesJson)),s},s.toObject=function(t,e){e||(e={});var s,o={};if((e.arrays||e.defaults)&&(o.children=[]),(e.objects||e.defaults)&&(o.attributesBoolean={}),e.defaults&&(o.name="",o.data="",o.attributesJson=""),null!=t.name&&t.hasOwnProperty("name")&&(o.name=t.name),t.children&&t.children.length){o.children=[];for(var i=0;i<t.children.length;++i)o.children[i]=r.Element.toObject(t.children[i],e)}if(null!=t.data&&t.hasOwnProperty("data")&&(o.data=t.data),t.attributesBoolean&&(s=Object.keys(t.attributesBoolean)).length){o.attributesBoolean={};for(i=0;i<s.length;++i)"__proto__"===s[i]&&n.makeProp(o.attributesBoolean,s[i]),o.attributesBoolean[s[i]]=t.attributesBoolean[s[i]]}return null!=t.attributesJson&&t.hasOwnProperty("attributesJson")&&(o.attributesJson=t.attributesJson),o},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/Element"},s}(),r})();class br{_protobufRoot;constructor(){this._protobufRoot=yr}getDescriptor(t){return new Or(this._protobufRoot[t])}}class Or{_protobuf;constructor(t){this._protobuf=t}compress(t){const e=this._protobuf.verify(t);if(e)throw Error(e);return this._protobuf.encode(this._protobuf.create(t)).finish()}decompress(t){return this._protobuf.toObject(this._protobuf.decode(t),{oneofs:!0})}}function wr(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}function vr(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const Ir="[object RegExp]",Sr="[object String]",kr="[object Number]",Pr="[object Boolean]",Ar="[object Arguments]",Tr="[object Symbol]",_r="[object Date]",Cr="[object Map]",Er="[object Set]",xr="[object Array]",jr="[object ArrayBuffer]",Dr="[object Object]",Rr="[object DataView]",Nr="[object Uint8Array]",Vr="[object Uint8ClampedArray]",Mr="[object Uint16Array]",Br="[object Uint32Array]",Ur="[object Int8Array]",Jr="[object Int16Array]",qr="[object Int32Array]",Lr="[object Float32Array]",Gr="[object Float64Array]";function Hr(t,e,n,r=new Map,s=void 0){const o=s?.(t,e,n,r);if(null!=o)return o;if(function(t){return null==t||"object"!=typeof t&&"function"!=typeof t}(t))return t;if(r.has(t))return r.get(t);if(Array.isArray(t)){const e=new Array(t.length);r.set(t,e);for(let o=0;o<t.length;o++)e[o]=Hr(t[o],o,n,r,s);return Object.hasOwn(t,"index")&&(e.index=t.index),Object.hasOwn(t,"input")&&(e.input=t.input),e}if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){const e=new RegExp(t.source,t.flags);return e.lastIndex=t.lastIndex,e}if(t instanceof Map){const e=new Map;r.set(t,e);for(const[o,i]of t)e.set(o,Hr(i,o,n,r,s));return e}if(t instanceof Set){const e=new Set;r.set(t,e);for(const o of t)e.add(Hr(o,void 0,n,r,s));return e}if("undefined"!=typeof Buffer&&Buffer.isBuffer(t))return t.subarray();if(function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}(t)){const e=new(Object.getPrototypeOf(t).constructor)(t.length);r.set(t,e);for(let o=0;o<t.length;o++)e[o]=Hr(t[o],o,n,r,s);return e}if(t instanceof ArrayBuffer||"undefined"!=typeof SharedArrayBuffer&&t instanceof SharedArrayBuffer)return t.slice(0);if(t instanceof DataView){const e=new DataView(t.buffer.slice(0),t.byteOffset,t.byteLength);return r.set(t,e),Yr(e,t,n,r,s),e}if("undefined"!=typeof File&&t instanceof File){const e=new File([t],t.name,{type:t.type});return r.set(t,e),Yr(e,t,n,r,s),e}if(t instanceof Blob){const e=new Blob([t],{type:t.type});return r.set(t,e),Yr(e,t,n,r,s),e}if(t instanceof Error){const e=new t.constructor;return r.set(t,e),e.message=t.message,e.name=t.name,e.stack=t.stack,e.cause=t.cause,Yr(e,t,n,r,s),e}if("object"==typeof t&&function(t){switch(vr(t)){case Ar:case xr:case jr:case Rr:case Pr:case _r:case Lr:case Gr:case Ur:case Jr:case qr:case Cr:case kr:case Dr:case Ir:case Er:case Sr:case Tr:case Nr:case Vr:case Mr:case Br:return!0;default:return!1}}(t)){const e=Object.create(Object.getPrototypeOf(t));return r.set(t,e),Yr(e,t,n,r,s),e}return t}function Yr(t,e,n=t,r,s){const o=[...Object.keys(e),...wr(e)];for(let i=0;i<o.length;i++){const a=o[i],c=Object.getOwnPropertyDescriptor(t,a);(null==c||c.writable)&&(t[a]=Hr(e[a],a,n,r,s))}}function zr(t,e){return function(t,e){return Hr(t,void 0,t,new Map,e)}(t,(n,r,s,o)=>{const i=e?.(n,r,s,o);if(null!=i)return i;if("object"==typeof t)switch(Object.prototype.toString.call(t)){case kr:case Sr:case Pr:{const e=new t.constructor(t?.valueOf());return Yr(e,t),e}case Ar:{const e={};return Yr(e,t),e.length=t.length,e[Symbol.iterator]=t[Symbol.iterator],e}default:return}})}function Fr(t){return zr(t)}function Kr(t){if(!t||"object"!=typeof t)return!1;const e=Object.getPrototypeOf(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e))&&"[object Object]"===Object.prototype.toString.call(t)}function Wr(t,e,n,r,s,o,i){const a=i(t,e,n,r,s,o);if(void 0!==a)return a;if(typeof t==typeof e)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return t===e;case"number":return t===e||Object.is(t,e);case"object":return Zr(t,e,o,i)}return Zr(t,e,o,i)}function Zr(t,e,n,r){if(Object.is(t,e))return!0;let s=vr(t),o=vr(e);if(s===Ar&&(s=Dr),o===Ar&&(o=Dr),s!==o)return!1;switch(s){case Sr:return t.toString()===e.toString();case kr:return function(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}(t.valueOf(),e.valueOf());case Pr:case _r:case Tr:return Object.is(t.valueOf(),e.valueOf());case Ir:return t.source===e.source&&t.flags===e.flags;case"[object Function]":return t===e}const i=(n=n??new Map).get(t),a=n.get(e);if(null!=i&&null!=a)return i===e;n.set(t,e),n.set(e,t);try{switch(s){case Cr:if(t.size!==e.size)return!1;for(const[s,o]of t.entries())if(!e.has(s)||!Wr(o,e.get(s),s,t,e,n,r))return!1;return!0;case Er:{if(t.size!==e.size)return!1;const s=Array.from(t.values()),o=Array.from(e.values());for(let i=0;i<s.length;i++){const a=s[i],c=o.findIndex(s=>Wr(a,s,void 0,t,e,n,r));if(-1===c)return!1;o.splice(c,1)}return!0}case xr:case Nr:case Vr:case Mr:case Br:case"[object BigUint64Array]":case Ur:case Jr:case qr:case"[object BigInt64Array]":case Lr:case Gr:if("undefined"!=typeof Buffer&&Buffer.isBuffer(t)!==Buffer.isBuffer(e))return!1;if(t.length!==e.length)return!1;for(let s=0;s<t.length;s++)if(!Wr(t[s],e[s],s,t,e,n,r))return!1;return!0;case jr:return t.byteLength===e.byteLength&&Zr(new Uint8Array(t),new Uint8Array(e),n,r);case Rr:return t.byteLength===e.byteLength&&t.byteOffset===e.byteOffset&&Zr(new Uint8Array(t),new Uint8Array(e),n,r);case"[object Error]":return t.name===e.name&&t.message===e.message;case Dr:{if(!(Zr(t.constructor,e.constructor,n,r)||Kr(t)&&Kr(e)))return!1;const s=[...Object.keys(t),...wr(t)],o=[...Object.keys(e),...wr(e)];if(s.length!==o.length)return!1;for(let o=0;o<s.length;o++){const i=s[o],a=t[i];if(!Object.hasOwn(e,i))return!1;if(!Wr(a,e[i],i,t,e,n,r))return!1}return!0}default:return!1}}finally{n.delete(t),n.delete(e)}}function Xr(){}function Qr(t,e){return function(t,e,n){return Wr(t,e,void 0,void 0,void 0,void 0,n)}(t,e,Xr)}function $r(t){return null!==t&&("object"==typeof t||"function"==typeof t)}function ts(t,e){const n=Fr(t);return n.path[n.path.length-1]+=e,n}function es(t,e){return t.root===e.root&&Qr(t.path,e.path)}function ns(t){ss(t,t=>("main"==t.root?(t.rootMain=!0,delete t.root):"$graveyard"==t.root&&(t.rootGraveyard=!0,delete t.root),t))}function rs(t){ss(t,t=>(t.rootMain?(t.root="main",delete t.rootMain):t.rootGraveyard&&(t.root="$graveyard",delete t.rootGraveyard),t))}function ss(t,e){for(const n in t){const r=t[n];"nodes"!==n&&$r(r)&&(r.path&&(r.root||r.rootMain||r.rootGraveyard)?t[n]=e(r):ss(r,e))}return t}class os{_id;_operationName;_protobufDescriptor;constructor(t,e,n){this._id=t,this._operationName=e,this._protobufDescriptor=n}compress(t,e){const n=e.operations[e.index++];return ns(n),t.buffers.push(this._protobufDescriptor.compress(n)),t.types.push(this._id),!0}decompress(t,e){e.typeIndex++;const n=e.buffers[e.bufferIndex++],r=this._protobufDescriptor.decompress(n);rs(r),r.__className=this._operationName,t.push(r)}}class is extends os{compress(t,e){const n=e.operations[e.index++];return this._serializeOneOf("oldValue",n),this._serializeOneOf("newValue",n),ns(n),t.buffers.push(this._protobufDescriptor.compress(n)),t.types.push(this._id),!0}decompress(t,e){e.typeIndex++;const n=e.buffers[e.bufferIndex++],r=this._protobufDescriptor.decompress(n);this._deserializeOneOf("oldValue",r),this._deserializeOneOf("newValue",r),rs(r),r.__className=this._operationName,t.push(r)}_serializeOneOf(t,e){const n=e[t];"boolean"==typeof n?e[`${t}Boolean`]=n:e[`${t}Json`]=JSON.stringify(n)}_deserializeOneOf(t,e){const n=`${t}Json`;e[n]?(e[t]=JSON.parse(e[n]),delete e[n]):(e[t]=e[`${t}Boolean`],delete e[`${t}Boolean`])}}class as extends os{compress(t,e){const n=e.operations[e.index++];return this._serializeNodesAttributes(n.nodes),ns(n),t.buffers.push(this._protobufDescriptor.compress(n)),t.types.push(this._id),!0}decompress(t,e){e.typeIndex++;const n=e.buffers[e.bufferIndex++],r=this._protobufDescriptor.decompress(n);r.nodes||(r.nodes=[]),this._deserializeNodesAttributes(r.nodes),rs(r),r.__className=this._operationName,t.push(r)}_serializeNodesAttributes(t){for(const e of t){if(e.attributes){const t=e.attributes;this._areValuesBoolean(t)?e.attributesBoolean=t:e.attributesJson=JSON.stringify(t)}e.children&&this._serializeNodesAttributes(e.children)}}_deserializeNodesAttributes(t){for(const e of t)(e.attributesBoolean||e.attributesJson)&&(e.attributesBoolean?(e.attributes=e.attributesBoolean,delete e.attributesBoolean):(e.attributes=JSON.parse(e.attributesJson),delete e.attributesJson)),e.children&&this._deserializeNodesAttributes(e.children)}_areValuesBoolean(t){return Object.keys(t).every(e=>"boolean"==typeof t[e])}}class cs extends os{decompress(t,e){super.decompress(t,e);const n=t[t.length-1];n.oldRange||(n.oldRange=null),n.newRange||(n.newRange=null)}}class ds extends os{compress(t,e){return e.index++,t.types.push(this._id),!0}decompress(t,e){e.typeIndex++,t.push({__className:this._operationName})}}class us extends cs{_omittedNamespace;constructor(t,e,n,r){super(t,e,n),this._omittedNamespace=r+":"}compress(t,e){const n=e.operations[e.index];return!("MarkerOperation"!=n.__className||!n.name.startsWith(this._omittedNamespace))&&(n.name=n.name.replace(new RegExp("^"+this._omittedNamespace),""),super.compress(t,e),!0)}decompress(t,e){super.decompress(t,e);const n=t[t.length-1];n.name=this._omittedNamespace+n.name}}class ls{_id;_context;constructor(t,e){this._id=t,this._context=e}compress(t,e){let n,r=e.operations[e.index],s=e.operations[e.index+1];for(;s&&this._compareOperations(r,s);)n?(n=this._combineNext(r,n),t.types.push(0)):(n=Fr(r),t.types.push(this._id)),e.index++,r=e.operations[e.index],s=e.operations[e.index+1];return!!n&&(n=this._combineNext(e.operations[e.index++],n),t.types.push(0),t.buffers.push(this._compressSingleOperation(n)),!0)}decompress(t,e){const n=this._decompressSingleOperation(e);for(;0==e.types[e.typeIndex];)e.typeIndex++,t.push(this._splitCurrent(n));t.push(n)}}class hs extends ls{_combineNext(t,e){return e.nodes[0].data+=t.nodes[0].data,e}_splitCurrent(t){const e=Fr(t),n=e.nodes[0],r=t.nodes[0],s=r.data[Symbol.iterator]().next().value,o=s.length;return n.data=s,r.data=r.data.substr(o),t.position=ts(t.position,o),e}_compareOperations(t,e){if(this._checkOperation(t)&&this._checkOperation(e)){const n=t.nodes[0].data.length,r=es(ts(t.position,n),e.position),s=t.nodes[0],o=e.nodes[0];return r&&this._compareAttributes(s,o)}return!1}_compressSingleOperation(t){const e={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("InsertOperation").compress(e,{operations:[t],index:0}),e.buffers[0]}_decompressSingleOperation(t){const e=[];return this._context._getCompressorByName("InsertOperation").decompress(e,t),e[0]}_checkOperation(t){return"InsertOperation"==t.__className&&1==t.nodes.length&&t.nodes[0].data&&!t.wasUndone&&1==Array.from(t.nodes[0].data).length}_compareAttributes(t,e){const n=Object.keys(t.attributes||{}),r=Object.keys(e.attributes||{});return n.length===r.length&&n.every(n=>e.attributes[n]&&e.attributes[n]===t.attributes[n])}}class ps extends ls{_combineNext(t,e){return e.howMany++,e.sourcePosition=Fr(t.sourcePosition),e}_splitCurrent(t){const e=Fr(t);return t.howMany--,e.howMany=1,e.sourcePosition=ts(e.sourcePosition,t.howMany),e}_compareOperations(t,e){return!(!this._checkOperation(t)||!this._checkOperation(e))&&(es(ts(t.sourcePosition,-1),e.sourcePosition)&&es(t.targetPosition,e.targetPosition))}_compressSingleOperation(t){const e={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(e,{operations:[t],index:0}),e.buffers[0]}_decompressSingleOperation(t){const e=[];return this._context._getCompressorByName("MoveOperation").decompress(e,t),e[0]}_checkOperation(t){return"MoveOperation"==t.__className&&"$graveyard"==t.targetPosition.root&&1==t.howMany&&!t.wasUndone}}class fs extends ls{_combineNext(t,e){return e.howMany++,e}_splitCurrent(t){const e=Fr(t);return e.howMany=1,t.howMany--,e}_compareOperations(t,e){return!(!this._checkOperation(t)||!this._checkOperation(e))&&(es(t.sourcePosition,e.sourcePosition)&&es(t.targetPosition,e.targetPosition))}_compressSingleOperation(t){const e={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(e,{operations:[t],index:0}),e.buffers[0]}_decompressSingleOperation(t){const e=[];return this._context._getCompressorByName("MoveOperation").decompress(e,t),e[0]}_checkOperation(t){return"MoveOperation"==t.__className&&"$graveyard"==t.targetPosition.root&&1==t.howMany&&!t.wasUndone}}class ms extends ls{compress(t,e){if(!this._compareOperations(e.operations[e.index],e.operations[e.index+1]))return!1;const n=e.operations[e.index++];return n.oldRange=null,n.newRange&&es(n.newRange.start,n.newRange.end)&&(n.newRange.end=null),e.index++,t.types.push(this._id),t.types.push(0),t.buffers.push(this._compressSingleOperation(n)),!0}decompress(t,e){const n=this._decompressSingleOperation(e);n.newRange&&!n.newRange.end&&(n.newRange.end=Fr(n.newRange.start));const r=Fr(n);r.newRange&&(r.newRange.start.stickiness="toNone",r.newRange.end=Fr(r.newRange.start)),r.name="user:position:"+r.name.split(":")[2],e.typeIndex++,t.push(n),t.push(r)}_compressSingleOperation(t){const e={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MarkerOperation").compress(e,{operations:[t],index:0}),e.buffers[0]}_decompressSingleOperation(t){const e=[];return this._context._getCompressorByName("MarkerOperation").decompress(e,t),e[0]}_compareOperations(t,e){return!(!t||!e)&&("MarkerOperation"==t.__className&&"MarkerOperation"==e.__className&&!(!t.name.startsWith("user:")||!e.name.startsWith("user:")||t.name==e.name))}}class gs{_compressorById;_compressorByName;_protobufFactory;constructor(){this._compressorById=new Map,this._compressorByName=new Map,this._protobufFactory=new br;const t=this._protobufFactory.getDescriptor("MarkerOperation");this._registerCompressor(1,"NoOperation",new ds(1,"NoOperation",void 0)),this._registerOperationCompressor(10,"AttributeOperation",is),this._registerOperationCompressor(11,"InsertOperation",as),this._registerOperationCompressor(12,"MarkerOperation",cs),this._registerOperationCompressor(13,"MergeOperation",os),this._registerOperationCompressor(14,"MoveOperation",os),this._registerOperationCompressor(15,"RenameOperation",os),this._registerOperationCompressor(16,"RootAttributeOperation",is),this._registerOperationCompressor(17,"SplitOperation",os),this._registerCompressor(18,"CommentMarkerOperation",new us(18,"MarkerOperation",t,"comment")),this._registerCompressor(19,"SuggestionMarkerOperation",new us(19,"MarkerOperation",t,"suggestion")),this._registerOperationCompressor(20,"RootOperation",os),this._registerActionCompressor(100,"TypingAction",hs),this._registerActionCompressor(101,"DeletingAction",ps),this._registerActionCompressor(102,"ForwardDeletingAction",fs),this._registerActionCompressor(103,"UserSelectionAction",ms)}compress(t){if(!t||!t[0])throw new s.CKEditorError("no-operations-provided",this);const e={operations:t,index:0},n={types:[],buffers:[],baseVersion:t[0].baseVersion};for(;e.index<e.operations.length;){if(this._getCompressorByName("UserSelectionAction").compress(n,e))continue;if(this._getCompressorByName("TypingAction").compress(n,e))continue;if(this._getCompressorByName("DeletingAction").compress(n,e))continue;if(this._getCompressorByName("ForwardDeletingAction").compress(n,e))continue;if(this._getCompressorByName("CommentMarkerOperation").compress(n,e))continue;if(this._getCompressorByName("SuggestionMarkerOperation").compress(n,e))continue;const t=e.operations[e.index].__className;this._getCompressorByName(t).compress(n,e)}return n}decompress(t){const e=[],n={types:t.types,buffers:t.buffers,baseVersion:t.baseVersion,typeIndex:0,bufferIndex:0};for(;n.typeIndex<n.types.length;){const t=n.types[n.typeIndex],r=this._compressorById.get(t);if(!r)throw new s.CKEditorError("decompress-compressor-not-found",this,{type:t});r.decompress(e,n)}return e.forEach((e,n)=>e.baseVersion=t.baseVersion+n),e}_getCompressorByName(t){return this._compressorByName.get(t)}_registerOperationCompressor(t,e,n){const r=new n(t,e,this._protobufFactory.getDescriptor(e));this._registerCompressor(t,e,r)}_registerActionCompressor(t,e,n){const r=new n(t,this);this._registerCompressor(t,e,r)}_registerCompressor(t,e,n){this._compressorById.set(t,n),this._compressorByName.set(e,n)}}const ys=bs;function bs(t,e){const n=Os();return(bs=function(t,e){return n[t-=343]})(t,e)}function Os(){const t=["directChange","_sendBufferedOperations","applyOperation","593600IOLZxX","marker","targetPosition","_knownRootNames","operationsReceived","387804ZLULqA","_isEditingAllowed","RealTimeCollaborationClient","getUser","apply","version","5VrhCub","CollaborativeEditingService","getOperationAuthor","real-time-collaboration","addRootAttribute","bind","decompress","$root","requires","realtimecollaborationclient-error","isReadOnly","state","editor","listenTo","channelSessions","rtc-offline","__className","config","561cfzDqh","locale","destroy","_currentBufferDelay","keys","disconnected","_bufferRootLoad","_refreshUserSelectionMarkers","removeFromReconnectionStack","catch","start","_initThrowingOnDataSet","addUser","_isInit","5569144FzLmTR","position","type","end","serverHistory","_handleExternalOperations","lastOperationAcceptedAt","_isConnected","_service","clone","disconnect","Synchronization issue","isDocumentOperation","_isPendingUpdate","disableReadOnlyMode","add","push","_sendBufferedOperationsDelayed","addOperation","realtimecollaborationclient-init-session-connection-error","reset","Permissions","entries","plugins","mySessionId","_updateServerHistory","move","CommentsOnly","_shouldSendSelectionUpdate","_sendBufferedOperationsDelayId","_handleSendingSelectionMarkers","sendOperations","cloud-services-internal-error: Not connected.","_setPendingAction","data","lastOperationId","model","_hasSelectionChanged","getOperations","realtimecollaborationclient-init-non-existent-root","_document","_connectAfterSessionHasBeenFlushed","cloud-services-internal-error: Collaborative Editing Service is not connected.","The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.","permissions","history","_handleServerResponse","_setUpDataInit","differ","markers","metadata","createUserMarkerOperations","_handleReceivedOperations","lastDocumentSession","The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.","sessionAdd:","newRange","_fetchMissingUsers","getMany","realtimecollaborationclient-init-connection-failed","_addKnownRoot","createdAt","_handleReconnectionError","get","has","_disconnectService","from","userId","_getAffectedRoot","Notification","insert","sessionCreatedAt","_getOperationsFromInitData","collaboration-missing-channelid","root","rtc-destroyed","currentDocumentSession","unregister","view","pluginName","isEnabled","finally","createRange","slice","realtimecollaborationclient-init-document-already-initialized","change:range","collaboration.channelId","_lastSyncedOperationId","startsWith","_disconnectionOperations","getIdOfTheLastOperation","register","stopListening","_applyOperationsSet","init","offset","editing","error","The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.","_isLoaded","define","realtimecollaborationclient-init-service-incorrect-server-operation","wereChangesApplied","6509313DtsTMg","return","_isAttached","reconnect","length","addRoot","_knownOperations","_compressOperations","rootsAttributes","lastSyncVersion","set","cloudServices.bundleVersion","_compressor","cloudDocumentVersion","suppressErrorInCollaboration","getRoot","realtimecollaborationclient","InsertOperation","size","round","ready","_channelId","enqueueChange","toJSON","_authorId","showWarning","_initSessionsHandling","off","isOfficialPlugin","enableReadOnlyMode","includes","_clearPendingAction","affectedSelectable","selection","setIdForTheLastOperation","_connectService","change:hasDomSelection","_waitUntilSynced","document:write","409","119412KBGMSj","connection","message","stop","baseVersion","_bufferedOperations","code","attributes","reconnection: flushed session","_crash","high","createPositionAt","setPermissions","_pendingAction","parse","getDocumentDetails","_baseBufferDelay","_operationIdentifier","string","_loadRoot","fire","_handleInitialConnectionData","connect","document","wasUndone","compress","initData","realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration","loadRoot","_ignoredOperations","The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.","_isDisconnection","_offset","change:_isPendingUpdate","PENDING_ACTION_SENDING_DATA","_lastServerVersion","createRoot","batch","isPremiumPlugin","isUndoneOperation","affectsData","multi-root-editor-root-attributes-no-root","addToReconnectionStack","realtimecollaborationclient-init-service-internal-error","_operationToId","getConnectedSessions","rootName","_handleReconnectionResponse","658746AheaCS","cs:removeUser","8ZPHXji","roots","cloud-services-internal-error: Request timeout.","176740SBvvLz","_shouldSendUpdate","sessionId","realtimecollaborationclient-handleserverresponse","realtimecollaborationclient-sendbufferedoperations","then","46MxrXZs","map","connected","404","_saveOperationInBuffer","change:_isEditingAllowed","_hasSynchronizationProblem","forEach","createPositionFromPath","_decompressOperations","fromJSON","path","collaboration","filter","remove"];return(Os=function(){return t})()}!function(t){const e=bs,n=t();for(;;)try{if(488527===parseInt(e(436))/1+parseInt(e(447))/2*(-parseInt(e(388))/3)+-parseInt(e(465))/4+parseInt(e(476))/5*(parseInt(e(470))/6)+-parseInt(e(508))/7+parseInt(e(438))/8*(parseInt(e(348))/9)+parseInt(e(441))/10*(parseInt(e(494))/11))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Os);let ws=1;class vs extends e.Plugin{static[ys(477)]=(()=>vn)();[ys(420)];[ys(443)];[ys(512)];[ys(369)];[ys(516)];[ys(548)];[ys(360)];[ys(393)];[ys(354)];[ys(468)];[ys(401)];[ys(545)];[ys(537)];[ys(404)];[ys(497)];[ys(595)];[ys(597)];[ys(405)];static get[ys(484)](){return[Fn,Qn,pr,e.PendingActions,Kn.Users,o.Notification]}static get[ys(587)](){return ys(472)}static get[ys(376)](){return!0}static get[ys(426)](){return!0}get[ys(361)](){const t=ys;return this[t(423)]+this[t(420)]}get[ys(423)](){const t=ys;return this[t(512)][t(475)]-this[t(420)]}get[ys(357)](){const t=ys,e=this[t(512)][t(546)]();for(let n=e[t(352)]-1;n>=0;n--){const r=e[n];if(!this[t(597)][t(572)](r))return r[t(392)]+1-this[t(420)]}return 0}constructor(t){const e=ys;if(super(t),this[e(420)]=0,this[e(443)]=null,this[e(512)]=new i.History,this[e(488)][e(493)][e(345)](e(459),{}),this[e(369)]=this[e(488)][e(493)][e(571)](e(594)),!this[e(369)])throw new s.CKEditorError(e(581),this);const n=t[e(493)][e(571)](e(359))||s.version;this[e(516)]=new(vs[e(477)])(n,this[e(369)]),this[e(548)]=this[e(488)][e(544)][e(411)],this[e(360)]=new gs,this[e(393)]=[],this[e(354)]=new WeakSet,this[e(468)]=new Set,this[e(358)](e(521),!1),this[e(358)](e(453),!1),this[e(401)]=null,this[e(545)]=!1,this[e(537)]=null,this[e(404)]=300,this[e(497)]=this[e(404)],this[e(595)]=null,this[e(597)]=new WeakSet,this[e(405)]=new ks(this[e(597)])}[ys(602)](){const t=ys,e=this[t(488)],n=e[t(531)][t(571)](Kn.Users),r=e[t(531)][t(571)](Fn);this[t(489)](n,t(478),(e,r)=>{const s=t,o=r[0];o[s(372)]&&(e[s(349)]=n[s(473)](o[s(372)]),e[s(391)]()),null===o[s(372)]&&(e[s(349)]=null,e[s(391)]())},{priority:t(398)}),this[t(489)](e[t(544)][t(411)][t(381)],t(593),(e,n)=>{const r=t;n[r(462)]&&this[r(501)]()}),this[t(489)](e[t(604)][t(586)],t(384),()=>{this[t(501)]()}),this[t(505)](),e[t(544)].on(t(464),(e,n)=>{const r=t,s=n[0];s[r(520)]&&(this[r(451)](s),this[r(442)]()&&this[r(525)]())}),this[t(555)](),this[t(481)](t(471)).to(r,t(487),this,t(453),(e,n)=>t(449)===e&&!n),this.on(t(452),()=>{const n=t;this[n(471)]?e[n(522)](n(491)):e[n(377)](n(491))}),this[t(471)]?e[t(522)](t(491)):e[t(377)](t(491)),this[t(358)](t(515),!1)}async[ys(351)](){const t=ys,e=this[t(488)][t(531)][t(571)](Qn),n=this[t(488)][t(531)][t(571)](Fn);try{this[t(521)]=!0,e[t(585)](this[t(369)]);const r=await this[t(516)][t(351)](n[t(389)],this[t(357)]);await this[t(435)](r)&&(this[t(521)]=!1,this[t(379)]());const s=await this[t(516)][t(433)]();e[t(599)](this[t(369)],s),this[t(538)](),this[t(515)]=!0}catch(e){if(function(e){const n=t;return n(450)===e[n(394)]}(e)&&this[t(443)])await this[t(549)]();else if(function(e){const n=t;return n(387)===e[n(394)]}(e)){const e=gr(this[t(488)][t(495)],t(562));this[t(570)](e)}else{if(!(e instanceof Is))throw e;this[t(570)]()}}}[ys(496)](){const t=ys,e=this[t(488)][t(531)][t(571)](Fn),n=this[t(488)][t(531)][t(571)](Qn);this[t(488)][t(377)](t(583)),n[t(490)][t(572)](this[t(369)])&&n[t(585)](this[t(369)]),e[t(502)](this),this[t(573)](),super[t(496)]()}async[ys(435)](t){const e=ys;if(this[e(443)]!==t[e(443)]&&this[e(595)]!==t[e(543)])throw new Is;return this[e(443)]=t[e(443)],this[e(554)]([],{...t,wereChangesApplied:!1,data:t[e(542)]},e(351))}async[ys(383)](t,e=!1){const n=ys,{connection:r}=this[n(488)][n(531)][n(571)](Fn);vs[n(477)][n(433)](r,this[n(369)])[n(446)](t=>this[n(374)](t))[n(503)](t=>{const e=n;this[e(397)](e(527),t)}),this[n(489)](this[n(516)],n(469),this[n(560)][n(481)](this)),this[n(489)](this[n(516)],n(605),(t,e)=>{const r=n;this[r(397)](r(431),e)}),this[n(489)](this[n(516)],n(499),()=>{this[n(515)]=!1});const s=this[n(405)][n(598)](t);this[n(521)]=!0;const o=await this[n(516)][n(410)](r,this[n(355)](t),s);if(this[n(443)]=o[n(443)],e){if(!o[n(347)])return void this[n(570)]();this[n(521)]=!1,this[n(379)](),this[n(512)][n(528)](),this[n(420)]=o[n(603)],this[n(512)][n(475)]=this[n(420)],await this[n(554)](t,o,n(396))}else await this[n(409)](o,t);this[n(538)](),this[n(515)]=!0}[ys(538)](){const t=ys,e=this[t(488)][t(531)][t(571)](Qn),n=this[t(488)][t(531)][t(571)](pr),r=e[t(490)][t(571)](this[t(369)]);r&&r[t(352)]>1?n[t(559)]():this[t(489)](e,t(563)+this[t(369)],()=>{const r=t;2===e[r(490)][r(571)](this[r(369)])[r(352)]&&n[r(559)]()})}async[ys(560)](t,e,n,r){const s=ys;if(!this[s(521)]&&this[s(548)][s(475)]==e){const t=this[s(456)](n,r);await this[s(565)](t),this[s(513)](t,e,n[s(543)])||this[s(397)](s(346))}}async[ys(549)](){const t=ys;this[t(573)]();const{locale:e}=this[t(488)];let n;try{n=await this[t(516)][t(403)]()}catch{const n=gr(e,t(551));return void this[t(570)](n)}const r=n[t(584)]||n[t(561)];if(this[t(595)]!==r[t(543)]){const n=gr(e,t(343));return void this[t(570)](n)}await this[t(383)](this[t(488)][t(544)][t(411)][t(553)][t(546)](),!0)}[ys(573)](){const t=ys;this[t(516)][t(518)](),this[t(393)]=[],clearTimeout(this[t(537)]),this[t(600)](this[t(516)])}[ys(374)](t){const e=ys,n=this[e(488)][e(531)][e(571)](Qn);this[e(489)](n,e(563)+this[e(369)],(t,{session:r})=>{const s=e;if(r.id===n[s(532)]){t[s(375)]();const e=this[s(488)][s(531)][s(572)](s(535))&&this[s(488)][s(531)][s(571)](s(535));let n=r[s(552)];e&&e[s(588)]&&(n=n[s(460)](t=>s(386)!==t)),this[s(488)][s(531)][s(571)](s(529))[s(400)](n,this[s(369)])}}),n[e(599)](this[e(369)],t)}[ys(505)](){const t=ys,e=this[t(488)][t(542)][t(358)];this[t(488)][t(542)][t(358)]=(...n)=>{const r=t;if(!n[n[r(352)]-1][r(362)])throw new s.CKEditorError(r(415),this);e[r(474)](this[r(488)][r(542)],n)}}[ys(555)](){const t=ys;this[t(488)][t(542)].on(t(602),(e,[n])=>{const r=t;if(this[r(548)][r(475)])throw new s.CKEditorError(r(592),this);e[r(391)](),this[r(541)]();const o=this[r(488)][r(493)][r(571)](r(356)),a=this[r(580)](n,o);0==a[r(352)]&&a[r(524)](new i.NoOperation(0)),e[r(349)]=this[r(383)](a)[r(446)](()=>{const t=r;this[t(488)][t(531)][t(571)](Fn)[t(430)](this),this[t(488)][t(542)][t(408)](t(368))})[r(503)](t=>this[r(397)](r(567),t))[r(589)](()=>this[r(379)]())},{priority:t(398)}),this[t(488)].on(t(416),async(e,[n,r])=>{const s=t;e[s(391)]();const o=this[s(488)][s(544)][s(411)][s(363)](n);if(!this[s(468)][s(572)](n)){const t=r&&r[s(542)]?r[s(542)]:"",e=r&&r[s(395)]?r[s(395)]:{};await this[s(407)](n,t,e)}this[s(488)][s(544)][s(370)]({isUndoable:!1},()=>{const t=s;o[t(344)]=!0,this[t(488)][t(544)][t(411)][t(556)][t(500)](o)})},{priority:t(398)})}async[ys(565)](t){const e=ys,n=this[e(488)][e(531)][e(571)](Kn.Users),{connection:r}=this[e(488)][e(531)][e(571)](Fn),s=new Set;for(const r of t){const t=r[e(372)];t&&!n[e(473)](t)&&s[e(523)](t)}if(0===s[e(366)])return;const o=await w[e(566)](r,Array[e(574)](s));for(const t of o)n[e(473)](t.id)||n[e(506)](t)}[ys(580)](t,e={}){const n=ys,r=this[n(488)][n(544)],o=[];let a=0;const c=n(406)==typeof t?{main:t}:t;for(const t of Object[n(498)](c)){if(!this[n(548)][n(439)][n(572)](t))throw new s.CKEditorError(n(547),this);const e=this[n(488)][n(542)][n(402)](c[t]),d=this[n(548)][n(363)](t),u=new i.InsertOperation(r[n(399)](d,0),e,a++);o[n(524)](u);for(const[t,s]of e[n(557)]){const e=r[n(590)](r[n(455)](d,s[n(504)][n(458)][n(591)]()),r[n(455)](d,s[n(511)][n(458)][n(591)]())),c=new i.MarkerOperation(t,null,e,r[n(557)],!0,a++);o[n(524)](c)}}if(e)for(const[t,c]of Object[n(530)](e)){const e=r[n(411)][n(363)](t);if(!e)throw new s.CKEditorError(n(429),null);for(const[t,r]of Object[n(530)](c))if(null!==r){const s=new i.RootAttributeOperation(e,t,null,r,a++);o[n(524)](s)}}return o}async[ys(407)](t,e,n){const r=ys;this[r(580)]({[t]:e},{[t]:n})[r(454)]((t,e)=>{const n=r;t[n(392)]=this[n(548)][n(475)]+e,t[n(507)]=!0,this[n(451)](t)}),this[r(525)](),await this[r(385)]()}async[ys(409)](t,e){const n=ys;let r;this[n(420)]=t[n(603)];const s=t[n(347)]&&!t[n(414)],o=s?0:t[n(542)][n(392)];if(e[n(454)](e=>{const r=n;e[r(507)]=!0,e[r(569)]=t[r(579)],e[r(372)]=null}),s)r=e,this[n(601)](r,s);else{if(t[n(414)]){const e=this[n(580)](t[n(414)]);this[n(548)][n(553)][n(475)]=-e[n(352)],e[n(454)](r=>{const s=n;r[s(392)]-=e[s(352)],r[s(569)]=t[s(579)],r[s(507)]=!0,r[s(372)]=null}),this[n(601)](e,!0),this[n(512)][n(475)]=-e[n(352)]+this[n(420)],this[n(533)](e)}this[n(548)][n(553)][n(475)]=o,r=this[n(456)](t[n(542)],t[n(558)]),await this[n(565)](r),this[n(601)](r,s)}t[n(543)]&&(this[n(405)][n(382)](r,t[n(543)]),this[n(595)]=t[n(543)]),this[n(512)][n(475)]=o+this[n(420)],this[n(533)](r),e[n(460)](t=>{const e=n,r=this[e(576)](t);return r&&!this[e(468)][e(572)](r)})[n(454)]((t,e)=>{const r=n;t[r(392)]=this[r(548)][r(475)]+e,this[r(451)](t)}),this[n(442)]()?(this[n(497)]=0,this[n(525)](!0),await this[n(385)]()):(this[n(521)]=!1,this[n(379)]())}[ys(397)](t,e){const n=ys,r=e&&e[n(390)];if(r&&r[n(596)](n(364)))throw e;const o=this[n(488)][n(531)][n(571)](Fn);throw this[n(521)]=!0,o[n(518)](),this[n(488)][n(377)](n(485)),new s.CKEditorError(t,this[n(488)],r?{originalError:r}:void 0)}[ys(451)](t){const e=ys;this[e(354)][e(572)](t)||(this[e(354)][e(523)](t),this[e(393)][e(524)](t),this[e(401)]||e(466)==t[e(510)]&&!t[e(428)]||this[e(541)]())}[ys(525)](t=!1){const e=ys;!t&&this[e(521)]||(this[e(521)]=!0,clearTimeout(this[e(537)]),this[e(537)]=setTimeout(()=>{const t=e;this[t(463)]()[t(446)](e=>{const n=t;e&&(this[n(379)](),this[n(521)]=!1)})[t(503)](e=>{const n=t;this[n(379)](),this[n(521)]=!1,function(t){const e=n;return t[e(390)][e(596)](e(540))||t[e(390)][e(596)](e(550))||t[e(390)][e(596)](e(440))}(e)||this[n(397)](e[n(390)],e)})},this[e(497)]))}[ys(385)](){return new Promise(t=>{const e=bs;this.on(e(421),()=>{t()})})}async[ys(463)](){const t=ys,e=this[t(488)][t(531)][t(571)](pr);if(this[t(536)]()&&(e[t(559)](),this[t(545)]=!1),!this[t(442)]())return!0;const n=[...this[t(393)]];for(const e of n)e[t(412)]=this[t(548)][t(553)][t(427)](e);const r=this[t(405)][t(598)](n),s=ws++,o=this[t(355)](n),i=await this[t(516)][t(539)](o,o[t(392)],r);try{return await this[t(554)](n,i,s)}catch(e){return this[t(397)](t(445),e)}}async[ys(554)](t,e,n){const r=ys;if(r(605)in e)throw e[r(605)];let s=!1;if(e[r(347)]){e[r(543)]&&(this[r(595)]=e[r(543)]),this[r(393)]=this[r(393)][r(460)](e=>!t[r(378)](e));for(const n of t)n[r(569)]=r(514)in e&&e[r(514)]||void 0;Ss(t,e[r(475)]-t[r(352)]),this[r(533)](t);const n=t[r(460)](t=>{const e=r;if(!t[e(507)])return!1;const n=this[e(576)](t);return n&&!this[e(468)][e(572)](n)});Ss(n,this[r(548)][r(475)]),this[r(601)](n),s=!0,this[r(497)]=this[r(404)]}else{const t=this[r(456)](e[r(542)],e[r(558)])[r(460)](t=>t[r(392)]>=this[r(423)]);t[r(454)](t=>this[r(568)](t)),this[r(393)]=this[r(393)][r(460)](t=>!t[r(507)]||!this[r(468)][r(572)](this[r(576)](t))),this[r(393)][r(352)]&&Ss(this[r(393)],this[r(393)][0][r(392)]),await this[r(565)](t),s=this[r(513)](t,e[r(475)],e[r(543)]),this[r(497)]=Math[r(367)](this[r(497)]/2)}return s?!this[r(442)]()||(this[r(525)](!0),!1):this[r(397)](r(444))}[ys(513)](t,e,n){const r=ys;try{const s={document:this[r(548)],useRelations:!1,padWithNoOps:!0},{operationsA:o,operationsB:a,originalOperations:c}=(0,i.transformOperationSets)(t,this[r(393)],s);Ss(o,this[r(548)][r(475)]),Ss(a,e);for(const t of o){const e=c[r(571)](t);t[r(372)]=e?e[r(372)]:null}n&&(this[r(405)][r(382)](t,n),this[r(595)]=n),this[r(393)]=[...a],this[r(601)](o),this[r(533)](t)}catch(t){return console[r(605)](t),!1}return!0}[ys(601)](t,e=!1){const n=ys;this[n(488)][n(544)][n(370)]({isUndoable:!1,isLocal:!1},e=>{const r=n;for(const n of t)this[r(354)][r(523)](n),this[r(568)](n),e[r(425)][r(526)](n),this[r(488)][r(544)][r(464)](n)})}[ys(568)](t){const e=ys,n=this[e(576)](t);n&&this[e(468)][e(523)](n)}[ys(576)](t){const e=ys;let n,r;switch(t[e(510)]){case e(578):n=t[e(509)][e(582)];break;case e(466):if(r=t[e(564)],!r)return null;n=r[e(582)];break;case e(480):n=t[e(582)];break;case e(353):n=t[e(380)];break;case e(534):n=t[e(467)][e(582)];break;default:return null}return n[e(434)]}[ys(533)](t){const e=ys;t[e(454)](t=>{const n=e,r=t[n(517)]();r[n(372)]=t[n(372)],r[n(507)]=!!t[n(507)],r[n(569)]=t[n(569)],r[n(392)]+=this[n(420)],t[n(419)]&&this[n(597)][n(523)](r),this[n(512)][n(526)](r)})}[ys(570)](t){const e=ys,n=this[e(488)][e(531)][e(571)](e(577)),r=this[e(488)][e(495)];t||(t=gr(r,e(418))),n[e(373)](t,{title:gr(r,e(519)),namespace:e(479)}),this[e(453)]=!0,clearTimeout(this[e(537)]),this[e(393)]=[],this[e(488)][e(531)][e(571)](Fn)[e(518)]()}[ys(541)](){const t=ys;this[t(401)]||(this[t(401)]=this[t(488)][t(531)][t(571)](e.PendingActions)[t(523)](gr(this[t(488)][t(495)],t(422))))}[ys(379)](){const t=ys;this[t(401)]&&(this[t(488)][t(531)][t(571)](e.PendingActions)[t(461)](this[t(401)]),this[t(401)]=null)}[ys(355)](t){const e=ys,n=t[e(448)](t=>t[e(371)]());return this[e(360)][e(413)](n)}[ys(456)](t,e){const n=ys;return this[n(360)][n(482)](t)[n(448)]((t,r)=>{const s=n,o=s(602)==e[r][s(510)];if(s(365)==t[s(492)]){const e=t[s(509)][s(582)];!this[s(548)][s(363)](e)&&(this[s(548)][s(424)](s(483),e)[s(350)]=!1)}const a=i.OperationFactory[s(457)](t,this[s(548)]);return a[s(412)]=t[s(412)],a[s(507)]=o,a[s(372)]=o?null:e[r][s(575)],a[s(419)]=s(437)===e[r][s(510)],a[s(569)]=e[r][s(569)],a})}[ys(501)](){const t=ys;this[t(545)]=!0,this[t(536)]()?this[t(525)]():this[t(545)]=!1}[ys(536)](){const t=ys,e=this[t(488)][t(531)][t(571)](Qn)[t(490)][t(571)](this[t(369)]);return!this[t(488)][t(486)]&&!!e&&e[t(352)]>1&&this[t(545)]}[ys(442)](){const t=ys;return this[t(393)][t(352)]>0||this[t(536)]()}}class Is extends Error{}function Ss(t,e){const n=ys;for(const r of t)r[n(392)]=e++}class ks{[ys(417)];[ys(432)];constructor(t){const e=ys;this[e(417)]=t,this[e(432)]=new WeakMap}[ys(598)](t){const e=ys;let n=t[e(352)];for(;n--;){const r=t[n];if(!this[e(417)][e(572)](r)){if(!this[e(432)][e(572)](r)){const t=(0,s.uid)()[e(591)](1,18);this[e(432)][e(358)](r,t)}return this[e(432)][e(571)](r)}}}[ys(382)](t,e){const n=ys;if(!e)return;let r=t[n(352)];for(;r--;){const s=t[r];this[n(417)][n(572)](s)||this[n(432)][n(358)](s,e)}}}function Ps(){var t=["748000HdHquP","2700177ZMTVYS","3379002qtXncN","isOfficialPlugin","7XVFrjb","requires","pluginName","3144712nJDnwI","22274152XVIXWm","isPremiumPlugin","1588315YLCqnx","RealTimeCollaborativeEditing","812066AwCmLd"];return(Ps=function(){return t})()}var As=Ts;function Ts(t,e){var n=Ps();return(Ts=function(t,e){return n[t-=338]})(t,e)}!function(t){for(var e=Ts,n=t();;)try{if(510561===-parseInt(e(343))/1+parseInt(e(342))/2+-parseInt(e(344))/3+-parseInt(e(350))/4+parseInt(e(340))/5+parseInt(e(345))/6*(-parseInt(e(347))/7)+parseInt(e(338))/8)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Ps);class _s extends e.Plugin{static get[As(348)](){return[vs]}static get[As(349)](){return As(341)}static get[As(346)](){return!0}static get[As(339)](){return!0}}const Cs=Ds;!function(t){const e=Ds,n=t();for(;;)try{if(911077===-parseInt(e(587))/1*(-parseInt(e(589))/2)+-parseInt(e(528))/3*(parseInt(e(591))/4)+-parseInt(e(547))/5+-parseInt(e(573))/6+parseInt(e(548))/7*(parseInt(e(567))/8)+parseInt(e(496))/9*(parseInt(e(523))/10)+parseInt(e(517))/11)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(xs);class Es extends e.ContextPlugin{static[Cs(491)]=(()=>Gn)();[Cs(537)];static get[Cs(509)](){return[Fn,Cs(530),Qn,Kn.Users]}static get[Cs(579)](){return Cs(497)}static get[Cs(561)](){return!0}static get[Cs(568)](){return!0}constructor(t){const e=Cs;super(t),this[e(537)]=new Map}async[Cs(542)](){const t=Cs,n=this[t(527)],r=n[t(584)][t(540)](t(530));if(n[t(584)][t(540)](Fn)[t(508)](this),r[t(494)]={addCommentThread:async({channelId:e,threadId:n,comments:r,resolvedAt:s,resolvedBy:o,context:i,attributes:a})=>{const c=t,d=await this[c(538)](e)[c(514)]({commentThreadId:n,comments:r[c(592)](t=>function(t,e,n){const r=c;return{commentThreadId:n,commentId:t[r(572)],userId:t[r(492)],content:t[r(493)],documentId:e,createdAt:t[r(520)],attributes:t[r(545)]||{}}}(t,e,n)),resolvedAt:s,resolvedBy:o,context:i,attributes:a})[c(513)](Rs);return{threadId:d[c(550)],comments:d[c(581)]}},getCommentThread:async({channelId:e,threadId:n})=>{const r=t,s=await this[r(538)](e)[r(546)](n)[r(513)](js)[r(513)](Rs);return s?s[r(575)]?null:(await this[r(558)]([s]),{threadId:s[r(550)],comments:s[r(581)][r(592)](Ns),context:s[r(527)],resolvedAt:s[r(498)],resolvedBy:s[r(569)],attributes:s[r(545)]||{}}):null},updateCommentThread:async({channelId:e,threadId:n,context:r,unlinkedAt:s,attributes:o})=>this[t(538)](e)[t(501)]({commentThreadId:n,context:r,attributes:o,unlinkedAt:s})[t(513)](js)[t(513)](Rs),resolveCommentThread:async({channelId:e,threadId:n})=>{const r=t,s=await this[r(538)](e)[r(580)](n)[r(513)](js)[r(513)](Rs);return{threadId:s[r(550)],resolvedAt:s[r(498)],resolvedBy:s[r(569)]}},reopenCommentThread:async({channelId:e,threadId:n})=>this[t(538)](e)[t(504)](n)[t(513)](js)[t(513)](Rs),removeCommentThread:({channelId:e,threadId:n})=>this[t(538)](e)[t(499)](n)[t(513)](js)[t(513)](Rs),addComment:({channelId:e,threadId:n,commentId:r,content:s,attributes:o})=>this[t(538)](e)[t(557)](n,r,s,o)[t(513)](Rs),updateComment:({channelId:e,threadId:n,commentId:r,content:s,attributes:o})=>this[t(538)](e)[t(502)](n,r,s,o)[t(513)](js)[t(513)](Rs),removeComment:({channelId:e,threadId:n,commentId:r})=>this[t(538)](e)[t(524)](n,r)[t(513)](js)[t(513)](Rs)},n instanceof e.Context){const e=n[t(526)][t(540)](t(525)),r=n[t(584)][t(540)](Qn);await this[t(582)](e);const s=await this[t(537)][t(540)](e)[t(564)]();this[t(590)](r,t(588)+e,(n,{session:s})=>{const o=t;s.id===r[o(574)]&&(n[o(515)](),this[o(527)][o(584)][o(540)](o(585))[o(500)](s[o(563)],e))}),r[t(578)](e,s)}}async[Cs(582)](t){const e=Cs;if(this[e(537)][e(536)](t))throw new s.CKEditorError(e(506),null,{channelId:t});const n=this[e(527)][e(584)][e(540)](e(530)),r=new(Es[e(491)])(t);this[e(537)][e(521)](t,r),this[e(590)](r,e(551),(t,r)=>{const s=e,{commentThreadId:o,documentId:i,context:a,attributes:c,resolvedAt:d,resolvedBy:u,comments:l}=r;n[s(546)](o)||n[s(514)]({threadId:o,channelId:i,comments:l?l[s(592)](Ns):[],context:a,attributes:c,resolvedAt:d,resolvedBy:u,isFromAdapter:!0})}),this[e(590)](r,e(535),(t,{commentThreadId:r,documentId:s,context:o,unlinkedAt:i,attributes:a})=>{const c=e;n[c(546)](r)&&n[c(501)]({threadId:r,channelId:s,context:o,unlinkedAt:i,attributes:a,isFromAdapter:!0})}),this[e(590)](r,e(518),(t,{commentThreadId:r,resolvedBy:s,resolvedAt:o})=>{const i=e,a=n[i(546)](r);a&&a[i(555)]({resolvedBy:s,resolvedAt:o,isFromAdapter:!0})}),this[e(590)](r,e(505),(t,{commentThreadId:r})=>{const s=e,o=n[s(546)](r);o&&o[s(510)]({isFromAdapter:!0})}),this[e(590)](r,e(539),(t,{commentThreadId:r})=>{const s=e,o=n[s(546)](r);o&&o[s(511)]({isFromAdapter:!0})}),this[e(590)](r,e(544),(t,r)=>{const s=e,o=r[s(550)],i=n[s(546)](o);i&&i[s(557)]({...Ns(r),isFromAdapter:!0})}),this[e(590)](r,e(571),(t,{commentThreadId:r,commentId:s,content:o,attributes:i})=>{const a=e,c=n[a(546)](r);if(c){const t=c[a(586)](s);t&&t[a(529)]({content:o,attributes:i,isFromAdapter:!0})}}),this[e(590)](r,e(534),(t,{commentThreadId:r,commentId:s})=>{const o=e,i=n[o(546)](r);if(i){const t=i[o(586)](s);t&&t[o(511)]({isFromAdapter:!0})}}),await this[e(565)](t)}[Cs(577)](){const t=Cs;if(this[t(527)]instanceof e.Context){const e=this[t(527)][t(526)][t(540)](t(525));this[t(519)](e)}}[Cs(519)](t){const e=Cs;if(!this[e(537)][e(536)](t))throw new s.CKEditorError(e(559),null,{channelId:t});this[e(538)](t)[e(583)](),this[e(537)][e(531)](t)}async[Cs(593)](){const t=Cs;for(const e of this[t(537)][t(516)]())await this[t(565)](e);if(this[t(527)]instanceof e.Context){const e=this[t(527)][t(526)][t(540)](t(525)),n=this[t(527)][t(584)][t(540)](Qn);n[t(576)](e);const r=await this[t(537)][t(540)](e)[t(564)]();n[t(578)](e,r)}}async[Cs(565)](t){const e=Cs,{connection:n}=this[e(527)][e(584)][e(540)](Fn),r=this[e(527)][e(584)][e(540)](e(530)),s=this[e(537)][e(540)](t),o=await s[e(556)](n);await this[e(558)](o);const i=new Set(Array[e(512)](r[e(566)]({channelId:t}),t=>t.id));for(const t of o)t[e(575)]||i[e(531)](t[e(550)]);for(const t of i)r[e(546)](t)[e(511)]({isFromAdapter:!0});for(const n of o){let s=r[e(546)](n[e(550)]);const{commentThreadId:o,context:i,attributes:a,resolvedBy:c,resolvedAt:d,unlinkedAt:u,deletedAt:l}=n;if(l)continue;s||(s=r[e(514)]({channelId:t,threadId:o,context:i,attributes:a||{},resolvedBy:c,resolvedAt:d,unlinkedAt:u,isFromAdapter:!0}));const h=new Set(Array[e(512)](s[e(581)],t=>t.id));for(const t of n[e(581)])h[e(531)](t[e(572)]);for(const t of h)s[e(586)](t)[e(511)]({isFromAdapter:!0});for(const t of n[e(581)]){const n=s[e(586)](t[e(572)]);n?n[e(493)]!==t[e(493)]&&n[e(529)]({content:t[e(493)],isFromAdapter:!0}):s[e(557)](Object[e(533)](Ns(t),{isFromAdapter:!0}))}}}[Cs(538)](t){const e=Cs;if(!this[e(537)][e(536)](t))throw new s.CKEditorError(e(554),null,{channelId:t});return this[e(537)][e(540)](t)}async[Cs(558)](t){const e=Cs,n=this[e(527)][e(584)][e(540)](Kn.Users),{connection:r}=this[e(527)][e(584)][e(540)](Fn),s=new Set;for(const{resolvedBy:r,comments:o}of t){r&&!n[e(553)](r)&&s[e(552)](r);for(const{userId:t}of o)n[e(553)](t)||s[e(552)](t)}if(0===s[e(495)])return;const o=await w[e(507)](r,Array[e(512)](s));for(const t of o)n[e(553)](t.id)||n[e(503)](t)}}function xs(){const t=["addToReconnectionStack","requires","reopen","remove","from","catch","addCommentThread","off","keys","13131701HbXLXc","commentThreadResolved","_terminateService","createdAt","set","message","22150koRkml","removeComment","collaboration.channelId","config","context","4254132zxCPlQ","update","CommentsRepository","delete","code","assign","commentRemoved","commentThreadUpdated","has","_services","_getService","commentThreadRemoved","get","startsWith","init","cloud-services-internal-error: Not connected.","commentAdded","attributes","getCommentThread","4898085ejwLDo","21EOLiUQ","404","commentThreadId","commentThreadAdded","add","getUser","cloudservicescommentsadapter-service-not-exist","resolve","connect","addComment","_fetchMissingUsersForThreads","cloudservicescommentsadapter-disconnect-not-exist","cloud-services-internal-error: Comments Service is not connected.","isOfficialPlugin","cloud-services-internal-error: Request timeout.","permissions","getConnectedSessions","_connectService","getCommentThreads","1307704dxgxTn","isPremiumPlugin","resolvedBy","userId","commentUpdated","commentId","4824468kFVWWF","mySessionId","deletedAt","unregister","destroy","register","pluginName","resolveCommentThread","comments","_setUpService","disconnect","plugins","Permissions","getComment","1FAROCT","sessionAdd:","1565782tDOLST","listenTo","4tLZUGi","map","reconnect","CommentsService","authorId","content","adapter","size","6687hXXEth","CloudServicesCommentsAdapter","resolvedAt","removeCommentThread","setPermissions","updateCommentThread","updateComment","addUser","reopenCommentThread","commentThreadReopened","cloudservicescommentsadapter-connect-already-connected","getMany"];return(xs=function(){return t})()}async function js(t){const e=Cs;if(e(549)!==t[e(532)])throw t}function Ds(t,e){const n=xs();return(Ds=function(t,e){return n[t-=491]})(t,e)}function Rs(t){const e=Cs;if((n=t)[e(522)][e(541)](e(560))||n[e(522)][e(541)](e(543))||n[e(522)][e(541)](e(562)))return new Promise(()=>{});var n;throw t}function Ns(t){const e=Cs;return{threadId:t[e(550)],commentId:t[e(572)],content:t[e(493)],createdAt:t[e(520)],authorId:t[e(570)],attributes:t[e(545)]||{}}}const Vs=Bs;function Ms(){const t=["startsWith","originalSuggestionId","from","pluginName","isConnected","cloud-services-internal-error: Not connected.","suggestionUpdated","isOfficialPlugin","off","_saved","connection","TrackChangesService","8893980dBzMhY","editor","1241088ZTivaJ","217170UEzQxn","getSuggestion","get","size","data","_waitForServiceReady","open","CloudServicesTrackChangesAdapter","type","collaboration.channelId","TrackChangesEditing","delete","values","78OksJVj","add","config","getUser","reconnect","connect","12884920GcaLTQ","isPremiumPlugin","adapter","addToReconnectionStack","init","getMany","state","addUser","3192Oryqhz","connected","then","plugins","cloud-services-internal-error: Request timeout.","update","128515KVsSZT","24772sHquhJ","_fetchMissingUsersForThreads","21581DGfiMy","addSuggestionData","requires","message","_trackChangesService","catch","attributes","find","listenTo","30FisirB","hasSuggestion","_bufferedRequests","set"];return(Ms=function(){return t})()}function Bs(t,e){const n=Ms();return(Bs=function(t,e){return n[t-=481]})(t,e)}!function(t){const e=Bs,n=t();for(;;)try{if(970394===parseInt(e(481))/1*(parseInt(e(493))/2)+parseInt(e(525))/3*(-parseInt(e(482))/4)+parseInt(e(512))/5+parseInt(e(511))/6+parseInt(e(484))/7*(parseInt(e(539))/8)+-parseInt(e(509))/9+-parseInt(e(531))/10)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Ms);class Us extends e.Plugin{static[Vs(508)]=(()=>tn)();[Vs(495)];[Vs(488)];static get[Vs(486)](){return[Es,Vs(522),Fn]}static get[Vs(500)](){return Vs(519)}static get[Vs(504)](){return!0}static get[Vs(532)](){return!0}constructor(t){const e=Vs;super(t);const n=this[e(510)][e(527)][e(514)](e(521));this[e(495)]=new Map,this[e(488)]=new(Us[e(508)])(n)}[Vs(535)](){const t=Vs,e=this[t(510)][t(542)][t(514)](Fn),n=this[t(510)][t(542)][t(514)](t(522));return n[t(533)]={getSuggestion:async e=>{const n=t;await this[n(517)]();const r=await this[n(488)][n(514)](e)[n(489)](Js);return await this[n(483)]([r]),r},addSuggestion:async({id:e,type:n,data:r,originalSuggestionId:s,attributes:o})=>{const i=t;await this[i(517)]();const a={id:e,type:n,data:r,originalSuggestionId:s,attributes:o},c=await this[i(488)][i(526)](e,n,r,s,o)[i(489)](t=>{if(qs(t))return new Promise(t=>{const n=Bs;this[n(495)][n(496)](e,{resolve:t,suggestionData:a})});throw t});return this[i(495)][i(523)](e),c},updateSuggestion:async(e,n)=>{const r=t;if(await this[r(517)](),r(518)!==n[r(537)])return this[r(488)][r(544)](e,n)[r(489)](Js)}},this[t(492)](this[t(488)],t(503),(e,r)=>{const s=t;n[s(494)](r.id)&&(n[s(513)](r.id)[s(490)]=r[s(490)])}),this[t(488)][t(530)](e[t(507)])[t(541)](r=>(e[t(534)](this),this[t(483)](r)[t(541)](()=>{const e=t;for(const t of r)n[e(485)](t)[e(506)]=!0})))}async[Vs(529)](){const t=Vs,e=this[t(510)][t(542)][t(514)](t(522)),{connection:n}=this[t(510)][t(542)][t(514)](Fn),r=await this[t(488)][t(530)](n);await this[t(483)](r);for(const{suggestionData:e,resolve:n}of this[t(495)][t(524)]()){let s=r[t(491)](t=>t.id===e.id);s||(s=await this[t(488)][t(526)](e.id,e[t(520)],e[t(516)],e[t(498)])),n(s)}for(const n of r)e[t(494)](n.id)||e[t(485)](n)}async[Vs(517)](){const t=Vs;this[t(488)][t(501)]||await new Promise(e=>{const n=t;this[n(492)](this[n(488)],n(540),t=>{t[n(505)](),e()})})}async[Vs(483)](t){const e=Vs,n=this[e(510)][e(542)][e(514)](Kn.Users),{connection:r}=this[e(510)][e(542)][e(514)](Fn),s=new Set;for(const{authorId:r}of t)n[e(528)](r)||s[e(526)](r);if(0===s[e(515)])return;const o=await w[e(536)](r,Array[e(499)](s));for(const t of o)n[e(528)](t.id)||n[e(538)](t)}}function Js(t){if(qs(t))return new Promise(()=>{});throw t}function qs(t){const e=Vs;return t[e(487)][e(497)](e(502))||t[e(487)][e(497)](e(543))}const Ls=Hs;function Gs(){const t=["init","448090VPqRaM","1339536hyCuyP","plugins","_terminateService","41825sNhsYz","pluginName","data","connected","isPremiumPlugin","ready","_setUpService","editor","collaboration.channelId","isThreadsLoadingPaused","31959DxgpZR","isOfficialPlugin","switchReadOnly","CommentsRepository","Comments","once","config","listenTo","241612WPDnmj","change:state","162ivJDFG","destroy","345390BeVnQN","get","requires","RealTimeCollaborativeComments","116uuSMde","CommentsEditing","4050243rDnMjT"];return(Gs=function(){return t})()}function Hs(t,e){const n=Gs();return(Hs=function(t,e){return n[t-=366]})(t,e)}!function(t){const e=Hs,n=t();for(;;)try{if(167908===-parseInt(e(395))/1+parseInt(e(399))/2+parseInt(e(387))/3*(-parseInt(e(369))/4)+parseInt(e(373))/5+parseInt(e(397))/6*(-parseInt(e(377))/7)+parseInt(e(374))/8+parseInt(e(371))/9)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Gs);class Ys extends e.Plugin{static get[Ls(367)](){return[Ls(391),Es,_s,Fn]}static get[Ls(378)](){return Ls(368)}static get[Ls(388)](){return!0}static get[Ls(381)](){return!0}[Ls(372)](){const t=Ls,e=this[t(384)][t(375)][t(366)](Fn),n=this[t(384)][t(375)][t(366)](t(370)),r=this[t(384)][t(375)][t(366)](Es);return this[t(384)][t(379)][t(392)](t(382),()=>{const r=t;this[r(394)](e,r(396),(t,e,s)=>{const o=r;n[o(386)]=o(380)!==s})}),this[t(394)](e,t(396),(e,n,r)=>{const s=t;this[s(384)][s(375)][s(366)](s(390))[s(389)](s(380)!==r)}),r[t(383)](this[t(384)][t(393)][t(366)](t(385)))}[Ls(398)](){const t=Ls;this[t(384)][t(375)][t(366)](Es)[t(376)](this[t(384)][t(393)][t(366)](t(385))),super[t(398)]()}}var zs=Ks;function Fs(){var t=["15346100LfIWjP","4akLLTd","2942202TbguBm","4674471pgDbPQ","30249DuxrZF","1330qBjZJZ","TrackChanges","232fvbtpV","pluginName","4llLTtY","7705780xZJFmG","isOfficialPlugin","requires","267365FKJihj","isPremiumPlugin","484762NSNlNI","RealTimeCollaborativeTrackChanges"];return(Fs=function(){return t})()}function Ks(t,e){var n=Fs();return(Ks=function(t,e){return n[t-=441]})(t,e)}!function(t){for(var e=Ks,n=t();;)try{if(904964===parseInt(e(443))/1*(-parseInt(e(446))/2)+parseInt(e(448))/3+-parseInt(e(454))/4*(-parseInt(e(455))/5)+-parseInt(e(447))/6+parseInt(e(441))/7*(parseInt(e(452))/8)+-parseInt(e(449))/9*(parseInt(e(450))/10)+-parseInt(e(445))/11)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Fs);class Ws extends e.Plugin{static get[zs(457)](){return[Ys,Us,zs(451)]}static get[zs(453)](){return zs(444)}static get[zs(456)](){return!0}static get[zs(442)](){return!0}}const Zs=Qs;function Xs(){const t=["_isConnected","getMany","baseVersion","3139885zgTrtK","authors","repository","change:_isPendingUpdate","creatorId","_isPendingUpdate","_revisionHistoryService","state","_handleRevisionsUpdate","400","_fetchMissingUsers","max","pluginName","size","listenTo","_fixRevision","connection","startsWith","CloudServicesRevisionHistoryAdapter","collaboration.channelId","2056yBeQYZ","_preventResendingRevisionData","marker","getOperations","type","serverHistory","addToReconnectionStack","isOfficialPlugin","36mJmWDk","66870TQHODm","code","setRevisionData","init","_lastRequestId","diffData","_revisionDataBuilder","_createCurrentRevision","setSource","371460QjfFyc","5004366FtEDav","connect","getUser","addUser","adapter","catch","RevisionHistoryService","cloudServices.bundleVersion","isPremiumPlugin","_bufferUpdate","bind","buildRevisionData","get","editor","authorsIds","config","destroy","isConnected","revisionsUpdated","_bufferedUpdates","currentRevision","_oldOffset","cloud-services-internal-error: Revision History Service is not connected.","then","off","getRevisions","remove","6471MlBTIp","requires","_revisions","toVersion","cloud-services-internal-error: Not connected.","sendBufferedUpdates","_waitForServiceReady","once","data","isEmptyCurrent","reverse","getRevision","isBundleUploaded","addRevisionData","CONNECTED","sessionId","_offset","from","add","_revisionTracker","_update","reInit","fromVersion","message","RevisionHistory","7230800hdejGw","has","length","connected","30aNiLDJ","plugins","keys","updateRevisions","affectsData","_handleReconnectionError","31668030sSikbc","isEnabled","createdAt","_startingVersion","change:_isConnected","cloud-services-internal-error: Request timeout.","reconnect","RevisionTracker","wrongRequestId","_getLatestVersionFromServerOperations","map","_getLatestVersion"];return(Xs=function(){return t})()}function Qs(t,e){const n=Xs();return(Qs=function(t,e){return n[t-=474]})(t,e)}!function(t){const e=Qs,n=t();for(;;)try{if(945085===-parseInt(e(540))/1*(parseInt(e(474))/2)+parseInt(e(484))/3+-parseInt(e(536))/4+-parseInt(e(483))/5*(parseInt(e(589))/6)+-parseInt(e(561))/7+-parseInt(e(581))/8*(parseInt(e(511))/9)+parseInt(e(546))/10)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Xs);class $s extends e.Plugin{static[Zs(490)]=(()=>Je)();[Zs(478)];[Zs(530)];[Zs(567)];[Zs(505)];static get[Zs(512)](){return[Fn,vs,Zs(535),Qn,Kn.Users]}static get[Zs(573)](){return Zs(579)}static get[Zs(588)](){return!0}static get[Zs(492)](){return!0}constructor(t){const e=Zs;super(t);const n=this[e(497)][e(499)][e(496)](e(580));this[e(478)]=null,this[e(530)]=this[e(497)][e(541)][e(496)](e(553)),this[e(567)]=new($s[e(490)])(n)}async[Zs(477)](){const t=Zs,e=this[t(497)][t(541)][t(496)](vs),n=e[t(586)],r=this[t(497)][t(541)][t(496)](Fn);this[t(530)][t(482)]({history:n,getLatestVersion:()=>this[t(557)](),getCurrentRevisionId:()=>e[t(526)]});const o=this[t(497)][t(499)][t(496)](t(491))||s.version,i=await Ce[t(523)](r[t(577)],o);this[t(497)][t(541)][t(496)](t(535))[t(488)]={getRevision:async({revisionId:e})=>(await this[t(517)](),await this[t(567)][t(522)](e)),updateRevisions:async e=>{const n=t;await this[n(517)]();const r=this[n(530)][n(504)];if(i&&1===e[n(538)]&&e[0].id===r.id)return e;for(const t of e)t.id===r.id&&(t[n(520)]=t[n(533)]===t[n(514)]);return this[n(567)][n(543)](e,this[n(478)])[n(507)](t=>(this[n(478)]=t,e))[n(489)](t=>{const r=n;if(to(t)||r(570)===t[r(475)]&&void 0!==t[r(519)][r(554)]){for(const t of e)!this[r(530)][r(563)][r(522)](t.id)||this[r(530)][r(493)](t.id,t,!1);if(to(t))throw t;return e}throw t})}},this[t(575)](this[t(567)],t(502),(e,{revisionsData:n,requestId:r})=>{const s=t;Math[s(572)](...n[s(556)](t=>t[s(514)]))>this[s(555)]()-1?this[s(557)]()[s(507)](()=>{this[s(569)](n,r)}):this[s(569)](n,r)});const{revisions:a,requestId:c}=await this[t(567)][t(485)](r[t(577)]);r[t(587)](this),this[t(478)]=c,await this[t(571)](a);for(const e of a)this[t(530)][t(524)](e);this[t(575)](e,t(550),(n,r,s)=>{const o=t;s&&(this[o(505)]=e[o(527)],n[o(508)]())}),this[t(530)][t(494)](t(547)).to(r,t(568),e=>e===Se[t(525)])}async[Zs(552)](){const t=Zs,e=this[t(497)][t(541)][t(496)](Fn),n=this[t(497)][t(541)][t(496)](vs),r=async()=>{const r=t,s=this[r(530)][r(504)],o=s.id,i=o!==n[r(526)];if(i){const t=n[r(527)]-this[r(505)],e=this[r(555)]();if(this[r(530)][r(480)][r(532)](),s[r(514)]+t!==e){const n=s[r(533)]+t,o=this[r(497)][r(541)][r(496)](Kn.Users),i=this[r(530)][r(495)]({revision:s,from:n,to:e});i.id=s.id;const a=i[r(498)][r(556)](t=>o[r(486)](t));s[r(531)]({...i,authors:a},!0),this[r(530)][r(493)](s.id,i,!0)}this[r(530)][r(549)]=e,s[r(514)]===s[r(533)]&&!this[r(530)][r(503)][r(537)](o)&&this[r(530)][r(563)][r(513)][r(510)](o),this[r(530)][r(481)](e)}const{revisions:a,requestId:c}=await this[r(567)][r(552)](e[r(577)],this[r(478)]);i&&a[r(538)]>0?n[r(545)]():(await this[r(571)](a),this[r(569)](a,c),this[r(530)][r(516)]())};return n[t(558)]?r():new Promise((e,s)=>{const o=t;n[o(518)](o(550),()=>{const t=o;r()[t(507)](e)[t(489)](s)})})}[Zs(500)](){super[Zs(500)]()}async[Zs(517)](){const t=Zs;this[t(567)][t(501)]||await new Promise(e=>{const n=t;this[n(575)](this[n(567)],n(539),t=>{t[n(508)](),e()})})}[Zs(555)](){const t=Zs,e=this[t(497)][t(541)][t(496)](vs)[t(586)][t(584)]()[t(521)]();for(const n of e)if(t(583)!==n[t(585)]||n[t(544)])return n[t(560)]+1}[Zs(557)](){const t=Zs,e=this[t(497)][t(541)][t(496)](vs);return new Promise(n=>{const r=t;e[r(566)]?e[r(518)](r(564),()=>{n(this[r(555)]())}):n(this[r(555)]())})}[Zs(569)](t,e){const n=Zs,r=this[n(530)][n(563)];this[n(478)]=e;for(const e of t){const t=r[n(522)](e.id);if(t){if((e[n(533)]||e[n(514)])&&(e[n(479)]=null),t===this[n(530)][n(504)]){const r=Math[n(572)](t[n(514)],e[n(514)]),s=Math[n(572)](t[n(533)],e[n(533)]);let o;t[n(514)]===e[n(514)]&&t[n(533)]===e[n(533)]?(o=!0,this[n(582)](e)):e[n(514)]===r&&e[n(533)]===s?o=!1:(t[n(514)]===r&&t[n(533)]===s||this[n(576)]({revision:t,from:s,to:r}),o=!0),o&&(delete e[n(533)],delete e[n(514)],delete e[n(479)],delete e[n(548)],delete e[n(498)])}this[n(530)][n(476)](e),this[n(582)](e)}else this[n(530)][n(524)](e)}const s=r[n(509)]();s[n(521)]();for(let t=0;t<s[n(538)]-1;t++){const e=s[t],r=s[t+1];if(e[n(533)]<r[n(514)]){const t=r[n(514)],s=Math[n(572)](t,e[n(514)]);this[n(576)]({revision:e,from:t,to:s})}}}[Zs(576)]({revision:t,from:e,to:n}={}){const r=Zs,s=this[r(497)][r(541)][r(496)](Kn.Users),o=this[r(530)][r(495)]({revision:t,from:e,to:n});o[r(562)]=o[r(498)][r(556)](t=>s[r(486)](t)),t[r(531)](o)}[Zs(582)](t){const e=Zs,n={};n.id=t.id;for(const r of Object[e(542)](t))"id"!==r&&(n[r]=void 0);this[e(530)][e(493)](n.id,n,!0)}async[Zs(571)](t){const e=Zs,n=this[e(497)][e(541)][e(496)](Kn.Users),{connection:r}=this[e(497)][e(541)][e(496)](Fn),s=new Set;for(const n of t){for(const t of n[e(498)])i(t);n[e(565)]&&i(n[e(565)])}if(0===s[e(574)])return;const o=await w[e(559)](r,Array[e(528)](s));for(const t of o)n[e(486)](t.id)||n[e(487)](t);function i(t){const r=e;n[r(486)](t)||s[r(529)](t)}}}function to(t){const e=Zs;return t[e(534)][e(578)](e(506))||t[e(534)][e(578)](e(515))||t[e(534)][e(578)](e(551))}var eo=no;function no(t,e){var n=ro();return(no=function(t,e){return n[t-=478]})(t,e)}function ro(){var t=["10ZCtAnP","139036twtfHh","376dqKQIV","pluginName","13956BtLWGE","1336430aTikwk","RevisionHistory","RealTimeCollaborativeRevisionHistory","605WSdlcH","33446krfwrU","1804402EGZyRV","90786ndSEXj","requires","isPremiumPlugin","3nyFrxa","isOfficialPlugin","5391888XSARaM","18zkvBuD"];return(ro=function(){return t})()}!function(t){for(var e=no,n=t();;)try{if(452708===parseInt(e(487))/1+parseInt(e(486))/2*(parseInt(e(490))/3)+parseInt(e(495))/4*(-parseInt(e(494))/5)+-parseInt(e(492))/6+-parseInt(e(485))/7*(-parseInt(e(478))/8)+parseInt(e(493))/9*(parseInt(e(481))/10)+-parseInt(e(484))/11*(parseInt(e(480))/12))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(ro);class so extends e.Plugin{static get[eo(488)](){return[eo(482),$s,_s]}static get[eo(479)](){return eo(483)}static get[eo(491)](){return!0}static get[eo(489)](){return!0}}function oo(t){return function(t){return"object"==typeof t&&null!==t}(t)&&1===t.nodeType&&!function(t){if("object"!=typeof t)return!1;if(null==t)return!1;if(null===Object.getPrototypeOf(t))return!0;if("[object Object]"!==Object.prototype.toString.call(t)){const e=t[Symbol.toStringTag];return null!=e&&(!!Object.getOwnPropertyDescriptor(t,Symbol.toStringTag)?.writable&&t.toString()===`[object ${e}]`)}let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}(t)}function io(t,e){const n=co();return(io=function(t,e){return n[t-=320]})(t,e)}const ao=io;function co(){const t=["isHidden","setTemplate","ck-presence-list__counter--hidden","4014836yJFswc","bindTemplate","8061903GaqImj","4639911PRbsQC","20322SSYDIA","2622340xQYZwe","usersCount","bind","listitem","_collapseAt","22iQtNJw","ck-presence-list__users-counter__text","div","18585RQNFNL","530hCnSCV","16715550IHMmdR","ck-presence-list__list-item","toString","16wCmssc","ck-presence-list__users-counter","set"];return(co=function(){return t})()}!function(t){const e=io,n=t();for(;;)try{if(920803===-parseInt(e(328))/1*(parseInt(e(325))/2)+-parseInt(e(342))/3+-parseInt(e(339))/4+parseInt(e(329))/5*(parseInt(e(343))/6)+parseInt(e(320))/7*(parseInt(e(333))/8)+parseInt(e(341))/9+parseInt(e(330))/10)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(co);class uo extends o.View{[ao(324)];constructor(t,e=6){const n=ao;super(t);const r=this[n(340)];this[n(335)](n(336),!0),this[n(335)](n(321),0),this[n(324)]=e,this[n(322)](n(336)).to(this,n(321),t=>t<e),this[n(337)]({tag:n(327),attributes:{class:["ck",n(331),r.if(n(336),n(338))],role:n(323)},children:[{tag:n(327),attributes:{class:["ck",n(334)]},children:[{tag:n(327),attributes:{class:["ck",n(326)]},children:[{text:r.to(n(321),t=>"+"+(t-this[n(324)]+2)[n(332)]())}]}]}]})}}const lo=po;function ho(){const t=["setAttribute","8KNuDZX","ck-presence-list__list","removeAttribute","list","189WHNDJk","div","154383XUNcfk","1163528ThwWfe","bindTemplate","items","setTemplate","15701710mokzJd","querySelector","listenTo","contains","isExpanded","presencelist:show","focus","render","336080EVgJwB",".ck-balloon-panel_with-arrow","Connected users list","81972HfBayq","3073585UacUbk",".ck-presence-list__dropdown-list","createCollection","3039336LgqaGY","element","Collapsed connected users list (press ENTER to open it)","set","aria-expanded","keystrokes","1sJzzcb","hasPopup","fire","change:hasPopup","relatedTarget","presencelist:hide"];return(ho=function(){return t})()}function po(t,e){const n=ho();return(po=function(t,e){return n[t-=349]})(t,e)}!function(t){const e=po,n=t();for(;;)try{if(343948===parseInt(e(374))/1*(-parseInt(e(349))/2)+parseInt(e(387))/3*(-parseInt(e(381))/4)+-parseInt(e(365))/5+-parseInt(e(364))/6*(-parseInt(e(385))/7)+parseInt(e(361))/8+-parseInt(e(368))/9+parseInt(e(353))/10)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(ho);class fo extends o.View{[lo(351)];[lo(373)];constructor(t){const e=lo;super(t);const n=this[e(350)];this[e(351)]=this[e(367)](),this[e(373)]=new s.KeystrokeHandler,this[e(371)]({hasPopup:!1,isExpanded:!1}),this[e(352)]({tag:e(386),attributes:{"aria-haspopup":n.if(e(375)),"aria-expanded":n.to(e(357),t=>this[e(375)]&&String(t)),"aria-label":n.to(e(375),n=>gr(t,e(n?370:363))),role:e(384),tabindex:n.to(e(375),t=>!!t&&0),class:["ck",e(382)]},children:this[e(351)],on:{mouseenter:n.to(()=>this[e(376)](e(358))),mouseleave:n.to(t=>{const n=e,r=t,s=document[n(354)](n(366)),o=document[n(354)](n(362));s?.[n(356)](r[n(378)])||o?.[n(356)](r[n(378)])||this[n(376)](n(379))})}}),this.on(e(377),(t,n,r)=>{const s=e;this[s(369)]&&(r?this[s(369)][s(380)](s(372),String(this[s(357)])):this[s(369)][s(383)](s(372)))})}[lo(359)](){const t=lo;this[t(369)][t(359)]()}[lo(360)](){const t=lo;super[t(360)](),this[t(373)][t(355)](this[t(369)])}}var mo=n(792),go={attributes:{"data-cke":!0}};go.setAttributes=ir(),go.insert=sr().bind(null,"head"),go.domAPI=nr(),go.insertStyleElement=cr();tr()(mo.A,go);mo.A&&mo.A.locals&&mo.A.locals;const yo=bo;function bo(t,e){const n=Oo();return(bo=function(t,e){return n[t-=136]})(t,e)}function Oo(){const t=["191527wcoKEF","div","5868xePSqd","bind","11952hKGFEH","counterView","412872nDKAkF","isCollapsed","locale","set","setTemplate","listenTo","change","2035qXxOfi","3356seKhLf","items","100482zLgPxg","inlineListView","tooltipPosition","63bWrSby","66EzZuFd","ck-rounded-corners","ck-presence-list","first","1974313oXsoFy","ck-reset","ck-presence-list--collapsed","bindTemplate","12lrlGdr","hasPopup","20pWrlZi","30121JgCfyv"];return(Oo=function(){return t})()}!function(t){const e=bo,n=t();for(;;)try{if(183270===parseInt(e(141))/1+-parseInt(e(153))/2*(parseInt(e(165))/3)+-parseInt(e(151))/4*(parseInt(e(150))/5)+-parseInt(e(157))/6*(-parseInt(e(137))/7)+-parseInt(e(143))/8*(parseInt(e(156))/9)+-parseInt(e(167))/10*(parseInt(e(161))/11)+-parseInt(e(139))/12*(-parseInt(e(136))/13))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Oo);class wo extends o.View{[yo(142)];[yo(154)];constructor(t,e=6){const n=yo;super(t);const r=this[n(164)];this[n(146)](n(144),!0),this[n(142)]=new uo(this[n(145)],e),this[n(154)]=new fo(t),this[n(154)][n(140)](n(166)).to(this,n(144)),this[n(148)](this[n(154)][n(152)],n(149),()=>{const t=n;for(const e of this[t(154)][t(152)])e[t(155)]="s";this[t(154)][t(152)][t(160)]&&(this[t(154)][t(152)][t(160)][t(155)]="se")}),this[n(147)]({tag:n(138),attributes:{class:["ck",n(159),n(162),n(158),r.if(n(144),n(163))]},children:[this[n(154)]]})}}function vo(t,e){const n=So();return(vo=function(t,e){return n[t-=301]})(t,e)}const Io=vo;function So(){const t=["render","ck-presence-list__dropdown-list","84301iirMLY","440121uaTKkF","listenTo","clientHeight","presencelist:hide","contains",".ck-presence-list__list","fire","ck-presence-list__dropdown-list-wrapper_scrollable","ck-presence-list__dropdown-list-wrapper","resize","innerHeight","window","listWrapperView","_isScrollable","scrollHeight","ariaLabelledBy","1626468Yawutc","querySelector","items","application","role","1321522OrNohw","54370zaPKml","5OvxLMt","ck-reset","472EMbXQE","div","setTemplate",".ck-balloon-panel_with-arrow","ck-list","max","set","96jgsHTM","170QrBRjf","checkIfScrollable","10120428sYddWc","bindTemplate","ariaLabel","Connected users list dropdown menu","4081556hgAWog","change","element","relatedTarget"];return(So=function(){return t})()}!function(t){const e=vo,n=t();for(;;)try{if(796433===parseInt(e(334))/1+-parseInt(e(335))/2*(parseInt(e(345))/3)+-parseInt(e(306))/4+parseInt(e(336))/5*(parseInt(e(329))/6)+parseInt(e(312))/7*(-parseInt(e(338))/8)+parseInt(e(302))/9+-parseInt(e(346))/10*(-parseInt(e(313))/11))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(So);class ko extends o.View{[Io(325)];constructor(t,e){const n=Io;super(t);const r=this[n(303)];this[n(325)]=new Po(t,e),this[n(340)]({tag:n(339),attributes:{tabindex:-1,role:n(332),class:["ck",n(311)],"aria-label":gr(t,n(305))},children:[this[n(325)]],on:{mouseleave:r.to(t=>{const e=n,r=t,s=document[e(330)](e(318)),o=document[e(330)](e(341));s?.[e(317)](r[e(309)])||o?.[e(317)](r[e(309)])||this[e(319)](e(316))})}})}}class Po extends o.ListView{constructor(t,e){const n=Io;super(t);const r=this[n(303)];this[n(344)](n(326),!1),this[n(340)]({tag:e?n(339):"ul",attributes:{class:["ck",n(337),n(342),n(321),r.if(n(326),n(320))],role:r.to(n(333)),"aria-label":r.to(n(304)),"aria-labelledby":r.to(n(328))},children:this[n(331)]}),this[n(314)](s.global[n(324)],n(322),()=>this[n(301)]()),this[n(331)].on(n(307),()=>this[n(301)]())}[Io(310)](){const t=Io;super[t(310)](),this[t(301)]()}[Io(301)](){const t=Io,e=this[t(308)];e&&(this[t(326)]=Math[t(343)](e[t(327)],e[t(315)])>.8*window[t(323)])}}const Ao=_o;function To(){const t=["3kevRJK","tag","span","18046nJDjPl","24zddEUX","execute","name","bindTemplate","211298WGWTfm","5XaVNDS","1687356lCslxm","10KNQgxb","5TbTCRh","color","1128364NiWUdd","5430451NKOuIU","ck-presence-list__marker","getBackgroundColorClass","element","987972KHZFxw","button","presentation","ck-user__full-name","568NkwSJy","1193823NWOBlE","userView","focus","setTemplate","ck-presence-list__dropdown-list-item","true","fire"];return(To=function(){return t})()}function _o(t,e){const n=To();return(_o=function(t,e){return n[t-=269]})(t,e)}!function(t){const e=_o,n=t();for(;;)try{if(301833===parseInt(e(291))/1*(parseInt(e(287))/2)+-parseInt(e(279))/3*(-parseInt(e(293))/4)+parseInt(e(288))/5*(parseInt(e(298))/6)+-parseInt(e(282))/7*(-parseInt(e(271))/8)+-parseInt(e(272))/9*(-parseInt(e(290))/10)+-parseInt(e(289))/11+parseInt(e(283))/12*(-parseInt(e(294))/13))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(To);class Co extends o.ListItemView{[Ao(273)];constructor(t,e,n){const r=Ao;super(t);const s=this[r(286)];this[r(273)]=new Kn.UserView(t,e);const o={tag:"li",attributes:{class:["ck",r(276)],tabindex:-1,role:r(269),"aria-label":e[r(285)]},children:[this[r(273)],{tag:r(281),attributes:{class:["ck",r(270)]},children:[{text:e[r(285)]}]},{tag:r(281),attributes:{class:["ck",r(295),e[r(292)][r(296)]()],"aria-hidden":r(277)}}]};n&&(o[r(280)]=r(299),o.on={click:s.to(()=>this[r(278)](r(284)))}),this[r(275)](o)}[Ao(274)](){const t=Ao;this[t(297)][t(274)]()}}const Eo=xo;function xo(t,e){const n=Ro();return(xo=function(t,e){return n[t-=307]})(t,e)}!function(t){const e=xo,n=t();for(;;)try{if(661686===-parseInt(e(341))/1*(parseInt(e(331))/2)+parseInt(e(339))/3*(parseInt(e(338))/4)+parseInt(e(320))/5+parseInt(e(335))/6+-parseInt(e(334))/7*(-parseInt(e(325))/8)+-parseInt(e(313))/9+parseInt(e(332))/10*(-parseInt(e(319))/11))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Ro);class jo extends o.View{[Eo(323)];[Eo(327)];constructor(t,e,n){const r=Eo;super(t);const s=this[r(336)];this[r(310)](r(330),!1),this[r(310)](r(333),!0),this[r(310)](r(312),""),this[r(323)]=new Kn.UserView(t,e),this[r(327)]=new Do(t,e);const i=new o.LabelView(t);i[r(309)][r(326)]=r(337),i[r(316)]=e[r(321)];const a={tag:r(318),attributes:{class:["ck",r(317)],role:r(308),tabindex:s.to(r(330),t=>!!t&&0),"aria-labelledby":i.id,"data-cke-tooltip-text":this[r(323)][r(321)],"data-cke-tooltip-position":s.to(r(312)),"data-cke-tooltip-disabled":s.to(r(333),t=>!t),"data-cke-tooltip-class":r(307)},children:[this[r(323)],this[r(327)],i]};n&&(a[r(326)]=r(315),a.on={click:s.to(()=>this[r(311)](r(340)))}),this[r(324)](a)}}class Do extends o.View{constructor(t,e){const n=Eo;super(t),this[n(324)]({tag:n(337),attributes:{class:["ck",n(314),e[n(328)][n(322)]()],"aria-hidden":n(329)}})}}function Ro(){const t=["button","text","ck-presence-list__list-item","div","9251UrTeRe","3184390qBRtHJ","name","getBackgroundColorClass","userView","setTemplate","8GQVkdd","tag","markerView","color","true","isFocusable","26702cSOdNL","9560BPdizm","hasTooltip","7841113AKpJiq","1752870ZicyJl","bindTemplate","span","28DRkEio","284403rLSyFk","execute","31bIsopo","ck-presence-list__list-item__tooltip","listitem","template","set","fire","tooltipPosition","7499034kIPhMf","ck-presence-list__marker"];return(Ro=function(){return t})()}function No(){const t=["offsetHeight","isOfficialPlugin","bindTo","pluginName","isRendered","onClick","items","plugins","285717EhHKYO","remove","presencelist-collapseat-invalid-format","min","[contenteditable]","counterView","from","init","isExpanded","input","indexOf",':not([disabled]):not([tabindex="-1"])',"render","presencelist-missing-container","609636GJGAnG","showDropdown","using","locale","hasTooltip","isFocusable","focus","content","activeElement","attachToDom","_allConnectedUsers","8nnZFjm","Shift+Tab","Tab","focusTracker","_handleUserRemove","isCollapsed","isVisible","8BhwgLk","2433626IKoyHm","class","reverse","define","destroy","context","currentDisplayedUsers","Esc","PresenceListUI","sort","set","9sctvJZ","view","textarea","pin","hideDropdown","4394645hlAliu","map","_createView","_bodyCollection","tabIndex","26205310MocwiA","presenceList.displayMe","[tabindex]","change:isFocused","appendChild","detachFromDom","Enter","ck ck-presence-list__balloon","presencelist:hide","allConnectedUsers","_handleUserAdd","listenTo","487491UXkIyp","requires","presenceList.container","offsetWidth","balloonPanelView","presenceDropdownView","presenceList.collapseAt","config","usersCount","get","5344661ChBOVo","join","presencelist:show","add","number","execute","displayMe","element","checkIfScrollable","unpin","querySelectorAll","keystrokes","button","isMe","length","filter","isPremiumPlugin","body","presenceList","bind","inlineListView","find","select"];return(No=function(){return t})()}const Vo=Mo;function Mo(t,e){const n=No();return(Mo=function(t,e){return n[t-=239]})(t,e)}!function(t){const e=Mo,n=t();for(;;)try{if(806807===-parseInt(e(333))/1+-parseInt(e(259))/2+parseInt(e(292))/3*(-parseInt(e(251))/4)+parseInt(e(275))/5+-parseInt(e(240))/6+-parseInt(e(302))/7*(parseInt(e(258))/8)+-parseInt(e(270))/9*(-parseInt(e(280))/10))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(No);const Bo={collapseAt:6,displayMe:!0};class Uo extends e.ContextPlugin{[Vo(265)];[Vo(296)];[Vo(271)];[Vo(297)];[Vo(278)]=null;static get[Vo(328)](){return Vo(267)}static get[Vo(326)](){return!0}static get[Vo(318)](){return!0}constructor(t){const e=Vo;super(t),this[e(264)][e(299)][e(262)](e(320),Bo);const n=t[e(299)][e(301)](e(298));if(e(306)!=typeof n)throw new s.CKEditorError(e(335),this);if(n<1)throw new s.CKEditorError(e(335),this);this[e(250)]=this[e(264)][e(332)][e(301)](Qn)[e(289)],this[e(269)](e(300),0),this[e(265)]=new s.Collection,this[e(296)]=new o.BalloonPanelView,this[e(296)][e(260)]=e(287),this[e(271)]=this[e(277)](),this[e(297)]=void 0}static get[Vo(293)](){return[Qn]}[Vo(340)](){const t=Vo;for(const e of this[t(250)])this[t(290)](e);this[t(291)](this[t(250)],t(305),(e,n)=>{this[t(290)](n)}),this[t(291)](this[t(250)],t(334),(e,n)=>{this[t(255)](n)})}[Vo(277)](){const t=Vo,e=this[t(264)],n=new wo(this[t(264)][t(243)],this[t(264)][t(299)][t(301)](t(298))),r=this[t(296)];if(!oo(e[t(299)][t(301)](t(294))))throw new s.CKEditorError(t(239),this);return n[t(338)][t(321)](t(300)).to(this),n[t(321)](t(256)).to(this,t(300),r=>{const s=t,{collapseAt:o}=e[s(299)][s(301)](s(320)),i=r>=o;if(i&&!n[s(322)][s(331)][s(323)](t=>t instanceof uo)){const t=this[s(264)][s(299)][s(301)](s(298))-1;this[s(265)][s(316)]==t&&this[s(265)][s(316)]>1&&this[s(265)][s(334)](this[s(265)][s(316)]-1),n[s(322)][s(331)][s(305)](n[s(338)])}return i||this[s(274)](),i}),n[t(322)][t(331)][t(327)](this[t(265)])[t(242)](r=>{const s=t,o=e[s(299)][s(301)](s(320)),i=new jo(e[s(243)],r,!!o[s(330)]);return i[s(321)](s(244)).to(n,s(256),t=>!t),i[s(321)](s(245)).to(n,s(256),t=>!t),o[s(330)]&&this[s(291)](i,s(307),()=>{const t=s;this[t(271)][t(256)]||o[t(330)](r,i[t(309)])}),i}),this[t(291)](n[t(322)],t(304),()=>{const e=t;this[e(271)][e(256)]&&this[e(241)]()}),this[t(291)](n[t(322)],t(288),()=>{const e=t;this[e(297)]&&this[e(274)]()}),n[t(322)][t(313)][t(269)](t(286),(e,n)=>{const r=t;this[r(271)][r(256)]&&(this[r(241)](),n())}),n[t(345)](),r[t(345)](),(0,o.clickOutsideHandler)({emitter:n,activator:()=>r[t(257)],contextElements:[r[t(309)],n[t(322)][t(309)]],callback:()=>this[t(274)]()}),e[t(299)][t(301)](t(294))[t(284)](n[t(309)]),this[t(278)]=new o.BodyCollection(this[t(264)][t(243)]),this[t(278)][t(249)](),this[t(278)][t(305)](this[t(296)]),n}[Vo(290)](t){const e=Vo;if(!this[e(264)][e(299)][e(301)](e(281))&&t[e(315)])return;const n=this[e(264)][e(299)][e(301)](e(298))-1;for(this[e(300)]++;this[e(265)][e(316)]>=n-(this[e(271)][e(256)]?1:0)&&this[e(265)][e(316)]>1;)this[e(265)][e(334)](1);const r=t[e(315)]?0:this[e(265)][e(316)];this[e(265)][e(305)](t,r)}[Vo(255)](t){const e=Vo;this[e(300)]--;const{collapseAt:n}=this[e(264)][e(299)][e(301)](e(320)),r=this[e(300)]>=n;if(this[e(265)][e(301)](t.id))this[e(265)][e(334)](t.id);else if(r&&this[e(265)][e(316)]+1===n-1)return;if(this[e(265)][e(316)]+(r?1:0)<this[e(300)])for(const t of Array[e(339)](this[e(250)])[e(261)]())if(!this[e(265)][e(301)](t.id)&&(this[e(265)][e(305)](t,Math[e(336)](this[e(265)][e(316)]-(r?1:0),1)),this[e(265)][e(316)]+(r?1:0)===n-1))return}[Vo(241)](){const t=Vo;if(this[t(297)])return;const e=this[t(264)][t(299)][t(301)](t(320));this[t(297)]=new ko(this[t(264)][t(243)],!!e[t(330)]),this[t(271)][t(322)][t(341)]=!0,this[t(291)](this[t(297)],t(288),()=>{const e=t;this[e(297)]&&this[e(274)]()});const{listWrapperView:n}=this[t(297)];n[t(331)][t(327)](this[t(250)])[t(242)](n=>{const r=t;if(!e[r(308)]&&n[r(315)])return null;const s=new Co(this[r(264)][r(243)],n,!!e[r(330)]);return e[r(330)]&&this[r(291)](s,r(307),()=>{const t=r;e[t(330)](n,s[t(309)])}),s}),this[t(296)][t(247)][t(305)](this[t(297)]),this[t(296)][t(273)]({target:this[t(271)][t(322)][t(309)]}),n[t(246)](),n[t(310)]();const r=(e,n)=>{const r=t;this[r(274)](),this[r(271)][r(322)][r(246)](),n()};n[t(313)][t(269)](t(266),r),n[t(313)][t(269)](t(252),r),n[t(313)][t(269)](t(253),(e,n)=>{const r=t;!function(t){const e=Mo,n=["a",e(314),e(342),e(324),e(272),e(282),e(337)][e(276)](t=>t+e(344))[e(303)](","),r=[...document[e(319)][e(312)](n)][e(317)](t=>t===document[e(248)]||t[e(295)]+t[e(325)]>0)[e(268)]((t,n)=>(t[e(279)]||0)-(n[e(279)]||0)),s=r[e(343)](t),o=r[(s+1)%r[e(316)]];o&&o[e(246)]()}(this[r(271)][r(309)]),this[r(274)](),n()}),n[t(254)][t(305)](this[t(271)][t(309)]),n[t(254)].on(t(283),(e,n,r)=>{r||this[t(274)]()})}[Vo(274)](){const t=Vo;this[t(297)]&&(this[t(271)][t(322)][t(341)]=!1,this[t(296)][t(311)](),this[t(296)][t(247)][t(334)](this[t(297)]),this[t(297)][t(263)](),this[t(297)]=void 0)}[Vo(263)](){const t=Vo;super[t(263)](),this[t(271)]&&this[t(271)][t(329)]&&this[t(271)][t(263)](),this[t(278)]&&(this[t(278)][t(285)](),this[t(278)][t(263)](),this[t(278)]=null)}}var Jo=qo;function qo(t,e){var n=Lo();return(qo=function(t,e){return n[t-=133]})(t,e)}function Lo(){var t=["95VJSdaz","41091809ZlRALr","1453500yWuPSK","requires","54360BAyuPD","39nLqTCu","21128BRLhIZ","1596PWzezU","PresenceList","isPremiumPlugin","2043dnUgBX","isOfficialPlugin","pluginName","47240rxYIFA","4582500lMOHGD","145918XrEcBC"];return(Lo=function(){return t})()}!function(t){for(var e=qo,n=t();;)try{if(946456===-parseInt(e(144))/1+parseInt(e(141))/2*(-parseInt(e(147))/3)+parseInt(e(148))/4*(-parseInt(e(142))/5)+-parseInt(e(140))/6+-parseInt(e(133))/7*(-parseInt(e(146))/8)+-parseInt(e(136))/9*(parseInt(e(139))/10)+parseInt(e(143))/11)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Lo);class Go extends e.ContextPlugin{static get[Jo(145)](){return[Qn,Uo]}static get[Jo(138)](){return Jo(134)}static get[Jo(137)](){return!0}static get[Jo(135)](){return!0}}function Ho(t,e){var n=Yo();return(Ho=function(t,e){return n[t-=367]})(t,e)}function Yo(){var t=["10zXBOka","1159506OqDPLt","34542rrqHHh","7629DVRcgQ","90419befSml","708936pMVhpa","200ntbnia","17VqQNwH","180zxrDJF","641795SDLJIw","292hCbzyh","2025935HlkYsm"];return(Yo=function(){return t})()}!function(t){for(var e=Ho,n=t();;)try{if(207895===-parseInt(e(374))/1*(-parseInt(e(369))/2)+-parseInt(e(370))/3*(parseInt(e(377))/4)+parseInt(e(378))/5+parseInt(e(372))/6+-parseInt(e(371))/7*(-parseInt(e(373))/8)+parseInt(e(368))/9*(parseInt(e(367))/10)+-parseInt(e(376))/11*(parseInt(e(375))/12))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Yo)})(),(window.CKEditor5=window.CKEditor5||{}).realTimeCollaboration=r})();
5
+ */(()=>{var t={188(t){"use strict";t.exports=function(t,e){var n=new Array(arguments.length-1),r=0,s=2,o=!0;for(;s<arguments.length;)n[r++]=arguments[s++];return new Promise(function(s,i){n[r]=function(t){if(o)if(o=!1,t)i(t);else{for(var e=new Array(arguments.length-1),n=0;n<e.length;)e[n++]=arguments[n];s.apply(null,e)}};try{t.apply(e||null,n)}catch(t){o&&(o=!1,i(t))}})}},4(t,e){"use strict";var n=e;n.length=function(t){var e=t.length;if(!e)return 0;for(var n=0;--e%4>1&&"="===t.charAt(e);)++n;return Math.ceil(3*t.length)/4-n};for(var r=new Array(64),s=new Array(123),o=0;o<64;)s[r[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;n.encode=function(t,e,n){for(var s,o=null,i=[],a=0,c=0;e<n;){var d=t[e++];switch(c){case 0:i[a++]=r[d>>2],s=(3&d)<<4,c=1;break;case 1:i[a++]=r[s|d>>4],s=(15&d)<<2,c=2;break;case 2:i[a++]=r[s|d>>6],i[a++]=r[63&d],c=0}a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),a=0)}return c&&(i[a++]=r[s],i[a++]=61,1===c&&(i[a++]=61)),o?(a&&o.push(String.fromCharCode.apply(String,i.slice(0,a))),o.join("")):String.fromCharCode.apply(String,i.slice(0,a))};var i="invalid encoding";n.decode=function(t,e,n){for(var r,o=n,a=0,c=0;c<t.length;){var d=t.charCodeAt(c++);if(61===d&&a>1)break;if(void 0===(d=s[d]))throw Error(i);switch(a){case 0:r=d,a=1;break;case 1:e[n++]=r<<2|(48&d)>>4,r=d,a=2;break;case 2:e[n++]=(15&r)<<4|(60&d)>>2,r=d,a=3;break;case 3:e[n++]=(3&r)<<6|d,a=0}}if(1===a)throw Error(i);return n-o},n.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}},925(t){"use strict";function e(){this._listeners=Object.create(null)}t.exports=e,e.prototype.on=function(t,e,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:n||this}),this},e.prototype.off=function(t,e){if(void 0===t)this._listeners=Object.create(null);else if(void 0===e)this._listeners[t]=[];else{var n=this._listeners[t];if(!n)return this;for(var r=0;r<n.length;)n[r].fn===e?n.splice(r,1):++r}return this},e.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<e.length;)e[r].fn.apply(e[r++].ctx,n)}return this}},791(t){"use strict";function e(t){return"undefined"!=typeof Float32Array?function(){var e=new Float32Array([-0]),n=new Uint8Array(e.buffer),r=128===n[3];function s(t,r,s){e[0]=t,r[s]=n[0],r[s+1]=n[1],r[s+2]=n[2],r[s+3]=n[3]}function o(t,r,s){e[0]=t,r[s]=n[3],r[s+1]=n[2],r[s+2]=n[1],r[s+3]=n[0]}function i(t,r){return n[0]=t[r],n[1]=t[r+1],n[2]=t[r+2],n[3]=t[r+3],e[0]}function a(t,r){return n[3]=t[r],n[2]=t[r+1],n[1]=t[r+2],n[0]=t[r+3],e[0]}t.writeFloatLE=r?s:o,t.writeFloatBE=r?o:s,t.readFloatLE=r?i:a,t.readFloatBE=r?a:i}():function(){function e(t,e,n,r){var s=e<0?1:0;if(s&&(e=-e),0===e)t(1/e>0?0:2147483648,n,r);else if(isNaN(e))t(2143289344,n,r);else if(e>34028234663852886e22)t((s<<31|2139095040)>>>0,n,r);else if(e<11754943508222875e-54)t((s<<31|Math.round(e/1401298464324817e-60))>>>0,n,r);else{var o=Math.floor(Math.log(e)/Math.LN2);t((s<<31|o+127<<23|8388607&Math.round(e*Math.pow(2,-o)*8388608))>>>0,n,r)}}function i(t,e,n){var r=t(e,n),s=2*(r>>31)+1,o=r>>>23&255,i=8388607&r;return 255===o?i?NaN:s*(1/0):0===o?1401298464324817e-60*s*i:s*Math.pow(2,o-150)*(i+8388608)}t.writeFloatLE=e.bind(null,n),t.writeFloatBE=e.bind(null,r),t.readFloatLE=i.bind(null,s),t.readFloatBE=i.bind(null,o)}(),"undefined"!=typeof Float64Array?function(){var e=new Float64Array([-0]),n=new Uint8Array(e.buffer),r=128===n[7];function s(t,r,s){e[0]=t,r[s]=n[0],r[s+1]=n[1],r[s+2]=n[2],r[s+3]=n[3],r[s+4]=n[4],r[s+5]=n[5],r[s+6]=n[6],r[s+7]=n[7]}function o(t,r,s){e[0]=t,r[s]=n[7],r[s+1]=n[6],r[s+2]=n[5],r[s+3]=n[4],r[s+4]=n[3],r[s+5]=n[2],r[s+6]=n[1],r[s+7]=n[0]}function i(t,r){return n[0]=t[r],n[1]=t[r+1],n[2]=t[r+2],n[3]=t[r+3],n[4]=t[r+4],n[5]=t[r+5],n[6]=t[r+6],n[7]=t[r+7],e[0]}function a(t,r){return n[7]=t[r],n[6]=t[r+1],n[5]=t[r+2],n[4]=t[r+3],n[3]=t[r+4],n[2]=t[r+5],n[1]=t[r+6],n[0]=t[r+7],e[0]}t.writeDoubleLE=r?s:o,t.writeDoubleBE=r?o:s,t.readDoubleLE=r?i:a,t.readDoubleBE=r?a:i}():function(){function e(t,e,n,r,s,o){var i=r<0?1:0;if(i&&(r=-r),0===r)t(0,s,o+e),t(1/r>0?0:2147483648,s,o+n);else if(isNaN(r))t(0,s,o+e),t(2146959360,s,o+n);else if(r>17976931348623157e292)t(0,s,o+e),t((i<<31|2146435072)>>>0,s,o+n);else{var a;if(r<22250738585072014e-324)t((a=r/5e-324)>>>0,s,o+e),t((i<<31|a/4294967296)>>>0,s,o+n);else{var c=Math.floor(Math.log(r)/Math.LN2);1024===c&&(c=1023),t(4503599627370496*(a=r*Math.pow(2,-c))>>>0,s,o+e),t((i<<31|c+1023<<20|1048576*a&1048575)>>>0,s,o+n)}}}function i(t,e,n,r,s){var o=t(r,s+e),i=t(r,s+n),a=2*(i>>31)+1,c=i>>>20&2047,d=4294967296*(1048575&i)+o;return 2047===c?d?NaN:a*(1/0):0===c?5e-324*a*d:a*Math.pow(2,c-1075)*(d+4503599627370496)}t.writeDoubleLE=e.bind(null,n,0,4),t.writeDoubleBE=e.bind(null,r,4,0),t.readDoubleLE=i.bind(null,s,0,4),t.readDoubleBE=i.bind(null,o,4,0)}(),t}function n(t,e,n){e[n]=255&t,e[n+1]=t>>>8&255,e[n+2]=t>>>16&255,e[n+3]=t>>>24}function r(t,e,n){e[n]=t>>>24,e[n+1]=t>>>16&255,e[n+2]=t>>>8&255,e[n+3]=255&t}function s(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function o(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}t.exports=e(e)},338(t){"use strict";t.exports=function(t,e,n){var r=n||8192,s=r>>>1,o=null,i=r;return function(n){if(n<1||n>s)return t(n);i+n>r&&(o=t(r),i=0);var a=e.call(o,i,i+=n);return 7&i&&(i=1+(7|i)),a}}},405(t,e){"use strict";var n=e;n.length=function(t){for(var e=0,n=0,r=0;r<t.length;++r)(n=t.charCodeAt(r))<128?e+=1:n<2048?e+=2:55296==(64512&n)&&56320==(64512&t.charCodeAt(r+1))?(++r,e+=4):e+=3;return e},n.read=function(t,e,n){if(n-e<1)return"";for(var r="",s=e;s<n;){var o=t[s++];if(o<=127)r+=String.fromCharCode(o);else if(o>=192&&o<224){var i=(31&o)<<6|63&t[s++];r+=i>=128?String.fromCharCode(i):"�"}else if(o>=224&&o<240){var a=(15&o)<<12|(63&t[s++])<<6|63&t[s++];r+=a>=2048?String.fromCharCode(a):"�"}else if(o>=240){var c=(7&o)<<18|(63&t[s++])<<12|(63&t[s++])<<6|63&t[s++];c<65536||c>1114111?r+="�":(c-=65536,r+=String.fromCharCode(55296+(c>>10)),r+=String.fromCharCode(56320+(1023&c)))}}return r},n.write=function(t,e,n){for(var r,s,o=n,i=0;i<t.length;++i)(r=t.charCodeAt(i))<128?e[n++]=r:r<2048?(e[n++]=r>>6|192,e[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(s=t.charCodeAt(i+1)))?(r=65536+((1023&r)<<10)+(1023&s),++i,e[n++]=r>>18|240,e[n++]=r>>12&63|128,e[n++]=r>>6&63|128,e[n++]=63&r|128):(e[n++]=r>>12|224,e[n++]=r>>6&63|128,e[n++]=63&r|128);return n-o}},792(t,e,n){"use strict";n.d(e,{A:()=>a});var r=n(366),s=n.n(r),o=n(271),i=n.n(o)()(s());i.push([t.id,'.ck.ck-balloon-panel.ck-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:calc(var(--ck-z-dialog) + 100)}:root{--ck-color-presence-list-dropdown-background:#fff;--ck-color-presence-list-dropdown-arrow-border:#ebebeb;--ck-presence-list-dropdown-list-max-width:250px;--ck-presence-list-dropdown-list-min-width:180px;--ck-presence-list-users-tooltip-max-width:120px;--ck-presence-list-users-tooltip-min-width:25px}.ck.ck-presence-list{align-items:center;display:inline-flex;font-size:var(--ck-font-size-base);margin-right:var(--ck-spacing-standard);transition:margin-right .2s ease-in-out}.ck.ck-presence-list *{box-sizing:border-box}.ck.ck-presence-list__list{display:flex;flex-direction:row;justify-content:flex-end;position:relative}.ck.ck-presence-list__list:after{background:transparent;bottom:-15px;content:"";height:15px;left:0;position:absolute;width:100%}.ck.ck-presence-list__counter--hidden{display:none}.ck.ck-presence-list__list-item{background:none;border:1px solid transparent;color:inherit;font:inherit;margin-left:var(--ck-spacing-medium);outline:none;padding:0;position:relative}.ck.ck-presence-list__list-item:focus{border:var(--ck-focus-ring);border-radius:0;box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck-rounded-corners .ck.ck-presence-list__list-item:focus,.ck.ck-presence-list__list-item.ck-rounded-corners:focus{border-radius:var(--ck-border-radius)}.ck.ck-presence-list__list-item .ck-label{height:0;overflow:hidden;width:0}.ck.ck-presence-list__list-item:first-child{margin-left:0}.ck.ck-tooltip.ck-presence-list__list-item__tooltip>.ck-tooltip__text{display:inline-block;max-width:var(--ck-presence-list-users-tooltip-max-width);overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ck.ck-presence-list__marker{display:block;height:3px;margin-top:5px;position:relative;width:100%}.ck-presence-list__balloon button.ck-presence-list__dropdown-list-item *,.ck-presence-list__list button.ck-presence-list__list-item *{cursor:pointer}.ck.ck-presence-list--collapsed .ck-presence-list__list{border:1px solid transparent;min-width:calc(var(--ck-user-avatar-size)*2);padding-left:1px}.ck.ck-presence-list--collapsed .ck-presence-list__list *{cursor:pointer;transition:all .4s ease-in-out}.ck.ck-presence-list--collapsed .ck-presence-list__list:focus{border:var(--ck-focus-ring);border-radius:0;box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck-rounded-corners .ck.ck-presence-list--collapsed .ck-presence-list__list:focus,.ck.ck-presence-list--collapsed .ck-presence-list__list.ck-rounded-corners:focus{border-radius:var(--ck-border-radius)}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item{border:0;margin-left:calc(var(--ck-user-avatar-size)*-.35);padding:0}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:first-child{margin-left:0}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:last-child{order:unset}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item .ck-user{--ck-presence-list-avatar-border-color:var(--ck-color-base-foreground);border:2px solid var(--ck-presence-list-avatar-border-color);margin-left:0;margin-right:0}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item.ck-presence-list__users-counter{margin-left:0;margin-right:0}.ck.ck-presence-list__balloon{--ck-color-panel-border:var(--ck-color-presence-list-dropdown-arrow-border);--ck-color-panel-background:var(--ck-color-presence-list-dropdown-background);animation:fadeIn .3s ease-in-out;background-color:var(--ck-color-presence-list-dropdown-background);border:0;opacity:1}@media (prefers-reduced-motion:reduce){.ck.ck-presence-list__balloon{animation:none}}.ck.ck-presence-list__balloon ul{background-color:var(--ck-color-presence-list-dropdown-background)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-wrapper{border-radius:var(--ck-border-radius);max-width:var(--ck-presence-list-dropdown-list-max-width);min-width:var(--ck-presence-list-dropdown-list-min-width)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-wrapper.ck-presence-list__dropdown-list-wrapper_scrollable{max-height:80vh;overflow-x:hidden;overflow-y:auto}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item{align-items:center;background:none;border:0;color:inherit;display:flex;font:inherit;outline:none;padding:var(--ck-spacing-standard);position:relative}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:focus{box-shadow:var(--ck-focus-outer-shadow),0 0;outline:var(--ck-focus-ring);outline-offset:-1px;position:relative;z-index:1}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:first-of-type .ck-presence-list__marker{border-top-left-radius:var(--ck-border-radius)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:last-of-type .ck-presence-list__marker{border-bottom-left-radius:var(--ck-border-radius)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list .ck-user__full-name{color:var(--ck-color-base-text);margin-left:var(--ck-spacing-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list .ck.ck-presence-list__marker{height:100%;left:0;margin:0;position:absolute;width:3px}.ck.ck-presence-list__users-counter{--ck-presence-list-counter-border-color:var(--ck-user-avatar-background);--ck-presence-list-counter-background-color:var(--ck-user-avatar-color);align-items:center;background-color:var(--ck-presence-list-counter-background-color);border:2px solid var(--ck-presence-list-counter-border-color);border-radius:50%;box-sizing:border-box;display:flex;height:calc(var(--ck-user-avatar-size) - 4px);justify-content:center;line-height:100%;margin:4px 2px 2px;position:relative;width:calc(var(--ck-user-avatar-size) - 4px)}.ck.ck-presence-list__users-counter__text{--ck-presence-list-counter-text-color:var(--ck-user-avatar-background);color:var(--ck-presence-list-counter-text-color);cursor:default;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}',""]);const a=i},725(t,e,n){"use strict";n.d(e,{A:()=>a});var r=n(366),s=n.n(r),o=n(271),i=n.n(o)()(s());i.push([t.id,".ck .ck-user__marker-dot{border-radius:50%;cursor:default;display:block;height:var(--ck-user-dot-size);left:50%;position:absolute;top:calc((var(--ck-user-dot-size)/2)*-1);transform:translate(-50%,-50%);width:var(--ck-user-dot-size)}.ck .ck-user__marker-tooltip{color:#fff;display:none;font-family:Georgia,sans-serif;font-size:var(--ck-font-size-base);font-style:normal;font-weight:400;left:0;line-height:1;opacity:0;padding:var(--ck-spacing-small);position:absolute;top:-20px;transition:opacity .2s linear,transform .3s ease-in-out;white-space:nowrap;z-index:99999}@media (prefers-reduced-motion:reduce){.ck .ck-user__marker-tooltip{transition:none}}.ck .ck-user__marker-line{bottom:0;height:100%;position:absolute;width:0}.ck .ck-user__marker{cursor:default;display:inline;position:relative}.ck .ck-user__marker.ck-user__marker_hovered .ck-user__marker-dot{width:0}.ck .ck-user__marker.ck-user__marker_hovered .ck-user__marker-tooltip{animation:fadeInLeft .3s ease-in-out;display:block;opacity:1}.ck .ck-placeholder .ck-user__marker{display:none}@media (prefers-reduced-motion:reduce){.ck .ck-user__marker,.ck .ck-user__marker *,.ck .ck-user__marker:after{animation:none!important}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}",""]);const a=i},271(t){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n}).join("")},e.i=function(t,n,r,s,o){"string"==typeof t&&(t=[[null,t,void 0]]);var i={};if(r)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(i[c]=!0)}for(var d=0;d<t.length;d++){var u=[].concat(t[d]);r&&i[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),s&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=s):u[4]="".concat(s)),e.push(u))}},e}},366(t){"use strict";t.exports=function(t){return t[1]}},929(t,e,n){"use strict";t.exports=n(449)},449(t,e,n){"use strict";var r=e;function s(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=n(76),r.BufferWriter=n(493),r.Reader=n(808),r.BufferReader=n(777),r.util=n(971),r.rpc=n(912),r.roots=n(666),r.configure=s,s()},808(t,e,n){"use strict";t.exports=c;var r,s=n(971),o=s.LongBits,i=s.utf8;function a(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function c(t){this.buf=t,this.pos=0,this.len=t.length}var d,u="undefined"!=typeof Uint8Array?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new c(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new c(t);throw Error("illegal buffer")},l=function(){return s.Buffer?function(t){return(c.create=function(t){return s.Buffer.isBuffer(t)?new r(t):u(t)})(t)}:u};function h(){var t=new o(0,0),e=0;if(!(this.len-this.pos>4)){for(;e<3;++e){if(this.pos>=this.len)throw a(this);if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(127&this.buf[this.pos++])<<7*e)>>>0,t}for(;e<4;++e)if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(127&this.buf[this.pos])<<28)>>>0,t.hi=(t.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return t;if(e=0,this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw a(this);if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}function p(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new o(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}c.create=l(),c.prototype._slice=s.Array.prototype.subarray||s.Array.prototype.slice,c.prototype.uint32=(d=4294967295,function(){if(d=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return d;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return d}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(1&t)},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|p(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var t=s.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var t=s.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},c.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw a(this,t);if(this.pos+=t,Array.isArray(this.buf))return this.buf.slice(e,n);if(e===n){var r=s.Buffer;return r?r.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,e,n)},c.prototype.string=function(){var t=this.bytes();return i.read(t,0,t.length)},c.prototype.skip=function(t){if("number"==typeof t){if(this.pos+t>this.len)throw a(this,t);this.pos+=t}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.recursionLimit=s.recursionLimit,c.prototype.skipType=function(t,e){if(void 0===e&&(e=0),e>c.recursionLimit)throw Error("maximum nesting depth exceeded");switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(t=7&this.uint32());)this.skipType(t,e+1);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this},c._configure=function(t){r=t,c.create=l(),r._configure();var e=s.Long?"toLong":"toNumber";s.merge(c.prototype,{int64:function(){return h.call(this)[e](!1)},uint64:function(){return h.call(this)[e](!0)},sint64:function(){return h.call(this).zzDecode()[e](!1)},fixed64:function(){return f.call(this)[e](!0)},sfixed64:function(){return f.call(this)[e](!1)}})}},777(t,e,n){"use strict";t.exports=o;var r=n(808);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(971);function o(t){r.call(this,t)}o._configure=function(){s.Buffer&&(o.prototype._slice=s.Buffer.prototype.slice)},o.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},o._configure()},666(t){"use strict";t.exports=Object.create(null)},912(t,e,n){"use strict";e.Service=n(100)},100(t,e,n){"use strict";t.exports=s;var r=n(971);function s(t,e,n){if("function"!=typeof t)throw TypeError("rpcImpl must be a function");r.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=Boolean(e),this.responseDelimited=Boolean(n)}(s.prototype=Object.create(r.EventEmitter.prototype)).constructor=s,s.prototype.rpcCall=function t(e,n,s,o,i){if(!o)throw TypeError("request must be specified");var a=this;if(!i)return r.asPromise(t,a,e,n,s,o);if(a.rpcImpl)try{return a.rpcImpl(e,n[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),function(t,n){if(t)return a.emit("error",t,e),i(t);if(null!==n){if(!(n instanceof s))try{n=s[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(t){return a.emit("error",t,e),i(t)}return a.emit("data",n,e),i(null,n)}a.end(!0)})}catch(t){return a.emit("error",t,e),void setTimeout(function(){i(t)},0)}else setTimeout(function(){i(Error("already ended"))},0)},s.prototype.end=function(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},720(t,e,n){"use strict";t.exports=s;var r=n(971);function s(t,e){this.lo=t>>>0,this.hi=e>>>0}var o=s.zero=new s(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var i=s.zeroHash="\0\0\0\0\0\0\0\0";s.fromNumber=function(t){if(0===t)return o;var e=t<0;e&&(t=-t);var n=t>>>0,r=(t-n)/4294967296>>>0;return e&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new s(n,r)},s.from=function(t){if("number"==typeof t)return s.fromNumber(t);if(r.isString(t)){if(!r.Long)return s.fromNumber(parseInt(t,10));t=r.Long.fromString(t)}return t.low||t.high?new s(t.low>>>0,t.high>>>0):o},s.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=1+~this.lo>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+4294967296*n)}return this.lo+4294967296*this.hi},s.prototype.toLong=function(t){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(t)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(t)}};var a=String.prototype.charCodeAt;s.fromHash=function(t){return t===i?o:new s((a.call(t,0)|a.call(t,1)<<8|a.call(t,2)<<16|a.call(t,3)<<24)>>>0,(a.call(t,4)|a.call(t,5)<<8|a.call(t,6)<<16|a.call(t,7)<<24)>>>0)},s.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},s.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this},s.prototype.zzDecode=function(){var t=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this},s.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===e?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}},971(t,e,n){"use strict";var r=e;function s(t){return"__proto__"===t||"prototype"===t||"constructor"===t}function o(t){var e="boolean"==typeof arguments[arguments.length-1],n=e?arguments.length-1:arguments.length;e=e&&arguments[arguments.length-1];for(var r=1;r<n;++r){var o=arguments[r];if(o)for(var i=Object.keys(o),a=0;a<i.length;++a)s(i[a])||void 0!==t[i[a]]&&e||(t[i[a]]=o[i[a]])}return t}function i(t){function e(t,n){if(!(this instanceof e))return new e(t,n);Object.defineProperty(this,"message",{get:function(){return t}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&o(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}r.asPromise=n(188),r.base64=n(4),r.EventEmitter=n(925),r.float=n(791),r.utf8=n(405),r.pool=n(338),r.LongBits=n(720),r.isUnsafeProperty=s,r.isNode=Boolean(void 0!==n.g&&n.g&&n.g.process&&n.g.process.versions&&n.g.process.versions.node),r.global=r.isNode&&n.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,r.emptyArray=Object.freeze?Object.freeze([]):[],r.emptyObject=Object.freeze?Object.freeze({}):{},r.isInteger=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t},r.isString=function(t){return"string"==typeof t||t instanceof String},r.isObject=function(t){return t&&"object"==typeof t},r.isset=r.isSet=function(t,e){var n=t[e];return!(null==n||!Object.hasOwnProperty.call(t,e))&&("object"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},r.Buffer=function(){try{var t=r.global.Buffer;return t.prototype.utf8Write?t:null}catch(t){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(t){return"number"==typeof t?r.Buffer?r._Buffer_allocUnsafe(t):new r.Array(t):r.Buffer?r._Buffer_from(t):"undefined"==typeof Uint8Array?t:new Uint8Array(t)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||function(){try{var t=n(284);return t&&t.isLong?t:null}catch(t){return null}}(),r.key2Re=/^true|false|0|1$/,r.key32Re=/^-?(?:0|[1-9][0-9]*)$/,r.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,r.longToHash=function(t){return t?r.LongBits.from(t).toHash():r.LongBits.zeroHash},r.longFromHash=function(t,e){var n=r.LongBits.fromHash(t);return r.Long?r.Long.fromBits(n.lo,n.hi,e):n.toNumber(Boolean(e))},r.merge=o,r.nestingLimit=32,r.recursionLimit=100,r.makeProp=function(t,e){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,writable:!0})},r.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)},r.newError=i,r.ProtocolError=i("ProtocolError"),r.oneOfGetter=function(t){for(var e={},n=0;n<t.length;++n)e[t[n]]=1;return function(){for(var t=Object.keys(this),n=t.length-1;n>-1;--n)if(1===e[t[n]]&&void 0!==this[t[n]]&&null!==this[t[n]])return t[n]}},r.oneOfSetter=function(t){return function(e){for(var n=0;n<t.length;++n)t[n]!==e&&delete this[t[n]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var t=r.Buffer;t?(r._Buffer_from=t.from!==Uint8Array.from&&t.from||function(e,n){return new t(e,n)},r._Buffer_allocUnsafe=t.allocUnsafe||function(e){return new t(e)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},76(t,e,n){"use strict";t.exports=l;var r,s=n(971),o=s.LongBits,i=s.base64,a=s.utf8;function c(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}function d(){}function u(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function l(){this.len=0,this.head=new c(d,0,0),this.tail=this.head,this.states=null}var h=function(){return s.Buffer?function(){return(l.create=function(){return new r})()}:function(){return new l}};function p(t,e,n){e[n]=255&t}function f(t,e){this.len=t,this.next=void 0,this.val=e}function m(t,e,n){for(var r=t.lo,s=t.hi;s;)e[n++]=127&r|128,r=(r>>>7|s<<25)>>>0,s>>>=7;for(;r>127;)e[n++]=127&r|128,r>>>=7;e[n++]=r}function g(t,e,n){e[n]=255&t,e[n+1]=t>>>8&255,e[n+2]=t>>>16&255,e[n+3]=t>>>24}l.create=h(),l.alloc=function(t){return new s.Array(t)},s.Array!==Array&&(l.alloc=s.pool(l.alloc,s.Array.prototype.subarray)),l.prototype._push=function(t,e,n){return this.tail=this.tail.next=new c(t,e,n),this.len+=e,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(t,e,n){for(;t>127;)e[n++]=127&t|128,t>>>=7;e[n]=t},l.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new f((t>>>=0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},l.prototype.int32=function(t){return(t|=0)<0?this._push(m,10,o.fromNumber(t)):this.uint32(t)},l.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)},l.prototype.uint64=function(t){var e=o.from(t);return this._push(m,e.length(),e)},l.prototype.int64=l.prototype.uint64,l.prototype.sint64=function(t){var e=o.from(t).zzEncode();return this._push(m,e.length(),e)},l.prototype.bool=function(t){return this._push(p,1,t?1:0)},l.prototype.fixed32=function(t){return this._push(g,4,t>>>0)},l.prototype.sfixed32=l.prototype.fixed32,l.prototype.fixed64=function(t){var e=o.from(t);return this._push(g,4,e.lo)._push(g,4,e.hi)},l.prototype.sfixed64=l.prototype.fixed64,l.prototype.float=function(t){return this._push(s.float.writeFloatLE,4,t)},l.prototype.double=function(t){return this._push(s.float.writeDoubleLE,8,t)};var y=s.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var r=0;r<t.length;++r)e[n+r]=t[r]};l.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(p,1,0);if(s.isString(t)){var n=l.alloc(e=i.length(t));i.decode(t,n,0),t=n}return this.uint32(e)._push(y,e,t)},l.prototype.string=function(t){var e=a.length(t);return e?this.uint32(e)._push(a.write,e,t):this._push(p,1,0)},l.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new c(d,0,0),this.len=0,this},l.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(d,0,0),this.len=0),this},l.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this},l.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e},l._configure=function(t){r=t,l.create=h(),r._configure()}},493(t,e,n){"use strict";t.exports=o;var r=n(76);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(971);function o(){r.call(this)}function i(t,e,n){t.length<40?s.utf8.write(t,e,n):e.utf8Write?e.utf8Write(t,n):e.write(t,n)}o._configure=function(){o.alloc=s._Buffer_allocUnsafe,o.writeBytesBuffer=s.Buffer&&s.Buffer.prototype instanceof Uint8Array&&"set"===s.Buffer.prototype.set.name?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var r=0;r<t.length;)e[n++]=t[r++]}},o.prototype.bytes=function(t){s.isString(t)&&(t=s._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(o.writeBytesBuffer,e,t),this},o.prototype.string=function(t){var e=s.Buffer.byteLength(t);return this.uint32(e),e&&this._push(i,e,t),this},o._configure()},682(t,e){"use strict";var n=Object.prototype.hasOwnProperty;function r(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch(t){return null}}function s(t){try{return encodeURIComponent(t)}catch(t){return null}}e.stringify=function(t,e){e=e||"";var r,o,i=[];for(o in"string"!=typeof e&&(e="?"),t)if(n.call(t,o)){if((r=t[o])||null!=r&&!isNaN(r)||(r=""),o=s(o),r=s(r),null===o||null===r)continue;i.push(o+"="+r)}return i.length?e+i.join("&"):""},e.parse=function(t){for(var e,n=/([^=?#&]+)=?([^&]*)/g,s={};e=n.exec(t);){var o=r(e[1]),i=r(e[2]);null===o||null===i||o in s||(s[o]=i)}return s}},995(t){"use strict";t.exports=function(t,e){if(e=e.split(":")[0],!(t=+t))return!1;switch(e){case"http":case"ws":return 80!==t;case"https":case"wss":return 443!==t;case"ftp":return 21!==t;case"gopher":return 70!==t;case"file":return!1}return 0!==t}},789(t){"use strict";var e=[];function n(t){for(var n=-1,r=0;r<e.length;r++)if(e[r].identifier===t){n=r;break}return n}function r(t,r){for(var o={},i=[],a=0;a<t.length;a++){var c=t[a],d=r.base?c[0]+r.base:c[0],u=o[d]||0,l="".concat(d," ").concat(u);o[d]=u+1;var h=n(l),p={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==h)e[h].references++,e[h].updater(p);else{var f=s(p,r);r.byIndex=a,e.splice(a,0,{identifier:l,updater:f,references:1})}i.push(l)}return i}function s(t,e){var n=e.domAPI(e);n.update(t);return function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;n.update(t=e)}else n.remove()}}t.exports=function(t,s){var o=r(t=t||[],s=s||{});return function(t){t=t||[];for(var i=0;i<o.length;i++){var a=n(o[i]);e[a].references--}for(var c=r(t,s),d=0;d<o.length;d++){var u=n(o[d]);0===e[u].references&&(e[u].updater(),e.splice(u,1))}o=c}}},298(t){"use strict";var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},825(t){"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},207(t){"use strict";t.exports=function(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}},437(t){"use strict";var e,n=(e=[],function(t,n){return e[t]=n,e.filter(Boolean).join("\n")});function r(t,e,r,s){var o;if(r)o="";else{o="",s.supports&&(o+="@supports (".concat(s.supports,") {")),s.media&&(o+="@media ".concat(s.media," {"));var i=void 0!==s.layer;i&&(o+="@layer".concat(s.layer.length>0?" ".concat(s.layer):""," {")),o+=s.css,i&&(o+="}"),s.media&&(o+="}"),s.supports&&(o+="}")}if(t.styleSheet)t.styleSheet.cssText=n(e,o);else{var a=document.createTextNode(o),c=t.childNodes;c[e]&&t.removeChild(c[e]),c.length?t.insertBefore(a,c[e]):t.appendChild(a)}}var s={singleton:null,singletonCounter:0};t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=s.singletonCounter++,n=s.singleton||(s.singleton=t.insertStyleElement(t));return{update:function(t){r(n,e,!1,t)},remove:function(t){r(n,e,!0,t)}}}},337(t,e,n){"use strict";var r=n(995),s=n(682),o=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,i=/[\n\r\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,c=/:\d+$/,d=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,u=/^[a-zA-Z]:/;function l(t){return(t||"").toString().replace(o,"")}var h=[["#","hash"],["?","query"],function(t,e){return m(e.protocol)?t.replace(/\\/g,"/"):t},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],p={hash:1,query:1};function f(t){var e,r=("undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:{}).location||{},s={},o=typeof(t=t||r);if("blob:"===t.protocol)s=new y(unescape(t.pathname),{});else if("string"===o)for(e in s=new y(t,{}),p)delete s[e];else if("object"===o){for(e in t)e in p||(s[e]=t[e]);void 0===s.slashes&&(s.slashes=a.test(t.href))}return s}function m(t){return"file:"===t||"ftp:"===t||"http:"===t||"https:"===t||"ws:"===t||"wss:"===t}function g(t,e){t=(t=l(t)).replace(i,""),e=e||{};var n,r=d.exec(t),s=r[1]?r[1].toLowerCase():"",o=!!r[2],a=!!r[3],c=0;return o?a?(n=r[2]+r[3]+r[4],c=r[2].length+r[3].length):(n=r[2]+r[4],c=r[2].length):a?(n=r[3]+r[4],c=r[3].length):n=r[4],"file:"===s?c>=2&&(n=n.slice(2)):m(s)?n=r[4]:s?o&&(n=n.slice(2)):c>=2&&m(e.protocol)&&(n=r[4]),{protocol:s,slashes:o||m(s),slashesCount:c,rest:n}}function y(t,e,n){if(t=(t=l(t)).replace(i,""),!(this instanceof y))return new y(t,e,n);var o,a,c,d,p,b,O=h.slice(),w=typeof e,v=this,I=0;for("object"!==w&&"string"!==w&&(n=e,e=null),n&&"function"!=typeof n&&(n=s.parse),o=!(a=g(t||"",e=f(e))).protocol&&!a.slashes,v.slashes=a.slashes||o&&e.slashes,v.protocol=a.protocol||e.protocol||"",t=a.rest,("file:"===a.protocol&&(2!==a.slashesCount||u.test(t))||!a.slashes&&(a.protocol||a.slashesCount<2||!m(v.protocol)))&&(O[3]=[/(.*)/,"pathname"]);I<O.length;I++)"function"!=typeof(d=O[I])?(c=d[0],b=d[1],c!=c?v[b]=t:"string"==typeof c?~(p="@"===c?t.lastIndexOf(c):t.indexOf(c))&&("number"==typeof d[2]?(v[b]=t.slice(0,p),t=t.slice(p+d[2])):(v[b]=t.slice(p),t=t.slice(0,p))):(p=c.exec(t))&&(v[b]=p[1],t=t.slice(0,p.index)),v[b]=v[b]||o&&d[3]&&e[b]||"",d[4]&&(v[b]=v[b].toLowerCase())):t=d(t,v);n&&(v.query=n(v.query)),o&&e.slashes&&"/"!==v.pathname.charAt(0)&&(""!==v.pathname||""!==e.pathname)&&(v.pathname=function(t,e){if(""===t)return e;for(var n=(e||"/").split("/").slice(0,-1).concat(t.split("/")),r=n.length,s=n[r-1],o=!1,i=0;r--;)"."===n[r]?n.splice(r,1):".."===n[r]?(n.splice(r,1),i++):i&&(0===r&&(o=!0),n.splice(r,1),i--);return o&&n.unshift(""),"."!==s&&".."!==s||n.push(""),n.join("/")}(v.pathname,e.pathname)),"/"!==v.pathname.charAt(0)&&m(v.protocol)&&(v.pathname="/"+v.pathname),r(v.port,v.protocol)||(v.host=v.hostname,v.port=""),v.username=v.password="",v.auth&&(~(p=v.auth.indexOf(":"))?(v.username=v.auth.slice(0,p),v.username=encodeURIComponent(decodeURIComponent(v.username)),v.password=v.auth.slice(p+1),v.password=encodeURIComponent(decodeURIComponent(v.password))):v.username=encodeURIComponent(decodeURIComponent(v.auth)),v.auth=v.password?v.username+":"+v.password:v.username),v.origin="file:"!==v.protocol&&m(v.protocol)&&v.host?v.protocol+"//"+v.host:"null",v.href=v.toString()}y.prototype={set:function(t,e,n){var o=this;switch(t){case"query":"string"==typeof e&&e.length&&(e=(n||s.parse)(e)),o[t]=e;break;case"port":o[t]=e,r(e,o.protocol)?e&&(o.host=o.hostname+":"+e):(o.host=o.hostname,o[t]="");break;case"hostname":o[t]=e,o.port&&(e+=":"+o.port),o.host=e;break;case"host":o[t]=e,c.test(e)?(e=e.split(":"),o.port=e.pop(),o.hostname=e.join(":")):(o.hostname=e,o.port="");break;case"protocol":o.protocol=e.toLowerCase(),o.slashes=!n;break;case"pathname":case"hash":if(e){var i="pathname"===t?"/":"#";o[t]=e.charAt(0)!==i?i+e:e}else o[t]=e;break;case"username":case"password":o[t]=encodeURIComponent(e);break;case"auth":var a=e.indexOf(":");~a?(o.username=e.slice(0,a),o.username=encodeURIComponent(decodeURIComponent(o.username)),o.password=e.slice(a+1),o.password=encodeURIComponent(decodeURIComponent(o.password))):o.username=encodeURIComponent(decodeURIComponent(e))}for(var d=0;d<h.length;d++){var u=h[d];u[4]&&(o[u[1]]=o[u[1]].toLowerCase())}return o.auth=o.password?o.username+":"+o.password:o.username,o.origin="file:"!==o.protocol&&m(o.protocol)&&o.host?o.protocol+"//"+o.host:"null",o.href=o.toString(),o},toString:function(t){t&&"function"==typeof t||(t=s.stringify);var e,n=this,r=n.host,o=n.protocol;o&&":"!==o.charAt(o.length-1)&&(o+=":");var i=o+(n.protocol&&n.slashes||m(n.protocol)?"//":"");return n.username?(i+=n.username,n.password&&(i+=":"+n.password),i+="@"):n.password?(i+=":"+n.password,i+="@"):"file:"!==n.protocol&&m(n.protocol)&&!r&&"/"!==n.pathname&&(i+="@"),(":"===r[r.length-1]||c.test(n.hostname)&&!n.port)&&(r+=":"),i+=r+n.pathname,(e="object"==typeof n.query?t(n.query):n.query)&&(i+="?"!==e.charAt(0)?"?"+e:e),n.hash&&(i+=n.hash),i}},y.extractProtocol=g,y.location=f,y.trimLeft=l,y.qs=s,t.exports=y},211(t,e,n){t.exports=n(312)("./src/collaboration-core.js")},782(t,e,n){t.exports=n(237)("./src/core.js")},783(t,e,n){t.exports=n(237)("./src/engine.js")},311(t,e,n){t.exports=n(237)("./src/ui.js")},584(t,e,n){t.exports=n(237)("./src/utils.js")},312(t){"use strict";t.exports=CKEditor5.collaborationDll},237(t){"use strict";t.exports=CKEditor5.dll},284(t,e){var n;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&self,n=function(){var t={};return function(t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var e=null;try{e=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function n(t,e,n){this.low=0|t,this.high=0|e,this.unsigned=!!n}function r(t){return!0===(t&&t.__isLong__)}function s(t){var e=Math.clz32(t&-t);return t?31-e:e}n.prototype.__isLong__,Object.defineProperty(n.prototype,"__isLong__",{value:!0}),n.isLong=r;var o={},i={};function a(t,e){var n,r,s;return e?(s=0<=(t>>>=0)&&t<256)&&(r=i[t])?r:(n=d(t,0,!0),s&&(i[t]=n),n):(s=-128<=(t|=0)&&t<128)&&(r=o[t])?r:(n=d(t,t<0?-1:0,!1),s&&(o[t]=n),n)}function c(t,e){if(isNaN(t))return e?O:b;if(e){if(t<0)return O;if(t>=m)return k}else{if(t<=-g)return P;if(t+1>=g)return S}return t<0?c(-t,e).neg():d(t%f|0,t/f|0,e)}function d(t,e,r){return new n(t,e,r)}n.fromInt=a,n.fromNumber=c,n.fromBits=d;var u=Math.pow;function l(t,e,n){if(0===t.length)throw Error("empty string");if("number"==typeof e?(n=e,e=!1):e=!!e,"NaN"===t||"Infinity"===t||"+Infinity"===t||"-Infinity"===t)return e?O:b;if((n=n||10)<2||36<n)throw RangeError("radix");var r;if((r=t.indexOf("-"))>0)throw Error("interior hyphen");if(0===r)return l(t.substring(1),e,n).neg();for(var s=c(u(n,8)),o=b,i=0;i<t.length;i+=8){var a=Math.min(8,t.length-i),d=parseInt(t.substring(i,i+a),n);if(a<8){var h=c(u(n,a));o=o.mul(h).add(c(d))}else o=(o=o.mul(s)).add(c(d))}return o.unsigned=e,o}function h(t,e){return"number"==typeof t?c(t,e):"string"==typeof t?l(t,e):d(t.low,t.high,"boolean"==typeof e?e:t.unsigned)}n.fromString=l,n.fromValue=h;var p=65536,f=p*p,m=f*f,g=m/2,y=a(1<<24),b=a(0);n.ZERO=b;var O=a(0,!0);n.UZERO=O;var w=a(1);n.ONE=w;var v=a(1,!0);n.UONE=v;var I=a(-1);n.NEG_ONE=I;var S=d(-1,2147483647,!1);n.MAX_VALUE=S;var k=d(-1,-1,!0);n.MAX_UNSIGNED_VALUE=k;var P=d(0,-2147483648,!1);n.MIN_VALUE=P;var A=n.prototype;A.toInt=function(){return this.unsigned?this.low>>>0:this.low},A.toNumber=function(){return this.unsigned?(this.high>>>0)*f+(this.low>>>0):this.high*f+(this.low>>>0)},A.toString=function(t){if((t=t||10)<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(P)){var e=c(t),n=this.div(e),r=n.mul(e).sub(this);return n.toString(t)+r.toInt().toString(t)}return"-"+this.neg().toString(t)}for(var s=c(u(t,6),this.unsigned),o=this,i="";;){var a=o.div(s),d=(o.sub(a.mul(s)).toInt()>>>0).toString(t);if((o=a).isZero())return d+i;for(;d.length<6;)d="0"+d;i=""+d+i}},A.getHighBits=function(){return this.high},A.getHighBitsUnsigned=function(){return this.high>>>0},A.getLowBits=function(){return this.low},A.getLowBitsUnsigned=function(){return this.low>>>0},A.getNumBitsAbs=function(){if(this.isNegative())return this.eq(P)?64:this.neg().getNumBitsAbs();for(var t=0!=this.high?this.high:this.low,e=31;e>0&&!(t&1<<e);e--);return 0!=this.high?e+33:e+1},A.isSafeInteger=function(){var t=this.high>>21;return!t||!this.unsigned&&-1===t&&!(0===this.low&&-2097152===this.high)},A.isZero=function(){return 0===this.high&&0===this.low},A.eqz=A.isZero,A.isNegative=function(){return!this.unsigned&&this.high<0},A.isPositive=function(){return this.unsigned||this.high>=0},A.isOdd=function(){return!(1&~this.low)},A.isEven=function(){return!(1&this.low)},A.equals=function(t){return r(t)||(t=h(t)),(this.unsigned===t.unsigned||this.high>>>31!=1||t.high>>>31!=1)&&this.high===t.high&&this.low===t.low},A.eq=A.equals,A.notEquals=function(t){return!this.eq(t)},A.neq=A.notEquals,A.ne=A.notEquals,A.lessThan=function(t){return this.comp(t)<0},A.lt=A.lessThan,A.lessThanOrEqual=function(t){return this.comp(t)<=0},A.lte=A.lessThanOrEqual,A.le=A.lessThanOrEqual,A.greaterThan=function(t){return this.comp(t)>0},A.gt=A.greaterThan,A.greaterThanOrEqual=function(t){return this.comp(t)>=0},A.gte=A.greaterThanOrEqual,A.ge=A.greaterThanOrEqual,A.compare=function(t){if(r(t)||(t=h(t)),this.eq(t))return 0;var e=this.isNegative(),n=t.isNegative();return e&&!n?-1:!e&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1},A.comp=A.compare,A.negate=function(){return!this.unsigned&&this.eq(P)?P:this.not().add(w)},A.neg=A.negate,A.add=function(t){r(t)||(t=h(t));var e=this.high>>>16,n=65535&this.high,s=this.low>>>16,o=65535&this.low,i=t.high>>>16,a=65535&t.high,c=t.low>>>16,u=0,l=0,p=0,f=0;return p+=(f+=o+(65535&t.low))>>>16,l+=(p+=s+c)>>>16,u+=(l+=n+a)>>>16,u+=e+i,d((p&=65535)<<16|(f&=65535),(u&=65535)<<16|(l&=65535),this.unsigned)},A.subtract=function(t){return r(t)||(t=h(t)),this.add(t.neg())},A.sub=A.subtract,A.multiply=function(t){if(this.isZero())return this;if(r(t)||(t=h(t)),e)return d(e.mul(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned);if(t.isZero())return this.unsigned?O:b;if(this.eq(P))return t.isOdd()?P:b;if(t.eq(P))return this.isOdd()?P:b;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(y)&&t.lt(y))return c(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,s=65535&this.high,o=this.low>>>16,i=65535&this.low,a=t.high>>>16,u=65535&t.high,l=t.low>>>16,p=65535&t.low,f=0,m=0,g=0,w=0;return g+=(w+=i*p)>>>16,m+=(g+=o*p)>>>16,g&=65535,m+=(g+=i*l)>>>16,f+=(m+=s*p)>>>16,m&=65535,f+=(m+=o*l)>>>16,m&=65535,f+=(m+=i*u)>>>16,f+=n*p+s*l+o*u+i*a,d((g&=65535)<<16|(w&=65535),(f&=65535)<<16|(m&=65535),this.unsigned)},A.mul=A.multiply,A.divide=function(t){if(r(t)||(t=h(t)),t.isZero())throw Error("division by zero");var n,s,o;if(e)return this.unsigned||-2147483648!==this.high||-1!==t.low||-1!==t.high?d((this.unsigned?e.div_u:e.div_s)(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?O:b;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return O;if(t.gt(this.shru(1)))return v;o=O}else{if(this.eq(P))return t.eq(w)||t.eq(I)?P:t.eq(P)?w:(n=this.shr(1).div(t).shl(1)).eq(b)?t.isNegative()?w:I:(s=this.sub(t.mul(n)),o=n.add(s.div(t)));if(t.eq(P))return this.unsigned?O:b;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();o=b}for(s=this;s.gte(t);){n=Math.max(1,Math.floor(s.toNumber()/t.toNumber()));for(var i=Math.ceil(Math.log(n)/Math.LN2),a=i<=48?1:u(2,i-48),l=c(n),p=l.mul(t);p.isNegative()||p.gt(s);)p=(l=c(n-=a,this.unsigned)).mul(t);l.isZero()&&(l=w),o=o.add(l),s=s.sub(p)}return o},A.div=A.divide,A.modulo=function(t){return r(t)||(t=h(t)),e?d((this.unsigned?e.rem_u:e.rem_s)(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned):this.sub(this.div(t).mul(t))},A.mod=A.modulo,A.rem=A.modulo,A.not=function(){return d(~this.low,~this.high,this.unsigned)},A.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},A.clz=A.countLeadingZeros,A.countTrailingZeros=function(){return this.low?s(this.low):s(this.high)+32},A.ctz=A.countTrailingZeros,A.and=function(t){return r(t)||(t=h(t)),d(this.low&t.low,this.high&t.high,this.unsigned)},A.or=function(t){return r(t)||(t=h(t)),d(this.low|t.low,this.high|t.high,this.unsigned)},A.xor=function(t){return r(t)||(t=h(t)),d(this.low^t.low,this.high^t.high,this.unsigned)},A.shiftLeft=function(t){return r(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?d(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):d(0,this.low<<t-32,this.unsigned)},A.shl=A.shiftLeft,A.shiftRight=function(t){return r(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?d(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):d(this.high>>t-32,this.high>=0?0:-1,this.unsigned)},A.shr=A.shiftRight,A.shiftRightUnsigned=function(t){return r(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?d(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):d(32===t?this.high:this.high>>>t-32,0,this.unsigned)},A.shru=A.shiftRightUnsigned,A.shr_u=A.shiftRightUnsigned,A.rotateLeft=function(t){var e;return r(t)&&(t=t.toInt()),0==(t&=63)?this:32===t?d(this.high,this.low,this.unsigned):t<32?(e=32-t,d(this.low<<t|this.high>>>e,this.high<<t|this.low>>>e,this.unsigned)):(e=32-(t-=32),d(this.high<<t|this.low>>>e,this.low<<t|this.high>>>e,this.unsigned))},A.rotl=A.rotateLeft,A.rotateRight=function(t){var e;return r(t)&&(t=t.toInt()),0==(t&=63)?this:32===t?d(this.high,this.low,this.unsigned):t<32?(e=32-t,d(this.high<<e|this.low>>>t,this.low<<e|this.high>>>t,this.unsigned)):(e=32-(t-=32),d(this.low<<e|this.high>>>t,this.high<<e|this.low>>>t,this.unsigned))},A.rotr=A.rotateRight,A.toSigned=function(){return this.unsigned?d(this.low,this.high,!1):this},A.toUnsigned=function(){return this.unsigned?this:d(this.low,this.high,!0)},A.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()},A.toBytesLE=function(){var t=this.high,e=this.low;return[255&e,e>>>8&255,e>>>16&255,e>>>24,255&t,t>>>8&255,t>>>16&255,t>>>24]},A.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24,t>>>16&255,t>>>8&255,255&t,e>>>24,e>>>16&255,e>>>8&255,255&e]},n.fromBytes=function(t,e,r){return r?n.fromBytesLE(t,e):n.fromBytesBE(t,e)},n.fromBytesLE=function(t,e){return new n(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,e)},n.fromBytesBE=function(t,e){return new n(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],e)},"function"==typeof BigInt&&(n.fromBigInt=function(t,e){return d(Number(BigInt.asIntN(32,t)),Number(BigInt.asIntN(32,t>>BigInt(32))),e)},n.fromValue=function(t,e){return"bigint"==typeof t?n.fromBigInt(t,e):h(t,e)},A.toBigInt=function(){var t=BigInt(this.low>>>0);return BigInt(this.unsigned?this.high>>>0:this.high)<<BigInt(32)|t}),t.default=n}(t),function(t){return t.default||t}(t)}.apply(e,[]),void 0===n||(t.exports=n)}},e={};function n(r){var s=e[r];if(void 0!==s)return s.exports;var o=e[r]={id:r,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{CloudServicesCommentsAdapter:()=>Rs,CloudServicesRevisionHistoryAdapter:()=>eo,CloudServicesTrackChangesAdapter:()=>Js,PresenceList:()=>Ho,PresenceListUI:()=>qo,RealTimeCollaborationClient:()=>Ss,RealTimeCollaborativeComments:()=>Fs,RealTimeCollaborativeEditing:()=>Es,RealTimeCollaborativeRevisionHistory:()=>io,RealTimeCollaborativeTrackChanges:()=>Qs,Sessions:()=>$n,WebSocketGateway:()=>Fn});var t={};n.r(t),n.d(t,{Decoder:()=>Dt,Encoder:()=>xt,PacketType:()=>jt,isPacketValid:()=>Mt,protocol:()=>Et});var e=n(782),s=n(584),o=n(311),i=n(783);class a{static DESCRIPTOR_NAME;static DESCRIPTOR;constructor(...t){}}class c extends a{static TYPE="1000";static READABLE_TYPE_NAME;constructor(...t){super()}static fromJSON(t){throw new TypeError("Must be implemented in a child class!")}}class d extends c{id;static TYPE="21";static READABLE_TYPE_NAME="getUser";static DESCRIPTOR_NAME="GetUserMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1}}};constructor(t){super(),this.id=t}toJSON(){return{id:this.id}}static fromJSON(t){return new d(t.id)}}class u extends c{attributes;static DESCRIPTOR_NAME="GetUserResponse";static DESCRIPTOR={fields:{attributes:{rule:"repeated",type:"KeyValueDescriptor",id:1}}};constructor(t){super(),this.attributes=t}toJSON(){return{attributes:Object.keys(this.attributes).map(t=>({key:t,value:JSON.stringify(this.attributes[t])}))}}static fromJSON(t){const e=t.attributes.reduce((t,e)=>(t[e.key]=e.value?JSON.parse(e.value):null,t),{});return new u(e)}}var l=n(929);const h=(()=>{var t=l.Reader,e=l.Writer,n=l.util,r=l.roots.default||(l.roots.default={});return r.StringStringPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).string(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.StringStringPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.string();break;case 2:i.data1=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isString(t.data1)?"data1: string expected":null},s.fromObject=function(t){if(t instanceof r.StringStringPacketDataMessage)return t;var e=new r.StringStringPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&(e.data1=String(t.data1)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data="",n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/StringStringPacketDataMessage"},s}(),r.StringObjectPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).string(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.StringObjectPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.string();break;case 2:i.data1=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isString(t.data1)?"data1: string expected":null},s.fromObject=function(t){if(t instanceof r.StringObjectPacketDataMessage)return t;var e=new r.StringObjectPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&(e.data1=String(t.data1)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data="",n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/StringObjectPacketDataMessage"},s}(),r.StringNumberPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data="",s.prototype.data1=0,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(16).uint32(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.StringNumberPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.string();break;case 2:i.data1=e.uint32();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isInteger(t.data1)?"data1: integer expected":null},s.fromObject=function(t){if(t instanceof r.StringNumberPacketDataMessage)return t;var e=new r.StringNumberPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&(e.data1=t.data1>>>0),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data="",n.data1=0),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/StringNumberPacketDataMessage"},s}(),r.StringBytesPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data="",s.prototype.data1=n.newBuffer([]),s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).bytes(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.StringBytesPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.string();break;case 2:i.data1=e.bytes();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!(t.data1&&"number"==typeof t.data1.length||n.isString(t.data1))?"data1: buffer expected":null},s.fromObject=function(t){if(t instanceof r.StringBytesPacketDataMessage)return t;var e=new r.StringBytesPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&("string"==typeof t.data1?n.base64.decode(t.data1,e.data1=n.newBuffer(n.base64.length(t.data1)),0):t.data1.length>=0&&(e.data1=t.data1)),e},s.toObject=function(t,e){e||(e={});var r={};return e.defaults&&(r.data="",e.bytes===String?r.data1="":(r.data1=[],e.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=t.data&&t.hasOwnProperty("data")&&(r.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(r.data1=e.bytes===String?n.base64.encode(t.data1,0,t.data1.length):e.bytes===Array?Array.prototype.slice.call(t.data1):t.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/StringBytesPacketDataMessage"},s}(),r.PacketOptionsMessage=function(){function s(t){if(this.rooms=[],this.except=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.flags="",s.prototype.rooms=n.emptyArray,s.prototype.except=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.flags&&Object.hasOwnProperty.call(t,"flags")&&n.uint32(10).string(t.flags),null!=t.rooms&&t.rooms.length)for(var r=0;r<t.rooms.length;++r)n.uint32(18).string(t.rooms[r]);if(null!=t.except&&t.except.length)for(r=0;r<t.except.length;++r)n.uint32(26).string(t.except[r]);return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.PacketOptionsMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.flags=e.string();break;case 2:i.rooms&&i.rooms.length||(i.rooms=[]),i.rooms.push(e.string());break;case 3:i.except&&i.except.length||(i.except=[]),i.except.push(e.string());break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.flags&&t.hasOwnProperty("flags")&&!n.isString(t.flags))return"flags: string expected";if(null!=t.rooms&&t.hasOwnProperty("rooms")){if(!Array.isArray(t.rooms))return"rooms: array expected";for(var e=0;e<t.rooms.length;++e)if(!n.isString(t.rooms[e]))return"rooms: string[] expected"}if(null!=t.except&&t.hasOwnProperty("except")){if(!Array.isArray(t.except))return"except: array expected";for(e=0;e<t.except.length;++e)if(!n.isString(t.except[e]))return"except: string[] expected"}return null},s.fromObject=function(t){if(t instanceof r.PacketOptionsMessage)return t;var e=new r.PacketOptionsMessage;if(null!=t.flags&&(e.flags=String(t.flags)),t.rooms){if(!Array.isArray(t.rooms))throw TypeError(".PacketOptionsMessage.rooms: array expected");e.rooms=[];for(var n=0;n<t.rooms.length;++n)e.rooms[n]=String(t.rooms[n])}if(t.except){if(!Array.isArray(t.except))throw TypeError(".PacketOptionsMessage.except: array expected");for(e.except=[],n=0;n<t.except.length;++n)e.except[n]=String(t.except[n])}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.rooms=[],n.except=[]),e.defaults&&(n.flags=""),null!=t.flags&&t.hasOwnProperty("flags")&&(n.flags=t.flags),t.rooms&&t.rooms.length){n.rooms=[];for(var r=0;r<t.rooms.length;++r)n.rooms[r]=t.rooms[r]}if(t.except&&t.except.length)for(n.except=[],r=0;r<t.except.length;++r)n.except[r]=t.except[r];return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/PacketOptionsMessage"},s}(),r.PacketMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.type=0,s.prototype.id=0,s.prototype.nsp="",s.prototype.data=n.newBuffer([]),s.prototype.options=n.newBuffer([]),s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(8).uint32(t.type),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(16).uint32(t.id),null!=t.nsp&&Object.hasOwnProperty.call(t,"nsp")&&n.uint32(26).string(t.nsp),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(34).bytes(t.data),null!=t.options&&Object.hasOwnProperty.call(t,"options")&&n.uint32(42).bytes(t.options),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.PacketMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.type=e.uint32();break;case 2:i.id=e.uint32();break;case 3:i.nsp=e.string();break;case 4:i.data=e.bytes();break;case 5:i.options=e.bytes();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isInteger(t.type)?"type: integer expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isInteger(t.id)?"id: integer expected":null!=t.nsp&&t.hasOwnProperty("nsp")&&!n.isString(t.nsp)?"nsp: string expected":null!=t.data&&t.hasOwnProperty("data")&&!(t.data&&"number"==typeof t.data.length||n.isString(t.data))?"data: buffer expected":null!=t.options&&t.hasOwnProperty("options")&&!(t.options&&"number"==typeof t.options.length||n.isString(t.options))?"options: buffer expected":null},s.fromObject=function(t){if(t instanceof r.PacketMessage)return t;var e=new r.PacketMessage;return null!=t.type&&(e.type=t.type>>>0),null!=t.id&&(e.id=t.id>>>0),null!=t.nsp&&(e.nsp=String(t.nsp)),null!=t.data&&("string"==typeof t.data?n.base64.decode(t.data,e.data=n.newBuffer(n.base64.length(t.data)),0):t.data.length>=0&&(e.data=t.data)),null!=t.options&&("string"==typeof t.options?n.base64.decode(t.options,e.options=n.newBuffer(n.base64.length(t.options)),0):t.options.length>=0&&(e.options=t.options)),e},s.toObject=function(t,e){e||(e={});var r={};return e.defaults&&(r.type=0,r.id=0,r.nsp="",e.bytes===String?r.data="":(r.data=[],e.bytes!==Array&&(r.data=n.newBuffer(r.data))),e.bytes===String?r.options="":(r.options=[],e.bytes!==Array&&(r.options=n.newBuffer(r.options)))),null!=t.type&&t.hasOwnProperty("type")&&(r.type=t.type),null!=t.id&&t.hasOwnProperty("id")&&(r.id=t.id),null!=t.nsp&&t.hasOwnProperty("nsp")&&(r.nsp=t.nsp),null!=t.data&&t.hasOwnProperty("data")&&(r.data=e.bytes===String?n.base64.encode(t.data,0,t.data.length):e.bytes===Array?Array.prototype.slice.call(t.data):t.data),null!=t.options&&t.hasOwnProperty("options")&&(r.options=e.bytes===String?n.base64.encode(t.options,0,t.options.length):e.bytes===Array?Array.prototype.slice.call(t.options):t.options),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/PacketMessage"},s}(),r.ObjectObjectPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).string(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.ObjectObjectPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.string();break;case 2:i.data1=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isString(t.data1)?"data1: string expected":null},s.fromObject=function(t){if(t instanceof r.ObjectObjectPacketDataMessage)return t;var e=new r.ObjectObjectPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&(e.data1=String(t.data1)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data="",n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/ObjectObjectPacketDataMessage"},s}(),r.ObjectBufferPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data="",s.prototype.data1=n.newBuffer([]),s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).bytes(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.ObjectBufferPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.string();break;case 2:i.data1=e.bytes();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!(t.data1&&"number"==typeof t.data1.length||n.isString(t.data1))?"data1: buffer expected":null},s.fromObject=function(t){if(t instanceof r.ObjectBufferPacketDataMessage)return t;var e=new r.ObjectBufferPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&("string"==typeof t.data1?n.base64.decode(t.data1,e.data1=n.newBuffer(n.base64.length(t.data1)),0):t.data1.length>=0&&(e.data1=t.data1)),e},s.toObject=function(t,e){e||(e={});var r={};return e.defaults&&(r.data="",e.bytes===String?r.data1="":(r.data1=[],e.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=t.data&&t.hasOwnProperty("data")&&(r.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(r.data1=e.bytes===String?n.base64.encode(t.data1,0,t.data1.length):e.bytes===Array?Array.prototype.slice.call(t.data1):t.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/ObjectBufferPacketDataMessage"},s}(),r.NumberStringPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data=0,s.prototype.data1="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(8).uint32(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).string(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.NumberStringPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.uint32();break;case 2:i.data1=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isInteger(t.data)?"data: integer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isString(t.data1)?"data1: string expected":null},s.fromObject=function(t){if(t instanceof r.NumberStringPacketDataMessage)return t;var e=new r.NumberStringPacketDataMessage;return null!=t.data&&(e.data=t.data>>>0),null!=t.data1&&(e.data1=String(t.data1)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data=0,n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/NumberStringPacketDataMessage"},s}(),r.NumberObjectPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data=0,s.prototype.data1="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(8).uint32(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).string(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.NumberObjectPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.uint32();break;case 2:i.data1=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isInteger(t.data)?"data: integer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isString(t.data1)?"data1: string expected":null},s.fromObject=function(t){if(t instanceof r.NumberObjectPacketDataMessage)return t;var e=new r.NumberObjectPacketDataMessage;return null!=t.data&&(e.data=t.data>>>0),null!=t.data1&&(e.data1=String(t.data1)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data=0,n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/NumberObjectPacketDataMessage"},s}(),r.NumberNumberPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data=0,s.prototype.data1=0,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(8).uint32(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(16).uint32(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.NumberNumberPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.uint32();break;case 2:i.data1=e.uint32();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isInteger(t.data)?"data: integer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!n.isInteger(t.data1)?"data1: integer expected":null},s.fromObject=function(t){if(t instanceof r.NumberNumberPacketDataMessage)return t;var e=new r.NumberNumberPacketDataMessage;return null!=t.data&&(e.data=t.data>>>0),null!=t.data1&&(e.data1=t.data1>>>0),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.data=0,n.data1=0),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/NumberNumberPacketDataMessage"},s}(),r.NumberBytesPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data=0,s.prototype.data1=n.newBuffer([]),s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(8).uint32(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).bytes(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.NumberBytesPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.uint32();break;case 2:i.data1=e.bytes();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isInteger(t.data)?"data: integer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!(t.data1&&"number"==typeof t.data1.length||n.isString(t.data1))?"data1: buffer expected":null},s.fromObject=function(t){if(t instanceof r.NumberBytesPacketDataMessage)return t;var e=new r.NumberBytesPacketDataMessage;return null!=t.data&&(e.data=t.data>>>0),null!=t.data1&&("string"==typeof t.data1?n.base64.decode(t.data1,e.data1=n.newBuffer(n.base64.length(t.data1)),0):t.data1.length>=0&&(e.data1=t.data1)),e},s.toObject=function(t,e){e||(e={});var r={};return e.defaults&&(r.data=0,e.bytes===String?r.data1="":(r.data1=[],e.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=t.data&&t.hasOwnProperty("data")&&(r.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(r.data1=e.bytes===String?n.base64.encode(t.data1,0,t.data1.length):e.bytes===Array?Array.prototype.slice.call(t.data1):t.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/NumberBytesPacketDataMessage"},s}(),r.BytesBytesPacketDataMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.data=n.newBuffer([]),s.prototype.data1=n.newBuffer([]),s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(10).bytes(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&n.uint32(18).bytes(t.data1),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.BytesBytesPacketDataMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=e.bytes();break;case 2:i.data1=e.bytes();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!(t.data&&"number"==typeof t.data.length||n.isString(t.data))?"data: buffer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!(t.data1&&"number"==typeof t.data1.length||n.isString(t.data1))?"data1: buffer expected":null},s.fromObject=function(t){if(t instanceof r.BytesBytesPacketDataMessage)return t;var e=new r.BytesBytesPacketDataMessage;return null!=t.data&&("string"==typeof t.data?n.base64.decode(t.data,e.data=n.newBuffer(n.base64.length(t.data)),0):t.data.length>=0&&(e.data=t.data)),null!=t.data1&&("string"==typeof t.data1?n.base64.decode(t.data1,e.data1=n.newBuffer(n.base64.length(t.data1)),0):t.data1.length>=0&&(e.data1=t.data1)),e},s.toObject=function(t,e){e||(e={});var r={};return e.defaults&&(e.bytes===String?r.data="":(r.data=[],e.bytes!==Array&&(r.data=n.newBuffer(r.data))),e.bytes===String?r.data1="":(r.data1=[],e.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=t.data&&t.hasOwnProperty("data")&&(r.data=e.bytes===String?n.base64.encode(t.data,0,t.data.length):e.bytes===Array?Array.prototype.slice.call(t.data):t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(r.data1=e.bytes===String?n.base64.encode(t.data1,0,t.data1.length):e.bytes===Array?Array.prototype.slice.call(t.data1):t.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/BytesBytesPacketDataMessage"},s}(),r.ChannelMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.type=0,s.prototype.socketId="",s.prototype.data=n.newBuffer([]),s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(8).uint32(t.type),null!=t.socketId&&Object.hasOwnProperty.call(t,"socketId")&&n.uint32(18).string(t.socketId),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(26).bytes(t.data),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.ChannelMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.type=e.uint32();break;case 2:i.socketId=e.string();break;case 3:i.data=e.bytes();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isInteger(t.type)?"type: integer expected":null!=t.socketId&&t.hasOwnProperty("socketId")&&!n.isString(t.socketId)?"socketId: string expected":null!=t.data&&t.hasOwnProperty("data")&&!(t.data&&"number"==typeof t.data.length||n.isString(t.data))?"data: buffer expected":null},s.fromObject=function(t){if(t instanceof r.ChannelMessage)return t;var e=new r.ChannelMessage;return null!=t.type&&(e.type=t.type>>>0),null!=t.socketId&&(e.socketId=String(t.socketId)),null!=t.data&&("string"==typeof t.data?n.base64.decode(t.data,e.data=n.newBuffer(n.base64.length(t.data)),0):t.data.length>=0&&(e.data=t.data)),e},s.toObject=function(t,e){e||(e={});var r={};return e.defaults&&(r.type=0,r.socketId="",e.bytes===String?r.data="":(r.data=[],e.bytes!==Array&&(r.data=n.newBuffer(r.data)))),null!=t.type&&t.hasOwnProperty("type")&&(r.type=t.type),null!=t.socketId&&t.hasOwnProperty("socketId")&&(r.socketId=t.socketId),null!=t.data&&t.hasOwnProperty("data")&&(r.data=e.bytes===String?n.base64.encode(t.data,0,t.data.length):e.bytes===Array?Array.prototype.slice.call(t.data):t.data),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/ChannelMessage"},s}(),r.GetUserResponse=function(){function s(t){if(this.attributes=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.attributes=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.attributes&&t.attributes.length)for(var s=0;s<t.attributes.length;++s)r.KeyValueDescriptor.encode(t.attributes[s],n.uint32(10).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.GetUserResponse;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?(i.attributes&&i.attributes.length||(i.attributes=[]),i.attributes.push(r.KeyValueDescriptor.decode(e,e.uint32()))):e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")){if(!Array.isArray(t.attributes))return"attributes: array expected";for(var e=0;e<t.attributes.length;++e){var n=r.KeyValueDescriptor.verify(t.attributes[e]);if(n)return"attributes."+n}}return null},s.fromObject=function(t){if(t instanceof r.GetUserResponse)return t;var e=new r.GetUserResponse;if(t.attributes){if(!Array.isArray(t.attributes))throw TypeError(".GetUserResponse.attributes: array expected");e.attributes=[];for(var n=0;n<t.attributes.length;++n){if("object"!=typeof t.attributes[n])throw TypeError(".GetUserResponse.attributes: object expected");e.attributes[n]=r.KeyValueDescriptor.fromObject(t.attributes[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.attributes=[]),t.attributes&&t.attributes.length){n.attributes=[];for(var s=0;s<t.attributes.length;++s)n.attributes[s]=r.KeyValueDescriptor.toObject(t.attributes[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetUserResponse"},s}(),r.GetManyUsersResponse=function(){function s(t){if(this.users=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.users=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.users&&t.users.length)for(var s=0;s<t.users.length;++s)r.UserDescriptor.encode(t.users[s],n.uint32(10).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.GetManyUsersResponse;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?(i.users&&i.users.length||(i.users=[]),i.users.push(r.UserDescriptor.decode(e,e.uint32()))):e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.users&&t.hasOwnProperty("users")){if(!Array.isArray(t.users))return"users: array expected";for(var e=0;e<t.users.length;++e){var n=r.UserDescriptor.verify(t.users[e]);if(n)return"users."+n}}return null},s.fromObject=function(t){if(t instanceof r.GetManyUsersResponse)return t;var e=new r.GetManyUsersResponse;if(t.users){if(!Array.isArray(t.users))throw TypeError(".GetManyUsersResponse.users: array expected");e.users=[];for(var n=0;n<t.users.length;++n){if("object"!=typeof t.users[n])throw TypeError(".GetManyUsersResponse.users: object expected");e.users[n]=r.UserDescriptor.fromObject(t.users[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.users=[]),t.users&&t.users.length){n.users=[];for(var s=0;s<t.users.length;++s)n.users[s]=r.UserDescriptor.toObject(t.users[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetManyUsersResponse"},s}(),r.GetUserMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.GetUserMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.id=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null},s.fromObject=function(t){if(t instanceof r.GetUserMessage)return t;var e=new r.GetUserMessage;return null!=t.id&&(e.id=String(t.id)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetUserMessage"},s}(),r.GetManyUsersMessage=function(){function s(t){if(this.ids=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.ids=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.ids&&t.ids.length)for(var r=0;r<t.ids.length;++r)n.uint32(10).string(t.ids[r]);return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.GetManyUsersMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?(i.ids&&i.ids.length||(i.ids=[]),i.ids.push(e.string())):e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.ids&&t.hasOwnProperty("ids")){if(!Array.isArray(t.ids))return"ids: array expected";for(var e=0;e<t.ids.length;++e)if(!n.isString(t.ids[e]))return"ids: string[] expected"}return null},s.fromObject=function(t){if(t instanceof r.GetManyUsersMessage)return t;var e=new r.GetManyUsersMessage;if(t.ids){if(!Array.isArray(t.ids))throw TypeError(".GetManyUsersMessage.ids: array expected");e.ids=[];for(var n=0;n<t.ids.length;++n)e.ids[n]=String(t.ids[n])}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.ids=[]),t.ids&&t.ids.length){n.ids=[];for(var r=0;r<t.ids.length;++r)n.ids[r]=t.ids[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetManyUsersMessage"},s}(),r.UserDescriptor=function(){function s(t){if(this.attributes=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.attributes=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.attributes&&t.attributes.length)for(var s=0;s<t.attributes.length;++s)r.KeyValueDescriptor.encode(t.attributes[s],n.uint32(10).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.UserDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?(i.attributes&&i.attributes.length||(i.attributes=[]),i.attributes.push(r.KeyValueDescriptor.decode(e,e.uint32()))):e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")){if(!Array.isArray(t.attributes))return"attributes: array expected";for(var e=0;e<t.attributes.length;++e){var n=r.KeyValueDescriptor.verify(t.attributes[e]);if(n)return"attributes."+n}}return null},s.fromObject=function(t){if(t instanceof r.UserDescriptor)return t;var e=new r.UserDescriptor;if(t.attributes){if(!Array.isArray(t.attributes))throw TypeError(".UserDescriptor.attributes: array expected");e.attributes=[];for(var n=0;n<t.attributes.length;++n){if("object"!=typeof t.attributes[n])throw TypeError(".UserDescriptor.attributes: object expected");e.attributes[n]=r.KeyValueDescriptor.fromObject(t.attributes[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.attributes=[]),t.attributes&&t.attributes.length){n.attributes=[];for(var s=0;s<t.attributes.length;++s)n.attributes[s]=r.KeyValueDescriptor.toObject(t.attributes[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/UserDescriptor"},s}(),r.TrackChangesGetSuggestionResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.authorId="",s.prototype.type="",s.prototype.createdAt="",s.prototype.data="",s.prototype.hasComments=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.authorId&&Object.hasOwnProperty.call(t,"authorId")&&n.uint32(18).string(t.authorId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(26).string(t.type),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(34).string(t.createdAt),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(42).string(t.data),null!=t.hasComments&&Object.hasOwnProperty.call(t,"hasComments")&&n.uint32(48).bool(t.hasComments),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&n.uint32(58).string(t.state),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(66).string(t.attributes),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesGetSuggestionResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.authorId=e.string();break;case 3:i.type=e.string();break;case 4:i.createdAt=e.string();break;case 5:i.data=e.string();break;case 6:i.hasComments=e.bool();break;case 7:i.state=e.string();break;case 8:i.attributes=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.authorId&&t.hasOwnProperty("authorId")&&!n.isString(t.authorId)?"authorId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isString(t.type)?"type: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.hasComments&&t.hasOwnProperty("hasComments")&&"boolean"!=typeof t.hasComments?"hasComments: boolean expected":null!=t.state&&t.hasOwnProperty("state")&&!n.isString(t.state)?"state: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesGetSuggestionResponse)return t;var e=new r.TrackChangesGetSuggestionResponse;return null!=t.id&&(e.id=String(t.id)),null!=t.authorId&&(e.authorId=String(t.authorId)),null!=t.type&&(e.type=String(t.type)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.data&&(e.data=String(t.data)),null!=t.hasComments&&(e.hasComments=Boolean(t.hasComments)),null!=t.state&&(e.state=String(t.state)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.authorId&&t.hasOwnProperty("authorId")&&(n.authorId=t.authorId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.hasComments&&t.hasOwnProperty("hasComments")&&(n.hasComments=t.hasComments),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesGetSuggestionResponse"},s}(),r.TrackChangesGetAllSuggestionsResponse=function(){function s(t){if(this.suggestions=[],this.suggestionsV2=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.suggestions=n.emptyArray,s.prototype.suggestionsV2=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.suggestions&&t.suggestions.length)for(var s=0;s<t.suggestions.length;++s)n.uint32(10).string(t.suggestions[s]);if(null!=t.suggestionsV2&&t.suggestionsV2.length)for(s=0;s<t.suggestionsV2.length;++s)r.SuggestionDescriptor.encode(t.suggestionsV2[s],n.uint32(18).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesGetAllSuggestionsResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.suggestions&&i.suggestions.length||(i.suggestions=[]),i.suggestions.push(e.string());break;case 2:i.suggestionsV2&&i.suggestionsV2.length||(i.suggestionsV2=[]),i.suggestionsV2.push(r.SuggestionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.suggestions&&t.hasOwnProperty("suggestions")){if(!Array.isArray(t.suggestions))return"suggestions: array expected";for(var e=0;e<t.suggestions.length;++e)if(!n.isString(t.suggestions[e]))return"suggestions: string[] expected"}if(null!=t.suggestionsV2&&t.hasOwnProperty("suggestionsV2")){if(!Array.isArray(t.suggestionsV2))return"suggestionsV2: array expected";for(e=0;e<t.suggestionsV2.length;++e){var s=r.SuggestionDescriptor.verify(t.suggestionsV2[e]);if(s)return"suggestionsV2."+s}}return null},s.fromObject=function(t){if(t instanceof r.TrackChangesGetAllSuggestionsResponse)return t;var e=new r.TrackChangesGetAllSuggestionsResponse;if(t.suggestions){if(!Array.isArray(t.suggestions))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestions: array expected");e.suggestions=[];for(var n=0;n<t.suggestions.length;++n)e.suggestions[n]=String(t.suggestions[n])}if(t.suggestionsV2){if(!Array.isArray(t.suggestionsV2))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: array expected");for(e.suggestionsV2=[],n=0;n<t.suggestionsV2.length;++n){if("object"!=typeof t.suggestionsV2[n])throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: object expected");e.suggestionsV2[n]=r.SuggestionDescriptor.fromObject(t.suggestionsV2[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),t.suggestions&&t.suggestions.length){n.suggestions=[];for(var s=0;s<t.suggestions.length;++s)n.suggestions[s]=t.suggestions[s]}if(t.suggestionsV2&&t.suggestionsV2.length)for(n.suggestionsV2=[],s=0;s<t.suggestionsV2.length;++s)n.suggestionsV2[s]=r.SuggestionDescriptor.toObject(t.suggestionsV2[s],e);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesGetAllSuggestionsResponse"},s}(),r.TrackChangesConnectResponse=function(){function s(t){if(this.suggestions=[],this.suggestionsV2=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.channel="",s.prototype.suggestions=n.emptyArray,s.prototype.suggestionsV2=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&n.uint32(10).string(t.channel),null!=t.suggestions&&t.suggestions.length)for(var s=0;s<t.suggestions.length;++s)n.uint32(18).string(t.suggestions[s]);if(null!=t.suggestionsV2&&t.suggestionsV2.length)for(s=0;s<t.suggestionsV2.length;++s)r.SuggestionDescriptor.encode(t.suggestionsV2[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesConnectResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=e.string();break;case 2:i.suggestions&&i.suggestions.length||(i.suggestions=[]),i.suggestions.push(e.string());break;case 3:i.suggestionsV2&&i.suggestionsV2.length||(i.suggestionsV2=[]),i.suggestionsV2.push(r.SuggestionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!n.isString(t.channel))return"channel: string expected";if(null!=t.suggestions&&t.hasOwnProperty("suggestions")){if(!Array.isArray(t.suggestions))return"suggestions: array expected";for(var e=0;e<t.suggestions.length;++e)if(!n.isString(t.suggestions[e]))return"suggestions: string[] expected"}if(null!=t.suggestionsV2&&t.hasOwnProperty("suggestionsV2")){if(!Array.isArray(t.suggestionsV2))return"suggestionsV2: array expected";for(e=0;e<t.suggestionsV2.length;++e){var s=r.SuggestionDescriptor.verify(t.suggestionsV2[e]);if(s)return"suggestionsV2."+s}}return null},s.fromObject=function(t){if(t instanceof r.TrackChangesConnectResponse)return t;var e=new r.TrackChangesConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),t.suggestions){if(!Array.isArray(t.suggestions))throw TypeError(".TrackChangesConnectResponse.suggestions: array expected");e.suggestions=[];for(var n=0;n<t.suggestions.length;++n)e.suggestions[n]=String(t.suggestions[n])}if(t.suggestionsV2){if(!Array.isArray(t.suggestionsV2))throw TypeError(".TrackChangesConnectResponse.suggestionsV2: array expected");for(e.suggestionsV2=[],n=0;n<t.suggestionsV2.length;++n){if("object"!=typeof t.suggestionsV2[n])throw TypeError(".TrackChangesConnectResponse.suggestionsV2: object expected");e.suggestionsV2[n]=r.SuggestionDescriptor.fromObject(t.suggestionsV2[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),e.defaults&&(n.channel=""),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),t.suggestions&&t.suggestions.length){n.suggestions=[];for(var s=0;s<t.suggestions.length;++s)n.suggestions[s]=t.suggestions[s]}if(t.suggestionsV2&&t.suggestionsV2.length)for(n.suggestionsV2=[],s=0;s<t.suggestionsV2.length;++s)n.suggestionsV2[s]=r.SuggestionDescriptor.toObject(t.suggestionsV2[s],e);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesConnectResponse"},s}(),r.TrackChangesAddSuggestionResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.authorId="",s.prototype.type="",s.prototype.createdAt="",s.prototype.data="",s.prototype.hasComments=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.authorId&&Object.hasOwnProperty.call(t,"authorId")&&n.uint32(18).string(t.authorId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(26).string(t.type),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(34).string(t.createdAt),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(42).string(t.data),null!=t.hasComments&&Object.hasOwnProperty.call(t,"hasComments")&&n.uint32(48).bool(t.hasComments),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&n.uint32(58).string(t.state),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(66).string(t.attributes),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesAddSuggestionResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.authorId=e.string();break;case 3:i.type=e.string();break;case 4:i.createdAt=e.string();break;case 5:i.data=e.string();break;case 6:i.hasComments=e.bool();break;case 7:i.state=e.string();break;case 8:i.attributes=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.authorId&&t.hasOwnProperty("authorId")&&!n.isString(t.authorId)?"authorId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isString(t.type)?"type: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.hasComments&&t.hasOwnProperty("hasComments")&&"boolean"!=typeof t.hasComments?"hasComments: boolean expected":null!=t.state&&t.hasOwnProperty("state")&&!n.isString(t.state)?"state: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesAddSuggestionResponse)return t;var e=new r.TrackChangesAddSuggestionResponse;return null!=t.id&&(e.id=String(t.id)),null!=t.authorId&&(e.authorId=String(t.authorId)),null!=t.type&&(e.type=String(t.type)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.data&&(e.data=String(t.data)),null!=t.hasComments&&(e.hasComments=Boolean(t.hasComments)),null!=t.state&&(e.state=String(t.state)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.authorId&&t.hasOwnProperty("authorId")&&(n.authorId=t.authorId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.hasComments&&t.hasOwnProperty("hasComments")&&(n.hasComments=t.hasComments),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesAddSuggestionResponse"},s}(),r.TrackChangesUpdateSuggestionMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.documentId="",s.prototype.hasComments=!1,s.prototype.isHasCommentsModified=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),null!=t.hasComments&&Object.hasOwnProperty.call(t,"hasComments")&&n.uint32(24).bool(t.hasComments),null!=t.isHasCommentsModified&&Object.hasOwnProperty.call(t,"isHasCommentsModified")&&n.uint32(32).bool(t.isHasCommentsModified),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&n.uint32(42).string(t.state),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(50).string(t.attributes),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesUpdateSuggestionMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.documentId=e.string();break;case 3:i.hasComments=e.bool();break;case 4:i.isHasCommentsModified=e.bool();break;case 5:i.state=e.string();break;case 6:i.attributes=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.hasComments&&t.hasOwnProperty("hasComments")&&"boolean"!=typeof t.hasComments?"hasComments: boolean expected":null!=t.isHasCommentsModified&&t.hasOwnProperty("isHasCommentsModified")&&"boolean"!=typeof t.isHasCommentsModified?"isHasCommentsModified: boolean expected":null!=t.state&&t.hasOwnProperty("state")&&!n.isString(t.state)?"state: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesUpdateSuggestionMessage)return t;var e=new r.TrackChangesUpdateSuggestionMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.hasComments&&(e.hasComments=Boolean(t.hasComments)),null!=t.isHasCommentsModified&&(e.isHasCommentsModified=Boolean(t.isHasCommentsModified)),null!=t.state&&(e.state=String(t.state)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.documentId="",n.hasComments=!1,n.isHasCommentsModified=!1,n.state="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.hasComments&&t.hasOwnProperty("hasComments")&&(n.hasComments=t.hasComments),null!=t.isHasCommentsModified&&t.hasOwnProperty("isHasCommentsModified")&&(n.isHasCommentsModified=t.isHasCommentsModified),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesUpdateSuggestionMessage"},s}(),r.TrackChangesGetSuggestionMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesGetSuggestionMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.documentId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesGetSuggestionMessage)return t;var e=new r.TrackChangesGetSuggestionMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.documentId=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesGetSuggestionMessage"},s}(),r.TrackChangesGetAllSuggestionMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesGetAllSuggestionMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.documentId=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesGetAllSuggestionMessage)return t;var e=new r.TrackChangesGetAllSuggestionMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesGetAllSuggestionMessage"},s}(),r.TrackChangesConnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesConnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.documentId=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesConnectMessage)return t;var e=new r.TrackChangesConnectMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesConnectMessage"},s}(),r.TrackChangesBatchUpdateSuggestionsStateMessage=function(){function s(t){if(this.ids=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.ids=n.emptyArray,s.prototype.documentId="",s.prototype.state="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.ids&&t.ids.length)for(var r=0;r<t.ids.length;++r)n.uint32(10).string(t.ids[r]);return null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&n.uint32(26).string(t.state),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesBatchUpdateSuggestionsStateMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.ids&&i.ids.length||(i.ids=[]),i.ids.push(e.string());break;case 2:i.documentId=e.string();break;case 3:i.state=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.ids&&t.hasOwnProperty("ids")){if(!Array.isArray(t.ids))return"ids: array expected";for(var e=0;e<t.ids.length;++e)if(!n.isString(t.ids[e]))return"ids: string[] expected"}return null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.state&&t.hasOwnProperty("state")&&!n.isString(t.state)?"state: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesBatchUpdateSuggestionsStateMessage)return t;var e=new r.TrackChangesBatchUpdateSuggestionsStateMessage;if(t.ids){if(!Array.isArray(t.ids))throw TypeError(".TrackChangesBatchUpdateSuggestionsStateMessage.ids: array expected");e.ids=[];for(var n=0;n<t.ids.length;++n)e.ids[n]=String(t.ids[n])}return null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.state&&(e.state=String(t.state)),e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.ids=[]),e.defaults&&(n.documentId="",n.state=""),t.ids&&t.ids.length){n.ids=[];for(var r=0;r<t.ids.length;++r)n.ids[r]=t.ids[r]}return null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesBatchUpdateSuggestionsStateMessage"},s}(),r.TrackChangesAddSuggestionMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.documentId="",s.prototype.type="",s.prototype.data="",s.prototype.originalSuggestionId="",s.prototype.attributes="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(26).string(t.type),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(34).string(t.data),null!=t.originalSuggestionId&&Object.hasOwnProperty.call(t,"originalSuggestionId")&&n.uint32(42).string(t.originalSuggestionId),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(50).string(t.attributes),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.TrackChangesAddSuggestionMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.documentId=e.string();break;case 3:i.type=e.string();break;case 4:i.data=e.string();break;case 5:i.originalSuggestionId=e.string();break;case 6:i.attributes=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isString(t.type)?"type: string expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.originalSuggestionId&&t.hasOwnProperty("originalSuggestionId")&&!n.isString(t.originalSuggestionId)?"originalSuggestionId: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null},s.fromObject=function(t){if(t instanceof r.TrackChangesAddSuggestionMessage)return t;var e=new r.TrackChangesAddSuggestionMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.type&&(e.type=String(t.type)),null!=t.data&&(e.data=String(t.data)),null!=t.originalSuggestionId&&(e.originalSuggestionId=String(t.originalSuggestionId)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.documentId="",n.type="",n.data="",n.originalSuggestionId="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.originalSuggestionId&&t.hasOwnProperty("originalSuggestionId")&&(n.originalSuggestionId=t.originalSuggestionId),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesAddSuggestionMessage"},s}(),r.SuggestionDescriptor=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.authorId="",s.prototype.type="",s.prototype.createdAt="",s.prototype.data="",s.prototype.hasComments=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.authorId&&Object.hasOwnProperty.call(t,"authorId")&&n.uint32(18).string(t.authorId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(26).string(t.type),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(34).string(t.createdAt),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(42).string(t.data),null!=t.hasComments&&Object.hasOwnProperty.call(t,"hasComments")&&n.uint32(48).bool(t.hasComments),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&n.uint32(58).string(t.state),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(66).string(t.attributes),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.SuggestionDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.authorId=e.string();break;case 3:i.type=e.string();break;case 4:i.createdAt=e.string();break;case 5:i.data=e.string();break;case 6:i.hasComments=e.bool();break;case 7:i.state=e.string();break;case 8:i.attributes=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.authorId&&t.hasOwnProperty("authorId")&&!n.isString(t.authorId)?"authorId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isString(t.type)?"type: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data)?"data: string expected":null!=t.hasComments&&t.hasOwnProperty("hasComments")&&"boolean"!=typeof t.hasComments?"hasComments: boolean expected":null!=t.state&&t.hasOwnProperty("state")&&!n.isString(t.state)?"state: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null},s.fromObject=function(t){if(t instanceof r.SuggestionDescriptor)return t;var e=new r.SuggestionDescriptor;return null!=t.id&&(e.id=String(t.id)),null!=t.authorId&&(e.authorId=String(t.authorId)),null!=t.type&&(e.type=String(t.type)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.data&&(e.data=String(t.data)),null!=t.hasComments&&(e.hasComments=Boolean(t.hasComments)),null!=t.state&&(e.state=String(t.state)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.authorId&&t.hasOwnProperty("authorId")&&(n.authorId=t.authorId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.hasComments&&t.hasOwnProperty("hasComments")&&(n.hasComments=t.hasComments),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SuggestionDescriptor"},s}(),r.SessionsConnectResponse=function(){function s(t){if(this.sockets=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.channel="",s.prototype.sockets=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&n.uint32(10).string(t.channel),null!=t.sockets&&t.sockets.length)for(var s=0;s<t.sockets.length;++s)r.SessionsSocketDescriptor.encode(t.sockets[s],n.uint32(18).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.SessionsConnectResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=e.string();break;case 2:i.sockets&&i.sockets.length||(i.sockets=[]),i.sockets.push(r.SessionsSocketDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!n.isString(t.channel))return"channel: string expected";if(null!=t.sockets&&t.hasOwnProperty("sockets")){if(!Array.isArray(t.sockets))return"sockets: array expected";for(var e=0;e<t.sockets.length;++e){var s=r.SessionsSocketDescriptor.verify(t.sockets[e]);if(s)return"sockets."+s}}return null},s.fromObject=function(t){if(t instanceof r.SessionsConnectResponse)return t;var e=new r.SessionsConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),t.sockets){if(!Array.isArray(t.sockets))throw TypeError(".SessionsConnectResponse.sockets: array expected");e.sockets=[];for(var n=0;n<t.sockets.length;++n){if("object"!=typeof t.sockets[n])throw TypeError(".SessionsConnectResponse.sockets: object expected");e.sockets[n]=r.SessionsSocketDescriptor.fromObject(t.sockets[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.sockets=[]),e.defaults&&(n.channel=""),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),t.sockets&&t.sockets.length){n.sockets=[];for(var s=0;s<t.sockets.length;++s)n.sockets[s]=r.SessionsSocketDescriptor.toObject(t.sockets[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SessionsConnectResponse"},s}(),r.SocketDisconnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.SocketDisconnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.id=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null},s.fromObject=function(t){if(t instanceof r.SocketDisconnectMessage)return t;var e=new r.SocketDisconnectMessage;return null!=t.id&&(e.id=String(t.id)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SocketDisconnectMessage"},s}(),r.SocketConnectMessage=function(){function s(t){if(this.permissions=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.userId="",s.prototype.role="",s.prototype.permissions=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.userId&&Object.hasOwnProperty.call(t,"userId")&&n.uint32(18).string(t.userId),null!=t.role&&Object.hasOwnProperty.call(t,"role")&&n.uint32(26).string(t.role),null!=t.permissions&&t.permissions.length)for(var r=0;r<t.permissions.length;++r)n.uint32(34).string(t.permissions[r]);return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.SocketConnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.userId=e.string();break;case 3:i.role=e.string();break;case 4:i.permissions&&i.permissions.length||(i.permissions=[]),i.permissions.push(e.string());break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id))return"id: string expected";if(null!=t.userId&&t.hasOwnProperty("userId")&&!n.isString(t.userId))return"userId: string expected";if(null!=t.role&&t.hasOwnProperty("role")&&!n.isString(t.role))return"role: string expected";if(null!=t.permissions&&t.hasOwnProperty("permissions")){if(!Array.isArray(t.permissions))return"permissions: array expected";for(var e=0;e<t.permissions.length;++e)if(!n.isString(t.permissions[e]))return"permissions: string[] expected"}return null},s.fromObject=function(t){if(t instanceof r.SocketConnectMessage)return t;var e=new r.SocketConnectMessage;if(null!=t.id&&(e.id=String(t.id)),null!=t.userId&&(e.userId=String(t.userId)),null!=t.role&&(e.role=String(t.role)),t.permissions){if(!Array.isArray(t.permissions))throw TypeError(".SocketConnectMessage.permissions: array expected");e.permissions=[];for(var n=0;n<t.permissions.length;++n)e.permissions[n]=String(t.permissions[n])}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.permissions=[]),e.defaults&&(n.id="",n.userId="",n.role=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.userId&&t.hasOwnProperty("userId")&&(n.userId=t.userId),null!=t.role&&t.hasOwnProperty("role")&&(n.role=t.role),t.permissions&&t.permissions.length){n.permissions=[];for(var r=0;r<t.permissions.length;++r)n.permissions[r]=t.permissions[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SocketConnectMessage"},s}(),r.SessionsConnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.sessionType=0,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.sessionType&&Object.hasOwnProperty.call(t,"sessionType")&&n.uint32(16).uint32(t.sessionType),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.SessionsConnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.sessionType=e.uint32();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.sessionType&&t.hasOwnProperty("sessionType")&&!n.isInteger(t.sessionType)?"sessionType: integer expected":null},s.fromObject=function(t){if(t instanceof r.SessionsConnectMessage)return t;var e=new r.SessionsConnectMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.sessionType&&(e.sessionType=t.sessionType>>>0),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.sessionType=0),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.sessionType&&t.hasOwnProperty("sessionType")&&(n.sessionType=t.sessionType),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SessionsConnectMessage"},s}(),r.SessionsSocketDescriptor=function(){function s(t){if(this.permissions=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.session="",s.prototype.user="",s.prototype.role="",s.prototype.permissions=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.session&&Object.hasOwnProperty.call(t,"session")&&n.uint32(10).string(t.session),null!=t.user&&Object.hasOwnProperty.call(t,"user")&&n.uint32(18).string(t.user),null!=t.role&&Object.hasOwnProperty.call(t,"role")&&n.uint32(26).string(t.role),null!=t.permissions&&t.permissions.length)for(var r=0;r<t.permissions.length;++r)n.uint32(34).string(t.permissions[r]);return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.SessionsSocketDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.session=e.string();break;case 2:i.user=e.string();break;case 3:i.role=e.string();break;case 4:i.permissions&&i.permissions.length||(i.permissions=[]),i.permissions.push(e.string());break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.session&&t.hasOwnProperty("session")&&!n.isString(t.session))return"session: string expected";if(null!=t.user&&t.hasOwnProperty("user")&&!n.isString(t.user))return"user: string expected";if(null!=t.role&&t.hasOwnProperty("role")&&!n.isString(t.role))return"role: string expected";if(null!=t.permissions&&t.hasOwnProperty("permissions")){if(!Array.isArray(t.permissions))return"permissions: array expected";for(var e=0;e<t.permissions.length;++e)if(!n.isString(t.permissions[e]))return"permissions: string[] expected"}return null},s.fromObject=function(t){if(t instanceof r.SessionsSocketDescriptor)return t;var e=new r.SessionsSocketDescriptor;if(null!=t.session&&(e.session=String(t.session)),null!=t.user&&(e.user=String(t.user)),null!=t.role&&(e.role=String(t.role)),t.permissions){if(!Array.isArray(t.permissions))throw TypeError(".SessionsSocketDescriptor.permissions: array expected");e.permissions=[];for(var n=0;n<t.permissions.length;++n)e.permissions[n]=String(t.permissions[n])}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.permissions=[]),e.defaults&&(n.session="",n.user="",n.role=""),null!=t.session&&t.hasOwnProperty("session")&&(n.session=t.session),null!=t.user&&t.hasOwnProperty("user")&&(n.user=t.user),null!=t.role&&t.hasOwnProperty("role")&&(n.role=t.role),t.permissions&&t.permissions.length){n.permissions=[];for(var r=0;r<t.permissions.length;++r)n.permissions[r]=t.permissions[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SessionsSocketDescriptor"},s}(),r.RevisionHistoryUpdateRevisionsResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.requestId=0,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&n.uint32(8).uint32(t.requestId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryUpdateRevisionsResponse;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.requestId=e.uint32():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.requestId&&t.hasOwnProperty("requestId")&&!n.isInteger(t.requestId)?"requestId: integer expected":null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryUpdateRevisionsResponse)return t;var e=new r.RevisionHistoryUpdateRevisionsResponse;return null!=t.requestId&&(e.requestId=t.requestId>>>0),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.requestId=0),null!=t.requestId&&t.hasOwnProperty("requestId")&&(n.requestId=t.requestId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryUpdateRevisionsResponse"},s}(),r.RevisionHistoryGetRevisionResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.revisionId="",s.prototype.name="",s.prototype.creatorId="",s.prototype.authorsIds="",s.prototype.diffData="",s.prototype.createdAt="",s.prototype.attributes="",s.prototype.toVersion=0,s.prototype.fromVersion=0,s.prototype.isEmptyCurrent=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.revisionId&&Object.hasOwnProperty.call(t,"revisionId")&&n.uint32(10).string(t.revisionId),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&n.uint32(18).string(t.name),null!=t.creatorId&&Object.hasOwnProperty.call(t,"creatorId")&&n.uint32(26).string(t.creatorId),null!=t.authorsIds&&Object.hasOwnProperty.call(t,"authorsIds")&&n.uint32(34).string(t.authorsIds),null!=t.diffData&&Object.hasOwnProperty.call(t,"diffData")&&n.uint32(42).string(t.diffData),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(50).string(t.createdAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(58).string(t.attributes),null!=t.toVersion&&Object.hasOwnProperty.call(t,"toVersion")&&n.uint32(64).uint32(t.toVersion),null!=t.fromVersion&&Object.hasOwnProperty.call(t,"fromVersion")&&n.uint32(72).uint32(t.fromVersion),null!=t.isEmptyCurrent&&Object.hasOwnProperty.call(t,"isEmptyCurrent")&&n.uint32(80).bool(t.isEmptyCurrent),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryGetRevisionResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.revisionId=e.string();break;case 2:i.name=e.string();break;case 3:i.creatorId=e.string();break;case 4:i.authorsIds=e.string();break;case 5:i.diffData=e.string();break;case 6:i.createdAt=e.string();break;case 7:i.attributes=e.string();break;case 8:i.toVersion=e.uint32();break;case 9:i.fromVersion=e.uint32();break;case 10:i.isEmptyCurrent=e.bool();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.revisionId&&t.hasOwnProperty("revisionId")&&!n.isString(t.revisionId)?"revisionId: string expected":null!=t.name&&t.hasOwnProperty("name")&&!n.isString(t.name)?"name: string expected":null!=t.creatorId&&t.hasOwnProperty("creatorId")&&!n.isString(t.creatorId)?"creatorId: string expected":null!=t.authorsIds&&t.hasOwnProperty("authorsIds")&&!n.isString(t.authorsIds)?"authorsIds: string expected":null!=t.diffData&&t.hasOwnProperty("diffData")&&!n.isString(t.diffData)?"diffData: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null!=t.toVersion&&t.hasOwnProperty("toVersion")&&!n.isInteger(t.toVersion)?"toVersion: integer expected":null!=t.fromVersion&&t.hasOwnProperty("fromVersion")&&!n.isInteger(t.fromVersion)?"fromVersion: integer expected":null!=t.isEmptyCurrent&&t.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof t.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryGetRevisionResponse)return t;var e=new r.RevisionHistoryGetRevisionResponse;return null!=t.revisionId&&(e.revisionId=String(t.revisionId)),null!=t.name&&(e.name=String(t.name)),null!=t.creatorId&&(e.creatorId=String(t.creatorId)),null!=t.authorsIds&&(e.authorsIds=String(t.authorsIds)),null!=t.diffData&&(e.diffData=String(t.diffData)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.toVersion&&(e.toVersion=t.toVersion>>>0),null!=t.fromVersion&&(e.fromVersion=t.fromVersion>>>0),null!=t.isEmptyCurrent&&(e.isEmptyCurrent=Boolean(t.isEmptyCurrent)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.revisionId="",n.name="",n.creatorId="",n.authorsIds="",n.diffData="",n.createdAt="",n.attributes="",n.toVersion=0,n.fromVersion=0,n.isEmptyCurrent=!1),null!=t.revisionId&&t.hasOwnProperty("revisionId")&&(n.revisionId=t.revisionId),null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.creatorId&&t.hasOwnProperty("creatorId")&&(n.creatorId=t.creatorId),null!=t.authorsIds&&t.hasOwnProperty("authorsIds")&&(n.authorsIds=t.authorsIds),null!=t.diffData&&t.hasOwnProperty("diffData")&&(n.diffData=t.diffData),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.toVersion&&t.hasOwnProperty("toVersion")&&(n.toVersion=t.toVersion),null!=t.fromVersion&&t.hasOwnProperty("fromVersion")&&(n.fromVersion=t.fromVersion),null!=t.isEmptyCurrent&&t.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=t.isEmptyCurrent),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryGetRevisionResponse"},s}(),r.RevisionHistoryConnectResponse=function(){function s(t){if(this.revisions=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.channel="",s.prototype.requestId=0,s.prototype.revisions=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&n.uint32(10).string(t.channel),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&n.uint32(16).uint32(t.requestId),null!=t.revisions&&t.revisions.length)for(var s=0;s<t.revisions.length;++s)r.RevisionDescriptor.encode(t.revisions[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryConnectResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=e.string();break;case 2:i.requestId=e.uint32();break;case 3:i.revisions&&i.revisions.length||(i.revisions=[]),i.revisions.push(r.RevisionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!n.isString(t.channel))return"channel: string expected";if(null!=t.requestId&&t.hasOwnProperty("requestId")&&!n.isInteger(t.requestId))return"requestId: integer expected";if(null!=t.revisions&&t.hasOwnProperty("revisions")){if(!Array.isArray(t.revisions))return"revisions: array expected";for(var e=0;e<t.revisions.length;++e){var s=r.RevisionDescriptor.verify(t.revisions[e]);if(s)return"revisions."+s}}return null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryConnectResponse)return t;var e=new r.RevisionHistoryConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),null!=t.requestId&&(e.requestId=t.requestId>>>0),t.revisions){if(!Array.isArray(t.revisions))throw TypeError(".RevisionHistoryConnectResponse.revisions: array expected");e.revisions=[];for(var n=0;n<t.revisions.length;++n){if("object"!=typeof t.revisions[n])throw TypeError(".RevisionHistoryConnectResponse.revisions: object expected");e.revisions[n]=r.RevisionDescriptor.fromObject(t.revisions[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.revisions=[]),e.defaults&&(n.channel="",n.requestId=0),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),null!=t.requestId&&t.hasOwnProperty("requestId")&&(n.requestId=t.requestId),t.revisions&&t.revisions.length){n.revisions=[];for(var s=0;s<t.revisions.length;++s)n.revisions[s]=r.RevisionDescriptor.toObject(t.revisions[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryConnectResponse"},s}(),r.RevisionHistoryUpdateRevisionsMessage=function(){function s(t){if(this.revisions=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.prototype.requestId=0,s.prototype.revisions=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&n.uint32(16).uint32(t.requestId),null!=t.revisions&&t.revisions.length)for(var s=0;s<t.revisions.length;++s)r.RevisionDescriptor.encode(t.revisions[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryUpdateRevisionsMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=e.string();break;case 2:i.requestId=e.uint32();break;case 3:i.revisions&&i.revisions.length||(i.revisions=[]),i.revisions.push(r.RevisionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId))return"documentId: string expected";if(null!=t.requestId&&t.hasOwnProperty("requestId")&&!n.isInteger(t.requestId))return"requestId: integer expected";if(null!=t.revisions&&t.hasOwnProperty("revisions")){if(!Array.isArray(t.revisions))return"revisions: array expected";for(var e=0;e<t.revisions.length;++e){var s=r.RevisionDescriptor.verify(t.revisions[e]);if(s)return"revisions."+s}}return null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryUpdateRevisionsMessage)return t;var e=new r.RevisionHistoryUpdateRevisionsMessage;if(null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.requestId&&(e.requestId=t.requestId>>>0),t.revisions){if(!Array.isArray(t.revisions))throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: array expected");e.revisions=[];for(var n=0;n<t.revisions.length;++n){if("object"!=typeof t.revisions[n])throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: object expected");e.revisions[n]=r.RevisionDescriptor.fromObject(t.revisions[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.revisions=[]),e.defaults&&(n.documentId="",n.requestId=0),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.requestId&&t.hasOwnProperty("requestId")&&(n.requestId=t.requestId),t.revisions&&t.revisions.length){n.revisions=[];for(var s=0;s<t.revisions.length;++s)n.revisions[s]=r.RevisionDescriptor.toObject(t.revisions[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryUpdateRevisionsMessage"},s}(),r.RevisionHistoryReconnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.prototype.requestId=0,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&n.uint32(16).uint32(t.requestId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryReconnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=e.string();break;case 2:i.requestId=e.uint32();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.requestId&&t.hasOwnProperty("requestId")&&!n.isInteger(t.requestId)?"requestId: integer expected":null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryReconnectMessage)return t;var e=new r.RevisionHistoryReconnectMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.requestId&&(e.requestId=t.requestId>>>0),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId="",n.requestId=0),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.requestId&&t.hasOwnProperty("requestId")&&(n.requestId=t.requestId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryReconnectMessage"},s}(),r.RevisionHistoryGetRevisionMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.prototype.revisionId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),null!=t.revisionId&&Object.hasOwnProperty.call(t,"revisionId")&&n.uint32(18).string(t.revisionId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryGetRevisionMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=e.string();break;case 2:i.revisionId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.revisionId&&t.hasOwnProperty("revisionId")&&!n.isString(t.revisionId)?"revisionId: string expected":null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryGetRevisionMessage)return t;var e=new r.RevisionHistoryGetRevisionMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.revisionId&&(e.revisionId=String(t.revisionId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId="",n.revisionId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.revisionId&&t.hasOwnProperty("revisionId")&&(n.revisionId=t.revisionId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryGetRevisionMessage"},s}(),r.RevisionHistoryConnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionHistoryConnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.documentId=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.RevisionHistoryConnectMessage)return t;var e=new r.RevisionHistoryConnectMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryConnectMessage"},s}(),r.RevisionDescriptor=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.revisionId="",s.prototype.name="",s.prototype.creatorId="",s.prototype.authorsIds="",s.prototype.diffData="",s.prototype.createdAt="",s.prototype.attributes="",s.prototype.toVersion=0,s.prototype.fromVersion=0,s.prototype.isEmptyCurrent=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.revisionId&&Object.hasOwnProperty.call(t,"revisionId")&&n.uint32(10).string(t.revisionId),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&n.uint32(18).string(t.name),null!=t.creatorId&&Object.hasOwnProperty.call(t,"creatorId")&&n.uint32(26).string(t.creatorId),null!=t.authorsIds&&Object.hasOwnProperty.call(t,"authorsIds")&&n.uint32(34).string(t.authorsIds),null!=t.diffData&&Object.hasOwnProperty.call(t,"diffData")&&n.uint32(42).string(t.diffData),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(50).string(t.createdAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(58).string(t.attributes),null!=t.toVersion&&Object.hasOwnProperty.call(t,"toVersion")&&n.uint32(64).uint32(t.toVersion),null!=t.fromVersion&&Object.hasOwnProperty.call(t,"fromVersion")&&n.uint32(72).uint32(t.fromVersion),null!=t.isEmptyCurrent&&Object.hasOwnProperty.call(t,"isEmptyCurrent")&&n.uint32(80).bool(t.isEmptyCurrent),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.RevisionDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.revisionId=e.string();break;case 2:i.name=e.string();break;case 3:i.creatorId=e.string();break;case 4:i.authorsIds=e.string();break;case 5:i.diffData=e.string();break;case 6:i.createdAt=e.string();break;case 7:i.attributes=e.string();break;case 8:i.toVersion=e.uint32();break;case 9:i.fromVersion=e.uint32();break;case 10:i.isEmptyCurrent=e.bool();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.revisionId&&t.hasOwnProperty("revisionId")&&!n.isString(t.revisionId)?"revisionId: string expected":null!=t.name&&t.hasOwnProperty("name")&&!n.isString(t.name)?"name: string expected":null!=t.creatorId&&t.hasOwnProperty("creatorId")&&!n.isString(t.creatorId)?"creatorId: string expected":null!=t.authorsIds&&t.hasOwnProperty("authorsIds")&&!n.isString(t.authorsIds)?"authorsIds: string expected":null!=t.diffData&&t.hasOwnProperty("diffData")&&!n.isString(t.diffData)?"diffData: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null!=t.toVersion&&t.hasOwnProperty("toVersion")&&!n.isInteger(t.toVersion)?"toVersion: integer expected":null!=t.fromVersion&&t.hasOwnProperty("fromVersion")&&!n.isInteger(t.fromVersion)?"fromVersion: integer expected":null!=t.isEmptyCurrent&&t.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof t.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},s.fromObject=function(t){if(t instanceof r.RevisionDescriptor)return t;var e=new r.RevisionDescriptor;return null!=t.revisionId&&(e.revisionId=String(t.revisionId)),null!=t.name&&(e.name=String(t.name)),null!=t.creatorId&&(e.creatorId=String(t.creatorId)),null!=t.authorsIds&&(e.authorsIds=String(t.authorsIds)),null!=t.diffData&&(e.diffData=String(t.diffData)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.toVersion&&(e.toVersion=t.toVersion>>>0),null!=t.fromVersion&&(e.fromVersion=t.fromVersion>>>0),null!=t.isEmptyCurrent&&(e.isEmptyCurrent=Boolean(t.isEmptyCurrent)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.revisionId="",n.name="",n.creatorId="",n.authorsIds="",n.diffData="",n.createdAt="",n.attributes="",n.toVersion=0,n.fromVersion=0,n.isEmptyCurrent=!1),null!=t.revisionId&&t.hasOwnProperty("revisionId")&&(n.revisionId=t.revisionId),null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.creatorId&&t.hasOwnProperty("creatorId")&&(n.creatorId=t.creatorId),null!=t.authorsIds&&t.hasOwnProperty("authorsIds")&&(n.authorsIds=t.authorsIds),null!=t.diffData&&t.hasOwnProperty("diffData")&&(n.diffData=t.diffData),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.toVersion&&t.hasOwnProperty("toVersion")&&(n.toVersion=t.toVersion),null!=t.fromVersion&&t.hasOwnProperty("fromVersion")&&(n.fromVersion=t.fromVersion),null!=t.isEmptyCurrent&&t.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=t.isEmptyCurrent),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionDescriptor"},s}(),r.IsEditorBundleUploadedResponse=function(){function n(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return n.prototype.isUploaded=!1,n.create=function(t){return new n(t)},n.encode=function(t,n){return n||(n=e.create()),null!=t.isUploaded&&Object.hasOwnProperty.call(t,"isUploaded")&&n.uint32(8).bool(t.isUploaded),n},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.IsEditorBundleUploadedResponse;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.isUploaded=e.bool():e.skipType(7&a)}return i},n.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},n.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.isUploaded&&t.hasOwnProperty("isUploaded")&&"boolean"!=typeof t.isUploaded?"isUploaded: boolean expected":null},n.fromObject=function(t){if(t instanceof r.IsEditorBundleUploadedResponse)return t;var e=new r.IsEditorBundleUploadedResponse;return null!=t.isUploaded&&(e.isUploaded=Boolean(t.isUploaded)),e},n.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.isUploaded=!1),null!=t.isUploaded&&t.hasOwnProperty("isUploaded")&&(n.isUploaded=t.isUploaded),n},n.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},n.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/IsEditorBundleUploadedResponse"},n}(),r.IsEditorBundleUploadedMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.bundleVersion="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.bundleVersion&&Object.hasOwnProperty.call(t,"bundleVersion")&&n.uint32(10).string(t.bundleVersion),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.IsEditorBundleUploadedMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.bundleVersion=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&!n.isString(t.bundleVersion)?"bundleVersion: string expected":null},s.fromObject=function(t){if(t instanceof r.IsEditorBundleUploadedMessage)return t;var e=new r.IsEditorBundleUploadedMessage;return null!=t.bundleVersion&&(e.bundleVersion=String(t.bundleVersion)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.bundleVersion=""),null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&(n.bundleVersion=t.bundleVersion),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/IsEditorBundleUploadedMessage"},s}(),r.KeyValueDescriptor=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.key="",s.prototype.value="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.key&&Object.hasOwnProperty.call(t,"key")&&n.uint32(10).string(t.key),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&n.uint32(18).string(t.value),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.KeyValueDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.key=e.string();break;case 2:i.value=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.key&&t.hasOwnProperty("key")&&!n.isString(t.key)?"key: string expected":null!=t.value&&t.hasOwnProperty("value")&&!n.isString(t.value)?"value: string expected":null},s.fromObject=function(t){if(t instanceof r.KeyValueDescriptor)return t;var e=new r.KeyValueDescriptor;return null!=t.key&&(e.key=String(t.key)),null!=t.value&&(e.value=String(t.value)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.key="",n.value=""),null!=t.key&&t.hasOwnProperty("key")&&(n.key=t.key),null!=t.value&&t.hasOwnProperty("value")&&(n.value=t.value),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/KeyValueDescriptor"},s}(),r.CommentsV2GetDocumentThreadsResponse=function(){function s(t){if(this.threads=[],this.threadsV2=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.threads=n.emptyArray,s.prototype.threadsV2=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.threads&&t.threads.length)for(var s=0;s<t.threads.length;++s)n.uint32(10).string(t.threads[s]);if(null!=t.threadsV2&&t.threadsV2.length)for(s=0;s<t.threadsV2.length;++s)r.CommentsThreadDescriptor.encode(t.threadsV2[s],n.uint32(18).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2GetDocumentThreadsResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.threads&&i.threads.length||(i.threads=[]),i.threads.push(e.string());break;case 2:i.threadsV2&&i.threadsV2.length||(i.threadsV2=[]),i.threadsV2.push(r.CommentsThreadDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.threads&&t.hasOwnProperty("threads")){if(!Array.isArray(t.threads))return"threads: array expected";for(var e=0;e<t.threads.length;++e)if(!n.isString(t.threads[e]))return"threads: string[] expected"}if(null!=t.threadsV2&&t.hasOwnProperty("threadsV2")){if(!Array.isArray(t.threadsV2))return"threadsV2: array expected";for(e=0;e<t.threadsV2.length;++e){var s=r.CommentsThreadDescriptor.verify(t.threadsV2[e]);if(s)return"threadsV2."+s}}return null},s.fromObject=function(t){if(t instanceof r.CommentsV2GetDocumentThreadsResponse)return t;var e=new r.CommentsV2GetDocumentThreadsResponse;if(t.threads){if(!Array.isArray(t.threads))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threads: array expected");e.threads=[];for(var n=0;n<t.threads.length;++n)e.threads[n]=String(t.threads[n])}if(t.threadsV2){if(!Array.isArray(t.threadsV2))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: array expected");for(e.threadsV2=[],n=0;n<t.threadsV2.length;++n){if("object"!=typeof t.threadsV2[n])throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: object expected");e.threadsV2[n]=r.CommentsThreadDescriptor.fromObject(t.threadsV2[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.threads=[],n.threadsV2=[]),t.threads&&t.threads.length){n.threads=[];for(var s=0;s<t.threads.length;++s)n.threads[s]=t.threads[s]}if(t.threadsV2&&t.threadsV2.length)for(n.threadsV2=[],s=0;s<t.threadsV2.length;++s)n.threadsV2[s]=r.CommentsThreadDescriptor.toObject(t.threadsV2[s],e);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2GetDocumentThreadsResponse"},s}(),r.CommentsV2GetCommentThreadResponse=function(){function s(t){if(this.comments=[],this.commentsV2=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.comments=n.emptyArray,s.prototype.commentsV2=n.emptyArray,s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.context="",s.prototype.createdAt="",s.prototype.deletedAt="",s.prototype.attributes="",s.prototype.unlinkedAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.comments&&t.comments.length)for(var s=0;s<t.comments.length;++s)n.uint32(18).string(t.comments[s]);if(null!=t.commentsV2&&t.commentsV2.length)for(s=0;s<t.commentsV2.length;++s)r.CommentDescriptor.encode(t.commentsV2[s],n.uint32(26).fork()).ldelim();return null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&n.uint32(34).string(t.resolvedAt),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&n.uint32(42).string(t.resolvedBy),null!=t.context&&Object.hasOwnProperty.call(t,"context")&&n.uint32(50).string(t.context),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(58).string(t.createdAt),null!=t.deletedAt&&Object.hasOwnProperty.call(t,"deletedAt")&&n.uint32(66).string(t.deletedAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(74).string(t.attributes),null!=t.unlinkedAt&&Object.hasOwnProperty.call(t,"unlinkedAt")&&n.uint32(82).string(t.unlinkedAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2GetCommentThreadResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(e.string());break;case 3:i.commentsV2&&i.commentsV2.length||(i.commentsV2=[]),i.commentsV2.push(r.CommentDescriptor.decode(e,e.uint32()));break;case 4:i.resolvedAt=e.string();break;case 5:i.resolvedBy=e.string();break;case 6:i.context=e.string();break;case 7:i.createdAt=e.string();break;case 8:i.deletedAt=e.string();break;case 9:i.attributes=e.string();break;case 10:i.unlinkedAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.comments&&t.hasOwnProperty("comments")){if(!Array.isArray(t.comments))return"comments: array expected";for(var e=0;e<t.comments.length;++e)if(!n.isString(t.comments[e]))return"comments: string[] expected"}if(null!=t.commentsV2&&t.hasOwnProperty("commentsV2")){if(!Array.isArray(t.commentsV2))return"commentsV2: array expected";for(e=0;e<t.commentsV2.length;++e){var s=r.CommentDescriptor.verify(t.commentsV2[e]);if(s)return"commentsV2."+s}}return null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!n.isString(t.resolvedAt)?"resolvedAt: string expected":null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!n.isString(t.resolvedBy)?"resolvedBy: string expected":null!=t.context&&t.hasOwnProperty("context")&&!n.isString(t.context)?"context: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&!n.isString(t.deletedAt)?"deletedAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&!n.isString(t.unlinkedAt)?"unlinkedAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2GetCommentThreadResponse)return t;var e=new r.CommentsV2GetCommentThreadResponse;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),t.comments){if(!Array.isArray(t.comments))throw TypeError(".CommentsV2GetCommentThreadResponse.comments: array expected");e.comments=[];for(var n=0;n<t.comments.length;++n)e.comments[n]=String(t.comments[n])}if(t.commentsV2){if(!Array.isArray(t.commentsV2))throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: array expected");for(e.commentsV2=[],n=0;n<t.commentsV2.length;++n){if("object"!=typeof t.commentsV2[n])throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: object expected");e.commentsV2[n]=r.CommentDescriptor.fromObject(t.commentsV2[n])}}return null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),null!=t.context&&(e.context=String(t.context)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.deletedAt&&(e.deletedAt=String(t.deletedAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.unlinkedAt&&(e.unlinkedAt=String(t.unlinkedAt)),e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.comments=[],n.commentsV2=[]),e.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes="",n.unlinkedAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),t.comments&&t.comments.length){n.comments=[];for(var s=0;s<t.comments.length;++s)n.comments[s]=t.comments[s]}if(t.commentsV2&&t.commentsV2.length)for(n.commentsV2=[],s=0;s<t.commentsV2.length;++s)n.commentsV2[s]=r.CommentDescriptor.toObject(t.commentsV2[s],e);return null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),null!=t.context&&t.hasOwnProperty("context")&&(n.context=t.context),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&(n.deletedAt=t.deletedAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=t.unlinkedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2GetCommentThreadResponse"},s}(),r.CommentsV2ConnectResponse=function(){function s(t){if(this.threads=[],this.threadsV2=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.channel="",s.prototype.threads=n.emptyArray,s.prototype.threadsV2=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&n.uint32(10).string(t.channel),null!=t.threads&&t.threads.length)for(var s=0;s<t.threads.length;++s)n.uint32(18).string(t.threads[s]);if(null!=t.threadsV2&&t.threadsV2.length)for(s=0;s<t.threadsV2.length;++s)r.CommentsThreadDescriptor.encode(t.threadsV2[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2ConnectResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=e.string();break;case 2:i.threads&&i.threads.length||(i.threads=[]),i.threads.push(e.string());break;case 3:i.threadsV2&&i.threadsV2.length||(i.threadsV2=[]),i.threadsV2.push(r.CommentsThreadDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!n.isString(t.channel))return"channel: string expected";if(null!=t.threads&&t.hasOwnProperty("threads")){if(!Array.isArray(t.threads))return"threads: array expected";for(var e=0;e<t.threads.length;++e)if(!n.isString(t.threads[e]))return"threads: string[] expected"}if(null!=t.threadsV2&&t.hasOwnProperty("threadsV2")){if(!Array.isArray(t.threadsV2))return"threadsV2: array expected";for(e=0;e<t.threadsV2.length;++e){var s=r.CommentsThreadDescriptor.verify(t.threadsV2[e]);if(s)return"threadsV2."+s}}return null},s.fromObject=function(t){if(t instanceof r.CommentsV2ConnectResponse)return t;var e=new r.CommentsV2ConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),t.threads){if(!Array.isArray(t.threads))throw TypeError(".CommentsV2ConnectResponse.threads: array expected");e.threads=[];for(var n=0;n<t.threads.length;++n)e.threads[n]=String(t.threads[n])}if(t.threadsV2){if(!Array.isArray(t.threadsV2))throw TypeError(".CommentsV2ConnectResponse.threadsV2: array expected");for(e.threadsV2=[],n=0;n<t.threadsV2.length;++n){if("object"!=typeof t.threadsV2[n])throw TypeError(".CommentsV2ConnectResponse.threadsV2: object expected");e.threadsV2[n]=r.CommentsThreadDescriptor.fromObject(t.threadsV2[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.threads=[],n.threadsV2=[]),e.defaults&&(n.channel=""),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),t.threads&&t.threads.length){n.threads=[];for(var s=0;s<t.threads.length;++s)n.threads[s]=t.threads[s]}if(t.threadsV2&&t.threadsV2.length)for(n.threadsV2=[],s=0;s<t.threadsV2.length;++s)n.threadsV2[s]=r.CommentsThreadDescriptor.toObject(t.threadsV2[s],e);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ConnectResponse"},s}(),r.CommentsV2AddCommentResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.createdAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&n.uint32(18).string(t.commentId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(26).string(t.createdAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2AddCommentResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.commentId=e.string();break;case 3:i.createdAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.commentId&&t.hasOwnProperty("commentId")&&!n.isString(t.commentId)?"commentId: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2AddCommentResponse)return t;var e=new r.CommentsV2AddCommentResponse;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.commentId="",n.createdAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2AddCommentResponse"},s}(),r.CommentsV2ResolveCommentThreadResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&n.uint32(26).string(t.resolvedAt),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&n.uint32(34).string(t.resolvedBy),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2ResolveCommentThreadResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.documentId=e.string();break;case 3:i.resolvedAt=e.string();break;case 4:i.resolvedBy=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!n.isString(t.resolvedAt)?"resolvedAt: string expected":null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!n.isString(t.resolvedBy)?"resolvedBy: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2ResolveCommentThreadResponse)return t;var e=new r.CommentsV2ResolveCommentThreadResponse;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedAt="",n.resolvedBy=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ResolveCommentThreadResponse"},s}(),r.CommentsV2AddCommentThreadResponse=function(){function s(t){if(this.comments=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.createdAt="",s.prototype.comments=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(18).string(t.createdAt),null!=t.comments&&t.comments.length)for(var s=0;s<t.comments.length;++s)r.CommentThreadAddedCommentDescriptor.encode(t.comments[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2AddCommentThreadResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.createdAt=e.string();break;case 3:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(r.CommentThreadAddedCommentDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt))return"createdAt: string expected";if(null!=t.comments&&t.hasOwnProperty("comments")){if(!Array.isArray(t.comments))return"comments: array expected";for(var e=0;e<t.comments.length;++e){var s=r.CommentThreadAddedCommentDescriptor.verify(t.comments[e]);if(s)return"comments."+s}}return null},s.fromObject=function(t){if(t instanceof r.CommentsV2AddCommentThreadResponse)return t;var e=new r.CommentsV2AddCommentThreadResponse;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),t.comments){if(!Array.isArray(t.comments))throw TypeError(".CommentsV2AddCommentThreadResponse.comments: array expected");e.comments=[];for(var n=0;n<t.comments.length;++n){if("object"!=typeof t.comments[n])throw TypeError(".CommentsV2AddCommentThreadResponse.comments: object expected");e.comments[n]=r.CommentThreadAddedCommentDescriptor.fromObject(t.comments[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.comments=[]),e.defaults&&(n.commentThreadId="",n.createdAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),t.comments&&t.comments.length){n.comments=[];for(var s=0;s<t.comments.length;++s)n.comments[s]=r.CommentThreadAddedCommentDescriptor.toObject(t.comments[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2AddCommentThreadResponse"},s}(),r.CommentsV2UpdateCommentMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.content="",s.prototype.documentId="",s.prototype.attributes="",s.prototype.isAttributesUpdated=!1,s.prototype.commentThread=null,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&n.uint32(18).string(t.commentId),null!=t.content&&Object.hasOwnProperty.call(t,"content")&&n.uint32(26).string(t.content),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(34).string(t.documentId),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(42).string(t.attributes),null!=t.isAttributesUpdated&&Object.hasOwnProperty.call(t,"isAttributesUpdated")&&n.uint32(48).bool(t.isAttributesUpdated),null!=t.commentThread&&Object.hasOwnProperty.call(t,"commentThread")&&r.CommentsThreadDescriptor.encode(t.commentThread,n.uint32(58).fork()).ldelim(),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2UpdateCommentMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.commentId=e.string();break;case 3:i.content=e.string();break;case 4:i.documentId=e.string();break;case 5:i.attributes=e.string();break;case 6:i.isAttributesUpdated=e.bool();break;case 7:i.commentThread=r.CommentsThreadDescriptor.decode(e,e.uint32());break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.commentId&&t.hasOwnProperty("commentId")&&!n.isString(t.commentId))return"commentId: string expected";if(null!=t.content&&t.hasOwnProperty("content")&&!n.isString(t.content))return"content: string expected";if(null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId))return"documentId: string expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes))return"attributes: string expected";if(null!=t.isAttributesUpdated&&t.hasOwnProperty("isAttributesUpdated")&&"boolean"!=typeof t.isAttributesUpdated)return"isAttributesUpdated: boolean expected";if(null!=t.commentThread&&t.hasOwnProperty("commentThread")){var e=r.CommentsThreadDescriptor.verify(t.commentThread);if(e)return"commentThread."+e}return null},s.fromObject=function(t){if(t instanceof r.CommentsV2UpdateCommentMessage)return t;var e=new r.CommentsV2UpdateCommentMessage;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.content&&(e.content=String(t.content)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.isAttributesUpdated&&(e.isAttributesUpdated=Boolean(t.isAttributesUpdated)),null!=t.commentThread){if("object"!=typeof t.commentThread)throw TypeError(".CommentsV2UpdateCommentMessage.commentThread: object expected");e.commentThread=r.CommentsThreadDescriptor.fromObject(t.commentThread)}return e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.commentId="",n.content="",n.documentId="",n.attributes="",n.isAttributesUpdated=!1,n.commentThread=null),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.content&&t.hasOwnProperty("content")&&(n.content=t.content),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.isAttributesUpdated&&t.hasOwnProperty("isAttributesUpdated")&&(n.isAttributesUpdated=t.isAttributesUpdated),null!=t.commentThread&&t.hasOwnProperty("commentThread")&&(n.commentThread=r.CommentsThreadDescriptor.toObject(t.commentThread,e)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2UpdateCommentMessage"},s}(),r.CommentsV2RemoveCommentThreadMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2RemoveCommentThreadMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.documentId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2RemoveCommentThreadMessage)return t;var e=new r.CommentsV2RemoveCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.documentId=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2RemoveCommentThreadMessage"},s}(),r.CommentsV2RemoveCommentMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&n.uint32(18).string(t.commentId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(26).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2RemoveCommentMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.commentId=e.string();break;case 3:i.documentId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.commentId&&t.hasOwnProperty("commentId")&&!n.isString(t.commentId)?"commentId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2RemoveCommentMessage)return t;var e=new r.CommentsV2RemoveCommentMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.commentId="",n.documentId=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2RemoveCommentMessage"},s}(),r.CommentsV2GetDocumentThreadsMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2GetDocumentThreadsMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.documentId=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2GetDocumentThreadsMessage)return t;var e=new r.CommentsV2GetDocumentThreadsMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2GetDocumentThreadsMessage"},s}(),r.CommentsV2GetCommentThreadMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2GetCommentThreadMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.documentId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2GetCommentThreadMessage)return t;var e=new r.CommentsV2GetCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.documentId=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2GetCommentThreadMessage"},s}(),r.CommentsV2ConnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2ConnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;a>>>3==1?i.documentId=e.string():e.skipType(7&a)}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2ConnectMessage)return t;var e=new r.CommentsV2ConnectMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ConnectMessage"},s}(),r.CommentsV2AddCommentMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.content="",s.prototype.documentId="",s.prototype.commentId="",s.prototype.createdAt="",s.prototype.userId="",s.prototype.attributes="",s.prototype.commentThread=null,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.content&&Object.hasOwnProperty.call(t,"content")&&n.uint32(18).string(t.content),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(26).string(t.documentId),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&n.uint32(34).string(t.commentId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(42).string(t.createdAt),null!=t.userId&&Object.hasOwnProperty.call(t,"userId")&&n.uint32(50).string(t.userId),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(58).string(t.attributes),null!=t.commentThread&&Object.hasOwnProperty.call(t,"commentThread")&&r.CommentsThreadDescriptor.encode(t.commentThread,n.uint32(66).fork()).ldelim(),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2AddCommentMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.content=e.string();break;case 3:i.documentId=e.string();break;case 4:i.commentId=e.string();break;case 5:i.createdAt=e.string();break;case 6:i.userId=e.string();break;case 7:i.attributes=e.string();break;case 8:i.commentThread=r.CommentsThreadDescriptor.decode(e,e.uint32());break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.content&&t.hasOwnProperty("content")&&!n.isString(t.content))return"content: string expected";if(null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId))return"documentId: string expected";if(null!=t.commentId&&t.hasOwnProperty("commentId")&&!n.isString(t.commentId))return"commentId: string expected";if(null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt))return"createdAt: string expected";if(null!=t.userId&&t.hasOwnProperty("userId")&&!n.isString(t.userId))return"userId: string expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes))return"attributes: string expected";if(null!=t.commentThread&&t.hasOwnProperty("commentThread")){var e=r.CommentsThreadDescriptor.verify(t.commentThread);if(e)return"commentThread."+e}return null},s.fromObject=function(t){if(t instanceof r.CommentsV2AddCommentMessage)return t;var e=new r.CommentsV2AddCommentMessage;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.content&&(e.content=String(t.content)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.userId&&(e.userId=String(t.userId)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.commentThread){if("object"!=typeof t.commentThread)throw TypeError(".CommentsV2AddCommentMessage.commentThread: object expected");e.commentThread=r.CommentsThreadDescriptor.fromObject(t.commentThread)}return e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.content="",n.documentId="",n.commentId="",n.createdAt="",n.userId="",n.attributes="",n.commentThread=null),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.content&&t.hasOwnProperty("content")&&(n.content=t.content),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.userId&&t.hasOwnProperty("userId")&&(n.userId=t.userId),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.commentThread&&t.hasOwnProperty("commentThread")&&(n.commentThread=r.CommentsThreadDescriptor.toObject(t.commentThread,e)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2AddCommentMessage"},s}(),r.CommentsV2UpdateCommentThreadMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.context="",s.prototype.attributes="",s.prototype.unlinkedAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),null!=t.context&&Object.hasOwnProperty.call(t,"context")&&n.uint32(26).string(t.context),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(34).string(t.attributes),null!=t.unlinkedAt&&Object.hasOwnProperty.call(t,"unlinkedAt")&&n.uint32(42).string(t.unlinkedAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2UpdateCommentThreadMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.documentId=e.string();break;case 3:i.context=e.string();break;case 4:i.attributes=e.string();break;case 5:i.unlinkedAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.context&&t.hasOwnProperty("context")&&!n.isString(t.context)?"context: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&!n.isString(t.unlinkedAt)?"unlinkedAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2UpdateCommentThreadMessage)return t;var e=new r.CommentsV2UpdateCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.context&&(e.context=String(t.context)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.unlinkedAt&&(e.unlinkedAt=String(t.unlinkedAt)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.documentId="",n.context="",n.attributes="",n.unlinkedAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.context&&t.hasOwnProperty("context")&&(n.context=t.context),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=t.unlinkedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2UpdateCommentThreadMessage"},s}(),r.CommentsV2ResolveCommentThreadMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.resolvedBy="",s.prototype.resolvedAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&n.uint32(26).string(t.resolvedBy),null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&n.uint32(34).string(t.resolvedAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2ResolveCommentThreadMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.documentId=e.string();break;case 3:i.resolvedBy=e.string();break;case 4:i.resolvedAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!n.isString(t.resolvedBy)?"resolvedBy: string expected":null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!n.isString(t.resolvedAt)?"resolvedAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2ResolveCommentThreadMessage)return t;var e=new r.CommentsV2ResolveCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedBy="",n.resolvedAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ResolveCommentThreadMessage"},s}(),r.CommentsV2ReopenCommentThreadMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(18).string(t.documentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2ReopenCommentThreadMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.documentId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsV2ReopenCommentThreadMessage)return t;var e=new r.CommentsV2ReopenCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentThreadId="",n.documentId=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ReopenCommentThreadMessage"},s}(),r.CommentsV2AddCommentThreadMessage=function(){function s(t){if(this.comments=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.prototype.commentThreadId="",s.prototype.context="",s.prototype.createdAt="",s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.attributes="",s.prototype.deletedAt="",s.prototype.comments=n.emptyArray,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(18).string(t.commentThreadId),null!=t.context&&Object.hasOwnProperty.call(t,"context")&&n.uint32(26).string(t.context),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(34).string(t.createdAt),null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&n.uint32(42).string(t.resolvedAt),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&n.uint32(50).string(t.resolvedBy),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(58).string(t.attributes),null!=t.deletedAt&&Object.hasOwnProperty.call(t,"deletedAt")&&n.uint32(66).string(t.deletedAt),null!=t.comments&&t.comments.length)for(var s=0;s<t.comments.length;++s)r.CommentDescriptor.encode(t.comments[s],n.uint32(74).fork()).ldelim();return n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsV2AddCommentThreadMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=e.string();break;case 2:i.commentThreadId=e.string();break;case 3:i.context=e.string();break;case 4:i.createdAt=e.string();break;case 5:i.resolvedAt=e.string();break;case 6:i.resolvedBy=e.string();break;case 7:i.attributes=e.string();break;case 8:i.deletedAt=e.string();break;case 9:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(r.CommentDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId))return"documentId: string expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.context&&t.hasOwnProperty("context")&&!n.isString(t.context))return"context: string expected";if(null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt))return"createdAt: string expected";if(null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!n.isString(t.resolvedAt))return"resolvedAt: string expected";if(null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!n.isString(t.resolvedBy))return"resolvedBy: string expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes))return"attributes: string expected";if(null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&!n.isString(t.deletedAt))return"deletedAt: string expected";if(null!=t.comments&&t.hasOwnProperty("comments")){if(!Array.isArray(t.comments))return"comments: array expected";for(var e=0;e<t.comments.length;++e){var s=r.CommentDescriptor.verify(t.comments[e]);if(s)return"comments."+s}}return null},s.fromObject=function(t){if(t instanceof r.CommentsV2AddCommentThreadMessage)return t;var e=new r.CommentsV2AddCommentThreadMessage;if(null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.context&&(e.context=String(t.context)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.deletedAt&&(e.deletedAt=String(t.deletedAt)),t.comments){if(!Array.isArray(t.comments))throw TypeError(".CommentsV2AddCommentThreadMessage.comments: array expected");e.comments=[];for(var n=0;n<t.comments.length;++n){if("object"!=typeof t.comments[n])throw TypeError(".CommentsV2AddCommentThreadMessage.comments: object expected");e.comments[n]=r.CommentDescriptor.fromObject(t.comments[n])}}return e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.comments=[]),e.defaults&&(n.documentId="",n.commentThreadId="",n.context="",n.createdAt="",n.resolvedAt="",n.resolvedBy="",n.attributes="",n.deletedAt=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.context&&t.hasOwnProperty("context")&&(n.context=t.context),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&(n.deletedAt=t.deletedAt),t.comments&&t.comments.length){n.comments=[];for(var s=0;s<t.comments.length;++s)n.comments[s]=r.CommentDescriptor.toObject(t.comments[s],e)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2AddCommentThreadMessage"},s}(),r.CommentThreadAddedCommentDescriptor=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentId="",s.prototype.createdAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&n.uint32(10).string(t.commentId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(18).string(t.createdAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentThreadAddedCommentDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentId=e.string();break;case 2:i.createdAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentId&&t.hasOwnProperty("commentId")&&!n.isString(t.commentId)?"commentId: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentThreadAddedCommentDescriptor)return t;var e=new r.CommentThreadAddedCommentDescriptor;return null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentId="",n.createdAt=""),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentThreadAddedCommentDescriptor"},s}(),r.CommentsThreadDescriptor=function(){function s(t){if(this.comments=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentThreadId="",s.prototype.comments=n.emptyArray,s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.context="",s.prototype.createdAt="",s.prototype.deletedAt="",s.prototype.attributes="",s.prototype.unlinkedAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(10).string(t.commentThreadId),null!=t.comments&&t.comments.length)for(var s=0;s<t.comments.length;++s)r.CommentDescriptor.encode(t.comments[s],n.uint32(18).fork()).ldelim();return null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&n.uint32(26).string(t.resolvedAt),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&n.uint32(34).string(t.resolvedBy),null!=t.context&&Object.hasOwnProperty.call(t,"context")&&n.uint32(42).string(t.context),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(50).string(t.createdAt),null!=t.deletedAt&&Object.hasOwnProperty.call(t,"deletedAt")&&n.uint32(58).string(t.deletedAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(66).string(t.attributes),null!=t.unlinkedAt&&Object.hasOwnProperty.call(t,"unlinkedAt")&&n.uint32(74).string(t.unlinkedAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentsThreadDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=e.string();break;case 2:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(r.CommentDescriptor.decode(e,e.uint32()));break;case 3:i.resolvedAt=e.string();break;case 4:i.resolvedBy=e.string();break;case 5:i.context=e.string();break;case 6:i.createdAt=e.string();break;case 7:i.deletedAt=e.string();break;case 8:i.attributes=e.string();break;case 9:i.unlinkedAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.comments&&t.hasOwnProperty("comments")){if(!Array.isArray(t.comments))return"comments: array expected";for(var e=0;e<t.comments.length;++e){var s=r.CommentDescriptor.verify(t.comments[e]);if(s)return"comments."+s}}return null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!n.isString(t.resolvedAt)?"resolvedAt: string expected":null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!n.isString(t.resolvedBy)?"resolvedBy: string expected":null!=t.context&&t.hasOwnProperty("context")&&!n.isString(t.context)?"context: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&!n.isString(t.deletedAt)?"deletedAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&!n.isString(t.unlinkedAt)?"unlinkedAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentsThreadDescriptor)return t;var e=new r.CommentsThreadDescriptor;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),t.comments){if(!Array.isArray(t.comments))throw TypeError(".CommentsThreadDescriptor.comments: array expected");e.comments=[];for(var n=0;n<t.comments.length;++n){if("object"!=typeof t.comments[n])throw TypeError(".CommentsThreadDescriptor.comments: object expected");e.comments[n]=r.CommentDescriptor.fromObject(t.comments[n])}}return null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),null!=t.context&&(e.context=String(t.context)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.deletedAt&&(e.deletedAt=String(t.deletedAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.unlinkedAt&&(e.unlinkedAt=String(t.unlinkedAt)),e},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.comments=[]),e.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes="",n.unlinkedAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),t.comments&&t.comments.length){n.comments=[];for(var s=0;s<t.comments.length;++s)n.comments[s]=r.CommentDescriptor.toObject(t.comments[s],e)}return null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),null!=t.context&&t.hasOwnProperty("context")&&(n.context=t.context),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&(n.deletedAt=t.deletedAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=t.unlinkedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsThreadDescriptor"},s}(),r.CommentDescriptor=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.commentId="",s.prototype.commentThreadId="",s.prototype.userId="",s.prototype.content="",s.prototype.documentId="",s.prototype.createdAt="",s.prototype.attributes="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&n.uint32(10).string(t.commentId),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&n.uint32(18).string(t.commentThreadId),null!=t.userId&&Object.hasOwnProperty.call(t,"userId")&&n.uint32(26).string(t.userId),null!=t.content&&Object.hasOwnProperty.call(t,"content")&&n.uint32(34).string(t.content),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(42).string(t.documentId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(50).string(t.createdAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&n.uint32(58).string(t.attributes),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CommentDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentId=e.string();break;case 2:i.commentThreadId=e.string();break;case 3:i.userId=e.string();break;case 4:i.content=e.string();break;case 5:i.documentId=e.string();break;case 6:i.createdAt=e.string();break;case 7:i.attributes=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentId&&t.hasOwnProperty("commentId")&&!n.isString(t.commentId)?"commentId: string expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!n.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.userId&&t.hasOwnProperty("userId")&&!n.isString(t.userId)?"userId: string expected":null!=t.content&&t.hasOwnProperty("content")&&!n.isString(t.content)?"content: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!n.isString(t.attributes)?"attributes: string expected":null},s.fromObject=function(t){if(t instanceof r.CommentDescriptor)return t;var e=new r.CommentDescriptor;return null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.userId&&(e.userId=String(t.userId)),null!=t.content&&(e.content=String(t.content)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.commentId="",n.commentThreadId="",n.userId="",n.content="",n.documentId="",n.createdAt="",n.attributes=""),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.userId&&t.hasOwnProperty("userId")&&(n.userId=t.userId),null!=t.content&&t.hasOwnProperty("content")&&(n.content=t.content),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentDescriptor"},s}(),r.GetDocumentDetailsResponse=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.lastDocumentSessionId="",s.prototype.lastDocumentSessionOperationId="",s.prototype.currentDocumentSessionId="",s.prototype.currentDocumentSessionVersion=0,s.prototype.currentDocumentSessionOperationId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.lastDocumentSessionId&&Object.hasOwnProperty.call(t,"lastDocumentSessionId")&&n.uint32(10).string(t.lastDocumentSessionId),null!=t.lastDocumentSessionOperationId&&Object.hasOwnProperty.call(t,"lastDocumentSessionOperationId")&&n.uint32(18).string(t.lastDocumentSessionOperationId),null!=t.currentDocumentSessionId&&Object.hasOwnProperty.call(t,"currentDocumentSessionId")&&n.uint32(26).string(t.currentDocumentSessionId),null!=t.currentDocumentSessionVersion&&Object.hasOwnProperty.call(t,"currentDocumentSessionVersion")&&n.uint32(32).uint32(t.currentDocumentSessionVersion),null!=t.currentDocumentSessionOperationId&&Object.hasOwnProperty.call(t,"currentDocumentSessionOperationId")&&n.uint32(42).string(t.currentDocumentSessionOperationId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.GetDocumentDetailsResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.lastDocumentSessionId=e.string();break;case 2:i.lastDocumentSessionOperationId=e.string();break;case 3:i.currentDocumentSessionId=e.string();break;case 4:i.currentDocumentSessionVersion=e.uint32();break;case 5:i.currentDocumentSessionOperationId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.lastDocumentSessionId&&t.hasOwnProperty("lastDocumentSessionId")&&!n.isString(t.lastDocumentSessionId)?"lastDocumentSessionId: string expected":null!=t.lastDocumentSessionOperationId&&t.hasOwnProperty("lastDocumentSessionOperationId")&&!n.isString(t.lastDocumentSessionOperationId)?"lastDocumentSessionOperationId: string expected":null!=t.currentDocumentSessionId&&t.hasOwnProperty("currentDocumentSessionId")&&!n.isString(t.currentDocumentSessionId)?"currentDocumentSessionId: string expected":null!=t.currentDocumentSessionVersion&&t.hasOwnProperty("currentDocumentSessionVersion")&&!n.isInteger(t.currentDocumentSessionVersion)?"currentDocumentSessionVersion: integer expected":null!=t.currentDocumentSessionOperationId&&t.hasOwnProperty("currentDocumentSessionOperationId")&&!n.isString(t.currentDocumentSessionOperationId)?"currentDocumentSessionOperationId: string expected":null},s.fromObject=function(t){if(t instanceof r.GetDocumentDetailsResponse)return t;var e=new r.GetDocumentDetailsResponse;return null!=t.lastDocumentSessionId&&(e.lastDocumentSessionId=String(t.lastDocumentSessionId)),null!=t.lastDocumentSessionOperationId&&(e.lastDocumentSessionOperationId=String(t.lastDocumentSessionOperationId)),null!=t.currentDocumentSessionId&&(e.currentDocumentSessionId=String(t.currentDocumentSessionId)),null!=t.currentDocumentSessionVersion&&(e.currentDocumentSessionVersion=t.currentDocumentSessionVersion>>>0),null!=t.currentDocumentSessionOperationId&&(e.currentDocumentSessionOperationId=String(t.currentDocumentSessionOperationId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.lastDocumentSessionId="",n.lastDocumentSessionOperationId="",n.currentDocumentSessionId="",n.currentDocumentSessionVersion=0,n.currentDocumentSessionOperationId=""),null!=t.lastDocumentSessionId&&t.hasOwnProperty("lastDocumentSessionId")&&(n.lastDocumentSessionId=t.lastDocumentSessionId),null!=t.lastDocumentSessionOperationId&&t.hasOwnProperty("lastDocumentSessionOperationId")&&(n.lastDocumentSessionOperationId=t.lastDocumentSessionOperationId),null!=t.currentDocumentSessionId&&t.hasOwnProperty("currentDocumentSessionId")&&(n.currentDocumentSessionId=t.currentDocumentSessionId),null!=t.currentDocumentSessionVersion&&t.hasOwnProperty("currentDocumentSessionVersion")&&(n.currentDocumentSessionVersion=t.currentDocumentSessionVersion),null!=t.currentDocumentSessionOperationId&&t.hasOwnProperty("currentDocumentSessionOperationId")&&(n.currentDocumentSessionOperationId=t.currentDocumentSessionOperationId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetDocumentDetailsResponse"},s}(),r.CollaborativeEditingResponse=function(){function s(t){if(this.buffers=[],this.types=[],this.metadata=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.version=0,s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.metadata=n.emptyArray,s.prototype.lastOperationId="",s.prototype.lastOperationAcceptedAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.version&&Object.hasOwnProperty.call(t,"version")&&n.uint32(8).uint32(t.version),null!=t.buffers&&t.buffers.length)for(var s=0;s<t.buffers.length;++s)n.uint32(18).bytes(t.buffers[s]);if(null!=t.types&&t.types.length){for(n.uint32(26).fork(),s=0;s<t.types.length;++s)n.uint32(t.types[s]);n.ldelim()}if(null!=t.metadata&&t.metadata.length)for(s=0;s<t.metadata.length;++s)r.OperationMetadataDescriptor.encode(t.metadata[s],n.uint32(42).fork()).ldelim();return null!=t.lastOperationId&&Object.hasOwnProperty.call(t,"lastOperationId")&&n.uint32(50).string(t.lastOperationId),null!=t.lastOperationAcceptedAt&&Object.hasOwnProperty.call(t,"lastOperationAcceptedAt")&&n.uint32(58).string(t.lastOperationAcceptedAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CollaborativeEditingResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.version=e.uint32();break;case 2:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(e.bytes());break;case 3:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=e.uint32()+e.pos;e.pos<c;)i.types.push(e.uint32());else i.types.push(e.uint32());break;case 5:i.metadata&&i.metadata.length||(i.metadata=[]),i.metadata.push(r.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 6:i.lastOperationId=e.string();break;case 7:i.lastOperationAcceptedAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.version&&t.hasOwnProperty("version")&&!n.isInteger(t.version))return"version: integer expected";if(null!=t.buffers&&t.hasOwnProperty("buffers")){if(!Array.isArray(t.buffers))return"buffers: array expected";for(var e=0;e<t.buffers.length;++e)if(!(t.buffers[e]&&"number"==typeof t.buffers[e].length||n.isString(t.buffers[e])))return"buffers: buffer[] expected"}if(null!=t.types&&t.hasOwnProperty("types")){if(!Array.isArray(t.types))return"types: array expected";for(e=0;e<t.types.length;++e)if(!n.isInteger(t.types[e]))return"types: integer[] expected"}if(null!=t.metadata&&t.hasOwnProperty("metadata")){if(!Array.isArray(t.metadata))return"metadata: array expected";for(e=0;e<t.metadata.length;++e){var s=r.OperationMetadataDescriptor.verify(t.metadata[e]);if(s)return"metadata."+s}}return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&!n.isString(t.lastOperationId)?"lastOperationId: string expected":null!=t.lastOperationAcceptedAt&&t.hasOwnProperty("lastOperationAcceptedAt")&&!n.isString(t.lastOperationAcceptedAt)?"lastOperationAcceptedAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CollaborativeEditingResponse)return t;var e=new r.CollaborativeEditingResponse;if(null!=t.version&&(e.version=t.version>>>0),t.buffers){if(!Array.isArray(t.buffers))throw TypeError(".CollaborativeEditingResponse.buffers: array expected");e.buffers=[];for(var s=0;s<t.buffers.length;++s)"string"==typeof t.buffers[s]?n.base64.decode(t.buffers[s],e.buffers[s]=n.newBuffer(n.base64.length(t.buffers[s])),0):t.buffers[s].length>=0&&(e.buffers[s]=t.buffers[s])}if(t.types){if(!Array.isArray(t.types))throw TypeError(".CollaborativeEditingResponse.types: array expected");for(e.types=[],s=0;s<t.types.length;++s)e.types[s]=t.types[s]>>>0}if(t.metadata){if(!Array.isArray(t.metadata))throw TypeError(".CollaborativeEditingResponse.metadata: array expected");for(e.metadata=[],s=0;s<t.metadata.length;++s){if("object"!=typeof t.metadata[s])throw TypeError(".CollaborativeEditingResponse.metadata: object expected");e.metadata[s]=r.OperationMetadataDescriptor.fromObject(t.metadata[s])}}return null!=t.lastOperationId&&(e.lastOperationId=String(t.lastOperationId)),null!=t.lastOperationAcceptedAt&&(e.lastOperationAcceptedAt=String(t.lastOperationAcceptedAt)),e},s.toObject=function(t,e){e||(e={});var s={};if((e.arrays||e.defaults)&&(s.buffers=[],s.types=[],s.metadata=[]),e.defaults&&(s.version=0,s.lastOperationId="",s.lastOperationAcceptedAt=""),null!=t.version&&t.hasOwnProperty("version")&&(s.version=t.version),t.buffers&&t.buffers.length){s.buffers=[];for(var o=0;o<t.buffers.length;++o)s.buffers[o]=e.bytes===String?n.base64.encode(t.buffers[o],0,t.buffers[o].length):e.bytes===Array?Array.prototype.slice.call(t.buffers[o]):t.buffers[o]}if(t.types&&t.types.length)for(s.types=[],o=0;o<t.types.length;++o)s.types[o]=t.types[o];if(t.metadata&&t.metadata.length)for(s.metadata=[],o=0;o<t.metadata.length;++o)s.metadata[o]=r.OperationMetadataDescriptor.toObject(t.metadata[o],e);return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&(s.lastOperationId=t.lastOperationId),null!=t.lastOperationAcceptedAt&&t.hasOwnProperty("lastOperationAcceptedAt")&&(s.lastOperationAcceptedAt=t.lastOperationAcceptedAt),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingResponse"},s}(),r.CollaborativeEditingConnectResponse=function(){function s(t){if(this.buffers=[],this.types=[],this.metadata=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.channel="",s.prototype.offset=0,s.prototype.version=0,s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.metadata=n.emptyArray,s.prototype.initData="",s.prototype.isInitialized=!1,s.prototype.sessionId="",s.prototype.lastOperationId="",s.prototype.sessionCreatedAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&n.uint32(10).string(t.channel),null!=t.offset&&Object.hasOwnProperty.call(t,"offset")&&n.uint32(16).uint32(t.offset),null!=t.version&&Object.hasOwnProperty.call(t,"version")&&n.uint32(24).uint32(t.version),null!=t.buffers&&t.buffers.length)for(var s=0;s<t.buffers.length;++s)n.uint32(34).bytes(t.buffers[s]);if(null!=t.types&&t.types.length){for(n.uint32(42).fork(),s=0;s<t.types.length;++s)n.uint32(t.types[s]);n.ldelim()}if(null!=t.metadata&&t.metadata.length)for(s=0;s<t.metadata.length;++s)r.OperationMetadataDescriptor.encode(t.metadata[s],n.uint32(58).fork()).ldelim();return null!=t.initData&&Object.hasOwnProperty.call(t,"initData")&&n.uint32(66).string(t.initData),null!=t.isInitialized&&Object.hasOwnProperty.call(t,"isInitialized")&&n.uint32(72).bool(t.isInitialized),null!=t.sessionId&&Object.hasOwnProperty.call(t,"sessionId")&&n.uint32(82).string(t.sessionId),null!=t.lastOperationId&&Object.hasOwnProperty.call(t,"lastOperationId")&&n.uint32(90).string(t.lastOperationId),null!=t.sessionCreatedAt&&Object.hasOwnProperty.call(t,"sessionCreatedAt")&&n.uint32(98).string(t.sessionCreatedAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CollaborativeEditingConnectResponse;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=e.string();break;case 2:i.offset=e.uint32();break;case 3:i.version=e.uint32();break;case 4:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(e.bytes());break;case 5:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=e.uint32()+e.pos;e.pos<c;)i.types.push(e.uint32());else i.types.push(e.uint32());break;case 7:i.metadata&&i.metadata.length||(i.metadata=[]),i.metadata.push(r.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 8:i.initData=e.string();break;case 9:i.isInitialized=e.bool();break;case 10:i.sessionId=e.string();break;case 11:i.lastOperationId=e.string();break;case 12:i.sessionCreatedAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!n.isString(t.channel))return"channel: string expected";if(null!=t.offset&&t.hasOwnProperty("offset")&&!n.isInteger(t.offset))return"offset: integer expected";if(null!=t.version&&t.hasOwnProperty("version")&&!n.isInteger(t.version))return"version: integer expected";if(null!=t.buffers&&t.hasOwnProperty("buffers")){if(!Array.isArray(t.buffers))return"buffers: array expected";for(var e=0;e<t.buffers.length;++e)if(!(t.buffers[e]&&"number"==typeof t.buffers[e].length||n.isString(t.buffers[e])))return"buffers: buffer[] expected"}if(null!=t.types&&t.hasOwnProperty("types")){if(!Array.isArray(t.types))return"types: array expected";for(e=0;e<t.types.length;++e)if(!n.isInteger(t.types[e]))return"types: integer[] expected"}if(null!=t.metadata&&t.hasOwnProperty("metadata")){if(!Array.isArray(t.metadata))return"metadata: array expected";for(e=0;e<t.metadata.length;++e){var s=r.OperationMetadataDescriptor.verify(t.metadata[e]);if(s)return"metadata."+s}}return null!=t.initData&&t.hasOwnProperty("initData")&&!n.isString(t.initData)?"initData: string expected":null!=t.isInitialized&&t.hasOwnProperty("isInitialized")&&"boolean"!=typeof t.isInitialized?"isInitialized: boolean expected":null!=t.sessionId&&t.hasOwnProperty("sessionId")&&!n.isString(t.sessionId)?"sessionId: string expected":null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&!n.isString(t.lastOperationId)?"lastOperationId: string expected":null!=t.sessionCreatedAt&&t.hasOwnProperty("sessionCreatedAt")&&!n.isString(t.sessionCreatedAt)?"sessionCreatedAt: string expected":null},s.fromObject=function(t){if(t instanceof r.CollaborativeEditingConnectResponse)return t;var e=new r.CollaborativeEditingConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),null!=t.offset&&(e.offset=t.offset>>>0),null!=t.version&&(e.version=t.version>>>0),t.buffers){if(!Array.isArray(t.buffers))throw TypeError(".CollaborativeEditingConnectResponse.buffers: array expected");e.buffers=[];for(var s=0;s<t.buffers.length;++s)"string"==typeof t.buffers[s]?n.base64.decode(t.buffers[s],e.buffers[s]=n.newBuffer(n.base64.length(t.buffers[s])),0):t.buffers[s].length>=0&&(e.buffers[s]=t.buffers[s])}if(t.types){if(!Array.isArray(t.types))throw TypeError(".CollaborativeEditingConnectResponse.types: array expected");for(e.types=[],s=0;s<t.types.length;++s)e.types[s]=t.types[s]>>>0}if(t.metadata){if(!Array.isArray(t.metadata))throw TypeError(".CollaborativeEditingConnectResponse.metadata: array expected");for(e.metadata=[],s=0;s<t.metadata.length;++s){if("object"!=typeof t.metadata[s])throw TypeError(".CollaborativeEditingConnectResponse.metadata: object expected");e.metadata[s]=r.OperationMetadataDescriptor.fromObject(t.metadata[s])}}return null!=t.initData&&(e.initData=String(t.initData)),null!=t.isInitialized&&(e.isInitialized=Boolean(t.isInitialized)),null!=t.sessionId&&(e.sessionId=String(t.sessionId)),null!=t.lastOperationId&&(e.lastOperationId=String(t.lastOperationId)),null!=t.sessionCreatedAt&&(e.sessionCreatedAt=String(t.sessionCreatedAt)),e},s.toObject=function(t,e){e||(e={});var s={};if((e.arrays||e.defaults)&&(s.buffers=[],s.types=[],s.metadata=[]),e.defaults&&(s.channel="",s.offset=0,s.version=0,s.initData="",s.isInitialized=!1,s.sessionId="",s.lastOperationId="",s.sessionCreatedAt=""),null!=t.channel&&t.hasOwnProperty("channel")&&(s.channel=t.channel),null!=t.offset&&t.hasOwnProperty("offset")&&(s.offset=t.offset),null!=t.version&&t.hasOwnProperty("version")&&(s.version=t.version),t.buffers&&t.buffers.length){s.buffers=[];for(var o=0;o<t.buffers.length;++o)s.buffers[o]=e.bytes===String?n.base64.encode(t.buffers[o],0,t.buffers[o].length):e.bytes===Array?Array.prototype.slice.call(t.buffers[o]):t.buffers[o]}if(t.types&&t.types.length)for(s.types=[],o=0;o<t.types.length;++o)s.types[o]=t.types[o];if(t.metadata&&t.metadata.length)for(s.metadata=[],o=0;o<t.metadata.length;++o)s.metadata[o]=r.OperationMetadataDescriptor.toObject(t.metadata[o],e);return null!=t.initData&&t.hasOwnProperty("initData")&&(s.initData=t.initData),null!=t.isInitialized&&t.hasOwnProperty("isInitialized")&&(s.isInitialized=t.isInitialized),null!=t.sessionId&&t.hasOwnProperty("sessionId")&&(s.sessionId=t.sessionId),null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&(s.lastOperationId=t.lastOperationId),null!=t.sessionCreatedAt&&t.hasOwnProperty("sessionCreatedAt")&&(s.sessionCreatedAt=t.sessionCreatedAt),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingConnectResponse"},s}(),r.GetDocumentDetailsMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.documentId="",s.prototype.environmentId="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&n.uint32(10).string(t.documentId),null!=t.environmentId&&Object.hasOwnProperty.call(t,"environmentId")&&n.uint32(18).string(t.environmentId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.GetDocumentDetailsMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=e.string();break;case 2:i.environmentId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!n.isString(t.documentId)?"documentId: string expected":null!=t.environmentId&&t.hasOwnProperty("environmentId")&&!n.isString(t.environmentId)?"environmentId: string expected":null},s.fromObject=function(t){if(t instanceof r.GetDocumentDetailsMessage)return t;var e=new r.GetDocumentDetailsMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.environmentId&&(e.environmentId=String(t.environmentId)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.documentId="",n.environmentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.environmentId&&t.hasOwnProperty("environmentId")&&(n.environmentId=t.environmentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetDocumentDetailsMessage"},s}(),r.CollaborativeEditingUpdateMessage=function(){function s(t){if(this.buffers=[],this.types=[],this.metadata=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.baseVersion=0,s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.metadata=n.emptyArray,s.prototype.lastOperationId="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.baseVersion&&Object.hasOwnProperty.call(t,"baseVersion")&&n.uint32(16).uint32(t.baseVersion),null!=t.buffers&&t.buffers.length)for(var s=0;s<t.buffers.length;++s)n.uint32(26).bytes(t.buffers[s]);if(null!=t.types&&t.types.length){for(n.uint32(34).fork(),s=0;s<t.types.length;++s)n.uint32(t.types[s]);n.ldelim()}if(null!=t.metadata&&t.metadata.length)for(s=0;s<t.metadata.length;++s)r.OperationMetadataDescriptor.encode(t.metadata[s],n.uint32(50).fork()).ldelim();return null!=t.lastOperationId&&Object.hasOwnProperty.call(t,"lastOperationId")&&n.uint32(58).string(t.lastOperationId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CollaborativeEditingUpdateMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.baseVersion=e.uint32();break;case 3:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(e.bytes());break;case 4:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=e.uint32()+e.pos;e.pos<c;)i.types.push(e.uint32());else i.types.push(e.uint32());break;case 6:i.metadata&&i.metadata.length||(i.metadata=[]),i.metadata.push(r.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 7:i.lastOperationId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id))return"id: string expected";if(null!=t.baseVersion&&t.hasOwnProperty("baseVersion")&&!n.isInteger(t.baseVersion))return"baseVersion: integer expected";if(null!=t.buffers&&t.hasOwnProperty("buffers")){if(!Array.isArray(t.buffers))return"buffers: array expected";for(var e=0;e<t.buffers.length;++e)if(!(t.buffers[e]&&"number"==typeof t.buffers[e].length||n.isString(t.buffers[e])))return"buffers: buffer[] expected"}if(null!=t.types&&t.hasOwnProperty("types")){if(!Array.isArray(t.types))return"types: array expected";for(e=0;e<t.types.length;++e)if(!n.isInteger(t.types[e]))return"types: integer[] expected"}if(null!=t.metadata&&t.hasOwnProperty("metadata")){if(!Array.isArray(t.metadata))return"metadata: array expected";for(e=0;e<t.metadata.length;++e){var s=r.OperationMetadataDescriptor.verify(t.metadata[e]);if(s)return"metadata."+s}}return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&!n.isString(t.lastOperationId)?"lastOperationId: string expected":null},s.fromObject=function(t){if(t instanceof r.CollaborativeEditingUpdateMessage)return t;var e=new r.CollaborativeEditingUpdateMessage;if(null!=t.id&&(e.id=String(t.id)),null!=t.baseVersion&&(e.baseVersion=t.baseVersion>>>0),t.buffers){if(!Array.isArray(t.buffers))throw TypeError(".CollaborativeEditingUpdateMessage.buffers: array expected");e.buffers=[];for(var s=0;s<t.buffers.length;++s)"string"==typeof t.buffers[s]?n.base64.decode(t.buffers[s],e.buffers[s]=n.newBuffer(n.base64.length(t.buffers[s])),0):t.buffers[s].length>=0&&(e.buffers[s]=t.buffers[s])}if(t.types){if(!Array.isArray(t.types))throw TypeError(".CollaborativeEditingUpdateMessage.types: array expected");for(e.types=[],s=0;s<t.types.length;++s)e.types[s]=t.types[s]>>>0}if(t.metadata){if(!Array.isArray(t.metadata))throw TypeError(".CollaborativeEditingUpdateMessage.metadata: array expected");for(e.metadata=[],s=0;s<t.metadata.length;++s){if("object"!=typeof t.metadata[s])throw TypeError(".CollaborativeEditingUpdateMessage.metadata: object expected");e.metadata[s]=r.OperationMetadataDescriptor.fromObject(t.metadata[s])}}return null!=t.lastOperationId&&(e.lastOperationId=String(t.lastOperationId)),e},s.toObject=function(t,e){e||(e={});var s={};if((e.arrays||e.defaults)&&(s.buffers=[],s.types=[],s.metadata=[]),e.defaults&&(s.id="",s.baseVersion=0,s.lastOperationId=""),null!=t.id&&t.hasOwnProperty("id")&&(s.id=t.id),null!=t.baseVersion&&t.hasOwnProperty("baseVersion")&&(s.baseVersion=t.baseVersion),t.buffers&&t.buffers.length){s.buffers=[];for(var o=0;o<t.buffers.length;++o)s.buffers[o]=e.bytes===String?n.base64.encode(t.buffers[o],0,t.buffers[o].length):e.bytes===Array?Array.prototype.slice.call(t.buffers[o]):t.buffers[o]}if(t.types&&t.types.length)for(s.types=[],o=0;o<t.types.length;++o)s.types[o]=t.types[o];if(t.metadata&&t.metadata.length)for(s.metadata=[],o=0;o<t.metadata.length;++o)s.metadata[o]=r.OperationMetadataDescriptor.toObject(t.metadata[o],e);return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&(s.lastOperationId=t.lastOperationId),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingUpdateMessage"},s}(),r.CollaborativeEditingReconnectMessage=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.bundleVersion="",s.prototype.lastKnowVersion=0,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.bundleVersion&&Object.hasOwnProperty.call(t,"bundleVersion")&&n.uint32(18).string(t.bundleVersion),null!=t.lastKnowVersion&&Object.hasOwnProperty.call(t,"lastKnowVersion")&&n.uint32(24).uint32(t.lastKnowVersion),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CollaborativeEditingReconnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.bundleVersion=e.string();break;case 3:i.lastKnowVersion=e.uint32();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id)?"id: string expected":null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&!n.isString(t.bundleVersion)?"bundleVersion: string expected":null!=t.lastKnowVersion&&t.hasOwnProperty("lastKnowVersion")&&!n.isInteger(t.lastKnowVersion)?"lastKnowVersion: integer expected":null},s.fromObject=function(t){if(t instanceof r.CollaborativeEditingReconnectMessage)return t;var e=new r.CollaborativeEditingReconnectMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.bundleVersion&&(e.bundleVersion=String(t.bundleVersion)),null!=t.lastKnowVersion&&(e.lastKnowVersion=t.lastKnowVersion>>>0),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.id="",n.bundleVersion="",n.lastKnowVersion=0),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&(n.bundleVersion=t.bundleVersion),null!=t.lastKnowVersion&&t.hasOwnProperty("lastKnowVersion")&&(n.lastKnowVersion=t.lastKnowVersion),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingReconnectMessage"},s}(),r.CollaborativeEditingConnectMessage=function(){function s(t){if(this.buffers=[],this.types=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.id="",s.prototype.bundleVersion="",s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.lastOperationId="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&n.uint32(10).string(t.id),null!=t.bundleVersion&&Object.hasOwnProperty.call(t,"bundleVersion")&&n.uint32(18).string(t.bundleVersion),null!=t.buffers&&t.buffers.length)for(var r=0;r<t.buffers.length;++r)n.uint32(26).bytes(t.buffers[r]);if(null!=t.types&&t.types.length){for(n.uint32(34).fork(),r=0;r<t.types.length;++r)n.uint32(t.types[r]);n.ldelim()}return null!=t.lastOperationId&&Object.hasOwnProperty.call(t,"lastOperationId")&&n.uint32(42).string(t.lastOperationId),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.CollaborativeEditingConnectMessage;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=e.string();break;case 2:i.bundleVersion=e.string();break;case 3:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(e.bytes());break;case 4:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=e.uint32()+e.pos;e.pos<c;)i.types.push(e.uint32());else i.types.push(e.uint32());break;case 5:i.lastOperationId=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.id&&t.hasOwnProperty("id")&&!n.isString(t.id))return"id: string expected";if(null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&!n.isString(t.bundleVersion))return"bundleVersion: string expected";if(null!=t.buffers&&t.hasOwnProperty("buffers")){if(!Array.isArray(t.buffers))return"buffers: array expected";for(var e=0;e<t.buffers.length;++e)if(!(t.buffers[e]&&"number"==typeof t.buffers[e].length||n.isString(t.buffers[e])))return"buffers: buffer[] expected"}if(null!=t.types&&t.hasOwnProperty("types")){if(!Array.isArray(t.types))return"types: array expected";for(e=0;e<t.types.length;++e)if(!n.isInteger(t.types[e]))return"types: integer[] expected"}return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&!n.isString(t.lastOperationId)?"lastOperationId: string expected":null},s.fromObject=function(t){if(t instanceof r.CollaborativeEditingConnectMessage)return t;var e=new r.CollaborativeEditingConnectMessage;if(null!=t.id&&(e.id=String(t.id)),null!=t.bundleVersion&&(e.bundleVersion=String(t.bundleVersion)),t.buffers){if(!Array.isArray(t.buffers))throw TypeError(".CollaborativeEditingConnectMessage.buffers: array expected");e.buffers=[];for(var s=0;s<t.buffers.length;++s)"string"==typeof t.buffers[s]?n.base64.decode(t.buffers[s],e.buffers[s]=n.newBuffer(n.base64.length(t.buffers[s])),0):t.buffers[s].length>=0&&(e.buffers[s]=t.buffers[s])}if(t.types){if(!Array.isArray(t.types))throw TypeError(".CollaborativeEditingConnectMessage.types: array expected");for(e.types=[],s=0;s<t.types.length;++s)e.types[s]=t.types[s]>>>0}return null!=t.lastOperationId&&(e.lastOperationId=String(t.lastOperationId)),e},s.toObject=function(t,e){e||(e={});var r={};if((e.arrays||e.defaults)&&(r.buffers=[],r.types=[]),e.defaults&&(r.id="",r.bundleVersion="",r.lastOperationId=""),null!=t.id&&t.hasOwnProperty("id")&&(r.id=t.id),null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&(r.bundleVersion=t.bundleVersion),t.buffers&&t.buffers.length){r.buffers=[];for(var s=0;s<t.buffers.length;++s)r.buffers[s]=e.bytes===String?n.base64.encode(t.buffers[s],0,t.buffers[s].length):e.bytes===Array?Array.prototype.slice.call(t.buffers[s]):t.buffers[s]}if(t.types&&t.types.length)for(r.types=[],s=0;s<t.types.length;++s)r.types[s]=t.types[s];return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&(r.lastOperationId=t.lastOperationId),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingConnectMessage"},s}(),r.OperationMetadataDescriptor=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return s.prototype.userId="",s.prototype.type="",s.prototype.createdAt="",s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.userId&&Object.hasOwnProperty.call(t,"userId")&&n.uint32(10).string(t.userId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&n.uint32(18).string(t.type),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&n.uint32(26).string(t.createdAt),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s){e instanceof t||(e=t.create(e));for(var o=void 0===n?e.len:e.pos+n,i=new r.OperationMetadataDescriptor;e.pos<o;){var a=e.uint32();if(a===s)break;switch(a>>>3){case 1:i.userId=e.string();break;case 2:i.type=e.string();break;case 3:i.createdAt=e.string();break;default:e.skipType(7&a)}}return i},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.userId&&t.hasOwnProperty("userId")&&!n.isString(t.userId)?"userId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!n.isString(t.type)?"type: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!n.isString(t.createdAt)?"createdAt: string expected":null},s.fromObject=function(t){if(t instanceof r.OperationMetadataDescriptor)return t;var e=new r.OperationMetadataDescriptor;return null!=t.userId&&(e.userId=String(t.userId)),null!=t.type&&(e.type=String(t.type)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),e},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.userId="",n.type="",n.createdAt=""),null!=t.userId&&t.hasOwnProperty("userId")&&(n.userId=t.userId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/OperationMetadataDescriptor"},s}(),r})();class p{static decode(t,e){const n=f(e).decode("undefined"==typeof window?t:new Uint8Array(t));return e.fromJSON({...n})}static encode(t){const e=f(t.constructor),n=t.toJSON(),r=e.verify(n);if(r)throw Error(r);return e.encode(e.create(n)).finish()}}function f(t){return h[t.DESCRIPTOR_NAME]}class m extends c{ids;static TYPE="22";static READABLE_TYPE_NAME="getManyUsers";static DESCRIPTOR_NAME="GetManyUsersMessage";static DESCRIPTOR={fields:{ids:{id:1,type:"string",rule:"repeated"}}};constructor(t){super(),this.ids=t}toJSON(){return{ids:this.ids}}static fromJSON(t){return new m(t.ids)}}class g extends c{users;static DESCRIPTOR_NAME="GetManyUsersResponse";static DESCRIPTOR={fields:{users:{rule:"repeated",type:"UserDescriptor",id:1}}};constructor(t){super(),this.users=t}toJSON(){return{users:this.users.map(y)}}static fromJSON(t){return new g(t.users.map(b))}}function y(t){return{attributes:Object.keys(t).map(e=>({key:e,value:JSON.stringify(t[e])}))}}function b(t){return t.attributes.reduce((t,e)=>(t[e.key]=e.value?JSON.parse(e.value):null,t),{})}class O{static _SERVICE=2;constructor(t={}){this._attributes=new Map;for(const e of Object.keys(t))"id"!==e?(this._attributes.set(e,t[e]),Object.defineProperty(this,e,{enumerable:!0,configurable:!1,get:()=>this._attributes.get(e)})):this.id=t.id}static fromData(t){return new O(t)}static async get(t,e){const n=new d(e);try{const e=await t._sendRequest(O._SERVICE,d.TYPE,p.encode(n)),r=p.decode(e,u);return new O(r.attributes)}catch(t){return new O({id:e})}}static async getMany(t,e){const n=new m(e);try{const e=await t._sendRequest(O._SERVICE,m.TYPE,p.encode(n));return p.decode(e,g).users.map(t=>new O(t))}catch(t){return e.map(t=>new O({id:t}))}}}const w=O,v=Object.create(null);v.open="0",v.close="1",v.ping="2",v.pong="3",v.message="4",v.upgrade="5",v.noop="6";const I=Object.create(null);Object.keys(v).forEach(t=>{I[v[t]]=t});const S={type:"error",data:"parser error"},k="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),P="function"==typeof ArrayBuffer,A=t=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer,T=({type:t,data:e},n,r)=>k&&e instanceof Blob?n?r(e):_(e,r):P&&(e instanceof ArrayBuffer||A(e))?n?r(e):_(new Blob([e]),r):r(v[t]+(e||"")),_=(t,e)=>{const n=new FileReader;return n.onload=function(){const t=n.result.split(",")[1];e("b"+(t||""))},n.readAsDataURL(t)};function C(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}let E;const j="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",x="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let t=0;t<64;t++)x[j.charCodeAt(t)]=t;const D="function"==typeof ArrayBuffer,R=(t,e)=>{if("string"!=typeof t)return{type:"message",data:V(t,e)};const n=t.charAt(0);if("b"===n)return{type:"message",data:N(t.substring(1),e)};return I[n]?t.length>1?{type:I[n],data:t.substring(1)}:{type:I[n]}:S},N=(t,e)=>{if(D){const n=(t=>{let e,n,r,s,o,i=.75*t.length,a=t.length,c=0;"="===t[t.length-1]&&(i--,"="===t[t.length-2]&&i--);const d=new ArrayBuffer(i),u=new Uint8Array(d);for(e=0;e<a;e+=4)n=x[t.charCodeAt(e)],r=x[t.charCodeAt(e+1)],s=x[t.charCodeAt(e+2)],o=x[t.charCodeAt(e+3)],u[c++]=n<<2|r>>4,u[c++]=(15&r)<<4|s>>2,u[c++]=(3&s)<<6|63&o;return d})(t);return V(n,e)}return{base64:!0,data:t}},V=(t,e)=>"blob"===e?t instanceof Blob?t:new Blob([t]):t instanceof ArrayBuffer?t:t.buffer,M=String.fromCharCode(30);function B(){return new TransformStream({transform(t,e){!function(t,e){k&&t.data instanceof Blob?t.data.arrayBuffer().then(C).then(e):P&&(t.data instanceof ArrayBuffer||A(t.data))?e(C(t.data)):T(t,!1,t=>{E||(E=new TextEncoder),e(E.encode(t))})}(t,n=>{const r=n.length;let s;if(r<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,r);else if(r<65536){s=new Uint8Array(3);const t=new DataView(s.buffer);t.setUint8(0,126),t.setUint16(1,r)}else{s=new Uint8Array(9);const t=new DataView(s.buffer);t.setUint8(0,127),t.setBigUint64(1,BigInt(r))}t.data&&"string"!=typeof t.data&&(s[0]|=128),e.enqueue(s),e.enqueue(n)})}})}let U;function J(t){return t.reduce((t,e)=>t+e.length,0)}function q(t,e){if(t[0].length===e)return t.shift();const n=new Uint8Array(e);let r=0;for(let s=0;s<e;s++)n[s]=t[0][r++],r===t[0].length&&(t.shift(),r=0);return t.length&&r<t[0].length&&(t[0]=t[0].slice(r)),n}function L(t){if(t)return function(t){for(var e in L.prototype)t[e]=L.prototype[e];return t}(t)}L.prototype.on=L.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},L.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},L.prototype.off=L.prototype.removeListener=L.prototype.removeAllListeners=L.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+t];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var s=0;s<r.length;s++)if((n=r[s])===e||n.fn===e){r.splice(s,1);break}return 0===r.length&&delete this._callbacks["$"+t],this},L.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),n=this._callbacks["$"+t],r=1;r<arguments.length;r++)e[r-1]=arguments[r];if(n){r=0;for(var s=(n=n.slice(0)).length;r<s;++r)n[r].apply(this,e)}return this},L.prototype.emitReserved=L.prototype.emit,L.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},L.prototype.hasListeners=function(t){return!!this.listeners(t).length};const G="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function Y(t,...e){return e.reduce((e,n)=>(t.hasOwnProperty(n)&&(e[n]=t[n]),e),{})}const H=G.setTimeout,z=G.clearTimeout;function F(t,e){e.useNativeTimers?(t.setTimeoutFn=H.bind(G),t.clearTimeoutFn=z.bind(G)):(t.setTimeoutFn=G.setTimeout.bind(G),t.clearTimeoutFn=G.clearTimeout.bind(G))}function K(t){return"string"==typeof t?function(t){let e=0,n=0;for(let r=0,s=t.length;r<s;r++)e=t.charCodeAt(r),e<128?n+=1:e<2048?n+=2:e<55296||e>=57344?n+=3:(r++,n+=4);return n}(t):Math.ceil(1.33*(t.byteLength||t.size))}class W extends Error{constructor(t,e,n){super(t),this.description=e,this.context=n,this.type="TransportError"}}class Z extends L{constructor(t){super(),this.writable=!1,F(this,t),this.opts=t,this.query=t.query,this.socket=t.socket}onError(t,e,n){return super.emitReserved("error",new W(t,e,n)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(t){"open"===this.readyState&&this.write(t)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(t){const e=R(t,this.socket.binaryType);this.onPacket(e)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}pause(t){}createUri(t,e={}){return t+"://"+this._hostname()+this._port()+this.opts.path+this._query(e)}_hostname(){const t=this.opts.hostname;return-1===t.indexOf(":")?t:"["+t+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(t){const e=function(t){let e="";for(let n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e}(t);return e.length?"?"+e:""}}const Q="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),$={};let X,tt=0,et=0;function nt(t){let e="";do{e=Q[t%64]+e,t=Math.floor(t/64)}while(t>0);return e}function rt(){const t=nt(+new Date);return t!==X?(tt=0,X=t):t+"."+nt(tt++)}for(;et<64;et++)$[Q[et]]=et;let st=!1;try{st="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(t){}const ot=st;function it(t){const e=t.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!e||ot))return new XMLHttpRequest}catch(t){}if(!e)try{return new(G[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(t){}}function at(){}const ct=null!=new it({xdomain:!1}).responseType;class dt extends L{constructor(t,e){super(),F(this,e),this.opts=e,this.method=e.method||"GET",this.uri=t,this.data=void 0!==e.data?e.data:null,this.create()}create(){var t;const e=Y(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd;const n=this.xhr=new it(e);try{n.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let t in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(t)&&n.setRequestHeader(t,this.opts.extraHeaders[t])}}catch(t){}if("POST"===this.method)try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{n.setRequestHeader("Accept","*/*")}catch(t){}null===(t=this.opts.cookieJar)||void 0===t||t.addCookies(n),"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=()=>{var t;3===n.readyState&&(null===(t=this.opts.cookieJar)||void 0===t||t.parseCookies(n)),4===n.readyState&&(200===n.status||1223===n.status?this.onLoad():this.setTimeoutFn(()=>{this.onError("number"==typeof n.status?n.status:0)},0))},n.send(this.data)}catch(t){return void this.setTimeoutFn(()=>{this.onError(t)},0)}"undefined"!=typeof document&&(this.index=dt.requestsCount++,dt.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=at,t)try{this.xhr.abort()}catch(t){}"undefined"!=typeof document&&delete dt.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(dt.requestsCount=0,dt.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",ut);else if("function"==typeof addEventListener){addEventListener("onpagehide"in G?"pagehide":"unload",ut,!1)}function ut(){for(let t in dt.requests)dt.requests.hasOwnProperty(t)&&dt.requests[t].abort()}const lt="function"==typeof Promise&&"function"==typeof Promise.resolve?t=>Promise.resolve().then(t):(t,e)=>e(t,0),ht=G.WebSocket||G.MozWebSocket,pt="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();const ft={websocket:class extends Z{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),e=this.opts.protocols,n=pt?{}:Y(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=pt?new ht(t,e,n):e?new ht(t,e):new ht(t)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let e=0;e<t.length;e++){const n=t[e],r=e===t.length-1;T(n,this.supportsBinary,t=>{try{this.ws.send(t)}catch(t){}r&&lt(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",e=this.query||{};return this.opts.timestampRequests&&(e[this.opts.timestampParam]=rt()),this.supportsBinary||(e.b64=1),this.createUri(t,e)}check(){return!!ht}},webtransport:class extends Z{get name(){return"webtransport"}doOpen(){"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{const e=function(t,e){U||(U=new TextDecoder);const n=[];let r=0,s=-1,o=!1;return new TransformStream({transform(i,a){for(n.push(i);;){if(0===r){if(J(n)<1)break;const t=q(n,1);o=!(128&~t[0]),s=127&t[0],r=s<126?3:126===s?1:2}else if(1===r){if(J(n)<2)break;const t=q(n,2);s=new DataView(t.buffer,t.byteOffset,t.length).getUint16(0),r=3}else if(2===r){if(J(n)<8)break;const t=q(n,8),e=new DataView(t.buffer,t.byteOffset,t.length),o=e.getUint32(0);if(o>Math.pow(2,21)-1){a.enqueue(S);break}s=o*Math.pow(2,32)+e.getUint32(4),r=3}else{if(J(n)<s)break;const t=q(n,s);a.enqueue(R(o?t:U.decode(t),e)),r=0}if(0===s||s>t){a.enqueue(S);break}}}})}(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=t.readable.pipeThrough(e).getReader(),r=B();r.readable.pipeTo(t.writable),this.writer=r.writable.getWriter();const s=()=>{n.read().then(({done:t,value:e})=>{t||(this.onPacket(e),s())}).catch(t=>{})};s();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this.writer.write(o).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let e=0;e<t.length;e++){const n=t[e],r=e===t.length-1;this.writer.write(n).then(()=>{r&&lt(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var t;null===(t=this.transport)||void 0===t||t.close()}},polling:class extends Z{constructor(t){if(super(t),this.polling=!1,"undefined"!=typeof location){const e="https:"===location.protocol;let n=location.port;n||(n=e?"443":"80"),this.xd="undefined"!=typeof location&&t.hostname!==location.hostname||n!==t.port}const e=t&&t.forceBase64;this.supportsBinary=ct&&!e,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(t){this.readyState="pausing";const e=()=>{this.readyState="paused",t()};if(this.polling||!this.writable){let t=0;this.polling&&(t++,this.once("pollComplete",function(){--t||e()})),this.writable||(t++,this.once("drain",function(){--t||e()}))}else e()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){((t,e)=>{const n=t.split(M),r=[];for(let t=0;t<n.length;t++){const s=R(n[t],e);if(r.push(s),"error"===s.type)break}return r})(t,this.socket.binaryType).forEach(t=>{if("opening"===this.readyState&&"open"===t.type&&this.onOpen(),"close"===t.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(t)}),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};"open"===this.readyState?t():this.once("open",t)}write(t){this.writable=!1,((t,e)=>{const n=t.length,r=new Array(n);let s=0;t.forEach((t,o)=>{T(t,!1,t=>{r[o]=t,++s===n&&e(r.join(M))})})})(t,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",e=this.query||{};return!1!==this.opts.timestampRequests&&(e[this.opts.timestampParam]=rt()),this.supportsBinary||e.sid||(e.b64=1),this.createUri(t,e)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new dt(this.uri(),t)}doWrite(t,e){const n=this.request({method:"POST",data:t});n.on("success",e),n.on("error",(t,e)=>{this.onError("xhr post error",t,e)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(t,e)=>{this.onError("xhr poll error",t,e)}),this.pollXhr=t}}},mt=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,gt=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function yt(t){if(t.length>2e3)throw"URI too long";const e=t,n=t.indexOf("["),r=t.indexOf("]");-1!=n&&-1!=r&&(t=t.substring(0,n)+t.substring(n,r).replace(/:/g,";")+t.substring(r,t.length));let s=mt.exec(t||""),o={},i=14;for(;i--;)o[gt[i]]=s[i]||"";return-1!=n&&-1!=r&&(o.source=e,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=function(t,e){const n=/\/{2,9}/g,r=e.replace(n,"/").split("/");"/"!=e.slice(0,1)&&0!==e.length||r.splice(0,1);"/"==e.slice(-1)&&r.splice(r.length-1,1);return r}(0,o.path),o.queryKey=function(t,e){const n={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(t,e,r){e&&(n[e]=r)}),n}(0,o.query),o}class bt extends L{constructor(t,e={}){super(),this.binaryType="arraybuffer",this.writeBuffer=[],t&&"object"==typeof t&&(e=t,t=null),t?(t=yt(t),e.hostname=t.host,e.secure="https"===t.protocol||"wss"===t.protocol,e.port=t.port,t.query&&(e.query=t.query)):e.host&&(e.hostname=yt(e.host).host),F(this,e),this.secure=null!=e.secure?e.secure:"undefined"!=typeof location&&"https:"===location.protocol,e.hostname&&!e.port&&(e.port=this.secure?"443":"80"),this.hostname=e.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=e.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=e.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},e),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=function(t){let e={},n=t.split("&");for(let t=0,r=n.length;t<r;t++){let r=n[t].split("=");e[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return e}(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"==typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const e=Object.assign({},this.opts.query);e.EIO=4,e.transport=t,this.id&&(e.sid=this.id);const n=Object.assign({},this.opts,{query:e,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new ft[t](n)}open(){let t;if(this.opts.rememberUpgrade&&bt.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",t=>this.onClose("transport close",t))}probe(t){let e=this.createTransport(t),n=!1;bt.priorWebsocketSuccess=!1;const r=()=>{n||(e.send([{type:"ping",data:"probe"}]),e.once("packet",t=>{if(!n)if("pong"===t.type&&"probe"===t.data){if(this.upgrading=!0,this.emitReserved("upgrading",e),!e)return;bt.priorWebsocketSuccess="websocket"===e.name,this.transport.pause(()=>{n||"closed"!==this.readyState&&(d(),this.setTransport(e),e.send([{type:"upgrade"}]),this.emitReserved("upgrade",e),e=null,this.upgrading=!1,this.flush())})}else{const t=new Error("probe error");t.transport=e.name,this.emitReserved("upgradeError",t)}}))};function s(){n||(n=!0,d(),e.close(),e=null)}const o=t=>{const n=new Error("probe error: "+t);n.transport=e.name,s(),this.emitReserved("upgradeError",n)};function i(){o("transport closed")}function a(){o("socket closed")}function c(t){e&&t.name!==e.name&&s()}const d=()=>{e.removeListener("open",r),e.removeListener("error",o),e.removeListener("close",i),this.off("close",a),this.off("upgrading",c)};e.once("open",r),e.once("error",o),e.once("close",i),this.once("close",a),this.once("upgrading",c),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==t?this.setTimeoutFn(()=>{n||e.open()},200):e.open()}onOpen(){if(this.readyState="open",bt.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let t=0;const e=this.upgrades.length;for(;t<e;t++)this.probe(this.upgrades[t])}}onPacket(t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),this.resetPingTimeout(),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const e=new Error("server error");e.code=t.data,this.onError(e);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data)}}onHandshake(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this.upgrades=this.filterUpgrades(t.upgrades),this.pingInterval=t.pingInterval,this.pingTimeout=t.pingTimeout,this.maxPayload=t.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn(()=>{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let e=0;e<this.writeBuffer.length;e++){const n=this.writeBuffer[e].data;if(n&&(t+=K(n)),e>0&&t>this.maxPayload)return this.writeBuffer.slice(0,e);t+=2}return this.writeBuffer}write(t,e,n){return this.sendPacket("message",t,e,n),this}send(t,e,n){return this.sendPacket("message",t,e,n),this}sendPacket(t,e,n,r){if("function"==typeof e&&(r=e,e=void 0),"function"==typeof n&&(r=n,n=null),"closing"===this.readyState||"closed"===this.readyState)return;(n=n||{}).compress=!1!==n.compress;const s={type:t,data:e,options:n};this.emitReserved("packetCreate",s),this.writeBuffer.push(s),r&&this.once("flush",r),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},e=()=>{this.off("upgrade",e),this.off("upgradeError",e),t()},n=()=>{this.once("upgrade",e),this.once("upgradeError",e)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?n():t()}):this.upgrading?n():t()),this}onError(t){bt.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,e),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const e=[];let n=0;const r=t.length;for(;n<r;n++)~this.transports.indexOf(t[n])&&e.push(t[n]);return e}}bt.protocol=4;bt.protocol;const Ot="function"==typeof ArrayBuffer,wt=Object.prototype.toString,vt="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===wt.call(Blob),It="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===wt.call(File);function St(t){return Ot&&(t instanceof ArrayBuffer||(t=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer)(t))||vt&&t instanceof Blob||It&&t instanceof File}function kt(t,e){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(let e=0,n=t.length;e<n;e++)if(kt(t[e]))return!0;return!1}if(St(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return kt(t.toJSON(),!0);for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&kt(t[e]))return!0;return!1}function Pt(t){const e=[],n=t.data,r=t;return r.data=At(n,e),r.attachments=e.length,{packet:r,buffers:e}}function At(t,e){if(!t)return t;if(St(t)){const n={_placeholder:!0,num:e.length};return e.push(t),n}if(Array.isArray(t)){const n=new Array(t.length);for(let r=0;r<t.length;r++)n[r]=At(t[r],e);return n}if("object"==typeof t&&!(t instanceof Date)){const n={};for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=At(t[r],e));return n}return t}function Tt(t,e){return t.data=_t(t.data,e),delete t.attachments,t}function _t(t,e){if(!t)return t;if(t&&!0===t._placeholder){if("number"==typeof t.num&&t.num>=0&&t.num<e.length)return e[t.num];throw new Error("illegal attachments")}if(Array.isArray(t))for(let n=0;n<t.length;n++)t[n]=_t(t[n],e);else if("object"==typeof t)for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(t[n]=_t(t[n],e));return t}const Ct=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],Et=5;var jt;!function(t){t[t.CONNECT=0]="CONNECT",t[t.DISCONNECT=1]="DISCONNECT",t[t.EVENT=2]="EVENT",t[t.ACK=3]="ACK",t[t.CONNECT_ERROR=4]="CONNECT_ERROR",t[t.BINARY_EVENT=5]="BINARY_EVENT",t[t.BINARY_ACK=6]="BINARY_ACK"}(jt||(jt={}));class xt{constructor(t){this.replacer=t}encode(t){return t.type!==jt.EVENT&&t.type!==jt.ACK||!kt(t)?[this.encodeAsString(t)]:this.encodeAsBinary({type:t.type===jt.EVENT?jt.BINARY_EVENT:jt.BINARY_ACK,nsp:t.nsp,data:t.data,id:t.id})}encodeAsString(t){let e=""+t.type;return t.type!==jt.BINARY_EVENT&&t.type!==jt.BINARY_ACK||(e+=t.attachments+"-"),t.nsp&&"/"!==t.nsp&&(e+=t.nsp+","),null!=t.id&&(e+=t.id),null!=t.data&&(e+=JSON.stringify(t.data,this.replacer)),e}encodeAsBinary(t){const e=Pt(t),n=this.encodeAsString(e.packet),r=e.buffers;return r.unshift(n),r}}class Dt extends L{constructor(t){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},"function"==typeof t?{reviver:t}:t)}add(t){let e;if("string"==typeof t){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");e=this.decodeString(t);const n=e.type===jt.BINARY_EVENT;n||e.type===jt.BINARY_ACK?(e.type=n?jt.EVENT:jt.ACK,this.reconstructor=new Rt(e),0===e.attachments&&super.emitReserved("decoded",e)):super.emitReserved("decoded",e)}else{if(!St(t)&&!t.base64)throw new Error("Unknown type: "+t);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");e=this.reconstructor.takeBinaryData(t),e&&(this.reconstructor=null,super.emitReserved("decoded",e))}}decodeString(t){let e=0;const n={type:Number(t.charAt(0))};if(void 0===jt[n.type])throw new Error("unknown packet type "+n.type);if(n.type===jt.BINARY_EVENT||n.type===jt.BINARY_ACK){const r=e+1;for(;"-"!==t.charAt(++e)&&e!=t.length;);const s=t.substring(r,e);if(s!=Number(s)||"-"!==t.charAt(e))throw new Error("Illegal attachments");const o=Number(s);if(!Nt(o)||o<0)throw new Error("Illegal attachments");if(o>this.opts.maxAttachments)throw new Error("too many attachments");n.attachments=o}if("/"===t.charAt(e+1)){const r=e+1;for(;++e;){if(","===t.charAt(e))break;if(e===t.length)break}n.nsp=t.substring(r,e)}else n.nsp="/";const r=t.charAt(e+1);if(""!==r&&Number(r)==r){const r=e+1;for(;++e;){const n=t.charAt(e);if(null==n||Number(n)!=n){--e;break}if(e===t.length)break}n.id=Number(t.substring(r,e+1))}if(t.charAt(++e)){const r=this.tryParse(t.substr(e));if(!Dt.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return n}tryParse(t){try{return JSON.parse(t,this.opts.reviver)}catch(t){return!1}}static isPayloadValid(t,e){switch(t){case jt.CONNECT:return Vt(e);case jt.DISCONNECT:return void 0===e;case jt.CONNECT_ERROR:return"string"==typeof e||Vt(e);case jt.EVENT:case jt.BINARY_EVENT:return Array.isArray(e)&&("number"==typeof e[0]||"string"==typeof e[0]&&-1===Ct.indexOf(e[0]));case jt.ACK:case jt.BINARY_ACK:return Array.isArray(e)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class Rt{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){const t=Tt(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const Nt=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t};function Vt(t){return"[object Object]"===Object.prototype.toString.call(t)}function Mt(t){return"string"==typeof t.nsp&&(void 0===(e=t.id)||Nt(e))&&function(t,e){switch(t){case jt.CONNECT:return void 0===e||Vt(e);case jt.DISCONNECT:return void 0===e;case jt.EVENT:return Array.isArray(e)&&("number"==typeof e[0]||"string"==typeof e[0]&&-1===Ct.indexOf(e[0]));case jt.ACK:return Array.isArray(e);case jt.CONNECT_ERROR:return"string"==typeof e||Vt(e);default:return!1}}(t.type,t.data);var e}function Bt(t,e,n){return t.on(e,n),function(){t.off(e,n)}}const Ut=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Jt extends L{constructor(t,e,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=e,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[Bt(t,"open",this.onopen.bind(this)),Bt(t,"packet",this.onpacket.bind(this)),Bt(t,"error",this.onerror.bind(this)),Bt(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(t,...e){if(Ut.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');if(e.unshift(t),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(e),this;const n={type:jt.EVENT,data:e,options:{}};if(n.options.compress=!1!==this.flags.compress,"function"==typeof e[e.length-1]){const t=this.ids++,r=e.pop();this._registerAckCallback(t,r),n.id=t}const r=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!r||!this.connected)||(this.connected?(this.notifyOutgoingListeners(n),this.packet(n)):this.sendBuffer.push(n)),this.flags={},this}_registerAckCallback(t,e){var n;const r=null!==(n=this.flags.timeout)&&void 0!==n?n:this._opts.ackTimeout;if(void 0===r)return void(this.acks[t]=e);const s=this.io.setTimeoutFn(()=>{delete this.acks[t];for(let e=0;e<this.sendBuffer.length;e++)this.sendBuffer[e].id===t&&this.sendBuffer.splice(e,1);e.call(this,new Error("operation has timed out"))},r);this.acks[t]=(...t)=>{this.io.clearTimeoutFn(s),e.apply(this,[null,...t])}}emitWithAck(t,...e){const n=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise((r,s)=>{e.push((t,e)=>n?t?s(t):r(e):r(t)),this.emit(t,...e)})}_addToQueue(t){let e;"function"==typeof t[t.length-1]&&(e=t.pop());const n={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((t,...r)=>{if(n!==this._queue[0])return;return null!==t?n.tryCount>this._opts.retries&&(this._queue.shift(),e&&e(t)):(this._queue.shift(),e&&e(null,...r)),n.pending=!1,this._drainQueue()}),this._queue.push(n),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||0===this._queue.length)return;const e=this._queue[0];e.pending&&!t||(e.pending=!0,e.tryCount++,this.flags=e.flags,this.emit.apply(this,e.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){"function"==typeof this.auth?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:jt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,e){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,e)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case jt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case jt.EVENT:case jt.BINARY_EVENT:this.onevent(t);break;case jt.ACK:case jt.BINARY_ACK:this.onack(t);break;case jt.DISCONNECT:this.ondisconnect();break;case jt.CONNECT_ERROR:this.destroy();const e=new Error(t.data.message);e.data=t.data.data,this.emitReserved("connect_error",e)}}onevent(t){const e=t.data||[];null!=t.id&&e.push(this.ack(t.id)),this.connected?this.emitEvent(e):this.receiveBuffer.push(Object.freeze(e))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e=this._anyListeners.slice();for(const n of e)n.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&"string"==typeof t[t.length-1]&&(this._lastOffset=t[t.length-1])}ack(t){const e=this;let n=!1;return function(...r){n||(n=!0,e.packet({type:jt.ACK,id:t,data:r}))}}onack(t){const e=this.acks[t.id];"function"==typeof e&&(e.apply(this,t.data),delete this.acks[t.id])}onconnect(t,e){this.id=t,this.recovered=e&&this._pid===e,this._pid=e,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:jt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyListeners;for(let n=0;n<e.length;n++)if(t===e[n])return e.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(t),this}prependAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(t),this}offAnyOutgoing(t){if(!this._anyOutgoingListeners)return this;if(t){const e=this._anyOutgoingListeners;for(let n=0;n<e.length;n++)if(t===e[n])return e.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(t){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const e=this._anyOutgoingListeners.slice();for(const n of e)n.apply(this,t.data)}}}function qt(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor=t.factor||2,this.jitter=t.jitter>0&&t.jitter<=1?t.jitter:0,this.attempts=0}qt.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=1&Math.floor(10*e)?t+n:t-n}return 0|Math.min(t,this.max)},qt.prototype.reset=function(){this.attempts=0},qt.prototype.setMin=function(t){this.ms=t},qt.prototype.setMax=function(t){this.max=t},qt.prototype.setJitter=function(t){this.jitter=t};class Lt extends L{constructor(e,n){var r;super(),this.nsps={},this.subs=[],e&&"object"==typeof e&&(n=e,e=void 0),(n=n||{}).path=n.path||"/socket.io",this.opts=n,F(this,n),this.reconnection(!1!==n.reconnection),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(r=n.randomizationFactor)&&void 0!==r?r:.5),this.backoff=new qt({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==n.timeout?2e4:n.timeout),this._readyState="closed",this.uri=e;const s=n.parser||t;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=!1!==n.autoConnect,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return void 0===t?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var e;return void 0===t?this._reconnectionDelay:(this._reconnectionDelay=t,null===(e=this.backoff)||void 0===e||e.setMin(t),this)}randomizationFactor(t){var e;return void 0===t?this._randomizationFactor:(this._randomizationFactor=t,null===(e=this.backoff)||void 0===e||e.setJitter(t),this)}reconnectionDelayMax(t){var e;return void 0===t?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,null===(e=this.backoff)||void 0===e||e.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new bt(this.uri,this.opts);const e=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const r=Bt(e,"open",function(){n.onopen(),t&&t()}),s=e=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",e),t?t(e):this.maybeReconnectOnOpen()},o=Bt(e,"error",s);if(!1!==this._timeout){const t=this._timeout,n=this.setTimeoutFn(()=>{r(),s(new Error("timeout")),e.close()},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}return this.subs.push(r),this.subs.push(o),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Bt(t,"ping",this.onping.bind(this)),Bt(t,"data",this.ondata.bind(this)),Bt(t,"error",this.onerror.bind(this)),Bt(t,"close",this.onclose.bind(this)),Bt(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(t){this.onclose("parse error",t)}}ondecoded(t){lt(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,e){let n=this.nsps[t];return n?this._autoConnect&&!n.active&&n.connect():(n=new Jt(this,t,e),this.nsps[t]=n),n}_destroy(t){const e=Object.keys(this.nsps);for(const t of e){if(this.nsps[t].active)return}this._close()}_packet(t){const e=this.encoder.encode(t);for(let n=0;n<e.length;n++)this.engine.write(e[n],t.options)}cleanup(){this.subs.forEach(t=>t()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,e){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,e),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const e=this.backoff.duration();this._reconnecting=!0;const n=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),t.skipReconnect||t.open(e=>{e?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",e)):t.onreconnect()}))},e);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const Gt={};function Yt(t,e){"object"==typeof t&&(e=t,t=void 0);const n=function(t,e="",n){let r=t;n=n||"undefined"!=typeof location&&location,null==t&&(t=n.protocol+"//"+n.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?n.protocol+t:n.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==n?n.protocol+"//"+t:"https://"+t),r=yt(t)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";const s=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+s+":"+r.port+e,r.href=r.protocol+"://"+s+(n&&n.port===r.port?"":":"+r.port),r}(t,(e=e||{}).path||"/socket.io"),r=n.source,s=n.id,o=n.path,i=Gt[s]&&o in Gt[s].nsps;let a;return e.forceNew||e["force new connection"]||!1===e.multiplex||i?a=new Lt(r,e):(Gt[s]||(Gt[s]=new Lt(r,e)),a=Gt[s]),n.query&&!e.query&&(e.query=n.queryKey),a.socket(n.path,e)}Object.assign(Yt,{Manager:Lt,Socket:Jt,io:Yt,connect:Yt});var Ht=n(337);class zt extends c{type;socketId;data;static DESCRIPTOR_NAME="ChannelMessage";static DESCRIPTOR={fields:{type:{type:"uint32",id:1},socketId:{type:"string",id:2},data:{type:"bytes",id:3}}};constructor(t,e,n){super(),this.type=t,this.socketId=e,this.data=n}toJSON(){return{type:this.type,socketId:this.socketId,data:this.data}}static fromJSON(t){return new zt(t.type,t.socketId,t.data)}}class Ft extends((0,s.EmitterMixin)()){_channelName;_wsGateway;_socket;constructor(t,e,n){super(),this._channelName=t,this._wsGateway=e,this._socket=n,this._subscribeToChannel()}remove(){this._socket.off(this._channelName)}getEventName(t,e=!1){let n="";return e&&(n+="all:"),n+="event",t&&(n+=":"+t),n}_subscribeToChannel(){this._socket.on(this._channelName,t=>{const e=p.decode(t,zt);this.fire(this.getEventName(e.type,!0),e.data,e.socketId),e.socketId!==this._wsGateway.socketId&&this.fire(this.getEventName(e.type),e.data,e.socketId)})}}class Kt extends Error{context;code;data;constructor(t,e,n=null,r={}){super("cloud-services-internal-error: "+t),this.context=e,this.code=n,this.data=r,this.name="CKEditorError"}static fromPublicError(t){return new Kt(function(t){let e="cloud-services-error: "+t.message;return t.data&&(e+="\nError data: "+JSON.stringify(t.data)),t.explanation&&(e+="\nExplanation: "+t.explanation),t.action&&(e+="\nAction: "+t.action),t.traceId&&(e+="\nTraceId: "+t.traceId),t.code&&(e+="\nCode: "+t.code),e}(t),t)}}class Wt extends Error{code;traceId;data;constructor(t,e){super(),this.name="CKEditorCloudServicesServerError",this.stack=void 0,this.message=t,this.code=e.code,this.traceId=e.traceId,this.data=e.data}static fromPublicError(t){return new Wt(function(t){let e="cloud-services-server-error: "+t.message;return t.explanation&&(e+="\nExplanation: "+t.explanation),t.action&&(e+="\nAction: "+t.action),t.traceId&&(e+="\nTraceId: "+t.traceId),t.code&&(e+="\nCode: "+t.code),e}(t),t)}}class Zt extends c{flags;rooms;except;static TYPE=11;static DESCRIPTOR_NAME="PacketOptionsMessage";static DESCRIPTOR={fields:{flags:{type:"string",id:1},rooms:{type:"string",id:2,rule:"repeated"},except:{type:"string",id:3,rule:"repeated"}}};constructor(t,e=[],n=[]){super(),this.flags=t,this.rooms=e,this.except=n}toJSON(){return{flags:this.flags?JSON.stringify(this.flags):void 0,rooms:this.rooms?.length?this.rooms:void 0,except:this.except?.length?this.except:void 0}}static fromJSON(t){return new Zt(t.flags&&JSON.parse(t.flags),t.rooms,t.except)}}const Qt=(()=>!("undefined"==typeof process||!process.versions?.node))(),$t=1,Xt=2,te=3,ee=4;class ne{static getPacketType(...t){let e=0;for(let n=0;n<t.length;n++)e+=t[n]*Math.pow(10,t.length-n-1);return e}static getType(t){if(ne.isBuffer(t))return $t;const e=typeof t;return"string"===e?Xt:"number"===e?te:ee}static isBuffer(t){return Qt&&Buffer.isBuffer(t)||t instanceof ArrayBuffer||t instanceof Uint8Array||this._isBufferView(t)}static _isBufferView(t){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer}}class re extends c{data;data1;static create(t,e){throw new TypeError("Must be implemented in a child class!")}}class se extends re{data;data1;static TYPE=(()=>ne.getPacketType(te,$t))();static DESCRIPTOR_NAME="NumberBytesPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"bytes",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new se(t.data,t.data1)}static create(t,e){return new se(t,e)}}class oe extends re{data;data1;static TYPE=(()=>ne.getPacketType(Xt,$t))();static DESCRIPTOR_NAME="StringBytesPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new oe(t.data,t.data1)}static create(t,e){return new oe(t,e)}}class ie extends re{data;data1;static TYPE=(()=>ne.getPacketType($t,$t))();static DESCRIPTOR_NAME="BytesBytesPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"bytes",id:1},data1:{type:"bytes",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new ie(t.data,t.data1)}static create(t,e){return new ie(t,e)}}class ae extends re{data;data1;static TYPE=(()=>ne.getPacketType(Xt,ee))();static DESCRIPTOR_NAME="StringObjectPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(t){return new ae(t.data,t.data1&&JSON.parse(t.data1))}static create(t,e){return new ae(t,e)}}class ce extends re{data;data1;static TYPE=(()=>ne.getPacketType(te,ee))();static DESCRIPTOR_NAME="NumberObjectPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(t){return new ce(t.data,t.data1&&JSON.parse(t.data1))}static create(t,e){return new ce(t,e)}}class de extends re{data;data1;static TYPE=(()=>ne.getPacketType(ee,ee))();static DESCRIPTOR_NAME="ObjectObjectPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(t){return new de(t.data&&JSON.parse(t.data),t.data1&&JSON.parse(t.data1))}static create(t,e){return new de(t,e)}}class ue extends re{data;data1;static TYPE=(()=>ne.getPacketType(ee,$t))();static DESCRIPTOR_NAME="ObjectBufferPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1}}static fromJSON(t){return new ue(t.data&&JSON.parse(t.data),t.data1)}static create(t,e){return new ue(t,e)}}class le extends re{data;data1;static TYPE=(()=>ne.getPacketType(Xt,Xt))();static DESCRIPTOR_NAME="StringStringPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new le(t.data,t.data1)}static create(t,e){return new le(t,e)}}class he extends re{data;data1;static TYPE=(()=>ne.getPacketType(Xt,te))();static DESCRIPTOR_NAME="StringNumberPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"uint32",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new he(t.data,t.data1)}static create(t,e){return new he(t,e)}}class pe extends re{data;data1;static TYPE=(()=>ne.getPacketType(te,te))();static DESCRIPTOR_NAME="NumberNumberPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"uint32",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new pe(t.data,t.data1)}static create(t,e){return new pe(t,e)}}class fe extends re{data;data1;static TYPE=(()=>ne.getPacketType(te,Xt))();static DESCRIPTOR_NAME="NumberStringPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new fe(t.data,t.data1)}static create(t,e){return new fe(t,e)}}const me=(()=>[se,oe,ie,ae,ce,de,ue,le,he,pe,fe].reduce((t,e)=>(t[e.TYPE]=e,t),{}))();class ge extends c{type;data;id;nsp;options;static TYPE=10;static DESCRIPTOR_NAME="PacketMessage";static DESCRIPTOR={fields:{type:{type:"uint32",id:1},id:{type:"uint32",id:2},nsp:{type:"string",id:3},data:{type:"bytes",id:4},options:{type:"bytes",id:5}}};constructor(t,e,n,r="/",s){super(),this.type=t,this.data=e,this.id=n,this.nsp=r,this.options=s??new Zt}get packetData(){return void 0===this.data.data&&void 0===this.data.data1?[]:this.data.data&&void 0===this.data.data1?[this.data.data]:[this.data.data,this.data.data1]}toJSON(){const t=p.encode(this.options),e=p.encode(this.data);return{type:this.type+10*this.data.constructor.TYPE,id:this.id,nsp:"/"===this.nsp?void 0:this.nsp,data:e,options:t}}static fromJSON(t){const e=Math.floor(t.type/10);return new ge(t.type-10*e,p.decode(t.data,me[e]),t.id,t.nsp,t.options?p.decode(t.options,Zt):new Zt)}static create(t,e={}){const n=ne.getPacketType(ne.getType(t.data[0]),ne.getType(t.data[1]??t.data[0]));return new ge(t.type,me[n].create(t.data[0],t.data[1]),t.id,t.nsp,new Zt(e.flags,e.rooms,e.except))}}class ye{encode(t,e,n,r="/",s={}){if(e.length>2)throw new Error("PacketParser supports only 2 elements in data");const o={type:t,data:e,id:n,nsp:r};return p.encode(ge.create(o,s))}decode(t){const e=p.decode(t,ge);return{packet:{id:e.id,type:e.type,data:e.packetData,nsp:e.nsp},options:{flags:e.options.flags,rooms:e.options.rooms,except:e.options.except}}}}const be=(()=>[jt.EVENT,jt.ACK,jt.BINARY_ACK,jt.BINARY_EVENT])();class Oe extends xt{_packetParser;constructor(t){super(),this._packetParser=t??new ye}encode(t){if(be.includes(t.type))try{return[this._packetParser.encode(t.type,t.data,t.id,t.nsp)]}catch(t){console.error("Can not properly serialize or deserialize messages. Check the original error.",{originalError:{message:t.message}})}return super.encode(t)}}class we extends Dt{_packetParser;constructor(t){super(),this._packetParser=t??new ye}add(t){if(!ne.isBuffer(t))return super.add(t);let e;try{e=this._packetParser.decode(t).packet}catch(e){return super.add(t)}super.emitReserved("decoded",e)}}class ve{_context;_deferredPromise=function(){let t,e;const n=new Promise((n,r)=>{t=n,e=r});return{resolve:t,reject:e,promise:n}}();timeout;constructor(t,e){this._context=t,this.timeout=setTimeout(()=>this.error(new Kt("Request timeout.",this._context)),e)}get promise(){return this._deferredPromise.promise}response(t){this._deferredPromise.resolve(t)}error(t){this._deferredPromise.reject(t)}}class Ie{_context;_requests=new Set;constructor(t){this._context=t}async send(t,e=45e3){const n=this._createRequest(e);try{return t(n),await n.promise}finally{this._finishRequest(n)}}errorAll(t){for(const e of this._requests)e.error(t)}waitForAllRequests(t=45e3){return this._waitForRequests(t)}_createRequest(t){const e=new ve(this._context,t);return this._requests.add(e),e}_finishRequest(t){this._requests.delete(t),clearTimeout(t.timeout)}async _waitForRequests(t=5e3,e=0){return!this._requests.size||e>=t/500?Promise.resolve():(await new Promise(t=>{setTimeout(t,500)}),this._waitForRequests(t,e++))}}const Se={DISCONNECTED:"disconnected",CONNECTING:"connecting",CONNECTED:"connected"};class ke extends((0,s.ObservableMixin)()){_requestsManager;_url;_socket;_socketAuth;_channels;_connectionAttempt=0;_token;_options;_connectionProvider;_userFactory;static STATE_DISCONNECTED=(()=>Se.DISCONNECTED)();static STATE_CONNECTING=(()=>Se.CONNECTING)();static STATE_CONNECTED=(()=>Se.CONNECTED)();static _CHANGE_STATE_EVENT_PRIORITY=(()=>s.priorities.get("highest")+999999)();constructor(t,e,n,r,s){if(super(),this._token=e,this._options=n??{},this._connectionProvider=r??Yt,this._userFactory=s??w.get,this._requestsManager=new Ie(this),this._channels=new Map,!t)throw new TypeError("Api address must be provided.");if(!this._token)throw new TypeError("Token must be provided.");this._options.requestTimeout||(this._options.requestTimeout=2e4),this._url=Ht(t.replace(/^(?!(?:\w+:)?\/\/)/,"https://")),this.set("state",Se.DISCONNECTED),this.set("socketId",void 0),this.set("me",void 0),this.on("change:state",async(t,e,n)=>{if(this._debugEvent("ws-gw:change:state",n),n!==ke.STATE_CONNECTED){if(n===ke.STATE_DISCONNECTED)return this._requestsManager.errorAll(new Kt("Not connected.",this))}else try{this.me=await this._userFactory.call(w,this,this._socketAuth?.userId)}catch(t){}},{priority:ke._CHANGE_STATE_EVENT_PRIORITY}),this.on("error",(t,e)=>{this._options.onError?this._options.onError(e):console.error(e)})}get sessionId(){return this.socketId}waitForAllRequests(t){return this._requestsManager.waitForAllRequests(t)}disconnect(){this.state!==Se.DISCONNECTED&&(this._socket?.disconnect(),this._socket=void 0,this.state=Se.DISCONNECTED)}async reconnect(){this._socket||this.state!==Se.DISCONNECTED||(await this._token.refreshToken(),await this._connect())}static async connect(t,e="local.cs.dev:443/ws-v2",n={},r=Yt,s=w.get){const o=new this(e,t,n,r,s);return await o._connect(),o}_sendRequest(t,e,n){if(!t)throw new Kt("`serviceName` must be provided.",this);if(this.state!==ke.STATE_CONNECTED)throw new Kt("Not connected.",this);if(!this._socketAuth||!this._socketAuth.isAuthenticated)throw new Kt("Not authenticated.",this);const r=new ArrayBuffer(n.length+2),s=new Uint8Array(r);return s[0]=t,s[1]=parseInt(e),s.set(n,2),this._emit(1,s)}_getChannel(t,e){const n=""+t+e;return!this._channels.has(n)&&this._socket&&this._channels.set(n,new Ft(n,this,this._socket)),this._channels.get(n)}_connect(){return new Promise((t,e)=>{const n=this._setupSocket();!this.socketId&&n.io.on("reconnect_error",()=>{this._debugEvent("reconnect_error"),this._reconnectionAttemptError(e)}),n.once("connect",async()=>{this._debugEvent("once-connect");try{await this._onConnect(),t()}catch(t){e(t)}}),n.connect()})}_getPortByProtocol(t){return["http:","ws:"].includes(t)?80:443}_setupSocket(){if(this._socket)return this._socket;const t=this._url.port||this._getPortByProtocol(this._url.protocol),e=(this._url.protocol||"https:")+"//"+this._url.hostname+":"+t,n=this._url.pathname.match(/^\/.*\/ws/)?this._url.pathname.split("/ws")[0]:"",r=this._connectionProvider(e,{parser:{Encoder:Oe,Decoder:we},path:n+"/ws-v2/ws",transports:["websocket"],timeout:void 0!==this._options.timeout?this._options.timeout:5e3,reconnection:void 0===this._options.autoReconnect||this._options.autoReconnect,reconnectionDelay:1e3,reconnectionDelayMax:5e3,rejectUnauthorized:void 0===this._options.rejectUnauthorized||this._options.rejectUnauthorized,query:{version:"53.0.7"},agent:this._options.agent??!1,closeOnBeforeunload:!1});return this.state=Se.CONNECTING,r.on("connect",()=>{this._debugEvent("connect"),this.socketId=r.id}),r.on("connect_error",t=>{this._debugEvent("connect_error",t)}),r.on("disconnect",()=>{this._debugEvent("disconnect"),this._onDisconnect()}),r.io.on("reconnect",async()=>{this._debugEvent("reconnect"),await this._onReconnect()}),r.io.on("reconnect_attempt",t=>{this._debugEvent("reconnect_attempt",t),this.state=Se.CONNECTING,this._connectionAttempt=t}),r.on("unauthorized",t=>{this._debugEvent("unauthorized"),this._onUnauthorized(t)}),r.on("authenticationRequest",async t=>{this._debugEvent("authenticationRequest",t.attempt),await this._onReconnect()}),this._socket=r,r}_emit(t,e){const n=this._socket;return this._requestsManager.send(r=>{n.emit(t,e,(t,e)=>{if(t)return r.error(Wt.fromPublicError(t));r.response(e)})},this._options.requestTimeout)}_addAuthData(t,e){this._socketAuth={environmentId:t,userId:e,isAuthenticated:!0}}_removeAuthData(){this._socketAuth=void 0}async _onConnect(){await this._authenticate(this._token.value),this.state=Se.CONNECTED;const t=async(t,e,n)=>{this._debugEvent("token:value:change");try{await this._authenticate(n)}catch(t){}};this._token.on("change:value",t),this._socket.io.off("reconnect_error"),this.on("disconnect",()=>{this._token.off("change:value",t)})}async _onReconnect(){await this._token.refreshToken(),await this._onConnect()}_onDisconnect(){this.state=Se.DISCONNECTED,this._connectionAttempt=0,this.fire("disconnect");for(const t of this._channels.values())t.remove();this._channels.clear(),void 0===this._options.autoReconnect||this._options.autoReconnect||(this._socket=void 0)}_debugEvent(t,e){if(!this._isDebugModeEnabled())return;const n=void 0!==e?", data: "+e:"";console.info((new Date).toLocaleString()+" "+t+n)}_reconnectionAttemptError(t){this._connectionAttempt>=2&&(this.disconnect(),t(Kt.fromPublicError({message:"The number of initial connection attempts exceeded.",explanation:"Three initial connection attempts failed. It can be caused by a slow, unstable, missing or blocked Internet connection.",action:"Please verify the stability of your Internet connection and ensure that no antivirus or firewall software blocks the Web Socket protocol connections."})))}_onUnauthorized({error:t}){this._removeAuthData(),this.fire("error",Wt.fromPublicError(t))}async _authenticate(t){try{this._debugEvent("authenticate:start");const e=await this._emit(2,{token:t});this._debugEvent("authenticate:success","envId: "+e.environmentId+", userId: "+e.userId),this._addAuthData(e.environmentId,e.userId)}catch(t){throw this._debugEvent("authenticate:error",t.message),this._removeAuthData(),t}}_isDebugModeEnabled(){return!!s.global.window.localStorage&&"true"===(s.global.window.localStorage.getItem("csClientDebugMode")??"false").toLowerCase()}}const Pe=ke;class Ae extends c{bundleVersion;static TYPE="131";static READABLE_TYPE_NAME="isEditorBundleUploaded";static DESCRIPTOR_NAME="IsEditorBundleUploadedMessage";static DESCRIPTOR={fields:{bundleVersion:{type:"string",id:1}}};constructor(t){super(),this.bundleVersion=t}toJSON(){return{bundleVersion:this.bundleVersion}}static fromJSON(t){return new Ae(t.bundleVersion)}}class Te extends c{isUploaded;static DESCRIPTOR_NAME="IsEditorBundleUploadedResponse";static DESCRIPTOR={fields:{isUploaded:{type:"bool",id:1}}};constructor(t){super(),this.isUploaded=t}toJSON(){return{isUploaded:this.isUploaded}}static fromJSON(t){return new Te(t.isUploaded)}}class _e extends((0,s.EmitterMixin)()){static _SERVICE=13;static async isBundleUploaded(t,e){const n=new Ae(e);if(t.state!==Se.CONNECTED)throw new Kt("WebSocket Gateway is not connected.",t);const r=await t._sendRequest(_e._SERVICE,Ae.TYPE,p.encode(n));return p.decode(r,Te).isUploaded}}const Ce=_e;class Ee extends c{documentId;revisionId;static TYPE="123";static READABLE_TYPE_NAME="getRevision";static DESCRIPTOR_NAME="RevisionHistoryGetRevisionMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},revisionId:{type:"string",id:2}}};constructor(t,e){super(),this.documentId=t,this.revisionId=e}toJSON(){return{documentId:this.documentId,revisionId:this.revisionId}}static fromJSON(t){return new Ee(t.documentId,t.revisionId)}}class je extends a{static DESCRIPTOR_NAME="RevisionDescriptor";static DESCRIPTOR={fields:{revisionId:{type:"string",id:1},name:{type:"string",id:2},creatorId:{type:"string",id:3},authorsIds:{type:"string",id:4},diffData:{type:"string",id:5},createdAt:{type:"string",id:6},attributes:{type:"string",id:7},toVersion:{type:"uint32",id:8},fromVersion:{type:"uint32",id:9},isEmptyCurrent:{type:"bool",id:10}}};static create(t){return{revisionId:t.id,name:t.name,creatorId:t.creatorId,createdAt:t.createdAt,fromVersion:t.fromVersion,toVersion:t.toVersion,isEmptyCurrent:t.isEmptyCurrent,diffData:t.diffData?JSON.stringify(t.diffData):void 0,attributes:t.attributes,authorsIds:t.authorsIds}}static toJSON(t){return{revisionId:t.revisionId,name:t.name,creatorId:t.creatorId,authorsIds:t.authorsIds?JSON.stringify(t.authorsIds):void 0,diffData:t.diffData,createdAt:t.createdAt?.toISOString(),attributes:t.attributes?JSON.stringify(t.attributes):void 0,toVersion:t.toVersion,fromVersion:t.fromVersion,isEmptyCurrent:t.isEmptyCurrent}}static fromJSON(t){return{revisionId:(t={...t}).revisionId,name:t.name,creatorId:t.creatorId,authorsIds:t.authorsIds?JSON.parse(t.authorsIds):void 0,diffData:t.diffData,createdAt:t.createdAt?new Date(t.createdAt):void 0,attributes:t.attributes?JSON.parse(t.attributes):void 0,toVersion:t.toVersion,fromVersion:t.fromVersion,isEmptyCurrent:t.isEmptyCurrent}}static toObject(t){return function(t){for(const[e,n]of Object.entries(t))void 0===n&&delete t[e];return t}({id:t.revisionId,name:t.name,creatorId:t.creatorId,createdAt:t.createdAt,fromVersion:t.fromVersion,toVersion:t.toVersion,isEmptyCurrent:t.isEmptyCurrent,diffData:t.diffData?JSON.parse(t.diffData):void 0,attributes:t.attributes,authorsIds:t.authorsIds})}}class xe extends c{revisionId;name;creatorId;authorsIds;createdAt;diffData;attributes;fromVersion;toVersion;isEmptyCurrent;static DESCRIPTOR_NAME="RevisionHistoryGetRevisionResponse";static DESCRIPTOR=(()=>je.DESCRIPTOR)();constructor(t,e,n,r,s,o,i,a,c,d){super(),this.revisionId=t,this.name=e,this.creatorId=n,this.authorsIds=r,this.createdAt=s,this.diffData=o,this.attributes=i,this.fromVersion=a,this.toVersion=c,this.isEmptyCurrent=d}toJSON(){return je.toJSON(this)}toObject(){return je.toObject(this)}static create(t){return new xe(t.revisionId,t.name,t.creatorId,t.authorsIds,t.createdAt,t.diffData,t.attributes,t.fromVersion,t.toVersion,t.isEmptyCurrent)}static fromJSON(t){return new xe(t.revisionId,t.name,t.creatorId,t.authorsIds?JSON.parse(t.authorsIds):void 0,t.createdAt?new Date(t.createdAt):void 0,t.diffData,t.attributes?JSON.parse(t.attributes):void 0,t.fromVersion,t.toVersion,t.isEmptyCurrent)}}class De extends c{documentId;requestId;revisions;static TYPE="124";static READABLE_TYPE_NAME="updateRevisions";static DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};constructor(t,e,n){super(),this.documentId=t,this.requestId=e,this.revisions=n}toJSON(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(je.toJSON)}}toObject(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(je.toObject)}}static create(t){return new De(t.documentId,t.requestId,t.revisions.map(je.create))}static fromJSON(t){return new De(t.documentId,t.requestId,t.revisions.map(je.fromJSON))}}class Re extends c{requestId;static DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsResponse";static DESCRIPTOR={fields:{requestId:{type:"uint32",id:1}}};constructor(t){super(),this.requestId=t}toJSON(){return{requestId:this.requestId}}static fromJSON(t){return new Re(t.requestId)}}class Ne extends c{documentId;static TYPE="121";static READABLE_TYPE_NAME="connectToRevisionHistory";static DESCRIPTOR_NAME="RevisionHistoryConnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new Ne(t.documentId)}}class Ve extends c{channel;requestId;revisions;static DESCRIPTOR_NAME="RevisionHistoryConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};constructor(t,e,n){super(),this.channel=t,this.requestId=e,this.revisions=n}toJSON(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(je.toJSON)}}toObject(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(je.toObject)}}static fromJSON(t){return new Ve(t.channel,t.requestId,t.revisions.map(je.fromJSON))}}class Me extends c{documentId;requestId;static TYPE="122";static READABLE_TYPE_NAME="reconnectToRevisionHistory";static DESCRIPTOR_NAME="RevisionHistoryReconnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2}}};constructor(t,e){super(),this.documentId=t,this.requestId=e}toJSON(){return{documentId:this.documentId,requestId:this.requestId}}static fromJSON(t){return new Me(t.documentId,t.requestId)}}class Be extends Kt{constructor(t,e){super(t+" Service is not connected.",e)}}class Ue extends((0,s.EmitterMixin)()){_documentId;_isConnected=!1;_wsGateway;_channel;static _SERVICE=12;constructor(t){super(),this._documentId=t}get isConnected(){return this._isConnected}connect(t){return this._isConnected?Promise.resolve():this._connect(t,new Ne(this._documentId))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}reconnect(t,e){if(this.isConnected)throw new Kt("Cannot reconnect to already connected service.",t);return this._connect(t,new Me(this._documentId,e))}async updateRevisions(t,e){const n=De.create({documentId:this._documentId,requestId:e,revisions:t}),r=await this._sendRequest(De.TYPE,n),{requestId:s}=p.decode(r,Re);return s}async getRevision(t){const e=new Ee(this._documentId,t),n=await this._sendRequest(Ee.TYPE,e);return p.decode(n,xe).toObject()}async _connect(t,e){if(t.state!==Se.CONNECTED)throw new Kt("WebSocket Gateway is not connected.",t);this._wsGateway=t,this.stopListening(t,"change:state");const n=await t._sendRequest(12,e.constructor.TYPE,p.encode(e)),{channel:r,requestId:s,revisions:o}=p.decode(n,Ve).toObject();return this.listenTo(t,"change:state",(t,e,n)=>this._onWsGatewayStateChange(n),{priority:Pe._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,r),this._isConnected=!0,this.fire("connected"),{revisions:o,requestId:s}}_connectToChannel(t,e){this._channel=t._getChannel(Ue._SERVICE,e),this._channel&&this.listenTo(this._channel,this._channel.getEventName(De.TYPE),(t,e)=>{const{documentId:n,requestId:r,revisions:s}=p.decode(e,De).toObject();this.fire("revisionsUpdated",{documentId:n,requestId:r,revisionsData:s})})}_onWsGatewayStateChange(t){t===Se.DISCONNECTED&&this.disconnect()}_sendRequest(t,e){if(!this._wsGateway||!this._isConnected)throw new Be("Revision History",this);return this._wsGateway._sendRequest(12,t,p.encode(e))}}const Je=Ue;class qe extends c{id;documentId;type;data;originalSuggestionId;attributes;static TYPE="101";static READABLE_TYPE_NAME="addSuggestion";static DESCRIPTOR_NAME="TrackChangesAddSuggestionMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},type:{type:"string",id:3},data:{type:"string",id:4},originalSuggestionId:{type:"string",id:5},attributes:{type:"string",id:6}}};constructor(t,e,n,r={},s=null,o=null){super(),this.id=t,this.documentId=e,this.type=n,this.data=r,this.originalSuggestionId=s,this.attributes=o}toJSON(){return{id:this.id,documentId:this.documentId,type:this.type,data:JSON.stringify(this.data),originalSuggestionId:this.originalSuggestionId,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new qe(t.id,t.documentId,t.type,JSON.parse(t.data),t.originalSuggestionId??null,t.attributes?JSON.parse(t.attributes):null)}}class Le extends c{id;authorId;type;hasComments;state;data;attributes;createdAt;static DESCRIPTOR_NAME="TrackChangesAddSuggestionResponse";static DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}};constructor(t,e,n,r,s,o,i={},a=null){super(),this.id=t,this.authorId=e,this.type=n,this.hasComments=s,this.state=o,this.data=i,this.attributes=a,this.createdAt=r?new Date(r):void 0}toJSON(){return{id:this.id,authorId:this.authorId,type:this.type,createdAt:this.createdAt?.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new Le(t.id,t.authorId,t.type,t.createdAt,t.hasComments,t.state,JSON.parse(t.data),t.attributes?JSON.parse(t.attributes):null)}}class Ge extends c{id;documentId;static TYPE="103";static READABLE_TYPE_NAME="getSuggestion";static DESCRIPTOR_NAME="TrackChangesGetSuggestionMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(t,e){super(),this.id=t,this.documentId=e}toJSON(){return{id:this.id,documentId:this.documentId}}static fromJSON(t){return new Ge(t.id,t.documentId)}}class Ye extends c{id;authorId;type;hasComments;state;data;attributes;createdAt;static DESCRIPTOR_NAME="TrackChangesGetSuggestionResponse";static DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}};constructor(t,e,n,r,s,o,i={},a=null){super(),this.id=t,this.authorId=e,this.type=n,this.hasComments=s,this.state=o,this.data=i,this.attributes=a,this.createdAt=new Date(r)}toJSON(){return{id:this.id,authorId:this.authorId,type:this.type,createdAt:this.createdAt.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new Ye(t.id,t.authorId,t.type,t.createdAt,t.hasComments,t.state,JSON.parse(t.data),t.attributes?JSON.parse(t.attributes):null)}}class He extends c{documentId;static TYPE="102";static READABLE_TYPE_NAME="getAllSuggestions";static DESCRIPTOR_NAME="TrackChangesGetAllSuggestionMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new He(t.documentId)}}class ze extends a{static DESCRIPTOR_NAME="SuggestionDescriptor";static DESCRIPTOR={fields:{id:{id:1,type:"string"},authorId:{id:2,type:"string"},type:{id:3,type:"string"},createdAt:{id:4,type:"string"},data:{id:5,type:"string"},hasComments:{id:6,type:"bool"},state:{id:7,type:"string"},attributes:{id:8,type:"string"}}};static toJSON(t){return{...t,data:t.data?JSON.stringify(t.data):t.data,attributes:t.attributes?JSON.stringify(t.attributes):t.attributes,createdAt:t.createdAt?.toISOString()}}static fromJSON(t){return{...t,data:t.data?JSON.parse(t.data):t.data,attributes:t.attributes?JSON.parse(t.attributes):t.attributes,createdAt:t.createdAt?new Date(t.createdAt):void 0}}}class Fe extends c{_suggestions;_suggestionsV2;suggestions;static DESCRIPTOR_NAME="TrackChangesGetAllSuggestionsResponse";static DESCRIPTOR={fields:{suggestions:{type:"string",rule:"repeated",id:1},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:2}}};constructor(t,e){super(),this._suggestions=t,this._suggestionsV2=e,this.suggestions=e?.length?e:t}toJSON(){return{suggestions:this._suggestions?.map(t=>JSON.stringify(t)),suggestionsV2:this._suggestionsV2?.map(ze.toJSON)}}static fromJSON(t){return new Fe(t.suggestions?.map(Ke),t.suggestionsV2?.map(ze.fromJSON))}}function Ke(t){const e=JSON.parse(t);return e.createdAt=e.createdAt?new Date(e.createdAt):void 0,e}class We extends c{id;documentId;hasComments;isHasCommentsModified;state;attributes;static TYPE="104";static READABLE_TYPE_NAME="updateSuggestion";static DESCRIPTOR_NAME="TrackChangesUpdateSuggestionMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},hasComments:{type:"bool",id:3},isHasCommentsModified:{type:"bool",id:4},state:{type:"string",id:5},attributes:{type:"string",id:6}}};constructor(t,e,n,r,s,o=null){super(),this.id=t,this.documentId=e,this.hasComments=n,this.isHasCommentsModified=r,this.state=s,this.attributes=o}toJSON(){return{id:this.id,documentId:this.documentId,hasComments:this.hasComments,isHasCommentsModified:this.isHasCommentsModified,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new We(t.id,t.documentId,t.hasComments,t.isHasCommentsModified,t.state,t.attributes?JSON.parse(t.attributes):null)}}class Ze extends c{documentId;static TYPE="105";static READABLE_TYPE_NAME="connectToSuggestions";static DESCRIPTOR_NAME="TrackChangesConnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new Ze(t.documentId)}}class Qe extends c{channel;_suggestions;_suggestionsV2;suggestions;static DESCRIPTOR_NAME="TrackChangesConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},suggestions:{type:"string",rule:"repeated",id:2},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:3}}};constructor(t,e,n){super(),this.channel=t,this._suggestions=e,this._suggestionsV2=n,this.suggestions=n?.length?n:e}toJSON(){return{channel:this.channel,suggestions:this._suggestions?.map(t=>JSON.stringify(t)),suggestionsV2:this._suggestionsV2?.map(ze.toJSON)}}static fromJSON(t){return new Qe(t.channel,t.suggestions?.map(t=>JSON.parse(t)),t.suggestionsV2?.map(ze.fromJSON))}}class $e extends c{ids;documentId;state;static TYPE="106";static READABLE_TYPE_NAME="batchUpdateSuggestionsState";static DESCRIPTOR_NAME="TrackChangesBatchUpdateSuggestionsStateMessage";static DESCRIPTOR={fields:{ids:{type:"string",rule:"repeated",id:1},documentId:{type:"string",id:2},state:{type:"string",id:3}}};constructor(t,e,n){super(),this.ids=t,this.documentId=e,this.state=n}toJSON(){return{ids:this.ids,documentId:this.documentId,state:this.state}}static fromJSON(t){return new $e(t.ids,t.documentId,t.state)}}class Xe extends((0,s.EmitterMixin)()){_documentId;_isConnected=!1;_wsGateway;_channel;static _SERVICE=10;constructor(t){super(),this._documentId=t}get isConnected(){return this._isConnected}async connect(t){if(this._isConnected)return;if(t.state!==Se.CONNECTED)throw new Kt("WebSocket Gateway is not connected.",t);const e=new Ze(this._documentId);this._wsGateway=t,this.stopListening(t,"change:state");const n=await t._sendRequest(10,Ze.TYPE,p.encode(e)),r=p.decode(n,Qe);return this.listenTo(t,"change:state",(t,e,n)=>this._onWsGatewayStateChange(n),{priority:Pe._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,r.channel),this._isConnected=!0,this.fire("connected"),r.suggestions}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}async add(t,e,n,r=null,s){const o=new qe(t,this._documentId,e,n,r,s),i=await this._sendRequest(qe.TYPE,o);return p.decode(i,Le)}async get(t,e=1){const n=new Ge(t,this._documentId);try{const t=await this._sendRequest(Ge.TYPE,n);return p.decode(t,Ye)}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&e<5)return await(r=100*e,new Promise(t=>{setTimeout(t,r)})),this.get(t,e+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw Wt.fromPublicError(n)}var r}async getAll(){const t=new He(this._documentId),e=await this._sendRequest(He.TYPE,t),{suggestions:n}=p.decode(e,Fe);return n}async update(t,e={}){const{hasComments:n,state:r,attributes:s}=e,o=void 0!==n,i=new We(t,this._documentId,n,o,r,s);await this._sendRequest(We.TYPE,i)}async batchUpdateState(t){const e=new $e(t.ids,this._documentId,t.state);await this._sendRequest($e.TYPE,e)}_connectToChannel(t,e){this._channel=t._getChannel(Xe._SERVICE,e),this._channel&&this.listenTo(this._channel,this._channel.getEventName(We.TYPE),(t,e)=>{const n=p.decode(e,We);this.fire("suggestionUpdated",n)})}_onWsGatewayStateChange(t){t===Se.DISCONNECTED&&this.disconnect()}_sendRequest(t,e){if(!this._wsGateway||!this._isConnected)throw new Be("Track Changes",this);return this._wsGateway._sendRequest(10,t,p.encode(e))}}const tn=Xe,en=new Uint8Array(16);const nn=[];for(let t=0;t<256;++t)nn.push((t+256).toString(16).slice(1));function rn(t,e=0){return(nn[t[e+0]]+nn[t[e+1]]+nn[t[e+2]]+nn[t[e+3]]+"-"+nn[t[e+4]]+nn[t[e+5]]+"-"+nn[t[e+6]]+nn[t[e+7]]+"-"+nn[t[e+8]]+nn[t[e+9]]+"-"+nn[t[e+10]]+nn[t[e+11]]+nn[t[e+12]]+nn[t[e+13]]+nn[t[e+14]]+nn[t[e+15]]).toLowerCase()}const sn=function(t,e,n){return e||t||!crypto.randomUUID?function(t,e,n){t=t||{};const r=t.random??t.rng?.()??crypto.getRandomValues(en);if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,e){if((n=n||0)<0||n+16>e.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let t=0;t<16;++t)e[n+t]=r[t];return e}return rn(r)}(t,e,n):crypto.randomUUID()};class on extends c{channel;sockets;static DESCRIPTOR_NAME="SessionsConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},sockets:{rule:"repeated",type:"SessionsSocketDescriptor",id:2}}};constructor(t,e=[]){super(),this.channel=t,this.sockets=e}toJSON(){return{channel:this.channel,sockets:this.sockets.map(t=>({user:t.userId,session:t.id,role:t.role,permissions:t.permissions}))}}static fromJSON(t){return new on(t.channel,t.sockets.map(t=>({id:t.session,userId:t.user,role:t.role,permissions:t.permissions})))}}class an extends c{id;sessionType;static TYPE="31";static READABLE_TYPE_NAME="getConnectedSockets";static DESCRIPTOR_NAME="SessionsConnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},sessionType:{type:"uint32",id:2}}};constructor(t,e){super(),this.id=t,this.sessionType=e}toJSON(){return{id:this.id,sessionType:this.sessionType}}static fromJSON(t){return new an(t.id,t.sessionType)}}class cn extends c{id;userId;role;permissions;static TYPE="32";static READABLE_TYPE_NAME="connectSocket";static DESCRIPTOR_NAME="SocketConnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},userId:{type:"string",id:2},role:{type:"string",id:3},permissions:{rule:"repeated",type:"string",id:4}}};constructor(t,e,n,r){super(),this.id=t,this.userId=e,this.role=n,this.permissions=r}toJSON(){return{id:this.id,userId:this.userId??void 0,role:this.role??void 0,permissions:this.permissions??void 0}}static fromJSON(t){return new cn(t.id,t.userId,t.role,t.permissions)}}class dn extends c{id;static TYPE="33";static READABLE_TYPE_NAME="disconnectSocket";static DESCRIPTOR_NAME="SocketDisconnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1}}};constructor(t){super(),this.id=t}toJSON(){return{id:this.id}}static fromJSON(t){return new dn(t.id)}}class un extends s.Collection{_id;_sessionType;_handlers=new Map;_channel;_wsGateway;_connected;_eventsQueue=[];_isRunning=!1;constructor(t,e){super({idProperty:"id"}),this._id=t,this._sessionType=e}async connect(t){this._wsGateway=t,this.stopListening(t,"change:state");const e=new an(this._id,this._sessionType);let n;try{const t=await this._wsGateway._sendRequest(3,an.TYPE,p.encode(e));n=p.decode(t,on)}catch(t){n=new on(this._id,[])}this._connectToChannel(this._wsGateway,n.channel,this._sessionType);const r=await async function(t,e){const n=e.map(t=>t.userId),r=n.length?await w.getMany(t,n):[];return e.map(t=>{const e={id:t.id,role:t.role,permissions:t.permissions};return e.user=t.userId&&r.find(e=>e.id===t.userId)||new w,e})}(this._wsGateway,n.sockets);for(const t of r)super.add(t);this._connected=!0,this.fire("connected"),this.listenTo(this._wsGateway,"change:state",(t,e,n)=>this._onWsGatewayStateChange(n),{priority:Pe._CHANGE_STATE_EVENT_PRIORITY}),await this._runQueue()}disconnect(t=!0){if(this._connected){for(this._connected=!1,this._eventsQueue=[];this.length;)super.remove(0);this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._wsGateway&&t&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this.fire("disconnected"),t&&this.stopListening()}}add(t,e){throw new TypeError("The collection is read-only.")}remove(t){throw new TypeError("The collection is read-only.")}_connectToChannel(t,e,n){this._channel=t._getChannel(n,e),this._channel&&(this._addHandler(this._channel,cn.TYPE,async e=>{const n=p.decode(e,cn);if(-1===this.getIndex(n.id)){const e={id:n.id,role:n.role,permissions:n.permissions};n.userId&&(e.user=await w.get(t,n.userId)),super.add(e)}}),this._addHandler(this._channel,dn.TYPE,t=>{const e=p.decode(t,dn);-1!==this.getIndex(e.id)&&super.remove(e.id)}))}async _onWsGatewayStateChange(t){t===Pe.STATE_DISCONNECTED&&this.disconnect(!1),t===Pe.STATE_CONNECTED&&await this.connect(this._wsGateway)}async _runQueue(){if(this._isRunning||!this._connected)return;let t;for(this._isRunning=!0;t=this._eventsQueue.shift();){const e=this._handlers.get(t.eventName);e&&await e(t.data)}this._isRunning=!1}_addHandler(t,e,n){const r=t.getEventName(e,!0);this.listenTo(t,r,async(t,e)=>{const n=t.name;this._eventsQueue.push({eventName:n,data:e}),await this._runQueue()}),this._handlers.set(r,n)}}class ln{static async getConnectedSessions(t,e,n){const r=new un(e,n);return await r.connect(t),r}}class hn extends c{id;buffers;types;bundleVersion;lastOperationId;static TYPE="11";static READABLE_TYPE_NAME="connectToDocument";static DESCRIPTOR_NAME="CollaborativeEditingConnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},buffers:{rule:"repeated",type:"bytes",id:3},types:{rule:"repeated",type:"uint32",id:4},lastOperationId:{type:"string",id:5}}};constructor(t,e,n,r,s=""){super(),this.id=t,this.buffers=e,this.types=n,this.bundleVersion=r,this.lastOperationId=s}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,bundleVersion:this.bundleVersion,lastOperationId:this.lastOperationId}}static fromJSON(t){return new hn(t.id,t.buffers,t.types,t.bundleVersion,t.lastOperationId)}}class pn{static prepareMetadataForOperations(t,e){if(!t?.length||!e?.length)return[];const n=[];let r=0;for(const s of t)if(0!==s){if(!e[r])throw new Error("Missing metadata for a operation");n.push(e[r]),r++}else n.push(n[n.length-1]);return n}static removeUnnecessaryMetadata(t,e){if(!t?.length||!e?.length)return[];const n=[];for(let r=0;r<t.length;r++)if(0!==t[r]){if(!e[r])throw new Error("Missing metadata for a operation");n.push(e[r])}return n}}class fn extends a{static DESCRIPTOR_NAME="OperationMetadataDescriptor";static DESCRIPTOR={fields:{userId:{type:"string",id:1},type:{type:"string",id:2},createdAt:{type:"string",id:3}}};static toJSON({createdAt:t,...e}){const n={...e};return t?.toISOString&&(n.createdAt=t.toISOString()),n}static fromJSON({createdAt:t,...e}){const n={...e};return t&&(n.createdAt=new Date(t)),n}}class mn extends c{id;buffers;types;baseVersion;metadata;lastOperationId;static TYPE="13";static READABLE_TYPE_NAME="updateDocument";static DESCRIPTOR_NAME="CollaborativeEditingUpdateMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},baseVersion:{type:"uint32",id:2},buffers:{rule:"repeated",type:"bytes",id:3},types:{rule:"repeated",type:"uint32",id:4},metadata:{rule:"repeated",type:"OperationMetadataDescriptor",id:6},lastOperationId:{type:"string",id:7}}};constructor(t,e,n,r,s=[],o=""){super(),this.id=t,this.buffers=e,this.types=n,this.baseVersion=r,this.metadata=s,this.lastOperationId=o}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.baseVersion,lastOperationId:this.lastOperationId}}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,baseVersion:this.baseVersion,metadata:pn.removeUnnecessaryMetadata(this.types,this.metadata).map(fn.toJSON),lastOperationId:this.lastOperationId}}static fromJSON(t){return new mn(t.id,t.buffers,t.types,t.baseVersion,pn.prepareMetadataForOperations(t.types,t.metadata).map(fn.fromJSON),t.lastOperationId)}}class gn extends c{id;lastKnowVersion;bundleVersion;static TYPE="12";static READABLE_TYPE_NAME="reconnectToDocument";static DESCRIPTOR_NAME="CollaborativeEditingReconnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},lastKnowVersion:{type:"uint32",id:3}}};constructor(t,e,n){super(),this.id=t,this.lastKnowVersion=e,this.bundleVersion=n}toJSON(){return{id:this.id,bundleVersion:this.bundleVersion,lastKnowVersion:this.lastKnowVersion}}static fromJSON(t){return new gn(t.id,t.lastKnowVersion,t.bundleVersion)}}class yn extends c{version;buffers;types;metadata;lastOperationId;lastOperationAcceptedAt;static DESCRIPTOR_NAME="CollaborativeEditingResponse";static DESCRIPTOR={fields:{version:{type:"uint32",id:1},buffers:{rule:"repeated",type:"bytes",id:2},types:{rule:"repeated",type:"uint32",id:3},metadata:{rule:"repeated",type:"OperationMetadataDescriptor",id:5},lastOperationId:{type:"string",id:6},lastOperationAcceptedAt:{type:"string",id:7}}};constructor(t,e=[],n=[],r=[],s="",o=null){super(),this.version=t,this.buffers=e,this.types=n,this.metadata=r,this.lastOperationId=s,this.lastOperationAcceptedAt=o}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt}}get wereChangesApplied(){return!this.types?.length}toJSON(){return{version:this.version,buffers:this.buffers,types:this.types,metadata:pn.removeUnnecessaryMetadata(this.types,this.metadata).map(fn.toJSON),lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt instanceof Date?this.lastOperationAcceptedAt.toISOString():this.lastOperationAcceptedAt}}static fromJSON(t){return new yn(t.version,t.buffers,t.types,pn.prepareMetadataForOperations(t.types,t.metadata).map(fn.fromJSON),t.lastOperationId,t.lastOperationAcceptedAt?new Date(t.lastOperationAcceptedAt):null)}static create(t){return new yn(t.version,t.buffers,t.types,t.metadata,t.lastOperationId,t.lastOperationAcceptedAt?new Date(t.lastOperationAcceptedAt):null)}}class bn extends c{channel;version;buffers;types;offset;metadata;initData;sessionId;lastOperationId;sessionCreatedAt;static DESCRIPTOR_NAME="CollaborativeEditingConnectResponse";static DESCRIPTOR=(()=>({fields:{channel:{type:"string",id:1},offset:{type:"uint32",id:2},version:{type:"uint32",id:3},buffers:{rule:"repeated",type:"bytes",id:4},types:{rule:"repeated",type:"uint32",id:5},metadata:{rule:"repeated",type:fn.DESCRIPTOR_NAME,id:7},initData:{type:"string",id:8},isInitialized:{type:"bool",id:9},sessionId:{type:"string",id:10},lastOperationId:{type:"string",id:11},sessionCreatedAt:{type:"string",id:12}}}))();constructor(t,e,n=[],r=[],s=0,o=[],i=null,a="",c="",d=null){super(),this.channel=t,this.version=e,this.buffers=n,this.types=r,this.offset=s,this.metadata=o,this.initData=i,this.sessionId=a,this.lastOperationId=c,this.sessionCreatedAt=d}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt}}get wereChangesApplied(){return!this.types?.length&&null===this.initData}toJSON(){return{channel:this.channel,version:this.version,sessionId:this.sessionId,buffers:this.buffers,types:this.types,offset:this.offset,metadata:pn.removeUnnecessaryMetadata(this.types,this.metadata).map(fn.toJSON),initData:this.initData??"",isInitialized:"string"==typeof this.initData,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt?this.sessionCreatedAt.toISOString():null}}static create(t){return new bn(t.channel,t.version,t.buffers,t.types,t.offset,t.metadata,t.initData,t.sessionId,t.lastOperationId,t.sessionCreatedAt)}static fromJSON(t){let e=null;return!0===t.isInitialized?e=t.initData??"":"boolean"!=typeof t.isInitialized&&t.initData&&(e=t.initData),bn.create({channel:t.channel,version:t.version,buffers:t.buffers,types:t.types,offset:t.offset,metadata:pn.prepareMetadataForOperations(t.types,t.metadata).map(fn.fromJSON),initData:e,sessionId:t.sessionId,lastOperationId:t.lastOperationId,sessionCreatedAt:t.sessionCreatedAt?new Date(t.sessionCreatedAt):null})}}class On extends c{lastDocumentSession;currentDocumentSession;static DESCRIPTOR_NAME="GetDocumentDetailsResponse";static DESCRIPTOR={fields:{lastDocumentSessionId:{type:"string",id:1},lastDocumentSessionOperationId:{type:"string",id:2},currentDocumentSessionId:{type:"string",id:3},currentDocumentSessionVersion:{type:"uint32",id:4},currentDocumentSessionOperationId:{type:"string",id:5}}};constructor(t,e){super(),this.lastDocumentSession=t,this.currentDocumentSession=e}get data(){return{lastDocumentSessionId:this.lastDocumentSession?.id,lastDocumentSessionOperationId:this.lastDocumentSession?.lastOperationId,currentDocumentSessionId:this.currentDocumentSession?.id,currentDocumentSessionVersion:this.currentDocumentSession?.version,currentDocumentSessionOperationId:this.currentDocumentSession?.lastOperationId}}toJSON(){return{lastDocumentSessionId:this.lastDocumentSession?.id,lastDocumentSessionOperationId:this.lastDocumentSession?.lastOperationId,currentDocumentSessionId:this.currentDocumentSession?.id,currentDocumentSessionVersion:this.currentDocumentSession?.version,currentDocumentSessionOperationId:this.currentDocumentSession?.lastOperationId}}static fromJSON(t){const e=t.lastDocumentSessionId?{id:t.lastDocumentSessionId,lastOperationId:t.lastDocumentSessionOperationId}:void 0,n=t.currentDocumentSessionId?{lastOperationId:t.currentDocumentSessionOperationId,version:t.currentDocumentSessionVersion,id:t.currentDocumentSessionId}:void 0;return new On(e,n)}}class wn extends c{documentId;static TYPE="14";static READABLE_TYPE_NAME="getDocumentDetails";static DESCRIPTOR_NAME="GetDocumentDetailsMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},environmentId:{type:"string",id:2}}};constructor(t){super(),this.documentId=t}get data(){return{documentId:this.documentId}}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new wn(t.documentId)}}class vn extends((0,s.EmitterMixin)()){static _SERVICE=1;_bundleVersion;_id;_isConnected;_wsGateway;_channel;_connectedSessions;constructor(t,e){if(super(),!t)throw new TypeError('Param "bundleVersion" must be provided.');this._id=e??sn(),this._isConnected=!1,this._bundleVersion=t}getId(){return this._id}isConnected(){return this._isConnected}connect(t,e={buffers:[],types:[]},n){const r=new hn(this.getId(),e.buffers,e.types,this._bundleVersion,n);return this._connect(t,r)}reconnect(t,e){if(this.isConnected())throw new Kt("Cannot reconnect to already connected service.",t);return this._connect(t,new gn(this.getId(),e,this._bundleVersion))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async getDocumentDetails(){const t=new wn(this.getId());if(!this._wsGateway)throw new Be("Collaborative Editing",this);const e=await this._wsGateway._sendRequest(1,wn.TYPE,p.encode(t));return p.decode(e,On)}async sendOperations(t,e,n){if(!t?.types?.length)throw new Kt("Cannot send empty update.",this._wsGateway);const r="number"==typeof e?e:parseInt(e);if(!Number.isInteger(r)||r<0)throw new Kt("Base version not provided.",this._wsGateway);const s=new mn(this.getId(),t.buffers,t.types,r,[],n);if(!this._wsGateway||!this._isConnected)throw new Be("Collaborative Editing",this);const o=await this._wsGateway._sendRequest(1,mn.TYPE,p.encode(s));return p.decode(o,yn)}async getConnectedSessions(){if(!this._isConnected)throw new Be("Collaborative Editing",this);return this._connectedSessions||(this._connectedSessions=await ln.getConnectedSessions(this._wsGateway,this._id,1)),this._connectedSessions}static getConnectedSessions(t,e){return ln.getConnectedSessions(t,e,1)}async _connect(t,e){if(this.isConnected())return;if(t.state!==Pe.STATE_CONNECTED)throw new Kt("WebSocket Gateway is not connected.",t);this._wsGateway=t,this.stopListening(t,"change:state");const n=await t._sendRequest(1,e.constructor.TYPE,p.encode(e)),r=p.decode(n,bn);return this.listenTo(t,"change:state",(t,e,n)=>this._onWsGatewayStateChange(n),{priority:Pe._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,r.channel),this._isConnected=!0,this.fire("connected"),r}_connectToChannel(t,e){this._channel=t._getChannel(1,e),this.listenTo(this._channel,this._channel.getEventName(mn.TYPE),(t,e)=>{const n=p.decode(e,mn);this.fire("operationsReceived",n.baseVersion,n.data,n.metadata)})}_onWsGatewayStateChange(t){t===Pe.STATE_DISCONNECTED&&this.disconnect()}}class In extends a{static DESCRIPTOR_NAME="CommentDescriptor";static DESCRIPTOR={fields:{commentId:{id:1,type:"string"},commentThreadId:{id:2,type:"string"},userId:{id:3,type:"string"},content:{id:4,type:"string"},documentId:{id:5,type:"string"},createdAt:{id:6,type:"string"},attributes:{id:7,type:"string"}}};static toJSON(t){return{...t,createdAt:t.createdAt?.toISOString(),attributes:t.attributes?JSON.stringify(t.attributes):null}}static fromJSON(t){return{...t,createdAt:new Date(t.createdAt),attributes:t.attributes?JSON.parse(t.attributes):null}}}class Sn extends a{static DESCRIPTOR_NAME="CommentsThreadDescriptor";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"CommentDescriptor",rule:"repeated",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4},context:{type:"string",id:5},createdAt:{type:"string",id:6},deletedAt:{type:"string",id:7},attributes:{type:"string",id:8},unlinkedAt:{type:"string",id:9}}};static toJSON(t){return{...t,createdAt:t.createdAt?.toISOString(),deletedAt:t.deletedAt?.toISOString(),resolvedAt:t.resolvedAt?.toISOString(),attributes:t.attributes?JSON.stringify(t.attributes):null,context:t.context?JSON.stringify(t.context):t.context,comments:t.comments?.map(In.toJSON),unlinkedAt:t.unlinkedAt?.toISOString()}}static fromJSON(t){return{...t,createdAt:t.createdAt?new Date(t.createdAt):void 0,deletedAt:t.deletedAt?new Date(t.deletedAt):void 0,resolvedAt:t.resolvedAt?new Date(t.resolvedAt):void 0,attributes:t.attributes?JSON.parse(t.attributes):null,context:t.context?JSON.parse(t.context):void 0,comments:t.comments?.map(In.fromJSON),unlinkedAt:t.unlinkedAt?new Date(t.unlinkedAt):void 0}}}class kn extends c{documentId;commentThreadId;content;commentId;userId;attributes;commentThread;createdAt;static TYPE="91";static READABLE_TYPE_NAME="addComment";static DESCRIPTOR_NAME="CommentsV2AddCommentMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},content:{type:"string",id:2},documentId:{type:"string",id:3},commentId:{type:"string",id:4},createdAt:{type:"string",id:5},userId:{type:"string",id:6},attributes:{type:"string",id:7},commentThread:{type:"CommentsThreadDescriptor",id:8}}};constructor(t,e,n,r="",s,o="",i=null,a){super(),this.documentId=t,this.commentThreadId=e,this.content=n,this.commentId=r,this.userId=o,this.attributes=i,this.commentThread=a,this.createdAt=s?new Date(s):""}toJSON(){return{commentThreadId:this.commentThreadId,content:this.content,documentId:this.documentId,commentId:this.commentId,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,userId:this.userId,attributes:JSON.stringify(this.attributes),commentThread:this.commentThread?Sn.toJSON(this.commentThread):void 0}}static fromJSON(t){return new kn(t.documentId,t.commentThreadId,t.content,t.commentId?t.commentId:void 0,t.createdAt?new Date(t.createdAt):void 0,t.userId?t.userId:void 0,t.attributes?JSON.parse(t.attributes):{},t.commentThread?Sn.fromJSON(t.commentThread):void 0)}}class Pn extends c{commentThreadId;commentId;createdAt;static DESCRIPTOR_NAME="CommentsV2AddCommentResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},createdAt:{type:"string",id:3}}};constructor(t,e,n){super(),this.commentThreadId=t,this.commentId=e,this.createdAt=new Date(n)}toJSON(){return{commentThreadId:this.commentThreadId,commentId:this.commentId,createdAt:this.createdAt.toISOString()}}static fromJSON(t){return new Pn(t.commentThreadId,t.commentId,t.createdAt)}}class An extends c{documentId;static TYPE="92";static READABLE_TYPE_NAME="connectToComment";static DESCRIPTOR_NAME="CommentsV2ConnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new An(t.documentId)}}class Tn extends c{channel;_threads;_threadsV2;threads;static DESCRIPTOR_NAME="CommentsV2ConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},threads:{type:"string",rule:"repeated",id:2},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:3}}};constructor(t,e,n){super(),this.channel=t,this._threads=e,this._threadsV2=n,this.threads=n?.length?n:e}toJSON(){return{channel:this.channel,threads:this._threads?.map(t=>JSON.stringify(t)),threadsV2:this._threadsV2?.map(Sn.toJSON)}}static fromJSON(t){return new Tn(t.channel,t.threads?.map(t=>JSON.parse(t)),t.threadsV2?.map(Sn.fromJSON))}}class _n extends c{documentId;commentThreadId;commentId;static TYPE="95";static READABLE_TYPE_NAME="removeComment";static DESCRIPTOR_NAME="CommentsV2RemoveCommentMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},documentId:{type:"string",id:3}}};constructor(t,e,n){super(),this.documentId=t,this.commentThreadId=e,this.commentId=n}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId}}static fromJSON(t){return new _n(t.documentId,t.commentThreadId,t.commentId)}}class Cn extends c{documentId;commentThreadId;static TYPE="97";static READABLE_TYPE_NAME="removeCommentThread";static DESCRIPTOR_NAME="CommentsV2RemoveCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(t,e){super(),this.documentId=t,this.commentThreadId=e}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(t){return new Cn(t.documentId,t.commentThreadId)}}class En extends c{documentId;commentThreadId;commentId;content;attributes;isAttributesUpdated;commentThread;static TYPE="96";static READABLE_TYPE_NAME="updateComment";static DESCRIPTOR_NAME="CommentsV2UpdateCommentMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},content:{type:"string",id:3},documentId:{type:"string",id:4},attributes:{type:"string",id:5},isAttributesUpdated:{type:"bool",id:6},commentThread:{type:"CommentsThreadDescriptor",id:7}}};constructor(t,e,n,r,s=null,o=!1,i){super(),this.documentId=t,this.commentThreadId=e,this.commentId=n,this.content=r,this.attributes=s,this.isAttributesUpdated=o,this.commentThread=i}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId,content:this.content,attributes:this.attributes?JSON.stringify(this.attributes):null,isAttributesUpdated:this.isAttributesUpdated,commentThread:this.commentThread?Sn.toJSON(this.commentThread):void 0}}static fromJSON(t){return new En(t.documentId,t.commentThreadId,t.commentId,t.content,t.attributes?JSON.parse(t.attributes):null,t.isAttributesUpdated,t.commentThread?Sn.fromJSON(t.commentThread):void 0)}}class jn extends c{commentThreadId;documentId;static TYPE="93";static READABLE_TYPE_NAME="getComment";static DESCRIPTOR_NAME="CommentsV2GetCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(t,e){super(),this.commentThreadId=t,this.documentId=e}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId}}static fromJSON(t){return new jn(t.commentThreadId,t.documentId)}}class xn extends c{commentThreadId;_comments;_commentsV2;resolvedBy;comments;createdAt;deletedAt;resolvedAt;attributes;context;unlinkedAt;static DESCRIPTOR_NAME="CommentsV2GetCommentThreadResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"string",rule:"repeated",id:2},commentsV2:{type:"CommentDescriptor",rule:"repeated",id:3},resolvedAt:{type:"string",id:4},resolvedBy:{type:"string",id:5},context:{type:"string",id:6},createdAt:{type:"string",id:7},deletedAt:{type:"string",id:8},attributes:{type:"string",id:9},unlinkedAt:{type:"string",id:10}}};constructor(t,e,n,r,s,o,i,a,c,d){super(),this.commentThreadId=t,this._comments=e,this._commentsV2=n,this.resolvedBy=s,this.comments=n?.length?n:e,this.createdAt=i?new Date(i):void 0,this.deletedAt="string"==typeof a?new Date(a):a,this.resolvedAt="string"==typeof c?new Date(c):c,this.unlinkedAt="string"==typeof d?new Date(d):d,this.attributes="string"==typeof r?JSON.parse(r):r,this.context="string"==typeof o?JSON.parse(o):o}toJSON(){return{commentThreadId:this.commentThreadId,comments:this._comments?.map(t=>JSON.stringify(t)),commentsV2:this._commentsV2?.map(In.toJSON),attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,context:this.context?JSON.stringify(this.context):this.context,resolvedBy:this.resolvedBy,createdAt:this.createdAt?.toISOString(),deletedAt:this.deletedAt?.toISOString(),resolvedAt:this.resolvedAt?.toISOString(),unlinkedAt:this.unlinkedAt?.toISOString()}}static fromJSON(t){return new xn(t.commentThreadId,t.comments?.map(t=>function(t){const e=JSON.parse(t);return{...e,createdAt:new Date(e.createdAt)}}(t)),t.commentsV2?.map(In.fromJSON),t.attributes?JSON.parse(t.attributes):t.attributes,t.resolvedBy,t.context?JSON.parse(t.context):t.context,t.createdAt,t.deletedAt,t.resolvedAt,t.unlinkedAt)}}class Dn extends c{documentId;static TYPE="94";static READABLE_TYPE_NAME="getDocumentThreads";static DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new Dn(t.documentId)}}class Rn extends c{_threads;_threadsV2;threads;static DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsResponse";static DESCRIPTOR={fields:{threads:{type:"string",rule:"repeated",id:1},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:2}}};constructor(t,e){super(),this._threads=t,this._threadsV2=e,this.threads=e?.length?e:t}toJSON(){return{threads:this._threads?.map(t=>JSON.stringify(t)),threadsV2:this._threadsV2?.map(Sn.toJSON)}}static fromJSON(t){return new Rn(t.threads?.map(t=>function(t){const e=JSON.parse(t),n={...e};return e.comments&&(n.comments=e.comments?.map(t=>({...t,createdAt:new Date(t.createdAt)}))),n}(t)),t.threadsV2?.map(Sn.fromJSON))}}class Nn extends a{static DESCRIPTOR_NAME="CommentThreadAddedCommentDescriptor";static DESCRIPTOR={fields:{commentId:{id:1,type:"string"},createdAt:{id:2,type:"string"}}};static toJSON(t){return{commentId:t.commentId,createdAt:t.createdAt?.toISOString()}}static fromJSON(t){return{commentId:t.commentId,createdAt:new Date(t.createdAt)}}}class Vn extends c{commentThreadId;comments;createdAt;static DESCRIPTOR_NAME="CommentsV2AddCommentThreadResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},createdAt:{type:"string",id:2},comments:{type:"CommentThreadAddedCommentDescriptor",rule:"repeated",id:3}}};constructor(t,e,n=[]){super(),this.commentThreadId=t,this.comments=n,this.createdAt=new Date(e)}toJSON(){return{commentThreadId:this.commentThreadId,createdAt:this.createdAt.toISOString(),comments:this.comments.map(t=>Nn.toJSON(t))}}static fromJSON(t){return new Vn(t.commentThreadId,t.createdAt,t.comments.map(t=>Nn.fromJSON(t)))}}class Mn extends c{documentId;commentThreadId;comments;context;resolvedBy;attributes;createdAt;resolvedAt;deletedAt;static TYPE="140";static READABLE_TYPE_NAME="addCommentThread";static DESCRIPTOR_NAME="CommentsV2AddCommentThreadMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},commentThreadId:{type:"string",id:2},context:{type:"string",id:3},createdAt:{type:"string",id:4},resolvedAt:{type:"string",id:5},resolvedBy:{type:"string",id:6},attributes:{type:"string",id:7},deletedAt:{type:"string",id:8},comments:{type:"CommentDescriptor",rule:"repeated",id:9}}};constructor(t,e,n=[],r,s=null,o=null,i=null,a=null,c=null){super(),this.documentId=t,this.commentThreadId=e,this.comments=n,this.context=r,this.resolvedBy=s,this.attributes=c,this.createdAt=o?new Date(o):"",this.resolvedAt=i?new Date(i):"",this.deletedAt=a?new Date(a):""}toJSON(){return{commentThreadId:this.commentThreadId,context:this.context?JSON.stringify(this.context):this.context,documentId:this.documentId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt instanceof Date?this.resolvedAt.toISOString():this.resolvedAt,deletedAt:this.deletedAt instanceof Date?this.deletedAt.toISOString():this.deletedAt,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,comments:this.comments?.map(t=>In.toJSON(t))}}static fromJSON(t){return new Mn(t.documentId,t.commentThreadId,t.comments?.map(e=>In.fromJSON({...e,documentId:t.documentId,commentThreadId:t.commentThreadId})),t.context?JSON.parse(t.context):t.context,t.resolvedBy,t.createdAt?new Date(t.createdAt):void 0,t.resolvedAt?new Date(t.resolvedAt):void 0,t.deletedAt?new Date(t.deletedAt):void 0,t.attributes?JSON.parse(t.attributes):t.attributes)}}class Bn extends c{commentThreadId;documentId;resolvedBy;resolvedAt;static TYPE="142";static READABLE_TYPE_NAME="resolveCommentThread";static DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedBy:{type:"string",id:3},resolvedAt:{type:"string",id:4}}};constructor(t,e,n,r){super(),this.commentThreadId=t,this.documentId=e,this.resolvedBy=n,this.resolvedAt=r?new Date(r):void 0}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt?.toISOString()}}static fromJSON(t){return new Bn(t.commentThreadId,t.documentId,t.resolvedBy,t.resolvedAt)}}class Un extends c{commentThreadId;documentId;static TYPE="141";static READABLE_TYPE_NAME="reopenCommentThread";static DESCRIPTOR_NAME="CommentsV2ReopenCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(t,e){super(),this.commentThreadId=t,this.documentId=e}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(t){return new Un(t.commentThreadId,t.documentId)}}class Jn extends c{commentThreadId;documentId;context;attributes;unlinkedAt;static TYPE="143";static READABLE_TYPE_NAME="updateCommentThread";static DESCRIPTOR_NAME="CommentsV2UpdateCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},context:{type:"string",id:3},attributes:{type:"string",id:4},unlinkedAt:{type:"string",id:5}}};constructor(t,e,n,r=null,s=null){super(),this.commentThreadId=t,this.documentId=e,this.context=n,this.attributes=r,this.unlinkedAt=s?new Date(s):""}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,context:this.context?JSON.stringify(this.context):this.context,attributes:this.attributes?JSON.stringify(this.attributes):null,unlinkedAt:this.unlinkedAt instanceof Date?this.unlinkedAt.toISOString():this.unlinkedAt}}static fromJSON(t){return new Jn(t.commentThreadId,t.documentId,t.context?JSON.parse(t.context):t.context,t.attributes?JSON.parse(t.attributes):null,t.unlinkedAt?new Date(t.unlinkedAt):null)}}class qn extends c{commentThreadId;documentId;resolvedBy;resolvedAt;static DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4}}};constructor(t,e,n,r){super(),this.commentThreadId=t,this.documentId=e,this.resolvedBy=n,this.resolvedAt=new Date(r)}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt.toISOString()}}static fromJSON(t){return new qn(t.commentThreadId,t.documentId,t.resolvedBy,t.resolvedAt)}}class Ln extends((0,s.EmitterMixin)()){_documentId;_isConnected=!1;_wsGateway;_channel;_connectedSessions;static _SERVICE=9;constructor(t){super(),this._documentId=t}get isConnected(){return this._isConnected}async connect(t){if(this._isConnected)return;if(t.state!==Se.CONNECTED)throw new Kt("WebSocket Gateway is not connected.",t);const e=new An(this._documentId);this._wsGateway=t,this.stopListening(t,"change:state");const n=await t._sendRequest(9,An.TYPE,p.encode(e)),{channel:r,threads:s}=p.decode(n,Tn);return this.listenTo(t,"change:state",(t,e,n)=>this._onWsGatewayStateChange(n),{priority:Pe._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,r),this._isConnected=!0,this.fire("connected"),s}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async addComment(t,e,n,r){const s=new kn(this._documentId,t,n,e,void 0,void 0,r),o=await this._sendRequest(kn.TYPE,s);return p.decode(o,Pn)}async updateComment(t,e,n,r){const s=void 0!==r,o=new En(this._documentId,t,e,n,r,s);await this._sendRequest(En.TYPE,o)}async removeComment(t,e){const n=new _n(this._documentId,t,e);await this._sendRequest(_n.TYPE,n)}async removeCommentThread(t){const e=new Cn(this._documentId,t);await this._sendRequest(Cn.TYPE,e)}async addCommentThread(t){const e=new Mn(this._documentId,t.commentThreadId,t.comments?.map(e=>({...e,documentId:this._documentId,commentThreadId:t.commentThreadId})),t.context,t.resolvedBy,t.createdAt,t.resolvedAt,t.deletedAt,t.attributes),n=await this._sendRequest(Mn.TYPE,e);return p.decode(n,Vn)}async resolveCommentThread(t){const e=new Bn(t,this._documentId),n=await this._sendRequest(Bn.TYPE,e);return p.decode(n,qn)}async reopenCommentThread(t){const e=new Un(t,this._documentId);await this._sendRequest(Un.TYPE,e)}async updateCommentThread(t){const e=new Jn(t.commentThreadId,this._documentId,t.context,t.attributes,t.unlinkedAt);await this._sendRequest(Jn.TYPE,e)}async getCommentThread(t,e=1){const n=new jn(t,this._documentId);try{const t=await this._sendRequest(jn.TYPE,n),e=p.decode(t,xn);return{commentThreadId:e.commentThreadId,comments:e.comments,attributes:e.attributes,context:e.context,resolvedAt:e.resolvedAt,resolvedBy:e.resolvedBy,deletedAt:e.deletedAt,unlinkedAt:e.unlinkedAt}}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&e<5)return await(r=100*e,new Promise(t=>{setTimeout(t,r)})),this.getCommentThread(t,e+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw Wt.fromPublicError(n)}var r}async getDocumentThreads(){const t=new Dn(this._documentId),e=await this._sendRequest(Dn.TYPE,t),{threads:n}=p.decode(e,Rn);return{threads:n}}async getConnectedSessions(){if(!this._isConnected)throw new Be("Comments",this);return this._connectedSessions||(this._connectedSessions=await ln.getConnectedSessions(this._wsGateway,this._documentId,9)),this._connectedSessions}_connectToChannel(t,e){this._channel=t._getChannel(Ln._SERVICE,e),this._channel&&(this.listenTo(this._channel,this._channel.getEventName(kn.TYPE),(t,e)=>{const n=p.decode(e,kn);this.fire("commentAdded",n)}),this.listenTo(this._channel,this._channel.getEventName(_n.TYPE),(t,e)=>{const n=p.decode(e,_n);this.fire("commentRemoved",n)}),this.listenTo(this._channel,this._channel.getEventName(En.TYPE),(t,e)=>{const n=p.decode(e,En);this.fire("commentUpdated",n)}),this.listenTo(this._channel,this._channel.getEventName(Cn.TYPE),(t,e)=>{const n=p.decode(e,Cn);this.fire("commentThreadRemoved",n)}),this.listenTo(this._channel,this._channel.getEventName(Mn.TYPE),(t,e)=>{const n=p.decode(e,Mn);this.fire("commentThreadAdded",n)}),this.listenTo(this._channel,this._channel.getEventName(Jn.TYPE),(t,e)=>{const n=p.decode(e,Jn);this.fire("commentThreadUpdated",n)}),this.listenTo(this._channel,this._channel.getEventName(Bn.TYPE),(t,e)=>{const n=p.decode(e,Bn);this.fire("commentThreadResolved",n)}),this.listenTo(this._channel,this._channel.getEventName(Un.TYPE),(t,e)=>{const n=p.decode(e,Un);this.fire("commentThreadReopened",n)}))}_onWsGatewayStateChange(t){t===Se.DISCONNECTED&&this.disconnect()}_sendRequest(t,e){if(!this._wsGateway||!this._isConnected)throw new Be("Comments",this);return this._wsGateway._sendRequest(9,t,p.encode(e))}}const Gn=Ln;function Yn(){const t=["connection","requires","The limit of maximum concurrent connections that the collaboration server can handle has been reached. Try opening the document again in a few minutes. Please contact your system administrator if the problem persists.","CONNECTING","set","_shouldPluginsReconnect","DISCONNECTED","add","then","8228704gmvyiB","get","constructor","limitExceeded","_isBrowserOffline","code","define","websocketgateway-invalid-plugin-interface","online","CONNECTED","function","offline","websocketgateway-plugin-already-registered","cloudServices.connectionTimeout","showWarning","plugins","stopListening","cloudservices-init","CloudServices","connect","Connected users limit exceeded","real-time-collaboration","1702196TGJeaT","token","catch","1122513rSfbNh","isPremiumPlugin","WebSocketGateway","addToReconnectionStack","websocketgateway-missing-websocket-url","context","_domEmitter","16WdmGoZ","listenTo","websocketgateway-missing-token","from","1vsDFDn","init","delete","all","cloudservices-reconnection-error","initialReconnectionInterval","reconnect","502595hnWQDe","removeFromReconnectionStack","webSocketUrl","change:me","10617453BdyTCM","pluginName","260BUlckL","_reconnect","error","2092288jRlGnZ","state","disconnect","12MtvkAv","isOfficialPlugin","cloudServices.requestTimeout","destroy","bind","isInReconnectionStack","_reconnectionStack","connected","config","479223BIKzoR","has"];return(Yn=function(){return t})()}const Hn=zn;function zn(t,e){const n=Yn();return(zn=function(t,e){return n[t-=356]})(t,e)}!function(t){const e=zn,n=t();for(;;)try{if(838909===parseInt(e(367))/1*(-parseInt(e(428))/2)+-parseInt(e(356))/3*(parseInt(e(363))/4)+-parseInt(e(374))/5*(parseInt(e(386))/6)+parseInt(e(378))/7+-parseInt(e(383))/8+-parseInt(e(395))/9*(-parseInt(e(380))/10)+parseInt(e(406))/11)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Yn);class Fn extends e.ContextPlugin{static[Hn(358)]=(()=>Pe)();static[Hn(372)]=1e3;[Hn(397)];[Hn(392)];[Hn(402)];[Hn(362)];static get[Hn(398)](){return[Hn(424),o.Notification]}static get[Hn(379)](){return Hn(358)}static get[Hn(387)](){return!0}static get[Hn(357)](){return!0}constructor(t){const e=Hn;super(t),this[e(401)](e(384),Se[e(415)]),this[e(401)](e(410),!1),this[e(392)]=new Set,this[e(402)]=!1,this[e(362)]=new((0,s.DomEmitterMixin)())}[Hn(368)](){const t=Hn,e=this[t(361)],n=e[t(421)][t(407)](t(424)),r=e[t(421)][t(407)](o.Notification);if(!n[t(429)])throw new s.CKEditorError(t(365),this);if(!n[t(376)])throw new s.CKEditorError(t(360),this);return this[t(362)][t(364)](window,t(417),()=>this[t(410)]=!0),this[t(362)][t(364)](window,t(414),()=>this[t(410)]=!1),this[t(361)][t(394)][t(412)](t(419),10),this[t(361)][t(394)][t(412)](t(388),20),Fn[t(358)][t(425)](n[t(429)],n[t(376)],{timeout:1e3*this[t(361)][t(394)][t(407)](t(419)),requestTimeout:1e3*this[t(361)][t(394)][t(407)](t(388))})[t(405)](e=>{const n=t;if(this[n(397)]=e,this[n(390)](n(384)).to(e,n(384),this,n(410),(t,e)=>(n(393)!==t&&(this[n(402)]=!0),e||t!==Se[n(415)]?Se[n(403)]:this[n(384)]==Se[n(403)]&&this[n(402)]?(this[n(402)]=!1,this[n(381)](),Se[n(400)]):Se[n(415)])),this[n(397)].on(n(382),(t,e)=>{const o=n;if(o(409)!==e[o(411)])throw console[o(382)](e),new s.CKEditorError(o(423),null,{originalError:e});r[o(420)](o(399),{title:o(426),namespace:o(427)})}),!e.me)return new Promise(t=>e.on(n(377),t))})[t(430)](e=>{const n=t;throw console[n(382)](e),new s.CKEditorError(n(423),null,{originalError:e})})}[Hn(359)](t){const e=Hn;if(e(416)!=typeof t[e(373)])throw new s.CKEditorError(e(413),this);if(this[e(391)](t))throw new s.CKEditorError(e(418),this,{name:t[e(408)][e(379)]});this[e(392)][e(404)](t)}[Hn(375)](t){const e=Hn;this[e(392)][e(369)](t)}[Hn(391)](t){const e=Hn;return this[e(392)][e(396)](t)}[Hn(381)](){const t=Hn;return this[t(397)][t(373)]()[t(405)](()=>Promise[t(370)](Array[t(366)](this[t(392)],e=>e[t(373)]())))[t(405)](()=>this[t(384)]=Se[t(415)])[t(430)](e=>{const n=t;throw console[n(382)](e),new s.CKEditorError(n(371),this[n(361)])})}[Hn(385)](){const t=Hn;this[t(397)]&&this[t(397)][t(385)](),this[t(384)]=Se[t(403)],this[t(362)][t(422)]()}[Hn(389)](){const t=Hn;this[t(385)](),super[t(389)]()}}var Kn=n(211);const Wn=Qn;function Zn(){const t=["isOfficialPlugin","6KwPWZc","hiddenInPresenceList","_createUser","plugins","init","isMe","_uniqueUsersCount","_users","getUser","set","sessions-register-already-registered","pluginName","isPremiumPlugin","state","stopListening","channelConnectedUsers","user","Sessions","connected","forEach","unregister","getUserRole","requires","connection","size","mySessionId","has","channelSessions","7270390hJFLLO","32992553fkAuQS","get","sessions-unregister-not-exist","delete","remove","values","_handleSessionAdd","allConnectedUsers","register","sessionId","238539LNSEiW","assign","getUserSessions","addUser","18znkWls","change:state","fire","getUserBySessionId","_registeredSessions","role","orderNumber","clear","2059920EHbotB","7DnTGsE","add","_handleSessionRemove","528107qZDLBG","listenTo","context","6372892gEQYek","sessionAdd:","5177820pdTXMT","5gwoNUK","defineMe"];return(Zn=function(){return t})()}function Qn(t,e){const n=Zn();return(Qn=function(t,e){return n[t-=269]})(t,e)}!function(t){const e=Qn,n=t();for(;;)try{if(976321===parseInt(e(314))/1*(-parseInt(e(323))/2)+parseInt(e(298))/3+parseInt(e(317))/4*(-parseInt(e(320))/5)+parseInt(e(319))/6*(parseInt(e(311))/7)+parseInt(e(310))/8*(-parseInt(e(302))/9)+parseInt(e(287))/10+parseInt(e(288))/11)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Zn);class $n extends e.ContextPlugin{[Wn(286)];[Wn(274)];[Wn(295)];[Wn(306)];[Wn(329)];[Wn(330)];static get[Wn(270)](){return Wn(276)}static get[Wn(322)](){return!0}static get[Wn(271)](){return!0}static get[Wn(281)](){return[Fn,Kn.Users]}constructor(t){const e=Wn;super(t),this[e(286)]=new Map,this[e(274)]=new Map,this[e(295)]=new s.Collection,this[e(306)]=new Map,this[e(329)]=0,this[e(330)]=this[e(316)][e(326)][e(289)](Kn.Users)}[Wn(327)](){const t=Wn,e=this[t(316)][t(326)][t(289)](Fn);this[t(315)](e,t(303),(e,n,r)=>{const s=t;if(s(277)!==r)this[s(286)][s(278)](t=>t[s(309)]()),this[s(274)][s(278)](t=>t[s(309)]()),this[s(295)][s(309)]();else for(const[t,e]of this[s(306)])for(const n of e)this[s(294)](t,n)}),this[t(325)](e[t(282)].me,!0)}[Wn(296)](t,e){const n=Wn;if(this[n(306)][n(285)](t))throw new s.CKEditorError(n(269),null,{channelId:t});this[n(306)][n(332)](t,e),this[n(286)][n(332)](t,new s.Collection),this[n(274)][n(332)](t,new s.Collection),this[n(315)](e,n(312),(e,r)=>this[n(294)](t,r)),this[n(315)](e,n(292),(e,r)=>this[n(313)](t,r));for(const r of e)this[n(294)](t,r)}[Wn(279)](t){const e=Wn;if(!this[e(306)][e(285)](t))throw new s.CKEditorError(e(290),null,{channelId:t});const n=this[e(306)][e(289)](t);this[e(273)](n);for(const r of n)e(277)===this[e(316)][e(326)][e(289)](Fn)[e(272)]&&this[e(313)](t,r);this[e(306)][e(291)](t),this[e(286)][e(291)](t),this[e(274)][e(291)](t)}get[Wn(284)](){const t=Wn;return this[t(316)][t(326)][t(289)](Fn)[t(282)][t(297)]}[Wn(305)](t){const e=Wn;for(const n of this[e(286)][e(293)]())for(const r of n)if(r.id===t)return r[e(275)]}[Wn(300)](t,e){const n=Wn,r=e?[this[n(286)][n(289)](e)]:this[n(286)][n(293)](),s=new Set;for(const e of r)for(const r of e)r[n(275)].id===t.id&&s[n(312)](r.id);return s}[Wn(280)](t){const e=Wn;for(const n of this[e(286)][e(293)]())for(const r of n)if(r[e(275)]===t)return r[e(307)]}[Wn(294)](t,e){const n=Wn;if(n(277)!==this[n(316)][n(326)][n(289)](Fn)[n(272)])return;const r=e[n(275)],s=this[n(330)][n(331)](r.id)||this[n(325)](r),o=Object[n(299)]({},e,{user:s});if(this[n(286)][n(289)](t)[n(312)](o),!r[n(324)]){const e=this[n(274)][n(289)](t);e[n(285)](s.id)||e[n(312)](s),this[n(295)][n(285)](s.id)||r[n(324)]||this[n(295)][n(312)](s,s[n(328)]?0:void 0)}this[n(304)](n(318)+t,{channelId:t,session:o})}[Wn(313)](t,e){const n=Wn;if(n(277)!==this[n(316)][n(326)][n(289)](Fn)[n(272)])return;const r=this[n(274)][n(289)](t),s=e[n(275)];s.id&&(this[n(286)][n(289)](t)[n(292)](e.id),r[n(285)](s.id)&&!this[n(300)](s,t)[n(283)]&&r[n(292)](s.id),this[n(295)][n(289)](s.id)&&!this[n(300)](s)[n(283)]&&this[n(295)][n(292)](s.id))}[Wn(325)](t,e){const n=Wn,r=this[n(330)][n(301)](t);return e&&this[n(330)][n(321)](t.id),r[n(308)]=this[n(329)]++,r}}var Xn=n(789),tr=n.n(Xn),er=n(437),nr=n.n(er),rr=n(298),sr=n.n(rr),or=n(207),ir=n.n(or),ar=n(825),cr=n.n(ar),dr=n(725),ur={attributes:{"data-cke":!0}};ur.setAttributes=ir(),ur.insert=sr().bind(null,"head"),ur.domAPI=nr(),ur.insertStyleElement=cr();tr()(dr.A,ur);dr.A&&dr.A.locals&&dr.A.locals;function lr(t,e){const n=pr();return(lr=function(t,e){return n[t-=206]})(t,e)}const hr=lr;function pr(){const t=["nodeAfter","update:user:range","6UtIMfX","7774020IlCrra","markerRange","getContainedElement","name","stopListening","set","mouseenter","6mBzMfv","user:position","innerHTML","markerNameToElements","enqueueChange","tableCell","isSimilar","3256lfHnrp","plugins","mySessionId","root",'⁠<span class="ck-user__marker-line" contenteditable="false"><span class="ck-user__marker-dot"></span></span>',"$text","model","addEventListener","UserMarkers","isCollapsed","$graveyard","markerName","contenteditable","addMarker","keydown","isPremiumPlugin","delete","fromRange","150MvLybA","getPositions","user:position:","user:","mouseleave","setCustomProperty","4128082Hybxos","detach","isDocumentOperation","newRange","_createdBatches","orderNumber","selection","conversion","getAttribute","ck-user__marker-tooltip","add","updateMarker","size","mapper","getSelectionClass","hasContent","checkChild","init","ck-user__marker_hovered","_domEmitter","isObject","for","clear","editing","commands","color","marker","getStart","ck-user__selection","change","destroy","end","144vZRefn","false","document","user:range","isInline","getMarkerClass","getUserBySessionId","textContent","toDomElement","requires","span","removeMarker","remove","toRange","deletionPosition","hasDomSelection","view","parent","listenTo","rootName","removeClass","split","pluginName","highest","markers","userPositionMarker","spellcheck","createElement","21684cfDzXc","ck-user__marker ","user:range:","batch","element","createUIElement","change:range","258525HKLlBh","setAttribute","afterInit","editor","createRange","markerToHighlight","render","undo","reconvertMarker","has","getFirstRange","startsWith","markerToElement","Escape","type","createUserMarkerOperations","schema","editingDowncast","isLimit","start","applyOperation","getNearestSelectionRange","getRange","isOfficialPlugin","261031bWzQIL","data-session-id","3402124DIJBrU","classList","outerHTML","getCustomProperty","oldRange","get"];return(pr=function(){return t})()}!function(t){const e=lr,n=t();for(;;)try{if(406827===parseInt(e(246))/1+-parseInt(e(271))/2*(-parseInt(e(264))/3)+-parseInt(e(215))/4*(-parseInt(e(289))/5)+parseInt(e(256))/6*(-parseInt(e(295))/7)+-parseInt(e(327))/8*(parseInt(e(222))/9)+parseInt(e(257))/10+parseInt(e(248))/11)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(pr);class fr extends e.Plugin{[hr(314)]=new((0,s.DomEmitterMixin)());static get[hr(336)](){return[$n]}static get[hr(209)](){return hr(279)}static get[hr(245)](){return!0}static get[hr(286)](){return!0}[hr(312)](){const t=hr,e=this[t(225)],n=e[t(272)][t(253)]($n);e[t(302)][t(316)](t(239))[t(234)]({model:t(265),view:(r,{writer:s})=>function(e,n,r,s){const o=t,i=e[o(282)][o(208)](":")[2],a=r[o(333)](i);if(!a||i===r[o(273)])return;if(!s[o(277)][o(238)][o(311)](e[o(258)][o(241)],o(276)))return;const c={class:o(216)+a[o(320)][o(332)](),"data-name":a[o(260)],"data-session-id":i},d=s[o(277)][o(211)][o(253)](e[o(282)])[o(322)](),u=d[o(254)],l=s[o(277)][o(238)];if(u&&l[o(315)](u)&&l[o(331)](u)&&!s[o(277)][o(211)][o(253)](o(217)+i)[o(244)]()[o(280)])return;const h=d[o(344)];return s[o(277)][o(238)][o(240)](h)&&!s[o(277)][o(310)](h)&&(c[o(283)]=!1),function(t,e,n){const r=o,s=t[r(220)](r(337),e);return t[r(294)](r(212),!0,s),s[r(228)]=function(t){const e=r,s=this[e(335)](t),o=document[e(214)](e(337));return o[e(249)][e(305)](e(304)),o[e(223)](e(283),e(328)),o[e(223)](e(213),e(328)),o[e(334)]=n[e(260)],s[e(266)]=e(275)+o[e(250)]+"⁠",s[e(278)](e(263),()=>{const t=e;s[t(249)][t(305)](t(313))}),s[e(278)](e(293),()=>{const t=e;s[t(249)][t(339)](t(313))}),s},s[r(270)]=function(t){const e=r;return!(!this[e(251)](e(212))||!t[e(251)](e(212))||this[e(303)](e(247))!=t[e(303)](e(247)))},s}(n,c,a)}(r,s,n,e)}),e[t(302)][t(316)](t(239))[t(227)]({model:t(330),view:e=>function(e,n){const r=t,s=e[r(282)][r(208)](":")[2];if(s===n[r(273)])return null;const o=n[r(333)](s);return o?{id:s,classes:[r(323),o[r(320)][r(309)]()],attributes:{"data-session-id":s},priority:2e3+o[r(300)]}:{id:s,classes:[]}}(e,n)}),function(e){const n=t,r=e[n(277)],s=new Map,o=e[n(272)][n(253)]($n);r[n(211)].on(n(255),(t,a,c,d)=>{const u=n;if(!d&&s[u(253)](a[u(260)]))return s[u(253)](a[u(260)])[u(296)](),void s[u(287)](a[u(260)]);const l=a[u(260)][u(208)](":")[2];if(l===o[u(273)])return;const h=u(291)+l;r[u(211)][u(231)](h)&&e[u(318)][u(230)](h),a.on(u(221),(t,e,n)=>{const o=u;if(o(281)!=e[o(274)][o(206)]&&o(281)==a[o(244)]()[o(274)][o(206)]&&!s[o(231)](a[o(260)])){const t=r[o(238)][o(243)](n[o(341)]);if(t){const e=i.ModelLiveRange[o(288)](t);s[o(262)](a[o(260)],e),e.on(o(221),(t,n,i)=>{const c=o;if(c(281)==e[c(274)][c(206)]){const t=r[c(238)][c(243)](i[c(341)]);t?(e[c(241)]=t[c(241)],e[c(326)]=t[c(326)]):(s[c(287)](a[c(260)]),e[c(296)]())}})}}})}),r[n(329)].on(n(324),()=>{const t=n;s[t(307)]>0&&r[t(268)]({isUndoable:!1},e=>{const n=t;for(const[t,o]of s)n(281)==r[n(211)][n(253)](t)[n(244)]()[n(274)][n(206)]&&(mr(t[n(208)](":")[2],o[n(340)](),r,e),o[n(296)]());s[n(317)]()})})}(e),this[t(314)][t(345)](s.global[t(329)],t(285),(n,{key:r})=>{const s=t;s(235)===r&&function(t){const e=s;t[e(318)][e(343)][e(324)](n=>{const r=e;for(const e of t[r(277)][r(211)]){if(!e[r(260)][r(233)](r(265)))continue;const s=t[r(318)][r(308)][r(267)](e[r(260)]);if(s)for(const t of s)n[r(207)](r(313),t)}})}(e)},{useCapture:!0})}[hr(224)](){const t=hr,e=this[t(225)],n=e[t(319)][t(253)](t(229));n&&e[t(277)].on(t(242),(r,s)=>{const o=t,i=s[0];if(!i[o(297)])return;if(o(321)!=i[o(236)]||!i[o(260)][o(233)](o(292)))return;const a=i[o(218)];n[o(299)][o(231)](a)&&(i[o(298)]=i[o(252)]?e[o(277)][o(226)](i[o(252)][o(241)],i[o(252)][o(326)]):null)},{priority:t(210)})}[hr(325)](){const t=hr;return this[t(314)][t(261)](),super[t(325)]()}[hr(237)](){const t=hr,e=this[t(225)],n=e[t(277)][t(329)],r=e[t(272)][t(253)]($n);e[t(277)][t(268)]({isUndoable:!1},s=>{const o=t,i=o(217)+r[o(273)],a=o(291)+r[o(273)],c=e[o(277)][o(211)][o(231)](i);e[o(318)][o(343)][o(342)]?mr(r[o(273)],n[o(301)][o(232)](),e[o(277)],s):c&&(s[o(338)](i),s[o(338)](a))})}}function mr(t,e,n,r){const s=hr,o=s(217)+t,i=s(291)+t,a=e[s(259)]();let c=e[s(241)];if(a&&a.is(s(219),s(269))){const t=function(t,e){const n=s;for(const r of t[n(290)]())if(e[n(238)][n(311)](r,n(276)))return r}(e,n);t&&(c=t,e=r[s(226)](c))}const d=r[s(226)](c);n[s(211)][s(231)](o)?(r[s(306)](o,{range:e}),r[s(306)](i,{range:d})):(r[s(284)](o,{range:e,usingOperation:!0}),r[s(284)](i,{range:d,usingOperation:!0}))}function gr(t,e,n){const r=t.t,s=t.t;switch(e){case"PENDING_ACTION_SENDING_DATA":return s({string:"Sending data to the server.",id:"PENDING_ACTION_SENDING_DATA"});case"The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.":return s("The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.");case"The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.":return s("The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.");case"The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.":return s("The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.");case"The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.":return s("The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.");case"Synchronization issue":return s("Synchronization issue");case"Connected users list dropdown menu":return s("Connected users list dropdown menu");case"Collapsed connected users list (press ENTER to open it)":return s("Collapsed connected users list (press ENTER to open it)");case"Connected users list":return s("Connected users list");case"PENDING_ACTION_REVISION_HISTORY":return r({string:"Unsaved change in revision history.",id:"PENDING_ACTION_REVISION_HISTORY"});case"CONNECTED_USERS":return s({string:"1 connected user (me)",plural:"%0 connected users",id:"CONNECTED_USERS"},n);default:return""}}const yr=(()=>{var t=l.Reader,e=l.Writer,n=l.util,r=l.roots.default||(l.roots.default={});return r.AttributeOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.range=null,s.prototype.key="",s.prototype.oldValueBoolean=!1,s.prototype.oldValueJson="",s.prototype.newValueBoolean=!1,s.prototype.newValueJson="",s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.range&&Object.hasOwnProperty.call(t,"range")&&r.Range.encode(t.range,n.uint32(10).fork()).ldelim(),null!=t.key&&Object.hasOwnProperty.call(t,"key")&&n.uint32(18).string(t.key),null!=t.oldValueBoolean&&Object.hasOwnProperty.call(t,"oldValueBoolean")&&n.uint32(24).bool(t.oldValueBoolean),null!=t.oldValueJson&&Object.hasOwnProperty.call(t,"oldValueJson")&&n.uint32(34).string(t.oldValueJson),null!=t.newValueBoolean&&Object.hasOwnProperty.call(t,"newValueBoolean")&&n.uint32(40).bool(t.newValueBoolean),null!=t.newValueJson&&Object.hasOwnProperty.call(t,"newValueJson")&&n.uint32(50).string(t.newValueJson),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(56).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.AttributeOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.range=r.Range.decode(e,e.uint32(),void 0,o+1);break;case 2:a.key=e.string();break;case 3:a.oldValueBoolean=e.bool();break;case 4:a.oldValueJson=e.string();break;case 5:a.newValueBoolean=e.bool();break;case 6:a.newValueJson=e.string();break;case 7:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";if(null!=t.range&&t.hasOwnProperty("range")){var s=r.Range.verify(t.range,e+1);if(s)return"range."+s}return null!=t.key&&t.hasOwnProperty("key")&&!n.isString(t.key)?"key: string expected":null!=t.oldValueBoolean&&t.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof t.oldValueBoolean?"oldValueBoolean: boolean expected":null!=t.oldValueJson&&t.hasOwnProperty("oldValueJson")&&!n.isString(t.oldValueJson)?"oldValueJson: string expected":null!=t.newValueBoolean&&t.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof t.newValueBoolean?"newValueBoolean: boolean expected":null!=t.newValueJson&&t.hasOwnProperty("newValueJson")&&!n.isString(t.newValueJson)?"newValueJson: string expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.AttributeOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.AttributeOperation;if(null!=t.range){if("object"!=typeof t.range)throw TypeError(".AttributeOperation.range: object expected");s.range=r.Range.fromObject(t.range,e+1)}return null!=t.key&&(s.key=String(t.key)),null!=t.oldValueBoolean&&(s.oldValueBoolean=Boolean(t.oldValueBoolean)),null!=t.oldValueJson&&(s.oldValueJson=String(t.oldValueJson)),null!=t.newValueBoolean&&(s.newValueBoolean=Boolean(t.newValueBoolean)),null!=t.newValueJson&&(s.newValueJson=String(t.newValueJson)),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.range=null,n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=t.range&&t.hasOwnProperty("range")&&(n.range=r.Range.toObject(t.range,e)),null!=t.key&&t.hasOwnProperty("key")&&(n.key=t.key),null!=t.oldValueBoolean&&t.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=t.oldValueBoolean),null!=t.oldValueJson&&t.hasOwnProperty("oldValueJson")&&(n.oldValueJson=t.oldValueJson),null!=t.newValueBoolean&&t.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=t.newValueBoolean),null!=t.newValueJson&&t.hasOwnProperty("newValueJson")&&(n.newValueJson=t.newValueJson),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/AttributeOperation"},s}(),r.InsertOperation=function(){function s(t){if(this.nodes=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.position=null,s.prototype.nodes=n.emptyArray,s.prototype.shouldReceiveAttributes=!1,s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.position&&Object.hasOwnProperty.call(t,"position")&&r.Position.encode(t.position,n.uint32(10).fork()).ldelim(),null!=t.nodes&&t.nodes.length)for(var s=0;s<t.nodes.length;++s)r.Element.encode(t.nodes[s],n.uint32(18).fork()).ldelim();return null!=t.shouldReceiveAttributes&&Object.hasOwnProperty.call(t,"shouldReceiveAttributes")&&n.uint32(24).bool(t.shouldReceiveAttributes),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(32).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.InsertOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.position=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 2:a.nodes&&a.nodes.length||(a.nodes=[]),a.nodes.push(r.Element.decode(e,e.uint32(),void 0,o+1));break;case 3:a.shouldReceiveAttributes=e.bool();break;case 4:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";if(null!=t.position&&t.hasOwnProperty("position")&&(o=r.Position.verify(t.position,e+1)))return"position."+o;if(null!=t.nodes&&t.hasOwnProperty("nodes")){if(!Array.isArray(t.nodes))return"nodes: array expected";for(var s=0;s<t.nodes.length;++s){var o;if(o=r.Element.verify(t.nodes[s],e+1))return"nodes."+o}}return null!=t.shouldReceiveAttributes&&t.hasOwnProperty("shouldReceiveAttributes")&&"boolean"!=typeof t.shouldReceiveAttributes?"shouldReceiveAttributes: boolean expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.InsertOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.InsertOperation;if(null!=t.position){if("object"!=typeof t.position)throw TypeError(".InsertOperation.position: object expected");s.position=r.Position.fromObject(t.position,e+1)}if(t.nodes){if(!Array.isArray(t.nodes))throw TypeError(".InsertOperation.nodes: array expected");s.nodes=[];for(var o=0;o<t.nodes.length;++o){if("object"!=typeof t.nodes[o])throw TypeError(".InsertOperation.nodes: object expected");s.nodes[o]=r.Element.fromObject(t.nodes[o],e+1)}}return null!=t.shouldReceiveAttributes&&(s.shouldReceiveAttributes=Boolean(t.shouldReceiveAttributes)),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.nodes=[]),e.defaults&&(n.position=null,n.shouldReceiveAttributes=!1,n.wasUndone=!1),null!=t.position&&t.hasOwnProperty("position")&&(n.position=r.Position.toObject(t.position,e)),t.nodes&&t.nodes.length){n.nodes=[];for(var s=0;s<t.nodes.length;++s)n.nodes[s]=r.Element.toObject(t.nodes[s],e)}return null!=t.shouldReceiveAttributes&&t.hasOwnProperty("shouldReceiveAttributes")&&(n.shouldReceiveAttributes=t.shouldReceiveAttributes),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/InsertOperation"},s}(),r.MarkerOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.name="",s.prototype.oldRange=null,s.prototype.newRange=null,s.prototype.affectsData=!1,s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&n.uint32(10).string(t.name),null!=t.oldRange&&Object.hasOwnProperty.call(t,"oldRange")&&r.Range.encode(t.oldRange,n.uint32(18).fork()).ldelim(),null!=t.newRange&&Object.hasOwnProperty.call(t,"newRange")&&r.Range.encode(t.newRange,n.uint32(26).fork()).ldelim(),null!=t.affectsData&&Object.hasOwnProperty.call(t,"affectsData")&&n.uint32(32).bool(t.affectsData),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(40).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.MarkerOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.name=e.string();break;case 2:a.oldRange=r.Range.decode(e,e.uint32(),void 0,o+1);break;case 3:a.newRange=r.Range.decode(e,e.uint32(),void 0,o+1);break;case 4:a.affectsData=e.bool();break;case 5:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";if(null!=t.name&&t.hasOwnProperty("name")&&!n.isString(t.name))return"name: string expected";var s;if(null!=t.oldRange&&t.hasOwnProperty("oldRange")&&(s=r.Range.verify(t.oldRange,e+1)))return"oldRange."+s;if(null!=t.newRange&&t.hasOwnProperty("newRange")&&(s=r.Range.verify(t.newRange,e+1)))return"newRange."+s;return null!=t.affectsData&&t.hasOwnProperty("affectsData")&&"boolean"!=typeof t.affectsData?"affectsData: boolean expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.MarkerOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.MarkerOperation;if(null!=t.name&&(s.name=String(t.name)),null!=t.oldRange){if("object"!=typeof t.oldRange)throw TypeError(".MarkerOperation.oldRange: object expected");s.oldRange=r.Range.fromObject(t.oldRange,e+1)}if(null!=t.newRange){if("object"!=typeof t.newRange)throw TypeError(".MarkerOperation.newRange: object expected");s.newRange=r.Range.fromObject(t.newRange,e+1)}return null!=t.affectsData&&(s.affectsData=Boolean(t.affectsData)),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.name="",n.oldRange=null,n.newRange=null,n.affectsData=!1,n.wasUndone=!1),null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.oldRange&&t.hasOwnProperty("oldRange")&&(n.oldRange=r.Range.toObject(t.oldRange,e)),null!=t.newRange&&t.hasOwnProperty("newRange")&&(n.newRange=r.Range.toObject(t.newRange,e)),null!=t.affectsData&&t.hasOwnProperty("affectsData")&&(n.affectsData=t.affectsData),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/MarkerOperation"},s}(),r.MergeOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.sourcePosition=null,s.prototype.targetPosition=null,s.prototype.graveyardPosition=null,s.prototype.howMany=0,s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.sourcePosition&&Object.hasOwnProperty.call(t,"sourcePosition")&&r.Position.encode(t.sourcePosition,n.uint32(10).fork()).ldelim(),null!=t.targetPosition&&Object.hasOwnProperty.call(t,"targetPosition")&&r.Position.encode(t.targetPosition,n.uint32(18).fork()).ldelim(),null!=t.graveyardPosition&&Object.hasOwnProperty.call(t,"graveyardPosition")&&r.Position.encode(t.graveyardPosition,n.uint32(26).fork()).ldelim(),null!=t.howMany&&Object.hasOwnProperty.call(t,"howMany")&&n.uint32(32).uint32(t.howMany),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(40).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.MergeOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.sourcePosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 2:a.targetPosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 3:a.graveyardPosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 4:a.howMany=e.uint32();break;case 5:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";var s;if(null!=t.sourcePosition&&t.hasOwnProperty("sourcePosition")&&(s=r.Position.verify(t.sourcePosition,e+1)))return"sourcePosition."+s;if(null!=t.targetPosition&&t.hasOwnProperty("targetPosition")&&(s=r.Position.verify(t.targetPosition,e+1)))return"targetPosition."+s;if(null!=t.graveyardPosition&&t.hasOwnProperty("graveyardPosition")&&(s=r.Position.verify(t.graveyardPosition,e+1)))return"graveyardPosition."+s;return null!=t.howMany&&t.hasOwnProperty("howMany")&&!n.isInteger(t.howMany)?"howMany: integer expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.MergeOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.MergeOperation;if(null!=t.sourcePosition){if("object"!=typeof t.sourcePosition)throw TypeError(".MergeOperation.sourcePosition: object expected");s.sourcePosition=r.Position.fromObject(t.sourcePosition,e+1)}if(null!=t.targetPosition){if("object"!=typeof t.targetPosition)throw TypeError(".MergeOperation.targetPosition: object expected");s.targetPosition=r.Position.fromObject(t.targetPosition,e+1)}if(null!=t.graveyardPosition){if("object"!=typeof t.graveyardPosition)throw TypeError(".MergeOperation.graveyardPosition: object expected");s.graveyardPosition=r.Position.fromObject(t.graveyardPosition,e+1)}return null!=t.howMany&&(s.howMany=t.howMany>>>0),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.sourcePosition=null,n.targetPosition=null,n.graveyardPosition=null,n.howMany=0,n.wasUndone=!1),null!=t.sourcePosition&&t.hasOwnProperty("sourcePosition")&&(n.sourcePosition=r.Position.toObject(t.sourcePosition,e)),null!=t.targetPosition&&t.hasOwnProperty("targetPosition")&&(n.targetPosition=r.Position.toObject(t.targetPosition,e)),null!=t.graveyardPosition&&t.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=r.Position.toObject(t.graveyardPosition,e)),null!=t.howMany&&t.hasOwnProperty("howMany")&&(n.howMany=t.howMany),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/MergeOperation"},s}(),r.MoveOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.sourcePosition=null,s.prototype.howMany=0,s.prototype.targetPosition=null,s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.sourcePosition&&Object.hasOwnProperty.call(t,"sourcePosition")&&r.Position.encode(t.sourcePosition,n.uint32(10).fork()).ldelim(),null!=t.howMany&&Object.hasOwnProperty.call(t,"howMany")&&n.uint32(16).uint32(t.howMany),null!=t.targetPosition&&Object.hasOwnProperty.call(t,"targetPosition")&&r.Position.encode(t.targetPosition,n.uint32(26).fork()).ldelim(),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(32).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.MoveOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.sourcePosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 2:a.howMany=e.uint32();break;case 3:a.targetPosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 4:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";var s;if(null!=t.sourcePosition&&t.hasOwnProperty("sourcePosition")&&(s=r.Position.verify(t.sourcePosition,e+1)))return"sourcePosition."+s;if(null!=t.howMany&&t.hasOwnProperty("howMany")&&!n.isInteger(t.howMany))return"howMany: integer expected";if(null!=t.targetPosition&&t.hasOwnProperty("targetPosition")&&(s=r.Position.verify(t.targetPosition,e+1)))return"targetPosition."+s;return null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.MoveOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.MoveOperation;if(null!=t.sourcePosition){if("object"!=typeof t.sourcePosition)throw TypeError(".MoveOperation.sourcePosition: object expected");s.sourcePosition=r.Position.fromObject(t.sourcePosition,e+1)}if(null!=t.howMany&&(s.howMany=t.howMany>>>0),null!=t.targetPosition){if("object"!=typeof t.targetPosition)throw TypeError(".MoveOperation.targetPosition: object expected");s.targetPosition=r.Position.fromObject(t.targetPosition,e+1)}return null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.sourcePosition=null,n.howMany=0,n.targetPosition=null,n.wasUndone=!1),null!=t.sourcePosition&&t.hasOwnProperty("sourcePosition")&&(n.sourcePosition=r.Position.toObject(t.sourcePosition,e)),null!=t.howMany&&t.hasOwnProperty("howMany")&&(n.howMany=t.howMany),null!=t.targetPosition&&t.hasOwnProperty("targetPosition")&&(n.targetPosition=r.Position.toObject(t.targetPosition,e)),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/MoveOperation"},s}(),r.RenameOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.position=null,s.prototype.oldName="",s.prototype.newName="",s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.position&&Object.hasOwnProperty.call(t,"position")&&r.Position.encode(t.position,n.uint32(10).fork()).ldelim(),null!=t.oldName&&Object.hasOwnProperty.call(t,"oldName")&&n.uint32(18).string(t.oldName),null!=t.newName&&Object.hasOwnProperty.call(t,"newName")&&n.uint32(26).string(t.newName),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(32).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.RenameOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.position=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 2:a.oldName=e.string();break;case 3:a.newName=e.string();break;case 4:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";if(null!=t.position&&t.hasOwnProperty("position")){var s=r.Position.verify(t.position,e+1);if(s)return"position."+s}return null!=t.oldName&&t.hasOwnProperty("oldName")&&!n.isString(t.oldName)?"oldName: string expected":null!=t.newName&&t.hasOwnProperty("newName")&&!n.isString(t.newName)?"newName: string expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.RenameOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.RenameOperation;if(null!=t.position){if("object"!=typeof t.position)throw TypeError(".RenameOperation.position: object expected");s.position=r.Position.fromObject(t.position,e+1)}return null!=t.oldName&&(s.oldName=String(t.oldName)),null!=t.newName&&(s.newName=String(t.newName)),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.position=null,n.oldName="",n.newName="",n.wasUndone=!1),null!=t.position&&t.hasOwnProperty("position")&&(n.position=r.Position.toObject(t.position,e)),null!=t.oldName&&t.hasOwnProperty("oldName")&&(n.oldName=t.oldName),null!=t.newName&&t.hasOwnProperty("newName")&&(n.newName=t.newName),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RenameOperation"},s}(),r.RootAttributeOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.root="",s.prototype.key="",s.prototype.oldValueBoolean=!1,s.prototype.oldValueJson="",s.prototype.newValueBoolean=!1,s.prototype.newValueJson="",s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.root&&Object.hasOwnProperty.call(t,"root")&&n.uint32(10).string(t.root),null!=t.key&&Object.hasOwnProperty.call(t,"key")&&n.uint32(18).string(t.key),null!=t.oldValueBoolean&&Object.hasOwnProperty.call(t,"oldValueBoolean")&&n.uint32(24).bool(t.oldValueBoolean),null!=t.oldValueJson&&Object.hasOwnProperty.call(t,"oldValueJson")&&n.uint32(34).string(t.oldValueJson),null!=t.newValueBoolean&&Object.hasOwnProperty.call(t,"newValueBoolean")&&n.uint32(40).bool(t.newValueBoolean),null!=t.newValueJson&&Object.hasOwnProperty.call(t,"newValueJson")&&n.uint32(50).string(t.newValueJson),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(56).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.RootAttributeOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.root=e.string();break;case 2:a.key=e.string();break;case 3:a.oldValueBoolean=e.bool();break;case 4:a.oldValueJson=e.string();break;case 5:a.newValueBoolean=e.bool();break;case 6:a.newValueJson=e.string();break;case 7:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){return"object"!=typeof t||null===t?"object expected":(void 0===e&&(e=0),e>n.recursionLimit?"maximum nesting depth exceeded":null!=t.root&&t.hasOwnProperty("root")&&!n.isString(t.root)?"root: string expected":null!=t.key&&t.hasOwnProperty("key")&&!n.isString(t.key)?"key: string expected":null!=t.oldValueBoolean&&t.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof t.oldValueBoolean?"oldValueBoolean: boolean expected":null!=t.oldValueJson&&t.hasOwnProperty("oldValueJson")&&!n.isString(t.oldValueJson)?"oldValueJson: string expected":null!=t.newValueBoolean&&t.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof t.newValueBoolean?"newValueBoolean: boolean expected":null!=t.newValueJson&&t.hasOwnProperty("newValueJson")&&!n.isString(t.newValueJson)?"newValueJson: string expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null)},s.fromObject=function(t,e){if(t instanceof r.RootAttributeOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.RootAttributeOperation;return null!=t.root&&(s.root=String(t.root)),null!=t.key&&(s.key=String(t.key)),null!=t.oldValueBoolean&&(s.oldValueBoolean=Boolean(t.oldValueBoolean)),null!=t.oldValueJson&&(s.oldValueJson=String(t.oldValueJson)),null!=t.newValueBoolean&&(s.newValueBoolean=Boolean(t.newValueBoolean)),null!=t.newValueJson&&(s.newValueJson=String(t.newValueJson)),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.root="",n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=t.root&&t.hasOwnProperty("root")&&(n.root=t.root),null!=t.key&&t.hasOwnProperty("key")&&(n.key=t.key),null!=t.oldValueBoolean&&t.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=t.oldValueBoolean),null!=t.oldValueJson&&t.hasOwnProperty("oldValueJson")&&(n.oldValueJson=t.oldValueJson),null!=t.newValueBoolean&&t.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=t.newValueBoolean),null!=t.newValueJson&&t.hasOwnProperty("newValueJson")&&(n.newValueJson=t.newValueJson),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RootAttributeOperation"},s}(),r.RootOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.rootName="",s.prototype.elementName="",s.prototype.isAdd=!1,s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.rootName&&Object.hasOwnProperty.call(t,"rootName")&&n.uint32(10).string(t.rootName),null!=t.elementName&&Object.hasOwnProperty.call(t,"elementName")&&n.uint32(18).string(t.elementName),null!=t.isAdd&&Object.hasOwnProperty.call(t,"isAdd")&&n.uint32(24).bool(t.isAdd),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(32).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.RootOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.rootName=e.string();break;case 2:a.elementName=e.string();break;case 3:a.isAdd=e.bool();break;case 4:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){return"object"!=typeof t||null===t?"object expected":(void 0===e&&(e=0),e>n.recursionLimit?"maximum nesting depth exceeded":null!=t.rootName&&t.hasOwnProperty("rootName")&&!n.isString(t.rootName)?"rootName: string expected":null!=t.elementName&&t.hasOwnProperty("elementName")&&!n.isString(t.elementName)?"elementName: string expected":null!=t.isAdd&&t.hasOwnProperty("isAdd")&&"boolean"!=typeof t.isAdd?"isAdd: boolean expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null)},s.fromObject=function(t,e){if(t instanceof r.RootOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.RootOperation;return null!=t.rootName&&(s.rootName=String(t.rootName)),null!=t.elementName&&(s.elementName=String(t.elementName)),null!=t.isAdd&&(s.isAdd=Boolean(t.isAdd)),null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.rootName="",n.elementName="",n.isAdd=!1,n.wasUndone=!1),null!=t.rootName&&t.hasOwnProperty("rootName")&&(n.rootName=t.rootName),null!=t.elementName&&t.hasOwnProperty("elementName")&&(n.elementName=t.elementName),null!=t.isAdd&&t.hasOwnProperty("isAdd")&&(n.isAdd=t.isAdd),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RootOperation"},s}(),r.SplitOperation=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.splitPosition=null,s.prototype.graveyardPosition=null,s.prototype.howMany=0,s.prototype.insertionPosition=null,s.prototype.wasUndone=!1,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.splitPosition&&Object.hasOwnProperty.call(t,"splitPosition")&&r.Position.encode(t.splitPosition,n.uint32(10).fork()).ldelim(),null!=t.graveyardPosition&&Object.hasOwnProperty.call(t,"graveyardPosition")&&r.Position.encode(t.graveyardPosition,n.uint32(18).fork()).ldelim(),null!=t.howMany&&Object.hasOwnProperty.call(t,"howMany")&&n.uint32(24).uint32(t.howMany),null!=t.insertionPosition&&Object.hasOwnProperty.call(t,"insertionPosition")&&r.Position.encode(t.insertionPosition,n.uint32(34).fork()).ldelim(),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&n.uint32(40).bool(t.wasUndone),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.SplitOperation;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.splitPosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 2:a.graveyardPosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 3:a.howMany=e.uint32();break;case 4:a.insertionPosition=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 5:a.wasUndone=e.bool();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";var s;if(null!=t.splitPosition&&t.hasOwnProperty("splitPosition")&&(s=r.Position.verify(t.splitPosition,e+1)))return"splitPosition."+s;if(null!=t.graveyardPosition&&t.hasOwnProperty("graveyardPosition")&&(s=r.Position.verify(t.graveyardPosition,e+1)))return"graveyardPosition."+s;if(null!=t.howMany&&t.hasOwnProperty("howMany")&&!n.isInteger(t.howMany))return"howMany: integer expected";if(null!=t.insertionPosition&&t.hasOwnProperty("insertionPosition")&&(s=r.Position.verify(t.insertionPosition,e+1)))return"insertionPosition."+s;return null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(t,e){if(t instanceof r.SplitOperation)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.SplitOperation;if(null!=t.splitPosition){if("object"!=typeof t.splitPosition)throw TypeError(".SplitOperation.splitPosition: object expected");s.splitPosition=r.Position.fromObject(t.splitPosition,e+1)}if(null!=t.graveyardPosition){if("object"!=typeof t.graveyardPosition)throw TypeError(".SplitOperation.graveyardPosition: object expected");s.graveyardPosition=r.Position.fromObject(t.graveyardPosition,e+1)}if(null!=t.howMany&&(s.howMany=t.howMany>>>0),null!=t.insertionPosition){if("object"!=typeof t.insertionPosition)throw TypeError(".SplitOperation.insertionPosition: object expected");s.insertionPosition=r.Position.fromObject(t.insertionPosition,e+1)}return null!=t.wasUndone&&(s.wasUndone=Boolean(t.wasUndone)),s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.splitPosition=null,n.graveyardPosition=null,n.howMany=0,n.insertionPosition=null,n.wasUndone=!1),null!=t.splitPosition&&t.hasOwnProperty("splitPosition")&&(n.splitPosition=r.Position.toObject(t.splitPosition,e)),null!=t.graveyardPosition&&t.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=r.Position.toObject(t.graveyardPosition,e)),null!=t.howMany&&t.hasOwnProperty("howMany")&&(n.howMany=t.howMany),null!=t.insertionPosition&&t.hasOwnProperty("insertionPosition")&&(n.insertionPosition=r.Position.toObject(t.insertionPosition,e)),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SplitOperation"},s}(),r.Position=function(){function s(t){if(this.path=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.root="",s.prototype.rootMain=!1,s.prototype.rootGraveyard=!1,s.prototype.path=n.emptyArray,s.prototype.stickiness="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.root&&Object.hasOwnProperty.call(t,"root")&&n.uint32(10).string(t.root),null!=t.rootMain&&Object.hasOwnProperty.call(t,"rootMain")&&n.uint32(16).bool(t.rootMain),null!=t.rootGraveyard&&Object.hasOwnProperty.call(t,"rootGraveyard")&&n.uint32(24).bool(t.rootGraveyard),null!=t.path&&t.path.length){n.uint32(34).fork();for(var r=0;r<t.path.length;++r)n.uint32(t.path[r]);n.ldelim()}return null!=t.stickiness&&Object.hasOwnProperty.call(t,"stickiness")&&n.uint32(42).string(t.stickiness),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.Position;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.root=e.string();break;case 2:a.rootMain=e.bool();break;case 3:a.rootGraveyard=e.bool();break;case 4:if(a.path&&a.path.length||(a.path=[]),2==(7&c))for(var d=e.uint32()+e.pos;e.pos<d;)a.path.push(e.uint32());else a.path.push(e.uint32());break;case 5:a.stickiness=e.string();break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";if(null!=t.root&&t.hasOwnProperty("root")&&!n.isString(t.root))return"root: string expected";if(null!=t.rootMain&&t.hasOwnProperty("rootMain")&&"boolean"!=typeof t.rootMain)return"rootMain: boolean expected";if(null!=t.rootGraveyard&&t.hasOwnProperty("rootGraveyard")&&"boolean"!=typeof t.rootGraveyard)return"rootGraveyard: boolean expected";if(null!=t.path&&t.hasOwnProperty("path")){if(!Array.isArray(t.path))return"path: array expected";for(var r=0;r<t.path.length;++r)if(!n.isInteger(t.path[r]))return"path: integer[] expected"}return null!=t.stickiness&&t.hasOwnProperty("stickiness")&&!n.isString(t.stickiness)?"stickiness: string expected":null},s.fromObject=function(t,e){if(t instanceof r.Position)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.Position;if(null!=t.root&&(s.root=String(t.root)),null!=t.rootMain&&(s.rootMain=Boolean(t.rootMain)),null!=t.rootGraveyard&&(s.rootGraveyard=Boolean(t.rootGraveyard)),t.path){if(!Array.isArray(t.path))throw TypeError(".Position.path: array expected");s.path=[];for(var o=0;o<t.path.length;++o)s.path[o]=t.path[o]>>>0}return null!=t.stickiness&&(s.stickiness=String(t.stickiness)),s},s.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.path=[]),e.defaults&&(n.root="",n.rootMain=!1,n.rootGraveyard=!1,n.stickiness=""),null!=t.root&&t.hasOwnProperty("root")&&(n.root=t.root),null!=t.rootMain&&t.hasOwnProperty("rootMain")&&(n.rootMain=t.rootMain),null!=t.rootGraveyard&&t.hasOwnProperty("rootGraveyard")&&(n.rootGraveyard=t.rootGraveyard),t.path&&t.path.length){n.path=[];for(var r=0;r<t.path.length;++r)n.path[r]=t.path[r]}return null!=t.stickiness&&t.hasOwnProperty("stickiness")&&(n.stickiness=t.stickiness),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/Position"},s}(),r.Range=function(){function s(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.start=null,s.prototype.end=null,s.create=function(t){return new s(t)},s.encode=function(t,n){return n||(n=e.create()),null!=t.start&&Object.hasOwnProperty.call(t,"start")&&r.Position.encode(t.start,n.uint32(10).fork()).ldelim(),null!=t.end&&Object.hasOwnProperty.call(t,"end")&&r.Position.encode(t.end,n.uint32(18).fork()).ldelim(),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,n,s,o){if(e instanceof t||(e=t.create(e)),void 0===o&&(o=0),o>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var i=void 0===n?e.len:e.pos+n,a=new r.Range;e.pos<i;){var c=e.uint32();if(c===s)break;switch(c>>>3){case 1:a.start=r.Position.decode(e,e.uint32(),void 0,o+1);break;case 2:a.end=r.Position.decode(e,e.uint32(),void 0,o+1);break;default:e.skipType(7&c,o)}}return a},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";var s;if(null!=t.start&&t.hasOwnProperty("start")&&(s=r.Position.verify(t.start,e+1)))return"start."+s;if(null!=t.end&&t.hasOwnProperty("end")&&(s=r.Position.verify(t.end,e+1)))return"end."+s;return null},s.fromObject=function(t,e){if(t instanceof r.Range)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.Range;if(null!=t.start){if("object"!=typeof t.start)throw TypeError(".Range.start: object expected");s.start=r.Position.fromObject(t.start,e+1)}if(null!=t.end){if("object"!=typeof t.end)throw TypeError(".Range.end: object expected");s.end=r.Position.fromObject(t.end,e+1)}return s},s.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.start=null,n.end=null),null!=t.start&&t.hasOwnProperty("start")&&(n.start=r.Position.toObject(t.start,e)),null!=t.end&&t.hasOwnProperty("end")&&(n.end=r.Position.toObject(t.end,e)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/Range"},s}(),r.Element=function(){function s(t){if(this.children=[],this.attributesBoolean={},t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&"__proto__"!==e[n]&&(this[e[n]]=t[e[n]])}return s.prototype.name="",s.prototype.children=n.emptyArray,s.prototype.data="",s.prototype.attributesBoolean=n.emptyObject,s.prototype.attributesJson="",s.create=function(t){return new s(t)},s.encode=function(t,n){if(n||(n=e.create()),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&n.uint32(10).string(t.name),null!=t.children&&t.children.length)for(var s=0;s<t.children.length;++s)r.Element.encode(t.children[s],n.uint32(18).fork()).ldelim();if(null!=t.data&&Object.hasOwnProperty.call(t,"data")&&n.uint32(26).string(t.data),null!=t.attributesBoolean&&Object.hasOwnProperty.call(t,"attributesBoolean")){var o=Object.keys(t.attributesBoolean);for(s=0;s<o.length;++s)n.uint32(34).fork().uint32(10).string(o[s]).uint32(16).bool(t.attributesBoolean[o[s]]).ldelim()}return null!=t.attributesJson&&Object.hasOwnProperty.call(t,"attributesJson")&&n.uint32(42).string(t.attributesJson),n},s.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},s.decode=function(e,s,o,i){if(e instanceof t||(e=t.create(e)),void 0===i&&(i=0),i>t.recursionLimit)throw Error("maximum nesting depth exceeded");for(var a,c,d=void 0===s?e.len:e.pos+s,u=new r.Element;e.pos<d;){var l=e.uint32();if(l===o)break;switch(l>>>3){case 1:u.name=e.string();break;case 2:u.children&&u.children.length||(u.children=[]),u.children.push(r.Element.decode(e,e.uint32(),void 0,i+1));break;case 3:u.data=e.string();break;case 4:u.attributesBoolean===n.emptyObject&&(u.attributesBoolean={});var h=e.uint32()+e.pos;for(a="",c=!1;e.pos<h;){var p=e.uint32();switch(p>>>3){case 1:a=e.string();break;case 2:c=e.bool();break;default:e.skipType(7&p,i)}}"__proto__"===a&&n.makeProp(u.attributesBoolean,a),u.attributesBoolean[a]=c;break;case 5:u.attributesJson=e.string();break;default:e.skipType(7&l,i)}}return u},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(t,e){if("object"!=typeof t||null===t)return"object expected";if(void 0===e&&(e=0),e>n.recursionLimit)return"maximum nesting depth exceeded";if(null!=t.name&&t.hasOwnProperty("name")&&!n.isString(t.name))return"name: string expected";if(null!=t.children&&t.hasOwnProperty("children")){if(!Array.isArray(t.children))return"children: array expected";for(var s=0;s<t.children.length;++s){var o=r.Element.verify(t.children[s],e+1);if(o)return"children."+o}}if(null!=t.data&&t.hasOwnProperty("data")&&!n.isString(t.data))return"data: string expected";if(null!=t.attributesBoolean&&t.hasOwnProperty("attributesBoolean")){if(!n.isObject(t.attributesBoolean))return"attributesBoolean: object expected";var i=Object.keys(t.attributesBoolean);for(s=0;s<i.length;++s)if("boolean"!=typeof t.attributesBoolean[i[s]])return"attributesBoolean: boolean{k:string} expected"}return null!=t.attributesJson&&t.hasOwnProperty("attributesJson")&&!n.isString(t.attributesJson)?"attributesJson: string expected":null},s.fromObject=function(t,e){if(t instanceof r.Element)return t;if(void 0===e&&(e=0),e>n.recursionLimit)throw Error("maximum nesting depth exceeded");var s=new r.Element;if(null!=t.name&&(s.name=String(t.name)),t.children){if(!Array.isArray(t.children))throw TypeError(".Element.children: array expected");s.children=[];for(var o=0;o<t.children.length;++o){if("object"!=typeof t.children[o])throw TypeError(".Element.children: object expected");s.children[o]=r.Element.fromObject(t.children[o],e+1)}}if(null!=t.data&&(s.data=String(t.data)),t.attributesBoolean){if("object"!=typeof t.attributesBoolean)throw TypeError(".Element.attributesBoolean: object expected");s.attributesBoolean={};var i=Object.keys(t.attributesBoolean);for(o=0;o<i.length;++o)"__proto__"===i[o]&&n.makeProp(s.attributesBoolean,i[o]),s.attributesBoolean[i[o]]=Boolean(t.attributesBoolean[i[o]])}return null!=t.attributesJson&&(s.attributesJson=String(t.attributesJson)),s},s.toObject=function(t,e){e||(e={});var s,o={};if((e.arrays||e.defaults)&&(o.children=[]),(e.objects||e.defaults)&&(o.attributesBoolean={}),e.defaults&&(o.name="",o.data="",o.attributesJson=""),null!=t.name&&t.hasOwnProperty("name")&&(o.name=t.name),t.children&&t.children.length){o.children=[];for(var i=0;i<t.children.length;++i)o.children[i]=r.Element.toObject(t.children[i],e)}if(null!=t.data&&t.hasOwnProperty("data")&&(o.data=t.data),t.attributesBoolean&&(s=Object.keys(t.attributesBoolean)).length){o.attributesBoolean={};for(i=0;i<s.length;++i)"__proto__"===s[i]&&n.makeProp(o.attributesBoolean,s[i]),o.attributesBoolean[s[i]]=t.attributesBoolean[s[i]]}return null!=t.attributesJson&&t.hasOwnProperty("attributesJson")&&(o.attributesJson=t.attributesJson),o},s.prototype.toJSON=function(){return this.constructor.toObject(this,l.util.toJSONOptions)},s.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/Element"},s}(),r})();class br{_protobufRoot;constructor(){this._protobufRoot=yr}getDescriptor(t){return new Or(this._protobufRoot[t])}}class Or{_protobuf;constructor(t){this._protobuf=t}compress(t){const e=this._protobuf.verify(t);if(e)throw Error(e);return this._protobuf.encode(this._protobuf.create(t)).finish()}decompress(t){return this._protobuf.toObject(this._protobuf.decode(t),{oneofs:!0})}}function wr(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const vr="[object RegExp]",Ir="[object String]",Sr="[object Number]",kr="[object Boolean]",Pr="[object Arguments]",Ar="[object Symbol]",Tr="[object Date]",_r="[object Map]",Cr="[object Set]",Er="[object Array]",jr="[object ArrayBuffer]",xr="[object Object]",Dr="[object DataView]",Rr="[object Uint8Array]",Nr="[object Uint8ClampedArray]",Vr="[object Uint16Array]",Mr="[object Uint32Array]",Br="[object Int8Array]",Ur="[object Int16Array]",Jr="[object Int32Array]",qr="[object Float32Array]",Lr="[object Float64Array]";function Gr(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}const Yr="object"==typeof globalThis&&globalThis||"object"==typeof window&&window||"object"==typeof self&&self||"object"==typeof n.g&&n.g||function(){return this}();function Hr(t){return void 0!==Yr.Buffer&&Yr.Buffer.isBuffer(t)}function zr(t,e,n,r=new Map,s=void 0){const o=s?.(t,e,n,r);if(void 0!==o)return o;if(function(t){return null==t||"object"!=typeof t&&"function"!=typeof t}(t))return t;if(r.has(t))return r.get(t);if(Array.isArray(t)){const e=new Array(t.length);r.set(t,e);for(let o=0;o<t.length;o++)e[o]=zr(t[o],o,n,r,s);return Object.hasOwn(t,"index")&&(e.index=t.index),Object.hasOwn(t,"input")&&(e.input=t.input),e}if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){const e=new RegExp(t.source,t.flags);return e.lastIndex=t.lastIndex,e}if(t instanceof Map){const e=new Map;r.set(t,e);for(const[o,i]of t)e.set(o,zr(i,o,n,r,s));return e}if(t instanceof Set){const e=new Set;r.set(t,e);for(const o of t)e.add(zr(o,void 0,n,r,s));return e}if(Hr(t))return t.subarray();if(function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}(t)){const e=new(Object.getPrototypeOf(t).constructor)(t.length);r.set(t,e);for(let o=0;o<t.length;o++)e[o]=zr(t[o],o,n,r,s);return e}if(t instanceof ArrayBuffer||"undefined"!=typeof SharedArrayBuffer&&t instanceof SharedArrayBuffer)return t.slice(0);if(t instanceof DataView){const e=new DataView(t.buffer.slice(0),t.byteOffset,t.byteLength);return r.set(t,e),Fr(e,t,n,r,s),e}if("undefined"!=typeof File&&t instanceof File){const e=new File([t],t.name,{type:t.type});return r.set(t,e),Fr(e,t,n,r,s),e}if("undefined"!=typeof Blob&&t instanceof Blob){const e=new Blob([t],{type:t.type});return r.set(t,e),Fr(e,t,n,r,s),e}if(t instanceof Error){const e=structuredClone(t);return r.set(t,e),e.message=t.message,e.name=t.name,e.stack=t.stack,e.cause=t.cause,e.constructor=t.constructor,Fr(e,t,n,r,s),e}if(t instanceof Boolean){const e=new Boolean(t.valueOf());return r.set(t,e),Fr(e,t,n,r,s),e}if(t instanceof Number){const e=new Number(t.valueOf());return r.set(t,e),Fr(e,t,n,r,s),e}if(t instanceof String){const e=new String(t.valueOf());return r.set(t,e),Fr(e,t,n,r,s),e}if("object"==typeof t&&function(t){switch(wr(t)){case Pr:case Er:case jr:case Dr:case kr:case Tr:case qr:case Lr:case Br:case Ur:case Jr:case _r:case Sr:case xr:case vr:case Cr:case Ir:case Ar:case Rr:case Nr:case Vr:case Mr:return!0;default:return!1}}(t)){const e=Object.create(Object.getPrototypeOf(t));return r.set(t,e),Fr(e,t,n,r,s),e}return t}function Fr(t,e,n=t,r,s){const o=[...Object.keys(e),...Gr(e)];for(let i=0;i<o.length;i++){const a=o[i],c=Object.getOwnPropertyDescriptor(t,a);(null==c||c.writable)&&(t[a]=zr(e[a],a,n,r,s))}}function Kr(t,e){return function(t,e){return zr(t,void 0,t,new Map,e)}(t,(n,r,s,o)=>{const i=e?.(n,r,s,o);if(void 0!==i)return i;if("object"==typeof t){if("[object Object]"===wr(t)&&"function"!=typeof t.constructor){const e={};return o.set(t,e),Fr(e,t,s,o),e}switch(Object.prototype.toString.call(t)){case Sr:case Ir:case kr:{const e=new t.constructor(t?.valueOf());return Fr(e,t),e}case Pr:{const e={};return Fr(e,t),e.length=t.length,e[Symbol.iterator]=t[Symbol.iterator],e}default:return}}})}function Wr(t){return Kr(t)}function Zr(){}function Qr(t){if(!t||"object"!=typeof t)return!1;const e=Object.getPrototypeOf(t);return(null===e||e===Object.prototype||null===Object.getPrototypeOf(e))&&"[object Object]"===Object.prototype.toString.call(t)}function $r(t,e,n,r,s,o,i){const a=i(t,e,n,r,s,o);if(void 0!==a)return a;if(typeof t==typeof e)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return t===e;case"number":return t===e||Object.is(t,e);case"object":return Xr(t,e,o,i)}return Xr(t,e,o,i)}function Xr(t,e,n,r){if(Object.is(t,e))return!0;let s=wr(t),o=wr(e);if("[object Arguments]"===s&&(s=xr),"[object Arguments]"===o&&(o=xr),s!==o)return!1;switch(s){case Ir:return t.toString()===e.toString();case Sr:return function(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}(t.valueOf(),e.valueOf());case kr:case Tr:case Ar:return Object.is(t.valueOf(),e.valueOf());case vr:return t.source===e.source&&t.flags===e.flags;case"[object Function]":return t===e}const i=(n=n??new Map).get(t),a=n.get(e);if(null!=i&&null!=a)return i===e;n.set(t,e),n.set(e,t);try{switch(s){case _r:if(t.size!==e.size)return!1;for(const[s,o]of t.entries())if(!e.has(s)||!$r(o,e.get(s),s,t,e,n,r))return!1;return!0;case Cr:{if(t.size!==e.size)return!1;const s=Array.from(t.values()),o=Array.from(e.values());for(let i=0;i<s.length;i++){const a=s[i],c=o.findIndex(s=>$r(a,s,void 0,t,e,n,r));if(-1===c)return!1;o.splice(c,1)}return!0}case Er:case Rr:case Nr:case Vr:case Mr:case"[object BigUint64Array]":case Br:case Ur:case Jr:case"[object BigInt64Array]":case qr:case Lr:if(Hr(t)!==Hr(e))return!1;if(t.length!==e.length)return!1;for(let s=0;s<t.length;s++)if(!$r(t[s],e[s],s,t,e,n,r))return!1;return!0;case jr:return t.byteLength===e.byteLength&&Xr(new Uint8Array(t),new Uint8Array(e),n,r);case Dr:return t.byteLength===e.byteLength&&t.byteOffset===e.byteOffset&&Xr(new Uint8Array(t),new Uint8Array(e),n,r);case"[object Error]":return t.name===e.name&&t.message===e.message;case xr:{if(!(Xr(t.constructor,e.constructor,n,r)||Qr(t)&&Qr(e)))return!1;const s=[...Object.keys(t),...Gr(t)],o=[...Object.keys(e),...Gr(e)];if(s.length!==o.length)return!1;for(let o=0;o<s.length;o++){const i=s[o],a=t[i];if(!Object.hasOwn(e,i))return!1;if(!$r(a,e[i],i,t,e,n,r))return!1}return!0}default:return!1}}finally{n.delete(t),n.delete(e)}}function ts(t,e){return function(t,e,n){return $r(t,e,void 0,void 0,void 0,void 0,n)}(t,e,Zr)}function es(t){return null!==t&&("object"==typeof t||"function"==typeof t)}function ns(t,e){const n=Wr(t);return n.path[n.path.length-1]+=e,n}function rs(t,e){return t.root===e.root&&ts(t.path,e.path)}function ss(t){is(t,t=>("main"==t.root?(t.rootMain=!0,delete t.root):"$graveyard"==t.root&&(t.rootGraveyard=!0,delete t.root),t))}function os(t){is(t,t=>(t.rootMain?(t.root="main",delete t.rootMain):t.rootGraveyard&&(t.root="$graveyard",delete t.rootGraveyard),t))}function is(t,e){for(const n in t){const r=t[n];"nodes"!==n&&es(r)&&(r.path&&(r.root||r.rootMain||r.rootGraveyard)?t[n]=e(r):is(r,e))}return t}class as{_id;_operationName;_protobufDescriptor;constructor(t,e,n){this._id=t,this._operationName=e,this._protobufDescriptor=n}compress(t,e){const n=e.operations[e.index++];return ss(n),t.buffers.push(this._protobufDescriptor.compress(n)),t.types.push(this._id),!0}decompress(t,e){e.typeIndex++;const n=e.buffers[e.bufferIndex++],r=this._protobufDescriptor.decompress(n);os(r),r.__className=this._operationName,t.push(r)}}class cs extends as{compress(t,e){const n=e.operations[e.index++];return this._serializeOneOf("oldValue",n),this._serializeOneOf("newValue",n),ss(n),t.buffers.push(this._protobufDescriptor.compress(n)),t.types.push(this._id),!0}decompress(t,e){e.typeIndex++;const n=e.buffers[e.bufferIndex++],r=this._protobufDescriptor.decompress(n);this._deserializeOneOf("oldValue",r),this._deserializeOneOf("newValue",r),os(r),r.__className=this._operationName,t.push(r)}_serializeOneOf(t,e){const n=e[t];"boolean"==typeof n?e[`${t}Boolean`]=n:e[`${t}Json`]=JSON.stringify(n)}_deserializeOneOf(t,e){const n=`${t}Json`;e[n]?(e[t]=JSON.parse(e[n]),delete e[n]):(e[t]=e[`${t}Boolean`],delete e[`${t}Boolean`])}}class ds extends as{compress(t,e){const n=e.operations[e.index++];return this._serializeNodesAttributes(n.nodes),ss(n),t.buffers.push(this._protobufDescriptor.compress(n)),t.types.push(this._id),!0}decompress(t,e){e.typeIndex++;const n=e.buffers[e.bufferIndex++],r=this._protobufDescriptor.decompress(n);r.nodes||(r.nodes=[]),this._deserializeNodesAttributes(r.nodes),os(r),r.__className=this._operationName,t.push(r)}_serializeNodesAttributes(t){for(const e of t){if(e.attributes){const t=e.attributes;this._areValuesBoolean(t)?e.attributesBoolean=t:e.attributesJson=JSON.stringify(t)}e.children&&this._serializeNodesAttributes(e.children)}}_deserializeNodesAttributes(t){for(const e of t)(e.attributesBoolean||e.attributesJson)&&(e.attributesBoolean?(e.attributes=e.attributesBoolean,delete e.attributesBoolean):(e.attributes=JSON.parse(e.attributesJson),delete e.attributesJson)),e.children&&this._deserializeNodesAttributes(e.children)}_areValuesBoolean(t){return Object.keys(t).every(e=>"boolean"==typeof t[e])}}class us extends as{decompress(t,e){super.decompress(t,e);const n=t[t.length-1];n.oldRange||(n.oldRange=null),n.newRange||(n.newRange=null)}}class ls extends as{compress(t,e){return e.index++,t.types.push(this._id),!0}decompress(t,e){e.typeIndex++,t.push({__className:this._operationName})}}class hs extends us{_omittedNamespace;constructor(t,e,n,r){super(t,e,n),this._omittedNamespace=r+":"}compress(t,e){const n=e.operations[e.index];return!("MarkerOperation"!=n.__className||!n.name.startsWith(this._omittedNamespace))&&(n.name=n.name.replace(new RegExp("^"+this._omittedNamespace),""),super.compress(t,e),!0)}decompress(t,e){super.decompress(t,e);const n=t[t.length-1];n.name=this._omittedNamespace+n.name}}class ps{_id;_context;constructor(t,e){this._id=t,this._context=e}compress(t,e){let n,r=e.operations[e.index],s=e.operations[e.index+1];for(;s&&this._compareOperations(r,s);)n?(n=this._combineNext(r,n),t.types.push(0)):(n=Wr(r),t.types.push(this._id)),e.index++,r=e.operations[e.index],s=e.operations[e.index+1];return!!n&&(n=this._combineNext(e.operations[e.index++],n),t.types.push(0),t.buffers.push(this._compressSingleOperation(n)),!0)}decompress(t,e){const n=this._decompressSingleOperation(e);for(;0==e.types[e.typeIndex];)e.typeIndex++,t.push(this._splitCurrent(n));t.push(n)}}class fs extends ps{_combineNext(t,e){return e.nodes[0].data+=t.nodes[0].data,e}_splitCurrent(t){const e=Wr(t),n=e.nodes[0],r=t.nodes[0],s=r.data[Symbol.iterator]().next().value,o=s.length;return n.data=s,r.data=r.data.substr(o),t.position=ns(t.position,o),e}_compareOperations(t,e){if(this._checkOperation(t)&&this._checkOperation(e)){const n=t.nodes[0].data.length,r=rs(ns(t.position,n),e.position),s=t.nodes[0],o=e.nodes[0];return r&&this._compareAttributes(s,o)}return!1}_compressSingleOperation(t){const e={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("InsertOperation").compress(e,{operations:[t],index:0}),e.buffers[0]}_decompressSingleOperation(t){const e=[];return this._context._getCompressorByName("InsertOperation").decompress(e,t),e[0]}_checkOperation(t){return"InsertOperation"==t.__className&&1==t.nodes.length&&t.nodes[0].data&&!t.wasUndone&&1==Array.from(t.nodes[0].data).length}_compareAttributes(t,e){const n=Object.keys(t.attributes||{}),r=Object.keys(e.attributes||{});return n.length===r.length&&n.every(n=>e.attributes[n]&&e.attributes[n]===t.attributes[n])}}class ms extends ps{_combineNext(t,e){return e.howMany++,e.sourcePosition=Wr(t.sourcePosition),e}_splitCurrent(t){const e=Wr(t);return t.howMany--,e.howMany=1,e.sourcePosition=ns(e.sourcePosition,t.howMany),e}_compareOperations(t,e){return!(!this._checkOperation(t)||!this._checkOperation(e))&&(rs(ns(t.sourcePosition,-1),e.sourcePosition)&&rs(t.targetPosition,e.targetPosition))}_compressSingleOperation(t){const e={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(e,{operations:[t],index:0}),e.buffers[0]}_decompressSingleOperation(t){const e=[];return this._context._getCompressorByName("MoveOperation").decompress(e,t),e[0]}_checkOperation(t){return"MoveOperation"==t.__className&&"$graveyard"==t.targetPosition.root&&1==t.howMany&&!t.wasUndone}}class gs extends ps{_combineNext(t,e){return e.howMany++,e}_splitCurrent(t){const e=Wr(t);return e.howMany=1,t.howMany--,e}_compareOperations(t,e){return!(!this._checkOperation(t)||!this._checkOperation(e))&&(rs(t.sourcePosition,e.sourcePosition)&&rs(t.targetPosition,e.targetPosition))}_compressSingleOperation(t){const e={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(e,{operations:[t],index:0}),e.buffers[0]}_decompressSingleOperation(t){const e=[];return this._context._getCompressorByName("MoveOperation").decompress(e,t),e[0]}_checkOperation(t){return"MoveOperation"==t.__className&&"$graveyard"==t.targetPosition.root&&1==t.howMany&&!t.wasUndone}}class ys extends ps{compress(t,e){if(!this._compareOperations(e.operations[e.index],e.operations[e.index+1]))return!1;const n=e.operations[e.index++];return n.oldRange=null,n.newRange&&rs(n.newRange.start,n.newRange.end)&&(n.newRange.end=null),e.index++,t.types.push(this._id),t.types.push(0),t.buffers.push(this._compressSingleOperation(n)),!0}decompress(t,e){const n=this._decompressSingleOperation(e);n.newRange&&!n.newRange.end&&(n.newRange.end=Wr(n.newRange.start));const r=Wr(n);r.newRange&&(r.newRange.start.stickiness="toNone",r.newRange.end=Wr(r.newRange.start)),r.name="user:position:"+r.name.split(":")[2],e.typeIndex++,t.push(n),t.push(r)}_compressSingleOperation(t){const e={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MarkerOperation").compress(e,{operations:[t],index:0}),e.buffers[0]}_decompressSingleOperation(t){const e=[];return this._context._getCompressorByName("MarkerOperation").decompress(e,t),e[0]}_compareOperations(t,e){return!(!t||!e)&&("MarkerOperation"==t.__className&&"MarkerOperation"==e.__className&&!(!t.name.startsWith("user:")||!e.name.startsWith("user:")||t.name==e.name))}}class bs{_compressorById;_compressorByName;_protobufFactory;constructor(){this._compressorById=new Map,this._compressorByName=new Map,this._protobufFactory=new br;const t=this._protobufFactory.getDescriptor("MarkerOperation");this._registerCompressor(1,"NoOperation",new ls(1,"NoOperation",void 0)),this._registerOperationCompressor(10,"AttributeOperation",cs),this._registerOperationCompressor(11,"InsertOperation",ds),this._registerOperationCompressor(12,"MarkerOperation",us),this._registerOperationCompressor(13,"MergeOperation",as),this._registerOperationCompressor(14,"MoveOperation",as),this._registerOperationCompressor(15,"RenameOperation",as),this._registerOperationCompressor(16,"RootAttributeOperation",cs),this._registerOperationCompressor(17,"SplitOperation",as),this._registerCompressor(18,"CommentMarkerOperation",new hs(18,"MarkerOperation",t,"comment")),this._registerCompressor(19,"SuggestionMarkerOperation",new hs(19,"MarkerOperation",t,"suggestion")),this._registerOperationCompressor(20,"RootOperation",as),this._registerActionCompressor(100,"TypingAction",fs),this._registerActionCompressor(101,"DeletingAction",ms),this._registerActionCompressor(102,"ForwardDeletingAction",gs),this._registerActionCompressor(103,"UserSelectionAction",ys)}compress(t){if(!t||!t[0])throw new s.CKEditorError("no-operations-provided",this);const e={operations:t,index:0},n={types:[],buffers:[],baseVersion:t[0].baseVersion};for(;e.index<e.operations.length;){if(this._getCompressorByName("UserSelectionAction").compress(n,e))continue;if(this._getCompressorByName("TypingAction").compress(n,e))continue;if(this._getCompressorByName("DeletingAction").compress(n,e))continue;if(this._getCompressorByName("ForwardDeletingAction").compress(n,e))continue;if(this._getCompressorByName("CommentMarkerOperation").compress(n,e))continue;if(this._getCompressorByName("SuggestionMarkerOperation").compress(n,e))continue;const t=e.operations[e.index].__className;this._getCompressorByName(t).compress(n,e)}return n}decompress(t){const e=[],n={types:t.types,buffers:t.buffers,baseVersion:t.baseVersion,typeIndex:0,bufferIndex:0};for(;n.typeIndex<n.types.length;){const t=n.types[n.typeIndex],r=this._compressorById.get(t);if(!r)throw new s.CKEditorError("decompress-compressor-not-found",this,{type:t});r.decompress(e,n)}return e.forEach((e,n)=>e.baseVersion=t.baseVersion+n),e}_getCompressorByName(t){return this._compressorByName.get(t)}_registerOperationCompressor(t,e,n){const r=new n(t,e,this._protobufFactory.getDescriptor(e));this._registerCompressor(t,e,r)}_registerActionCompressor(t,e,n){const r=new n(t,this);this._registerCompressor(t,e,r)}_registerCompressor(t,e,n){this._compressorById.set(t,n),this._compressorByName.set(e,n)}}const Os=Is;function ws(){const t=["_isLoaded","realtimecollaborationclient-sendbufferedoperations","clone","currentDocumentSession","_loadRoot","rtc-destroyed","applyOperation","model","permissions","type","from","reset","_updateServerHistory","attributes","directChange","length","InsertOperation","history","document","_decompressOperations","_addKnownRoot","getOperationAuthor","finally","cloudServices.bundleVersion","lastDocumentSession","_ignoredOperations","sendOperations","return","path","createPositionAt","channelSessions","realtimecollaborationclient-init-service-incorrect-server-operation","6189576LDhfHF","setPermissions","_isConnected","createUserMarkerOperations","realtimecollaborationclient-init-non-existent-root","cloudDocumentVersion","toJSON","_lastServerVersion","showWarning","$root","createdAt","createPositionFromPath","init","size","wasUndone","lastOperationAcceptedAt","code","_handleExternalOperations","_handleServerResponse","start","addRoot","error","destroy","real-time-collaboration","getConnectedSessions","createRoot","change:hasDomSelection","newRange","locale","CommentsOnly","_bufferRootLoad","_lastSyncedOperationId","serverHistory","_channelId","Permissions","_service","operationsReceived","state","realtimecollaborationclient-init-session-connection-error","_crash","editor","set","_applyOperationsSet","_initSessionsHandling","entries","PENDING_ACTION_SENDING_DATA","view","addOperation","_waitUntilSynced","The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.","isDocumentOperation","editing","isPremiumPlugin","10243248qBQARD","document:write","requires","Notification","_operationIdentifier","collaboration-missing-channelid","Synchronization issue","catch","markers","off","_compressor","affectsData","userId","_sendBufferedOperationsDelayed","fire","string","_connectService","multi-root-editor-root-attributes-no-root","_connectAfterSessionHasBeenFlushed","ready","realtimecollaborationclient-error","CollaborativeEditingService","realtimecollaborationclient","addToReconnectionStack","collaboration.channelId","includes","setIdForTheLastOperation","lastOperationId","change:_isEditingAllowed","change:range","pluginName","apply","bind","getRoot","filter","_saveOperationInBuffer","end","wereChangesApplied","_setUpDataInit","The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.","parse","_isDisconnection","_disconnectionOperations","enableReadOnlyMode","version","realtimecollaborationclient-init-connection-failed","_isEditingAllowed","targetPosition","listenTo","root","_refreshUserSelectionMarkers","_compressOperations","plugins","add","_hasSelectionChanged","_isInit","_initThrowingOnDataSet","144958DNxltH","offset","fromJSON","getOperations","_currentBufferDelay","_handleReconnectionError","4528780oyqAnM","affectedSelectable","realtimecollaborationclient-init-service-internal-error","roots","isUndoneOperation","rtc-offline","_handleInitialConnectionData","_hasSynchronizationProblem","The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.","cs:removeUser","connected","cloud-services-internal-error: Collaborative Editing Service is not connected.","stopListening","_fetchMissingUsers","addUser","move","realtimecollaborationclient-handleserverresponse","rootsAttributes","sessionCreatedAt","connect","addRootAttribute","_offset","1283436NvoZln","config","decompress","message","__className","disableReadOnlyMode","metadata","5372KNtxhT","_shouldSendSelectionUpdate","rootName","_handleReconnectionResponse","collaboration","6437109FBJTqk","getDocumentDetails","_isAttached","_clearPendingAction","_document","_setPendingAction","marker","suppressErrorInCollaboration","realtimecollaborationclient-init-document-already-initialized","remove","630lWXYVu","_baseBufferDelay","_pendingAction","enqueueChange","define","409","_knownRootNames","keys","forEach","sessionAdd:","_handleSendingSelectionMarkers","_handleReceivedOperations","_getAffectedRoot","reconnection: flushed session","has","realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration","high","get","isOfficialPlugin","_shouldSendUpdate","round","404","then","mySessionId","insert","createRange","slice","_getOperationsFromInitData","RealTimeCollaborationClient","getUser","position","sessionId","batch","getMany","_sendBufferedOperationsDelayId","isEnabled","connection","baseVersion","stop","_sendBufferedOperations","_disconnectService","_knownOperations","_isPendingUpdate","_authorId","push","change:_isPendingUpdate","unregister","_operationToId","data","cloud-services-internal-error: Request timeout.","selection","getIdOfTheLastOperation","map","disconnected","differ","cloud-services-internal-error: Not connected.","isReadOnly","removeFromReconnectionStack","startsWith","initData","loadRoot","_bufferedOperations","reconnect","lastSyncVersion","register","The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.","disconnect","compress"];return(ws=function(){return t})()}!function(t){const e=Is,n=t();for(;;)try{if(584902===-parseInt(e(613))/1+parseInt(e(648))/2*(parseInt(e(663))/3)+-parseInt(e(641))/4+-parseInt(e(619))/5+parseInt(e(503))/6+-parseInt(e(653))/7+parseInt(e(556))/8)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(ws);let vs=1;function Is(t,e){const n=ws();return(Is=function(t,e){return n[t-=428]})(t,e)}class Ss extends e.Plugin{static[Os(577)]=(()=>vn)();[Os(640)];[Os(434)];[Os(535)];[Os(536)];[Os(538)];[Os(657)];[Os(566)];[Os(464)];[Os(444)];[Os(669)];[Os(665)];[Os(610)];[Os(437)];[Os(664)];[Os(617)];[Os(534)];[Os(598)];[Os(560)];static get[Os(558)](){return[Fn,$n,fr,e.PendingActions,Kn.Users,o.Notification]}static get[Os(586)](){return Os(431)}static get[Os(681)](){return!0}static get[Os(555)](){return!0}get[Os(508)](){const t=Os;return this[t(510)]+this[t(640)]}get[Os(510)](){const t=Os;return this[t(535)][t(600)]-this[t(640)]}get[Os(466)](){const t=Os,e=this[t(535)][t(616)]();for(let n=e[t(486)]-1;n>=0;n--){const r=e[n];if(!this[t(598)][t(677)](r))return r[t(440)]+1-this[t(640)]}return 0}constructor(t){const e=Os;if(super(t),this[e(640)]=0,this[e(434)]=null,this[e(535)]=new i.History,this[e(543)][e(642)][e(667)](e(652),{}),this[e(536)]=this[e(543)][e(642)][e(680)](e(580)),!this[e(536)])throw new s.CKEditorError(e(561),this);const n=t[e(642)][e(680)](e(494))||s.version;this[e(538)]=new(Ss[e(577)])(n,this[e(536)]),this[e(657)]=this[e(543)][e(478)][e(489)],this[e(566)]=new bs,this[e(464)]=[],this[e(444)]=new WeakSet,this[e(669)]=new Set,this[e(544)](e(445),!1),this[e(544)](e(626),!1),this[e(665)]=null,this[e(610)]=!1,this[e(437)]=null,this[e(664)]=300,this[e(617)]=this[e(664)],this[e(534)]=null,this[e(598)]=new WeakSet,this[e(560)]=new As(this[e(598)])}[Os(515)](){const t=Os,e=this[t(543)],n=e[t(608)][t(680)](Kn.Users),r=e[t(608)][t(680)](Fn);this[t(604)](n,t(492),(e,r)=>{const s=t,o=r[0];o[s(446)]&&(e[s(498)]=n[s(432)](o[s(446)]),e[s(441)]()),null===o[s(446)]&&(e[s(498)]=null,e[s(441)]())},{priority:t(679)}),this[t(604)](e[t(478)][t(489)][t(453)],t(585),(e,n)=>{const r=t;n[r(485)]&&this[r(606)]()}),this[t(604)](e[t(554)][t(549)],t(529),()=>{this[t(606)]()}),this[t(612)](),e[t(478)].on(t(477),(e,n)=>{const r=t,s=n[0];s[r(553)]&&(this[r(591)](s),this[r(682)]()&&this[r(569)]())}),this[t(594)](),this[t(588)](t(602)).to(r,t(540),this,t(626),(e,n)=>t(629)===e&&!n),this.on(t(584),()=>{const n=t;this[n(602)]?e[n(646)](n(624)):e[n(599)](n(624))}),this[t(602)]?e[t(646)](t(624)):e[t(599)](t(624)),this[t(544)](t(505),!1)}async[Os(465)](){const t=Os,e=this[t(543)][t(608)][t(680)]($n),n=this[t(543)][t(608)][t(680)](Fn);try{this[t(445)]=!0,e[t(449)](this[t(536)]);const r=await this[t(538)][t(465)](n[t(439)],this[t(466)]);await this[t(651)](r)&&(this[t(445)]=!1,this[t(656)]());const s=await this[t(538)][t(527)]();e[t(467)](this[t(536)],s),this[t(673)](),this[t(505)]=!0}catch(e){if(function(e){const n=t;return n(684)===e[n(519)]}(e)&&this[t(434)])await this[t(574)]();else if(function(e){const n=t;return n(668)===e[n(519)]}(e)){const e=gr(this[t(543)][t(531)],t(552));this[t(618)](e)}else{if(!(e instanceof ks))throw e;this[t(618)]()}}}[Os(525)](){const t=Os,e=this[t(543)][t(608)][t(680)](Fn),n=this[t(543)][t(608)][t(680)]($n);this[t(543)][t(599)](t(476)),n[t(501)][t(677)](this[t(536)])&&n[t(449)](this[t(536)]),e[t(460)](this),this[t(443)](),super[t(525)]()}async[Os(651)](t){const e=Os;if(this[e(434)]!==t[e(434)]&&this[e(534)]!==t[e(583)])throw new ks;return this[e(434)]=t[e(434)],this[e(521)]([],{...t,wereChangesApplied:!1,data:t[e(451)]},e(465))}async[Os(572)](t,e=!1){const n=Os,{connection:r}=this[n(543)][n(608)][n(680)](Fn);Ss[n(577)][n(527)](r,this[n(536)])[n(685)](t=>this[n(546)](t))[n(563)](t=>{const e=n;this[e(542)](e(541),t)}),this[n(604)](this[n(538)],n(539),this[n(674)][n(588)](this)),this[n(604)](this[n(538)],n(524),(t,e)=>{const r=n;this[r(542)](r(621),e)}),this[n(604)](this[n(538)],n(456),()=>{this[n(505)]=!1});const s=this[n(560)][n(454)](t);this[n(445)]=!0;const o=await this[n(538)][n(638)](r,this[n(607)](t),s);if(this[n(434)]=o[n(434)],e){if(!o[n(593)])return void this[n(618)]();this[n(445)]=!1,this[n(656)](),this[n(535)][n(482)](),this[n(640)]=o[n(614)],this[n(535)][n(600)]=this[n(640)],await this[n(521)](t,o,n(676))}else await this[n(625)](o,t);this[n(673)](),this[n(505)]=!0}[Os(673)](){const t=Os,e=this[t(543)][t(608)][t(680)]($n),n=this[t(543)][t(608)][t(680)](fr),r=e[t(501)][t(680)](this[t(536)]);r&&r[t(486)]>1?n[t(506)]():this[t(604)](e,t(672)+this[t(536)],()=>{const r=t;2===e[r(501)][r(680)](this[r(536)])[r(486)]&&n[r(506)]()})}async[Os(674)](t,e,n,r){const s=Os;if(!this[s(445)]&&this[s(657)][s(600)]==e){const t=this[s(490)](n,r);await this[s(632)](t),this[s(520)](t,e,n[s(583)])||this[s(542)](s(502))}}async[Os(574)](){const t=Os;this[t(443)]();const{locale:e}=this[t(543)];let n;try{n=await this[t(538)][t(654)]()}catch{const n=gr(e,t(595));return void this[t(618)](n)}const r=n[t(474)]||n[t(495)];if(this[t(534)]!==r[t(583)]){const n=gr(e,t(468));return void this[t(618)](n)}await this[t(572)](this[t(543)][t(478)][t(489)][t(488)][t(616)](),!0)}[Os(443)](){const t=Os;this[t(538)][t(469)](),this[t(464)]=[],clearTimeout(this[t(437)]),this[t(631)](this[t(538)])}[Os(546)](t){const e=Os,n=this[e(543)][e(608)][e(680)]($n);this[e(604)](n,e(672)+this[e(536)],(t,{session:r})=>{const s=e;if(r.id===n[s(686)]){t[s(565)]();const e=this[s(543)][s(608)][s(677)](s(532))&&this[s(543)][s(608)][s(680)](s(532));let n=r[s(479)];e&&e[s(438)]&&(n=n[s(590)](t=>s(557)!==t)),this[s(543)][s(608)][s(680)](s(537))[s(504)](n,this[s(536)])}}),n[e(467)](this[e(536)],t)}[Os(612)](){const t=Os,e=this[t(543)][t(451)][t(544)];this[t(543)][t(451)][t(544)]=(...n)=>{const r=t;if(!n[n[r(486)]-1][r(660)])throw new s.CKEditorError(r(678),this);e[r(587)](this[r(543)][r(451)],n)}}[Os(594)](){const t=Os;this[t(543)][t(451)].on(t(515),(e,[n])=>{const r=t;if(this[r(657)][r(600)])throw new s.CKEditorError(r(661),this);e[r(441)](),this[r(658)]();const o=this[r(543)][r(642)][r(680)](r(636)),a=this[r(430)](n,o);0==a[r(486)]&&a[r(447)](new i.NoOperation(0)),e[r(498)]=this[r(572)](a)[r(685)](()=>{const t=r;this[t(543)][t(608)][t(680)](Fn)[t(579)](this),this[t(543)][t(451)][t(570)](t(575))})[r(563)](t=>this[r(542)](r(601),t))[r(493)](()=>this[r(656)]())},{priority:t(679)}),this[t(543)].on(t(463),async(e,[n,r])=>{const s=t;e[s(441)]();const o=this[s(543)][s(478)][s(489)][s(589)](n);if(!this[s(669)][s(677)](n)){const t=r&&r[s(451)]?r[s(451)]:"",e=r&&r[s(484)]?r[s(484)]:{};await this[s(475)](n,t,e)}this[s(543)][s(478)][s(666)]({isUndoable:!1},()=>{const t=s;o[t(471)]=!0,this[t(543)][t(478)][t(489)][t(457)][t(533)](o)})},{priority:t(679)})}async[Os(632)](t){const e=Os,n=this[e(543)][e(608)][e(680)](Kn.Users),{connection:r}=this[e(543)][e(608)][e(680)](Fn),s=new Set;for(const r of t){const t=r[e(446)];t&&!n[e(432)](t)&&s[e(609)](t)}if(0===s[e(516)])return;const o=await w[e(436)](r,Array[e(481)](s));for(const t of o)n[e(432)](t.id)||n[e(633)](t)}[Os(430)](t,e={}){const n=Os,r=this[n(543)][n(478)],o=[];let a=0;const c=n(571)==typeof t?{main:t}:t;for(const t of Object[n(670)](c)){if(!this[n(657)][n(622)][n(677)](t))throw new s.CKEditorError(n(507),this);const e=this[n(543)][n(451)][n(596)](c[t]),d=this[n(657)][n(589)](t),u=new i.InsertOperation(r[n(500)](d,0),e,a++);o[n(447)](u);for(const[t,s]of e[n(564)]){const e=r[n(428)](r[n(514)](d,s[n(522)][n(499)][n(429)]()),r[n(514)](d,s[n(592)][n(499)][n(429)]())),c=new i.MarkerOperation(t,null,e,r[n(564)],!0,a++);o[n(447)](c)}}if(e)for(const[t,c]of Object[n(547)](e)){const e=r[n(489)][n(589)](t);if(!e)throw new s.CKEditorError(n(573),null);for(const[t,r]of Object[n(547)](c))if(null!==r){const s=new i.RootAttributeOperation(e,t,null,r,a++);o[n(447)](s)}}return o}async[Os(475)](t,e,n){const r=Os;this[r(430)]({[t]:e},{[t]:n})[r(671)]((t,e)=>{const n=r;t[n(440)]=this[n(657)][n(600)]+e,t[n(611)]=!0,this[n(591)](t)}),this[r(569)](),await this[r(551)]()}async[Os(625)](t,e){const n=Os;let r;this[n(640)]=t[n(614)];const s=t[n(593)]&&!t[n(462)],o=s?0:t[n(451)][n(440)];if(e[n(671)](e=>{const r=n;e[r(611)]=!0,e[r(513)]=t[r(637)],e[r(446)]=null}),s)r=e,this[n(545)](r,s);else{if(t[n(462)]){const e=this[n(430)](t[n(462)]);this[n(657)][n(488)][n(600)]=-e[n(486)],e[n(671)](r=>{const s=n;r[s(440)]-=e[s(486)],r[s(513)]=t[s(637)],r[s(611)]=!0,r[s(446)]=null}),this[n(545)](e,!0),this[n(535)][n(600)]=-e[n(486)]+this[n(640)],this[n(483)](e)}this[n(657)][n(488)][n(600)]=o,r=this[n(490)](t[n(451)],t[n(647)]),await this[n(632)](r),this[n(545)](r,s)}t[n(583)]&&(this[n(560)][n(582)](r,t[n(583)]),this[n(534)]=t[n(583)]),this[n(535)][n(600)]=o+this[n(640)],this[n(483)](r),e[n(590)](t=>{const e=n,r=this[e(675)](t);return r&&!this[e(669)][e(677)](r)})[n(671)]((t,e)=>{const r=n;t[r(440)]=this[r(657)][r(600)]+e,this[r(591)](t)}),this[n(682)]()?(this[n(617)]=0,this[n(569)](!0),await this[n(551)]()):(this[n(445)]=!1,this[n(656)]())}[Os(542)](t,e){const n=Os,r=e&&e[n(644)];if(r&&r[n(461)](n(578)))throw e;const o=this[n(543)][n(608)][n(680)](Fn);throw this[n(445)]=!0,o[n(469)](),this[n(543)][n(599)](n(576)),new s.CKEditorError(t,this[n(543)],r?{originalError:r}:void 0)}[Os(591)](t){const e=Os;this[e(444)][e(677)](t)||(this[e(444)][e(609)](t),this[e(464)][e(447)](t),this[e(665)]||e(659)==t[e(480)]&&!t[e(567)]||this[e(658)]())}[Os(569)](t=!1){const e=Os;!t&&this[e(445)]||(this[e(445)]=!0,clearTimeout(this[e(437)]),this[e(437)]=setTimeout(()=>{const t=e;this[t(442)]()[t(685)](e=>{const n=t;e&&(this[n(656)](),this[n(445)]=!1)})[t(563)](e=>{const n=t;this[n(656)](),this[n(445)]=!1,function(t){const e=n;return t[e(644)][e(461)](e(458))||t[e(644)][e(461)](e(630))||t[e(644)][e(461)](e(452))}(e)||this[n(542)](e[n(644)],e)})},this[e(617)]))}[Os(551)](){return new Promise(t=>{const e=Is;this.on(e(448),()=>{t()})})}async[Os(442)](){const t=Os,e=this[t(543)][t(608)][t(680)](fr);if(this[t(649)]()&&(e[t(506)](),this[t(610)]=!1),!this[t(682)]())return!0;const n=[...this[t(464)]];for(const e of n)e[t(517)]=this[t(657)][t(488)][t(623)](e);const r=this[t(560)][t(454)](n),s=vs++,o=this[t(607)](n),i=await this[t(538)][t(497)](o,o[t(440)],r);try{return await this[t(521)](n,i,s)}catch(e){return this[t(542)](t(472),e)}}async[Os(521)](t,e,n){const r=Os;if(r(524)in e)throw e[r(524)];let s=!1;if(e[r(593)]){e[r(583)]&&(this[r(534)]=e[r(583)]),this[r(464)]=this[r(464)][r(590)](e=>!t[r(581)](e));for(const n of t)n[r(513)]=r(518)in e&&e[r(518)]||void 0;Ps(t,e[r(600)]-t[r(486)]),this[r(483)](t);const n=t[r(590)](t=>{const e=r;if(!t[e(611)])return!1;const n=this[e(675)](t);return n&&!this[e(669)][e(677)](n)});Ps(n,this[r(657)][r(600)]),this[r(545)](n),s=!0,this[r(617)]=this[r(664)]}else{const t=this[r(490)](e[r(451)],e[r(647)])[r(590)](t=>t[r(440)]>=this[r(510)]);t[r(671)](t=>this[r(491)](t)),this[r(464)]=this[r(464)][r(590)](t=>!t[r(611)]||!this[r(669)][r(677)](this[r(675)](t))),this[r(464)][r(486)]&&Ps(this[r(464)],this[r(464)][0][r(440)]),await this[r(632)](t),s=this[r(520)](t,e[r(600)],e[r(583)]),this[r(617)]=Math[r(683)](this[r(617)]/2)}return s?!this[r(682)]()||(this[r(569)](!0),!1):this[r(542)](r(635))}[Os(520)](t,e,n){const r=Os;try{const s={document:this[r(657)],useRelations:!1,padWithNoOps:!0},{operationsA:o,operationsB:a,originalOperations:c}=(0,i.transformOperationSets)(t,this[r(464)],s);Ps(o,this[r(657)][r(600)]),Ps(a,e);for(const t of o){const e=c[r(680)](t);t[r(446)]=e?e[r(446)]:null}n&&(this[r(560)][r(582)](t,n),this[r(534)]=n),this[r(464)]=[...a],this[r(545)](o),this[r(483)](t)}catch(t){return console[r(524)](t),!1}return!0}[Os(545)](t,e=!1){const n=Os;this[n(543)][n(478)][n(666)]({isUndoable:!1,isLocal:!1},e=>{const r=n;for(const n of t)this[r(444)][r(609)](n),this[r(491)](n),e[r(435)][r(550)](n),this[r(543)][r(478)][r(477)](n)})}[Os(491)](t){const e=Os,n=this[e(675)](t);n&&this[e(669)][e(609)](n)}[Os(675)](t){const e=Os;let n,r;switch(t[e(480)]){case e(687):n=t[e(433)][e(605)];break;case e(659):if(r=t[e(530)],!r)return null;n=r[e(605)];break;case e(639):n=t[e(605)];break;case e(523):n=t[e(620)];break;case e(634):n=t[e(603)][e(605)];break;default:return null}return n[e(650)]}[Os(483)](t){const e=Os;t[e(671)](t=>{const n=e,r=t[n(473)]();r[n(446)]=t[n(446)],r[n(611)]=!!t[n(611)],r[n(513)]=t[n(513)],r[n(440)]+=this[n(640)],t[n(597)]&&this[n(598)][n(609)](r),this[n(535)][n(550)](r)})}[Os(618)](t){const e=Os,n=this[e(543)][e(608)][e(680)](e(559)),r=this[e(543)][e(531)];t||(t=gr(r,e(627))),n[e(511)](t,{title:gr(r,e(562)),namespace:e(526)}),this[e(626)]=!0,clearTimeout(this[e(437)]),this[e(464)]=[],this[e(543)][e(608)][e(680)](Fn)[e(469)]()}[Os(658)](){const t=Os;this[t(665)]||(this[t(665)]=this[t(543)][t(608)][t(680)](e.PendingActions)[t(609)](gr(this[t(543)][t(531)],t(548))))}[Os(656)](){const t=Os;this[t(665)]&&(this[t(543)][t(608)][t(680)](e.PendingActions)[t(662)](this[t(665)]),this[t(665)]=null)}[Os(607)](t){const e=Os,n=t[e(455)](t=>t[e(509)]());return this[e(566)][e(470)](n)}[Os(490)](t,e){const n=Os;return this[n(566)][n(643)](t)[n(455)]((t,r)=>{const s=n,o=s(515)==e[r][s(480)];if(s(487)==t[s(645)]){const e=t[s(433)][s(605)];!this[s(657)][s(589)](e)&&(this[s(657)][s(528)](s(512),e)[s(655)]=!1)}const a=i.OperationFactory[s(615)](t,this[s(657)]);return a[s(517)]=t[s(517)],a[s(611)]=o,a[s(446)]=o?null:e[r][s(568)],a[s(597)]=s(628)===e[r][s(480)],a[s(513)]=e[r][s(513)],a})}[Os(606)](){const t=Os;this[t(610)]=!0,this[t(649)]()?this[t(569)]():this[t(610)]=!1}[Os(649)](){const t=Os,e=this[t(543)][t(608)][t(680)]($n)[t(501)][t(680)](this[t(536)]);return!this[t(543)][t(459)]&&!!e&&e[t(486)]>1&&this[t(610)]}[Os(682)](){const t=Os;return this[t(464)][t(486)]>0||this[t(649)]()}}class ks extends Error{}function Ps(t,e){const n=Os;for(const r of t)r[n(440)]=e++}class As{[Os(496)];[Os(450)];constructor(t){const e=Os;this[e(496)]=t,this[e(450)]=new WeakMap}[Os(454)](t){const e=Os;let n=t[e(486)];for(;n--;){const r=t[n];if(!this[e(496)][e(677)](r)){if(!this[e(450)][e(677)](r)){const t=(0,s.uid)()[e(429)](1,18);this[e(450)][e(544)](r,t)}return this[e(450)][e(680)](r)}}}[Os(582)](t,e){const n=Os;if(!e)return;let r=t[n(486)];for(;r--;){const s=t[r];this[n(496)][n(677)](s)||this[n(450)][n(544)](s,e)}}}var Ts=_s;function _s(t,e){var n=Cs();return(_s=function(t,e){return n[t-=360]})(t,e)}function Cs(){var t=["849ECkcCo","5631584SOjnTK","714003AdNOhv","5420yiFzkM","pluginName","isOfficialPlugin","8847aMYJbq","isPremiumPlugin","1636klYBRC","RealTimeCollaborativeEditing","318SikQTw","2427748CQlWVQ","requires","16632121IEafDA","19160dEcWiH","7DuMEBd"];return(Cs=function(){return t})()}!function(t){for(var e=_s,n=t();;)try{if(410741===parseInt(e(368))/1+-parseInt(e(374))/2*(-parseInt(e(366))/3)+-parseInt(e(361))/4+parseInt(e(364))/5*(-parseInt(e(360))/6)+-parseInt(e(365))/7*(parseInt(e(367))/8)+parseInt(e(372))/9*(-parseInt(e(369))/10)+parseInt(e(363))/11)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Cs);class Es extends e.Plugin{static get[Ts(362)](){return[Ss]}static get[Ts(370)](){return Ts(375)}static get[Ts(371)](){return!0}static get[Ts(373)](){return!0}}const js=xs;function xs(t,e){const n=Ds();return(xs=function(t,e){return n[t-=312]})(t,e)}function Ds(){const t=["sessionAdd:","deletedAt","commentId","comments","destroy","catch","commentThreadAdded","removeComment","get","isOfficialPlugin","updateCommentThread","register","addUser","reconnect","set","isPremiumPlugin","unregister","commentThreadRemoved","setPermissions","updateComment","message","startsWith","attributes","1581628rUYluT","mySessionId","addComment","getUser","commentAdded","delete","resolveCommentThread","getCommentThread","from","keys","cloud-services-internal-error: Request timeout.","addToReconnectionStack","add","adapter","context","getConnectedSessions","resolvedAt","init","Permissions","commentThreadId","userId","createdAt","2197647rSToZs","map","cloud-services-internal-error: Not connected.","pluginName","reopenCommentThread","resolve","commentRemoved","cloud-services-internal-error: Comments Service is not connected.","collaboration.channelId","getComment","330574rAZLuA","listenTo","CommentsRepository","remove","reopen","cloudservicescommentsadapter-service-not-exist","commentUpdated","size","1378510lVRWir","addCommentThread","cloudservicescommentsadapter-connect-already-connected","_setUpService","resolvedBy","requires","removeCommentThread","getCommentThreads","update","4256672YrauNP","CloudServicesCommentsAdapter","_connectService","1068HBsctQ","11081FKDwPW","config","has","1137566qIAaan","_fetchMissingUsersForThreads","CommentsService","connect","disconnect","404","code","3MyhGnL","getMany","authorId","plugins","commentThreadUpdated","commentThreadResolved","assign","permissions","_terminateService","_getService","cloudservicescommentsadapter-disconnect-not-exist","off","content","commentThreadReopened","_services"];return(Ds=function(){return t})()}!function(t){const e=xs,n=t();for(;;)try{if(625617===parseInt(e(392))/1+parseInt(e(368))/2*(parseInt(e(399))/3)+-parseInt(e(336))/4+-parseInt(e(376))/5+parseInt(e(388))/6*(parseInt(e(389))/7)+-parseInt(e(385))/8+parseInt(e(358))/9)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Ds);class Rs extends e.ContextPlugin{static[js(394)]=(()=>Gn)();[js(312)];static get[js(381)](){return[Fn,js(370),$n,Kn.Users]}static get[js(361)](){return js(386)}static get[js(322)](){return!0}static get[js(328)](){return!0}constructor(t){const e=js;super(t),this[e(312)]=new Map}async[js(353)](){const t=js,n=this[t(350)],r=n[t(402)][t(321)](t(370));if(n[t(402)][t(321)](Fn)[t(347)](this),r[t(349)]={addCommentThread:async({channelId:e,threadId:n,comments:r,resolvedAt:s,resolvedBy:o,context:i,attributes:a})=>{const c=t,d=await this[c(408)](e)[c(377)]({commentThreadId:n,comments:r[c(359)](t=>function(t,e,n){const r=c;return{commentThreadId:n,commentId:t[r(315)],userId:t[r(401)],content:t[r(411)],documentId:e,createdAt:t[r(357)],attributes:t[r(335)]||{}}}(t,e,n)),resolvedAt:s,resolvedBy:o,context:i,attributes:a})[c(318)](Vs);return{threadId:d[c(355)],comments:d[c(316)]}},getCommentThread:async({channelId:e,threadId:n})=>{const r=t,s=await this[r(408)](e)[r(343)](n)[r(318)](Ns)[r(318)](Vs);return s?s[r(314)]?null:(await this[r(393)]([s]),{threadId:s[r(355)],comments:s[r(316)][r(359)](Ms),context:s[r(350)],resolvedAt:s[r(352)],resolvedBy:s[r(380)],attributes:s[r(335)]||{}}):null},updateCommentThread:async({channelId:e,threadId:n,context:r,unlinkedAt:s,attributes:o})=>this[t(408)](e)[t(323)]({commentThreadId:n,context:r,attributes:o,unlinkedAt:s})[t(318)](Ns)[t(318)](Vs),resolveCommentThread:async({channelId:e,threadId:n})=>{const r=t,s=await this[r(408)](e)[r(342)](n)[r(318)](Ns)[r(318)](Vs);return{threadId:s[r(355)],resolvedAt:s[r(352)],resolvedBy:s[r(380)]}},reopenCommentThread:async({channelId:e,threadId:n})=>this[t(408)](e)[t(362)](n)[t(318)](Ns)[t(318)](Vs),removeCommentThread:({channelId:e,threadId:n})=>this[t(408)](e)[t(382)](n)[t(318)](Ns)[t(318)](Vs),addComment:({channelId:e,threadId:n,commentId:r,content:s,attributes:o})=>this[t(408)](e)[t(338)](n,r,s,o)[t(318)](Vs),updateComment:({channelId:e,threadId:n,commentId:r,content:s,attributes:o})=>this[t(408)](e)[t(332)](n,r,s,o)[t(318)](Ns)[t(318)](Vs),removeComment:({channelId:e,threadId:n,commentId:r})=>this[t(408)](e)[t(320)](n,r)[t(318)](Ns)[t(318)](Vs)},n instanceof e.Context){const e=n[t(390)][t(321)](t(366)),r=n[t(402)][t(321)]($n);await this[t(379)](e);const s=await this[t(312)][t(321)](e)[t(351)]();this[t(369)](r,t(313)+e,(n,{session:s})=>{const o=t;s.id===r[o(337)]&&(n[o(410)](),this[o(350)][o(402)][o(321)](o(354))[o(331)](s[o(406)],e))}),r[t(324)](e,s)}}async[js(379)](t){const e=js;if(this[e(312)][e(391)](t))throw new s.CKEditorError(e(378),null,{channelId:t});const n=this[e(350)][e(402)][e(321)](e(370)),r=new(Rs[e(394)])(t);this[e(312)][e(327)](t,r),this[e(369)](r,e(319),(t,r)=>{const s=e,{commentThreadId:o,documentId:i,context:a,attributes:c,resolvedAt:d,resolvedBy:u,comments:l}=r;n[s(343)](o)||n[s(377)]({threadId:o,channelId:i,comments:l?l[s(359)](Ms):[],context:a,attributes:c,resolvedAt:d,resolvedBy:u,isFromAdapter:!0})}),this[e(369)](r,e(403),(t,{commentThreadId:r,documentId:s,context:o,unlinkedAt:i,attributes:a})=>{const c=e;n[c(343)](r)&&n[c(323)]({threadId:r,channelId:s,context:o,unlinkedAt:i,attributes:a,isFromAdapter:!0})}),this[e(369)](r,e(404),(t,{commentThreadId:r,resolvedBy:s,resolvedAt:o})=>{const i=e,a=n[i(343)](r);a&&a[i(363)]({resolvedBy:s,resolvedAt:o,isFromAdapter:!0})}),this[e(369)](r,e(412),(t,{commentThreadId:r})=>{const s=e,o=n[s(343)](r);o&&o[s(372)]({isFromAdapter:!0})}),this[e(369)](r,e(330),(t,{commentThreadId:r})=>{const s=e,o=n[s(343)](r);o&&o[s(371)]({isFromAdapter:!0})}),this[e(369)](r,e(340),(t,r)=>{const s=e,o=r[s(355)],i=n[s(343)](o);i&&i[s(338)]({...Ms(r),isFromAdapter:!0})}),this[e(369)](r,e(374),(t,{commentThreadId:r,commentId:s,content:o,attributes:i})=>{const a=e,c=n[a(343)](r);if(c){const t=c[a(367)](s);t&&t[a(384)]({content:o,attributes:i,isFromAdapter:!0})}}),this[e(369)](r,e(364),(t,{commentThreadId:r,commentId:s})=>{const o=e,i=n[o(343)](r);if(i){const t=i[o(367)](s);t&&t[o(371)]({isFromAdapter:!0})}}),await this[e(387)](t)}[js(317)](){const t=js;if(this[t(350)]instanceof e.Context){const e=this[t(350)][t(390)][t(321)](t(366));this[t(407)](e)}}[js(407)](t){const e=js;if(!this[e(312)][e(391)](t))throw new s.CKEditorError(e(409),null,{channelId:t});this[e(408)](t)[e(396)](),this[e(312)][e(341)](t)}async[js(326)](){const t=js;for(const e of this[t(312)][t(345)]())await this[t(387)](e);if(this[t(350)]instanceof e.Context){const e=this[t(350)][t(390)][t(321)](t(366)),n=this[t(350)][t(402)][t(321)]($n);n[t(329)](e);const r=await this[t(312)][t(321)](e)[t(351)]();n[t(324)](e,r)}}async[js(387)](t){const e=js,{connection:n}=this[e(350)][e(402)][e(321)](Fn),r=this[e(350)][e(402)][e(321)](e(370)),s=this[e(312)][e(321)](t),o=await s[e(395)](n);await this[e(393)](o);const i=new Set(Array[e(344)](r[e(383)]({channelId:t}),t=>t.id));for(const t of o)t[e(314)]||i[e(341)](t[e(355)]);for(const t of i)r[e(343)](t)[e(371)]({isFromAdapter:!0});for(const n of o){let s=r[e(343)](n[e(355)]);const{commentThreadId:o,context:i,attributes:a,resolvedBy:c,resolvedAt:d,unlinkedAt:u,deletedAt:l}=n;if(l)continue;s||(s=r[e(377)]({channelId:t,threadId:o,context:i,attributes:a||{},resolvedBy:c,resolvedAt:d,unlinkedAt:u,isFromAdapter:!0}));const h=new Set(Array[e(344)](s[e(316)],t=>t.id));for(const t of n[e(316)])h[e(341)](t[e(315)]);for(const t of h)s[e(367)](t)[e(371)]({isFromAdapter:!0});for(const t of n[e(316)]){const n=s[e(367)](t[e(315)]);n?n[e(411)]!==t[e(411)]&&n[e(384)]({content:t[e(411)],isFromAdapter:!0}):s[e(338)](Object[e(405)](Ms(t),{isFromAdapter:!0}))}}}[js(408)](t){const e=js;if(!this[e(312)][e(391)](t))throw new s.CKEditorError(e(373),null,{channelId:t});return this[e(312)][e(321)](t)}async[js(393)](t){const e=js,n=this[e(350)][e(402)][e(321)](Kn.Users),{connection:r}=this[e(350)][e(402)][e(321)](Fn),s=new Set;for(const{resolvedBy:r,comments:o}of t){r&&!n[e(339)](r)&&s[e(348)](r);for(const{userId:t}of o)n[e(339)](t)||s[e(348)](t)}if(0===s[e(375)])return;const o=await w[e(400)](r,Array[e(344)](s));for(const t of o)n[e(339)](t.id)||n[e(325)](t)}}async function Ns(t){const e=js;if(e(397)!==t[e(398)])throw t}function Vs(t){const e=js;if((n=t)[e(333)][e(334)](e(365))||n[e(333)][e(334)](e(360))||n[e(333)][e(334)](e(346)))return new Promise(()=>{});var n;throw t}function Ms(t){const e=js;return{threadId:t[e(355)],commentId:t[e(315)],content:t[e(411)],createdAt:t[e(357)],authorId:t[e(356)],attributes:t[e(335)]||{}}}const Bs=Ls;function Us(){const t=["_saved","getSuggestion","_waitForServiceReady","cloud-services-internal-error: Request timeout.","editor","1889329SYKWar","delete","addUser","_fetchMissingUsersForThreads","2256XjzpyG","isPremiumPlugin","TrackChangesService","connected","set","open","9nGlrUD","type","then","12KzcJRx","CloudServicesTrackChangesAdapter","addToReconnectionStack","isConnected","off","17kxGjRE","add","763YGHofY","reconnect","TrackChangesEditing","getMany","addSuggestionData","from","cloud-services-internal-error: Not connected.","1215DZTMUW","find","connect","_trackChangesService","hasSuggestion","state","pluginName","27118zREtgM","adapter","listenTo","config","requires","6296GzCjfC","message","originalSuggestionId","size","336380rSDEwy","plugins","catch","init","attributes","getUser","update","4MHfGfy","319938lpZnRu","get","connection","suggestionUpdated","isOfficialPlugin","startsWith","3400930AVwuia","_bufferedRequests","collaboration.channelId","values","data"];return(Us=function(){return t})()}!function(t){const e=Ls,n=t();for(;;)try{if(173272===parseInt(e(207))/1*(-parseInt(e(156))/2)+parseInt(e(173))/3*(-parseInt(e(172))/4)+parseInt(e(149))/5*(-parseInt(e(193))/6)+-parseInt(e(142))/7*(-parseInt(e(161))/8)+parseInt(e(199))/9*(parseInt(e(179))/10)+parseInt(e(165))/11+parseInt(e(202))/12*(parseInt(e(189))/13))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Us);class Js extends e.Plugin{static[Bs(195)]=(()=>tn)();[Bs(180)];[Bs(152)];static get[Bs(160)](){return[Rs,Bs(144),Fn]}static get[Bs(155)](){return Bs(203)}static get[Bs(177)](){return!0}static get[Bs(194)](){return!0}constructor(t){const e=Bs;super(t);const n=this[e(188)][e(159)][e(174)](e(181));this[e(180)]=new Map,this[e(152)]=new(Js[e(195)])(n)}[Bs(168)](){const t=Bs,e=this[t(188)][t(166)][t(174)](Fn),n=this[t(188)][t(166)][t(174)](t(144));return n[t(157)]={getSuggestion:async e=>{const n=t;await this[n(186)]();const r=await this[n(152)][n(174)](e)[n(167)](qs);return await this[n(192)]([r]),r},addSuggestion:async({id:e,type:n,data:r,originalSuggestionId:s,attributes:o})=>{const i=t;await this[i(186)]();const a={id:e,type:n,data:r,originalSuggestionId:s,attributes:o},c=await this[i(152)][i(141)](e,n,r,s,o)[i(167)](t=>{if(Gs(t))return new Promise(t=>{const n=Ls;this[n(180)][n(197)](e,{resolve:t,suggestionData:a})});throw t});return this[i(180)][i(190)](e),c},updateSuggestion:async(e,n)=>{const r=t;if(await this[r(186)](),r(198)!==n[r(154)])return this[r(152)][r(171)](e,n)[r(167)](qs)}},this[t(158)](this[t(152)],t(176),(e,r)=>{const s=t;n[s(153)](r.id)&&(n[s(185)](r.id)[s(169)]=r[s(169)])}),this[t(152)][t(151)](e[t(175)])[t(201)](r=>(e[t(204)](this),this[t(192)](r)[t(201)](()=>{const e=t;for(const t of r)n[e(146)](t)[e(184)]=!0})))}async[Bs(143)](){const t=Bs,e=this[t(188)][t(166)][t(174)](t(144)),{connection:n}=this[t(188)][t(166)][t(174)](Fn),r=await this[t(152)][t(151)](n);await this[t(192)](r);for(const{suggestionData:e,resolve:n}of this[t(180)][t(182)]()){let s=r[t(150)](t=>t.id===e.id);s||(s=await this[t(152)][t(141)](e.id,e[t(200)],e[t(183)],e[t(163)])),n(s)}for(const n of r)e[t(153)](n.id)||e[t(146)](n)}async[Bs(186)](){const t=Bs;this[t(152)][t(205)]||await new Promise(e=>{const n=t;this[n(158)](this[n(152)],n(196),t=>{t[n(206)](),e()})})}async[Bs(192)](t){const e=Bs,n=this[e(188)][e(166)][e(174)](Kn.Users),{connection:r}=this[e(188)][e(166)][e(174)](Fn),s=new Set;for(const{authorId:r}of t)n[e(170)](r)||s[e(141)](r);if(0===s[e(164)])return;const o=await w[e(145)](r,Array[e(147)](s));for(const t of o)n[e(170)](t.id)||n[e(191)](t)}}function qs(t){if(Gs(t))return new Promise(()=>{});throw t}function Ls(t,e){const n=Us();return(Ls=function(t,e){return n[t-=141]})(t,e)}function Gs(t){const e=Bs;return t[e(162)][e(178)](e(148))||t[e(162)][e(178)](e(187))}const Ys=Hs;function Hs(t,e){const n=zs();return(Hs=function(t,e){return n[t-=273]})(t,e)}function zs(){const t=["1IZjsay","3ZAHSel","destroy","5701927ENbVlu","connected","ready","isPremiumPlugin","listenTo","_setUpService","isOfficialPlugin","init","requires","30KBmdLu","get","6176452IKeTVi","Comments","change:state","RealTimeCollaborativeComments","pluginName","editor","201702CaizQH","301rUGAWv","9OWTcfN","329906SNJmdz","CommentsRepository","3340048FLjPsF","once","CommentsEditing","switchReadOnly","5468220nHffIf","collaboration.channelId","plugins","_terminateService","config","data","isThreadsLoadingPaused","5967730PCjRAO"];return(zs=function(){return t})()}!function(t){const e=Hs,n=t();for(;;)try{if(949265===parseInt(e(276))/1*(-parseInt(e(299))/2)+parseInt(e(277))/3*(parseInt(e(290))/4)+-parseInt(e(275))/5+-parseInt(e(296))/6*(-parseInt(e(297))/7)+-parseInt(e(301))/8*(-parseInt(e(298))/9)+-parseInt(e(288))/10*(parseInt(e(279))/11)+parseInt(e(305))/12)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(zs);class Fs extends e.Plugin{static get[Ys(287)](){return[Ys(291),Rs,Es,Fn]}static get[Ys(294)](){return Ys(293)}static get[Ys(285)](){return!0}static get[Ys(282)](){return!0}[Ys(286)](){const t=Ys,e=this[t(295)][t(307)][t(289)](Fn),n=this[t(295)][t(307)][t(289)](t(303)),r=this[t(295)][t(307)][t(289)](Rs);return this[t(295)][t(273)][t(302)](t(281),()=>{const r=t;this[r(283)](e,r(292),(t,e,s)=>{const o=r;n[o(274)]=o(280)!==s})}),this[t(283)](e,t(292),(e,n,r)=>{const s=t;this[s(295)][s(307)][s(289)](s(300))[s(304)](s(280)!==r)}),r[t(284)](this[t(295)][t(309)][t(289)](t(306)))}[Ys(278)](){const t=Ys;this[t(295)][t(307)][t(289)](Rs)[t(308)](this[t(295)][t(309)][t(289)](t(306))),super[t(278)]()}}var Ks=Ws;function Ws(t,e){var n=Zs();return(Ws=function(t,e){return n[t-=279]})(t,e)}function Zs(){var t=["1594257nfZsYm","7011642VkVnfL","TrackChanges","pluginName","1996704COLoke","requires","RealTimeCollaborativeTrackChanges","3874338qQzsXc","734965dFuDNY","28460808QUMPlO","8OAVZwN","isOfficialPlugin","isPremiumPlugin","32vNyqAh","249816Rywhsu"];return(Zs=function(){return t})()}!function(t){for(var e=Ws,n=t();;)try{if(857102===parseInt(e(281))/1*(-parseInt(e(285))/2)+-parseInt(e(293))/3+parseInt(e(284))/4*(parseInt(e(279))/5)+-parseInt(e(287))/6+parseInt(e(286))/7+-parseInt(e(290))/8+parseInt(e(280))/9)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Zs);class Qs extends e.Plugin{static get[Ks(291)](){return[Fs,Js,Ks(288)]}static get[Ks(289)](){return Ks(292)}static get[Ks(282)](){return!0}static get[Ks(283)](){return!0}}const $s=Xs;function Xs(t,e){const n=to();return(Xs=function(t,e){return n[t-=333]})(t,e)}function to(){const t=["message","isBundleUploaded","off","creatorId","_getLatestVersion","collaboration.channelId","data","1133dVDJzr","startsWith","isOfficialPlugin","plugins","size","reInit","bind","config","change:_isConnected","isConnected","400","then","diffData","getUser","reconnect","length","CONNECTED","6mOCddO","sendBufferedUpdates","editor","_lastRequestId","623483IKDbAM","sessionId","code","reverse","RevisionHistory","16fDHGtA","pluginName","87678kjeQbC","_revisionTracker","getOperations","isPremiumPlugin","cloud-services-internal-error: Not connected.","cloud-services-internal-error: Request timeout.","RevisionHistoryService","cloudServices.bundleVersion","has","isEnabled","addUser","isEmptyCurrent","connected","getRevisions","_createCurrentRevision","keys","addToReconnectionStack","_handleReconnectionError","_startingVersion","getRevision","init","_update","_getLatestVersionFromServerOperations","CloudServicesRevisionHistoryAdapter","620528dSeOqQ","_revisionHistoryService","map","max","affectsData","requires","_handleRevisionsUpdate","RevisionTracker","authorsIds","catch","71714doypvP","addRevisionData","_bufferedUpdates","280WpEGkf","fromVersion","updateRevisions","_revisions","wrongRequestId","5OITFyY","_preventResendingRevisionData","cloud-services-internal-error: Revision History Service is not connected.","_revisionDataBuilder","get","currentRevision","type","serverHistory","connection","1216095ltRfWj","getMany","_fetchMissingUsers","baseVersion","createdAt","repository","remove","once","_bufferUpdate","adapter","connect","_fixRevision","buildRevisionData","_offset","add","revisionsUpdated","48890GDhCaC","_isConnected","from","_oldOffset","setRevisionData","authors","25044LbrVvf","change:_isPendingUpdate","_waitForServiceReady","_isPendingUpdate","toVersion","state","marker","listenTo","setSource","destroy"];return(to=function(){return t})()}!function(t){const e=Xs,n=t();for(;;)try{if(251111===parseInt(e(387))/1*(-parseInt(e(379))/2)+parseInt(e(396))/3+parseInt(e(369))/4+-parseInt(e(412))/5*(parseInt(e(334))/6)+-parseInt(e(338))/7*(parseInt(e(343))/8)+-parseInt(e(345))/9*(-parseInt(e(382))/10)+-parseInt(e(435))/11*(parseInt(e(418))/12))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(to);class eo extends e.Plugin{static[$s(351)]=(()=>Je)();[$s(337)];[$s(346)];[$s(370)];[$s(415)];static get[$s(374)](){return[Fn,Ss,$s(342),$n,Kn.Users]}static get[$s(344)](){return $s(368)}static get[$s(437)](){return!0}static get[$s(348)](){return!0}constructor(t){const e=$s;super(t);const n=this[e(336)][e(442)][e(391)](e(433));this[e(337)]=null,this[e(346)]=this[e(336)][e(438)][e(391)](e(376)),this[e(370)]=new(eo[e(351)])(n)}async[$s(365)](){const t=$s,e=this[t(336)][t(438)][t(391)](Ss),n=e[t(394)],r=this[t(336)][t(438)][t(391)](Fn);this[t(346)][t(426)]({history:n,getLatestVersion:()=>this[t(432)](),getCurrentRevisionId:()=>e[t(339)]});const o=this[t(336)][t(442)][t(391)](t(352))||s.version,i=await Ce[t(429)](r[t(395)],o);this[t(336)][t(438)][t(391)](t(342))[t(405)]={getRevision:async({revisionId:e})=>(await this[t(420)](),await this[t(370)][t(364)](e)),updateRevisions:async e=>{const n=t;await this[n(420)]();const r=this[n(346)][n(392)];if(i&&1===e[n(450)]&&e[0].id===r.id)return e;for(const t of e)t.id===r.id&&(t[n(356)]=t[n(383)]===t[n(422)]);return this[n(370)][n(384)](e,this[n(337)])[n(446)](t=>(this[n(337)]=t,e))[n(378)](t=>{const r=n;if(no(t)||r(445)===t[r(340)]&&void 0!==t[r(434)][r(386)]){for(const t of e)!this[r(346)][r(401)][r(364)](t.id)||this[r(346)][r(404)](t.id,t,!1);if(no(t))throw t;return e}throw t})}},this[t(425)](this[t(370)],t(411),(e,{revisionsData:n,requestId:r})=>{const s=t;Math[s(372)](...n[s(371)](t=>t[s(422)]))>this[s(367)]()-1?this[s(432)]()[s(446)](()=>{this[s(375)](n,r)}):this[s(375)](n,r)});const{revisions:a,requestId:c}=await this[t(370)][t(406)](r[t(395)]);r[t(361)](this),this[t(337)]=c,await this[t(398)](a);for(const e of a)this[t(346)][t(380)](e);this[t(425)](e,t(443),(n,r,s)=>{const o=t;s&&(this[o(415)]=e[o(409)],n[o(430)]())}),this[t(346)][t(441)](t(354)).to(r,t(423),e=>e===Se[t(333)])}async[$s(449)](){const t=$s,e=this[t(336)][t(438)][t(391)](Fn),n=this[t(336)][t(438)][t(391)](Ss),r=async()=>{const r=t,s=this[r(346)][r(392)],o=s.id,i=o!==n[r(339)];if(i){const t=n[r(409)]-this[r(415)],e=this[r(367)]();if(this[r(346)][r(390)][r(440)](),s[r(422)]+t!==e){const n=s[r(383)]+t,o=this[r(336)][r(438)][r(391)](Kn.Users),i=this[r(346)][r(408)]({revision:s,from:n,to:e});i.id=s.id;const a=i[r(377)][r(371)](t=>o[r(448)](t));s[r(366)]({...i,authors:a},!0),this[r(346)][r(404)](s.id,i,!0)}this[r(346)][r(363)]=e,s[r(422)]===s[r(383)]&&!this[r(346)][r(381)][r(353)](o)&&this[r(346)][r(401)][r(385)][r(402)](o),this[r(346)][r(359)](e)}const{revisions:a,requestId:c}=await this[r(370)][r(449)](e[r(395)],this[r(337)]);i&&a[r(450)]>0?n[r(362)]():(await this[r(398)](a),this[r(375)](a,c),this[r(346)][r(335)]())};return n[t(413)]?r():new Promise((e,s)=>{const o=t;n[o(403)](o(443),()=>{const t=o;r()[t(446)](e)[t(378)](s)})})}[$s(427)](){super[$s(427)]()}async[$s(420)](){const t=$s;this[t(370)][t(444)]||await new Promise(e=>{const n=t;this[n(425)](this[n(370)],n(357),t=>{t[n(430)](),e()})})}[$s(367)](){const t=$s,e=this[t(336)][t(438)][t(391)](Ss)[t(394)][t(347)]()[t(341)]();for(const n of e)if(t(424)!==n[t(393)]||n[t(373)])return n[t(399)]+1}[$s(432)](){const t=$s,e=this[t(336)][t(438)][t(391)](Ss);return new Promise(n=>{const r=t;e[r(421)]?e[r(403)](r(419),()=>{n(this[r(367)]())}):n(this[r(367)]())})}[$s(375)](t,e){const n=$s,r=this[n(346)][n(401)];this[n(337)]=e;for(const e of t){const t=r[n(364)](e.id);if(t){if((e[n(383)]||e[n(422)])&&(e[n(447)]=null),t===this[n(346)][n(392)]){const r=Math[n(372)](t[n(422)],e[n(422)]),s=Math[n(372)](t[n(383)],e[n(383)]);let o;t[n(422)]===e[n(422)]&&t[n(383)]===e[n(383)]?(o=!0,this[n(388)](e)):e[n(422)]===r&&e[n(383)]===s?o=!1:(t[n(422)]===r&&t[n(383)]===s||this[n(407)]({revision:t,from:s,to:r}),o=!0),o&&(delete e[n(383)],delete e[n(422)],delete e[n(447)],delete e[n(400)],delete e[n(377)])}this[n(346)][n(416)](e),this[n(388)](e)}else this[n(346)][n(380)](e)}const s=r[n(358)]();s[n(341)]();for(let t=0;t<s[n(450)]-1;t++){const e=s[t],r=s[t+1];if(e[n(383)]<r[n(422)]){const t=r[n(422)],s=Math[n(372)](t,e[n(422)]);this[n(407)]({revision:e,from:t,to:s})}}}[$s(407)]({revision:t,from:e,to:n}={}){const r=$s,s=this[r(336)][r(438)][r(391)](Kn.Users),o=this[r(346)][r(408)]({revision:t,from:e,to:n});o[r(417)]=o[r(377)][r(371)](t=>s[r(448)](t)),t[r(366)](o)}[$s(388)](t){const e=$s,n={};n.id=t.id;for(const r of Object[e(360)](t))"id"!==r&&(n[r]=void 0);this[e(346)][e(404)](n.id,n,!0)}async[$s(398)](t){const e=$s,n=this[e(336)][e(438)][e(391)](Kn.Users),{connection:r}=this[e(336)][e(438)][e(391)](Fn),s=new Set;for(const n of t){for(const t of n[e(377)])i(t);n[e(431)]&&i(n[e(431)])}if(0===s[e(439)])return;const o=await w[e(397)](r,Array[e(414)](s));for(const t of o)n[e(448)](t.id)||n[e(355)](t);function i(t){const r=e;n[r(448)](t)||s[r(410)](t)}}}function no(t){const e=$s;return t[e(428)][e(436)](e(389))||t[e(428)][e(436)](e(349))||t[e(428)][e(436)](e(350))}function ro(){var t=["63fANrQg","3168MmILrU","pluginName","94uPWysU","4347lgqQxd","1895766ZQEhKm","requires","isPremiumPlugin","10819292BCSeFU","2963760MAZQJe","RevisionHistory","10CdKFMm","10885JzqDTG","242487QsZlUo","1044190XEzFro","RealTimeCollaborativeRevisionHistory","isOfficialPlugin","12mqvAFp"];return(ro=function(){return t})()}var so=oo;function oo(t,e){var n=ro();return(oo=function(t,e){return n[t-=381]})(t,e)}!function(t){for(var e=oo,n=t();;)try{if(672285===-parseInt(e(392))/1*(parseInt(e(391))/2)+-parseInt(e(383))/3+-parseInt(e(397))/4+parseInt(e(381))/5*(-parseInt(e(393))/6)+parseInt(e(382))/7*(parseInt(e(389))/8)+-parseInt(e(388))/9*(-parseInt(e(384))/10)+-parseInt(e(396))/11*(-parseInt(e(387))/12))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(ro);class io extends e.Plugin{static get[so(394)](){return[so(398),eo,Es]}static get[so(390)](){return so(385)}static get[so(386)](){return!0}static get[so(395)](){return!0}}function ao(t){return function(t){return"object"==typeof t&&null!==t}(t)&&1===t.nodeType&&!function(t){if("object"!=typeof t)return!1;if(null==t)return!1;if(null===Object.getPrototypeOf(t))return!0;if("[object Object]"!==Object.prototype.toString.call(t)){const e=t[Symbol.toStringTag];return null!=e&&!!Object.getOwnPropertyDescriptor(t,Symbol.toStringTag)?.writable&&t.toString()===`[object ${e}]`}let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}(t)}function co(t,e){const n=lo();return(co=function(t,e){return n[t-=358]})(t,e)}const uo=co;function lo(){const t=["setTemplate","952538hSJnMd","ck-presence-list__users-counter__text","_collapseAt","ck-presence-list__list-item","513194pZUeEN","usersCount","set","ck-presence-list__counter--hidden","8zXcUJn","ck-presence-list__users-counter","10fVjakA","bind","265372THJBeT","div","10Lfuklh","485577PeornL","8319660oxMFTP","189875bqIXHO","isHidden","listitem","24NqdZWa","bindTemplate","toString","3621483GVqChk"];return(lo=function(){return t})()}!function(t){const e=co,n=t();for(;;)try{if(505012===parseInt(e(375))/1+parseInt(e(360))/2*(parseInt(e(365))/3)+-parseInt(e(362))/4*(-parseInt(e(364))/5)+-parseInt(e(370))/6*(parseInt(e(367))/7)+parseInt(e(358))/8*(-parseInt(e(373))/9)+-parseInt(e(366))/10+-parseInt(e(379))/11)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(lo);class ho extends o.View{[uo(377)];constructor(t,e=6){const n=uo;super(t);const r=this[n(371)];this[n(381)](n(368),!0),this[n(381)](n(380),0),this[n(377)]=e,this[n(361)](n(368)).to(this,n(380),t=>t<e),this[n(374)]({tag:n(363),attributes:{class:["ck",n(378),r.if(n(368),n(382))],role:n(369)},children:[{tag:n(363),attributes:{class:["ck",n(359)]},children:[{tag:n(363),attributes:{class:["ck",n(376)]},children:[{text:r.to(n(380),t=>"+"+(t-this[n(377)]+2)[n(372)]())}]}]}]})}}const po=mo;function fo(){const t=["27Hwduuk","fire","presencelist:hide",".ck-presence-list__dropdown-list","focus","setTemplate","set","presencelist:show","isExpanded","360gzdFqW","aria-expanded","relatedTarget","116458oegwjC","createCollection","setAttribute","1243536yLpdMP","element","listenTo","items","removeAttribute","1819550wnulmX","254412soCUNr","Collapsed connected users list (press ENTER to open it)","5wqFfyr","div",".ck-balloon-panel_with-arrow","change:hasPopup","querySelector","contains","Connected users list","keystrokes","3639930RsIpOM","bindTemplate","list","ck-presence-list__list","7KykWOO","render","62919ZpIEmf","hasPopup","2684385SQLaJy"];return(fo=function(){return t})()}function mo(t,e){const n=fo();return(mo=function(t,e){return n[t-=106]})(t,e)}!function(t){const e=mo,n=t();for(;;)try{if(446603===-parseInt(e(119))/1+parseInt(e(110))/2*(parseInt(e(138))/3)+-parseInt(e(113))/4*(-parseInt(e(121))/5)+parseInt(e(129))/6*(parseInt(e(133))/7)+parseInt(e(107))/8*(-parseInt(e(135))/9)+-parseInt(e(118))/10+-parseInt(e(137))/11)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(fo);class go extends o.View{[po(116)];[po(128)];constructor(t){const e=po;super(t);const n=this[e(130)];this[e(116)]=this[e(111)](),this[e(128)]=new s.KeystrokeHandler,this[e(144)]({hasPopup:!1,isExpanded:!1}),this[e(143)]({tag:e(122),attributes:{"aria-haspopup":n.if(e(136)),"aria-expanded":n.to(e(106),t=>this[e(136)]&&String(t)),"aria-label":n.to(e(136),n=>gr(t,e(n?120:127))),role:e(131),tabindex:n.to(e(136),t=>!!t&&0),class:["ck",e(132)]},children:this[e(116)],on:{mouseenter:n.to(()=>this[e(139)](e(145))),mouseleave:n.to(t=>{const n=e,r=t,s=document[n(125)](n(141)),o=document[n(125)](n(123));s?.[n(126)](r[n(109)])||o?.[n(126)](r[n(109)])||this[n(139)](n(140))})}}),this.on(e(124),(t,n,r)=>{const s=e;this[s(114)]&&(r?this[s(114)][s(112)](s(108),String(this[s(106)])):this[s(114)][s(117)](s(108)))})}[po(142)](){const t=po;this[t(114)][t(142)]()}[po(134)](){const t=po;super[t(134)](),this[t(128)][t(115)](this[t(114)])}}var yo=n(792),bo={attributes:{"data-cke":!0}};bo.setAttributes=ir(),bo.insert=sr().bind(null,"head"),bo.domAPI=nr(),bo.insertStyleElement=cr();tr()(yo.A,bo);yo.A&&yo.A.locals&&yo.A.locals;const Oo=vo;function wo(){const t=["ck-presence-list--collapsed","change","counterView","3133670SdHsLb","6JYqjdn","locale","setTemplate","hasPopup","bind","12CSZggB","2jqlcIH","first","ck-rounded-corners","bindTemplate","15492YcnnhT","div","ck-reset","184sJVCtj","551578IdRTNO","isCollapsed","set","ck-presence-list","4661880srMBah","139254zzGYgp","2430183eDNQvm","69912uOXzpT","tooltipPosition","inlineListView","listenTo","items","22xjWBZs"];return(wo=function(){return t})()}function vo(t,e){const n=wo();return(vo=function(t,e){return n[t-=485]})(t,e)}!function(t){const e=vo,n=t();for(;;)try{if(359199===-parseInt(e(512))/1*(-parseInt(e(504))/2)+parseInt(e(486))/3*(parseInt(e(503))/4)+-parseInt(e(497))/5+parseInt(e(498))/6*(-parseInt(e(487))/7)+parseInt(e(511))/8*(parseInt(e(488))/9)+parseInt(e(485))/10+parseInt(e(493))/11*(-parseInt(e(508))/12))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(wo);class Io extends o.View{[Oo(496)];[Oo(490)];constructor(t,e=6){const n=Oo;super(t);const r=this[n(507)];this[n(514)](n(513),!0),this[n(496)]=new ho(this[n(499)],e),this[n(490)]=new go(t),this[n(490)][n(502)](n(501)).to(this,n(513)),this[n(491)](this[n(490)][n(492)],n(495),()=>{const t=n;for(const e of this[t(490)][t(492)])e[t(489)]="s";this[t(490)][t(492)][t(505)]&&(this[t(490)][t(492)][t(505)][t(489)]="se")}),this[n(500)]({tag:n(509),attributes:{class:["ck",n(515),n(510),n(506),r.if(n(513),n(494))]},children:[this[n(490)]]})}}const So=Ao;!function(t){const e=Ao,n=t();for(;;)try{if(409070===parseInt(e(480))/1*(-parseInt(e(498))/2)+parseInt(e(485))/3+parseInt(e(490))/4+parseInt(e(475))/5+parseInt(e(511))/6+-parseInt(e(500))/7*(-parseInt(e(486))/8)+-parseInt(e(505))/9)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Po);class ko extends o.View{[So(508)];constructor(t,e){const n=So;super(t);const r=this[n(478)];this[n(508)]=new To(t,e),this[n(492)]({tag:n(487),attributes:{tabindex:-1,role:n(477),class:["ck",n(501)],"aria-label":gr(t,n(483))},children:[this[n(508)]],on:{mouseleave:r.to(t=>{const e=n,r=t,s=document[e(494)](e(515)),o=document[e(494)](e(504));s?.[e(513)](r[e(507)])||o?.[e(513)](r[e(507)])||this[e(481)](e(489))})}})}}function Po(){const t=["Connected users list dropdown menu","scrollHeight","41727AkrSJT","8sEfxHe","div","ck-presence-list__dropdown-list-wrapper","presencelist:hide","2487072WSHUGS","_isScrollable","setTemplate","checkIfScrollable","querySelector","ck-reset","innerHeight","change","2hDfcMG","ck-list","4860611rMyTPt","ck-presence-list__dropdown-list","clientHeight","ariaLabelledBy",".ck-balloon-panel_with-arrow","17181513yGiJpd","items","relatedTarget","listWrapperView","element","listenTo","2645178BAKZUj","role","contains","resize",".ck-presence-list__list","render","set","max","3975135EdGwxp","ck-presence-list__dropdown-list-wrapper_scrollable","application","bindTemplate","window","247813YsQIjc","fire","ariaLabel"];return(Po=function(){return t})()}function Ao(t,e){const n=Po();return(Ao=function(t,e){return n[t-=475]})(t,e)}class To extends o.ListView{constructor(t,e){const n=So;super(t);const r=this[n(478)];this[n(517)](n(491),!1),this[n(492)]({tag:e?n(487):"ul",attributes:{class:["ck",n(495),n(499),n(488),r.if(n(491),n(476))],role:r.to(n(512)),"aria-label":r.to(n(482)),"aria-labelledby":r.to(n(503))},children:this[n(506)]}),this[n(510)](s.global[n(479)],n(514),()=>this[n(493)]()),this[n(506)].on(n(497),()=>this[n(493)]())}[So(516)](){const t=So;super[t(516)](),this[t(493)]()}[So(493)](){const t=So,e=this[t(509)];e&&(this[t(491)]=Math[t(518)](e[t(484)],e[t(502)])>.8*window[t(496)])}}const _o=Co;function Co(t,e){const n=Eo();return(Co=function(t,e){return n[t-=317]})(t,e)}function Eo(){const t=["ck-presence-list__marker","name","bindTemplate","5931WOujXK","ck-user__full-name","focus","31652489AgmyDw","90MpiLbt","4538OglHqr","2737467KUspKM","11864XeDPGl","7570SgbcpC","true","element","setTemplate","ck-presence-list__dropdown-list-item","7133uujBcG","552RpDnEM","2698472ObrjBb","button","411755HmvwJN","span","execute","userView","tag","fire","presentation","getBackgroundColorClass","color"];return(Eo=function(){return t})()}!function(t){const e=Co,n=t();for(;;)try{if(860439===parseInt(e(337))/1*(parseInt(e(328))/2)+parseInt(e(329))/3+-parseInt(e(338))/4+parseInt(e(340))/5*(parseInt(e(327))/6)+-parseInt(e(336))/7*(-parseInt(e(330))/8)+-parseInt(e(323))/9*(parseInt(e(331))/10)+-parseInt(e(326))/11)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Eo);class jo extends o.ListItemView{[_o(343)];constructor(t,e,n){const r=_o;super(t);const s=this[r(322)];this[r(343)]=new Kn.UserView(t,e);const o={tag:"li",attributes:{class:["ck",r(335)],tabindex:-1,role:r(317),"aria-label":e[r(321)]},children:[this[r(343)],{tag:r(341),attributes:{class:["ck",r(324)]},children:[{text:e[r(321)]}]},{tag:r(341),attributes:{class:["ck",r(320),e[r(319)][r(318)]()],"aria-hidden":r(332)}}]};n&&(o[r(344)]=r(339),o.on={click:s.to(()=>this[r(345)](r(342)))}),this[r(334)](o)}[_o(325)](){const t=_o;this[t(333)][t(325)]()}}function xo(){const t=["fire","346248JPsYPX","2971827ggyNEB","isFocusable","text","1673882EnbSHh","bindTemplate","listitem","div","tag","tooltipPosition","button","getBackgroundColorClass","setTemplate","span","markerView","4329369wKndcF","980664UGkvHB","8oRHhtS","execute","true","name","1kieQiy","ck-presence-list__list-item__tooltip","ck-presence-list__marker","hasTooltip","10Tipebc","set","ck-presence-list__list-item","759875BENfQT","userView","template","color","18ogsiYP","1144084vmfUJI"];return(xo=function(){return t})()}const Do=Ro;function Ro(t,e){const n=xo();return(Ro=function(t,e){return n[t-=254]})(t,e)}!function(t){const e=Ro,n=t();for(;;)try{if(413561===-parseInt(e(270))/1*(-parseInt(e(282))/2)+parseInt(e(284))/3+-parseInt(e(265))/4+parseInt(e(277))/5*(parseInt(e(281))/6)+-parseInt(e(288))/7*(-parseInt(e(266))/8)+parseInt(e(285))/9*(-parseInt(e(274))/10)+-parseInt(e(264))/11)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(xo);class No extends o.View{[Do(278)];[Do(263)];constructor(t,e,n){const r=Do;super(t);const s=this[r(254)];this[r(275)](r(286),!1),this[r(275)](r(273),!0),this[r(275)](r(258),""),this[r(278)]=new Kn.UserView(t,e),this[r(263)]=new Vo(t,e);const i=new o.LabelView(t);i[r(279)][r(257)]=r(262),i[r(287)]=e[r(269)];const a={tag:r(256),attributes:{class:["ck",r(276)],role:r(255),tabindex:s.to(r(286),t=>!!t&&0),"aria-labelledby":i.id,"data-cke-tooltip-text":this[r(278)][r(269)],"data-cke-tooltip-position":s.to(r(258)),"data-cke-tooltip-disabled":s.to(r(273),t=>!t),"data-cke-tooltip-class":r(271)},children:[this[r(278)],this[r(263)],i]};n&&(a[r(257)]=r(259),a.on={click:s.to(()=>this[r(283)](r(267)))}),this[r(261)](a)}}class Vo extends o.View{constructor(t,e){const n=Do;super(t),this[n(261)]({tag:n(262),attributes:{class:["ck",n(272),e[n(280)][n(260)]()],"aria-hidden":n(268)}})}}const Mo=Bo;function Bo(t,e){const n=Uo();return(Bo=function(t,e){return n[t-=474]})(t,e)}function Uo(){const t=["1208355zRjMWa","button","presenceList.displayMe","presenceList.collapseAt","Esc","set","textarea","18CqZlFt","isVisible","2119808NQzLNW","bindTo","offsetHeight","listenTo","isOfficialPlugin","isRendered","_handleUserRemove","locale","Enter","isPremiumPlugin","remove","activeElement","displayMe","reverse","isCollapsed","pluginName","change:isFocused","querySelectorAll","number","balloonPanelView","6281272JQpHeQ","indexOf","plugins","class","presencelist:hide","573708gfRbey","usersCount","find","inlineListView","appendChild","length","presenceDropdownView","Shift+Tab","currentDisplayedUsers","requires","min","[contenteditable]","PresenceListUI","focusTracker","57173994GQiQCh","checkIfScrollable","items","select","map","ck ck-presence-list__balloon","attachToDom","_bodyCollection","view","context","[tabindex]","presenceList.container","counterView","presencelist-missing-container","pin","presencelist:show","showDropdown","isMe","offsetWidth","destroy","config","_handleUserAdd","content",':not([disabled]):not([tabindex="-1"])',"_createView","body","element","get","7USPpEX","presenceList","define","focus","keystrokes","hasTooltip","isExpanded","tabIndex","_allConnectedUsers","from","execute","filter","allConnectedUsers","presencelist-collapseat-invalid-format","add","render","join","onClick","bind","using","isFocusable","unpin","init","3667590oFxiEU","6461790UvDHbO","detachFromDom","Tab","sort","hideDropdown","input"];return(Uo=function(){return t})()}!function(t){const e=Bo,n=t();for(;;)try{if(628203===-parseInt(e(513))/1+-parseInt(e(522))/2+-parseInt(e(520))/3*(parseInt(e(547))/4)+-parseInt(e(506))/5+-parseInt(e(507))/6+-parseInt(e(483))/7*(parseInt(e(542))/8)+parseInt(e(561))/9)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Uo);const Jo={collapseAt:6,displayMe:!0};class qo extends e.ContextPlugin{[Mo(555)];[Mo(541)];[Mo(569)];[Mo(553)];[Mo(568)]=null;static get[Mo(537)](){return Mo(559)}static get[Mo(526)](){return!0}static get[Mo(531)](){return!0}constructor(t){const e=Mo;super(t),this[e(570)][e(475)][e(485)](e(484),Jo);const n=t[e(475)][e(482)](e(516));if(e(540)!=typeof n)throw new s.CKEditorError(e(496),this);if(n<1)throw new s.CKEditorError(e(496),this);this[e(491)]=this[e(570)][e(544)][e(482)]($n)[e(495)],this[e(518)](e(548),0),this[e(555)]=new s.Collection,this[e(541)]=new o.BalloonPanelView,this[e(541)][e(545)]=e(566),this[e(569)]=this[e(479)](),this[e(553)]=void 0}static get[Mo(556)](){return[$n]}[Mo(505)](){const t=Mo;for(const e of this[t(491)])this[t(476)](e);this[t(525)](this[t(491)],t(497),(e,n)=>{this[t(476)](n)}),this[t(525)](this[t(491)],t(532),(e,n)=>{this[t(528)](n)})}[Mo(479)](){const t=Mo,e=this[t(570)],n=new Io(this[t(570)][t(529)],this[t(570)][t(475)][t(482)](t(516))),r=this[t(541)];if(!ao(e[t(475)][t(482)](t(572))))throw new s.CKEditorError(t(574),this);return n[t(573)][t(501)](t(548)).to(this),n[t(501)](t(536)).to(this,t(548),r=>{const s=t,{collapseAt:o}=e[s(475)][s(482)](s(484)),i=r>=o;if(i&&!n[s(550)][s(563)][s(549)](t=>t instanceof ho)){const t=this[s(570)][s(475)][s(482)](s(516))-1;this[s(555)][s(552)]==t&&this[s(555)][s(552)]>1&&this[s(555)][s(532)](this[s(555)][s(552)]-1),n[s(550)][s(563)][s(497)](n[s(573)])}return i||this[s(511)](),i}),n[t(550)][t(563)][t(523)](this[t(555)])[t(502)](r=>{const s=t,o=e[s(475)][s(482)](s(484)),i=new No(e[s(529)],r,!!o[s(500)]);return i[s(501)](s(488)).to(n,s(536),t=>!t),i[s(501)](s(503)).to(n,s(536),t=>!t),o[s(500)]&&this[s(525)](i,s(493),()=>{const t=s;this[t(569)][t(536)]||o[t(500)](r,i[t(481)])}),i}),this[t(525)](n[t(550)],t(576),()=>{const e=t;this[e(569)][e(536)]&&this[e(577)]()}),this[t(525)](n[t(550)],t(546),()=>{const e=t;this[e(553)]&&this[e(511)]()}),n[t(550)][t(487)][t(518)](t(530),(e,n)=>{const r=t;this[r(569)][r(536)]&&(this[r(577)](),n())}),n[t(498)](),r[t(498)](),(0,o.clickOutsideHandler)({emitter:n,activator:()=>r[t(521)],contextElements:[r[t(481)],n[t(550)][t(481)]],callback:()=>this[t(511)]()}),e[t(475)][t(482)](t(572))[t(551)](n[t(481)]),this[t(568)]=new o.BodyCollection(this[t(570)][t(529)]),this[t(568)][t(567)](),this[t(568)][t(497)](this[t(541)]),n}[Mo(476)](t){const e=Mo;if(!this[e(570)][e(475)][e(482)](e(515))&&t[e(578)])return;const n=this[e(570)][e(475)][e(482)](e(516))-1;for(this[e(548)]++;this[e(555)][e(552)]>=n-(this[e(569)][e(536)]?1:0)&&this[e(555)][e(552)]>1;)this[e(555)][e(532)](1);const r=t[e(578)]?0:this[e(555)][e(552)];this[e(555)][e(497)](t,r)}[Mo(528)](t){const e=Mo;this[e(548)]--;const{collapseAt:n}=this[e(570)][e(475)][e(482)](e(484)),r=this[e(548)]>=n;if(this[e(555)][e(482)](t.id))this[e(555)][e(532)](t.id);else if(r&&this[e(555)][e(552)]+1===n-1)return;if(this[e(555)][e(552)]+(r?1:0)<this[e(548)])for(const t of Array[e(492)](this[e(491)])[e(535)]())if(!this[e(555)][e(482)](t.id)&&(this[e(555)][e(497)](t,Math[e(557)](this[e(555)][e(552)]-(r?1:0),1)),this[e(555)][e(552)]+(r?1:0)===n-1))return}[Mo(577)](){const t=Mo;if(this[t(553)])return;const e=this[t(570)][t(475)][t(482)](t(484));this[t(553)]=new ko(this[t(570)][t(529)],!!e[t(500)]),this[t(569)][t(550)][t(489)]=!0,this[t(525)](this[t(553)],t(546),()=>{const e=t;this[e(553)]&&this[e(511)]()});const{listWrapperView:n}=this[t(553)];n[t(563)][t(523)](this[t(491)])[t(502)](n=>{const r=t;if(!e[r(534)]&&n[r(578)])return null;const s=new jo(this[r(570)][r(529)],n,!!e[r(500)]);return e[r(500)]&&this[r(525)](s,r(493),()=>{const t=r;e[t(500)](n,s[t(481)])}),s}),this[t(541)][t(477)][t(497)](this[t(553)]),this[t(541)][t(575)]({target:this[t(569)][t(550)][t(481)]}),n[t(486)](),n[t(562)]();const r=(e,n)=>{const r=t;this[r(511)](),this[r(569)][r(550)][r(486)](),n()};n[t(487)][t(518)](t(517),r),n[t(487)][t(518)](t(554),r),n[t(487)][t(518)](t(509),(e,n)=>{const r=t;!function(t){const e=Bo,n=["a",e(514),e(512),e(564),e(519),e(571),e(558)][e(565)](t=>t+e(478))[e(499)](","),r=[...document[e(480)][e(539)](n)][e(494)](t=>t===document[e(533)]||t[e(579)]+t[e(524)]>0)[e(510)]((t,n)=>(t[e(490)]||0)-(n[e(490)]||0)),s=r[e(543)](t),o=r[(s+1)%r[e(552)]];o&&o[e(486)]()}(this[r(569)][r(481)]),this[r(511)](),n()}),n[t(560)][t(497)](this[t(569)][t(481)]),n[t(560)].on(t(538),(e,n,r)=>{r||this[t(511)]()})}[Mo(511)](){const t=Mo;this[t(553)]&&(this[t(569)][t(550)][t(489)]=!1,this[t(541)][t(504)](),this[t(541)][t(477)][t(532)](this[t(553)]),this[t(553)][t(474)](),this[t(553)]=void 0)}[Mo(474)](){const t=Mo;super[t(474)](),this[t(569)]&&this[t(569)][t(527)]&&this[t(569)][t(474)](),this[t(568)]&&(this[t(568)][t(508)](),this[t(568)][t(474)](),this[t(568)]=null)}}var Lo=Go;function Go(t,e){var n=Yo();return(Go=function(t,e){return n[t-=400]})(t,e)}function Yo(){var t=["470IGLQVd","77881419IuGecC","294868DpYase","isOfficialPlugin","260998qZBJWM","366453IAilIB","requires","pluginName","PresenceList","9144sGQjmn","4747547iORYsf","16qERAlq","isPremiumPlugin","1895JLYJXW","42eiqLgY","5108720VFzCTo"];return(Yo=function(){return t})()}!function(t){for(var e=Go,n=t();;)try{if(988550===-parseInt(e(410))/1+parseInt(e(412))/2*(-parseInt(e(406))/3)+-parseInt(e(407))/4+parseInt(e(405))/5*(parseInt(e(401))/6)+parseInt(e(402))/7*(-parseInt(e(403))/8)+parseInt(e(413))/9*(-parseInt(e(408))/10)+parseInt(e(409))/11)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(Yo);class Ho extends e.ContextPlugin{static get[Lo(414)](){return[$n,qo]}static get[Lo(415)](){return Lo(400)}static get[Lo(411)](){return!0}static get[Lo(404)](){return!0}}function zo(){var t=["579528dMTLxO","848USdMAO","54082WIDAYX","69597tVijjX","420PujONv","95958UnLukq","50041uvilss","6ZuADIF","4165425NCcUki","1064096ptlmzB"];return(zo=function(){return t})()}function Fo(t,e){var n=zo();return(Fo=function(t,e){return n[t-=129]})(t,e)}!function(t){for(var e=Fo,n=t();;)try{if(676649===-parseInt(e(130))/1+parseInt(e(131))/2*(-parseInt(e(137))/3)+parseInt(e(133))/4+-parseInt(e(132))/5+parseInt(e(134))/6+parseInt(e(136))/7*(parseInt(e(135))/8)+-parseInt(e(129))/9*(-parseInt(e(138))/10))break;n.push(n.shift())}catch(t){n.push(n.shift())}}(zo)})(),(window.CKEditor5=window.CKEditor5||{}).realTimeCollaboration=r})();