@ckeditor/ckeditor5-real-time-collaboration 37.0.0 → 37.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,4 +2,4 @@
2
2
  /*!
3
3
  * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
4
4
  * For licensing, see LICENSE.md.
5
- */(()=>{var __webpack_modules__={357:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n extends Error{constructor(e,t,n=null,r={}){super("cloud-services-internal-error: "+e),this.context=t,this.code=n,this.data=r,this.name="CKEditorError"}static fromPublicError(e){return new n(function(e){let t="cloud-services-error: "+e.message;return e.explanation&&(t+="\nExplanation: "+e.explanation),e.action&&(t+="\nAction: "+e.action),e.traceId&&(t+="\nTraceId: "+e.traceId),e.code&&(t+="\nCode: "+e.code),t}(e),e)}}t.default=n},8801:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n extends Error{constructor(e,t){super(),this.name="CKEditorCloudServicesServerError",this.stack=void 0,this.message=e,this.code=t.code,this.traceId=t.traceId,this.data=t.data}static fromPublicError(e){return new n(function(e){let t="cloud-services-server-error: "+e.message;return e.explanation&&(t+="\nExplanation: "+e.explanation),e.action&&(t+="\nAction: "+e.action),e.traceId&&(t+="\nTraceId: "+e.traceId),e.code&&(t+="\nCode: "+e.code),t}(e),e)}}t.default=n},7622:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._SERVICE=void 0;const o=n(5003),s=n(2209),i=r(n(3596)),a=r(n(7026)),c=r(n(7839)),u=r(n(5132)),d=r(n(4148)),l=r(n(223)),p=r(n(2968)),h=r(n(7158)),f=r(n(357)),m=r(n(6314)),y=r(n(6148)),g=r(n(961));t._SERVICE=1;class b{constructor(e,t){if(!e)throw new TypeError('Param "bundleVersion" must be provided.');this._id=null!=t?t:(0,o.v4)(),this._isConnected=!1,this._bundleVersion=e}getId(){return this._id}isConnected(){return this._isConnected}connect(e,t={buffers:[],types:[]},n){const r=new c.default(this.getId(),t.buffers,t.types,this._bundleVersion,n);return this._connect(e,r)}reconnect(e,t){if(this.isConnected())throw new f.default("Cannot reconnect to already connected service.",e);return this._connect(e,new d.default(this.getId(),t,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 e=new g.default(this.getId());if(!this._wsGateway)throw new m.default("Collaborative Editing",this);const n=await this._wsGateway._sendRequest(t._SERVICE,g.default.TYPE,i.default.encode(e));return i.default.decode(n,y.default)}async sendOperations(e,n,r){if(!e||!e.types||!e.types.length)throw new f.default("Cannot send empty update.",this._wsGateway);const o="number"==typeof n?n:parseInt(n);if(!Number.isInteger(o)||o<0)throw new f.default("Base version not provided.",this._wsGateway);const s=new u.default(this.getId(),e.buffers,e.types,o,[],r);if(!this._wsGateway||!this._isConnected)throw new m.default("Collaborative Editing",this);const a=await this._wsGateway._sendRequest(t._SERVICE,u.default.TYPE,i.default.encode(s));return i.default.decode(a,l.default)}async getConnectedSessions(){if(!this._isConnected)throw new m.default("Collaborative Editing",this);return this._connectedSessions||(this._connectedSessions=await a.default.getConnectedSessions(this._wsGateway,this._id,t._SERVICE)),this._connectedSessions}static getConnectedSessions(e,n){return a.default.getConnectedSessions(e,n,t._SERVICE)}async _connect(e,n){if(this.isConnected())return;if(e.state!==h.default.STATE_CONNECTED)throw new f.default("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const r=await e._sendRequest(t._SERVICE,n.constructor.TYPE,i.default.encode(n)),o=i.default.decode(r,p.default);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:h.default._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,o.channel),this._isConnected=!0,this.fire("connected"),o}_connectToChannel(e,n){this._channel=e._getChannel(t._SERVICE,n),this.listenTo(this._channel,this._channel.getEventName(u.default.TYPE),((e,t)=>{const n=i.default.decode(t,u.default);this.fire("operationsReceived",n.baseVersion,n.data,n.metadata)}))}_onWsGatewayStateChange(e){e===h.default.STATE_DISCONNECTED&&this.disconnect()}}b._SERVICE=t._SERVICE,(0,s.mix)(b,s.EmitterMixin),t.default=b},8677:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(5945));class s extends o.default{static toJSON({createdAt:e,...t}){const n={...t};return(null==e?void 0:e.toISOString)&&(n.createdAt=e.toISOString()),n}static fromJSON({createdAt:e,...t}){const n={...t};return e&&(n.createdAt=new Date(e)),n}}t.default=s,s.DESCRIPTOR_NAME="OperationMetadataDescriptor",s.DESCRIPTOR={fields:{userId:{type:"string",id:1},type:{type:"string",id:2},createdAt:{type:"string",id:3}}}},6685:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{static prepareMetadataForOperations(e,t){if(!(e&&e.length&&t&&t.length))return[];const n=[];let r=0;for(const o of e)if(0!==o){if(!t[r])throw new Error("Missing metadata for a operation");n.push(t[r]),r++}else n.push(n[n.length-1]);return n}static removeUnnecessaryMetadata(e,t){if(!(e&&e.length&&t&&t.length))return[];const n=[];for(let r=0;r<e.length;r++)if(0!==e[r]){if(!t[r])throw new Error("Missing metadata for a operation");n.push(t[r])}return n}}},7839:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n,r,o=""){super(),this.id=e,this.buffers=t,this.types=n,this.bundleVersion=r,this.lastOperationId=o}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,bundleVersion:this.bundleVersion,lastOperationId:this.lastOperationId}}static fromJSON(e){return new s(e.id,e.buffers,e.types,e.bundleVersion,e.lastOperationId)}}t.default=s,s.TYPE="11",s.READABLE_TYPE_NAME="connectToDocument",s.DESCRIPTOR_NAME="CollaborativeEditingConnectMessage",s.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}}}},4148:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n){super(),this.id=e,this.lastKnowVersion=t,this.bundleVersion=n}toJSON(){return{id:this.id,bundleVersion:this.bundleVersion,lastKnowVersion:this.lastKnowVersion}}static fromJSON(e){return new s(e.id,e.lastKnowVersion,e.bundleVersion)}}t.default=s,s.TYPE="12",s.READABLE_TYPE_NAME="reconnectToDocument",s.DESCRIPTOR_NAME="CollaborativeEditingReconnectMessage",s.DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},lastKnowVersion:{type:"uint32",id:3}}}},5132:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(6685)),i=r(n(8677));class a extends o.default{constructor(e,t,n,r,o=[],s=""){super(),this.id=e,this.buffers=t,this.types=n,this.baseVersion=r,this.metadata=o,this.lastOperationId=s}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:s.default.removeUnnecessaryMetadata(this.types,this.metadata).map(i.default.toJSON),lastOperationId:this.lastOperationId}}static fromJSON(e){return new a(e.id,e.buffers,e.types,e.baseVersion,s.default.prepareMetadataForOperations(e.types,e.metadata).map(i.default.fromJSON),e.lastOperationId)}}t.default=a,a.TYPE="13",a.READABLE_TYPE_NAME="updateDocument",a.DESCRIPTOR_NAME="CollaborativeEditingUpdateMessage",a.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}}}},961:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.documentId=e}get data(){return{documentId:this.documentId}}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new s(e.documentId)}}t.default=s,s.TYPE="14",s.READABLE_TYPE_NAME="getDocumentDetails",s.DESCRIPTOR_NAME="GetDocumentDetailsMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1},environmentId:{type:"string",id:2}}}},2968:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(6685)),i=r(n(8677));class a extends o.default{constructor(e,t,n=[],r=[],o=0,s=[],i=null,a="",c="",u=null){super(),this.channel=e,this.version=t,this.buffers=n,this.types=r,this.offset=o,this.metadata=s,this.initData=i,this.sessionId=a,this.lastOperationId=c,this.sessionCreatedAt=u}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt}}get wereChangesApplied(){var e;return!(null===(e=this.types)||void 0===e?void 0:e.length)&&null===this.initData}toJSON(){var e;return{channel:this.channel,version:this.version,sessionId:this.sessionId,buffers:this.buffers,types:this.types,offset:this.offset,metadata:s.default.removeUnnecessaryMetadata(this.types,this.metadata).map(i.default.toJSON),initData:null!==(e=this.initData)&&void 0!==e?e:"",isInitialized:"string"==typeof this.initData,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt?this.sessionCreatedAt.toISOString():null}}static create(e){return new a(e.channel,e.version,e.buffers,e.types,e.offset,e.metadata,e.initData,e.sessionId,e.lastOperationId,e.sessionCreatedAt)}static fromJSON(e){var t;let n=null;return!0===e.isInitialized?n=null!==(t=e.initData)&&void 0!==t?t:"":"boolean"!=typeof e.isInitialized&&e.initData&&(n=e.initData),a.create({channel:e.channel,version:e.version,buffers:e.buffers,types:e.types,offset:e.offset,metadata:s.default.prepareMetadataForOperations(e.types,e.metadata).map(i.default.fromJSON),initData:n,sessionId:e.sessionId,lastOperationId:e.lastOperationId,sessionCreatedAt:e.sessionCreatedAt?new Date(e.sessionCreatedAt):null})}}t.default=a,a.DESCRIPTOR_NAME="CollaborativeEditingConnectResponse",a.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:i.default.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}}}},223:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(6685)),i=r(n(8677));class a extends o.default{constructor(e,t=[],n=[],r=[],o="",s=null){super(),this.version=e,this.buffers=t,this.types=n,this.metadata=r,this.lastOperationId=o,this.lastOperationAcceptedAt=s}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt}}get wereChangesApplied(){var e;return!(null===(e=this.types)||void 0===e?void 0:e.length)}toJSON(){return{version:this.version,buffers:this.buffers,types:this.types,metadata:s.default.removeUnnecessaryMetadata(this.types,this.metadata).map(i.default.toJSON),lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt instanceof Date?this.lastOperationAcceptedAt.toISOString():this.lastOperationAcceptedAt}}static fromJSON(e){return new a(e.version,e.buffers,e.types,s.default.prepareMetadataForOperations(e.types,e.metadata).map(i.default.fromJSON),e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}static create(e){return new a(e.version,e.buffers,e.types,e.metadata,e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}}t.default=a,a.DESCRIPTOR_NAME="CollaborativeEditingResponse",a.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}}}},6148:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t){super(),this.lastDocumentSession=e,this.currentDocumentSession=t}get data(){var e,t,n,r,o;return{lastDocumentSessionId:null===(e=this.lastDocumentSession)||void 0===e?void 0:e.id,lastDocumentSessionOperationId:null===(t=this.lastDocumentSession)||void 0===t?void 0:t.lastOperationId,currentDocumentSessionId:null===(n=this.currentDocumentSession)||void 0===n?void 0:n.id,currentDocumentSessionVersion:null===(r=this.currentDocumentSession)||void 0===r?void 0:r.version,currentDocumentSessionOperationId:null===(o=this.currentDocumentSession)||void 0===o?void 0:o.lastOperationId}}toJSON(){var e,t,n,r,o;return{lastDocumentSessionId:null===(e=this.lastDocumentSession)||void 0===e?void 0:e.id,lastDocumentSessionOperationId:null===(t=this.lastDocumentSession)||void 0===t?void 0:t.lastOperationId,currentDocumentSessionId:null===(n=this.currentDocumentSession)||void 0===n?void 0:n.id,currentDocumentSessionVersion:null===(r=this.currentDocumentSession)||void 0===r?void 0:r.version,currentDocumentSessionOperationId:null===(o=this.currentDocumentSession)||void 0===o?void 0:o.lastOperationId}}static fromJSON(e){const t=e.lastDocumentSessionId?{id:e.lastDocumentSessionId,lastOperationId:e.lastDocumentSessionOperationId}:void 0,n=e.currentDocumentSessionId?{lastOperationId:e.currentDocumentSessionOperationId,version:e.currentDocumentSessionVersion,id:e.currentDocumentSessionId}:void 0;return new s(t,n)}}t.default=s,s.DESCRIPTOR_NAME="GetDocumentDetailsResponse",s.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}}}},6042:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._SERVICE=void 0;const a=n(2209),c=i(n(3596)),u=i(n(5420)),d=i(n(2280)),l=i(n(6376)),p=i(n(7608)),h=i(n(6178)),f=i(n(5711)),m=i(n(7955)),y=i(n(939)),g=i(n(6523)),b=i(n(1926)),O=i(n(7952)),v=s(n(7158)),w=i(n(357)),x=i(n(7026)),_=i(n(6314)),I=i(n(8801)),S=i(n(5373)),P=i(n(7073)),T=i(n(3118)),A=i(n(8742)),k=i(n(4396)),C=i(n(2282));t._SERVICE=9;class j{constructor(e){this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==v.WEB_SOCKET_GATEWAY_STATES.CONNECTED)throw new w.default("WebSocket Gateway is not connected.",e);const n=new l.default(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const r=await e._sendRequest(t._SERVICE,l.default.TYPE,c.default.encode(n)),{channel:o,threads:s}=c.default.decode(r,p.default);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:v.default._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,o),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(e,t,n,r){const o=new u.default(this._documentId,e,n,t,void 0,void 0,r),s=await this._sendRequest(u.default.TYPE,o);return c.default.decode(s,d.default)}async updateComment(e,t,n,r){const o=void 0!==r,s=new m.default(this._documentId,e,t,n,r,o);await this._sendRequest(m.default.TYPE,s)}async removeComment(e,t){const n=new h.default(this._documentId,e,t);await this._sendRequest(h.default.TYPE,n)}async removeCommentThread(e){const t=new f.default(this._documentId,e);await this._sendRequest(f.default.TYPE,t)}async addCommentThread(e){var t;const n=new P.default(this._documentId,e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((t=>({...t,documentId:this._documentId,commentThreadId:e.commentThreadId}))),e.context,e.resolvedBy,e.createdAt,e.resolvedAt,e.deletedAt,e.attributes),r=await this._sendRequest(P.default.TYPE,n);return c.default.decode(r,S.default)}async resolveCommentThread(e){const t=new T.default(e,this._documentId),n=await this._sendRequest(T.default.TYPE,t);return c.default.decode(n,C.default)}async reopenCommentThread(e){const t=new A.default(e,this._documentId);await this._sendRequest(A.default.TYPE,t)}async updateCommentThread(e){const t=new k.default(e.commentThreadId,this._documentId,e.context,e.attributes);await this._sendRequest(k.default.TYPE,t)}async getCommentThread(e,t=1){const n=new y.default(e,this._documentId);try{const e=await this._sendRequest(y.default.TYPE,n),t=c.default.decode(e,g.default);return{commentThreadId:t.commentThreadId,comments:t.comments,attributes:t.attributes,context:t.context,resolvedAt:t.resolvedAt,resolvedBy:t.resolvedBy,deletedAt:t.deletedAt}}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&t<5)return await(r=100*t,new Promise((e=>{setTimeout(e,r)}))),this.getCommentThread(e,t+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw I.default.fromPublicError(n)}var r}async getDocumentThreads(){const e=new b.default(this._documentId),t=await this._sendRequest(b.default.TYPE,e),{threads:n}=c.default.decode(t,O.default);return{threads:n}}async getConnectedSessions(){if(!this._isConnected)throw new _.default("Comments",this);return this._connectedSessions||(this._connectedSessions=await x.default.getConnectedSessions(this._wsGateway,this._documentId,t._SERVICE)),this._connectedSessions}_connectToChannel(e,t){this._channel=e._getChannel(j._SERVICE,t),this._channel&&(this.listenTo(this._channel,this._channel.getEventName(u.default.TYPE),((e,t)=>{const n=c.default.decode(t,u.default);this.fire("commentAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(h.default.TYPE),((e,t)=>{const n=c.default.decode(t,h.default);this.fire("commentRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName(m.default.TYPE),((e,t)=>{const n=c.default.decode(t,m.default);this.fire("commentUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName(f.default.TYPE),((e,t)=>{const n=c.default.decode(t,f.default);this.fire("commentThreadRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName(P.default.TYPE),((e,t)=>{const n=c.default.decode(t,P.default);this.fire("commentThreadAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(k.default.TYPE),((e,t)=>{const n=c.default.decode(t,k.default);this.fire("commentThreadUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName(T.default.TYPE),((e,t)=>{const n=c.default.decode(t,T.default);this.fire("commentThreadResolved",n)})),this.listenTo(this._channel,this._channel.getEventName(A.default.TYPE),((e,t)=>{const n=c.default.decode(t,A.default);this.fire("commentThreadReopened",n)})))}_onWsGatewayStateChange(e){e===v.WEB_SOCKET_GATEWAY_STATES.DISCONNECTED&&this.disconnect()}_sendRequest(e,n){if(!this._wsGateway||!this._isConnected)throw new _.default("Comments",this);return this._wsGateway._sendRequest(t._SERVICE,e,c.default.encode(n))}}j._SERVICE=t._SERVICE,(0,a.mix)(j,a.EmitterMixin),t.default=j},2529:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(5945));class s extends o.default{static toJSON(e){var t;return{...e,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):null}}static fromJSON(e){return{...e,createdAt:new Date(e.createdAt),attributes:e.attributes?JSON.parse(e.attributes):null}}}t.default=s,s.DESCRIPTOR_NAME="CommentDescriptor",s.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"}}}},1578:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(5945)),s=r(n(2529));class i extends o.default{static toJSON(e){var t,n,r,o;return{...e,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),deletedAt:null===(n=e.deletedAt)||void 0===n?void 0:n.toISOString(),resolvedAt:null===(r=e.resolvedAt)||void 0===r?void 0:r.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):null,context:e.context?JSON.stringify(e.context):e.context,comments:null===(o=e.comments)||void 0===o?void 0:o.map(s.default.toJSON)}}static fromJSON(e){var t;return{...e,createdAt:e.createdAt?new Date(e.createdAt):void 0,deletedAt:e.deletedAt?new Date(e.deletedAt):void 0,resolvedAt:e.resolvedAt?new Date(e.resolvedAt):void 0,attributes:e.attributes?JSON.parse(e.attributes):null,context:e.context?JSON.parse(e.context):void 0,comments:null===(t=e.comments)||void 0===t?void 0:t.map(s.default.fromJSON)}}}t.default=i,i.DESCRIPTOR_NAME="CommentsThreadDescriptor",i.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}}}},309:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(5945));class s extends o.default{static toJSON(e){var t;return{commentId:e.commentId,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString()}}static fromJSON(e){return{commentId:e.commentId,createdAt:new Date(e.createdAt)}}}t.default=s,s.DESCRIPTOR_NAME="CommentThreadAddedCommentDescriptor",s.DESCRIPTOR={fields:{commentId:{id:1,type:"string"},createdAt:{id:2,type:"string"}}}},5420:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(1578));class i extends o.default{constructor(e,t,n,r="",o,s="",i=null,a){super(),this.documentId=e,this.commentThreadId=t,this.content=n,this.commentId=r,this.userId=s,this.attributes=i,this.commentThread=a,this.createdAt=o?new Date(o):""}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?s.default.toJSON(this.commentThread):void 0}}static fromJSON(e){return new i(e.documentId,e.commentThreadId,e.content,e.commentId?e.commentId:void 0,e.createdAt?new Date(e.createdAt):void 0,e.userId?e.userId:void 0,e.attributes?JSON.parse(e.attributes):{},e.commentThread?s.default.fromJSON(e.commentThread):void 0)}}t.default=i,i.TYPE="91",i.READABLE_TYPE_NAME="addComment",i.DESCRIPTOR_NAME="CommentsV2AddCommentMessage",i.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}}}},7073:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(2529));class i extends o.default{constructor(e,t,n=[],r,o=null,s=null,i=null,a=null,c=null){super(),this.documentId=e,this.commentThreadId=t,this.comments=n,this.context=r,this.resolvedBy=o,this.attributes=c,this.createdAt=s?new Date(s):"",this.resolvedAt=i?new Date(i):"",this.deletedAt=a?new Date(a):""}toJSON(){var e;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:null===(e=this.comments)||void 0===e?void 0:e.map((e=>s.default.toJSON(e)))}}static fromJSON(e){var t;return new i(e.documentId,e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((t=>s.default.fromJSON({...t,documentId:e.documentId,commentThreadId:e.commentThreadId}))),e.context?JSON.parse(e.context):e.context,e.resolvedBy,e.createdAt?new Date(e.createdAt):void 0,e.resolvedAt?new Date(e.resolvedAt):void 0,e.deletedAt?new Date(e.deletedAt):void 0,e.attributes?JSON.parse(e.attributes):e.attributes)}}t.default=i,i.TYPE="140",i.READABLE_TYPE_NAME="addCommentThread",i.DESCRIPTOR_NAME="CommentsV2AddCommentThreadMessage",i.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}}}},8742:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new s(e.commentThreadId,e.documentId)}}t.default=s,s.TYPE="141",s.READABLE_TYPE_NAME="reopenCommentThread",s.DESCRIPTOR_NAME="CommentsV2ReopenCommentThreadMessage",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}}},3118:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n,r){super(),this.commentThreadId=e,this.documentId=t,this.resolvedBy=n,this.resolvedAt=r?new Date(r):void 0}toJSON(){var e;return{documentId:this.documentId,commentThreadId:this.commentThreadId,resolvedBy:this.resolvedBy,resolvedAt:null===(e=this.resolvedAt)||void 0===e?void 0:e.toISOString()}}static fromJSON(e){return new s(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}t.default=s,s.TYPE="142",s.READABLE_TYPE_NAME="resolveCommentThread",s.DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadMessage",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedBy:{type:"string",id:3},resolvedAt:{type:"string",id:4}}}},4396:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n,r=null){super(),this.commentThreadId=e,this.documentId=t,this.context=n,this.attributes=r}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}}static fromJSON(e){return new s(e.commentThreadId,e.documentId,e.context?JSON.parse(e.context):e.context,e.attributes?JSON.parse(e.attributes):null)}}t.default=s,s.TYPE="143",s.READABLE_TYPE_NAME="updateCommentThread",s.DESCRIPTOR_NAME="CommentsV2UpdateCommentThreadMessage",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},context:{type:"string",id:3},attributes:{type:"string",id:4}}}},6376:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new s(e.documentId)}}t.default=s,s.TYPE="92",s.READABLE_TYPE_NAME="connectToComment",s.DESCRIPTOR_NAME="CommentsV2ConnectMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},939:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId}}static fromJSON(e){return new s(e.commentThreadId,e.documentId)}}t.default=s,s.TYPE="93",s.READABLE_TYPE_NAME="getComment",s.DESCRIPTOR_NAME="CommentsV2GetCommentThreadMessage",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}}},1926:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new s(e.documentId)}}t.default=s,s.TYPE="94",s.READABLE_TYPE_NAME="getDocumentThreads",s.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},6178:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n){super(),this.documentId=e,this.commentThreadId=t,this.commentId=n}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId}}static fromJSON(e){return new s(e.documentId,e.commentThreadId,e.commentId)}}t.default=s,s.TYPE="95",s.READABLE_TYPE_NAME="removeComment",s.DESCRIPTOR_NAME="CommentsV2RemoveCommentMessage",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},documentId:{type:"string",id:3}}}},5711:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t){super(),this.documentId=e,this.commentThreadId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new s(e.documentId,e.commentThreadId)}}t.default=s,s.TYPE="97",s.READABLE_TYPE_NAME="removeCommentThread",s.DESCRIPTOR_NAME="CommentsV2RemoveCommentThreadMessage",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}}},7955:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(1578));class i extends o.default{constructor(e,t,n,r,o=null,s=!1,i){super(),this.documentId=e,this.commentThreadId=t,this.commentId=n,this.content=r,this.attributes=o,this.isAttributesUpdated=s,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?s.default.toJSON(this.commentThread):void 0}}static fromJSON(e){return new i(e.documentId,e.commentThreadId,e.commentId,e.content,e.attributes?JSON.parse(e.attributes):null,e.isAttributesUpdated,e.commentThread?s.default.fromJSON(e.commentThread):void 0)}}t.default=i,i.TYPE="96",i.READABLE_TYPE_NAME="updateComment",i.DESCRIPTOR_NAME="CommentsV2UpdateCommentMessage",i.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}}}},2280:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n){super(),this.commentThreadId=e,this.commentId=t,this.createdAt=new Date(n)}toJSON(){return{commentThreadId:this.commentThreadId,commentId:this.commentId,createdAt:this.createdAt.toISOString()}}static fromJSON(e){return new s(e.commentThreadId,e.commentId,e.createdAt)}}t.default=s,s.DESCRIPTOR_NAME="CommentsV2AddCommentResponse",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},createdAt:{type:"string",id:3}}}},5373:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(309));class i extends o.default{constructor(e,t,n=[]){super(),this.commentThreadId=e,this.comments=n,this.createdAt=new Date(t)}toJSON(){return{commentThreadId:this.commentThreadId,createdAt:this.createdAt.toISOString(),comments:this.comments.map((e=>s.default.toJSON(e)))}}static fromJSON(e){return new i(e.commentThreadId,e.createdAt,e.comments.map((e=>s.default.fromJSON(e))))}}t.default=i,i.DESCRIPTOR_NAME="CommentsV2AddCommentThreadResponse",i.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},createdAt:{type:"string",id:2},comments:{type:"CommentThreadAddedCommentDescriptor",rule:"repeated",id:3}}}},2282:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n,r){super(),this.commentThreadId=e,this.documentId=t,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(e){return new s(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}t.default=s,s.DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadResponse",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4}}}},7608:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(1578));class i extends o.default{constructor(e,t,n){super(),this.channel=e,this._threads=t,this._threadsV2=n,this.threads=(null==n?void 0:n.length)?n:t}toJSON(){var e,t;return{channel:this.channel,threads:null===(e=this._threads)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),threadsV2:null===(t=this._threadsV2)||void 0===t?void 0:t.map(s.default.toJSON)}}static fromJSON(e){var t,n;return new i(e.channel,null===(t=e.threads)||void 0===t?void 0:t.map((e=>JSON.parse(e))),null===(n=e.threadsV2)||void 0===n?void 0:n.map(s.default.fromJSON))}}t.default=i,i.DESCRIPTOR_NAME="CommentsV2ConnectResponse",i.DESCRIPTOR={fields:{channel:{type:"string",id:1},threads:{type:"string",rule:"repeated",id:2},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:3}}}},6523:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(2529));class i extends o.default{constructor(e,t,n,r,o,s,i,a,c){super(),this.commentThreadId=e,this._comments=t,this._commentsV2=n,this.resolvedBy=o,this.comments=(null==n?void 0:n.length)?n:t,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.attributes="string"==typeof r?JSON.parse(r):r,this.context="string"==typeof s?JSON.parse(s):s}toJSON(){var e,t,n,r,o;return{commentThreadId:this.commentThreadId,comments:null===(e=this._comments)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),commentsV2:null===(t=this._commentsV2)||void 0===t?void 0:t.map(s.default.toJSON),attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,context:this.context?JSON.stringify(this.context):this.context,resolvedBy:this.resolvedBy,createdAt:null===(n=this.createdAt)||void 0===n?void 0:n.toISOString(),deletedAt:null===(r=this.deletedAt)||void 0===r?void 0:r.toISOString(),resolvedAt:null===(o=this.resolvedAt)||void 0===o?void 0:o.toISOString()}}static fromJSON(e){var t,n;return new i(e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((e=>function(e){const t=JSON.parse(e);return{...t,createdAt:new Date(t.createdAt)}}(e))),null===(n=e.commentsV2)||void 0===n?void 0:n.map(s.default.fromJSON),e.attributes?JSON.parse(e.attributes):e.attributes,e.resolvedBy,e.context?JSON.parse(e.context):e.context,e.createdAt,e.deletedAt,e.resolvedAt)}}t.default=i,i.DESCRIPTOR_NAME="CommentsV2GetCommentThreadResponse",i.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}}}},7952:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(1578));class i extends o.default{constructor(e,t){super(),this._threads=e,this._threadsV2=t,this.threads=(null==t?void 0:t.length)?t:e}toJSON(){var e,t;return{threads:null===(e=this._threads)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),threadsV2:null===(t=this._threadsV2)||void 0===t?void 0:t.map(s.default.toJSON)}}static fromJSON(e){var t,n;return new i(null===(t=e.threads)||void 0===t?void 0:t.map((e=>function(e){var t;const n=JSON.parse(e),r={...n};return n.comments&&(r.comments=null===(t=n.comments)||void 0===t?void 0:t.map((e=>({...e,createdAt:new Date(e.createdAt)})))),r}(e))),null===(n=e.threadsV2)||void 0===n?void 0:n.map(s.default.fromJSON))}}t.default=i,i.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsResponse",i.DESCRIPTOR={fields:{threads:{type:"string",rule:"repeated",id:1},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:2}}}},6398:(e,t,n)=>{var r,o,s,i;i=function(e){"use strict";var t=e.Reader,n=e.Writer,r=e.util,o=e.roots.default||(e.roots.default={});return o.OperationMetadataDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.userId="",s.prototype.type="",s.prototype.createdAt="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&t.uint32(10).string(e.userId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(18).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(26).string(e.createdAt),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.OperationMetadataDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.userId=e.string();break;case 2:s.type=e.string();break;case 3:s.createdAt=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userId&&e.hasOwnProperty("userId")&&!r.isString(e.userId)?"userId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null},s.fromObject=function(e){if(e instanceof o.OperationMetadataDescriptor)return e;var t=new o.OperationMetadataDescriptor;return null!=e.userId&&(t.userId=String(e.userId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.userId="",n.type="",n.createdAt=""),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/OperationMetadataDescriptor"},s}(),o.CollaborativeEditingConnectMessage=function(){function s(e){if(this.buffers=[],this.types=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.bundleVersion="",s.prototype.buffers=r.emptyArray,s.prototype.types=r.emptyArray,s.prototype.lastOperationId="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&t.uint32(18).string(e.bundleVersion),null!=e.buffers&&e.buffers.length)for(var r=0;r<e.buffers.length;++r)t.uint32(26).bytes(e.buffers[r]);if(null!=e.types&&e.types.length){for(t.uint32(34).fork(),r=0;r<e.types.length;++r)t.uint32(e.types[r]);t.ldelim()}return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&t.uint32(42).string(e.lastOperationId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CollaborativeEditingConnectMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.bundleVersion=e.string();break;case 3:s.buffers&&s.buffers.length||(s.buffers=[]),s.buffers.push(e.bytes());break;case 4:if(s.types&&s.types.length||(s.types=[]),2==(7&i))for(var a=e.uint32()+e.pos;e.pos<a;)s.types.push(e.uint32());else s.types.push(e.uint32());break;case 5:s.lastOperationId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id))return"id: string expected";if(null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!r.isString(e.bundleVersion))return"bundleVersion: string expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||r.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!r.isInteger(e.types[t]))return"types: integer[] expected"}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!r.isString(e.lastOperationId)?"lastOperationId: string expected":null},s.fromObject=function(e){if(e instanceof o.CollaborativeEditingConnectMessage)return e;var t=new o.CollaborativeEditingConnectMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingConnectMessage.buffers: array expected");t.buffers=[];for(var n=0;n<e.buffers.length;++n)"string"==typeof e.buffers[n]?r.base64.decode(e.buffers[n],t.buffers[n]=r.newBuffer(r.base64.length(e.buffers[n])),0):e.buffers[n].length>=0&&(t.buffers[n]=e.buffers[n])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingConnectMessage.types: array expected");for(t.types=[],n=0;n<e.types.length;++n)t.types[n]=e.types[n]>>>0}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.buffers=[],n.types=[]),t.defaults&&(n.id="",n.bundleVersion="",n.lastOperationId=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),e.buffers&&e.buffers.length){n.buffers=[];for(var o=0;o<e.buffers.length;++o)n.buffers[o]=t.bytes===String?r.base64.encode(e.buffers[o],0,e.buffers[o].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[o]):e.buffers[o]}if(e.types&&e.types.length)for(n.types=[],o=0;o<e.types.length;++o)n.types[o]=e.types[o];return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(n.lastOperationId=e.lastOperationId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectMessage"},s}(),o.CollaborativeEditingReconnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.bundleVersion="",s.prototype.lastKnowVersion=0,s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&t.uint32(18).string(e.bundleVersion),null!=e.lastKnowVersion&&Object.hasOwnProperty.call(e,"lastKnowVersion")&&t.uint32(24).uint32(e.lastKnowVersion),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CollaborativeEditingReconnectMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.bundleVersion=e.string();break;case 3:s.lastKnowVersion=e.uint32();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!r.isString(e.bundleVersion)?"bundleVersion: string expected":null!=e.lastKnowVersion&&e.hasOwnProperty("lastKnowVersion")&&!r.isInteger(e.lastKnowVersion)?"lastKnowVersion: integer expected":null},s.fromObject=function(e){if(e instanceof o.CollaborativeEditingReconnectMessage)return e;var t=new o.CollaborativeEditingReconnectMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),null!=e.lastKnowVersion&&(t.lastKnowVersion=e.lastKnowVersion>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.bundleVersion="",n.lastKnowVersion=0),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),null!=e.lastKnowVersion&&e.hasOwnProperty("lastKnowVersion")&&(n.lastKnowVersion=e.lastKnowVersion),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingReconnectMessage"},s}(),o.CollaborativeEditingUpdateMessage=function(){function s(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.baseVersion=0,s.prototype.buffers=r.emptyArray,s.prototype.types=r.emptyArray,s.prototype.metadata=r.emptyArray,s.prototype.lastOperationId="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.baseVersion&&Object.hasOwnProperty.call(e,"baseVersion")&&t.uint32(16).uint32(e.baseVersion),null!=e.buffers&&e.buffers.length)for(var r=0;r<e.buffers.length;++r)t.uint32(26).bytes(e.buffers[r]);if(null!=e.types&&e.types.length){for(t.uint32(34).fork(),r=0;r<e.types.length;++r)t.uint32(e.types[r]);t.ldelim()}if(null!=e.metadata&&e.metadata.length)for(r=0;r<e.metadata.length;++r)o.OperationMetadataDescriptor.encode(e.metadata[r],t.uint32(50).fork()).ldelim();return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&t.uint32(58).string(e.lastOperationId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CollaborativeEditingUpdateMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.baseVersion=e.uint32();break;case 3:s.buffers&&s.buffers.length||(s.buffers=[]),s.buffers.push(e.bytes());break;case 4:if(s.types&&s.types.length||(s.types=[]),2==(7&i))for(var a=e.uint32()+e.pos;e.pos<a;)s.types.push(e.uint32());else s.types.push(e.uint32());break;case 6:s.metadata&&s.metadata.length||(s.metadata=[]),s.metadata.push(o.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 7:s.lastOperationId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id))return"id: string expected";if(null!=e.baseVersion&&e.hasOwnProperty("baseVersion")&&!r.isInteger(e.baseVersion))return"baseVersion: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||r.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!r.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(t=0;t<e.metadata.length;++t){var n=o.OperationMetadataDescriptor.verify(e.metadata[t]);if(n)return"metadata."+n}}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!r.isString(e.lastOperationId)?"lastOperationId: string expected":null},s.fromObject=function(e){if(e instanceof o.CollaborativeEditingUpdateMessage)return e;var t=new o.CollaborativeEditingUpdateMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.baseVersion&&(t.baseVersion=e.baseVersion>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingUpdateMessage.buffers: array expected");t.buffers=[];for(var n=0;n<e.buffers.length;++n)"string"==typeof e.buffers[n]?r.base64.decode(e.buffers[n],t.buffers[n]=r.newBuffer(r.base64.length(e.buffers[n])),0):e.buffers[n].length>=0&&(t.buffers[n]=e.buffers[n])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingUpdateMessage.types: array expected");for(t.types=[],n=0;n<e.types.length;++n)t.types[n]=e.types[n]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingUpdateMessage.metadata: array expected");for(t.metadata=[],n=0;n<e.metadata.length;++n){if("object"!=typeof e.metadata[n])throw TypeError(".CollaborativeEditingUpdateMessage.metadata: object expected");t.metadata[n]=o.OperationMetadataDescriptor.fromObject(e.metadata[n])}}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.buffers=[],n.types=[],n.metadata=[]),t.defaults&&(n.id="",n.baseVersion=0,n.lastOperationId=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.baseVersion&&e.hasOwnProperty("baseVersion")&&(n.baseVersion=e.baseVersion),e.buffers&&e.buffers.length){n.buffers=[];for(var s=0;s<e.buffers.length;++s)n.buffers[s]=t.bytes===String?r.base64.encode(e.buffers[s],0,e.buffers[s].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[s]):e.buffers[s]}if(e.types&&e.types.length)for(n.types=[],s=0;s<e.types.length;++s)n.types[s]=e.types[s];if(e.metadata&&e.metadata.length)for(n.metadata=[],s=0;s<e.metadata.length;++s)n.metadata[s]=o.OperationMetadataDescriptor.toObject(e.metadata[s],t);return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(n.lastOperationId=e.lastOperationId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingUpdateMessage"},s}(),o.GetDocumentDetailsMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.environmentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.environmentId&&Object.hasOwnProperty.call(e,"environmentId")&&t.uint32(18).string(e.environmentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.GetDocumentDetailsMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.documentId=e.string();break;case 2:s.environmentId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.environmentId&&e.hasOwnProperty("environmentId")&&!r.isString(e.environmentId)?"environmentId: string expected":null},s.fromObject=function(e){if(e instanceof o.GetDocumentDetailsMessage)return e;var t=new o.GetDocumentDetailsMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.environmentId&&(t.environmentId=String(e.environmentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId="",n.environmentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.environmentId&&e.hasOwnProperty("environmentId")&&(n.environmentId=e.environmentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsMessage"},s}(),o.CollaborativeEditingConnectResponse=function(){function s(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.offset=0,s.prototype.version=0,s.prototype.buffers=r.emptyArray,s.prototype.types=r.emptyArray,s.prototype.metadata=r.emptyArray,s.prototype.initData="",s.prototype.isInitialized=!1,s.prototype.sessionId="",s.prototype.lastOperationId="",s.prototype.sessionCreatedAt="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.offset&&Object.hasOwnProperty.call(e,"offset")&&t.uint32(16).uint32(e.offset),null!=e.version&&Object.hasOwnProperty.call(e,"version")&&t.uint32(24).uint32(e.version),null!=e.buffers&&e.buffers.length)for(var r=0;r<e.buffers.length;++r)t.uint32(34).bytes(e.buffers[r]);if(null!=e.types&&e.types.length){for(t.uint32(42).fork(),r=0;r<e.types.length;++r)t.uint32(e.types[r]);t.ldelim()}if(null!=e.metadata&&e.metadata.length)for(r=0;r<e.metadata.length;++r)o.OperationMetadataDescriptor.encode(e.metadata[r],t.uint32(58).fork()).ldelim();return null!=e.initData&&Object.hasOwnProperty.call(e,"initData")&&t.uint32(66).string(e.initData),null!=e.isInitialized&&Object.hasOwnProperty.call(e,"isInitialized")&&t.uint32(72).bool(e.isInitialized),null!=e.sessionId&&Object.hasOwnProperty.call(e,"sessionId")&&t.uint32(82).string(e.sessionId),null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&t.uint32(90).string(e.lastOperationId),null!=e.sessionCreatedAt&&Object.hasOwnProperty.call(e,"sessionCreatedAt")&&t.uint32(98).string(e.sessionCreatedAt),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CollaborativeEditingConnectResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.channel=e.string();break;case 2:s.offset=e.uint32();break;case 3:s.version=e.uint32();break;case 4:s.buffers&&s.buffers.length||(s.buffers=[]),s.buffers.push(e.bytes());break;case 5:if(s.types&&s.types.length||(s.types=[]),2==(7&i))for(var a=e.uint32()+e.pos;e.pos<a;)s.types.push(e.uint32());else s.types.push(e.uint32());break;case 7:s.metadata&&s.metadata.length||(s.metadata=[]),s.metadata.push(o.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 8:s.initData=e.string();break;case 9:s.isInitialized=e.bool();break;case 10:s.sessionId=e.string();break;case 11:s.lastOperationId=e.string();break;case 12:s.sessionCreatedAt=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!r.isString(e.channel))return"channel: string expected";if(null!=e.offset&&e.hasOwnProperty("offset")&&!r.isInteger(e.offset))return"offset: integer expected";if(null!=e.version&&e.hasOwnProperty("version")&&!r.isInteger(e.version))return"version: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||r.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!r.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(t=0;t<e.metadata.length;++t){var n=o.OperationMetadataDescriptor.verify(e.metadata[t]);if(n)return"metadata."+n}}return null!=e.initData&&e.hasOwnProperty("initData")&&!r.isString(e.initData)?"initData: string expected":null!=e.isInitialized&&e.hasOwnProperty("isInitialized")&&"boolean"!=typeof e.isInitialized?"isInitialized: boolean expected":null!=e.sessionId&&e.hasOwnProperty("sessionId")&&!r.isString(e.sessionId)?"sessionId: string expected":null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!r.isString(e.lastOperationId)?"lastOperationId: string expected":null!=e.sessionCreatedAt&&e.hasOwnProperty("sessionCreatedAt")&&!r.isString(e.sessionCreatedAt)?"sessionCreatedAt: string expected":null},s.fromObject=function(e){if(e instanceof o.CollaborativeEditingConnectResponse)return e;var t=new o.CollaborativeEditingConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),null!=e.offset&&(t.offset=e.offset>>>0),null!=e.version&&(t.version=e.version>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingConnectResponse.buffers: array expected");t.buffers=[];for(var n=0;n<e.buffers.length;++n)"string"==typeof e.buffers[n]?r.base64.decode(e.buffers[n],t.buffers[n]=r.newBuffer(r.base64.length(e.buffers[n])),0):e.buffers[n].length>=0&&(t.buffers[n]=e.buffers[n])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingConnectResponse.types: array expected");for(t.types=[],n=0;n<e.types.length;++n)t.types[n]=e.types[n]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingConnectResponse.metadata: array expected");for(t.metadata=[],n=0;n<e.metadata.length;++n){if("object"!=typeof e.metadata[n])throw TypeError(".CollaborativeEditingConnectResponse.metadata: object expected");t.metadata[n]=o.OperationMetadataDescriptor.fromObject(e.metadata[n])}}return null!=e.initData&&(t.initData=String(e.initData)),null!=e.isInitialized&&(t.isInitialized=Boolean(e.isInitialized)),null!=e.sessionId&&(t.sessionId=String(e.sessionId)),null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),null!=e.sessionCreatedAt&&(t.sessionCreatedAt=String(e.sessionCreatedAt)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.buffers=[],n.types=[],n.metadata=[]),t.defaults&&(n.channel="",n.offset=0,n.version=0,n.initData="",n.isInitialized=!1,n.sessionId="",n.lastOperationId="",n.sessionCreatedAt=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),null!=e.offset&&e.hasOwnProperty("offset")&&(n.offset=e.offset),null!=e.version&&e.hasOwnProperty("version")&&(n.version=e.version),e.buffers&&e.buffers.length){n.buffers=[];for(var s=0;s<e.buffers.length;++s)n.buffers[s]=t.bytes===String?r.base64.encode(e.buffers[s],0,e.buffers[s].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[s]):e.buffers[s]}if(e.types&&e.types.length)for(n.types=[],s=0;s<e.types.length;++s)n.types[s]=e.types[s];if(e.metadata&&e.metadata.length)for(n.metadata=[],s=0;s<e.metadata.length;++s)n.metadata[s]=o.OperationMetadataDescriptor.toObject(e.metadata[s],t);return null!=e.initData&&e.hasOwnProperty("initData")&&(n.initData=e.initData),null!=e.isInitialized&&e.hasOwnProperty("isInitialized")&&(n.isInitialized=e.isInitialized),null!=e.sessionId&&e.hasOwnProperty("sessionId")&&(n.sessionId=e.sessionId),null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(n.lastOperationId=e.lastOperationId),null!=e.sessionCreatedAt&&e.hasOwnProperty("sessionCreatedAt")&&(n.sessionCreatedAt=e.sessionCreatedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectResponse"},s}(),o.CollaborativeEditingResponse=function(){function s(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.version=0,s.prototype.buffers=r.emptyArray,s.prototype.types=r.emptyArray,s.prototype.metadata=r.emptyArray,s.prototype.lastOperationId="",s.prototype.lastOperationAcceptedAt="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.version&&Object.hasOwnProperty.call(e,"version")&&t.uint32(8).uint32(e.version),null!=e.buffers&&e.buffers.length)for(var r=0;r<e.buffers.length;++r)t.uint32(18).bytes(e.buffers[r]);if(null!=e.types&&e.types.length){for(t.uint32(26).fork(),r=0;r<e.types.length;++r)t.uint32(e.types[r]);t.ldelim()}if(null!=e.metadata&&e.metadata.length)for(r=0;r<e.metadata.length;++r)o.OperationMetadataDescriptor.encode(e.metadata[r],t.uint32(42).fork()).ldelim();return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&t.uint32(50).string(e.lastOperationId),null!=e.lastOperationAcceptedAt&&Object.hasOwnProperty.call(e,"lastOperationAcceptedAt")&&t.uint32(58).string(e.lastOperationAcceptedAt),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CollaborativeEditingResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.version=e.uint32();break;case 2:s.buffers&&s.buffers.length||(s.buffers=[]),s.buffers.push(e.bytes());break;case 3:if(s.types&&s.types.length||(s.types=[]),2==(7&i))for(var a=e.uint32()+e.pos;e.pos<a;)s.types.push(e.uint32());else s.types.push(e.uint32());break;case 5:s.metadata&&s.metadata.length||(s.metadata=[]),s.metadata.push(o.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 6:s.lastOperationId=e.string();break;case 7:s.lastOperationAcceptedAt=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.version&&e.hasOwnProperty("version")&&!r.isInteger(e.version))return"version: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||r.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!r.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(t=0;t<e.metadata.length;++t){var n=o.OperationMetadataDescriptor.verify(e.metadata[t]);if(n)return"metadata."+n}}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!r.isString(e.lastOperationId)?"lastOperationId: string expected":null!=e.lastOperationAcceptedAt&&e.hasOwnProperty("lastOperationAcceptedAt")&&!r.isString(e.lastOperationAcceptedAt)?"lastOperationAcceptedAt: string expected":null},s.fromObject=function(e){if(e instanceof o.CollaborativeEditingResponse)return e;var t=new o.CollaborativeEditingResponse;if(null!=e.version&&(t.version=e.version>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingResponse.buffers: array expected");t.buffers=[];for(var n=0;n<e.buffers.length;++n)"string"==typeof e.buffers[n]?r.base64.decode(e.buffers[n],t.buffers[n]=r.newBuffer(r.base64.length(e.buffers[n])),0):e.buffers[n].length>=0&&(t.buffers[n]=e.buffers[n])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingResponse.types: array expected");for(t.types=[],n=0;n<e.types.length;++n)t.types[n]=e.types[n]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingResponse.metadata: array expected");for(t.metadata=[],n=0;n<e.metadata.length;++n){if("object"!=typeof e.metadata[n])throw TypeError(".CollaborativeEditingResponse.metadata: object expected");t.metadata[n]=o.OperationMetadataDescriptor.fromObject(e.metadata[n])}}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),null!=e.lastOperationAcceptedAt&&(t.lastOperationAcceptedAt=String(e.lastOperationAcceptedAt)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.buffers=[],n.types=[],n.metadata=[]),t.defaults&&(n.version=0,n.lastOperationId="",n.lastOperationAcceptedAt=""),null!=e.version&&e.hasOwnProperty("version")&&(n.version=e.version),e.buffers&&e.buffers.length){n.buffers=[];for(var s=0;s<e.buffers.length;++s)n.buffers[s]=t.bytes===String?r.base64.encode(e.buffers[s],0,e.buffers[s].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[s]):e.buffers[s]}if(e.types&&e.types.length)for(n.types=[],s=0;s<e.types.length;++s)n.types[s]=e.types[s];if(e.metadata&&e.metadata.length)for(n.metadata=[],s=0;s<e.metadata.length;++s)n.metadata[s]=o.OperationMetadataDescriptor.toObject(e.metadata[s],t);return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(n.lastOperationId=e.lastOperationId),null!=e.lastOperationAcceptedAt&&e.hasOwnProperty("lastOperationAcceptedAt")&&(n.lastOperationAcceptedAt=e.lastOperationAcceptedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingResponse"},s}(),o.GetDocumentDetailsResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.lastDocumentSessionId="",s.prototype.lastDocumentSessionOperationId="",s.prototype.currentDocumentSessionId="",s.prototype.currentDocumentSessionVersion=0,s.prototype.currentDocumentSessionOperationId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.lastDocumentSessionId&&Object.hasOwnProperty.call(e,"lastDocumentSessionId")&&t.uint32(10).string(e.lastDocumentSessionId),null!=e.lastDocumentSessionOperationId&&Object.hasOwnProperty.call(e,"lastDocumentSessionOperationId")&&t.uint32(18).string(e.lastDocumentSessionOperationId),null!=e.currentDocumentSessionId&&Object.hasOwnProperty.call(e,"currentDocumentSessionId")&&t.uint32(26).string(e.currentDocumentSessionId),null!=e.currentDocumentSessionVersion&&Object.hasOwnProperty.call(e,"currentDocumentSessionVersion")&&t.uint32(32).uint32(e.currentDocumentSessionVersion),null!=e.currentDocumentSessionOperationId&&Object.hasOwnProperty.call(e,"currentDocumentSessionOperationId")&&t.uint32(42).string(e.currentDocumentSessionOperationId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.GetDocumentDetailsResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.lastDocumentSessionId=e.string();break;case 2:s.lastDocumentSessionOperationId=e.string();break;case 3:s.currentDocumentSessionId=e.string();break;case 4:s.currentDocumentSessionVersion=e.uint32();break;case 5:s.currentDocumentSessionOperationId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.lastDocumentSessionId&&e.hasOwnProperty("lastDocumentSessionId")&&!r.isString(e.lastDocumentSessionId)?"lastDocumentSessionId: string expected":null!=e.lastDocumentSessionOperationId&&e.hasOwnProperty("lastDocumentSessionOperationId")&&!r.isString(e.lastDocumentSessionOperationId)?"lastDocumentSessionOperationId: string expected":null!=e.currentDocumentSessionId&&e.hasOwnProperty("currentDocumentSessionId")&&!r.isString(e.currentDocumentSessionId)?"currentDocumentSessionId: string expected":null!=e.currentDocumentSessionVersion&&e.hasOwnProperty("currentDocumentSessionVersion")&&!r.isInteger(e.currentDocumentSessionVersion)?"currentDocumentSessionVersion: integer expected":null!=e.currentDocumentSessionOperationId&&e.hasOwnProperty("currentDocumentSessionOperationId")&&!r.isString(e.currentDocumentSessionOperationId)?"currentDocumentSessionOperationId: string expected":null},s.fromObject=function(e){if(e instanceof o.GetDocumentDetailsResponse)return e;var t=new o.GetDocumentDetailsResponse;return null!=e.lastDocumentSessionId&&(t.lastDocumentSessionId=String(e.lastDocumentSessionId)),null!=e.lastDocumentSessionOperationId&&(t.lastDocumentSessionOperationId=String(e.lastDocumentSessionOperationId)),null!=e.currentDocumentSessionId&&(t.currentDocumentSessionId=String(e.currentDocumentSessionId)),null!=e.currentDocumentSessionVersion&&(t.currentDocumentSessionVersion=e.currentDocumentSessionVersion>>>0),null!=e.currentDocumentSessionOperationId&&(t.currentDocumentSessionOperationId=String(e.currentDocumentSessionOperationId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.lastDocumentSessionId="",n.lastDocumentSessionOperationId="",n.currentDocumentSessionId="",n.currentDocumentSessionVersion=0,n.currentDocumentSessionOperationId=""),null!=e.lastDocumentSessionId&&e.hasOwnProperty("lastDocumentSessionId")&&(n.lastDocumentSessionId=e.lastDocumentSessionId),null!=e.lastDocumentSessionOperationId&&e.hasOwnProperty("lastDocumentSessionOperationId")&&(n.lastDocumentSessionOperationId=e.lastDocumentSessionOperationId),null!=e.currentDocumentSessionId&&e.hasOwnProperty("currentDocumentSessionId")&&(n.currentDocumentSessionId=e.currentDocumentSessionId),null!=e.currentDocumentSessionVersion&&e.hasOwnProperty("currentDocumentSessionVersion")&&(n.currentDocumentSessionVersion=e.currentDocumentSessionVersion),null!=e.currentDocumentSessionOperationId&&e.hasOwnProperty("currentDocumentSessionOperationId")&&(n.currentDocumentSessionOperationId=e.currentDocumentSessionOperationId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsResponse"},s}(),o.CommentDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(10).string(e.commentId),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(18).string(e.commentThreadId),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&t.uint32(26).string(e.userId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(34).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(42).string(e.documentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentId=e.string();break;case 2:s.commentThreadId=e.string();break;case 3:s.userId=e.string();break;case 4:s.content=e.string();break;case 5:s.documentId=e.string();break;case 6:s.createdAt=e.string();break;case 7:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!r.isString(e.commentId)?"commentId: string expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.userId&&e.hasOwnProperty("userId")&&!r.isString(e.userId)?"userId: string expected":null!=e.content&&e.hasOwnProperty("content")&&!r.isString(e.content)?"content: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentDescriptor)return e;var t=new o.CommentDescriptor;return null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentId="",n.commentThreadId="",n.userId="",n.content="",n.documentId="",n.createdAt="",n.attributes=""),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentDescriptor"},s}(),o.CommentsThreadDescriptor=function(){function s(e){if(this.comments=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.comments=r.emptyArray,s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.context="",s.prototype.createdAt="",s.prototype.deletedAt="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.comments&&e.comments.length)for(var r=0;r<e.comments.length;++r)o.CommentDescriptor.encode(e.comments[r],t.uint32(18).fork()).ldelim();return null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(26).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(34).string(e.resolvedBy),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&t.uint32(42).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(50).string(e.createdAt),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&t.uint32(58).string(e.deletedAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(66).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsThreadDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.comments&&s.comments.length||(s.comments=[]),s.comments.push(o.CommentDescriptor.decode(e,e.uint32()));break;case 3:s.resolvedAt=e.string();break;case 4:s.resolvedBy=e.string();break;case 5:s.context=e.string();break;case 6:s.createdAt=e.string();break;case 7:s.deletedAt=e.string();break;case 8:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t){var n=o.CommentDescriptor.verify(e.comments[t]);if(n)return"comments."+n}}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!r.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!r.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.context&&e.hasOwnProperty("context")&&!r.isString(e.context)?"context: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!r.isString(e.deletedAt)?"deletedAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsThreadDescriptor)return e;var t=new o.CommentsThreadDescriptor;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsThreadDescriptor.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsThreadDescriptor.comments: object expected");t.comments[n]=o.CommentDescriptor.fromObject(e.comments[n])}}return null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),e.comments&&e.comments.length){n.comments=[];for(var r=0;r<e.comments.length;++r)n.comments[r]=o.CommentDescriptor.toObject(e.comments[r],t)}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsThreadDescriptor"},s}(),o.CommentThreadAddedCommentDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentId="",s.prototype.createdAt="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(10).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(18).string(e.createdAt),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentThreadAddedCommentDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentId=e.string();break;case 2:s.createdAt=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!r.isString(e.commentId)?"commentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentThreadAddedCommentDescriptor)return e;var t=new o.CommentThreadAddedCommentDescriptor;return null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentId="",n.createdAt=""),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentThreadAddedCommentDescriptor"},s}(),o.CommentsV2AddCommentMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(18).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(26).string(e.documentId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(34).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(42).string(e.createdAt),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&t.uint32(50).string(e.userId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),null!=e.commentThread&&Object.hasOwnProperty.call(e,"commentThread")&&o.CommentsThreadDescriptor.encode(e.commentThread,t.uint32(66).fork()).ldelim(),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2AddCommentMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.content=e.string();break;case 3:s.documentId=e.string();break;case 4:s.commentId=e.string();break;case 5:s.createdAt=e.string();break;case 6:s.userId=e.string();break;case 7:s.attributes=e.string();break;case 8:s.commentThread=o.CommentsThreadDescriptor.decode(e,e.uint32());break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.content&&e.hasOwnProperty("content")&&!r.isString(e.content))return"content: string expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId))return"documentId: string expected";if(null!=e.commentId&&e.hasOwnProperty("commentId")&&!r.isString(e.commentId))return"commentId: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt))return"createdAt: string expected";if(null!=e.userId&&e.hasOwnProperty("userId")&&!r.isString(e.userId))return"userId: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes))return"attributes: string expected";if(null!=e.commentThread&&e.hasOwnProperty("commentThread")){var t=o.CommentsThreadDescriptor.verify(e.commentThread);if(t)return"commentThread."+t}return null},s.fromObject=function(e){if(e instanceof o.CommentsV2AddCommentMessage)return e;var t=new o.CommentsV2AddCommentMessage;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.commentThread){if("object"!=typeof e.commentThread)throw TypeError(".CommentsV2AddCommentMessage.commentThread: object expected");t.commentThread=o.CommentsThreadDescriptor.fromObject(e.commentThread)}return t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.content="",n.documentId="",n.commentId="",n.createdAt="",n.userId="",n.attributes="",n.commentThread=null),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.commentThread&&e.hasOwnProperty("commentThread")&&(n.commentThread=o.CommentsThreadDescriptor.toObject(e.commentThread,t)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentMessage"},s}(),o.CommentsV2AddCommentThreadMessage=function(){function s(e){if(this.comments=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(18).string(e.commentThreadId),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&t.uint32(26).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(34).string(e.createdAt),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(42).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(50).string(e.resolvedBy),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&t.uint32(66).string(e.deletedAt),null!=e.comments&&e.comments.length)for(var r=0;r<e.comments.length;++r)o.CommentDescriptor.encode(e.comments[r],t.uint32(74).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2AddCommentThreadMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.documentId=e.string();break;case 2:s.commentThreadId=e.string();break;case 3:s.context=e.string();break;case 4:s.createdAt=e.string();break;case 5:s.resolvedAt=e.string();break;case 6:s.resolvedBy=e.string();break;case 7:s.attributes=e.string();break;case 8:s.deletedAt=e.string();break;case 9:s.comments&&s.comments.length||(s.comments=[]),s.comments.push(o.CommentDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId))return"documentId: string expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.context&&e.hasOwnProperty("context")&&!r.isString(e.context))return"context: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt))return"createdAt: string expected";if(null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!r.isString(e.resolvedAt))return"resolvedAt: string expected";if(null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!r.isString(e.resolvedBy))return"resolvedBy: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes))return"attributes: string expected";if(null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!r.isString(e.deletedAt))return"deletedAt: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t){var n=o.CommentDescriptor.verify(e.comments[t]);if(n)return"comments."+n}}return null},s.fromObject=function(e){if(e instanceof o.CommentsV2AddCommentThreadMessage)return e;var t=new o.CommentsV2AddCommentThreadMessage;if(null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2AddCommentThreadMessage.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsV2AddCommentThreadMessage.comments: object expected");t.comments[n]=o.CommentDescriptor.fromObject(e.comments[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.documentId="",n.commentThreadId="",n.context="",n.createdAt="",n.resolvedAt="",n.resolvedBy="",n.attributes="",n.deletedAt=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),e.comments&&e.comments.length){n.comments=[];for(var r=0;r<e.comments.length;++r)n.comments[r]=o.CommentDescriptor.toObject(e.comments[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadMessage"},s}(),o.CommentsV2ReopenCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2ReopenCommentThreadMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.documentId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2ReopenCommentThreadMessage)return e;var t=new o.CommentsV2ReopenCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ReopenCommentThreadMessage"},s}(),o.CommentsV2ResolveCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.resolvedBy="",s.prototype.resolvedAt="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(26).string(e.resolvedBy),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(34).string(e.resolvedAt),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2ResolveCommentThreadMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.documentId=e.string();break;case 3:s.resolvedBy=e.string();break;case 4:s.resolvedAt=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!r.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!r.isString(e.resolvedAt)?"resolvedAt: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2ResolveCommentThreadMessage)return e;var t=new o.CommentsV2ResolveCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedBy="",n.resolvedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadMessage"},s}(),o.CommentsV2UpdateCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.context="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&t.uint32(26).string(e.context),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(34).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2UpdateCommentThreadMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.documentId=e.string();break;case 3:s.context=e.string();break;case 4:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.context&&e.hasOwnProperty("context")&&!r.isString(e.context)?"context: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2UpdateCommentThreadMessage)return e;var t=new o.CommentsV2UpdateCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.context&&(t.context=String(e.context)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.context="",n.attributes=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentThreadMessage"},s}(),o.CommentsV2ConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2ConnectMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.documentId=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2ConnectMessage)return e;var t=new o.CommentsV2ConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectMessage"},s}(),o.CommentsV2GetCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2GetCommentThreadMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.documentId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2GetCommentThreadMessage)return e;var t=new o.CommentsV2GetCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadMessage"},s}(),o.CommentsV2GetDocumentThreadsMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2GetDocumentThreadsMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.documentId=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2GetDocumentThreadsMessage)return e;var t=new o.CommentsV2GetDocumentThreadsMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsMessage"},s}(),o.CommentsV2RemoveCommentMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(18).string(e.commentId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(26).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2RemoveCommentMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.commentId=e.string();break;case 3:s.documentId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!r.isString(e.commentId)?"commentId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2RemoveCommentMessage)return e;var t=new o.CommentsV2RemoveCommentMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentMessage"},s}(),o.CommentsV2RemoveCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2RemoveCommentThreadMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.documentId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2RemoveCommentThreadMessage)return e;var t=new o.CommentsV2RemoveCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentThreadMessage"},s}(),o.CommentsV2UpdateCommentMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(18).string(e.commentId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(26).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(34).string(e.documentId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(42).string(e.attributes),null!=e.isAttributesUpdated&&Object.hasOwnProperty.call(e,"isAttributesUpdated")&&t.uint32(48).bool(e.isAttributesUpdated),null!=e.commentThread&&Object.hasOwnProperty.call(e,"commentThread")&&o.CommentsThreadDescriptor.encode(e.commentThread,t.uint32(58).fork()).ldelim(),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2UpdateCommentMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.commentId=e.string();break;case 3:s.content=e.string();break;case 4:s.documentId=e.string();break;case 5:s.attributes=e.string();break;case 6:s.isAttributesUpdated=e.bool();break;case 7:s.commentThread=o.CommentsThreadDescriptor.decode(e,e.uint32());break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.commentId&&e.hasOwnProperty("commentId")&&!r.isString(e.commentId))return"commentId: string expected";if(null!=e.content&&e.hasOwnProperty("content")&&!r.isString(e.content))return"content: string expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId))return"documentId: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes))return"attributes: string expected";if(null!=e.isAttributesUpdated&&e.hasOwnProperty("isAttributesUpdated")&&"boolean"!=typeof e.isAttributesUpdated)return"isAttributesUpdated: boolean expected";if(null!=e.commentThread&&e.hasOwnProperty("commentThread")){var t=o.CommentsThreadDescriptor.verify(e.commentThread);if(t)return"commentThread."+t}return null},s.fromObject=function(e){if(e instanceof o.CommentsV2UpdateCommentMessage)return e;var t=new o.CommentsV2UpdateCommentMessage;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.isAttributesUpdated&&(t.isAttributesUpdated=Boolean(e.isAttributesUpdated)),null!=e.commentThread){if("object"!=typeof e.commentThread)throw TypeError(".CommentsV2UpdateCommentMessage.commentThread: object expected");t.commentThread=o.CommentsThreadDescriptor.fromObject(e.commentThread)}return t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.content="",n.documentId="",n.attributes="",n.isAttributesUpdated=!1,n.commentThread=null),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.isAttributesUpdated&&e.hasOwnProperty("isAttributesUpdated")&&(n.isAttributesUpdated=e.isAttributesUpdated),null!=e.commentThread&&e.hasOwnProperty("commentThread")&&(n.commentThread=o.CommentsThreadDescriptor.toObject(e.commentThread,t)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentMessage"},s}(),o.CommentsV2AddCommentResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.createdAt="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(18).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(26).string(e.createdAt),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2AddCommentResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.commentId=e.string();break;case 3:s.createdAt=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!r.isString(e.commentId)?"commentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2AddCommentResponse)return e;var t=new o.CommentsV2AddCommentResponse;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.createdAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentResponse"},s}(),o.CommentsV2AddCommentThreadResponse=function(){function s(e){if(this.comments=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.createdAt="",s.prototype.comments=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(18).string(e.createdAt),null!=e.comments&&e.comments.length)for(var r=0;r<e.comments.length;++r)o.CommentThreadAddedCommentDescriptor.encode(e.comments[r],t.uint32(26).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2AddCommentThreadResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.createdAt=e.string();break;case 3:s.comments&&s.comments.length||(s.comments=[]),s.comments.push(o.CommentThreadAddedCommentDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt))return"createdAt: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t){var n=o.CommentThreadAddedCommentDescriptor.verify(e.comments[t]);if(n)return"comments."+n}}return null},s.fromObject=function(e){if(e instanceof o.CommentsV2AddCommentThreadResponse)return e;var t=new o.CommentsV2AddCommentThreadResponse;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2AddCommentThreadResponse.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsV2AddCommentThreadResponse.comments: object expected");t.comments[n]=o.CommentThreadAddedCommentDescriptor.fromObject(e.comments[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.commentThreadId="",n.createdAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),e.comments&&e.comments.length){n.comments=[];for(var r=0;r<e.comments.length;++r)n.comments[r]=o.CommentThreadAddedCommentDescriptor.toObject(e.comments[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadResponse"},s}(),o.CommentsV2ResolveCommentThreadResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(26).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(34).string(e.resolvedBy),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2ResolveCommentThreadResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.documentId=e.string();break;case 3:s.resolvedAt=e.string();break;case 4:s.resolvedBy=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!r.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!r.isString(e.resolvedBy)?"resolvedBy: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2ResolveCommentThreadResponse)return e;var t=new o.CommentsV2ResolveCommentThreadResponse;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedAt="",n.resolvedBy=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadResponse"},s}(),o.CommentsV2ConnectResponse=function(){function s(e){if(this.threads=[],this.threadsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.threads=r.emptyArray,s.prototype.threadsV2=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.threads&&e.threads.length)for(var r=0;r<e.threads.length;++r)t.uint32(18).string(e.threads[r]);if(null!=e.threadsV2&&e.threadsV2.length)for(r=0;r<e.threadsV2.length;++r)o.CommentsThreadDescriptor.encode(e.threadsV2[r],t.uint32(26).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2ConnectResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.channel=e.string();break;case 2:s.threads&&s.threads.length||(s.threads=[]),s.threads.push(e.string());break;case 3:s.threadsV2&&s.threadsV2.length||(s.threadsV2=[]),s.threadsV2.push(o.CommentsThreadDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!r.isString(e.channel))return"channel: string expected";if(null!=e.threads&&e.hasOwnProperty("threads")){if(!Array.isArray(e.threads))return"threads: array expected";for(var t=0;t<e.threads.length;++t)if(!r.isString(e.threads[t]))return"threads: string[] expected"}if(null!=e.threadsV2&&e.hasOwnProperty("threadsV2")){if(!Array.isArray(e.threadsV2))return"threadsV2: array expected";for(t=0;t<e.threadsV2.length;++t){var n=o.CommentsThreadDescriptor.verify(e.threadsV2[t]);if(n)return"threadsV2."+n}}return null},s.fromObject=function(e){if(e instanceof o.CommentsV2ConnectResponse)return e;var t=new o.CommentsV2ConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.threads){if(!Array.isArray(e.threads))throw TypeError(".CommentsV2ConnectResponse.threads: array expected");t.threads=[];for(var n=0;n<e.threads.length;++n)t.threads[n]=String(e.threads[n])}if(e.threadsV2){if(!Array.isArray(e.threadsV2))throw TypeError(".CommentsV2ConnectResponse.threadsV2: array expected");for(t.threadsV2=[],n=0;n<e.threadsV2.length;++n){if("object"!=typeof e.threadsV2[n])throw TypeError(".CommentsV2ConnectResponse.threadsV2: object expected");t.threadsV2[n]=o.CommentsThreadDescriptor.fromObject(e.threadsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.threads=[],n.threadsV2=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.threads&&e.threads.length){n.threads=[];for(var r=0;r<e.threads.length;++r)n.threads[r]=e.threads[r]}if(e.threadsV2&&e.threadsV2.length)for(n.threadsV2=[],r=0;r<e.threadsV2.length;++r)n.threadsV2[r]=o.CommentsThreadDescriptor.toObject(e.threadsV2[r],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectResponse"},s}(),o.CommentsV2GetCommentThreadResponse=function(){function s(e){if(this.comments=[],this.commentsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.comments=r.emptyArray,s.prototype.commentsV2=r.emptyArray,s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.context="",s.prototype.createdAt="",s.prototype.deletedAt="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.comments&&e.comments.length)for(var r=0;r<e.comments.length;++r)t.uint32(18).string(e.comments[r]);if(null!=e.commentsV2&&e.commentsV2.length)for(r=0;r<e.commentsV2.length;++r)o.CommentDescriptor.encode(e.commentsV2[r],t.uint32(26).fork()).ldelim();return null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(34).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(42).string(e.resolvedBy),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&t.uint32(50).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(58).string(e.createdAt),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&t.uint32(66).string(e.deletedAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(74).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2GetCommentThreadResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.comments&&s.comments.length||(s.comments=[]),s.comments.push(e.string());break;case 3:s.commentsV2&&s.commentsV2.length||(s.commentsV2=[]),s.commentsV2.push(o.CommentDescriptor.decode(e,e.uint32()));break;case 4:s.resolvedAt=e.string();break;case 5:s.resolvedBy=e.string();break;case 6:s.context=e.string();break;case 7:s.createdAt=e.string();break;case 8:s.deletedAt=e.string();break;case 9:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t)if(!r.isString(e.comments[t]))return"comments: string[] expected"}if(null!=e.commentsV2&&e.hasOwnProperty("commentsV2")){if(!Array.isArray(e.commentsV2))return"commentsV2: array expected";for(t=0;t<e.commentsV2.length;++t){var n=o.CommentDescriptor.verify(e.commentsV2[t]);if(n)return"commentsV2."+n}}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!r.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!r.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.context&&e.hasOwnProperty("context")&&!r.isString(e.context)?"context: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!r.isString(e.deletedAt)?"deletedAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2GetCommentThreadResponse)return e;var t=new o.CommentsV2GetCommentThreadResponse;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2GetCommentThreadResponse.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n)t.comments[n]=String(e.comments[n])}if(e.commentsV2){if(!Array.isArray(e.commentsV2))throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: array expected");for(t.commentsV2=[],n=0;n<e.commentsV2.length;++n){if("object"!=typeof e.commentsV2[n])throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: object expected");t.commentsV2[n]=o.CommentDescriptor.fromObject(e.commentsV2[n])}}return null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[],n.commentsV2=[]),t.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),e.comments&&e.comments.length){n.comments=[];for(var r=0;r<e.comments.length;++r)n.comments[r]=e.comments[r]}if(e.commentsV2&&e.commentsV2.length)for(n.commentsV2=[],r=0;r<e.commentsV2.length;++r)n.commentsV2[r]=o.CommentDescriptor.toObject(e.commentsV2[r],t);return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadResponse"},s}(),o.CommentsV2GetDocumentThreadsResponse=function(){function s(e){if(this.threads=[],this.threadsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.threads=r.emptyArray,s.prototype.threadsV2=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.threads&&e.threads.length)for(var r=0;r<e.threads.length;++r)t.uint32(10).string(e.threads[r]);if(null!=e.threadsV2&&e.threadsV2.length)for(r=0;r<e.threadsV2.length;++r)o.CommentsThreadDescriptor.encode(e.threadsV2[r],t.uint32(18).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2GetDocumentThreadsResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.threads&&s.threads.length||(s.threads=[]),s.threads.push(e.string());break;case 2:s.threadsV2&&s.threadsV2.length||(s.threadsV2=[]),s.threadsV2.push(o.CommentsThreadDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.threads&&e.hasOwnProperty("threads")){if(!Array.isArray(e.threads))return"threads: array expected";for(var t=0;t<e.threads.length;++t)if(!r.isString(e.threads[t]))return"threads: string[] expected"}if(null!=e.threadsV2&&e.hasOwnProperty("threadsV2")){if(!Array.isArray(e.threadsV2))return"threadsV2: array expected";for(t=0;t<e.threadsV2.length;++t){var n=o.CommentsThreadDescriptor.verify(e.threadsV2[t]);if(n)return"threadsV2."+n}}return null},s.fromObject=function(e){if(e instanceof o.CommentsV2GetDocumentThreadsResponse)return e;var t=new o.CommentsV2GetDocumentThreadsResponse;if(e.threads){if(!Array.isArray(e.threads))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threads: array expected");t.threads=[];for(var n=0;n<e.threads.length;++n)t.threads[n]=String(e.threads[n])}if(e.threadsV2){if(!Array.isArray(e.threadsV2))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: array expected");for(t.threadsV2=[],n=0;n<e.threadsV2.length;++n){if("object"!=typeof e.threadsV2[n])throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: object expected");t.threadsV2[n]=o.CommentsThreadDescriptor.fromObject(e.threadsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.threads=[],n.threadsV2=[]),e.threads&&e.threads.length){n.threads=[];for(var r=0;r<e.threads.length;++r)n.threads[r]=e.threads[r]}if(e.threadsV2&&e.threadsV2.length)for(n.threadsV2=[],r=0;r<e.threadsV2.length;++r)n.threadsV2[r]=o.CommentsThreadDescriptor.toObject(e.threadsV2[r],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsResponse"},s}(),o.KeyValueDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.key="",s.prototype.value="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(10).string(e.key),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(18).string(e.value),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.KeyValueDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.key=e.string();break;case 2:s.value=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.key&&e.hasOwnProperty("key")&&!r.isString(e.key)?"key: string expected":null!=e.value&&e.hasOwnProperty("value")&&!r.isString(e.value)?"value: string expected":null},s.fromObject=function(e){if(e instanceof o.KeyValueDescriptor)return e;var t=new o.KeyValueDescriptor;return null!=e.key&&(t.key=String(e.key)),null!=e.value&&(t.value=String(e.value)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.key="",n.value=""),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.value&&e.hasOwnProperty("value")&&(n.value=e.value),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/KeyValueDescriptor"},s}(),o.IsEditorBundleUploadedMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.bundleVersion="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&t.uint32(10).string(e.bundleVersion),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.IsEditorBundleUploadedMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.bundleVersion=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!r.isString(e.bundleVersion)?"bundleVersion: string expected":null},s.fromObject=function(e){if(e instanceof o.IsEditorBundleUploadedMessage)return e;var t=new o.IsEditorBundleUploadedMessage;return null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.bundleVersion=""),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedMessage"},s}(),o.IsEditorBundleUploadedResponse=function(){function r(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return r.prototype.isUploaded=!1,r.create=function(e){return new r(e)},r.encode=function(e,t){return t||(t=n.create()),null!=e.isUploaded&&Object.hasOwnProperty.call(e,"isUploaded")&&t.uint32(8).bool(e.isUploaded),t},r.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},r.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.IsEditorBundleUploadedResponse;e.pos<r;){var i=e.uint32();i>>>3==1?s.isUploaded=e.bool():e.skipType(7&i)}return s},r.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},r.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.isUploaded&&e.hasOwnProperty("isUploaded")&&"boolean"!=typeof e.isUploaded?"isUploaded: boolean expected":null},r.fromObject=function(e){if(e instanceof o.IsEditorBundleUploadedResponse)return e;var t=new o.IsEditorBundleUploadedResponse;return null!=e.isUploaded&&(t.isUploaded=Boolean(e.isUploaded)),t},r.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.isUploaded=!1),null!=e.isUploaded&&e.hasOwnProperty("isUploaded")&&(n.isUploaded=e.isUploaded),n},r.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},r.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedResponse"},r}(),o.RevisionDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&t.uint32(10).string(e.revisionId),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&t.uint32(18).string(e.name),null!=e.creatorId&&Object.hasOwnProperty.call(e,"creatorId")&&t.uint32(26).string(e.creatorId),null!=e.authorsIds&&Object.hasOwnProperty.call(e,"authorsIds")&&t.uint32(34).string(e.authorsIds),null!=e.diffData&&Object.hasOwnProperty.call(e,"diffData")&&t.uint32(42).string(e.diffData),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),null!=e.toVersion&&Object.hasOwnProperty.call(e,"toVersion")&&t.uint32(64).uint32(e.toVersion),null!=e.fromVersion&&Object.hasOwnProperty.call(e,"fromVersion")&&t.uint32(72).uint32(e.fromVersion),null!=e.isEmptyCurrent&&Object.hasOwnProperty.call(e,"isEmptyCurrent")&&t.uint32(80).bool(e.isEmptyCurrent),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.revisionId=e.string();break;case 2:s.name=e.string();break;case 3:s.creatorId=e.string();break;case 4:s.authorsIds=e.string();break;case 5:s.diffData=e.string();break;case 6:s.createdAt=e.string();break;case 7:s.attributes=e.string();break;case 8:s.toVersion=e.uint32();break;case 9:s.fromVersion=e.uint32();break;case 10:s.isEmptyCurrent=e.bool();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!r.isString(e.revisionId)?"revisionId: string expected":null!=e.name&&e.hasOwnProperty("name")&&!r.isString(e.name)?"name: string expected":null!=e.creatorId&&e.hasOwnProperty("creatorId")&&!r.isString(e.creatorId)?"creatorId: string expected":null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&!r.isString(e.authorsIds)?"authorsIds: string expected":null!=e.diffData&&e.hasOwnProperty("diffData")&&!r.isString(e.diffData)?"diffData: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null!=e.toVersion&&e.hasOwnProperty("toVersion")&&!r.isInteger(e.toVersion)?"toVersion: integer expected":null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&!r.isInteger(e.fromVersion)?"fromVersion: integer expected":null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof e.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},s.fromObject=function(e){if(e instanceof o.RevisionDescriptor)return e;var t=new o.RevisionDescriptor;return null!=e.revisionId&&(t.revisionId=String(e.revisionId)),null!=e.name&&(t.name=String(e.name)),null!=e.creatorId&&(t.creatorId=String(e.creatorId)),null!=e.authorsIds&&(t.authorsIds=String(e.authorsIds)),null!=e.diffData&&(t.diffData=String(e.diffData)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.toVersion&&(t.toVersion=e.toVersion>>>0),null!=e.fromVersion&&(t.fromVersion=e.fromVersion>>>0),null!=e.isEmptyCurrent&&(t.isEmptyCurrent=Boolean(e.isEmptyCurrent)),t},s.toObject=function(e,t){t||(t={});var n={};return t.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!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.creatorId&&e.hasOwnProperty("creatorId")&&(n.creatorId=e.creatorId),null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&(n.authorsIds=e.authorsIds),null!=e.diffData&&e.hasOwnProperty("diffData")&&(n.diffData=e.diffData),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.toVersion&&e.hasOwnProperty("toVersion")&&(n.toVersion=e.toVersion),null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&(n.fromVersion=e.fromVersion),null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=e.isEmptyCurrent),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionDescriptor"},s}(),o.RevisionHistoryConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryConnectMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.documentId=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryConnectMessage)return e;var t=new o.RevisionHistoryConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectMessage"},s}(),o.RevisionHistoryGetRevisionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.revisionId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&t.uint32(18).string(e.revisionId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryGetRevisionMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.documentId=e.string();break;case 2:s.revisionId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!r.isString(e.revisionId)?"revisionId: string expected":null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryGetRevisionMessage)return e;var t=new o.RevisionHistoryGetRevisionMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.revisionId&&(t.revisionId=String(e.revisionId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId="",n.revisionId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionMessage"},s}(),o.RevisionHistoryReconnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.requestId=0,s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&t.uint32(16).uint32(e.requestId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryReconnectMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.documentId=e.string();break;case 2:s.requestId=e.uint32();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.requestId&&e.hasOwnProperty("requestId")&&!r.isInteger(e.requestId)?"requestId: integer expected":null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryReconnectMessage)return e;var t=new o.RevisionHistoryReconnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.requestId&&(t.requestId=e.requestId>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId="",n.requestId=0),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryReconnectMessage"},s}(),o.RevisionHistoryUpdateRevisionsMessage=function(){function s(e){if(this.revisions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.requestId=0,s.prototype.revisions=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&t.uint32(16).uint32(e.requestId),null!=e.revisions&&e.revisions.length)for(var r=0;r<e.revisions.length;++r)o.RevisionDescriptor.encode(e.revisions[r],t.uint32(26).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryUpdateRevisionsMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.documentId=e.string();break;case 2:s.requestId=e.uint32();break;case 3:s.revisions&&s.revisions.length||(s.revisions=[]),s.revisions.push(o.RevisionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId))return"documentId: string expected";if(null!=e.requestId&&e.hasOwnProperty("requestId")&&!r.isInteger(e.requestId))return"requestId: integer expected";if(null!=e.revisions&&e.hasOwnProperty("revisions")){if(!Array.isArray(e.revisions))return"revisions: array expected";for(var t=0;t<e.revisions.length;++t){var n=o.RevisionDescriptor.verify(e.revisions[t]);if(n)return"revisions."+n}}return null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryUpdateRevisionsMessage)return e;var t=new o.RevisionHistoryUpdateRevisionsMessage;if(null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.requestId&&(t.requestId=e.requestId>>>0),e.revisions){if(!Array.isArray(e.revisions))throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: array expected");t.revisions=[];for(var n=0;n<e.revisions.length;++n){if("object"!=typeof e.revisions[n])throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: object expected");t.revisions[n]=o.RevisionDescriptor.fromObject(e.revisions[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.revisions=[]),t.defaults&&(n.documentId="",n.requestId=0),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),e.revisions&&e.revisions.length){n.revisions=[];for(var r=0;r<e.revisions.length;++r)n.revisions[r]=o.RevisionDescriptor.toObject(e.revisions[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsMessage"},s}(),o.RevisionHistoryConnectResponse=function(){function s(e){if(this.revisions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.requestId=0,s.prototype.revisions=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&t.uint32(16).uint32(e.requestId),null!=e.revisions&&e.revisions.length)for(var r=0;r<e.revisions.length;++r)o.RevisionDescriptor.encode(e.revisions[r],t.uint32(26).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryConnectResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.channel=e.string();break;case 2:s.requestId=e.uint32();break;case 3:s.revisions&&s.revisions.length||(s.revisions=[]),s.revisions.push(o.RevisionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!r.isString(e.channel))return"channel: string expected";if(null!=e.requestId&&e.hasOwnProperty("requestId")&&!r.isInteger(e.requestId))return"requestId: integer expected";if(null!=e.revisions&&e.hasOwnProperty("revisions")){if(!Array.isArray(e.revisions))return"revisions: array expected";for(var t=0;t<e.revisions.length;++t){var n=o.RevisionDescriptor.verify(e.revisions[t]);if(n)return"revisions."+n}}return null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryConnectResponse)return e;var t=new o.RevisionHistoryConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),null!=e.requestId&&(t.requestId=e.requestId>>>0),e.revisions){if(!Array.isArray(e.revisions))throw TypeError(".RevisionHistoryConnectResponse.revisions: array expected");t.revisions=[];for(var n=0;n<e.revisions.length;++n){if("object"!=typeof e.revisions[n])throw TypeError(".RevisionHistoryConnectResponse.revisions: object expected");t.revisions[n]=o.RevisionDescriptor.fromObject(e.revisions[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.revisions=[]),t.defaults&&(n.channel="",n.requestId=0),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),e.revisions&&e.revisions.length){n.revisions=[];for(var r=0;r<e.revisions.length;++r)n.revisions[r]=o.RevisionDescriptor.toObject(e.revisions[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectResponse"},s}(),o.RevisionHistoryGetRevisionResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&t.uint32(10).string(e.revisionId),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&t.uint32(18).string(e.name),null!=e.creatorId&&Object.hasOwnProperty.call(e,"creatorId")&&t.uint32(26).string(e.creatorId),null!=e.authorsIds&&Object.hasOwnProperty.call(e,"authorsIds")&&t.uint32(34).string(e.authorsIds),null!=e.diffData&&Object.hasOwnProperty.call(e,"diffData")&&t.uint32(42).string(e.diffData),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),null!=e.toVersion&&Object.hasOwnProperty.call(e,"toVersion")&&t.uint32(64).uint32(e.toVersion),null!=e.fromVersion&&Object.hasOwnProperty.call(e,"fromVersion")&&t.uint32(72).uint32(e.fromVersion),null!=e.isEmptyCurrent&&Object.hasOwnProperty.call(e,"isEmptyCurrent")&&t.uint32(80).bool(e.isEmptyCurrent),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryGetRevisionResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.revisionId=e.string();break;case 2:s.name=e.string();break;case 3:s.creatorId=e.string();break;case 4:s.authorsIds=e.string();break;case 5:s.diffData=e.string();break;case 6:s.createdAt=e.string();break;case 7:s.attributes=e.string();break;case 8:s.toVersion=e.uint32();break;case 9:s.fromVersion=e.uint32();break;case 10:s.isEmptyCurrent=e.bool();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!r.isString(e.revisionId)?"revisionId: string expected":null!=e.name&&e.hasOwnProperty("name")&&!r.isString(e.name)?"name: string expected":null!=e.creatorId&&e.hasOwnProperty("creatorId")&&!r.isString(e.creatorId)?"creatorId: string expected":null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&!r.isString(e.authorsIds)?"authorsIds: string expected":null!=e.diffData&&e.hasOwnProperty("diffData")&&!r.isString(e.diffData)?"diffData: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null!=e.toVersion&&e.hasOwnProperty("toVersion")&&!r.isInteger(e.toVersion)?"toVersion: integer expected":null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&!r.isInteger(e.fromVersion)?"fromVersion: integer expected":null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof e.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryGetRevisionResponse)return e;var t=new o.RevisionHistoryGetRevisionResponse;return null!=e.revisionId&&(t.revisionId=String(e.revisionId)),null!=e.name&&(t.name=String(e.name)),null!=e.creatorId&&(t.creatorId=String(e.creatorId)),null!=e.authorsIds&&(t.authorsIds=String(e.authorsIds)),null!=e.diffData&&(t.diffData=String(e.diffData)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.toVersion&&(t.toVersion=e.toVersion>>>0),null!=e.fromVersion&&(t.fromVersion=e.fromVersion>>>0),null!=e.isEmptyCurrent&&(t.isEmptyCurrent=Boolean(e.isEmptyCurrent)),t},s.toObject=function(e,t){t||(t={});var n={};return t.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!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.creatorId&&e.hasOwnProperty("creatorId")&&(n.creatorId=e.creatorId),null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&(n.authorsIds=e.authorsIds),null!=e.diffData&&e.hasOwnProperty("diffData")&&(n.diffData=e.diffData),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.toVersion&&e.hasOwnProperty("toVersion")&&(n.toVersion=e.toVersion),null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&(n.fromVersion=e.fromVersion),null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=e.isEmptyCurrent),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionResponse"},s}(),o.RevisionHistoryUpdateRevisionsResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.requestId=0,s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&t.uint32(8).uint32(e.requestId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryUpdateRevisionsResponse;e.pos<r;){var i=e.uint32();i>>>3==1?s.requestId=e.uint32():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.requestId&&e.hasOwnProperty("requestId")&&!r.isInteger(e.requestId)?"requestId: integer expected":null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryUpdateRevisionsResponse)return e;var t=new o.RevisionHistoryUpdateRevisionsResponse;return null!=e.requestId&&(t.requestId=e.requestId>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.requestId=0),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsResponse"},s}(),o.SessionsSocketDescriptor=function(){function s(e){if(this.permissions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.session="",s.prototype.user="",s.prototype.role="",s.prototype.permissions=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.session&&Object.hasOwnProperty.call(e,"session")&&t.uint32(10).string(e.session),null!=e.user&&Object.hasOwnProperty.call(e,"user")&&t.uint32(18).string(e.user),null!=e.role&&Object.hasOwnProperty.call(e,"role")&&t.uint32(26).string(e.role),null!=e.permissions&&e.permissions.length)for(var r=0;r<e.permissions.length;++r)t.uint32(34).string(e.permissions[r]);return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.SessionsSocketDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.session=e.string();break;case 2:s.user=e.string();break;case 3:s.role=e.string();break;case 4:s.permissions&&s.permissions.length||(s.permissions=[]),s.permissions.push(e.string());break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.session&&e.hasOwnProperty("session")&&!r.isString(e.session))return"session: string expected";if(null!=e.user&&e.hasOwnProperty("user")&&!r.isString(e.user))return"user: string expected";if(null!=e.role&&e.hasOwnProperty("role")&&!r.isString(e.role))return"role: string expected";if(null!=e.permissions&&e.hasOwnProperty("permissions")){if(!Array.isArray(e.permissions))return"permissions: array expected";for(var t=0;t<e.permissions.length;++t)if(!r.isString(e.permissions[t]))return"permissions: string[] expected"}return null},s.fromObject=function(e){if(e instanceof o.SessionsSocketDescriptor)return e;var t=new o.SessionsSocketDescriptor;if(null!=e.session&&(t.session=String(e.session)),null!=e.user&&(t.user=String(e.user)),null!=e.role&&(t.role=String(e.role)),e.permissions){if(!Array.isArray(e.permissions))throw TypeError(".SessionsSocketDescriptor.permissions: array expected");t.permissions=[];for(var n=0;n<e.permissions.length;++n)t.permissions[n]=String(e.permissions[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.permissions=[]),t.defaults&&(n.session="",n.user="",n.role=""),null!=e.session&&e.hasOwnProperty("session")&&(n.session=e.session),null!=e.user&&e.hasOwnProperty("user")&&(n.user=e.user),null!=e.role&&e.hasOwnProperty("role")&&(n.role=e.role),e.permissions&&e.permissions.length){n.permissions=[];for(var r=0;r<e.permissions.length;++r)n.permissions[r]=e.permissions[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsSocketDescriptor"},s}(),o.SessionsConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.sessionType=0,s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.sessionType&&Object.hasOwnProperty.call(e,"sessionType")&&t.uint32(16).uint32(e.sessionType),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.SessionsConnectMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.sessionType=e.uint32();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.sessionType&&e.hasOwnProperty("sessionType")&&!r.isInteger(e.sessionType)?"sessionType: integer expected":null},s.fromObject=function(e){if(e instanceof o.SessionsConnectMessage)return e;var t=new o.SessionsConnectMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.sessionType&&(t.sessionType=e.sessionType>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.sessionType=0),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.sessionType&&e.hasOwnProperty("sessionType")&&(n.sessionType=e.sessionType),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectMessage"},s}(),o.SocketConnectMessage=function(){function s(e){if(this.permissions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.userId="",s.prototype.role="",s.prototype.permissions=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&t.uint32(18).string(e.userId),null!=e.role&&Object.hasOwnProperty.call(e,"role")&&t.uint32(26).string(e.role),null!=e.permissions&&e.permissions.length)for(var r=0;r<e.permissions.length;++r)t.uint32(34).string(e.permissions[r]);return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.SocketConnectMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.userId=e.string();break;case 3:s.role=e.string();break;case 4:s.permissions&&s.permissions.length||(s.permissions=[]),s.permissions.push(e.string());break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id))return"id: string expected";if(null!=e.userId&&e.hasOwnProperty("userId")&&!r.isString(e.userId))return"userId: string expected";if(null!=e.role&&e.hasOwnProperty("role")&&!r.isString(e.role))return"role: string expected";if(null!=e.permissions&&e.hasOwnProperty("permissions")){if(!Array.isArray(e.permissions))return"permissions: array expected";for(var t=0;t<e.permissions.length;++t)if(!r.isString(e.permissions[t]))return"permissions: string[] expected"}return null},s.fromObject=function(e){if(e instanceof o.SocketConnectMessage)return e;var t=new o.SocketConnectMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.role&&(t.role=String(e.role)),e.permissions){if(!Array.isArray(e.permissions))throw TypeError(".SocketConnectMessage.permissions: array expected");t.permissions=[];for(var n=0;n<e.permissions.length;++n)t.permissions[n]=String(e.permissions[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.permissions=[]),t.defaults&&(n.id="",n.userId="",n.role=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.role&&e.hasOwnProperty("role")&&(n.role=e.role),e.permissions&&e.permissions.length){n.permissions=[];for(var r=0;r<e.permissions.length;++r)n.permissions[r]=e.permissions[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketConnectMessage"},s}(),o.SocketDisconnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.SocketDisconnectMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.id=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null},s.fromObject=function(e){if(e instanceof o.SocketDisconnectMessage)return e;var t=new o.SocketDisconnectMessage;return null!=e.id&&(t.id=String(e.id)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketDisconnectMessage"},s}(),o.SessionsConnectResponse=function(){function s(e){if(this.sockets=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.sockets=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.sockets&&e.sockets.length)for(var r=0;r<e.sockets.length;++r)o.SessionsSocketDescriptor.encode(e.sockets[r],t.uint32(18).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.SessionsConnectResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.channel=e.string();break;case 2:s.sockets&&s.sockets.length||(s.sockets=[]),s.sockets.push(o.SessionsSocketDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!r.isString(e.channel))return"channel: string expected";if(null!=e.sockets&&e.hasOwnProperty("sockets")){if(!Array.isArray(e.sockets))return"sockets: array expected";for(var t=0;t<e.sockets.length;++t){var n=o.SessionsSocketDescriptor.verify(e.sockets[t]);if(n)return"sockets."+n}}return null},s.fromObject=function(e){if(e instanceof o.SessionsConnectResponse)return e;var t=new o.SessionsConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.sockets){if(!Array.isArray(e.sockets))throw TypeError(".SessionsConnectResponse.sockets: array expected");t.sockets=[];for(var n=0;n<e.sockets.length;++n){if("object"!=typeof e.sockets[n])throw TypeError(".SessionsConnectResponse.sockets: object expected");t.sockets[n]=o.SessionsSocketDescriptor.fromObject(e.sockets[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.sockets=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.sockets&&e.sockets.length){n.sockets=[];for(var r=0;r<e.sockets.length;++r)n.sockets[r]=o.SessionsSocketDescriptor.toObject(e.sockets[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectResponse"},s}(),o.SuggestionDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&t.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&t.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(66).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.SuggestionDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.authorId=e.string();break;case 3:s.type=e.string();break;case 4:s.createdAt=e.string();break;case 5:s.data=e.string();break;case 6:s.hasComments=e.bool();break;case 7:s.state=e.string();break;case 8:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!r.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!r.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.SuggestionDescriptor)return e;var t=new o.SuggestionDescriptor;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SuggestionDescriptor"},s}(),o.TrackChangesAddSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.documentId="",s.prototype.type="",s.prototype.data="",s.prototype.originalSuggestionId="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(26).string(e.type),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(34).string(e.data),null!=e.originalSuggestionId&&Object.hasOwnProperty.call(e,"originalSuggestionId")&&t.uint32(42).string(e.originalSuggestionId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(50).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesAddSuggestionMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.documentId=e.string();break;case 3:s.type=e.string();break;case 4:s.data=e.string();break;case 5:s.originalSuggestionId=e.string();break;case 6:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isString(e.type)?"type: string expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.originalSuggestionId&&e.hasOwnProperty("originalSuggestionId")&&!r.isString(e.originalSuggestionId)?"originalSuggestionId: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesAddSuggestionMessage)return e;var t=new o.TrackChangesAddSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.type&&(t.type=String(e.type)),null!=e.data&&(t.data=String(e.data)),null!=e.originalSuggestionId&&(t.originalSuggestionId=String(e.originalSuggestionId)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.documentId="",n.type="",n.data="",n.originalSuggestionId="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.originalSuggestionId&&e.hasOwnProperty("originalSuggestionId")&&(n.originalSuggestionId=e.originalSuggestionId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionMessage"},s}(),o.TrackChangesBatchUpdateSuggestionsStateMessage=function(){function s(e){if(this.ids=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.ids=r.emptyArray,s.prototype.documentId="",s.prototype.state="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.ids&&e.ids.length)for(var r=0;r<e.ids.length;++r)t.uint32(10).string(e.ids[r]);return null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(26).string(e.state),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesBatchUpdateSuggestionsStateMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.ids&&s.ids.length||(s.ids=[]),s.ids.push(e.string());break;case 2:s.documentId=e.string();break;case 3:s.state=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.ids&&e.hasOwnProperty("ids")){if(!Array.isArray(e.ids))return"ids: array expected";for(var t=0;t<e.ids.length;++t)if(!r.isString(e.ids[t]))return"ids: string[] expected"}return null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.state&&e.hasOwnProperty("state")&&!r.isString(e.state)?"state: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesBatchUpdateSuggestionsStateMessage)return e;var t=new o.TrackChangesBatchUpdateSuggestionsStateMessage;if(e.ids){if(!Array.isArray(e.ids))throw TypeError(".TrackChangesBatchUpdateSuggestionsStateMessage.ids: array expected");t.ids=[];for(var n=0;n<e.ids.length;++n)t.ids[n]=String(e.ids[n])}return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.state&&(t.state=String(e.state)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.ids=[]),t.defaults&&(n.documentId="",n.state=""),e.ids&&e.ids.length){n.ids=[];for(var r=0;r<e.ids.length;++r)n.ids[r]=e.ids[r]}return null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesBatchUpdateSuggestionsStateMessage"},s}(),o.TrackChangesConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesConnectMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.documentId=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesConnectMessage)return e;var t=new o.TrackChangesConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectMessage"},s}(),o.TrackChangesGetAllSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesGetAllSuggestionMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.documentId=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesGetAllSuggestionMessage)return e;var t=new o.TrackChangesGetAllSuggestionMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionMessage"},s}(),o.TrackChangesGetSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesGetSuggestionMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.documentId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesGetSuggestionMessage)return e;var t=new o.TrackChangesGetSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.documentId=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionMessage"},s}(),o.TrackChangesUpdateSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&t.uint32(24).bool(e.hasComments),null!=e.isHasCommentsModified&&Object.hasOwnProperty.call(e,"isHasCommentsModified")&&t.uint32(32).bool(e.isHasCommentsModified),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(42).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(50).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesUpdateSuggestionMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.documentId=e.string();break;case 3:s.hasComments=e.bool();break;case 4:s.isHasCommentsModified=e.bool();break;case 5:s.state=e.string();break;case 6:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.isHasCommentsModified&&e.hasOwnProperty("isHasCommentsModified")&&"boolean"!=typeof e.isHasCommentsModified?"isHasCommentsModified: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!r.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesUpdateSuggestionMessage)return e;var t=new o.TrackChangesUpdateSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.isHasCommentsModified&&(t.isHasCommentsModified=Boolean(e.isHasCommentsModified)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.documentId="",n.hasComments=!1,n.isHasCommentsModified=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.isHasCommentsModified&&e.hasOwnProperty("isHasCommentsModified")&&(n.isHasCommentsModified=e.isHasCommentsModified),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesUpdateSuggestionMessage"},s}(),o.TrackChangesAddSuggestionResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&t.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&t.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(66).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesAddSuggestionResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.authorId=e.string();break;case 3:s.type=e.string();break;case 4:s.createdAt=e.string();break;case 5:s.data=e.string();break;case 6:s.hasComments=e.bool();break;case 7:s.state=e.string();break;case 8:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!r.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!r.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesAddSuggestionResponse)return e;var t=new o.TrackChangesAddSuggestionResponse;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionResponse"},s}(),o.TrackChangesConnectResponse=function(){function s(e){if(this.suggestions=[],this.suggestionsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.suggestions=r.emptyArray,s.prototype.suggestionsV2=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.suggestions&&e.suggestions.length)for(var r=0;r<e.suggestions.length;++r)t.uint32(18).string(e.suggestions[r]);if(null!=e.suggestionsV2&&e.suggestionsV2.length)for(r=0;r<e.suggestionsV2.length;++r)o.SuggestionDescriptor.encode(e.suggestionsV2[r],t.uint32(26).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesConnectResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.channel=e.string();break;case 2:s.suggestions&&s.suggestions.length||(s.suggestions=[]),s.suggestions.push(e.string());break;case 3:s.suggestionsV2&&s.suggestionsV2.length||(s.suggestionsV2=[]),s.suggestionsV2.push(o.SuggestionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!r.isString(e.channel))return"channel: string expected";if(null!=e.suggestions&&e.hasOwnProperty("suggestions")){if(!Array.isArray(e.suggestions))return"suggestions: array expected";for(var t=0;t<e.suggestions.length;++t)if(!r.isString(e.suggestions[t]))return"suggestions: string[] expected"}if(null!=e.suggestionsV2&&e.hasOwnProperty("suggestionsV2")){if(!Array.isArray(e.suggestionsV2))return"suggestionsV2: array expected";for(t=0;t<e.suggestionsV2.length;++t){var n=o.SuggestionDescriptor.verify(e.suggestionsV2[t]);if(n)return"suggestionsV2."+n}}return null},s.fromObject=function(e){if(e instanceof o.TrackChangesConnectResponse)return e;var t=new o.TrackChangesConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.suggestions){if(!Array.isArray(e.suggestions))throw TypeError(".TrackChangesConnectResponse.suggestions: array expected");t.suggestions=[];for(var n=0;n<e.suggestions.length;++n)t.suggestions[n]=String(e.suggestions[n])}if(e.suggestionsV2){if(!Array.isArray(e.suggestionsV2))throw TypeError(".TrackChangesConnectResponse.suggestionsV2: array expected");for(t.suggestionsV2=[],n=0;n<e.suggestionsV2.length;++n){if("object"!=typeof e.suggestionsV2[n])throw TypeError(".TrackChangesConnectResponse.suggestionsV2: object expected");t.suggestionsV2[n]=o.SuggestionDescriptor.fromObject(e.suggestionsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.suggestions&&e.suggestions.length){n.suggestions=[];for(var r=0;r<e.suggestions.length;++r)n.suggestions[r]=e.suggestions[r]}if(e.suggestionsV2&&e.suggestionsV2.length)for(n.suggestionsV2=[],r=0;r<e.suggestionsV2.length;++r)n.suggestionsV2[r]=o.SuggestionDescriptor.toObject(e.suggestionsV2[r],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectResponse"},s}(),o.TrackChangesGetAllSuggestionsResponse=function(){function s(e){if(this.suggestions=[],this.suggestionsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.suggestions=r.emptyArray,s.prototype.suggestionsV2=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.suggestions&&e.suggestions.length)for(var r=0;r<e.suggestions.length;++r)t.uint32(10).string(e.suggestions[r]);if(null!=e.suggestionsV2&&e.suggestionsV2.length)for(r=0;r<e.suggestionsV2.length;++r)o.SuggestionDescriptor.encode(e.suggestionsV2[r],t.uint32(18).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesGetAllSuggestionsResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.suggestions&&s.suggestions.length||(s.suggestions=[]),s.suggestions.push(e.string());break;case 2:s.suggestionsV2&&s.suggestionsV2.length||(s.suggestionsV2=[]),s.suggestionsV2.push(o.SuggestionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.suggestions&&e.hasOwnProperty("suggestions")){if(!Array.isArray(e.suggestions))return"suggestions: array expected";for(var t=0;t<e.suggestions.length;++t)if(!r.isString(e.suggestions[t]))return"suggestions: string[] expected"}if(null!=e.suggestionsV2&&e.hasOwnProperty("suggestionsV2")){if(!Array.isArray(e.suggestionsV2))return"suggestionsV2: array expected";for(t=0;t<e.suggestionsV2.length;++t){var n=o.SuggestionDescriptor.verify(e.suggestionsV2[t]);if(n)return"suggestionsV2."+n}}return null},s.fromObject=function(e){if(e instanceof o.TrackChangesGetAllSuggestionsResponse)return e;var t=new o.TrackChangesGetAllSuggestionsResponse;if(e.suggestions){if(!Array.isArray(e.suggestions))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestions: array expected");t.suggestions=[];for(var n=0;n<e.suggestions.length;++n)t.suggestions[n]=String(e.suggestions[n])}if(e.suggestionsV2){if(!Array.isArray(e.suggestionsV2))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: array expected");for(t.suggestionsV2=[],n=0;n<e.suggestionsV2.length;++n){if("object"!=typeof e.suggestionsV2[n])throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: object expected");t.suggestionsV2[n]=o.SuggestionDescriptor.fromObject(e.suggestionsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),e.suggestions&&e.suggestions.length){n.suggestions=[];for(var r=0;r<e.suggestions.length;++r)n.suggestions[r]=e.suggestions[r]}if(e.suggestionsV2&&e.suggestionsV2.length)for(n.suggestionsV2=[],r=0;r<e.suggestionsV2.length;++r)n.suggestionsV2[r]=o.SuggestionDescriptor.toObject(e.suggestionsV2[r],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionsResponse"},s}(),o.TrackChangesGetSuggestionResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&t.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&t.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(66).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesGetSuggestionResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.authorId=e.string();break;case 3:s.type=e.string();break;case 4:s.createdAt=e.string();break;case 5:s.data=e.string();break;case 6:s.hasComments=e.bool();break;case 7:s.state=e.string();break;case 8:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!r.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!r.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesGetSuggestionResponse)return e;var t=new o.TrackChangesGetSuggestionResponse;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionResponse"},s}(),o.UserDescriptor=function(){function s(e){if(this.attributes=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.attributes=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.attributes&&e.attributes.length)for(var r=0;r<e.attributes.length;++r)o.KeyValueDescriptor.encode(e.attributes[r],t.uint32(10).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.UserDescriptor;e.pos<r;){var i=e.uint32();i>>>3==1?(s.attributes&&s.attributes.length||(s.attributes=[]),s.attributes.push(o.KeyValueDescriptor.decode(e,e.uint32()))):e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")){if(!Array.isArray(e.attributes))return"attributes: array expected";for(var t=0;t<e.attributes.length;++t){var n=o.KeyValueDescriptor.verify(e.attributes[t]);if(n)return"attributes."+n}}return null},s.fromObject=function(e){if(e instanceof o.UserDescriptor)return e;var t=new o.UserDescriptor;if(e.attributes){if(!Array.isArray(e.attributes))throw TypeError(".UserDescriptor.attributes: array expected");t.attributes=[];for(var n=0;n<e.attributes.length;++n){if("object"!=typeof e.attributes[n])throw TypeError(".UserDescriptor.attributes: object expected");t.attributes[n]=o.KeyValueDescriptor.fromObject(e.attributes[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.attributes=[]),e.attributes&&e.attributes.length){n.attributes=[];for(var r=0;r<e.attributes.length;++r)n.attributes[r]=o.KeyValueDescriptor.toObject(e.attributes[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/UserDescriptor"},s}(),o.GetManyUsersMessage=function(){function s(e){if(this.ids=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.ids=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.ids&&e.ids.length)for(var r=0;r<e.ids.length;++r)t.uint32(10).string(e.ids[r]);return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.GetManyUsersMessage;e.pos<r;){var i=e.uint32();i>>>3==1?(s.ids&&s.ids.length||(s.ids=[]),s.ids.push(e.string())):e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.ids&&e.hasOwnProperty("ids")){if(!Array.isArray(e.ids))return"ids: array expected";for(var t=0;t<e.ids.length;++t)if(!r.isString(e.ids[t]))return"ids: string[] expected"}return null},s.fromObject=function(e){if(e instanceof o.GetManyUsersMessage)return e;var t=new o.GetManyUsersMessage;if(e.ids){if(!Array.isArray(e.ids))throw TypeError(".GetManyUsersMessage.ids: array expected");t.ids=[];for(var n=0;n<e.ids.length;++n)t.ids[n]=String(e.ids[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.ids=[]),e.ids&&e.ids.length){n.ids=[];for(var r=0;r<e.ids.length;++r)n.ids[r]=e.ids[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersMessage"},s}(),o.GetUserMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.GetUserMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.id=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null},s.fromObject=function(e){if(e instanceof o.GetUserMessage)return e;var t=new o.GetUserMessage;return null!=e.id&&(t.id=String(e.id)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserMessage"},s}(),o.GetManyUsersResponse=function(){function s(e){if(this.users=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.users=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.users&&e.users.length)for(var r=0;r<e.users.length;++r)o.UserDescriptor.encode(e.users[r],t.uint32(10).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.GetManyUsersResponse;e.pos<r;){var i=e.uint32();i>>>3==1?(s.users&&s.users.length||(s.users=[]),s.users.push(o.UserDescriptor.decode(e,e.uint32()))):e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.users&&e.hasOwnProperty("users")){if(!Array.isArray(e.users))return"users: array expected";for(var t=0;t<e.users.length;++t){var n=o.UserDescriptor.verify(e.users[t]);if(n)return"users."+n}}return null},s.fromObject=function(e){if(e instanceof o.GetManyUsersResponse)return e;var t=new o.GetManyUsersResponse;if(e.users){if(!Array.isArray(e.users))throw TypeError(".GetManyUsersResponse.users: array expected");t.users=[];for(var n=0;n<e.users.length;++n){if("object"!=typeof e.users[n])throw TypeError(".GetManyUsersResponse.users: object expected");t.users[n]=o.UserDescriptor.fromObject(e.users[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.users=[]),e.users&&e.users.length){n.users=[];for(var r=0;r<e.users.length;++r)n.users[r]=o.UserDescriptor.toObject(e.users[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersResponse"},s}(),o.GetUserResponse=function(){function s(e){if(this.attributes=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.attributes=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.attributes&&e.attributes.length)for(var r=0;r<e.attributes.length;++r)o.KeyValueDescriptor.encode(e.attributes[r],t.uint32(10).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.GetUserResponse;e.pos<r;){var i=e.uint32();i>>>3==1?(s.attributes&&s.attributes.length||(s.attributes=[]),s.attributes.push(o.KeyValueDescriptor.decode(e,e.uint32()))):e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")){if(!Array.isArray(e.attributes))return"attributes: array expected";for(var t=0;t<e.attributes.length;++t){var n=o.KeyValueDescriptor.verify(e.attributes[t]);if(n)return"attributes."+n}}return null},s.fromObject=function(e){if(e instanceof o.GetUserResponse)return e;var t=new o.GetUserResponse;if(e.attributes){if(!Array.isArray(e.attributes))throw TypeError(".GetUserResponse.attributes: array expected");t.attributes=[];for(var n=0;n<e.attributes.length;++n){if("object"!=typeof e.attributes[n])throw TypeError(".GetUserResponse.attributes: object expected");t.attributes[n]=o.KeyValueDescriptor.fromObject(e.attributes[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.attributes=[]),e.attributes&&e.attributes.length){n.attributes=[];for(var r=0;r<e.attributes.length;++r)n.attributes[r]=o.KeyValueDescriptor.toObject(e.attributes[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserResponse"},s}(),o.ChannelMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.type=0,s.prototype.socketId="",s.prototype.data=r.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).uint32(e.type),null!=e.socketId&&Object.hasOwnProperty.call(e,"socketId")&&t.uint32(18).string(e.socketId),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(26).bytes(e.data),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.ChannelMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.type=e.uint32();break;case 2:s.socketId=e.string();break;case 3:s.data=e.bytes();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isInteger(e.type)?"type: integer expected":null!=e.socketId&&e.hasOwnProperty("socketId")&&!r.isString(e.socketId)?"socketId: string expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||r.isString(e.data))?"data: buffer expected":null},s.fromObject=function(e){if(e instanceof o.ChannelMessage)return e;var t=new o.ChannelMessage;return null!=e.type&&(t.type=e.type>>>0),null!=e.socketId&&(t.socketId=String(e.socketId)),null!=e.data&&("string"==typeof e.data?r.base64.decode(e.data,t.data=r.newBuffer(r.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.type=0,n.socketId="",t.bytes===String?n.data="":(n.data=[],t.bytes!==Array&&(n.data=r.newBuffer(n.data)))),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.socketId&&e.hasOwnProperty("socketId")&&(n.socketId=e.socketId),null!=e.data&&e.hasOwnProperty("data")&&(n.data=t.bytes===String?r.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ChannelMessage"},s}(),o.BytesBytesPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=r.newBuffer([]),s.prototype.data1=r.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).bytes(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).bytes(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.BytesBytesPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.bytes();break;case 2:s.data1=e.bytes();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||r.isString(e.data))?"data: buffer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||r.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof o.BytesBytesPacketDataMessage)return e;var t=new o.BytesBytesPacketDataMessage;return null!=e.data&&("string"==typeof e.data?r.base64.decode(e.data,t.data=r.newBuffer(r.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),null!=e.data1&&("string"==typeof e.data1?r.base64.decode(e.data1,t.data1=r.newBuffer(r.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(t.bytes===String?n.data="":(n.data=[],t.bytes!==Array&&(n.data=r.newBuffer(n.data))),t.bytes===String?n.data1="":(n.data1=[],t.bytes!==Array&&(n.data1=r.newBuffer(n.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(n.data=t.bytes===String?r.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=t.bytes===String?r.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/BytesBytesPacketDataMessage"},s}(),o.NumberBytesPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1=r.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).bytes(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.NumberBytesPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.uint32();break;case 2:s.data1=e.bytes();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||r.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof o.NumberBytesPacketDataMessage)return e;var t=new o.NumberBytesPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&("string"==typeof e.data1?r.base64.decode(e.data1,t.data1=r.newBuffer(r.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,t.bytes===String?n.data1="":(n.data1=[],t.bytes!==Array&&(n.data1=r.newBuffer(n.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=t.bytes===String?r.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberBytesPacketDataMessage"},s}(),o.NumberNumberPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1=0,s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(16).uint32(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.NumberNumberPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.uint32();break;case 2:s.data1=e.uint32();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isInteger(e.data1)?"data1: integer expected":null},s.fromObject=function(e){if(e instanceof o.NumberNumberPacketDataMessage)return e;var t=new o.NumberNumberPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=e.data1>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,n.data1=0),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberNumberPacketDataMessage"},s}(),o.NumberObjectPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.NumberObjectPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.uint32();break;case 2:s.data1=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof o.NumberObjectPacketDataMessage)return e;var t=new o.NumberObjectPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberObjectPacketDataMessage"},s}(),o.NumberStringPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.NumberStringPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.uint32();break;case 2:s.data1=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof o.NumberStringPacketDataMessage)return e;var t=new o.NumberStringPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberStringPacketDataMessage"},s}(),o.ObjectBufferPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1=r.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).bytes(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.ObjectBufferPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.string();break;case 2:s.data1=e.bytes();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||r.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof o.ObjectBufferPacketDataMessage)return e;var t=new o.ObjectBufferPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&("string"==typeof e.data1?r.base64.decode(e.data1,t.data1=r.newBuffer(r.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",t.bytes===String?n.data1="":(n.data1=[],t.bytes!==Array&&(n.data1=r.newBuffer(n.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=t.bytes===String?r.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectBufferPacketDataMessage"},s}(),o.ObjectObjectPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.ObjectObjectPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.string();break;case 2:s.data1=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof o.ObjectObjectPacketDataMessage)return e;var t=new o.ObjectObjectPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectObjectPacketDataMessage"},s}(),o.PacketMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.type=0,s.prototype.id=0,s.prototype.nsp="",s.prototype.data=r.newBuffer([]),s.prototype.options=r.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).uint32(e.type),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(16).uint32(e.id),null!=e.nsp&&Object.hasOwnProperty.call(e,"nsp")&&t.uint32(26).string(e.nsp),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(34).bytes(e.data),null!=e.options&&Object.hasOwnProperty.call(e,"options")&&t.uint32(42).bytes(e.options),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.PacketMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.type=e.uint32();break;case 2:s.id=e.uint32();break;case 3:s.nsp=e.string();break;case 4:s.data=e.bytes();break;case 5:s.options=e.bytes();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isInteger(e.type)?"type: integer expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isInteger(e.id)?"id: integer expected":null!=e.nsp&&e.hasOwnProperty("nsp")&&!r.isString(e.nsp)?"nsp: string expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||r.isString(e.data))?"data: buffer expected":null!=e.options&&e.hasOwnProperty("options")&&!(e.options&&"number"==typeof e.options.length||r.isString(e.options))?"options: buffer expected":null},s.fromObject=function(e){if(e instanceof o.PacketMessage)return e;var t=new o.PacketMessage;return null!=e.type&&(t.type=e.type>>>0),null!=e.id&&(t.id=e.id>>>0),null!=e.nsp&&(t.nsp=String(e.nsp)),null!=e.data&&("string"==typeof e.data?r.base64.decode(e.data,t.data=r.newBuffer(r.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),null!=e.options&&("string"==typeof e.options?r.base64.decode(e.options,t.options=r.newBuffer(r.base64.length(e.options)),0):e.options.length>=0&&(t.options=e.options)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.type=0,n.id=0,n.nsp="",t.bytes===String?n.data="":(n.data=[],t.bytes!==Array&&(n.data=r.newBuffer(n.data))),t.bytes===String?n.options="":(n.options=[],t.bytes!==Array&&(n.options=r.newBuffer(n.options)))),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.nsp&&e.hasOwnProperty("nsp")&&(n.nsp=e.nsp),null!=e.data&&e.hasOwnProperty("data")&&(n.data=t.bytes===String?r.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),null!=e.options&&e.hasOwnProperty("options")&&(n.options=t.bytes===String?r.base64.encode(e.options,0,e.options.length):t.bytes===Array?Array.prototype.slice.call(e.options):e.options),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketMessage"},s}(),o.PacketOptionsMessage=function(){function s(e){if(this.rooms=[],this.except=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.flags="",s.prototype.rooms=r.emptyArray,s.prototype.except=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.flags&&Object.hasOwnProperty.call(e,"flags")&&t.uint32(10).string(e.flags),null!=e.rooms&&e.rooms.length)for(var r=0;r<e.rooms.length;++r)t.uint32(18).string(e.rooms[r]);if(null!=e.except&&e.except.length)for(r=0;r<e.except.length;++r)t.uint32(26).string(e.except[r]);return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.PacketOptionsMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.flags=e.string();break;case 2:s.rooms&&s.rooms.length||(s.rooms=[]),s.rooms.push(e.string());break;case 3:s.except&&s.except.length||(s.except=[]),s.except.push(e.string());break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.flags&&e.hasOwnProperty("flags")&&!r.isString(e.flags))return"flags: string expected";if(null!=e.rooms&&e.hasOwnProperty("rooms")){if(!Array.isArray(e.rooms))return"rooms: array expected";for(var t=0;t<e.rooms.length;++t)if(!r.isString(e.rooms[t]))return"rooms: string[] expected"}if(null!=e.except&&e.hasOwnProperty("except")){if(!Array.isArray(e.except))return"except: array expected";for(t=0;t<e.except.length;++t)if(!r.isString(e.except[t]))return"except: string[] expected"}return null},s.fromObject=function(e){if(e instanceof o.PacketOptionsMessage)return e;var t=new o.PacketOptionsMessage;if(null!=e.flags&&(t.flags=String(e.flags)),e.rooms){if(!Array.isArray(e.rooms))throw TypeError(".PacketOptionsMessage.rooms: array expected");t.rooms=[];for(var n=0;n<e.rooms.length;++n)t.rooms[n]=String(e.rooms[n])}if(e.except){if(!Array.isArray(e.except))throw TypeError(".PacketOptionsMessage.except: array expected");for(t.except=[],n=0;n<e.except.length;++n)t.except[n]=String(e.except[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.rooms=[],n.except=[]),t.defaults&&(n.flags=""),null!=e.flags&&e.hasOwnProperty("flags")&&(n.flags=e.flags),e.rooms&&e.rooms.length){n.rooms=[];for(var r=0;r<e.rooms.length;++r)n.rooms[r]=e.rooms[r]}if(e.except&&e.except.length)for(n.except=[],r=0;r<e.except.length;++r)n.except[r]=e.except[r];return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketOptionsMessage"},s}(),o.StringBytesPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1=r.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).bytes(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.StringBytesPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.string();break;case 2:s.data1=e.bytes();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||r.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof o.StringBytesPacketDataMessage)return e;var t=new o.StringBytesPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&("string"==typeof e.data1?r.base64.decode(e.data1,t.data1=r.newBuffer(r.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",t.bytes===String?n.data1="":(n.data1=[],t.bytes!==Array&&(n.data1=r.newBuffer(n.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=t.bytes===String?r.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringBytesPacketDataMessage"},s}(),o.StringNumberPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1=0,s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(16).uint32(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.StringNumberPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.string();break;case 2:s.data1=e.uint32();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isInteger(e.data1)?"data1: integer expected":null},s.fromObject=function(e){if(e instanceof o.StringNumberPacketDataMessage)return e;var t=new o.StringNumberPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=e.data1>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=0),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringNumberPacketDataMessage"},s}(),o.StringObjectPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.StringObjectPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.string();break;case 2:s.data1=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof o.StringObjectPacketDataMessage)return e;var t=new o.StringObjectPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringObjectPacketDataMessage"},s}(),o.StringStringPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.StringStringPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.string();break;case 2:s.data1=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof o.StringStringPacketDataMessage)return e;var t=new o.StringStringPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringStringPacketDataMessage"},s}(),o},o=[n(6386)],void 0===(s="function"==typeof(r=i)?r.apply(t,o):r)||(e.exports=s)},5945:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(...e){}}},8689:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._SERVICE=void 0;const o=n(2209),s=r(n(3596)),i=n(7158),a=r(n(6052)),c=r(n(4910)),u=r(n(357));t._SERVICE=13;class d{static async isBundleUploaded(e,t){const n=new a.default(t);if(e.state!==i.WEB_SOCKET_GATEWAY_STATES.CONNECTED)throw new u.default("WebSocket Gateway is not connected.",e);const r=await e._sendRequest(d._SERVICE,a.default.TYPE,s.default.encode(n));return s.default.decode(r,c.default).isUploaded}}d._SERVICE=t._SERVICE,(0,o.mix)(d,o.EmitterMixin),t.default=d},6052:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.bundleVersion=e}toJSON(){return{bundleVersion:this.bundleVersion}}static fromJSON(e){return new s(e.bundleVersion)}}t.default=s,s.TYPE="131",s.READABLE_TYPE_NAME="isEditorBundleUploaded",s.DESCRIPTOR_NAME="IsEditorBundleUploadedMessage",s.DESCRIPTOR={fields:{bundleVersion:{type:"string",id:1}}}},4910:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.isUploaded=e}toJSON(){return{isUploaded:this.isUploaded}}static fromJSON(e){return new s(e.isUploaded)}}t.default=s,s.DESCRIPTOR_NAME="IsEditorBundleUploadedResponse",s.DESCRIPTOR={fields:{isUploaded:{type:"bool",id:1}}}},6314:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(357));class s extends o.default{constructor(e,t){super(e+" Service is not connected.",t)}}t.default=s},3545:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(5945));class s extends o.default{constructor(...e){super()}static fromJSON(e){throw new TypeError("Must be implemented in a child class!")}}t.default=s,s.TYPE="1000"},3596:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(6398));function s(e){return o.default[e.DESCRIPTOR_NAME]}t.default=class{static decode(e,t){const n=s(t).decode("undefined"==typeof window?e:new Uint8Array(e));return t.fromJSON({...n})}static encode(e){const t=s(e.constructor),n=e.toJSON(),r=t.verify(n);if(r)throw Error(r);return t.encode(t.create(n)).finish()}}},9883:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(5945));class s extends o.default{static create(e){return{revisionId:e.id,name:e.name,creatorId:e.creatorId,createdAt:e.createdAt,fromVersion:e.fromVersion,toVersion:e.toVersion,isEmptyCurrent:e.isEmptyCurrent,diffData:e.diffData?JSON.stringify(e.diffData):void 0,attributes:e.attributes,authorsIds:e.authorsIds}}static toJSON(e){var t;return{revisionId:e.revisionId,name:e.name,creatorId:e.creatorId,authorsIds:e.authorsIds?JSON.stringify(e.authorsIds):void 0,diffData:e.diffData,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):void 0,toVersion:e.toVersion,fromVersion:e.fromVersion,isEmptyCurrent:e.isEmptyCurrent}}static fromJSON(e){return{revisionId:(e={...e}).revisionId,name:e.name,creatorId:e.creatorId,authorsIds:e.authorsIds?JSON.parse(e.authorsIds):void 0,diffData:e.diffData,createdAt:e.createdAt?new Date(e.createdAt):void 0,attributes:e.attributes?JSON.parse(e.attributes):void 0,toVersion:e.toVersion,fromVersion:e.fromVersion,isEmptyCurrent:e.isEmptyCurrent}}static toObject(e){return function(e){for(const[t,n]of Object.entries(e))void 0===n&&delete e[t];return e}({id:e.revisionId,name:e.name,creatorId:e.creatorId,createdAt:e.createdAt,fromVersion:e.fromVersion,toVersion:e.toVersion,isEmptyCurrent:e.isEmptyCurrent,diffData:e.diffData?JSON.parse(e.diffData):void 0,attributes:e.attributes,authorsIds:e.authorsIds})}}t.default=s,s.DESCRIPTOR_NAME="RevisionDescriptor",s.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}}}},801:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new s(e.documentId)}}t.default=s,s.TYPE="121",s.READABLE_TYPE_NAME="connectToRevisionHistory",s.DESCRIPTOR_NAME="RevisionHistoryConnectMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},3667:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t){super(),this.documentId=e,this.revisionId=t}toJSON(){return{documentId:this.documentId,revisionId:this.revisionId}}static fromJSON(e){return new s(e.documentId,e.revisionId)}}t.default=s,s.TYPE="123",s.READABLE_TYPE_NAME="getRevision",s.DESCRIPTOR_NAME="RevisionHistoryGetRevisionMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1},revisionId:{type:"string",id:2}}}},8702:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t){super(),this.documentId=e,this.requestId=t}toJSON(){return{documentId:this.documentId,requestId:this.requestId}}static fromJSON(e){return new s(e.documentId,e.requestId)}}t.default=s,s.TYPE="122",s.READABLE_TYPE_NAME="reconnectToRevisionHistory",s.DESCRIPTOR_NAME="RevisionHistoryReconnectMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2}}}},6120:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(9883));class i extends o.default{constructor(e,t,n){super(),this.documentId=e,this.requestId=t,this.revisions=n}toJSON(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(s.default.toJSON)}}toObject(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(s.default.toObject)}}static create(e){return new i(e.documentId,e.requestId,e.revisions.map(s.default.create))}static fromJSON(e){return new i(e.documentId,e.requestId,e.revisions.map(s.default.fromJSON))}}t.default=i,i.TYPE="124",i.READABLE_TYPE_NAME="updateRevisions",i.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsMessage",i.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}}},5218:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(9883));class i extends o.default{constructor(e,t,n){super(),this.channel=e,this.requestId=t,this.revisions=n}toJSON(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(s.default.toJSON)}}toObject(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(s.default.toObject)}}static fromJSON(e){return new i(e.channel,e.requestId,e.revisions.map(s.default.fromJSON))}}t.default=i,i.DESCRIPTOR_NAME="RevisionHistoryConnectResponse",i.DESCRIPTOR={fields:{channel:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}}},6311:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(9883));class i extends o.default{constructor(e,t,n,r,o,s,i,a,c,u){super(),this.revisionId=e,this.name=t,this.creatorId=n,this.authorsIds=r,this.createdAt=o,this.diffData=s,this.attributes=i,this.fromVersion=a,this.toVersion=c,this.isEmptyCurrent=u}toJSON(){return s.default.toJSON(this)}toObject(){return s.default.toObject(this)}static create(e){return new i(e.revisionId,e.name,e.creatorId,e.authorsIds,e.createdAt,e.diffData,e.attributes,e.fromVersion,e.toVersion,e.isEmptyCurrent)}static fromJSON(e){return new i(e.revisionId,e.name,e.creatorId,e.authorsIds?JSON.parse(e.authorsIds):void 0,e.createdAt?new Date(e.createdAt):void 0,e.diffData,e.attributes?JSON.parse(e.attributes):void 0,e.fromVersion,e.toVersion,e.isEmptyCurrent)}}t.default=i,i.DESCRIPTOR_NAME="RevisionHistoryGetRevisionResponse",i.DESCRIPTOR=s.default.DESCRIPTOR},1655:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.requestId=e}toJSON(){return{requestId:this.requestId}}static fromJSON(e){return new s(e.requestId)}}t.default=s,s.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsResponse",s.DESCRIPTOR={fields:{requestId:{type:"uint32",id:1}}}},8811:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._SERVICE=void 0;const a=n(2209),c=i(n(3596)),u=i(n(3667)),d=i(n(6311)),l=i(n(6120)),p=i(n(1655)),h=i(n(801)),f=i(n(5218)),m=i(n(8702)),y=i(n(357)),g=s(n(7158)),b=i(n(6314));t._SERVICE=12;class O{constructor(e){this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}connect(e){return this._isConnected?Promise.resolve():this._connect(e,new h.default(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(e,t){if(this.isConnected)throw new y.default("Cannot reconnect to already connected service.",e);return this._connect(e,new m.default(this._documentId,t))}async updateRevisions(e,t){const n=l.default.create({documentId:this._documentId,requestId:t,revisions:e}),r=await this._sendRequest(l.default.TYPE,n),{requestId:o}=c.default.decode(r,p.default);return o}async getRevision(e){const t=new u.default(this._documentId,e),n=await this._sendRequest(u.default.TYPE,t);return c.default.decode(n,d.default).toObject()}async _connect(e,n){if(e.state!==g.WEB_SOCKET_GATEWAY_STATES.CONNECTED)throw new y.default("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const r=await e._sendRequest(t._SERVICE,n.constructor.TYPE,c.default.encode(n)),{channel:o,requestId:s,revisions:i}=c.default.decode(r,f.default).toObject();return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:g.default._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,o),this._isConnected=!0,this.fire("connected"),{revisions:i,requestId:s}}_connectToChannel(e,t){this._channel=e._getChannel(O._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(l.default.TYPE),((e,t)=>{const{documentId:n,requestId:r,revisions:o}=c.default.decode(t,l.default).toObject();this.fire("revisionsUpdated",{documentId:n,requestId:r,revisionsData:o})}))}_onWsGatewayStateChange(e){e===g.WEB_SOCKET_GATEWAY_STATES.DISCONNECTED&&this.disconnect()}_sendRequest(e,n){if(!this._wsGateway||!this._isConnected)throw new b.default("Revision History",this);return this._wsGateway._sendRequest(t._SERVICE,e,c.default.encode(n))}}O._SERVICE=t._SERVICE,(0,a.mix)(O,a.EmitterMixin),t.default=O},2366:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t){super(),this.id=e,this.sessionType=t}toJSON(){return{id:this.id,sessionType:this.sessionType}}static fromJSON(e){return new s(e.id,e.sessionType)}}t.default=s,s.TYPE="31",s.READABLE_TYPE_NAME="getConnectedSockets",s.DESCRIPTOR_NAME="SessionsConnectMessage",s.DESCRIPTOR={fields:{id:{type:"string",id:1},sessionType:{type:"uint32",id:2}}}},2414:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n,r){super(),this.id=e,this.userId=t,this.role=n,this.permissions=r}toJSON(){var e,t,n;return{id:this.id,userId:null!==(e=this.userId)&&void 0!==e?e:void 0,role:null!==(t=this.role)&&void 0!==t?t:void 0,permissions:null!==(n=this.permissions)&&void 0!==n?n:void 0}}static fromJSON(e){return new s(e.id,e.userId,e.role,e.permissions)}}t.default=s,s.TYPE="32",s.READABLE_TYPE_NAME="connectSocket",s.DESCRIPTOR_NAME="SocketConnectMessage",s.DESCRIPTOR={fields:{id:{type:"string",id:1},userId:{type:"string",id:2},role:{type:"string",id:3},permissions:{rule:"repeated",type:"string",id:4}}}},4194:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new s(e.id)}}t.default=s,s.TYPE="33",s.READABLE_TYPE_NAME="disconnectSocket",s.DESCRIPTOR_NAME="SocketDisconnectMessage",s.DESCRIPTOR={fields:{id:{type:"string",id:1}}}},6145:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t=[]){super(),this.channel=e,this.sockets=t}toJSON(){return{channel:this.channel,sockets:this.sockets.map((e=>({user:e.userId,session:e.id,role:e.role,permissions:e.permissions})))}}static fromJSON(e){return new s(e.channel,e.sockets.map((e=>({id:e.session,userId:e.user,role:e.role,permissions:e.permissions}))))}}t.default=s,s.DESCRIPTOR_NAME="SessionsConnectResponse",s.DESCRIPTOR={fields:{channel:{type:"string",id:1},sockets:{rule:"repeated",type:"SessionsSocketDescriptor",id:2}}}},2690:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=n(2209),s=n(7026),i=r(n(7530)),a=r(n(7158)),c=r(n(6145)),u=r(n(2366)),d=r(n(2414)),l=r(n(4194)),p=r(n(3596));class h extends o.Collection{constructor(e,t){super({idProperty:"id"}),this._id=e,this._sessionType=t,this._handlers=new Map,this._eventsQueue=[],this._isRunning=!1}async connect(e){this._wsGateway=e,this.stopListening(e,"change:state");const t=new u.default(this._id,this._sessionType);let n;try{const e=await this._wsGateway._sendRequest(s._SERVICE,u.default.TYPE,p.default.encode(t));n=p.default.decode(e,c.default)}catch(e){n=new c.default(this._id,[])}this._connectToChannel(this._wsGateway,n.channel,this._sessionType);const r=await async function(e,t){const n=t.map((e=>e.userId)),r=n.length?await i.default.getMany(e,n):[];return t.map((e=>{const t={id:e.id,role:e.role,permissions:e.permissions};return t.user=e.userId&&r.find((t=>t.id===e.userId))||new i.default,t}))}(this._wsGateway,n.sockets);for(const e of r)super.add(e);this._connected=!0,this.fire("connected"),this.listenTo(this._wsGateway,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:a.default._CHANGE_STATE_EVENT_PRIORITY}),await this._runQueue()}disconnect(e=!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&&e&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this.fire("disconnected"),e&&this.stopListening()}}add(e,t){throw new TypeError("The collection is read-only.")}remove(e){throw new TypeError("The collection is read-only.")}_connectToChannel(e,t,n){this._channel=e._getChannel(n,t),this._channel&&(this._addHandler(this._channel,d.default.TYPE,(async t=>{const n=p.default.decode(t,d.default);if(-1===this.getIndex(n.id)){const t={id:n.id,role:n.role,permissions:n.permissions};n.userId&&(t.user=await i.default.get(e,n.userId)),super.add(t)}})),this._addHandler(this._channel,l.default.TYPE,(e=>{const t=p.default.decode(e,l.default);-1!==this.getIndex(t.id)&&super.remove(t.id)})))}async _onWsGatewayStateChange(e){e===a.default.STATE_DISCONNECTED&&this.disconnect(!1),e===a.default.STATE_CONNECTED&&await this.connect(this._wsGateway)}async _runQueue(){if(this._isRunning||!this._connected)return;let e;for(this._isRunning=!0;e=this._eventsQueue.shift();){const t=this._handlers.get(e.eventName);t&&await t(e.data)}this._isRunning=!1}_addHandler(e,t,n){const r=e.getEventName(t,!0);this.listenTo(e,r,(async(e,t)=>{const n=e.name;this._eventsQueue.push({eventName:n,data:t}),await this._runQueue()})),this._handlers.set(r,n)}}t.default=h},7026:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._SERVICE=void 0;const o=r(n(2690));t._SERVICE=3,t.default=class{static async getConnectedSessions(e,t,n){const r=new o.default(t,n);return await r.connect(e),r}}},1706:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(5945));class s extends o.default{static toJSON(e){var t;return{...e,data:e.data?JSON.stringify(e.data):e.data,attributes:e.attributes?JSON.stringify(e.attributes):e.attributes,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString()}}static fromJSON(e){return{...e,data:e.data?JSON.parse(e.data):e.data,attributes:e.attributes?JSON.parse(e.attributes):e.attributes,createdAt:e.createdAt?new Date(e.createdAt):void 0}}}t.default=s,s.DESCRIPTOR_NAME="SuggestionDescriptor",s.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"}}}},597:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n,r={},o=null,s=null){super(),this.id=e,this.documentId=t,this.type=n,this.data=r,this.originalSuggestionId=o,this.attributes=s}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(e){var t;return new s(e.id,e.documentId,e.type,JSON.parse(e.data),null!==(t=e.originalSuggestionId)&&void 0!==t?t:null,e.attributes?JSON.parse(e.attributes):null)}}t.default=s,s.TYPE="101",s.READABLE_TYPE_NAME="addSuggestion",s.DESCRIPTOR_NAME="TrackChangesAddSuggestionMessage",s.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}}}},3268:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n){super(),this.ids=e,this.documentId=t,this.state=n}toJSON(){return{ids:this.ids,documentId:this.documentId,state:this.state}}static fromJSON(e){return new s(e.ids,e.documentId,e.state)}}t.default=s,s.TYPE="106",s.READABLE_TYPE_NAME="batchUpdateSuggestionsState",s.DESCRIPTOR_NAME="TrackChangesBatchUpdateSuggestionsStateMessage",s.DESCRIPTOR={fields:{ids:{type:"string",rule:"repeated",id:1},documentId:{type:"string",id:2},state:{type:"string",id:3}}}},144:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new s(e.documentId)}}t.default=s,s.TYPE="105",s.READABLE_TYPE_NAME="connectToSuggestions",s.DESCRIPTOR_NAME="TrackChangesConnectMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},2679:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new s(e.documentId)}}t.default=s,s.TYPE="102",s.READABLE_TYPE_NAME="getAllSuggestions",s.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},1659:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t){super(),this.id=e,this.documentId=t}toJSON(){return{id:this.id,documentId:this.documentId}}static fromJSON(e){return new s(e.id,e.documentId)}}t.default=s,s.TYPE="103",s.READABLE_TYPE_NAME="getSuggestion",s.DESCRIPTOR_NAME="TrackChangesGetSuggestionMessage",s.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2}}}},598:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n,r,o,s=null){super(),this.id=e,this.documentId=t,this.hasComments=n,this.isHasCommentsModified=r,this.state=o,this.attributes=s}toJSON(){return{id:this.id,documentId:this.documentId,hasComments:this.hasComments,isHasCommentsModified:this.isHasCommentsModified,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new s(e.id,e.documentId,e.hasComments,e.isHasCommentsModified,e.state,e.attributes?JSON.parse(e.attributes):null)}}t.default=s,s.TYPE="104",s.READABLE_TYPE_NAME="updateSuggestion",s.DESCRIPTOR_NAME="TrackChangesUpdateSuggestionMessage",s.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}}}},3111:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n,r,o,s,i={},a=null){super(),this.id=e,this.authorId=t,this.type=n,this.hasComments=o,this.state=s,this.data=i,this.attributes=a,this.createdAt=r?new Date(r):void 0}toJSON(){var e;return{id:this.id,authorId:this.authorId,type:this.type,createdAt:null===(e=this.createdAt)||void 0===e?void 0:e.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new s(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}t.default=s,s.DESCRIPTOR_NAME="TrackChangesAddSuggestionResponse",s.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}}}},701:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(1706));class i extends o.default{constructor(e,t,n){super(),this.channel=e,this._suggestions=t,this._suggestionsV2=n,this.suggestions=(null==n?void 0:n.length)?n:t}toJSON(){var e,t;return{channel:this.channel,suggestions:null===(e=this._suggestions)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),suggestionsV2:null===(t=this._suggestionsV2)||void 0===t?void 0:t.map(s.default.toJSON)}}static fromJSON(e){var t,n;return new i(e.channel,null===(t=e.suggestions)||void 0===t?void 0:t.map((e=>JSON.parse(e))),null===(n=e.suggestionsV2)||void 0===n?void 0:n.map(s.default.fromJSON))}}t.default=i,i.DESCRIPTOR_NAME="TrackChangesConnectResponse",i.DESCRIPTOR={fields:{channel:{type:"string",id:1},suggestions:{type:"string",rule:"repeated",id:2},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:3}}}},3390:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545)),s=r(n(1706));class i extends o.default{constructor(e,t){super(),this._suggestions=e,this._suggestionsV2=t,this.suggestions=(null==t?void 0:t.length)?t:e}toJSON(){var e,t;return{suggestions:null===(e=this._suggestions)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),suggestionsV2:null===(t=this._suggestionsV2)||void 0===t?void 0:t.map(s.default.toJSON)}}static fromJSON(e){var t,n;return new i(null===(t=e.suggestions)||void 0===t?void 0:t.map(a),null===(n=e.suggestionsV2)||void 0===n?void 0:n.map(s.default.fromJSON))}}function a(e){const t=JSON.parse(e);return t.createdAt=t.createdAt?new Date(t.createdAt):void 0,t}t.default=i,i.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionsResponse",i.DESCRIPTOR={fields:{suggestions:{type:"string",rule:"repeated",id:1},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:2}}}},5930:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n,r,o,s,i={},a=null){super(),this.id=e,this.authorId=t,this.type=n,this.hasComments=o,this.state=s,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(e){return new s(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}t.default=s,s.DESCRIPTOR_NAME="TrackChangesGetSuggestionResponse",s.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}}}},125:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._SERVICE=void 0;const a=n(2209),c=i(n(3596)),u=i(n(597)),d=i(n(3111)),l=i(n(1659)),p=i(n(5930)),h=i(n(2679)),f=i(n(3390)),m=i(n(598)),y=i(n(144)),g=i(n(701)),b=i(n(357)),O=s(n(7158)),v=i(n(6314)),w=i(n(8801)),x=i(n(3268));t._SERVICE=10;class _{constructor(e){this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==O.WEB_SOCKET_GATEWAY_STATES.CONNECTED)throw new b.default("WebSocket Gateway is not connected.",e);const n=new y.default(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const r=await e._sendRequest(t._SERVICE,y.default.TYPE,c.default.encode(n)),o=c.default.decode(r,g.default);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:O.default._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,o.channel),this._isConnected=!0,this.fire("connected"),o.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(e,t,n,r=null,o){const s=new u.default(e,this._documentId,t,n,r,o),i=await this._sendRequest(u.default.TYPE,s);return c.default.decode(i,d.default)}async get(e,t=1){const n=new l.default(e,this._documentId);try{const e=await this._sendRequest(l.default.TYPE,n);return c.default.decode(e,p.default)}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&t<5)return await(r=100*t,new Promise((e=>{setTimeout(e,r)}))),this.get(e,t+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw w.default.fromPublicError(n)}var r}async getAll(){const e=new h.default(this._documentId),t=await this._sendRequest(h.default.TYPE,e),{suggestions:n}=c.default.decode(t,f.default);return n}async update(e,t={}){const{hasComments:n,state:r,attributes:o}=t,s=void 0!==n,i=new m.default(e,this._documentId,n,s,r,o);await this._sendRequest(m.default.TYPE,i)}async batchUpdateState(e){const t=new x.default(e.ids,this._documentId,e.state);await this._sendRequest(x.default.TYPE,t)}_connectToChannel(e,t){this._channel=e._getChannel(_._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(m.default.TYPE),((e,t)=>{const n=c.default.decode(t,m.default);this.fire("suggestionUpdated",n)}))}_onWsGatewayStateChange(e){e===O.WEB_SOCKET_GATEWAY_STATES.DISCONNECTED&&this.disconnect()}_sendRequest(e,n){if(!this._wsGateway||!this._isConnected)throw new v.default("Track Changes",this);return this._wsGateway._sendRequest(t._SERVICE,e,c.default.encode(n))}}_._SERVICE=t._SERVICE,(0,a.mix)(_,a.EmitterMixin),t.default=_},7204:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.ids=e}toJSON(){return{ids:this.ids}}static fromJSON(e){return new s(e.ids)}}t.default=s,s.TYPE="22",s.READABLE_TYPE_NAME="getManyUsers",s.DESCRIPTOR_NAME="GetManyUsersMessage",s.DESCRIPTOR={fields:{ids:{id:1,type:"string",rule:"repeated"}}}},1779:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new s(e.id)}}t.default=s,s.TYPE="21",s.READABLE_TYPE_NAME="getUser",s.DESCRIPTOR_NAME="GetUserMessage",s.DESCRIPTOR={fields:{id:{type:"string",id:1}}}},624:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.users=e}toJSON(){return{users:this.users.map(i)}}static fromJSON(e){return new s(e.users.map(a))}}function i(e){return{attributes:Object.keys(e).map((t=>({key:t,value:JSON.stringify(e[t])})))}}function a(e){return e.attributes.reduce(((e,t)=>(e[t.key]=t.value?JSON.parse(t.value):null,e)),{})}t.default=s,s.DESCRIPTOR_NAME="GetManyUsersResponse",s.DESCRIPTOR={fields:{users:{rule:"repeated",type:"UserDescriptor",id:1}}}},2184:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e){super(),this.attributes=e}toJSON(){return{attributes:Object.keys(this.attributes).map((e=>({key:e,value:JSON.stringify(this.attributes[e])})))}}static fromJSON(e){const t=e.attributes.reduce(((e,t)=>(e[t.key]=t.value?JSON.parse(t.value):null,e)),{});return new s(t)}}t.default=s,s.DESCRIPTOR_NAME="GetUserResponse",s.DESCRIPTOR={fields:{attributes:{rule:"repeated",type:"KeyValueDescriptor",id:1}}}},7530:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(1779)),s=r(n(2184)),i=r(n(3596)),a=r(n(7204)),c=r(n(624));class u{constructor(e={}){this._attributes=new Map;for(const t of Object.keys(e))"id"!==t?(this._attributes.set(t,e[t]),Object.defineProperty(this,t,{enumerable:!0,configurable:!1,get:()=>this._attributes.get(t)})):this.id=e.id}static fromData(e){return new u(e)}static async get(e,t){const n=new o.default(t);try{const t=await e._sendRequest(u._SERVICE,o.default.TYPE,i.default.encode(n)),r=i.default.decode(t,s.default);return new u(r.attributes)}catch(e){return new u({id:t})}}static async getMany(e,t){const n=new a.default(t);try{const t=await e._sendRequest(u._SERVICE,a.default.TYPE,i.default.encode(n));return i.default.decode(t,c.default).users.map((e=>new u(e)))}catch(e){return t.map((e=>new u({id:e})))}}}u._SERVICE=2,t.default=u},6754:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="43.0.0"},1573:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=n(2209),s=r(n(3554)),i=r(n(3596));class a{constructor(e,t,n){this._channelName=e,this._wsGateway=t,this._socket=n,this._subscribeToChannel()}remove(){this._socket.off(this._channelName)}getEventName(e,t=!1){let n="";return t&&(n+="all:"),n+="event",e&&(n+=":"+e),n}_subscribeToChannel(){this._socket.on(this._channelName,(e=>{const t=i.default.decode(e,s.default);this.fire(this.getEventName(t.type,!0),t.data,t.socketId),t.socketId!==this._wsGateway.socketId&&this.fire(this.getEventName(t.type),t.data,t.socketId)}))}}(0,o.mix)(a,o.EmitterMixin),t.default=a},3554:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t,n){super(),this.type=e,this.socketId=t,this.data=n}toJSON(){return{type:this.type,socketId:this.socketId,data:this.data}}static fromJSON(e){return new s(e.type,e.socketId,e.data)}}t.default=s,s.DESCRIPTOR_NAME="ChannelMessage",s.DESCRIPTOR={fields:{type:{type:"uint32",id:1},socketId:{type:"string",id:2},data:{type:"bytes",id:3}}}},8735:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(4990)),s=r(n(3596));t.default=class{encode(e,t,n,r="/",i={}){if(t.length>2)throw new Error("PacketParser supports only 2 elements in data");const a={type:e,data:t,id:n,nsp:r};return s.default.encode(o.default.create(a,i))}decode(e){const t=s.default.decode(e,o.default);return{packet:{id:t.id,type:t.type,data:t.packetData,nsp:t.nsp},options:{flags:t.options.flags,rooms:t.options.rooms,except:t.options.except}}}}},2854:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(799)),c=s(n(817));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.BUFFER,c.MessageDataTypes.BUFFER),u.DESCRIPTOR_NAME="BytesBytesPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"bytes",id:1},data1:{type:"bytes",id:2}}}},4253:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(799)),c=s(n(817));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.NUMBER,c.MessageDataTypes.BUFFER),u.DESCRIPTOR_NAME="NumberBytesPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"bytes",id:2}}}},1433:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(799)),c=s(n(817));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.NUMBER,c.MessageDataTypes.NUMBER),u.DESCRIPTOR_NAME="NumberNumberPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"uint32",id:2}}}},2272:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(799)),c=s(n(817));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new u(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.NUMBER,c.MessageDataTypes.OBJECT),u.DESCRIPTOR_NAME="NumberObjectPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}}},1692:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(799)),c=s(n(817));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.NUMBER,c.MessageDataTypes.STRING),u.DESCRIPTOR_NAME="NumberStringPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}}},7239:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(799)),c=s(n(817));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1}}static fromJSON(e){return new u(e.data&&JSON.parse(e.data),e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.OBJECT,c.MessageDataTypes.BUFFER),u.DESCRIPTOR_NAME="ObjectBufferPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}}},9075:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(799)),c=s(n(817));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new u(e.data&&JSON.parse(e.data),e.data1&&JSON.parse(e.data1))}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.OBJECT,c.MessageDataTypes.OBJECT),u.DESCRIPTOR_NAME="ObjectObjectPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}}},799:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{static create(e,t){throw new TypeError("Must be implemented in a child class!")}}t.default=s,e.exports=s},4990:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3596)),s=r(n(3545)),i=r(n(338)),a=r(n(817)),c=r(n(4253)),u=r(n(6335)),d=r(n(2854)),l=r(n(9769)),p=r(n(2272)),h=r(n(9075)),f=r(n(7239)),m=r(n(1797)),y=r(n(1694)),g=r(n(1433)),b=r(n(1692)),O=[c.default,u.default,d.default,l.default,p.default,h.default,f.default,m.default,y.default,g.default,b.default].reduce(((e,t)=>(e[t.TYPE]=t,e)),{});class v extends s.default{constructor(e,t,n,r="/",o=new i.default){super(),this.type=e,this.data=t,this.id=n,this.nsp=r,this.options=o}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 e=o.default.encode(this.options),t=o.default.encode(this.data);return{type:this.type+10*this.data.constructor.TYPE,id:this.id,nsp:"/"===this.nsp?void 0:this.nsp,data:t,options:e}}static fromJSON(e){const t=Math.floor(e.type/10);return new v(e.type-10*t,o.default.decode(e.data,O[t]),e.id,e.nsp,e.options?o.default.decode(e.options,i.default):new i.default)}static create(e,t={}){var n;const r=a.default.getPacketType(a.default.getType(e.data[0]),a.default.getType(null!==(n=e.data[1])&&void 0!==n?n:e.data[0]));return new v(e.type,O[r].create(e.data[0],e.data[1]),e.id,e.nsp,new i.default(t.flags,t.rooms,t.except))}}t.default=v,v.TYPE=10,v.DESCRIPTOR_NAME="PacketMessage",v.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}}}},338:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3545));class s extends o.default{constructor(e,t=[],n=[]){super(),this.flags=e,this.rooms=t,this.except=n}toJSON(){var e,t;return{flags:this.flags?JSON.stringify(this.flags):void 0,rooms:(null===(e=this.rooms)||void 0===e?void 0:e.length)?this.rooms:void 0,except:(null===(t=this.except)||void 0===t?void 0:t.length)?this.except:void 0}}static fromJSON(e){return new s(e.flags&&JSON.parse(e.flags),e.rooms,e.except)}}t.default=s,s.TYPE=11,s.DESCRIPTOR_NAME="PacketOptionsMessage",s.DESCRIPTOR={fields:{flags:{type:"string",id:1},rooms:{type:"string",id:2,rule:"repeated"},except:{type:"string",id:3,rule:"repeated"}}}},6335:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(799)),c=s(n(817));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.STRING,c.MessageDataTypes.BUFFER),u.DESCRIPTOR_NAME="StringBytesPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}}},1694:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(799)),c=s(n(817));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.STRING,c.MessageDataTypes.NUMBER),u.DESCRIPTOR_NAME="StringNumberPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"uint32",id:2}}}},9769:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(799)),c=s(n(817));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new u(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.STRING,c.MessageDataTypes.OBJECT),u.DESCRIPTOR_NAME="StringObjectPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}}},1797:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(799)),c=s(n(817));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.STRING,c.MessageDataTypes.STRING),u.DESCRIPTOR_NAME="StringStringPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}}},2069:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Decoder=t.Encoder=t.ENCODED_TYPES=void 0;const o=n(9881),s=r(n(8735)),i=r(n(817));t.ENCODED_TYPES=[o.PacketType.EVENT,o.PacketType.ACK,o.PacketType.BINARY_ACK,o.PacketType.BINARY_EVENT];class a extends o.Encoder{constructor(e=new s.default){super(),this._packetParser=e}encode(e){if(t.ENCODED_TYPES.includes(e.type))try{return[this._packetParser.encode(e.type,e.data,e.id,e.nsp)]}catch(e){console.error("Can not properly serialize or deserialize messages. Check the original error.",{originalError:{message:e.message}})}return super.encode(e)}}t.Encoder=a;class c extends o.Decoder{constructor(e=new s.default){super(),this._packetParser=e}add(e){if(!i.default.isBuffer(e))return super.add(e);let t;try{t=this._packetParser.decode(e).packet}catch(t){return super.add(e)}super.emitReserved("decoded",t)}}t.Decoder=c},817:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MessageDataTypes=void 0;const n=!("undefined"==typeof process||!process.versions||!process.versions.node);var r,o;(o=r=t.MessageDataTypes||(t.MessageDataTypes={}))[o.BUFFER=1]="BUFFER",o[o.STRING=2]="STRING",o[o.NUMBER=3]="NUMBER",o[o.OBJECT=4]="OBJECT";class s{static getPacketType(...e){let t=0;for(let n=0;n<e.length;n++)t+=e[n]*Math.pow(10,e.length-n-1);return t}static getType(e){if(s.isBuffer(e))return r.BUFFER;const t=typeof e;return"string"===t?r.STRING:"number"===t?r.NUMBER:r.OBJECT}static isBuffer(e){return n&&Buffer.isBuffer(e)||e instanceof ArrayBuffer||e instanceof Uint8Array||this._isBufferView(e)}static _isBufferView(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer}}t.default=s},1113:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(357));class s{constructor(e,t){this._context=e,this._deferredPromise=function(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return{resolve:e,reject:t,promise:n}}(),this.timeout=setTimeout((()=>this.error(new o.default("Request timeout.",this._context))),t)}get promise(){return this._deferredPromise.promise}response(e){this._deferredPromise.resolve(e)}error(e){this._deferredPromise.reject(e)}}t.default=class{constructor(e){this._context=e,this._requests=new Set}async send(e,t=45e3){const n=this._createRequest(t);try{return e(n),await n.promise}finally{this._finishRequest(n)}}errorAll(e){for(const t of this._requests)t.error(e)}waitForAllRequests(e=45e3){return this._waitForRequests(e)}_createRequest(e){const t=new s(this._context,e);return this._requests.add(t),t}_finishRequest(e){this._requests.delete(e),clearTimeout(e.timeout)}async _waitForRequests(e=5e3,t=0){return!this._requests.size||t>=e/500?Promise.resolve():(await new Promise((e=>{setTimeout(e,500)})),this._waitForRequests(e,t++))}}},7158:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WEB_SOCKET_GATEWAY_STATES=void 0;const o=n(8623),s=r(n(9655)),i=n(2209),a=r(n(1573)),c=r(n(7530)),u=r(n(6754)),d=r(n(357)),l=r(n(8801)),p=n(2069),h=r(n(1113));var f,m;(m=f=t.WEB_SOCKET_GATEWAY_STATES||(t.WEB_SOCKET_GATEWAY_STATES={})).DISCONNECTED="disconnected",m.CONNECTING="connecting",m.CONNECTED="connected";class y{constructor(e,t,n={},r=o.io,i=c.default.get){if(this._token=t,this._options=n,this._connectionProvider=r,this._userFactory=i,this._requestsManager=new h.default(this),this._channels=new Map,this._connectionAttempt=0,!e)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=(0,s.default)(e.replace(/^(?!(?:\w+:)?\/\/)/,"https://")),this.set("state","disconnected"),this.set("socketId",void 0),this.set("me",void 0),this.on("change:state",(async(e,t,n)=>{var r;if(this._debugEvent("ws-gw:change:state",n),n!==y.STATE_CONNECTED){if(n===y.STATE_DISCONNECTED)return this._requestsManager.errorAll(new d.default("Not connected.",this))}else try{this.me=await this._userFactory.call(c.default,this,null===(r=this._socketAuth)||void 0===r?void 0:r.userId)}catch(e){}}),{priority:y._CHANGE_STATE_EVENT_PRIORITY}),this.on("error",((e,t)=>{this._options.onError?this._options.onError(t):console.error(t)}))}get sessionId(){return this.socketId}waitForAllRequests(e){return this._requestsManager.waitForAllRequests(e)}disconnect(){var e;this.state!==f.DISCONNECTED&&(null===(e=this._socket)||void 0===e||e.disconnect(),this._socket=void 0,this.state=f.DISCONNECTED)}async reconnect(){this._socket||this.state!==f.DISCONNECTED||(await this._token.refreshToken(),await this._connect())}static async connect(e,t="local.cs.dev:443/ws-v2",n={},r=o.io,s=c.default.get){const i=new y(t,e,n,r,s);return await i._connect(),i}_sendRequest(e,t,n){if(!e)throw new d.default("`serviceName` must be provided.",this);if(this.state!==y.STATE_CONNECTED)throw new d.default("Not connected.",this);if(!this._socketAuth||!this._socketAuth.isAuthenticated)throw new d.default("Not authenticated.",this);const r=new ArrayBuffer(n.length+2),o=new Uint8Array(r);return o[0]=e,o[1]=parseInt(t),o.set(n,2),this._emit(1,o)}_getChannel(e,t){const n=""+e+t;return!this._channels.has(n)&&this._socket&&this._channels.set(n,new a.default(n,this,this._socket)),this._channels.get(n)}_connect(){return new Promise(((e,t)=>{const n=this._setupSocket();!this.socketId&&n.io.on("reconnect_error",(()=>{this._debugEvent("reconnect_error"),this._reconnectionAttemptError(t)})),n.once("connect",(async()=>{this._debugEvent("once-connect");try{await this._onConnect(),e()}catch(e){t(e)}})),n.connect()}))}_getPortByProtocol(e){return["http:","ws:"].includes(e)?80:443}_setupSocket(){var e;if(this._socket)return this._socket;const t=this._url.port||this._getPortByProtocol(this._url.protocol),n=(this._url.protocol||"https:")+"//"+this._url.hostname+":"+t,r=this._url.pathname.match(/^\/.*\/ws/)?this._url.pathname.split("/ws")[0]:"",o=this._connectionProvider(n,{parser:{Encoder:p.Encoder,Decoder:p.Decoder},path:r+"/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:u.default},agent:null!==(e=this._options.agent)&&void 0!==e&&e,closeOnBeforeunload:!1});return this.state=f.CONNECTING,o.on("connect",(()=>{this._debugEvent("connect"),this.socketId=o.id})),o.on("connect_error",(e=>{this._debugEvent("connect_error",e)})),o.on("disconnect",(()=>{this._debugEvent("disconnect"),this._onDisconnect()})),o.io.on("reconnect",(async()=>{this._debugEvent("reconnect"),await this._onReconnect()})),o.io.on("reconnect_attempt",(e=>{this._debugEvent("reconnect_attempt",e),this.state=f.CONNECTING,this._connectionAttempt=e})),o.on("unauthorized",(e=>{this._debugEvent("unauthorized"),this._onUnauthorized(e)})),o.on("authenticationRequest",(async e=>{this._debugEvent("authenticationRequest",e.attempt),await this._onReconnect()})),this._socket=o,o}_emit(e,t){const n=this._socket;return this._requestsManager.send((r=>{n.emit(e,t,((e,t)=>{if(e)return r.error(l.default.fromPublicError(e));r.response(t)}))}),this._options.requestTimeout)}_addAuthData(e,t){this._socketAuth={environmentId:e,userId:t,isAuthenticated:!0}}_removeAuthData(){this._socketAuth=void 0}async _onConnect(){await this._authenticate(this._token.value),this.state=f.CONNECTED;const e=async(e,t,n)=>{this._debugEvent("token:value:change");try{await this._authenticate(n)}catch(e){}};this._token.on("change:value",e),this._socket.io.off("reconnect_error"),this.on("disconnect",(()=>{this._token.off("change:value",e)}))}async _onReconnect(){await this._token.refreshToken(),await this._onConnect()}_onDisconnect(){this.state=f.DISCONNECTED,this._connectionAttempt=0,this.fire("disconnect");for(const e of this._channels.values())e.remove();this._channels.clear(),void 0===this._options.autoReconnect||this._options.autoReconnect||(this._socket=void 0)}_debugEvent(e,t){if(!this._isDebugModeEnabled())return;const n=void 0!==t?", data: "+t:"";console.info((new Date).toLocaleString()+" "+e+n)}_reconnectionAttemptError(e){this._connectionAttempt>=2&&(this.disconnect(),e(d.default.fromPublicError({message:"The number of initial connection attempts exceeded.",explanation:"Three initial connection attempts failed. It can be caused by a 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:e}){this._removeAuthData(),this.fire("error",l.default.fromPublicError(e))}async _authenticate(e){try{this._debugEvent("authenticate:start");const t=await this._emit(2,{token:e});this._debugEvent("authenticate:success","envId: "+t.environmentId+", userId: "+t.userId),this._addAuthData(t.environmentId,t.userId)}catch(e){throw this._debugEvent("authenticate:error",e.message),this._removeAuthData(),e}}_isDebugModeEnabled(){var e;return!!i.global.window.localStorage&&"true"===(null!==(e=i.global.window.localStorage.getItem("csClientDebugMode"))&&void 0!==e?e:"false").toLowerCase()}}y.STATE_DISCONNECTED=f.DISCONNECTED,y.STATE_CONNECTING=f.CONNECTING,y.STATE_CONNECTED=f.CONNECTED,y._CHANGE_STATE_EVENT_PRIORITY=i.priorities.get("highest")+999999,(0,i.mix)(y,i.ObservableMixin),t.default=y},1993:(e,t,n)=>{"use strict";e.exports=n(7484)},7484:(e,t,n)=>{"use strict";var r=t;function o(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=n(5394),r.BufferWriter=n(6743),r.Reader=n(9967),r.BufferReader=n(6609),r.util=n(1439),r.rpc=n(5698),r.roots=n(2083),r.configure=o,o()},9967:(e,t,n)=>{"use strict";e.exports=c;var r,o=n(1439),s=o.LongBits,i=o.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var u,d="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},l=function(){return o.Buffer?function(e){return(c.create=function(e){return o.Buffer.isBuffer(e)?new r(e):d(e)})(e)}:d};function p(){var e=new s(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function h(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new s(h(this.buf,this.pos+=4),h(this.buf,this.pos+=4))}c.create=l(),c.prototype._slice=o.Array.prototype.subarray||o.Array.prototype.slice,c.prototype.uint32=(u=4294967295,function(){if(u=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return u;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return u}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return h(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|h(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=o.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=o.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw a(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,n):t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)},c.prototype.string=function(){var e=this.bytes();return i.read(e,0,e.length)},c.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){r=e,c.create=l(),r._configure();var t=o.Long?"toLong":"toNumber";o.merge(c.prototype,{int64:function(){return p.call(this)[t](!1)},uint64:function(){return p.call(this)[t](!0)},sint64:function(){return p.call(this).zzDecode()[t](!1)},fixed64:function(){return f.call(this)[t](!0)},sfixed64:function(){return f.call(this)[t](!1)}})}},6609:(e,t,n)=>{"use strict";e.exports=s;var r=n(9967);(s.prototype=Object.create(r.prototype)).constructor=s;var o=n(1439);function s(e){r.call(this,e)}s._configure=function(){o.Buffer&&(s.prototype._slice=o.Buffer.prototype.slice)},s.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},s._configure()},2083:e=>{"use strict";e.exports={}},5698:(e,t,n)=>{"use strict";t.Service=n(1754)},1754:(e,t,n)=>{"use strict";e.exports=o;var r=n(1439);function o(e,t,n){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");r.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}(o.prototype=Object.create(r.EventEmitter.prototype)).constructor=o,o.prototype.rpcCall=function e(t,n,o,s,i){if(!s)throw TypeError("request must be specified");var a=this;if(!i)return r.asPromise(e,a,t,n,o,s);if(a.rpcImpl)try{return a.rpcImpl(t,n[a.requestDelimited?"encodeDelimited":"encode"](s).finish(),(function(e,n){if(e)return a.emit("error",e,t),i(e);if(null!==n){if(!(n instanceof o))try{n=o[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(e){return a.emit("error",e,t),i(e)}return a.emit("data",n,t),i(null,n)}a.end(!0)}))}catch(e){return a.emit("error",e,t),void setTimeout((function(){i(e)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},o.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},5015:(e,t,n)=>{"use strict";e.exports=o;var r=n(1439);function o(e,t){this.lo=e>>>0,this.hi=t>>>0}var s=o.zero=new o(0,0);s.toNumber=function(){return 0},s.zzEncode=s.zzDecode=function(){return this},s.length=function(){return 1};var i=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(e){if(0===e)return s;var t=e<0;t&&(e=-e);var n=e>>>0,r=(e-n)/4294967296>>>0;return t&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new o(n,r)},o.from=function(e){if("number"==typeof e)return o.fromNumber(e);if(r.isString(e)){if(!r.Long)return o.fromNumber(parseInt(e,10));e=r.Long.fromString(e)}return e.low||e.high?new o(e.low>>>0,e.high>>>0):s},o.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},o.prototype.toLong=function(e){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;o.fromHash=function(e){return e===i?s:new o((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},o.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)},o.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},o.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},o.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}},1439:function(e,t,n){"use strict";var r=t;function o(e,t,n){for(var r=Object.keys(t),o=0;o<r.length;++o)void 0!==e[r[o]]&&n||(e[r[o]]=t[r[o]]);return e}function s(e){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&o(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}r.asPromise=n(537),r.base64=n(9745),r.EventEmitter=n(4459),r.float=n(897),r.inquire=n(3229),r.utf8=n(113),r.pool=n(7986),r.LongBits=n(5015),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(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},r.isString=function(e){return"string"==typeof e||e instanceof String},r.isObject=function(e){return e&&"object"==typeof e},r.isset=r.isSet=function(e,t){var n=e[t];return!(null==n||!e.hasOwnProperty(t))&&("object"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},r.Buffer=function(){try{var e=r.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(e){return"number"==typeof e?r.Buffer?r._Buffer_allocUnsafe(e):new r.Array(e):r.Buffer?r._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||r.inquire("long"),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(e){return e?r.LongBits.from(e).toHash():r.LongBits.zeroHash},r.longFromHash=function(e,t){var n=r.LongBits.fromHash(e);return r.Long?r.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},r.merge=o,r.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},r.newError=s,r.ProtocolError=s("ProtocolError"),r.oneOfGetter=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=1;return function(){for(var e=Object.keys(this),n=e.length-1;n>-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},r.oneOfSetter=function(e){return function(t){for(var n=0;n<e.length;++n)e[n]!==t&&delete this[e[n]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var e=r.Buffer;e?(r._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,n){return new e(t,n)},r._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},5394:(e,t,n)=>{"use strict";e.exports=l;var r,o=n(1439),s=o.LongBits,i=o.base64,a=o.utf8;function c(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function u(){}function d(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function l(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var p=function(){return o.Buffer?function(){return(l.create=function(){return new r})()}:function(){return new l}};function h(e,t,n){t[n]=255&e}function f(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function y(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}l.create=p(),l.alloc=function(e){return new o.Array(e)},o.Array!==Array&&(l.alloc=o.pool(l.alloc,o.Array.prototype.subarray)),l.prototype._push=function(e,t,n){return this.tail=this.tail.next=new c(e,t,n),this.len+=t,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e},l.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new f((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},l.prototype.int32=function(e){return e<0?this._push(m,10,s.fromNumber(e)):this.uint32(e)},l.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},l.prototype.uint64=function(e){var t=s.from(e);return this._push(m,t.length(),t)},l.prototype.int64=l.prototype.uint64,l.prototype.sint64=function(e){var t=s.from(e).zzEncode();return this._push(m,t.length(),t)},l.prototype.bool=function(e){return this._push(h,1,e?1:0)},l.prototype.fixed32=function(e){return this._push(y,4,e>>>0)},l.prototype.sfixed32=l.prototype.fixed32,l.prototype.fixed64=function(e){var t=s.from(e);return this._push(y,4,t.lo)._push(y,4,t.hi)},l.prototype.sfixed64=l.prototype.fixed64,l.prototype.float=function(e){return this._push(o.float.writeFloatLE,4,e)},l.prototype.double=function(e){return this._push(o.float.writeDoubleLE,8,e)};var g=o.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var r=0;r<e.length;++r)t[n+r]=e[r]};l.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(h,1,0);if(o.isString(e)){var n=l.alloc(t=i.length(e));i.decode(e,n,0),e=n}return this.uint32(t)._push(g,t,e)},l.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(h,1,0)},l.prototype.fork=function(){return this.states=new d(this),this.head=this.tail=new c(u,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(u,0,0),this.len=0),this},l.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},l.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},l._configure=function(e){r=e,l.create=p(),r._configure()}},6743:(e,t,n)=>{"use strict";e.exports=s;var r=n(5394);(s.prototype=Object.create(r.prototype)).constructor=s;var o=n(1439);function s(){r.call(this)}function i(e,t,n){e.length<40?o.utf8.write(e,t,n):t.utf8Write?t.utf8Write(e,n):t.write(e,n)}s._configure=function(){s.alloc=o._Buffer_allocUnsafe,s.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&"set"===o.Buffer.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var r=0;r<e.length;)t[n++]=e[r++]}},s.prototype.bytes=function(e){o.isString(e)&&(e=o._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(s.writeBytesBuffer,t,e),this},s.prototype.string=function(e){var t=o.Buffer.byteLength(e);return this.uint32(t),t&&this._push(i,t,e),this},s._configure()},537:e=>{"use strict";e.exports=function(e,t){var n=new Array(arguments.length-1),r=0,o=2,s=!0;for(;o<arguments.length;)n[r++]=arguments[o++];return new Promise((function(o,i){n[r]=function(e){if(s)if(s=!1,e)i(e);else{for(var t=new Array(arguments.length-1),n=0;n<t.length;)t[n++]=arguments[n];o.apply(null,t)}};try{e.apply(t||null,n)}catch(e){s&&(s=!1,i(e))}}))}},9745:(e,t)=>{"use strict";var n=t;n.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&"="===e.charAt(t);)++n;return Math.ceil(3*e.length)/4-n};for(var r=new Array(64),o=new Array(123),s=0;s<64;)o[r[s]=s<26?s+65:s<52?s+71:s<62?s-4:s-59|43]=s++;n.encode=function(e,t,n){for(var o,s=null,i=[],a=0,c=0;t<n;){var u=e[t++];switch(c){case 0:i[a++]=r[u>>2],o=(3&u)<<4,c=1;break;case 1:i[a++]=r[o|u>>4],o=(15&u)<<2,c=2;break;case 2:i[a++]=r[o|u>>6],i[a++]=r[63&u],c=0}a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,i)),a=0)}return c&&(i[a++]=r[o],i[a++]=61,1===c&&(i[a++]=61)),s?(a&&s.push(String.fromCharCode.apply(String,i.slice(0,a))),s.join("")):String.fromCharCode.apply(String,i.slice(0,a))};var i="invalid encoding";n.decode=function(e,t,n){for(var r,s=n,a=0,c=0;c<e.length;){var u=e.charCodeAt(c++);if(61===u&&a>1)break;if(void 0===(u=o[u]))throw Error(i);switch(a){case 0:r=u,a=1;break;case 1:t[n++]=r<<2|(48&u)>>4,r=u,a=2;break;case 2:t[n++]=(15&r)<<4|(60&u)>>2,r=u,a=3;break;case 3:t[n++]=(3&r)<<6|u,a=0}}if(1===a)throw Error(i);return n-s},n.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},4459:e=>{"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:n||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var n=this._listeners[e],r=0;r<n.length;)n[r].fn===t?n.splice(r,1):++r;return this},t.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<t.length;)t[r].fn.apply(t[r++].ctx,n)}return this}},897:e=>{"use strict";function t(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),n=new Uint8Array(t.buffer),r=128===n[3];function o(e,r,o){t[0]=e,r[o]=n[0],r[o+1]=n[1],r[o+2]=n[2],r[o+3]=n[3]}function s(e,r,o){t[0]=e,r[o]=n[3],r[o+1]=n[2],r[o+2]=n[1],r[o+3]=n[0]}function i(e,r){return n[0]=e[r],n[1]=e[r+1],n[2]=e[r+2],n[3]=e[r+3],t[0]}function a(e,r){return n[3]=e[r],n[2]=e[r+1],n[1]=e[r+2],n[0]=e[r+3],t[0]}e.writeFloatLE=r?o:s,e.writeFloatBE=r?s:o,e.readFloatLE=r?i:a,e.readFloatBE=r?a:i}():function(){function t(e,t,n,r){var o=t<0?1:0;if(o&&(t=-t),0===t)e(1/t>0?0:2147483648,n,r);else if(isNaN(t))e(2143289344,n,r);else if(t>34028234663852886e22)e((o<<31|2139095040)>>>0,n,r);else if(t<11754943508222875e-54)e((o<<31|Math.round(t/1401298464324817e-60))>>>0,n,r);else{var s=Math.floor(Math.log(t)/Math.LN2);e((o<<31|s+127<<23|8388607&Math.round(t*Math.pow(2,-s)*8388608))>>>0,n,r)}}function i(e,t,n){var r=e(t,n),o=2*(r>>31)+1,s=r>>>23&255,i=8388607&r;return 255===s?i?NaN:o*(1/0):0===s?1401298464324817e-60*o*i:o*Math.pow(2,s-150)*(i+8388608)}e.writeFloatLE=t.bind(null,n),e.writeFloatBE=t.bind(null,r),e.readFloatLE=i.bind(null,o),e.readFloatBE=i.bind(null,s)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),n=new Uint8Array(t.buffer),r=128===n[7];function o(e,r,o){t[0]=e,r[o]=n[0],r[o+1]=n[1],r[o+2]=n[2],r[o+3]=n[3],r[o+4]=n[4],r[o+5]=n[5],r[o+6]=n[6],r[o+7]=n[7]}function s(e,r,o){t[0]=e,r[o]=n[7],r[o+1]=n[6],r[o+2]=n[5],r[o+3]=n[4],r[o+4]=n[3],r[o+5]=n[2],r[o+6]=n[1],r[o+7]=n[0]}function i(e,r){return n[0]=e[r],n[1]=e[r+1],n[2]=e[r+2],n[3]=e[r+3],n[4]=e[r+4],n[5]=e[r+5],n[6]=e[r+6],n[7]=e[r+7],t[0]}function a(e,r){return n[7]=e[r],n[6]=e[r+1],n[5]=e[r+2],n[4]=e[r+3],n[3]=e[r+4],n[2]=e[r+5],n[1]=e[r+6],n[0]=e[r+7],t[0]}e.writeDoubleLE=r?o:s,e.writeDoubleBE=r?s:o,e.readDoubleLE=r?i:a,e.readDoubleBE=r?a:i}():function(){function t(e,t,n,r,o,s){var i=r<0?1:0;if(i&&(r=-r),0===r)e(0,o,s+t),e(1/r>0?0:2147483648,o,s+n);else if(isNaN(r))e(0,o,s+t),e(2146959360,o,s+n);else if(r>17976931348623157e292)e(0,o,s+t),e((i<<31|2146435072)>>>0,o,s+n);else{var a;if(r<22250738585072014e-324)e((a=r/5e-324)>>>0,o,s+t),e((i<<31|a/4294967296)>>>0,o,s+n);else{var c=Math.floor(Math.log(r)/Math.LN2);1024===c&&(c=1023),e(4503599627370496*(a=r*Math.pow(2,-c))>>>0,o,s+t),e((i<<31|c+1023<<20|1048576*a&1048575)>>>0,o,s+n)}}}function i(e,t,n,r,o){var s=e(r,o+t),i=e(r,o+n),a=2*(i>>31)+1,c=i>>>20&2047,u=4294967296*(1048575&i)+s;return 2047===c?u?NaN:a*(1/0):0===c?5e-324*a*u:a*Math.pow(2,c-1075)*(u+4503599627370496)}e.writeDoubleLE=t.bind(null,n,0,4),e.writeDoubleBE=t.bind(null,r,4,0),e.readDoubleLE=i.bind(null,o,0,4),e.readDoubleBE=i.bind(null,s,4,0)}(),e}function n(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}function r(e,t,n){t[n]=e>>>24,t[n+1]=e>>>16&255,t[n+2]=e>>>8&255,t[n+3]=255&e}function o(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function s(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=t(t)},3229:module=>{"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},7986:e=>{"use strict";e.exports=function(e,t,n){var r=n||8192,o=r>>>1,s=null,i=r;return function(n){if(n<1||n>o)return e(n);i+n>r&&(s=e(r),i=0);var a=t.call(s,i,i+=n);return 7&i&&(i=1+(7|i)),a}}},113:(e,t)=>{"use strict";var n=t;n.length=function(e){for(var t=0,n=0,r=0;r<e.length;++r)(n=e.charCodeAt(r))<128?t+=1:n<2048?t+=2:55296==(64512&n)&&56320==(64512&e.charCodeAt(r+1))?(++r,t+=4):t+=3;return t},n.read=function(e,t,n){if(n-t<1)return"";for(var r,o=null,s=[],i=0;t<n;)(r=e[t++])<128?s[i++]=r:r>191&&r<224?s[i++]=(31&r)<<6|63&e[t++]:r>239&&r<365?(r=((7&r)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,s[i++]=55296+(r>>10),s[i++]=56320+(1023&r)):s[i++]=(15&r)<<12|(63&e[t++])<<6|63&e[t++],i>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o?(i&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))},n.write=function(e,t,n){for(var r,o,s=n,i=0;i<e.length;++i)(r=e.charCodeAt(i))<128?t[n++]=r:r<2048?(t[n++]=r>>6|192,t[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(o=e.charCodeAt(i+1)))?(r=65536+((1023&r)<<10)+(1023&o),++i,t[n++]=r>>18|240,t[n++]=r>>12&63|128,t[n++]=r>>6&63|128,t[n++]=63&r|128):(t[n++]=r>>12|224,t[n++]=r>>6&63|128,t[n++]=63&r|128);return n-s}},3286:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(7758),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".ck.ck-balloon-panel.ck-tooltip{pointer-events:none;z-index:calc(var(--ck-z-modal) + 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: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;justify-content:flex-end}.ck.ck-presence-list__counter{color:var(--ck-color-base-text)}.ck.ck-presence-list__counter--hidden{display:none}.ck.ck-presence-list__list-item{background:none;border:0;color:inherit;font:inherit;margin-left:var(--ck-spacing-standard);outline:none;padding:0;position:relative}.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:3px;position:relative;width:100%}.ck.ck-presence-list--collapsed .ck-presence-list__list{margin-left:var(--ck-spacing-standard);min-width:calc(var(--ck-user-avatar-size)*1.5)}.ck.ck-presence-list--collapsed .ck-presence-list__list *{cursor:pointer;transition:all .4s ease-in-out}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item{margin-left:calc(var(--ck-user-avatar-size)*-1 + 5px)}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(5){opacity:.15}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(4){opacity:.35}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(3){opacity:.55}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(2){opacity:.75}.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}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-wrapper{border-radius:var(--ck-border-radius);max-height:80vh;max-width:var(--ck-presence-list-dropdown-list-max-width);min-width:var(--ck-presence-list-dropdown-list-min-width);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:0;padding:var(--ck-spacing-standard);position:relative}.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-presence-list__balloon button.ck-presence-list__dropdown-list-item *,.ck-presence-list__list button.ck-presence-list__list-item *{cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}",""]);const s=o},9940:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(7758),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".ck .ck-user__marker{cursor:default;display:inline;position:relative}.ck .ck-user__marker:after{color:#fff;content:attr(data-name);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}.ck .ck-user__marker:hover .ck-user__marker-dot{width:0}.ck .ck-user__marker:hover:after{animation:fadeInLeft .3s ease-in-out;display:block;opacity:1}.ck .ck-user__marker-line{bottom:0;height:100%;position:absolute;width:0}.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-placeholder .ck-user__marker{display:none}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}",""]);const s=o},7758:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(r)for(var s=0;s<this.length;s++){var i=this[s][0];null!=i&&(o[i]=!0)}for(var a=0;a<e.length;a++){var c=[].concat(e[a]);r&&o[c[0]]||(n&&(c[2]?c[2]="".concat(n," and ").concat(c[2]):c[2]=n),t.push(c))}},t}},7154:e=>{var t=1e3,n=60*t,r=60*n,o=24*r,s=7*o,i=365.25*o;function a(e,t,n,r){var o=t>=1.5*n;return Math.round(e/n)+" "+r+(o?"s":"")}e.exports=function(e,c){c=c||{};var u=typeof e;if("string"===u&&e.length>0)return function(e){if((e=String(e)).length>100)return;var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!a)return;var c=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return c*i;case"weeks":case"week":case"w":return c*s;case"days":case"day":case"d":return c*o;case"hours":case"hour":case"hrs":case"hr":case"h":return c*r;case"minutes":case"minute":case"mins":case"min":case"m":return c*n;case"seconds":case"second":case"secs":case"sec":case"s":return c*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return c;default:return}}(e);if("number"===u&&isFinite(e))return c.long?function(e){var s=Math.abs(e);if(s>=o)return a(e,s,o,"day");if(s>=r)return a(e,s,r,"hour");if(s>=n)return a(e,s,n,"minute");if(s>=t)return a(e,s,t,"second");return e+" ms"}(e):function(e){var s=Math.abs(e);if(s>=o)return Math.round(e/o)+"d";if(s>=r)return Math.round(e/r)+"h";if(s>=n)return Math.round(e/n)+"m";if(s>=t)return Math.round(e/t)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},5579:(e,t,n)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const n="color: "+this.color;t.splice(1,0,n,"color: inherit");let r=0,o=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(o=r))})),t.splice(o,0,n)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=n(3847)(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},3847:(e,t,n)=>{e.exports=function(e){function t(e){let n,o,s,i=null;function a(...e){if(!a.enabled)return;const r=a,o=Number(new Date),s=o-(n||o);r.diff=s,r.prev=n,r.curr=o,n=o,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let i=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((n,o)=>{if("%%"===n)return"%";i++;const s=t.formatters[o];if("function"==typeof s){const t=e[i];n=s.call(r,t),e.splice(i,1),i--}return n})),t.formatArgs.call(r,e);(r.log||t.log).apply(r,e)}return a.namespace=e,a.useColors=t.useColors(),a.color=t.selectColor(e),a.extend=r,a.destroy=t.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==i?i:(o!==t.namespaces&&(o=t.namespaces,s=t.enabled(e)),s),set:e=>{i=e}}),"function"==typeof t.init&&t.init(a),a}function r(e,n){const r=t(this.namespace+(void 0===n?":":n)+e);return r.log=this.log,r}function o(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names.map(o),...t.skips.map(o).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let n;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),o=r.length;for(n=0;n<o;n++)r[n]&&("-"===(e=r[n].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let n,r;for(n=0,r=t.skips.length;n<r;n++)if(t.skips[n].test(e))return!1;for(n=0,r=t.names.length;n<r;n++)if(t.names[n].test(e))return!0;return!1},t.humanize=n(7154),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((n=>{t[n]=e[n]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return t.colors[Math.abs(n)%t.colors.length]},t.enable(t.load()),t}},6386:(e,t,n)=>{"use strict";e.exports=n(3278)},3278:(e,t,n)=>{"use strict";var r=t;function o(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=n(2944),r.BufferWriter=n(2178),r.Reader=n(9867),r.BufferReader=n(2676),r.util=n(4155),r.rpc=n(3290),r.roots=n(284),r.configure=o,o()},9867:(e,t,n)=>{"use strict";e.exports=c;var r,o=n(4155),s=o.LongBits,i=o.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var u,d="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},l=function(){return o.Buffer?function(e){return(c.create=function(e){return o.Buffer.isBuffer(e)?new r(e):d(e)})(e)}:d};function p(){var e=new s(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function h(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new s(h(this.buf,this.pos+=4),h(this.buf,this.pos+=4))}c.create=l(),c.prototype._slice=o.Array.prototype.subarray||o.Array.prototype.slice,c.prototype.uint32=(u=4294967295,function(){if(u=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return u;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return u}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return h(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|h(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=o.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=o.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw a(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,n):t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)},c.prototype.string=function(){var e=this.bytes();return i.read(e,0,e.length)},c.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){r=e,c.create=l(),r._configure();var t=o.Long?"toLong":"toNumber";o.merge(c.prototype,{int64:function(){return p.call(this)[t](!1)},uint64:function(){return p.call(this)[t](!0)},sint64:function(){return p.call(this).zzDecode()[t](!1)},fixed64:function(){return f.call(this)[t](!0)},sfixed64:function(){return f.call(this)[t](!1)}})}},2676:(e,t,n)=>{"use strict";e.exports=s;var r=n(9867);(s.prototype=Object.create(r.prototype)).constructor=s;var o=n(4155);function s(e){r.call(this,e)}s._configure=function(){o.Buffer&&(s.prototype._slice=o.Buffer.prototype.slice)},s.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},s._configure()},284:e=>{"use strict";e.exports={}},3290:(e,t,n)=>{"use strict";t.Service=n(979)},979:(e,t,n)=>{"use strict";e.exports=o;var r=n(4155);function o(e,t,n){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");r.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}(o.prototype=Object.create(r.EventEmitter.prototype)).constructor=o,o.prototype.rpcCall=function e(t,n,o,s,i){if(!s)throw TypeError("request must be specified");var a=this;if(!i)return r.asPromise(e,a,t,n,o,s);if(a.rpcImpl)try{return a.rpcImpl(t,n[a.requestDelimited?"encodeDelimited":"encode"](s).finish(),(function(e,n){if(e)return a.emit("error",e,t),i(e);if(null!==n){if(!(n instanceof o))try{n=o[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(e){return a.emit("error",e,t),i(e)}return a.emit("data",n,t),i(null,n)}a.end(!0)}))}catch(e){return a.emit("error",e,t),void setTimeout((function(){i(e)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},o.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},8950:(e,t,n)=>{"use strict";e.exports=o;var r=n(4155);function o(e,t){this.lo=e>>>0,this.hi=t>>>0}var s=o.zero=new o(0,0);s.toNumber=function(){return 0},s.zzEncode=s.zzDecode=function(){return this},s.length=function(){return 1};var i=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(e){if(0===e)return s;var t=e<0;t&&(e=-e);var n=e>>>0,r=(e-n)/4294967296>>>0;return t&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new o(n,r)},o.from=function(e){if("number"==typeof e)return o.fromNumber(e);if(r.isString(e)){if(!r.Long)return o.fromNumber(parseInt(e,10));e=r.Long.fromString(e)}return e.low||e.high?new o(e.low>>>0,e.high>>>0):s},o.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},o.prototype.toLong=function(e){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;o.fromHash=function(e){return e===i?s:new o((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},o.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)},o.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},o.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},o.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}},4155:function(e,t,n){"use strict";var r=t;function o(e,t,n){for(var r=Object.keys(t),o=0;o<r.length;++o)void 0!==e[r[o]]&&n||(e[r[o]]=t[r[o]]);return e}function s(e){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&o(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:()=>e,set:void 0,enumerable:!1,configurable:!0},toString:{value(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}r.asPromise=n(537),r.base64=n(9745),r.EventEmitter=n(4459),r.float=n(897),r.inquire=n(3229),r.utf8=n(113),r.pool=n(7986),r.LongBits=n(8950),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(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},r.isString=function(e){return"string"==typeof e||e instanceof String},r.isObject=function(e){return e&&"object"==typeof e},r.isset=r.isSet=function(e,t){var n=e[t];return!(null==n||!e.hasOwnProperty(t))&&("object"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},r.Buffer=function(){try{var e=r.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(e){return"number"==typeof e?r.Buffer?r._Buffer_allocUnsafe(e):new r.Array(e):r.Buffer?r._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||r.inquire("long"),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(e){return e?r.LongBits.from(e).toHash():r.LongBits.zeroHash},r.longFromHash=function(e,t){var n=r.LongBits.fromHash(e);return r.Long?r.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},r.merge=o,r.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},r.newError=s,r.ProtocolError=s("ProtocolError"),r.oneOfGetter=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=1;return function(){for(var e=Object.keys(this),n=e.length-1;n>-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},r.oneOfSetter=function(e){return function(t){for(var n=0;n<e.length;++n)e[n]!==t&&delete this[e[n]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var e=r.Buffer;e?(r._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,n){return new e(t,n)},r._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},2944:(e,t,n)=>{"use strict";e.exports=l;var r,o=n(4155),s=o.LongBits,i=o.base64,a=o.utf8;function c(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function u(){}function d(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function l(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var p=function(){return o.Buffer?function(){return(l.create=function(){return new r})()}:function(){return new l}};function h(e,t,n){t[n]=255&e}function f(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function y(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}l.create=p(),l.alloc=function(e){return new o.Array(e)},o.Array!==Array&&(l.alloc=o.pool(l.alloc,o.Array.prototype.subarray)),l.prototype._push=function(e,t,n){return this.tail=this.tail.next=new c(e,t,n),this.len+=t,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e},l.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new f((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},l.prototype.int32=function(e){return e<0?this._push(m,10,s.fromNumber(e)):this.uint32(e)},l.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},l.prototype.uint64=function(e){var t=s.from(e);return this._push(m,t.length(),t)},l.prototype.int64=l.prototype.uint64,l.prototype.sint64=function(e){var t=s.from(e).zzEncode();return this._push(m,t.length(),t)},l.prototype.bool=function(e){return this._push(h,1,e?1:0)},l.prototype.fixed32=function(e){return this._push(y,4,e>>>0)},l.prototype.sfixed32=l.prototype.fixed32,l.prototype.fixed64=function(e){var t=s.from(e);return this._push(y,4,t.lo)._push(y,4,t.hi)},l.prototype.sfixed64=l.prototype.fixed64,l.prototype.float=function(e){return this._push(o.float.writeFloatLE,4,e)},l.prototype.double=function(e){return this._push(o.float.writeDoubleLE,8,e)};var g=o.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var r=0;r<e.length;++r)t[n+r]=e[r]};l.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(h,1,0);if(o.isString(e)){var n=l.alloc(t=i.length(e));i.decode(e,n,0),e=n}return this.uint32(t)._push(g,t,e)},l.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(h,1,0)},l.prototype.fork=function(){return this.states=new d(this),this.head=this.tail=new c(u,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(u,0,0),this.len=0),this},l.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},l.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},l._configure=function(e){r=e,l.create=p(),r._configure()}},2178:(e,t,n)=>{"use strict";e.exports=s;var r=n(2944);(s.prototype=Object.create(r.prototype)).constructor=s;var o=n(4155);function s(){r.call(this)}function i(e,t,n){e.length<40?o.utf8.write(e,t,n):t.utf8Write?t.utf8Write(e,n):t.write(e,n)}s._configure=function(){s.alloc=o._Buffer_allocUnsafe,s.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&"set"===o.Buffer.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var r=0;r<e.length;)t[n++]=e[r++]}},s.prototype.bytes=function(e){o.isString(e)&&(e=o._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(s.writeBytesBuffer,t,e),this},s.prototype.string=function(e){var t=o.Buffer.byteLength(e);return this.uint32(t),t&&this._push(i,t,e),this},s._configure()},1829:(e,t)=>{"use strict";var n=Object.prototype.hasOwnProperty;function r(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function o(e){try{return encodeURIComponent(e)}catch(e){return null}}t.stringify=function(e,t){t=t||"";var r,s,i=[];for(s in"string"!=typeof t&&(t="?"),e)if(n.call(e,s)){if((r=e[s])||null!=r&&!isNaN(r)||(r=""),s=o(s),r=o(r),null===s||null===r)continue;i.push(s+"="+r)}return i.length?t+i.join("&"):""},t.parse=function(e){for(var t,n=/([^=?#&]+)=?([^&]*)/g,o={};t=n.exec(e);){var s=r(t[1]),i=r(t[2]);null===s||null===i||s in o||(o[s]=i)}return o}},3722:e=>{"use strict";e.exports=function(e,t){if(t=t.split(":")[0],!(e=+e))return!1;switch(t){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},7594:(e,t,n)=>{"use strict";var r,o=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},s=function(){var e={};return 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(e){n=null}e[t]=n}return e[t]}}(),i=[];function a(e){for(var t=-1,n=0;n<i.length;n++)if(i[n].identifier===e){t=n;break}return t}function c(e,t){for(var n={},r=[],o=0;o<e.length;o++){var s=e[o],c=t.base?s[0]+t.base:s[0],u=n[c]||0,d="".concat(c," ").concat(u);n[c]=u+1;var l=a(d),p={css:s[1],media:s[2],sourceMap:s[3]};-1!==l?(i[l].references++,i[l].updater(p)):i.push({identifier:d,updater:y(p,t),references:1}),r.push(d)}return r}function u(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var o=n.nc;o&&(r.nonce=o)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var i=s(e.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}return t}var d,l=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function p(e,t,n,r){var o=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=l(t,o);else{var s=document.createTextNode(o),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(s,i[t]):e.appendChild(s)}}function h(e,t,n){var r=n.css,o=n.media,s=n.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),s&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var f=null,m=0;function y(e,t){var n,r,o;if(t.singleton){var s=m++;n=f||(f=u(t)),r=p.bind(null,n,s,!1),o=p.bind(null,n,s,!0)}else n=u(t),r=h.bind(null,n,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var n=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var o=a(n[r]);i[o].references--}for(var s=c(e,t),u=0;u<n.length;u++){var d=a(n[u]);0===i[d].references&&(i[d].updater(),i.splice(d,1))}n=s}}}},9655:(e,t,n)=>{"use strict";var r=n(3722),o=n(1829),s=/^[\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+$/,u=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,d=/^[a-zA-Z]:/;function l(e){return(e||"").toString().replace(s,"")}var p=[["#","hash"],["?","query"],function(e,t){return m(t.protocol)?e.replace(/\\/g,"/"):e},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],h={hash:1,query:1};function f(e){var t,r=("undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:{}).location||{},o={},s=typeof(e=e||r);if("blob:"===e.protocol)o=new g(unescape(e.pathname),{});else if("string"===s)for(t in o=new g(e,{}),h)delete o[t];else if("object"===s){for(t in e)t in h||(o[t]=e[t]);void 0===o.slashes&&(o.slashes=a.test(e.href))}return o}function m(e){return"file:"===e||"ftp:"===e||"http:"===e||"https:"===e||"ws:"===e||"wss:"===e}function y(e,t){e=(e=l(e)).replace(i,""),t=t||{};var n,r=u.exec(e),o=r[1]?r[1].toLowerCase():"",s=!!r[2],a=!!r[3],c=0;return s?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:"===o?c>=2&&(n=n.slice(2)):m(o)?n=r[4]:o?s&&(n=n.slice(2)):c>=2&&m(t.protocol)&&(n=r[4]),{protocol:o,slashes:s||m(o),slashesCount:c,rest:n}}function g(e,t,n){if(e=(e=l(e)).replace(i,""),!(this instanceof g))return new g(e,t,n);var s,a,c,u,h,b,O=p.slice(),v=typeof t,w=this,x=0;for("object"!==v&&"string"!==v&&(n=t,t=null),n&&"function"!=typeof n&&(n=o.parse),s=!(a=y(e||"",t=f(t))).protocol&&!a.slashes,w.slashes=a.slashes||s&&t.slashes,w.protocol=a.protocol||t.protocol||"",e=a.rest,("file:"===a.protocol&&(2!==a.slashesCount||d.test(e))||!a.slashes&&(a.protocol||a.slashesCount<2||!m(w.protocol)))&&(O[3]=[/(.*)/,"pathname"]);x<O.length;x++)"function"!=typeof(u=O[x])?(c=u[0],b=u[1],c!=c?w[b]=e:"string"==typeof c?~(h="@"===c?e.lastIndexOf(c):e.indexOf(c))&&("number"==typeof u[2]?(w[b]=e.slice(0,h),e=e.slice(h+u[2])):(w[b]=e.slice(h),e=e.slice(0,h))):(h=c.exec(e))&&(w[b]=h[1],e=e.slice(0,h.index)),w[b]=w[b]||s&&u[3]&&t[b]||"",u[4]&&(w[b]=w[b].toLowerCase())):e=u(e,w);n&&(w.query=n(w.query)),s&&t.slashes&&"/"!==w.pathname.charAt(0)&&(""!==w.pathname||""!==t.pathname)&&(w.pathname=function(e,t){if(""===e)return t;for(var n=(t||"/").split("/").slice(0,-1).concat(e.split("/")),r=n.length,o=n[r-1],s=!1,i=0;r--;)"."===n[r]?n.splice(r,1):".."===n[r]?(n.splice(r,1),i++):i&&(0===r&&(s=!0),n.splice(r,1),i--);return s&&n.unshift(""),"."!==o&&".."!==o||n.push(""),n.join("/")}(w.pathname,t.pathname)),"/"!==w.pathname.charAt(0)&&m(w.protocol)&&(w.pathname="/"+w.pathname),r(w.port,w.protocol)||(w.host=w.hostname,w.port=""),w.username=w.password="",w.auth&&(~(h=w.auth.indexOf(":"))?(w.username=w.auth.slice(0,h),w.username=encodeURIComponent(decodeURIComponent(w.username)),w.password=w.auth.slice(h+1),w.password=encodeURIComponent(decodeURIComponent(w.password))):w.username=encodeURIComponent(decodeURIComponent(w.auth)),w.auth=w.password?w.username+":"+w.password:w.username),w.origin="file:"!==w.protocol&&m(w.protocol)&&w.host?w.protocol+"//"+w.host:"null",w.href=w.toString()}g.prototype={set:function(e,t,n){var s=this;switch(e){case"query":"string"==typeof t&&t.length&&(t=(n||o.parse)(t)),s[e]=t;break;case"port":s[e]=t,r(t,s.protocol)?t&&(s.host=s.hostname+":"+t):(s.host=s.hostname,s[e]="");break;case"hostname":s[e]=t,s.port&&(t+=":"+s.port),s.host=t;break;case"host":s[e]=t,c.test(t)?(t=t.split(":"),s.port=t.pop(),s.hostname=t.join(":")):(s.hostname=t,s.port="");break;case"protocol":s.protocol=t.toLowerCase(),s.slashes=!n;break;case"pathname":case"hash":if(t){var i="pathname"===e?"/":"#";s[e]=t.charAt(0)!==i?i+t:t}else s[e]=t;break;case"username":case"password":s[e]=encodeURIComponent(t);break;case"auth":var a=t.indexOf(":");~a?(s.username=t.slice(0,a),s.username=encodeURIComponent(decodeURIComponent(s.username)),s.password=t.slice(a+1),s.password=encodeURIComponent(decodeURIComponent(s.password))):s.username=encodeURIComponent(decodeURIComponent(t))}for(var u=0;u<p.length;u++){var d=p[u];d[4]&&(s[d[1]]=s[d[1]].toLowerCase())}return s.auth=s.password?s.username+":"+s.password:s.username,s.origin="file:"!==s.protocol&&m(s.protocol)&&s.host?s.protocol+"//"+s.host:"null",s.href=s.toString(),s},toString:function(e){e&&"function"==typeof e||(e=o.stringify);var t,n=this,r=n.host,s=n.protocol;s&&":"!==s.charAt(s.length-1)&&(s+=":");var i=s+(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,(t="object"==typeof n.query?e(n.query):n.query)&&(i+="?"!==t.charAt(0)?"?"+t:t),n.hash&&(i+=n.hash),i}},g.extractProtocol=y,g.location=f,g.trimLeft=l,g.qs=o,e.exports=g},5003:(e,t,n)=>{"use strict";var r;n.r(t),n.d(t,{NIL:()=>E,parse:()=>y,stringify:()=>d,v1:()=>m,v3:()=>P,v4:()=>T,v5:()=>j,validate:()=>a,version:()=>D});var o=new Uint8Array(16);function s(){if(!r&&!(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(o)}const i=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;const a=function(e){return"string"==typeof e&&i.test(e)};for(var c=[],u=0;u<256;++u)c.push((u+256).toString(16).substr(1));const d=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(c[e[t+0]]+c[e[t+1]]+c[e[t+2]]+c[e[t+3]]+"-"+c[e[t+4]]+c[e[t+5]]+"-"+c[e[t+6]]+c[e[t+7]]+"-"+c[e[t+8]]+c[e[t+9]]+"-"+c[e[t+10]]+c[e[t+11]]+c[e[t+12]]+c[e[t+13]]+c[e[t+14]]+c[e[t+15]]).toLowerCase();if(!a(n))throw TypeError("Stringified UUID is invalid");return n};var l,p,h=0,f=0;const m=function(e,t,n){var r=t&&n||0,o=t||new Array(16),i=(e=e||{}).node||l,a=void 0!==e.clockseq?e.clockseq:p;if(null==i||null==a){var c=e.random||(e.rng||s)();null==i&&(i=l=[1|c[0],c[1],c[2],c[3],c[4],c[5]]),null==a&&(a=p=16383&(c[6]<<8|c[7]))}var u=void 0!==e.msecs?e.msecs:Date.now(),m=void 0!==e.nsecs?e.nsecs:f+1,y=u-h+(m-f)/1e4;if(y<0&&void 0===e.clockseq&&(a=a+1&16383),(y<0||u>h)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");h=u,f=m,p=a;var g=(1e4*(268435455&(u+=122192928e5))+m)%4294967296;o[r++]=g>>>24&255,o[r++]=g>>>16&255,o[r++]=g>>>8&255,o[r++]=255&g;var b=u/4294967296*1e4&268435455;o[r++]=b>>>8&255,o[r++]=255&b,o[r++]=b>>>24&15|16,o[r++]=b>>>16&255,o[r++]=a>>>8|128,o[r++]=255&a;for(var O=0;O<6;++O)o[r+O]=i[O];return t||d(o)};const y=function(e){if(!a(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n};function g(e,t,n){function r(e,r,o,s){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=y(r)),16!==r.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var i=new Uint8Array(16+e.length);if(i.set(r),i.set(e,r.length),(i=n(i))[6]=15&i[6]|t,i[8]=63&i[8]|128,o){s=s||0;for(var a=0;a<16;++a)o[s+a]=i[a];return o}return d(i)}try{r.name=e}catch(e){}return r.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",r.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",r}function b(e){return 14+(e+64>>>9<<4)+1}function O(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function v(e,t,n,r,o,s){return O((i=O(O(t,e),O(r,s)))<<(a=o)|i>>>32-a,n);var i,a}function w(e,t,n,r,o,s,i){return v(t&n|~t&r,e,t,o,s,i)}function x(e,t,n,r,o,s,i){return v(t&r|n&~r,e,t,o,s,i)}function _(e,t,n,r,o,s,i){return v(t^n^r,e,t,o,s,i)}function I(e,t,n,r,o,s,i){return v(n^(t|~r),e,t,o,s,i)}const S=function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){for(var t=[],n=32*e.length,r="0123456789abcdef",o=0;o<n;o+=8){var s=e[o>>5]>>>o%32&255,i=parseInt(r.charAt(s>>>4&15)+r.charAt(15&s),16);t.push(i)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[b(t)-1]=t;for(var n=1732584193,r=-271733879,o=-1732584194,s=271733878,i=0;i<e.length;i+=16){var a=n,c=r,u=o,d=s;n=w(n,r,o,s,e[i],7,-680876936),s=w(s,n,r,o,e[i+1],12,-389564586),o=w(o,s,n,r,e[i+2],17,606105819),r=w(r,o,s,n,e[i+3],22,-1044525330),n=w(n,r,o,s,e[i+4],7,-176418897),s=w(s,n,r,o,e[i+5],12,1200080426),o=w(o,s,n,r,e[i+6],17,-1473231341),r=w(r,o,s,n,e[i+7],22,-45705983),n=w(n,r,o,s,e[i+8],7,1770035416),s=w(s,n,r,o,e[i+9],12,-1958414417),o=w(o,s,n,r,e[i+10],17,-42063),r=w(r,o,s,n,e[i+11],22,-1990404162),n=w(n,r,o,s,e[i+12],7,1804603682),s=w(s,n,r,o,e[i+13],12,-40341101),o=w(o,s,n,r,e[i+14],17,-1502002290),n=x(n,r=w(r,o,s,n,e[i+15],22,1236535329),o,s,e[i+1],5,-165796510),s=x(s,n,r,o,e[i+6],9,-1069501632),o=x(o,s,n,r,e[i+11],14,643717713),r=x(r,o,s,n,e[i],20,-373897302),n=x(n,r,o,s,e[i+5],5,-701558691),s=x(s,n,r,o,e[i+10],9,38016083),o=x(o,s,n,r,e[i+15],14,-660478335),r=x(r,o,s,n,e[i+4],20,-405537848),n=x(n,r,o,s,e[i+9],5,568446438),s=x(s,n,r,o,e[i+14],9,-1019803690),o=x(o,s,n,r,e[i+3],14,-187363961),r=x(r,o,s,n,e[i+8],20,1163531501),n=x(n,r,o,s,e[i+13],5,-1444681467),s=x(s,n,r,o,e[i+2],9,-51403784),o=x(o,s,n,r,e[i+7],14,1735328473),n=_(n,r=x(r,o,s,n,e[i+12],20,-1926607734),o,s,e[i+5],4,-378558),s=_(s,n,r,o,e[i+8],11,-2022574463),o=_(o,s,n,r,e[i+11],16,1839030562),r=_(r,o,s,n,e[i+14],23,-35309556),n=_(n,r,o,s,e[i+1],4,-1530992060),s=_(s,n,r,o,e[i+4],11,1272893353),o=_(o,s,n,r,e[i+7],16,-155497632),r=_(r,o,s,n,e[i+10],23,-1094730640),n=_(n,r,o,s,e[i+13],4,681279174),s=_(s,n,r,o,e[i],11,-358537222),o=_(o,s,n,r,e[i+3],16,-722521979),r=_(r,o,s,n,e[i+6],23,76029189),n=_(n,r,o,s,e[i+9],4,-640364487),s=_(s,n,r,o,e[i+12],11,-421815835),o=_(o,s,n,r,e[i+15],16,530742520),n=I(n,r=_(r,o,s,n,e[i+2],23,-995338651),o,s,e[i],6,-198630844),s=I(s,n,r,o,e[i+7],10,1126891415),o=I(o,s,n,r,e[i+14],15,-1416354905),r=I(r,o,s,n,e[i+5],21,-57434055),n=I(n,r,o,s,e[i+12],6,1700485571),s=I(s,n,r,o,e[i+3],10,-1894986606),o=I(o,s,n,r,e[i+10],15,-1051523),r=I(r,o,s,n,e[i+1],21,-2054922799),n=I(n,r,o,s,e[i+8],6,1873313359),s=I(s,n,r,o,e[i+15],10,-30611744),o=I(o,s,n,r,e[i+6],15,-1560198380),r=I(r,o,s,n,e[i+13],21,1309151649),n=I(n,r,o,s,e[i+4],6,-145523070),s=I(s,n,r,o,e[i+11],10,-1120210379),o=I(o,s,n,r,e[i+2],15,718787259),r=I(r,o,s,n,e[i+9],21,-343485551),n=O(n,a),r=O(r,c),o=O(o,u),s=O(s,d)}return[n,r,o,s]}(function(e){if(0===e.length)return[];for(var t=8*e.length,n=new Uint32Array(b(t)),r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))};const P=g("v3",48,S);const T=function(e,t,n){var r=(e=e||{}).random||(e.rng||s)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=r[o];return t}return d(r)};function A(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function k(e,t){return e<<t|e>>>32-t}const C=function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=[];for(var o=0;o<r.length;++o)e.push(r.charCodeAt(o))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var s=e.length/4+2,i=Math.ceil(s/16),a=new Array(i),c=0;c<i;++c){for(var u=new Uint32Array(16),d=0;d<16;++d)u[d]=e[64*c+4*d]<<24|e[64*c+4*d+1]<<16|e[64*c+4*d+2]<<8|e[64*c+4*d+3];a[c]=u}a[i-1][14]=8*(e.length-1)/Math.pow(2,32),a[i-1][14]=Math.floor(a[i-1][14]),a[i-1][15]=8*(e.length-1)&4294967295;for(var l=0;l<i;++l){for(var p=new Uint32Array(80),h=0;h<16;++h)p[h]=a[l][h];for(var f=16;f<80;++f)p[f]=k(p[f-3]^p[f-8]^p[f-14]^p[f-16],1);for(var m=n[0],y=n[1],g=n[2],b=n[3],O=n[4],v=0;v<80;++v){var w=Math.floor(v/20),x=k(m,5)+A(w,y,g,b)+O+t[w]+p[v]>>>0;O=b,b=g,g=k(y,30)>>>0,y=m,m=x}n[0]=n[0]+m>>>0,n[1]=n[1]+y>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+b>>>0,n[4]=n[4]+O>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]};const j=g("v5",80,C),E="00000000-0000-0000-0000-000000000000";const D=function(e){if(!a(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}},2417:(e,t,n)=>{e.exports=n(7720)("./src/collaboration-core.js")},2704:(e,t,n)=>{e.exports=n(7079)("./src/core.js")},1492:(e,t,n)=>{e.exports=n(7079)("./src/engine.js")},9273:(e,t,n)=>{e.exports=n(7079)("./src/ui.js")},2209:(e,t,n)=>{e.exports=n(7079)("./src/utils.js")},7720:e=>{"use strict";e.exports=CKEditor5.collaborationDll},7079:e=>{"use strict";e.exports=CKEditor5.dll},1053:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reconstructPacket=t.deconstructPacket=void 0;const r=n(1669);function o(e,t){if(!e)return e;if(r.isBinary(e)){const n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){const n=new Array(e.length);for(let r=0;r<e.length;r++)n[r]=o(e[r],t);return n}if("object"==typeof e&&!(e instanceof Date)){const n={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=o(e[r],t));return n}return e}function s(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=s(e[n],t);else if("object"==typeof e)for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=s(e[n],t));return e}t.deconstructPacket=function(e){const t=[],n=e.data,r=e;return r.data=o(n,t),r.attachments=t.length,{packet:r,buffers:t}},t.reconstructPacket=function(e,t){return e.data=s(e.data,t),e.attachments=void 0,e}},9881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Decoder=t.Encoder=t.PacketType=t.protocol=void 0;const r=n(5867),o=n(1053),s=n(1669),i=n(5579).default("socket.io-parser");var a;t.protocol=5,function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(a=t.PacketType||(t.PacketType={}));t.Encoder=class{constructor(e){this.replacer=e}encode(e){return i("encoding packet %j",e),e.type!==a.EVENT&&e.type!==a.ACK||!s.hasBinary(e)?[this.encodeAsString(e)]:(e.type=e.type===a.EVENT?a.BINARY_EVENT:a.BINARY_ACK,this.encodeAsBinary(e))}encodeAsString(e){let t=""+e.type;return e.type!==a.BINARY_EVENT&&e.type!==a.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),i("encoded %j as %s",e,t),t}encodeAsBinary(e){const t=o.deconstructPacket(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}};class c extends r.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e),t.type===a.BINARY_EVENT||t.type===a.BINARY_ACK?(this.reconstructor=new u(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!s.isBinary(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const n={type:Number(e.charAt(0))};if(void 0===a[n.type])throw new Error("unknown packet type "+n.type);if(n.type===a.BINARY_EVENT||n.type===a.BINARY_ACK){const r=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const o=e.substring(r,t);if(o!=Number(o)||"-"!==e.charAt(t))throw new Error("Illegal attachments");n.attachments=Number(o)}if("/"===e.charAt(t+1)){const r=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}n.nsp=e.substring(r,t)}else n.nsp="/";const r=e.charAt(t+1);if(""!==r&&Number(r)==r){const r=t+1;for(;++t;){const n=e.charAt(t);if(null==n||Number(n)!=n){--t;break}if(t===e.length)break}n.id=Number(e.substring(r,t+1))}if(e.charAt(++t)){const r=this.tryParse(e.substr(t));if(!c.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return i("decoded %s as %j",e,n),n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case a.CONNECT:return"object"==typeof t;case a.DISCONNECT:return void 0===t;case a.CONNECT_ERROR:return"string"==typeof t||"object"==typeof t;case a.EVENT:case a.BINARY_EVENT:return Array.isArray(t)&&t.length>0;case a.ACK:case a.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&this.reconstructor.finishedReconstruction()}}t.Decoder=c;class u{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=o.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}},1669:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasBinary=t.isBinary=void 0;const n="function"==typeof ArrayBuffer,r=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,o=Object.prototype.toString,s="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===o.call(Blob),i="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===o.call(File);function a(e){return n&&(e instanceof ArrayBuffer||r(e))||s&&e instanceof Blob||i&&e instanceof File}t.isBinary=a,t.hasBinary=function e(t,n){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(let n=0,r=t.length;n<r;n++)if(e(t[n]))return!0;return!1}if(a(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return e(t.toJSON(),!0);for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e(t[n]))return!0;return!1}},6051:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasCORS=void 0;let n=!1;try{n="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(e){}t.hasCORS=n},8573:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=t.encode=void 0,t.encode=function(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t},t.decode=function(e){let t={},n=e.split("&");for(let e=0,r=n.length;e<r;e++){let r=n[e].split("=");t[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return t}},8736:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;const n=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,r=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];t.parse=function(e){const t=e,o=e.indexOf("["),s=e.indexOf("]");-1!=o&&-1!=s&&(e=e.substring(0,o)+e.substring(o,s).replace(/:/g,";")+e.substring(s,e.length));let i=n.exec(e||""),a={},c=14;for(;c--;)a[r[c]]=i[c]||"";return-1!=o&&-1!=s&&(a.source=t,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,":"),a.authority=a.authority.replace("[","").replace("]","").replace(/;/g,":"),a.ipv6uri=!0),a.pathNames=function(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");"/"!=t.slice(0,1)&&0!==t.length||r.splice(0,1);"/"==t.slice(-1)&&r.splice(r.length-1,1);return r}(0,a.path),a.queryKey=function(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,r){t&&(n[t]=r)})),n}(0,a.query),a}},7058:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.yeast=t.decode=t.encode=void 0;const n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),r=64,o={};let s,i=0,a=0;function c(e){let t="";do{t=n[e%r]+t,e=Math.floor(e/r)}while(e>0);return t}for(t.encode=c,t.decode=function(e){let t=0;for(a=0;a<e.length;a++)t=t*r+o[e.charAt(a)];return t},t.yeast=function(){const e=c(+new Date);return e!==s?(i=0,s=e):e+"."+c(i++)};a<r;a++)o[n[a]]=a},66:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.globalThisShim=void 0,t.globalThisShim="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")()},5769:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nextTick=t.parse=t.installTimerFunctions=t.transports=t.Transport=t.protocol=t.Socket=void 0;const r=n(1187);Object.defineProperty(t,"Socket",{enumerable:!0,get:function(){return r.Socket}}),t.protocol=r.Socket.protocol;var o=n(4291);Object.defineProperty(t,"Transport",{enumerable:!0,get:function(){return o.Transport}});var s=n(6449);Object.defineProperty(t,"transports",{enumerable:!0,get:function(){return s.transports}});var i=n(102);Object.defineProperty(t,"installTimerFunctions",{enumerable:!0,get:function(){return i.installTimerFunctions}});var a=n(8736);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return a.parse}});var c=n(9233);Object.defineProperty(t,"nextTick",{enumerable:!0,get:function(){return c.nextTick}})},1187:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Socket=void 0;const o=n(6449),s=n(102),i=n(8573),a=n(8736),c=r(n(5579)),u=n(5867),d=n(4755),l=(0,c.default)("engine.io-client:socket");class p extends u.Emitter{constructor(e,t={}){super(),e&&"object"==typeof e&&(t=e,e=null),e?(e=(0,a.parse)(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=(0,a.parse)(t.host).host),(0,s.installTimerFunctions)(this,t),this.secure=null!=t.secure?t.secure:"undefined"!=typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket"],this.readyState="",this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},t),this.opts.path=this.opts.path.replace(/\/$/,"")+"/","string"==typeof this.opts.query&&(this.opts.query=(0,i.decode)(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(e){l('creating transport "%s"',e);const t=Object.assign({},this.opts.query);t.EIO=d.protocol,t.transport=e,this.id&&(t.sid=this.id);const n=Object.assign({},this.opts.transportOptions[e],this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return l("options: %j",n),new o.transports[e](n)}open(){let e;if(this.opts.rememberUpgrade&&p.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return l("error while creating transport: %s",e),this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){l("setting transport %s",e.name),this.transport&&(l("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){l('probing transport "%s"',e);let t=this.createTransport(e),n=!1;p.priorWebsocketSuccess=!1;const r=()=>{n||(l('probe transport "%s" opened',e),t.send([{type:"ping",data:"probe"}]),t.once("packet",(r=>{if(!n)if("pong"===r.type&&"probe"===r.data){if(l('probe transport "%s" pong',e),this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;p.priorWebsocketSuccess="websocket"===t.name,l('pausing current transport "%s"',this.transport.name),this.transport.pause((()=>{n||"closed"!==this.readyState&&(l("changing transport and sending upgrade packet"),u(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{l('probe transport "%s" failed',e);const n=new Error("probe error");n.transport=t.name,this.emitReserved("upgradeError",n)}})))};function o(){n||(n=!0,u(),t.close(),t=null)}const s=n=>{const r=new Error("probe error: "+n);r.transport=t.name,o(),l('probe transport "%s" failed because of error: %s',e,n),this.emitReserved("upgradeError",r)};function i(){s("transport closed")}function a(){s("socket closed")}function c(e){t&&e.name!==t.name&&(l('"%s" works - aborting "%s"',e.name,t.name),o())}const u=()=>{t.removeListener("open",r),t.removeListener("error",s),t.removeListener("close",i),this.off("close",a),this.off("upgrading",c)};t.once("open",r),t.once("error",s),t.once("close",i),this.once("close",a),this.once("upgrading",c),t.open()}onOpen(){if(l("socket open"),this.readyState="open",p.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade&&this.transport.pause){l("starting upgrade probes");let e=0;const t=this.upgrades.length;for(;e<t;e++)this.probe(this.upgrades[e])}}onPacket(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(l('socket receive: type "%s", data "%s"',e.type,e.data),this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.resetPingTimeout(),this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}else l('packet received with socket readyState "%s"',this.readyState)}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.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 e=this.getWritablePackets();l("flushing %d packets in socket",e.length),this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let t=0;t<this.writeBuffer.length;t++){const n=this.writeBuffer[t].data;if(n&&(e+=(0,s.byteLength)(n)),t>0&&e>this.maxPayload)return l("only send %d out of %d packets",t,this.writeBuffer.length),this.writeBuffer.slice(0,t);e+=2}return l("payload size is %d (max: %d)",e,this.maxPayload),this.writeBuffer}write(e,t,n){return this.sendPacket("message",e,t,n),this}send(e,t,n){return this.sendPacket("message",e,t,n),this}sendPacket(e,t,n,r){if("function"==typeof t&&(r=t,t=void 0),"function"==typeof n&&(r=n,n=null),"closing"===this.readyState||"closed"===this.readyState)return;(n=n||{}).compress=!1!==n.compress;const o={type:e,data:t,options:n};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),r&&this.once("flush",r),this.flush()}close(){const e=()=>{this.onClose("forced close"),l("socket closing - telling transport to close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?n():e()})):this.upgrading?n():e()),this}onError(e){l("socket error %j",e),p.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(l('socket close with reason: "%s"',e),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",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let n=0;const r=e.length;for(;n<r;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}}t.Socket=p,p.protocol=d.protocol},4291:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Transport=void 0;const o=n(4755),s=n(5867),i=n(102),a=(0,r(n(5579)).default)("engine.io-client:transport");class c extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}}class u extends s.Emitter{constructor(e){super(),this.writable=!1,(0,i.installTimerFunctions)(this,e),this.opts=e,this.query=e.query,this.readyState="",this.socket=e.socket}onError(e,t,n){return super.emitReserved("error",new c(e,t,n)),this}open(){return"closed"!==this.readyState&&""!==this.readyState||(this.readyState="opening",this.doOpen()),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState?this.write(e):a("transport is not open, discarding packets")}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=(0,o.decodePacket)(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}}t.Transport=u},6449:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.transports=void 0;const r=n(3737),o=n(4199);t.transports={websocket:o.WS,polling:r.Polling}},3737:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Request=t.Polling=void 0;const o=n(4291),s=r(n(5579)),i=n(7058),a=n(8573),c=n(4755),u=n(4582),d=n(5867),l=n(102),p=n(66),h=(0,s.default)("engine.io-client:polling");function f(){}const m=null!=new u.XHR({xdomain:!1}).responseType;class y extends o.Transport{constructor(e){if(super(e),this.polling=!1,"undefined"!=typeof location){const t="https:"===location.protocol;let n=location.port;n||(n=t?"443":"80"),this.xd="undefined"!=typeof location&&e.hostname!==location.hostname||n!==e.port,this.xs=e.secure!==t}const t=e&&e.forceBase64;this.supportsBinary=m&&!t}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const t=()=>{h("paused"),this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(h("we are currently polling - waiting to pause"),e++,this.once("pollComplete",(function(){h("pre-pause polling complete"),--e||t()}))),this.writable||(h("we are currently writing - waiting to pause"),e++,this.once("drain",(function(){h("pre-pause writing complete"),--e||t()})))}else t()}poll(){h("polling"),this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){h("polling got data %s",e);(0,c.decodePayload)(e,this.socket.binaryType).forEach((e=>{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState?this.poll():h('ignoring poll - transport state "%s"',this.readyState))}doClose(){const e=()=>{h("writing close packet"),this.write([{type:"close"}])};"open"===this.readyState?(h("transport open - closing"),e()):(h("transport not open - deferring close"),this.once("open",e))}write(e){this.writable=!1,(0,c.encodePayload)(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){let e=this.query||{};const t=this.opts.secure?"https":"http";let n="";!1!==this.opts.timestampRequests&&(e[this.opts.timestampParam]=(0,i.yeast)()),this.supportsBinary||e.sid||(e.b64=1),this.opts.port&&("https"===t&&443!==Number(this.opts.port)||"http"===t&&80!==Number(this.opts.port))&&(n=":"+this.opts.port);const r=(0,a.encode)(e);return t+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+n+this.opts.path+(r.length?"?"+r:"")}request(e={}){return Object.assign(e,{xd:this.xd,xs:this.xs},this.opts),new g(this.uri(),e)}doWrite(e,t){const n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){h("xhr poll");const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}t.Polling=y;class g extends d.Emitter{constructor(e,t){super(),(0,l.installTimerFunctions)(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.async=!1!==t.async,this.data=void 0!==t.data?t.data:null,this.create()}create(){const e=(0,l.pick)(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd,e.xscheme=!!this.opts.xs;const t=this.xhr=new u.XHR(e);try{h("xhr open %s: %s",this.method,this.uri),t.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders){t.setDisableHeaderCheck&&t.setDisableHeaderCheck(!0);for(let e in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(e)&&t.setRequestHeader(e,this.opts.extraHeaders[e])}}catch(e){}if("POST"===this.method)try{t.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{t.setRequestHeader("Accept","*/*")}catch(e){}"withCredentials"in t&&(t.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(t.timeout=this.opts.requestTimeout),t.onreadystatechange=()=>{4===t.readyState&&(200===t.status||1223===t.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"==typeof t.status?t.status:0)}),0))},h("xhr data %s",this.data),t.send(this.data)}catch(e){return void this.setTimeoutFn((()=>{this.onError(e)}),0)}"undefined"!=typeof document&&(this.index=g.requestsCount++,g.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=f,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete g.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(t.Request=g,g.requestsCount=0,g.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",b);else if("function"==typeof addEventListener){const e="onpagehide"in p.globalThisShim?"pagehide":"unload";addEventListener(e,b,!1)}function b(){for(let e in g.requests)g.requests.hasOwnProperty(e)&&g.requests[e].abort()}},9233:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultBinaryType=t.usingBrowserWebSocket=t.WebSocket=t.nextTick=void 0;const r=n(66);t.nextTick="function"==typeof Promise&&"function"==typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),t.WebSocket=r.globalThisShim.WebSocket||r.globalThisShim.MozWebSocket,t.usingBrowserWebSocket=!0,t.defaultBinaryType="arraybuffer"},4199:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WS=void 0;const o=n(4291),s=n(8573),i=n(7058),a=n(102),c=n(9233),u=r(n(5579)),d=n(4755),l=(0,u.default)("engine.io-client:websocket"),p="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();class h extends o.Transport{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,n=p?{}:(0,a.pick)(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=c.usingBrowserWebSocket&&!p?t?new c.WebSocket(e,t):new c.WebSocket(e):new c.WebSocket(e,t,n)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType||c.defaultBinaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const n=e[t],r=t===e.length-1;(0,d.encodePacket)(n,this.supportsBinary,(e=>{const t={};if(!c.usingBrowserWebSocket&&(n.options&&(t.compress=n.options.compress),this.opts.perMessageDeflate)){("string"==typeof e?Buffer.byteLength(e):e.length)<this.opts.perMessageDeflate.threshold&&(t.compress=!1)}try{c.usingBrowserWebSocket?this.ws.send(e):this.ws.send(e,t)}catch(e){l("websocket closed before onclose event")}r&&(0,c.nextTick)((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){let e=this.query||{};const t=this.opts.secure?"wss":"ws";let n="";this.opts.port&&("wss"===t&&443!==Number(this.opts.port)||"ws"===t&&80!==Number(this.opts.port))&&(n=":"+this.opts.port),this.opts.timestampRequests&&(e[this.opts.timestampParam]=(0,i.yeast)()),this.supportsBinary||(e.b64=1);const r=(0,s.encode)(e);return t+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+n+this.opts.path+(r.length?"?"+r:"")}check(){return!!c.WebSocket}}t.WS=h},4582:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.XHR=void 0;const r=n(6051),o=n(66);t.XHR=function(e){const t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||r.hasCORS))return new XMLHttpRequest}catch(e){}if(!t)try{return new(o.globalThisShim[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}},102:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.byteLength=t.installTimerFunctions=t.pick=void 0;const r=n(66);t.pick=function(e,...t){return t.reduce(((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t)),{})};const o=setTimeout,s=clearTimeout;t.installTimerFunctions=function(e,t){t.useNativeTimers?(e.setTimeoutFn=o.bind(r.globalThisShim),e.clearTimeoutFn=s.bind(r.globalThisShim)):(e.setTimeoutFn=setTimeout.bind(r.globalThisShim),e.clearTimeoutFn=clearTimeout.bind(r.globalThisShim))};t.byteLength=function(e){return"string"==typeof e?function(e){let t=0,n=0;for(let r=0,o=e.length;r<o;r++)t=e.charCodeAt(r),t<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}(e):Math.ceil(1.33*(e.byteLength||e.size))}},9782:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_PACKET=t.PACKET_TYPES_REVERSE=t.PACKET_TYPES=void 0;const n=Object.create(null);t.PACKET_TYPES=n,n.open="0",n.close="1",n.ping="2",n.pong="3",n.message="4",n.upgrade="5",n.noop="6";const r=Object.create(null);t.PACKET_TYPES_REVERSE=r,Object.keys(n).forEach((e=>{r[n[e]]=e}));t.ERROR_PACKET={type:"error",data:"parser error"}},6502:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=t.encode=void 0;const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let e=0;e<n.length;e++)r[n.charCodeAt(e)]=e;t.encode=e=>{let t,r=new Uint8Array(e),o=r.length,s="";for(t=0;t<o;t+=3)s+=n[r[t]>>2],s+=n[(3&r[t])<<4|r[t+1]>>4],s+=n[(15&r[t+1])<<2|r[t+2]>>6],s+=n[63&r[t+2]];return o%3==2?s=s.substring(0,s.length-1)+"=":o%3==1&&(s=s.substring(0,s.length-2)+"=="),s};t.decode=e=>{let t,n,o,s,i,a=.75*e.length,c=e.length,u=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);const d=new ArrayBuffer(a),l=new Uint8Array(d);for(t=0;t<c;t+=4)n=r[e.charCodeAt(t)],o=r[e.charCodeAt(t+1)],s=r[e.charCodeAt(t+2)],i=r[e.charCodeAt(t+3)],l[u++]=n<<2|o>>4,l[u++]=(15&o)<<4|s>>2,l[u++]=(3&s)<<6|63&i;return d}},3108:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9782),o=n(6502),s="function"==typeof ArrayBuffer,i=(e,t)=>{if(s){const n=(0,o.decode)(e);return a(n,t)}return{base64:!0,data:e}},a=(e,t)=>"blob"===t&&e instanceof ArrayBuffer?new Blob([e]):e;t.default=(e,t)=>{if("string"!=typeof e)return{type:"message",data:a(e,t)};const n=e.charAt(0);if("b"===n)return{type:"message",data:i(e.substring(1),t)};return r.PACKET_TYPES_REVERSE[n]?e.length>1?{type:r.PACKET_TYPES_REVERSE[n],data:e.substring(1)}:{type:r.PACKET_TYPES_REVERSE[n]}:r.ERROR_PACKET}},4895:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9782),o="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),s="function"==typeof ArrayBuffer,i=(e,t)=>{const n=new FileReader;return n.onload=function(){const e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};t.default=({type:e,data:t},n,a)=>{return o&&t instanceof Blob?n?a(t):i(t,a):s&&(t instanceof ArrayBuffer||(c=t,"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(c):c&&c.buffer instanceof ArrayBuffer))?n?a(t):i(new Blob([t]),a):a(r.PACKET_TYPES[e]+(t||""));var c}},4755:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodePayload=t.decodePacket=t.encodePayload=t.encodePacket=t.protocol=void 0;const r=n(4895);t.encodePacket=r.default;const o=n(3108);t.decodePacket=o.default;const s=String.fromCharCode(30);t.encodePayload=(e,t)=>{const n=e.length,o=new Array(n);let i=0;e.forEach(((e,a)=>{(0,r.default)(e,!1,(e=>{o[a]=e,++i===n&&t(o.join(s))}))}))};t.decodePayload=(e,t)=>{const n=e.split(s),r=[];for(let e=0;e<n.length;e++){const s=(0,o.default)(n[e],t);if(r.push(s),"error"===s.type)break}return r},t.protocol=4},1067:(e,t)=>{"use strict";function n(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}Object.defineProperty(t,"__esModule",{value:!0}),t.Backoff=void 0,t.Backoff=n,n.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-n:e+n}return 0|Math.min(e,this.max)},n.prototype.reset=function(){this.attempts=0},n.prototype.setMin=function(e){this.ms=e},n.prototype.setMax=function(e){this.max=e},n.prototype.setJitter=function(e){this.jitter=e}},8623:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.connect=t.io=t.Socket=t.Manager=t.protocol=void 0;const o=n(4197),s=n(3288);Object.defineProperty(t,"Manager",{enumerable:!0,get:function(){return s.Manager}});const i=n(3232);Object.defineProperty(t,"Socket",{enumerable:!0,get:function(){return i.Socket}});const a=r(n(5579)).default("socket.io-client"),c={};function u(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};const n=o.url(e,t.path||"/socket.io"),r=n.source,i=n.id,u=n.path,d=c[i]&&u in c[i].nsps;let l;return t.forceNew||t["force new connection"]||!1===t.multiplex||d?(a("ignoring socket cache for %s",r),l=new s.Manager(r,t)):(c[i]||(a("new io instance for %s",r),c[i]=new s.Manager(r,t)),l=c[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}t.io=u,t.connect=u,t.default=u,Object.assign(u,{Manager:s.Manager,Socket:i.Socket,io:u,connect:u});var d=n(170);Object.defineProperty(t,"protocol",{enumerable:!0,get:function(){return d.protocol}}),e.exports=u},3288:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Manager=void 0;const a=n(5769),c=n(3232),u=s(n(170)),d=n(6263),l=n(1067),p=n(5867),h=i(n(5579)).default("socket.io-client:manager");class f extends p.Emitter{constructor(e,t){var n;super(),this.nsps={},this.subs=[],e&&"object"==typeof e&&(t=e,e=void 0),(t=t||{}).path=t.path||"/socket.io",this.opts=t,a.installTimerFunctions(this,t),this.reconnection(!1!==t.reconnection),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(n=t.randomizationFactor)&&void 0!==n?n:.5),this.backoff=new l.Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==t.timeout?2e4:t.timeout),this._readyState="closed",this.uri=e;const r=t.parser||u;this.encoder=new r.Encoder,this.decoder=new r.Decoder,this._autoConnect=!1!==t.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(h("readyState %s",this._readyState),~this._readyState.indexOf("open"))return this;h("opening %s",this.uri),this.engine=new a.Socket(this.uri,this.opts);const t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const r=d.on(t,"open",(function(){n.onopen(),e&&e()})),o=d.on(t,"error",(t=>{h("error"),n.cleanup(),n._readyState="closed",this.emitReserved("error",t),e?e(t):n.maybeReconnectOnOpen()}));if(!1!==this._timeout){const e=this._timeout;h("connect attempt will timeout after %d",e),0===e&&r();const n=this.setTimeoutFn((()=>{h("connect attempt timed out after %d",e),r(),t.close(),t.emit("error",new Error("timeout"))}),e);this.opts.autoUnref&&n.unref(),this.subs.push((function(){clearTimeout(n)}))}return this.subs.push(r),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){h("open"),this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(d.on(e,"ping",this.onping.bind(this)),d.on(e,"data",this.ondata.bind(this)),d.on(e,"error",this.onerror.bind(this)),d.on(e,"close",this.onclose.bind(this)),d.on(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}ondecoded(e){a.nextTick((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){h("error",e),this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n||(n=new c.Socket(this,e,t),this.nsps[e]=n),n}_destroy(e){const t=Object.keys(this.nsps);for(const e of t){if(this.nsps[e].active)return void h("socket %s is still active, skipping close",e)}this._close()}_packet(e){h("writing packet %j",e);const t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){h("cleanup"),this.subs.forEach((e=>e())),this.subs.length=0,this.decoder.destroy()}_close(){h("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){h("closed due to %s",e),this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)h("reconnect failed"),this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();h("will wait %dms before reconnect attempt",t),this._reconnecting=!0;const n=this.setTimeoutFn((()=>{e.skipReconnect||(h("attempting reconnect"),this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(h("reconnect attempt error"),e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):(h("reconnect success"),e.onreconnect())})))}),t);this.opts.autoUnref&&n.unref(),this.subs.push((function(){clearTimeout(n)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}t.Manager=f},6263:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.on=void 0,t.on=function(e,t,n){return e.on(t,n),function(){e.off(t,n)}}},3232:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Socket=void 0;const o=n(170),s=n(6263),i=n(5867),a=r(n(5579)).default("socket.io-client:socket"),c=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class u extends i.Emitter{constructor(e,t,n){super(),this.connected=!1,this.receiveBuffer=[],this.sendBuffer=[],this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[s.on(e,"open",this.onopen.bind(this)),s.on(e,"packet",this.onpacket.bind(this)),s.on(e,"error",this.onerror.bind(this)),s.on(e,"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(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){if(c.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');t.unshift(e);const n={type:o.PacketType.EVENT,data:t,options:{}};if(n.options.compress=!1!==this.flags.compress,"function"==typeof t[t.length-1]){const e=this.ids++;a("emitting packet with ack id %d",e);const r=t.pop();this._registerAckCallback(e,r),n.id=e}const r=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!r||!this.connected)?a("discard packet as the transport is not currently writable"):this.connected?(this.notifyOutgoingListeners(n),this.packet(n)):this.sendBuffer.push(n),this.flags={},this}_registerAckCallback(e,t){const n=this.flags.timeout;if(void 0===n)return void(this.acks[e]=t);const r=this.io.setTimeoutFn((()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&(a("removing packet with ack id %d from the buffer",e),this.sendBuffer.splice(t,1));a("event with ack id %d has timed out after %d ms",e,n),t.call(this,new Error("operation has timed out"))}),n);this.acks[e]=(...e)=>{this.io.clearTimeoutFn(r),t.apply(this,[null,...e])}}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){a("transport is open - connecting"),"function"==typeof this.auth?this.auth((e=>{this.packet({type:o.PacketType.CONNECT,data:e})})):this.packet({type:o.PacketType.CONNECT,data:this.auth})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){a("close (%s)",e),this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case o.PacketType.CONNECT:if(e.data&&e.data.sid){const t=e.data.sid;this.onconnect(t)}else 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 o.PacketType.EVENT:case o.PacketType.BINARY_EVENT:this.onevent(e);break;case o.PacketType.ACK:case o.PacketType.BINARY_ACK:this.onack(e);break;case o.PacketType.DISCONNECT:this.ondisconnect();break;case o.PacketType.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];a("emitting event %j",t),null!=e.id&&(a("attaching ack callback to event"),t.push(this.ack(e.id))),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const n of t)n.apply(this,e)}super.emit.apply(this,e)}ack(e){const t=this;let n=!1;return function(...r){n||(n=!0,a("sending ack %j",r),t.packet({type:o.PacketType.ACK,id:e,data:r}))}}onack(e){const t=this.acks[e.id];"function"==typeof t?(a("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),delete this.acks[e.id]):a("bad ack %s",e.id)}onconnect(e){a("socket connected with id %s",e),this.id=e,this.connected=!0,this.emitBuffered(),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){a("server disconnect (%s)",this.nsp),this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&(a("performing disconnect (%s)",this.nsp),this.packet({type:o.PacketType.DISCONNECT})),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const n of t)n.apply(this,e.data)}}}t.Socket=u},4197:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.url=void 0;const o=n(5769),s=r(n(5579)).default("socket.io-client:url");t.url=function(e,t="",n){let r=e;n=n||"undefined"!=typeof location&&location,null==e&&(e=n.protocol+"//"+n.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(s("protocol-less url %s",e),e=void 0!==n?n.protocol+"//"+e:"https://"+e),s("parse %s",e),r=o.parse(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";const i=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+i+":"+r.port+t,r.href=r.protocol+"://"+i+(n&&n.port===r.port?"":":"+r.port),r}},2830:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reconstructPacket=t.deconstructPacket=void 0;const r=n(3980);function o(e,t){if(!e)return e;if((0,r.isBinary)(e)){const n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){const n=new Array(e.length);for(let r=0;r<e.length;r++)n[r]=o(e[r],t);return n}if("object"==typeof e&&!(e instanceof Date)){const n={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=o(e[r],t));return n}return e}function s(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=s(e[n],t);else if("object"==typeof e)for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=s(e[n],t));return e}t.deconstructPacket=function(e){const t=[],n=e.data,r=e;return r.data=o(n,t),r.attachments=t.length,{packet:r,buffers:t}},t.reconstructPacket=function(e,t){return e.data=s(e.data,t),delete e.attachments,e}},170:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Decoder=t.Encoder=t.PacketType=t.protocol=void 0;const r=n(5867),o=n(2830),s=n(3980),i=(0,n(5579).default)("socket.io-parser");var a;t.protocol=5,function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(a=t.PacketType||(t.PacketType={}));t.Encoder=class{constructor(e){this.replacer=e}encode(e){return i("encoding packet %j",e),e.type!==a.EVENT&&e.type!==a.ACK||!(0,s.hasBinary)(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===a.EVENT?a.BINARY_EVENT:a.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==a.BINARY_EVENT&&e.type!==a.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),i("encoded %j as %s",e,t),t}encodeAsBinary(e){const t=(0,o.deconstructPacket)(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}};class c extends r.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const n=t.type===a.BINARY_EVENT;n||t.type===a.BINARY_ACK?(t.type=n?a.EVENT:a.ACK,this.reconstructor=new u(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!(0,s.isBinary)(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const n={type:Number(e.charAt(0))};if(void 0===a[n.type])throw new Error("unknown packet type "+n.type);if(n.type===a.BINARY_EVENT||n.type===a.BINARY_ACK){const r=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const o=e.substring(r,t);if(o!=Number(o)||"-"!==e.charAt(t))throw new Error("Illegal attachments");n.attachments=Number(o)}if("/"===e.charAt(t+1)){const r=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}n.nsp=e.substring(r,t)}else n.nsp="/";const r=e.charAt(t+1);if(""!==r&&Number(r)==r){const r=t+1;for(;++t;){const n=e.charAt(t);if(null==n||Number(n)!=n){--t;break}if(t===e.length)break}n.id=Number(e.substring(r,t+1))}if(e.charAt(++t)){const r=this.tryParse(e.substr(t));if(!c.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return i("decoded %s as %j",e,n),n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case a.CONNECT:return"object"==typeof t;case a.DISCONNECT:return void 0===t;case a.CONNECT_ERROR:return"string"==typeof t||"object"==typeof t;case a.EVENT:case a.BINARY_EVENT:return Array.isArray(t)&&t.length>0;case a.ACK:case a.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}t.Decoder=c;class u{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=(0,o.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}},3980:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasBinary=t.isBinary=void 0;const n="function"==typeof ArrayBuffer,r=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,o=Object.prototype.toString,s="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===o.call(Blob),i="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===o.call(File);function a(e){return n&&(e instanceof ArrayBuffer||r(e))||s&&e instanceof Blob||i&&e instanceof File}t.isBinary=a,t.hasBinary=function e(t,n){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(let n=0,r=t.length;n<r;n++)if(e(t[n]))return!0;return!1}if(a(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return e(t.toJSON(),!0);for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e(t[n]))return!0;return!1}},5867:(e,t,n)=>{"use strict";function r(e){if(e)return function(e){for(var t in r.prototype)e[t]=r.prototype[t];return e}(e)}n.r(t),n.d(t,{Emitter:()=>r}),r.prototype.on=r.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},r.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<r.length;o++)if((n=r[o])===t||n.fn===t){r.splice(o,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},r.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var o=(n=n.slice(0)).length;r<o;++r)n[r].apply(this,t)}return this},r.prototype.emitReserved=r.prototype.emit,r.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},r.prototype.hasListeners=function(e){return!!this.listeners(e).length}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nc=void 0;var __webpack_exports__={};(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{CloudServicesCommentsAdapter:()=>vo,CloudServicesRevisionHistoryAdapter:()=>Wo,CloudServicesTrackChangesAdapter:()=>Ao,PresenceList:()=>Xs,RealTimeCollaborativeComments:()=>No,RealTimeCollaborativeEditing:()=>lo,RealTimeCollaborativeRevisionHistory:()=>ts,RealTimeCollaborativeTrackChanges:()=>Jo});var e={};__webpack_require__.r(e),__webpack_require__.d(e,{AttributeOperation:()=>R,Element:()=>Y,InsertOperation:()=>N,MarkerOperation:()=>M,MergeOperation:()=>V,MoveOperation:()=>B,Position:()=>G,Range:()=>F,RenameOperation:()=>U,RootAttributeOperation:()=>J,RootOperation:()=>q,SplitOperation:()=>L,default:()=>D});var t=__webpack_require__(2704),n=__webpack_require__(2209),r=__webpack_require__(9273),o=__webpack_require__(1492),s=__webpack_require__(7158),i=__webpack_require__.n(s);const a=["define","then","isInReconnectionStack","bind","has","WebSocketGateway","disconnect","add","state","pluginName","limitExceeded","online","_reconnect","DISCONNECTED","cloudservices-reconnection-error","function","websocketgateway-missing-token","addToReconnectionStack","requires","_reconnectionStack","connect","plugins","constructor","error","removeFromReconnectionStack","connected","change:me","CONNECTED","connection","create","real-time-collaboration","offline","initialReconnectionInterval","code","cloudservices-init","CloudServices","context","webSocketUrl","destroy","websocketgateway-missing-websocket-url","_domEmitter","cloudServices.connectionTimeout","all","token","_shouldPluginsReconnect","cloudServices.requestTimeout","get","_isBrowserOffline","CONNECTING","config","from","delete","init","Connected users limit exceeded","listenTo","websocketgateway-plugin-already-registered","catch","reconnect","websocketgateway-invalid-plugin-interface"];var c,u;c=a,u=196,function(e){for(;--e;)c.push(c.shift())}(++u);const d=function(e,t){return a[e-=0]};class l extends t.ContextPlugin{static get[d("0x3a")](){return[d("0x10"),r.Notification]}static get[d("0x31")](){return d("0x2d")}constructor(e){super(e),this.set(d("0x30"),s.WEB_SOCKET_GATEWAY_STATES[d("0x8")]),this.set(d("0x1c"),!1),this[d("0x0")]=new Set,this[d("0x19")]=!1,this[d("0x15")]=Object[d("0xa")](n.DomEmitterMixin)}[d("0x21")](){const e=this[d("0x11")],t=e.plugins.get("CloudServices"),o=e[d("0x2")][d("0x1b")](r.Notification);if(!t[d("0x18")])throw new n.CKEditorError(d("0x38"),this);if(!t[d("0x12")])throw new n.CKEditorError(d("0x14"),this);return this[d("0x15")][d("0x23")](window,d("0xc"),(()=>this[d("0x1c")]=!0)),this[d("0x15")][d("0x23")](window,d("0x33"),(()=>this._isBrowserOffline=!1)),this[d("0x11")][d("0x1e")].define(d("0x16"),10),this[d("0x11")][d("0x1e")][d("0x28")](d("0x1a"),20),l[d("0x2d")][d("0x1")](t[d("0x18")],t[d("0x12")],{timeout:1e3*this.context.config[d("0x1b")](d("0x16")),requestTimeout:1e3*this[d("0x11")][d("0x1e")][d("0x1b")]("cloudServices.requestTimeout")})[d("0x29")]((e=>{if(this.connection=e,this[d("0x2b")](d("0x30")).to(e,"state",this,d("0x1c"),((e,t)=>(d("0x6")!==e&&(this[d("0x19")]=!0),t||e!==s.WEB_SOCKET_GATEWAY_STATES.CONNECTED?s.WEB_SOCKET_GATEWAY_STATES[d("0x35")]:this[d("0x30")]==s.WEB_SOCKET_GATEWAY_STATES[d("0x35")]&&this[d("0x19")]?(this[d("0x19")]=!1,this[d("0x34")](),s.WEB_SOCKET_GATEWAY_STATES[d("0x1d")]):s.WEB_SOCKET_GATEWAY_STATES[d("0x8")]))),this.connection.on("error",((e,t)=>{if(d("0x32")!==t[d("0xe")])throw console.error(t),new n.CKEditorError(d("0xf"),null,{originalError:t});o.showWarning("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.",{title:d("0x22"),namespace:d("0xb")})})),!e.me)return new Promise((t=>e.on(d("0x7"),t)))}))[d("0x25")]((e=>{throw console.error(e),new n.CKEditorError(d("0xf"),null,{originalError:e})}))}[d("0x39")](e){if(d("0x37")!=typeof e[d("0x26")])throw new n.CKEditorError(d("0x27"),this);if(this[d("0x2a")](e))throw new n.CKEditorError(d("0x24"),this,{name:e[d("0x3")][d("0x31")]});this[d("0x0")][d("0x2f")](e)}[d("0x5")](e){this[d("0x0")][d("0x20")](e)}isInReconnectionStack(e){return this._reconnectionStack[d("0x2c")](e)}[d("0x34")](){return this[d("0x9")][d("0x26")]()[d("0x29")]((()=>Promise[d("0x17")](Array[d("0x1f")](this[d("0x0")],(e=>e[d("0x26")]())))))[d("0x29")]((()=>this[d("0x30")]=s.WEB_SOCKET_GATEWAY_STATES[d("0x8")]))[d("0x25")]((e=>{throw console[d("0x4")](e),new n.CKEditorError(d("0x36"),this[d("0x11")])}))}[d("0x13")](){this[d("0x9")]&&this[d("0x9")][d("0x2e")](),this[d("0x30")]=s.WEB_SOCKET_GATEWAY_STATES[d("0x35")],this[d("0x15")].stopListening(),super.destroy()}}l[d("0x2d")]=i(),l[d("0xd")]=1e3;var p=__webpack_require__(2417);const h=["size","stopListening","_registeredSessions","remove","getUserSessions","set","channelSessions","getUser","clear","channelConnectedUsers","role","addUser","Sessions","add","orderNumber","_uniqueUsersCount","register","getUserBySessionId","get","_handleSessionRemove","sessions-register-already-registered","allConnectedUsers","pluginName","state","requires","connection","sessionAdd:","context","defineMe","getUserRole","connected","plugins","forEach","_createUser","listenTo","fire","_handleSessionAdd","delete","change:state","unregister","sessions-unregister-not-exist","user","init","has","mySessionId","_users","values"];var f,m;f=h,m=499,function(e){for(;--e;)f.push(f.shift())}(++m);const y=function(e,t){return h[e-=0]};class g extends t.ContextPlugin{static get[y("0x28")](){return y("0x1e")}static get[y("0x2a")](){return[l,p.Users]}constructor(e){super(e),this[y("0x18")]=new Map,this[y("0x1b")]=new Map,this[y("0x27")]=new n.Collection,this[y("0x14")]=new Map,this[y("0x21")]=0,this[y("0x10")]=this[y("0x2d")].plugins[y("0x24")](p.Users)}[y("0xd")](){const e=this[y("0x2d")].plugins[y("0x24")](l);this.listenTo(e,y("0x9"),((e,t,n)=>{if(y("0x1")!==n)this.channelSessions[y("0x3")]((e=>e[y("0x1a")]())),this.channelConnectedUsers[y("0x3")]((e=>e[y("0x1a")]())),this[y("0x27")][y("0x1a")]();else for(const[e,t]of this[y("0x14")])for(const n of t)this[y("0x7")](e,n)})),this[y("0x4")](e[y("0x2b")].me,!0)}[y("0x22")](e,t){if(this[y("0x14")][y("0xe")](e))throw new n.CKEditorError(y("0x26"),null,{channelId:e});this[y("0x14")][y("0x17")](e,t),this[y("0x18")].set(e,new n.Collection),this[y("0x1b")][y("0x17")](e,new n.Collection),this[y("0x5")](t,"add",((t,n)=>this[y("0x7")](e,n))),this[y("0x5")](t,y("0x15"),((t,n)=>this._handleSessionRemove(e,n)));for(const n of t)this[y("0x7")](e,n)}[y("0xa")](e){if(!this._registeredSessions[y("0xe")](e))throw new n.CKEditorError(y("0xb"),null,{channelId:e});const t=this[y("0x14")].get(e);this[y("0x13")](t);for(const n of t)y("0x1")===this.context[y("0x2")].get(l)[y("0x29")]&&this[y("0x25")](e,n);this[y("0x14")][y("0x8")](e),this[y("0x18")][y("0x8")](e),this.channelConnectedUsers[y("0x8")](e)}get[y("0xf")](){return this[y("0x2d")][y("0x2")].get(l).connection.sessionId}[y("0x23")](e){for(const t of this.channelSessions.values())for(const n of t)if(n.id===e)return n[y("0xc")]}[y("0x16")](e,t){const n=t?[this[y("0x18")][y("0x24")](t)]:this.channelSessions[y("0x11")](),r=new Set;for(const t of n)for(const n of t)n[y("0xc")].id===e.id&&r.add(n.id);return r}[y("0x0")](e){for(const t of this[y("0x18")][y("0x11")]())for(const n of t)if(n.user===e)return n[y("0x1c")]}_handleSessionAdd(e,t){if("connected"!==this[y("0x2d")][y("0x2")][y("0x24")](l)[y("0x29")])return;const n=t.user,r=this[y("0x10")][y("0x19")](n.id)||this[y("0x4")](n),o=Object.assign({},t,{user:r});this[y("0x18")].get(e)[y("0x1f")](o);const s=this[y("0x1b")][y("0x24")](e);s[y("0xe")](r.id)||s[y("0x1f")](r),this.allConnectedUsers[y("0xe")](r.id)||this[y("0x27")][y("0x1f")](r),this[y("0x6")](y("0x2c")+e,{channelId:e,session:o})}_handleSessionRemove(e,t){if(y("0x1")!==this[y("0x2d")][y("0x2")].get(l)[y("0x29")])return;const n=this.channelConnectedUsers[y("0x24")](e),r=t[y("0xc")];r.id&&(this.channelSessions[y("0x24")](e)[y("0x15")](t.id),n[y("0xe")](r.id)&&!this.getUserSessions(r,e).size&&n[y("0x15")](r.id),this.allConnectedUsers[y("0x24")](r.id)&&!this[y("0x16")](r)[y("0x12")]&&this[y("0x27")][y("0x15")](r.id))}[y("0x4")](e,t){const n=this[y("0x10")][y("0x1d")](e);return t&&this[y("0x10")][y("0x2e")](e.id),n[y("0x20")]=this[y("0x21")]++,n}}var b=__webpack_require__(7594),O=__webpack_require__.n(b),v=__webpack_require__(9940),w={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};O()(v.Z,w);v.Z.locals;const x=["marker","updateMarker","getMarkerClass","$text","newRange","plugins","fromRange","editing","end","getRange","isInline","pluginName","ck-user__selection","getPositions","set","start","schema","span","isObject","user:","conversion","for","startsWith","hasContent","editor","user:range:","element","addMarker","applyOperation","markerName","get","change","view","color","requires","createUIElement","change:range","markerRange","isLimit","hasDomSelection","afterInit","getNearestSelectionRange","UserMarkers","type",'&#8203;<span class="ck-user__marker-line"><span class="ck-user__marker-dot"></span></span>',"highest","model","editingDowncast","_createdBatches","user:range","getFirstRange","enqueueChange","name","render","setCustomProperty","document","userPositionMarker","reconvertMarker","has","createRange","getSelectionClass","getAttribute","init","ck-user__marker ","orderNumber","deletionPosition","getContainedElement","toRange","split","batch","$graveyard","removeMarker","data-session-id","toDomElement","selection","root","contenteditable","detach","oldRange","undo","checkChild","isCollapsed","rootName","createUserMarkerOperations","getStart","markers","user:position:","isSimilar","parent","nodeAfter","tableCell","clear","delete","getUserBySessionId","mySessionId"];var _,I;_=x,I=126,function(e){for(;--e;)_.push(_.shift())}(++I);const S=function(e,t){return x[e-=0]};class P extends t.Plugin{static get[S("0x3")](){return[g]}static get[S("0x4b")](){return S("0xb")}[S("0x1f")](){const e=this[S("0x58")],t=e.plugins.get(g);e[S("0x54")][S("0x55")](S("0x10")).markerToElement({model:"user:position",view:(n,{writer:r})=>function(e,t,n,r){const o=e[S("0x5d")][S("0x25")](":")[2],s=n[S("0x3e")](o);if(!s||o===n[S("0x3f")])return;if(!r.model[S("0x50")][S("0x31")](e[S("0x6")][S("0x4f")],S("0x43")))return;const i={class:S("0x20")+s[S("0x2")][S("0x42")](),"data-name":s[S("0x15")],"data-session-id":o},a=r[S("0xf")][S("0x36")][S("0x5e")](e[S("0x5d")])[S("0x35")](),c=a[S("0x3a")],u=r[S("0xf")][S("0x50")];if(c&&u[S("0x52")](c)&&u[S("0x4a")](c)&&!r[S("0xf")][S("0x36")][S("0x5e")](S("0x59")+o)[S("0x49")]()[S("0x32")])return;const d=a[S("0x39")];return r[S("0xf")][S("0x50")][S("0x7")](d)&&!r[S("0xf")][S("0x57")](d)&&(i[S("0x2d")]=!1),function(e,t){const n=e[S("0x4")](S("0x51"),t);return e[S("0x17")](S("0x19"),!0,n),n[S("0x16")]=function(e){const t=this[S("0x2a")](e);return t.innerHTML=S("0xd"),t},n[S("0x38")]=function(e){return!(!this.getCustomProperty(S("0x19"))||!e.getCustomProperty(S("0x19"))||this[S("0x1e")](S("0x29"))!=e[S("0x1e")](S("0x29")))},n}(t,i)}(n,r,t,e)}),e[S("0x54")][S("0x55")](S("0x10")).markerToHighlight({model:S("0x12"),view:e=>function(e,t){const n=e.markerName.split(":")[2];if(n===t.mySessionId)return null;const r=t[S("0x3e")](n);return r?{id:n,classes:[S("0x4c"),r[S("0x2")][S("0x1d")]()],attributes:{"data-session-id":n},priority:2e3+r[S("0x21")]}:{id:n,classes:[]}}(e,t)}),function(e){const t=e[S("0xf")],n=new Map,r=e.plugins[S("0x5e")](g);t[S("0x36")].on("update:user:range",((s,i,a,c)=>{if(!c&&n[S("0x5e")](i[S("0x15")]))return n.get(i[S("0x15")]).detach(),void n[S("0x3d")](i[S("0x15")]);const u=i[S("0x15")][S("0x25")](":")[2];if(u===r[S("0x3f")])return;const d=S("0x37")+u;t[S("0x36")].has(d)&&e[S("0x47")][S("0x1a")](d),i.on(S("0x5"),((e,r,s)=>{if(S("0x27")!=r.root[S("0x33")]&&S("0x27")==i.getRange()[S("0x2c")][S("0x33")]&&!n[S("0x1b")](i[S("0x15")])){const e=t[S("0x50")][S("0xa")](s[S("0x22")]);if(e){const r=o.LiveRange[S("0x46")](e);n[S("0x4e")](i[S("0x15")],r),r.on(S("0x5"),((e,o,s)=>{if("$graveyard"==r[S("0x2c")][S("0x33")]){const e=t.schema.getNearestSelectionRange(s[S("0x22")]);e?(r[S("0x4f")]=e[S("0x4f")],r[S("0x48")]=e[S("0x48")]):(n[S("0x3d")](i[S("0x15")]),r[S("0x2e")]())}}))}}}))})),t[S("0x18")].on(S("0x0"),(()=>{n.size>0&&t.enqueueChange({isUndoable:!1},(e=>{for(const[r,o]of n)S("0x27")==t[S("0x36")][S("0x5e")](r)[S("0x49")]().root[S("0x33")]&&(T(r[S("0x25")](":")[2],o[S("0x24")](),t,e),o.detach());n[S("0x3c")]()}))}))}(e)}[S("0x9")](){const e=this[S("0x58")],t=e.commands[S("0x5e")](S("0x30"));t&&e[S("0xf")].on(S("0x5c"),((n,r)=>{const o=r[0];if(S("0x40")!=o[S("0xc")]||!o.name[S("0x56")](S("0x53")))return;const s=o[S("0x26")];t[S("0x11")][S("0x1b")](s)&&(o[S("0x44")]=o.oldRange?e[S("0xf")].createRange(o[S("0x2f")][S("0x4f")],o[S("0x2f")][S("0x48")]):null)}),{priority:S("0xe")})}[S("0x34")](){const e=this[S("0x58")],t=e[S("0xf")][S("0x18")],n=e[S("0x45")][S("0x5e")](g);e[S("0xf")][S("0x14")]({isUndoable:!1},(r=>{const o="user:range:"+n[S("0x3f")],s=S("0x37")+n[S("0x3f")],i=e[S("0xf")][S("0x36")].has(o);e.editing[S("0x1")][S("0x8")]?T(n[S("0x3f")],t[S("0x2b")][S("0x13")](),e[S("0xf")],r):i&&(r[S("0x28")](o),r.removeMarker(s))}))}}function T(e,t,n,r){const o=S("0x59")+e,s=S("0x37")+e,i=t[S("0x23")]();let a=t.start;i&&i.is(S("0x5a"),S("0x3b"))&&(a=function(e,t){for(const n of e[S("0x4d")]())if(t[S("0x50")][S("0x31")](n,S("0x43")))return n}(t,n),t=r.createRange(a));const c=r[S("0x1c")](a);n[S("0x36")][S("0x1b")](o)?(r[S("0x41")](o,{range:t}),r[S("0x41")](s,{range:c})):(r[S("0x5b")](o,{range:t,usingOperation:!0}),r[S("0x5b")](s,{range:c,usingOperation:!0}))}function A(e,t,n){const r=e.t;switch(t){case"PENDING_ACTION_SENDING_DATA":return r({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 r("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 r("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 r("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 r("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 r("Synchronization issue");case"PENDING_ACTION_REVISION_HISTORY":return r({string:"Unsaved change in revision history.",id:"PENDING_ACTION_REVISION_HISTORY"});case"CONNECTED_USERS":return r({string:"1 connected user (me)",plural:"%0 connected users",id:"CONNECTED_USERS"},n);default:return""}}var k=__webpack_require__(1993);const C=k.Reader,j=k.Writer,E=k.util,D=k.roots.default||(k.roots.default={}),R=D.AttributeOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.range=null,e.prototype.key="",e.prototype.oldValueBoolean=!1,e.prototype.oldValueJson="",e.prototype.newValueBoolean=!1,e.prototype.newValueJson="",e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.range&&Object.hasOwnProperty.call(e,"range")&&D.Range.encode(e.range,t.uint32(10).fork()).ldelim(),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(18).string(e.key),null!=e.oldValueBoolean&&Object.hasOwnProperty.call(e,"oldValueBoolean")&&t.uint32(24).bool(e.oldValueBoolean),null!=e.oldValueJson&&Object.hasOwnProperty.call(e,"oldValueJson")&&t.uint32(34).string(e.oldValueJson),null!=e.newValueBoolean&&Object.hasOwnProperty.call(e,"newValueBoolean")&&t.uint32(40).bool(e.newValueBoolean),null!=e.newValueJson&&Object.hasOwnProperty.call(e,"newValueJson")&&t.uint32(50).string(e.newValueJson),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(56).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.AttributeOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.range=D.Range.decode(e,e.uint32());break;case 2:r.key=e.string();break;case 3:r.oldValueBoolean=e.bool();break;case 4:r.oldValueJson=e.string();break;case 5:r.newValueBoolean=e.bool();break;case 6:r.newValueJson=e.string();break;case 7:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.range&&e.hasOwnProperty("range")){let t=D.Range.verify(e.range);if(t)return"range."+t}return null!=e.key&&e.hasOwnProperty("key")&&!E.isString(e.key)?"key: string expected":null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof e.oldValueBoolean?"oldValueBoolean: boolean expected":null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&!E.isString(e.oldValueJson)?"oldValueJson: string expected":null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof e.newValueBoolean?"newValueBoolean: boolean expected":null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&!E.isString(e.newValueJson)?"newValueJson: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.AttributeOperation)return e;let t=new D.AttributeOperation;if(null!=e.range){if("object"!=typeof e.range)throw TypeError(".AttributeOperation.range: object expected");t.range=D.Range.fromObject(e.range)}return null!=e.key&&(t.key=String(e.key)),null!=e.oldValueBoolean&&(t.oldValueBoolean=Boolean(e.oldValueBoolean)),null!=e.oldValueJson&&(t.oldValueJson=String(e.oldValueJson)),null!=e.newValueBoolean&&(t.newValueBoolean=Boolean(e.newValueBoolean)),null!=e.newValueJson&&(t.newValueJson=String(e.newValueJson)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.range=null,n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=e.range&&e.hasOwnProperty("range")&&(n.range=D.Range.toObject(e.range,t)),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=e.oldValueBoolean),null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&(n.oldValueJson=e.oldValueJson),null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=e.newValueBoolean),null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&(n.newValueJson=e.newValueJson),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/AttributeOperation"},e})(),N=D.InsertOperation=(()=>{function e(e){if(this.nodes=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.position=null,e.prototype.nodes=E.emptyArray,e.prototype.shouldReceiveAttributes=!1,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=j.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&D.Position.encode(e.position,t.uint32(10).fork()).ldelim(),null!=e.nodes&&e.nodes.length)for(let n=0;n<e.nodes.length;++n)D.Element.encode(e.nodes[n],t.uint32(18).fork()).ldelim();return null!=e.shouldReceiveAttributes&&Object.hasOwnProperty.call(e,"shouldReceiveAttributes")&&t.uint32(24).bool(e.shouldReceiveAttributes),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(32).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.InsertOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.position=D.Position.decode(e,e.uint32());break;case 2:r.nodes&&r.nodes.length||(r.nodes=[]),r.nodes.push(D.Element.decode(e,e.uint32()));break;case 3:r.shouldReceiveAttributes=e.bool();break;case 4:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.position&&e.hasOwnProperty("position")){let t=D.Position.verify(e.position);if(t)return"position."+t}if(null!=e.nodes&&e.hasOwnProperty("nodes")){if(!Array.isArray(e.nodes))return"nodes: array expected";for(let t=0;t<e.nodes.length;++t){let n=D.Element.verify(e.nodes[t]);if(n)return"nodes."+n}}return null!=e.shouldReceiveAttributes&&e.hasOwnProperty("shouldReceiveAttributes")&&"boolean"!=typeof e.shouldReceiveAttributes?"shouldReceiveAttributes: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.InsertOperation)return e;let t=new D.InsertOperation;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".InsertOperation.position: object expected");t.position=D.Position.fromObject(e.position)}if(e.nodes){if(!Array.isArray(e.nodes))throw TypeError(".InsertOperation.nodes: array expected");t.nodes=[];for(let n=0;n<e.nodes.length;++n){if("object"!=typeof e.nodes[n])throw TypeError(".InsertOperation.nodes: object expected");t.nodes[n]=D.Element.fromObject(e.nodes[n])}}return null!=e.shouldReceiveAttributes&&(t.shouldReceiveAttributes=Boolean(e.shouldReceiveAttributes)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.nodes=[]),t.defaults&&(n.position=null,n.shouldReceiveAttributes=!1,n.wasUndone=!1),null!=e.position&&e.hasOwnProperty("position")&&(n.position=D.Position.toObject(e.position,t)),e.nodes&&e.nodes.length){n.nodes=[];for(let r=0;r<e.nodes.length;++r)n.nodes[r]=D.Element.toObject(e.nodes[r],t)}return null!=e.shouldReceiveAttributes&&e.hasOwnProperty("shouldReceiveAttributes")&&(n.shouldReceiveAttributes=e.shouldReceiveAttributes),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/InsertOperation"},e})(),M=D.MarkerOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.name="",e.prototype.oldRange=null,e.prototype.newRange=null,e.prototype.affectsData=!1,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&t.uint32(10).string(e.name),null!=e.oldRange&&Object.hasOwnProperty.call(e,"oldRange")&&D.Range.encode(e.oldRange,t.uint32(18).fork()).ldelim(),null!=e.newRange&&Object.hasOwnProperty.call(e,"newRange")&&D.Range.encode(e.newRange,t.uint32(26).fork()).ldelim(),null!=e.affectsData&&Object.hasOwnProperty.call(e,"affectsData")&&t.uint32(32).bool(e.affectsData),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(40).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.MarkerOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.name=e.string();break;case 2:r.oldRange=D.Range.decode(e,e.uint32());break;case 3:r.newRange=D.Range.decode(e,e.uint32());break;case 4:r.affectsData=e.bool();break;case 5:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")&&!E.isString(e.name))return"name: string expected";if(null!=e.oldRange&&e.hasOwnProperty("oldRange")){let t=D.Range.verify(e.oldRange);if(t)return"oldRange."+t}if(null!=e.newRange&&e.hasOwnProperty("newRange")){let t=D.Range.verify(e.newRange);if(t)return"newRange."+t}return null!=e.affectsData&&e.hasOwnProperty("affectsData")&&"boolean"!=typeof e.affectsData?"affectsData: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.MarkerOperation)return e;let t=new D.MarkerOperation;if(null!=e.name&&(t.name=String(e.name)),null!=e.oldRange){if("object"!=typeof e.oldRange)throw TypeError(".MarkerOperation.oldRange: object expected");t.oldRange=D.Range.fromObject(e.oldRange)}if(null!=e.newRange){if("object"!=typeof e.newRange)throw TypeError(".MarkerOperation.newRange: object expected");t.newRange=D.Range.fromObject(e.newRange)}return null!=e.affectsData&&(t.affectsData=Boolean(e.affectsData)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.name="",n.oldRange=null,n.newRange=null,n.affectsData=!1,n.wasUndone=!1),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.oldRange&&e.hasOwnProperty("oldRange")&&(n.oldRange=D.Range.toObject(e.oldRange,t)),null!=e.newRange&&e.hasOwnProperty("newRange")&&(n.newRange=D.Range.toObject(e.newRange,t)),null!=e.affectsData&&e.hasOwnProperty("affectsData")&&(n.affectsData=e.affectsData),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MarkerOperation"},e})(),V=D.MergeOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.sourcePosition=null,e.prototype.targetPosition=null,e.prototype.graveyardPosition=null,e.prototype.howMany=0,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.sourcePosition&&Object.hasOwnProperty.call(e,"sourcePosition")&&D.Position.encode(e.sourcePosition,t.uint32(10).fork()).ldelim(),null!=e.targetPosition&&Object.hasOwnProperty.call(e,"targetPosition")&&D.Position.encode(e.targetPosition,t.uint32(18).fork()).ldelim(),null!=e.graveyardPosition&&Object.hasOwnProperty.call(e,"graveyardPosition")&&D.Position.encode(e.graveyardPosition,t.uint32(26).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&t.uint32(32).uint32(e.howMany),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(40).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.MergeOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.sourcePosition=D.Position.decode(e,e.uint32());break;case 2:r.targetPosition=D.Position.decode(e,e.uint32());break;case 3:r.graveyardPosition=D.Position.decode(e,e.uint32());break;case 4:r.howMany=e.uint32();break;case 5:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")){let t=D.Position.verify(e.sourcePosition);if(t)return"sourcePosition."+t}if(null!=e.targetPosition&&e.hasOwnProperty("targetPosition")){let t=D.Position.verify(e.targetPosition);if(t)return"targetPosition."+t}if(null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")){let t=D.Position.verify(e.graveyardPosition);if(t)return"graveyardPosition."+t}return null!=e.howMany&&e.hasOwnProperty("howMany")&&!E.isInteger(e.howMany)?"howMany: integer expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.MergeOperation)return e;let t=new D.MergeOperation;if(null!=e.sourcePosition){if("object"!=typeof e.sourcePosition)throw TypeError(".MergeOperation.sourcePosition: object expected");t.sourcePosition=D.Position.fromObject(e.sourcePosition)}if(null!=e.targetPosition){if("object"!=typeof e.targetPosition)throw TypeError(".MergeOperation.targetPosition: object expected");t.targetPosition=D.Position.fromObject(e.targetPosition)}if(null!=e.graveyardPosition){if("object"!=typeof e.graveyardPosition)throw TypeError(".MergeOperation.graveyardPosition: object expected");t.graveyardPosition=D.Position.fromObject(e.graveyardPosition)}return null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.sourcePosition=null,n.targetPosition=null,n.graveyardPosition=null,n.howMany=0,n.wasUndone=!1),null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(n.sourcePosition=D.Position.toObject(e.sourcePosition,t)),null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(n.targetPosition=D.Position.toObject(e.targetPosition,t)),null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=D.Position.toObject(e.graveyardPosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MergeOperation"},e})(),B=D.MoveOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.sourcePosition=null,e.prototype.howMany=0,e.prototype.targetPosition=null,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.sourcePosition&&Object.hasOwnProperty.call(e,"sourcePosition")&&D.Position.encode(e.sourcePosition,t.uint32(10).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&t.uint32(16).uint32(e.howMany),null!=e.targetPosition&&Object.hasOwnProperty.call(e,"targetPosition")&&D.Position.encode(e.targetPosition,t.uint32(26).fork()).ldelim(),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(32).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.MoveOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.sourcePosition=D.Position.decode(e,e.uint32());break;case 2:r.howMany=e.uint32();break;case 3:r.targetPosition=D.Position.decode(e,e.uint32());break;case 4:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")){let t=D.Position.verify(e.sourcePosition);if(t)return"sourcePosition."+t}if(null!=e.howMany&&e.hasOwnProperty("howMany")&&!E.isInteger(e.howMany))return"howMany: integer expected";if(null!=e.targetPosition&&e.hasOwnProperty("targetPosition")){let t=D.Position.verify(e.targetPosition);if(t)return"targetPosition."+t}return null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.MoveOperation)return e;let t=new D.MoveOperation;if(null!=e.sourcePosition){if("object"!=typeof e.sourcePosition)throw TypeError(".MoveOperation.sourcePosition: object expected");t.sourcePosition=D.Position.fromObject(e.sourcePosition)}if(null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.targetPosition){if("object"!=typeof e.targetPosition)throw TypeError(".MoveOperation.targetPosition: object expected");t.targetPosition=D.Position.fromObject(e.targetPosition)}return null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.sourcePosition=null,n.howMany=0,n.targetPosition=null,n.wasUndone=!1),null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(n.sourcePosition=D.Position.toObject(e.sourcePosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(n.targetPosition=D.Position.toObject(e.targetPosition,t)),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MoveOperation"},e})(),U=D.RenameOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.position=null,e.prototype.oldName="",e.prototype.newName="",e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&D.Position.encode(e.position,t.uint32(10).fork()).ldelim(),null!=e.oldName&&Object.hasOwnProperty.call(e,"oldName")&&t.uint32(18).string(e.oldName),null!=e.newName&&Object.hasOwnProperty.call(e,"newName")&&t.uint32(26).string(e.newName),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(32).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.RenameOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.position=D.Position.decode(e,e.uint32());break;case 2:r.oldName=e.string();break;case 3:r.newName=e.string();break;case 4:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.position&&e.hasOwnProperty("position")){let t=D.Position.verify(e.position);if(t)return"position."+t}return null!=e.oldName&&e.hasOwnProperty("oldName")&&!E.isString(e.oldName)?"oldName: string expected":null!=e.newName&&e.hasOwnProperty("newName")&&!E.isString(e.newName)?"newName: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.RenameOperation)return e;let t=new D.RenameOperation;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".RenameOperation.position: object expected");t.position=D.Position.fromObject(e.position)}return null!=e.oldName&&(t.oldName=String(e.oldName)),null!=e.newName&&(t.newName=String(e.newName)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.position=null,n.oldName="",n.newName="",n.wasUndone=!1),null!=e.position&&e.hasOwnProperty("position")&&(n.position=D.Position.toObject(e.position,t)),null!=e.oldName&&e.hasOwnProperty("oldName")&&(n.oldName=e.oldName),null!=e.newName&&e.hasOwnProperty("newName")&&(n.newName=e.newName),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RenameOperation"},e})(),J=D.RootAttributeOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.root="",e.prototype.key="",e.prototype.oldValueBoolean=!1,e.prototype.oldValueJson="",e.prototype.newValueBoolean=!1,e.prototype.newValueJson="",e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.root&&Object.hasOwnProperty.call(e,"root")&&t.uint32(10).string(e.root),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(18).string(e.key),null!=e.oldValueBoolean&&Object.hasOwnProperty.call(e,"oldValueBoolean")&&t.uint32(24).bool(e.oldValueBoolean),null!=e.oldValueJson&&Object.hasOwnProperty.call(e,"oldValueJson")&&t.uint32(34).string(e.oldValueJson),null!=e.newValueBoolean&&Object.hasOwnProperty.call(e,"newValueBoolean")&&t.uint32(40).bool(e.newValueBoolean),null!=e.newValueJson&&Object.hasOwnProperty.call(e,"newValueJson")&&t.uint32(50).string(e.newValueJson),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(56).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.RootAttributeOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.root=e.string();break;case 2:r.key=e.string();break;case 3:r.oldValueBoolean=e.bool();break;case 4:r.oldValueJson=e.string();break;case 5:r.newValueBoolean=e.bool();break;case 6:r.newValueJson=e.string();break;case 7:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.root&&e.hasOwnProperty("root")&&!E.isString(e.root)?"root: string expected":null!=e.key&&e.hasOwnProperty("key")&&!E.isString(e.key)?"key: string expected":null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof e.oldValueBoolean?"oldValueBoolean: boolean expected":null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&!E.isString(e.oldValueJson)?"oldValueJson: string expected":null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof e.newValueBoolean?"newValueBoolean: boolean expected":null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&!E.isString(e.newValueJson)?"newValueJson: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.RootAttributeOperation)return e;let t=new D.RootAttributeOperation;return null!=e.root&&(t.root=String(e.root)),null!=e.key&&(t.key=String(e.key)),null!=e.oldValueBoolean&&(t.oldValueBoolean=Boolean(e.oldValueBoolean)),null!=e.oldValueJson&&(t.oldValueJson=String(e.oldValueJson)),null!=e.newValueBoolean&&(t.newValueBoolean=Boolean(e.newValueBoolean)),null!=e.newValueJson&&(t.newValueJson=String(e.newValueJson)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.root="",n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=e.root&&e.hasOwnProperty("root")&&(n.root=e.root),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=e.oldValueBoolean),null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&(n.oldValueJson=e.oldValueJson),null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=e.newValueBoolean),null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&(n.newValueJson=e.newValueJson),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RootAttributeOperation"},e})(),q=D.RootOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.rootName="",e.prototype.elementName="",e.prototype.isAdd=!1,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.rootName&&Object.hasOwnProperty.call(e,"rootName")&&t.uint32(10).string(e.rootName),null!=e.elementName&&Object.hasOwnProperty.call(e,"elementName")&&t.uint32(18).string(e.elementName),null!=e.isAdd&&Object.hasOwnProperty.call(e,"isAdd")&&t.uint32(24).bool(e.isAdd),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(32).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.RootOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.rootName=e.string();break;case 2:r.elementName=e.string();break;case 3:r.isAdd=e.bool();break;case 4:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.rootName&&e.hasOwnProperty("rootName")&&!E.isString(e.rootName)?"rootName: string expected":null!=e.elementName&&e.hasOwnProperty("elementName")&&!E.isString(e.elementName)?"elementName: string expected":null!=e.isAdd&&e.hasOwnProperty("isAdd")&&"boolean"!=typeof e.isAdd?"isAdd: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.RootOperation)return e;let t=new D.RootOperation;return null!=e.rootName&&(t.rootName=String(e.rootName)),null!=e.elementName&&(t.elementName=String(e.elementName)),null!=e.isAdd&&(t.isAdd=Boolean(e.isAdd)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.rootName="",n.elementName="",n.isAdd=!1,n.wasUndone=!1),null!=e.rootName&&e.hasOwnProperty("rootName")&&(n.rootName=e.rootName),null!=e.elementName&&e.hasOwnProperty("elementName")&&(n.elementName=e.elementName),null!=e.isAdd&&e.hasOwnProperty("isAdd")&&(n.isAdd=e.isAdd),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RootOperation"},e})(),L=D.SplitOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.splitPosition=null,e.prototype.graveyardPosition=null,e.prototype.howMany=0,e.prototype.insertionPosition=null,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.splitPosition&&Object.hasOwnProperty.call(e,"splitPosition")&&D.Position.encode(e.splitPosition,t.uint32(10).fork()).ldelim(),null!=e.graveyardPosition&&Object.hasOwnProperty.call(e,"graveyardPosition")&&D.Position.encode(e.graveyardPosition,t.uint32(18).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&t.uint32(24).uint32(e.howMany),null!=e.insertionPosition&&Object.hasOwnProperty.call(e,"insertionPosition")&&D.Position.encode(e.insertionPosition,t.uint32(34).fork()).ldelim(),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(40).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.SplitOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.splitPosition=D.Position.decode(e,e.uint32());break;case 2:r.graveyardPosition=D.Position.decode(e,e.uint32());break;case 3:r.howMany=e.uint32();break;case 4:r.insertionPosition=D.Position.decode(e,e.uint32());break;case 5:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.splitPosition&&e.hasOwnProperty("splitPosition")){let t=D.Position.verify(e.splitPosition);if(t)return"splitPosition."+t}if(null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")){let t=D.Position.verify(e.graveyardPosition);if(t)return"graveyardPosition."+t}if(null!=e.howMany&&e.hasOwnProperty("howMany")&&!E.isInteger(e.howMany))return"howMany: integer expected";if(null!=e.insertionPosition&&e.hasOwnProperty("insertionPosition")){let t=D.Position.verify(e.insertionPosition);if(t)return"insertionPosition."+t}return null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.SplitOperation)return e;let t=new D.SplitOperation;if(null!=e.splitPosition){if("object"!=typeof e.splitPosition)throw TypeError(".SplitOperation.splitPosition: object expected");t.splitPosition=D.Position.fromObject(e.splitPosition)}if(null!=e.graveyardPosition){if("object"!=typeof e.graveyardPosition)throw TypeError(".SplitOperation.graveyardPosition: object expected");t.graveyardPosition=D.Position.fromObject(e.graveyardPosition)}if(null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.insertionPosition){if("object"!=typeof e.insertionPosition)throw TypeError(".SplitOperation.insertionPosition: object expected");t.insertionPosition=D.Position.fromObject(e.insertionPosition)}return null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.splitPosition=null,n.graveyardPosition=null,n.howMany=0,n.insertionPosition=null,n.wasUndone=!1),null!=e.splitPosition&&e.hasOwnProperty("splitPosition")&&(n.splitPosition=D.Position.toObject(e.splitPosition,t)),null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=D.Position.toObject(e.graveyardPosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.insertionPosition&&e.hasOwnProperty("insertionPosition")&&(n.insertionPosition=D.Position.toObject(e.insertionPosition,t)),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SplitOperation"},e})(),G=D.Position=(()=>{function e(e){if(this.path=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.root="",e.prototype.rootMain=!1,e.prototype.rootGraveyard=!1,e.prototype.path=E.emptyArray,e.prototype.stickiness="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=j.create()),null!=e.root&&Object.hasOwnProperty.call(e,"root")&&t.uint32(10).string(e.root),null!=e.rootMain&&Object.hasOwnProperty.call(e,"rootMain")&&t.uint32(16).bool(e.rootMain),null!=e.rootGraveyard&&Object.hasOwnProperty.call(e,"rootGraveyard")&&t.uint32(24).bool(e.rootGraveyard),null!=e.path&&e.path.length){t.uint32(34).fork();for(let n=0;n<e.path.length;++n)t.uint32(e.path[n]);t.ldelim()}return null!=e.stickiness&&Object.hasOwnProperty.call(e,"stickiness")&&t.uint32(42).string(e.stickiness),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.Position;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.root=e.string();break;case 2:r.rootMain=e.bool();break;case 3:r.rootGraveyard=e.bool();break;case 4:if(r.path&&r.path.length||(r.path=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)r.path.push(e.uint32())}else r.path.push(e.uint32());break;case 5:r.stickiness=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.root&&e.hasOwnProperty("root")&&!E.isString(e.root))return"root: string expected";if(null!=e.rootMain&&e.hasOwnProperty("rootMain")&&"boolean"!=typeof e.rootMain)return"rootMain: boolean expected";if(null!=e.rootGraveyard&&e.hasOwnProperty("rootGraveyard")&&"boolean"!=typeof e.rootGraveyard)return"rootGraveyard: boolean expected";if(null!=e.path&&e.hasOwnProperty("path")){if(!Array.isArray(e.path))return"path: array expected";for(let t=0;t<e.path.length;++t)if(!E.isInteger(e.path[t]))return"path: integer[] expected"}return null!=e.stickiness&&e.hasOwnProperty("stickiness")&&!E.isString(e.stickiness)?"stickiness: string expected":null},e.fromObject=function(e){if(e instanceof D.Position)return e;let t=new D.Position;if(null!=e.root&&(t.root=String(e.root)),null!=e.rootMain&&(t.rootMain=Boolean(e.rootMain)),null!=e.rootGraveyard&&(t.rootGraveyard=Boolean(e.rootGraveyard)),e.path){if(!Array.isArray(e.path))throw TypeError(".Position.path: array expected");t.path=[];for(let n=0;n<e.path.length;++n)t.path[n]=e.path[n]>>>0}return null!=e.stickiness&&(t.stickiness=String(e.stickiness)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.path=[]),t.defaults&&(n.root="",n.rootMain=!1,n.rootGraveyard=!1,n.stickiness=""),null!=e.root&&e.hasOwnProperty("root")&&(n.root=e.root),null!=e.rootMain&&e.hasOwnProperty("rootMain")&&(n.rootMain=e.rootMain),null!=e.rootGraveyard&&e.hasOwnProperty("rootGraveyard")&&(n.rootGraveyard=e.rootGraveyard),e.path&&e.path.length){n.path=[];for(let t=0;t<e.path.length;++t)n.path[t]=e.path[t]}return null!=e.stickiness&&e.hasOwnProperty("stickiness")&&(n.stickiness=e.stickiness),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Position"},e})(),F=D.Range=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.start=null,e.prototype.end=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.start&&Object.hasOwnProperty.call(e,"start")&&D.Position.encode(e.start,t.uint32(10).fork()).ldelim(),null!=e.end&&Object.hasOwnProperty.call(e,"end")&&D.Position.encode(e.end,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.Range;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.start=D.Position.decode(e,e.uint32());break;case 2:r.end=D.Position.decode(e,e.uint32());break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.start&&e.hasOwnProperty("start")){let t=D.Position.verify(e.start);if(t)return"start."+t}if(null!=e.end&&e.hasOwnProperty("end")){let t=D.Position.verify(e.end);if(t)return"end."+t}return null},e.fromObject=function(e){if(e instanceof D.Range)return e;let t=new D.Range;if(null!=e.start){if("object"!=typeof e.start)throw TypeError(".Range.start: object expected");t.start=D.Position.fromObject(e.start)}if(null!=e.end){if("object"!=typeof e.end)throw TypeError(".Range.end: object expected");t.end=D.Position.fromObject(e.end)}return t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.start=null,n.end=null),null!=e.start&&e.hasOwnProperty("start")&&(n.start=D.Position.toObject(e.start,t)),null!=e.end&&e.hasOwnProperty("end")&&(n.end=D.Position.toObject(e.end,t)),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Range"},e})(),Y=D.Element=(()=>{function e(e){if(this.children=[],this.attributesBoolean={},e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.name="",e.prototype.children=E.emptyArray,e.prototype.data="",e.prototype.attributesBoolean=E.emptyObject,e.prototype.attributesJson="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=j.create()),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&t.uint32(10).string(e.name),null!=e.children&&e.children.length)for(let n=0;n<e.children.length;++n)D.Element.encode(e.children[n],t.uint32(18).fork()).ldelim();if(null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(26).string(e.data),null!=e.attributesBoolean&&Object.hasOwnProperty.call(e,"attributesBoolean"))for(let n=Object.keys(e.attributesBoolean),r=0;r<n.length;++r)t.uint32(34).fork().uint32(10).string(n[r]).uint32(16).bool(e.attributesBoolean[n[r]]).ldelim();return null!=e.attributesJson&&Object.hasOwnProperty.call(e,"attributesJson")&&t.uint32(42).string(e.attributesJson),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n,r,o=void 0===t?e.len:e.pos+t,s=new D.Element;for(;e.pos<o;){let t=e.uint32();switch(t>>>3){case 1:s.name=e.string();break;case 2:s.children&&s.children.length||(s.children=[]),s.children.push(D.Element.decode(e,e.uint32()));break;case 3:s.data=e.string();break;case 4:{s.attributesBoolean===E.emptyObject&&(s.attributesBoolean={});let t=e.uint32()+e.pos;for(n="",r=!1;e.pos<t;){let t=e.uint32();switch(t>>>3){case 1:n=e.string();break;case 2:r=e.bool();break;default:e.skipType(7&t)}}s.attributesBoolean[n]=r;break}case 5:s.attributesJson=e.string();break;default:e.skipType(7&t)}}return s},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")&&!E.isString(e.name))return"name: string expected";if(null!=e.children&&e.hasOwnProperty("children")){if(!Array.isArray(e.children))return"children: array expected";for(let t=0;t<e.children.length;++t){let n=D.Element.verify(e.children[t]);if(n)return"children."+n}}if(null!=e.data&&e.hasOwnProperty("data")&&!E.isString(e.data))return"data: string expected";if(null!=e.attributesBoolean&&e.hasOwnProperty("attributesBoolean")){if(!E.isObject(e.attributesBoolean))return"attributesBoolean: object expected";let t=Object.keys(e.attributesBoolean);for(let n=0;n<t.length;++n)if("boolean"!=typeof e.attributesBoolean[t[n]])return"attributesBoolean: boolean{k:string} expected"}return null!=e.attributesJson&&e.hasOwnProperty("attributesJson")&&!E.isString(e.attributesJson)?"attributesJson: string expected":null},e.fromObject=function(e){if(e instanceof D.Element)return e;let t=new D.Element;if(null!=e.name&&(t.name=String(e.name)),e.children){if(!Array.isArray(e.children))throw TypeError(".Element.children: array expected");t.children=[];for(let n=0;n<e.children.length;++n){if("object"!=typeof e.children[n])throw TypeError(".Element.children: object expected");t.children[n]=D.Element.fromObject(e.children[n])}}if(null!=e.data&&(t.data=String(e.data)),e.attributesBoolean){if("object"!=typeof e.attributesBoolean)throw TypeError(".Element.attributesBoolean: object expected");t.attributesBoolean={};for(let n=Object.keys(e.attributesBoolean),r=0;r<n.length;++r)t.attributesBoolean[n[r]]=Boolean(e.attributesBoolean[n[r]])}return null!=e.attributesJson&&(t.attributesJson=String(e.attributesJson)),t},e.toObject=function(e,t){t||(t={});let n,r={};if((t.arrays||t.defaults)&&(r.children=[]),(t.objects||t.defaults)&&(r.attributesBoolean={}),t.defaults&&(r.name="",r.data="",r.attributesJson=""),null!=e.name&&e.hasOwnProperty("name")&&(r.name=e.name),e.children&&e.children.length){r.children=[];for(let n=0;n<e.children.length;++n)r.children[n]=D.Element.toObject(e.children[n],t)}if(null!=e.data&&e.hasOwnProperty("data")&&(r.data=e.data),e.attributesBoolean&&(n=Object.keys(e.attributesBoolean)).length){r.attributesBoolean={};for(let t=0;t<n.length;++t)r.attributesBoolean[n[t]]=e.attributesBoolean[n[t]]}return null!=e.attributesJson&&e.hasOwnProperty("attributesJson")&&(r.attributesJson=e.attributesJson),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Element"},e})();class z{constructor(){this._protobufRoot=e}getDescriptor(e){return new H(this._protobufRoot[e])}}class H{constructor(e){this._protobuf=e}compress(e){const t=this._protobuf.verify(e);if(t)throw Error(t);return this._protobuf.encode(this._protobuf.create(e)).finish()}decompress(e){return this._protobuf.toObject(this._protobuf.decode(e),{oneofs:!0})}}const K=function(){this.__data__=[],this.size=0};const W=function(e,t){return e===t||e!=e&&t!=t};const $=function(e,t){for(var n=e.length;n--;)if(W(e[n][0],t))return n;return-1};var X=Array.prototype.splice;const Z=function(e){var t=this.__data__,n=$(t,e);return!(n<0)&&(n==t.length-1?t.pop():X.call(t,n,1),--this.size,!0)};const Q=function(e){var t=this.__data__,n=$(t,e);return n<0?void 0:t[n][1]};const ee=function(e){return $(this.__data__,e)>-1};const te=function(e,t){var n=this.__data__,r=$(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function ne(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}ne.prototype.clear=K,ne.prototype.delete=Z,ne.prototype.get=Q,ne.prototype.has=ee,ne.prototype.set=te;const re=ne;const oe=function(){this.__data__=new re,this.size=0};const se=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};const ie=function(e){return this.__data__.get(e)};const ae=function(e){return this.__data__.has(e)};const ce="object"==typeof global&&global&&global.Object===Object&&global;var ue="object"==typeof self&&self&&self.Object===Object&&self;const de=ce||ue||Function("return this")();const le=de.Symbol;var pe=Object.prototype,he=pe.hasOwnProperty,fe=pe.toString,me=le?le.toStringTag:void 0;const ye=function(e){var t=he.call(e,me),n=e[me];try{e[me]=void 0;var r=!0}catch(e){}var o=fe.call(e);return r&&(t?e[me]=n:delete e[me]),o};var ge=Object.prototype.toString;const be=function(e){return ge.call(e)};var Oe=le?le.toStringTag:void 0;const ve=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Oe&&Oe in Object(e)?ye(e):be(e)};const we=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const xe=function(e){if(!we(e))return!1;var t=ve(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const _e=de["__core-js_shared__"];var Ie,Se=(Ie=/[^.]+$/.exec(_e&&_e.keys&&_e.keys.IE_PROTO||""))?"Symbol(src)_1."+Ie:"";const Pe=function(e){return!!Se&&Se in e};var Te=Function.prototype.toString;const Ae=function(e){if(null!=e){try{return Te.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var ke=/^\[object .+?Constructor\]$/,Ce=Function.prototype,je=Object.prototype,Ee=Ce.toString,De=je.hasOwnProperty,Re=RegExp("^"+Ee.call(De).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const Ne=function(e){return!(!we(e)||Pe(e))&&(xe(e)?Re:ke).test(Ae(e))};const Me=function(e,t){return null==e?void 0:e[t]};const Ve=function(e,t){var n=Me(e,t);return Ne(n)?n:void 0};const Be=Ve(de,"Map");const Ue=Ve(Object,"create");const Je=function(){this.__data__=Ue?Ue(null):{},this.size=0};const qe=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var Le=Object.prototype.hasOwnProperty;const Ge=function(e){var t=this.__data__;if(Ue){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return Le.call(t,e)?t[e]:void 0};var Fe=Object.prototype.hasOwnProperty;const Ye=function(e){var t=this.__data__;return Ue?void 0!==t[e]:Fe.call(t,e)};const ze=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Ue&&void 0===t?"__lodash_hash_undefined__":t,this};function He(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}He.prototype.clear=Je,He.prototype.delete=qe,He.prototype.get=Ge,He.prototype.has=Ye,He.prototype.set=ze;const Ke=He;const We=function(){this.size=0,this.__data__={hash:new Ke,map:new(Be||re),string:new Ke}};const $e=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};const Xe=function(e,t){var n=e.__data__;return $e(t)?n["string"==typeof t?"string":"hash"]:n.map};const Ze=function(e){var t=Xe(this,e).delete(e);return this.size-=t?1:0,t};const Qe=function(e){return Xe(this,e).get(e)};const et=function(e){return Xe(this,e).has(e)};const tt=function(e,t){var n=Xe(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function nt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}nt.prototype.clear=We,nt.prototype.delete=Ze,nt.prototype.get=Qe,nt.prototype.has=et,nt.prototype.set=tt;const rt=nt;const ot=function(e,t){var n=this.__data__;if(n instanceof re){var r=n.__data__;if(!Be||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new rt(r)}return n.set(e,t),this.size=n.size,this};function st(e){var t=this.__data__=new re(e);this.size=t.size}st.prototype.clear=oe,st.prototype.delete=se,st.prototype.get=ie,st.prototype.has=ae,st.prototype.set=ot;const it=st;const at=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e};const ct=function(){try{var e=Ve(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();const ut=function(e,t,n){"__proto__"==t&&ct?ct(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n};var dt=Object.prototype.hasOwnProperty;const lt=function(e,t,n){var r=e[t];dt.call(e,t)&&W(r,n)&&(void 0!==n||t in e)||ut(e,t,n)};const pt=function(e,t,n,r){var o=!n;n||(n={});for(var s=-1,i=t.length;++s<i;){var a=t[s],c=r?r(n[a],e[a],a,n,e):void 0;void 0===c&&(c=e[a]),o?ut(n,a,c):lt(n,a,c)}return n};const ht=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r};const ft=function(e){return null!=e&&"object"==typeof e};const mt=function(e){return ft(e)&&"[object Arguments]"==ve(e)};var yt=Object.prototype,gt=yt.hasOwnProperty,bt=yt.propertyIsEnumerable;const Ot=mt(function(){return arguments}())?mt:function(e){return ft(e)&&gt.call(e,"callee")&&!bt.call(e,"callee")};const vt=Array.isArray;const wt=function(){return!1};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,_t=xt&&"object"==typeof module&&module&&!module.nodeType&&module,It=_t&&_t.exports===xt?de.Buffer:void 0;const St=(It?It.isBuffer:void 0)||wt;var Pt=/^(?:0|[1-9]\d*)$/;const Tt=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&Pt.test(e))&&e>-1&&e%1==0&&e<t};const At=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var kt={};kt["[object Float32Array]"]=kt["[object Float64Array]"]=kt["[object Int8Array]"]=kt["[object Int16Array]"]=kt["[object Int32Array]"]=kt["[object Uint8Array]"]=kt["[object Uint8ClampedArray]"]=kt["[object Uint16Array]"]=kt["[object Uint32Array]"]=!0,kt["[object Arguments]"]=kt["[object Array]"]=kt["[object ArrayBuffer]"]=kt["[object Boolean]"]=kt["[object DataView]"]=kt["[object Date]"]=kt["[object Error]"]=kt["[object Function]"]=kt["[object Map]"]=kt["[object Number]"]=kt["[object Object]"]=kt["[object RegExp]"]=kt["[object Set]"]=kt["[object String]"]=kt["[object WeakMap]"]=!1;const Ct=function(e){return ft(e)&&At(e.length)&&!!kt[ve(e)]};const jt=function(e){return function(t){return e(t)}};var Et="object"==typeof exports&&exports&&!exports.nodeType&&exports,Dt=Et&&"object"==typeof module&&module&&!module.nodeType&&module,Rt=Dt&&Dt.exports===Et&&ce.process;const Nt=function(){try{var e=Dt&&Dt.require&&Dt.require("util").types;return e||Rt&&Rt.binding&&Rt.binding("util")}catch(e){}}();var Mt=Nt&&Nt.isTypedArray;const Vt=Mt?jt(Mt):Ct;var Bt=Object.prototype.hasOwnProperty;const Ut=function(e,t){var n=vt(e),r=!n&&Ot(e),o=!n&&!r&&St(e),s=!n&&!r&&!o&&Vt(e),i=n||r||o||s,a=i?ht(e.length,String):[],c=a.length;for(var u in e)!t&&!Bt.call(e,u)||i&&("length"==u||o&&("offset"==u||"parent"==u)||s&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||Tt(u,c))||a.push(u);return a};var Jt=Object.prototype;const qt=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Jt)};const Lt=function(e,t){return function(n){return e(t(n))}};const Gt=Lt(Object.keys,Object);var Ft=Object.prototype.hasOwnProperty;const Yt=function(e){if(!qt(e))return Gt(e);var t=[];for(var n in Object(e))Ft.call(e,n)&&"constructor"!=n&&t.push(n);return t};const zt=function(e){return null!=e&&At(e.length)&&!xe(e)};const Ht=function(e){return zt(e)?Ut(e):Yt(e)};const Kt=function(e,t){return e&&pt(t,Ht(t),e)};const Wt=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t};var $t=Object.prototype.hasOwnProperty;const Xt=function(e){if(!we(e))return Wt(e);var t=qt(e),n=[];for(var r in e)("constructor"!=r||!t&&$t.call(e,r))&&n.push(r);return n};const Zt=function(e){return zt(e)?Ut(e,!0):Xt(e)};const Qt=function(e,t){return e&&pt(t,Zt(t),e)};var en="object"==typeof exports&&exports&&!exports.nodeType&&exports,tn=en&&"object"==typeof module&&module&&!module.nodeType&&module,nn=tn&&tn.exports===en?de.Buffer:void 0,rn=nn?nn.allocUnsafe:void 0;const on=function(e,t){if(t)return e.slice();var n=e.length,r=rn?rn(n):new e.constructor(n);return e.copy(r),r};const sn=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t};const an=function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,s=[];++n<r;){var i=e[n];t(i,n,e)&&(s[o++]=i)}return s};const cn=function(){return[]};var un=Object.prototype.propertyIsEnumerable,dn=Object.getOwnPropertySymbols;const ln=dn?function(e){return null==e?[]:(e=Object(e),an(dn(e),(function(t){return un.call(e,t)})))}:cn;const pn=function(e,t){return pt(e,ln(e),t)};const hn=function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e};const fn=Lt(Object.getPrototypeOf,Object);const mn=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)hn(t,ln(e)),e=fn(e);return t}:cn;const yn=function(e,t){return pt(e,mn(e),t)};const gn=function(e,t,n){var r=t(e);return vt(e)?r:hn(r,n(e))};const bn=function(e){return gn(e,Ht,ln)};const On=function(e){return gn(e,Zt,mn)};const vn=Ve(de,"DataView");const wn=Ve(de,"Promise");const xn=Ve(de,"Set");const _n=Ve(de,"WeakMap");var In="[object Map]",Sn="[object Promise]",Pn="[object Set]",Tn="[object WeakMap]",An="[object DataView]",kn=Ae(vn),Cn=Ae(Be),jn=Ae(wn),En=Ae(xn),Dn=Ae(_n),Rn=ve;(vn&&Rn(new vn(new ArrayBuffer(1)))!=An||Be&&Rn(new Be)!=In||wn&&Rn(wn.resolve())!=Sn||xn&&Rn(new xn)!=Pn||_n&&Rn(new _n)!=Tn)&&(Rn=function(e){var t=ve(e),n="[object Object]"==t?e.constructor:void 0,r=n?Ae(n):"";if(r)switch(r){case kn:return An;case Cn:return In;case jn:return Sn;case En:return Pn;case Dn:return Tn}return t});const Nn=Rn;var Mn=Object.prototype.hasOwnProperty;const Vn=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Mn.call(e,"index")&&(n.index=e.index,n.input=e.input),n};const Bn=de.Uint8Array;const Un=function(e){var t=new e.constructor(e.byteLength);return new Bn(t).set(new Bn(e)),t};const Jn=function(e,t){var n=t?Un(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)};var qn=/\w*$/;const Ln=function(e){var t=new e.constructor(e.source,qn.exec(e));return t.lastIndex=e.lastIndex,t};var Gn=le?le.prototype:void 0,Fn=Gn?Gn.valueOf:void 0;const Yn=function(e){return Fn?Object(Fn.call(e)):{}};const zn=function(e,t){var n=t?Un(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)};const Hn=function(e,t,n){var r=e.constructor;switch(t){case"[object ArrayBuffer]":return Un(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return Jn(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return zn(e,n);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return Ln(e);case"[object Symbol]":return Yn(e)}};var Kn=Object.create;const Wn=function(){function e(){}return function(t){if(!we(t))return{};if(Kn)return Kn(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();const $n=function(e){return"function"!=typeof e.constructor||qt(e)?{}:Wn(fn(e))};const Xn=function(e){return ft(e)&&"[object Map]"==Nn(e)};var Zn=Nt&&Nt.isMap;const Qn=Zn?jt(Zn):Xn;const er=function(e){return ft(e)&&"[object Set]"==Nn(e)};var tr=Nt&&Nt.isSet;const nr=tr?jt(tr):er;var rr="[object Arguments]",or="[object Function]",sr="[object Object]",ir={};ir[rr]=ir["[object Array]"]=ir["[object ArrayBuffer]"]=ir["[object DataView]"]=ir["[object Boolean]"]=ir["[object Date]"]=ir["[object Float32Array]"]=ir["[object Float64Array]"]=ir["[object Int8Array]"]=ir["[object Int16Array]"]=ir["[object Int32Array]"]=ir["[object Map]"]=ir["[object Number]"]=ir[sr]=ir["[object RegExp]"]=ir["[object Set]"]=ir["[object String]"]=ir["[object Symbol]"]=ir["[object Uint8Array]"]=ir["[object Uint8ClampedArray]"]=ir["[object Uint16Array]"]=ir["[object Uint32Array]"]=!0,ir["[object Error]"]=ir[or]=ir["[object WeakMap]"]=!1;const ar=function e(t,n,r,o,s,i){var a,c=1&n,u=2&n,d=4&n;if(r&&(a=s?r(t,o,s,i):r(t)),void 0!==a)return a;if(!we(t))return t;var l=vt(t);if(l){if(a=Vn(t),!c)return sn(t,a)}else{var p=Nn(t),h=p==or||"[object GeneratorFunction]"==p;if(St(t))return on(t,c);if(p==sr||p==rr||h&&!s){if(a=u||h?{}:$n(t),!c)return u?yn(t,Qt(a,t)):pn(t,Kt(a,t))}else{if(!ir[p])return s?t:{};a=Hn(t,p,c)}}i||(i=new it);var f=i.get(t);if(f)return f;i.set(t,a),nr(t)?t.forEach((function(o){a.add(e(o,n,r,o,t,i))})):Qn(t)&&t.forEach((function(o,s){a.set(s,e(o,n,r,s,t,i))}));var m=l?void 0:(d?u?On:bn:u?Zt:Ht)(t);return at(m||t,(function(o,s){m&&(o=t[s=o]),lt(a,s,e(o,n,r,s,t,i))})),a};const cr=function(e){return ar(e,5)};const ur=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};const dr=function(e){return this.__data__.has(e)};function lr(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new rt;++t<n;)this.add(e[t])}lr.prototype.add=lr.prototype.push=ur,lr.prototype.has=dr;const pr=lr;const hr=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1};const fr=function(e,t){return e.has(t)};const mr=function(e,t,n,r,o,s){var i=1&n,a=e.length,c=t.length;if(a!=c&&!(i&&c>a))return!1;var u=s.get(e),d=s.get(t);if(u&&d)return u==t&&d==e;var l=-1,p=!0,h=2&n?new pr:void 0;for(s.set(e,t),s.set(t,e);++l<a;){var f=e[l],m=t[l];if(r)var y=i?r(m,f,l,t,e,s):r(f,m,l,e,t,s);if(void 0!==y){if(y)continue;p=!1;break}if(h){if(!hr(t,(function(e,t){if(!fr(h,t)&&(f===e||o(f,e,n,r,s)))return h.push(t)}))){p=!1;break}}else if(f!==m&&!o(f,m,n,r,s)){p=!1;break}}return s.delete(e),s.delete(t),p};const yr=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n};const gr=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n};var br=le?le.prototype:void 0,Or=br?br.valueOf:void 0;const vr=function(e,t,n,r,o,s,i){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!s(new Bn(e),new Bn(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return W(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=yr;case"[object Set]":var c=1&r;if(a||(a=gr),e.size!=t.size&&!c)return!1;var u=i.get(e);if(u)return u==t;r|=2,i.set(e,t);var d=mr(a(e),a(t),r,o,s,i);return i.delete(e),d;case"[object Symbol]":if(Or)return Or.call(e)==Or.call(t)}return!1};var wr=Object.prototype.hasOwnProperty;const xr=function(e,t,n,r,o,s){var i=1&n,a=bn(e),c=a.length;if(c!=bn(t).length&&!i)return!1;for(var u=c;u--;){var d=a[u];if(!(i?d in t:wr.call(t,d)))return!1}var l=s.get(e),p=s.get(t);if(l&&p)return l==t&&p==e;var h=!0;s.set(e,t),s.set(t,e);for(var f=i;++u<c;){var m=e[d=a[u]],y=t[d];if(r)var g=i?r(y,m,d,t,e,s):r(m,y,d,e,t,s);if(!(void 0===g?m===y||o(m,y,n,r,s):g)){h=!1;break}f||(f="constructor"==d)}if(h&&!f){var b=e.constructor,O=t.constructor;b==O||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof O&&O instanceof O||(h=!1)}return s.delete(e),s.delete(t),h};var _r="[object Arguments]",Ir="[object Array]",Sr="[object Object]",Pr=Object.prototype.hasOwnProperty;const Tr=function(e,t,n,r,o,s){var i=vt(e),a=vt(t),c=i?Ir:Nn(e),u=a?Ir:Nn(t),d=(c=c==_r?Sr:c)==Sr,l=(u=u==_r?Sr:u)==Sr,p=c==u;if(p&&St(e)){if(!St(t))return!1;i=!0,d=!1}if(p&&!d)return s||(s=new it),i||Vt(e)?mr(e,t,n,r,o,s):vr(e,t,c,n,r,o,s);if(!(1&n)){var h=d&&Pr.call(e,"__wrapped__"),f=l&&Pr.call(t,"__wrapped__");if(h||f){var m=h?e.value():e,y=f?t.value():t;return s||(s=new it),o(m,y,n,r,s)}}return!!p&&(s||(s=new it),xr(e,t,n,r,o,s))};const Ar=function e(t,n,r,o,s){return t===n||(null==t||null==n||!ft(t)&&!ft(n)?t!=t&&n!=n:Tr(t,n,r,o,e,s))};const kr=function(e,t){return Ar(e,t)};function Cr(e,t){const n=cr(e);return n.path[n.path.length-1]+=t,n}function jr(e,t){return e.root===t.root&&kr(e.path,t.path)}function Er(e){Rr(e,(e=>("main"==e.root?(e.rootMain=!0,delete e.root):"$graveyard"==e.root&&(e.rootGraveyard=!0,delete e.root),e)))}function Dr(e){Rr(e,(e=>(e.rootMain?(e.root="main",delete e.rootMain):e.rootGraveyard&&(e.root="$graveyard",delete e.rootGraveyard),e)))}function Rr(e,t){for(const n in e){const r=e[n];"nodes"!==n&&we(r)&&(r.path&&(r.root||r.rootMain||r.rootGraveyard)?e[n]=t(r):Rr(r,t))}return e}class Nr{constructor(e,t,n){this._id=e,this._operationName=t,this._protobufDescriptor=n}compress(e,t){const n=t.shift();return Er(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){t.types.shift();const n=this._protobufDescriptor.decompress(t.buffers.shift());Dr(n),n.__className=this._operationName,e.push(n)}}class Mr extends Nr{compress(e,t){const n=t.shift();return this._serializeOneOf("oldValue",n),this._serializeOneOf("newValue",n),Er(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){const{types:n,buffers:r}=t,o=this._protobufDescriptor.decompress(r.shift());n.shift(),this._deserializeOneOf("oldValue",o),this._deserializeOneOf("newValue",o),Dr(o),o.__className=this._operationName,e.push(o)}_serializeOneOf(e,t){const n=t[e];"boolean"==typeof n?t[`${e}Boolean`]=n:t[`${e}Json`]=JSON.stringify(n)}_deserializeOneOf(e,t){const n=`${e}Json`;t[n]?(t[e]=JSON.parse(t[n]),delete t[n]):(t[e]=t[`${e}Boolean`],delete t[`${e}Boolean`])}}class Vr extends Nr{compress(e,t){const n=t.shift();return this._serializeNodesAttributes(n.nodes),Er(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){const{types:n,buffers:r}=t,o=this._protobufDescriptor.decompress(r.shift());n.shift(),o.nodes||(o.nodes=[]),this._deserializeNodesAttributes(o.nodes),Dr(o),o.__className=this._operationName,e.push(o)}_serializeNodesAttributes(e){for(const t of e){if(t.attributes){const e=t.attributes;this._areValuesBoolean(e)?t.attributesBoolean=e:t.attributesJson=JSON.stringify(e)}t.children&&this._serializeNodesAttributes(t.children)}}_deserializeNodesAttributes(e){for(const t of e)(t.attributesBoolean||t.attributesJson)&&(t.attributesBoolean?(t.attributes=t.attributesBoolean,delete t.attributesBoolean):(t.attributes=JSON.parse(t.attributesJson),delete t.attributesJson)),t.children&&this._deserializeNodesAttributes(t.children)}_areValuesBoolean(e){return Object.keys(e).every((t=>"boolean"==typeof e[t]))}}class Br extends Nr{decompress(e,t){super.decompress(e,t);const n=e[e.length-1];n.oldRange||(n.oldRange=null),n.newRange||(n.newRange=null)}}class Ur extends Nr{compress(e,t){return t.shift(),e.types.push(this._id),!0}decompress(e,t){t.types.shift(),e.push({__className:this._operationName})}}class Jr extends Br{constructor(e,t,n,r){super(e,t,n),this._omittedNamespace=r+":"}compress(e,t){return!("MarkerOperation"!=t[0].__className||!t[0].name.startsWith(this._omittedNamespace))&&(t[0].name=t[0].name.replace(new RegExp("^"+this._omittedNamespace),""),super.compress(e,t),!0)}decompress(e,t){super.decompress(e,t);const n=e[e.length-1];n.name=this._omittedNamespace+n.name}}class qr{constructor(e,t){this._id=e,this._context=t}compress(e,t){let n;for(;t.length>1&&this._compareOperations(t[0],t[1]);)n?(n=this._combineNext(t.shift(),n),e.types.push(0)):(n=cr(t.shift()),e.types.push(this._id));return!!n&&(n=this._combineNext(t.shift(),n),e.types.push(0),e.buffers.push(this._compressSingleOperation(n)),!0)}decompress(e,t){const n=this._decompressSingleOperation(t);for(;0==t.types[0];)t.types.shift(),e.push(this._splitCurrent(n));e.push(n)}}class Lr extends qr{_combineNext(e,t){return t.nodes[0].data+=e.nodes[0].data,t}_splitCurrent(e){const t=cr(e),n=t.nodes[0],r=e.nodes[0],o=r.data[Symbol.iterator]().next().value,s=o.length;return n.data=o,r.data=r.data.substr(s),e.position=Cr(e.position,s),t}_compareOperations(e,t){if(this._checkOperation(e)&&this._checkOperation(t)){const n=e.nodes[0].data.length,r=jr(Cr(e.position,n),t.position),o=e.nodes[0],s=t.nodes[0];return r&&this._compareAttributes(o,s)}return!1}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("InsertOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("InsertOperation").decompress(t,e),t[0]}_checkOperation(e){return"InsertOperation"==e.__className&&1==e.nodes.length&&e.nodes[0].data&&!e.wasUndone&&1==Array.from(e.nodes[0].data).length}_compareAttributes(e,t){const n=Object.keys(e.attributes||{}),r=Object.keys(t.attributes||{});return n.length===r.length&&n.every((n=>t.attributes[n]&&t.attributes[n]===e.attributes[n]))}}class Gr extends qr{_combineNext(e,t){return t.howMany++,t.sourcePosition=cr(e.sourcePosition),t}_splitCurrent(e){const t=cr(e);return e.howMany--,t.howMany=1,t.sourcePosition=Cr(t.sourcePosition,e.howMany),t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(jr(Cr(e.sourcePosition,-1),t.sourcePosition)&&jr(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MoveOperation").decompress(t,e),t[0]}_checkOperation(e){return"MoveOperation"==e.__className&&"$graveyard"==e.targetPosition.root&&1==e.howMany&&!e.wasUndone}}class Fr extends qr{_combineNext(e,t){return t.howMany++,t}_splitCurrent(e){const t=cr(e);return t.howMany=1,e.howMany--,t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(jr(e.sourcePosition,t.sourcePosition)&&jr(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MoveOperation").decompress(t,e),t[0]}_checkOperation(e){return"MoveOperation"==e.__className&&"$graveyard"==e.targetPosition.root&&1==e.howMany&&!e.wasUndone}}class Yr extends qr{compress(e,t){if(!this._compareOperations(t[0],t[1]))return!1;const n=t.shift();return n.oldRange=null,n.newRange&&jr(n.newRange.start,n.newRange.end)&&(n.newRange.end=null),t.shift(),e.types.push(this._id),e.types.push(0),e.buffers.push(this._compressSingleOperation(n)),!0}decompress(e,t){const n=this._decompressSingleOperation(t);n.newRange&&!n.newRange.end&&(n.newRange.end=cr(n.newRange.start));const r=cr(n);r.newRange&&(r.newRange.start.stickiness="toNone",r.newRange.end=cr(r.newRange.start)),r.name="user:position:"+r.name.split(":")[2],t.types.shift(),e.push(n),e.push(r)}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MarkerOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MarkerOperation").decompress(t,e),t[0]}_compareOperations(e,t){return!(!e||!t)&&("MarkerOperation"==e.__className&&"MarkerOperation"==t.__className&&!(!e.name.startsWith("user:")||!t.name.startsWith("user:")||e.name==t.name))}}class zr{constructor(){this._compressorById=new Map,this._compressorByName=new Map,this._protobufFactory=new z;const e=this._protobufFactory.getDescriptor("MarkerOperation");this._registerCompressor(1,"NoOperation",new Ur(1,"NoOperation",void 0)),this._registerOperationCompressor(10,"AttributeOperation",Mr),this._registerOperationCompressor(11,"InsertOperation",Vr),this._registerOperationCompressor(12,"MarkerOperation",Br),this._registerOperationCompressor(13,"MergeOperation",Nr),this._registerOperationCompressor(14,"MoveOperation",Nr),this._registerOperationCompressor(15,"RenameOperation",Nr),this._registerOperationCompressor(16,"RootAttributeOperation",Mr),this._registerOperationCompressor(17,"SplitOperation",Nr),this._registerCompressor(18,"CommentMarkerOperation",new Jr(18,"MarkerOperation",e,"comment")),this._registerCompressor(19,"SuggestionMarkerOperation",new Jr(19,"MarkerOperation",e,"suggestion")),this._registerOperationCompressor(20,"RootOperation",Nr),this._registerActionCompressor(100,"TypingAction",Lr),this._registerActionCompressor(101,"DeletingAction",Gr),this._registerActionCompressor(102,"ForwardDeletingAction",Fr),this._registerActionCompressor(103,"UserSelectionAction",Yr)}compress(e){if(!e||!e[0])throw new n.CKEditorError("no-operations-provided",this);const t={types:[],buffers:[],baseVersion:e[0].baseVersion};for(;e.length;)this._getCompressorByName("UserSelectionAction").compress(t,e)||this._getCompressorByName("TypingAction").compress(t,e)||this._getCompressorByName("DeletingAction").compress(t,e)||this._getCompressorByName("ForwardDeletingAction").compress(t,e)||this._getCompressorByName("CommentMarkerOperation").compress(t,e)||this._getCompressorByName("SuggestionMarkerOperation").compress(t,e)||this._getCompressorByName(e[0].__className).compress(t,e);return t}decompress(e){const t=[];for(;e.types.length;){this._compressorById.get(e.types[0]).decompress(t,e)}return t.forEach(((t,n)=>t.baseVersion=e.baseVersion+n)),t}_getCompressorByName(e){return this._compressorByName.get(e)}_registerOperationCompressor(e,t,n){const r=new n(e,t,this._protobufFactory.getDescriptor(t));this._registerCompressor(e,t,r)}_registerActionCompressor(e,t,n){const r=new n(e,this);this._registerCompressor(e,t,r)}_registerCompressor(e,t,n){this._compressorById.set(e,n),this._compressorByName.set(t,n)}}var Hr=__webpack_require__(7622),Kr=__webpack_require__.n(Hr),Wr=__webpack_require__(7530),$r=__webpack_require__.n(Wr);const Xr=["showWarning","_isEditingAllowed","realtimecollaborationclient-handleserverresponse","_currentBufferDelay","$root","_handleSendingSelectionMarkers","rootsAttributes","multi-root-editor-root-attributes-no-root","_sendBufferedOperationsDelayId","lastDocumentSession","init","ready","_disconnectService","_clearPendingAction","then","change:_isEditingAllowed","_document","includes","getMany","realtimecollaborationclient-init-document-already-initialized","rtc-offline","_ignoredOperations","createRange","mySessionId","_lastServerVersion","filter","isReadOnly","_sendBufferedOperationsDelayed","_isDisconnection","disconnect","_decompressOperations","RootOperation","string","isEnabled","has","startsWith","lastOperationId","_compressor","baseVersion","realtimecollaborationclient-init-non-existent-root","cloud-services-internal-error: Collaborative Editing Service is not connected.","reconnect","RealTimeCollaborationClient","collaboration.channelId","_disconnectionOperations","data","requires","metadata","getUser","_shouldSendSelectionUpdate","high","cloud-services-internal-error: Request timeout.","clone","permissions","_hasSelectionChanged","cs:removeUser","apply","enqueueChange","_bufferedOperations","map","_channelId","root","_isPendingUpdate","affectsData","getConnectedSessions","_authorId","_initSessionsHandling","type","_setUpDataInit","message","Notification","_connectAfterSessionHasBeenFlushed","_handleReceivedOperations","position","_operationToId","batch","realtimecollaborationclient-sendbufferedoperations","wereChangesApplied","currentDocumentSession","change:hasDomSelection","lastSyncVersion","sendOperations","_refreshUserSelectionMarkers","disconnected","_initThrowingOnDataSet","sessionAdd:","CollaborativeEditingService","editor","get","path","__className","from","Permissions","_lastSyncedOperationId","size","initData","error","cloudServices.bundleVersion","state","set","register","real-time-collaboration","_isConnected","round","userId","stop","isAdd","getIdOfTheLastOperation","end","connect","unregister","connection","add","enableReadOnlyMode","_knownOperations","_sendBufferedOperations","destroy","createPositionFromPath","plugins","finally","setIdForTheLastOperation","realtimecollaborationclient-initservice-incorrect-server-operation","_service","404","sessionCreatedAt","version","change:range","forEach","_connectService","catch","stopListening","directChange","document","addToReconnectionStack","editing","offset","_handleReconnectionResponse","_pendingAction","markers","config","_shouldSendUpdate","_saveOperationInBuffer","return","suppressErrorInCollaboration","createUserMarkerOperations","remove","_handleExternalOperations","_offset","Synchronization issue","compress","push","reset","_handleServerResponse","decompress","_hasSynchronizationProblem","define","CommentsOnly","disableReadOnlyMode","length","off","_handleInitialConnectionData","rootName","addOperation","_operationIdentifier","_crash","_updateServerHistory","bufferOperation","bind","isAttached","realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration","_handleReconnectionError","getOperations","reconnection: flushed session","rtc-destroyed","_fetchMissingUsers","getDocumentDetails","wasUndone","_setPendingAction","_compressOperations","locale","isDocumentOperation","realtimecollaborationclient-init-connection-failed","_applyOperationsSet","_getOperationsFromInitData","collaboration-missing-channelid","getOperationAuthor","operationsReceived","history","_isInit","getRoot","isUndoneOperation","model","serverHistory","sessionId","fire","entries","applyOperation","channelSessions","listenTo","roots","createdAt","marker"];var Zr,Qr;Zr=Xr,Qr=129,function(e){for(;--e;)Zr.push(Zr.shift())}(++Qr);const eo=function(e,t){return Xr[e-=0]};let to=1;class no extends t.Plugin{static get[eo("0x77")](){return[l,g,P,t.PendingActions,p.Users,r.Notification]}static get pluginName(){return eo("0x73")}get cloudDocumentVersion(){return this[eo("0x61")]+this._offset}get _lastServerVersion(){return this.serverHistory[eo("0xc6")]-this[eo("0x12")]}get[eo("0x99")](){const e=this[eo("0x3f")][eo("0x2a")]();for(let t=e.length-1;t>=0;t--){const n=e[t];if(!this[eo("0x75")][eo("0x6b")](n))return n[eo("0x6f")]+1-this[eo("0x12")]}return 0}constructor(e){if(super(e),this[eo("0x12")]=0,this.sessionId=null,this[eo("0x3f")]=new o.History,this[eo("0xa0")][eo("0xa")][eo("0x1a")]("collaboration",{}),this[eo("0x85")]=this[eo("0xa0")][eo("0xa")][eo("0xa1")](eo("0x74")),!this[eo("0x85")])throw new n.CKEditorError(eo("0x37"),this);const t=e[eo("0xa")][eo("0xa1")](eo("0xaa"))||n.version;this._service=new(no[eo("0x9f")])(t,this[eo("0x85")]),this[eo("0x59")]=this[eo("0xa0")].model.document,this._compressor=new zr,this[eo("0x83")]=[],this[eo("0xbb")]=new WeakSet,this[eo("0xac")](eo("0x87"),!1),this[eo("0xac")]("_hasSynchronizationProblem",!1),this[eo("0x8")]=null,this[eo("0x7f")]=!1,this[eo("0x51")]=null,this._baseBufferDelay=300,this[eo("0x4c")]=this._baseBufferDelay,this._lastSyncedOperationId=null,this[eo("0x75")]=new WeakSet,this._operationIdentifier=new so(this._disconnectionOperations)}[eo("0x53")](){const e=this[eo("0xa0")],t=e.plugins.get(p.Users),n=e.plugins[eo("0xa1")](l);this[eo("0x45")](t,eo("0x38"),((e,n)=>{const r=n[0];r[eo("0x8a")]&&(e[eo("0xd")]=t.getUser(r._authorId),e[eo("0xb2")]()),null===r[eo("0x8a")]&&(e[eo("0xd")]=null,e[eo("0xb2")]())}),{priority:eo("0x7b")}),this[eo("0x45")](e[eo("0x3e")][eo("0x3")].selection,eo("0xc7"),((e,t)=>{t[eo("0x2")]&&this._refreshUserSelectionMarkers()})),this[eo("0x45")](e[eo("0x5")].view,eo("0x98"),(()=>{this._refreshUserSelectionMarkers()})),this[eo("0x9d")](),e[eo("0x3e")].on("applyOperation",((e,t)=>{const n=t[0];n[eo("0x33")]&&(this[eo("0xc")](n),this[eo("0xb")]()&&this._sendBufferedOperationsDelayed())})),this._setUpDataInit(),this[eo("0x26")]("_isEditingAllowed").to(n,eo("0xab"),this,eo("0x19"),((e,t)=>"connected"===e&&!t)),this.on(eo("0x58"),(()=>{this[eo("0x4a")]?e[eo("0x1c")](eo("0x5d")):e.enableReadOnlyMode("rtc-offline")})),this[eo("0x4a")]?e.disableReadOnlyMode(eo("0x5d")):e[eo("0xba")](eo("0x5d")),this[eo("0xac")](eo("0xaf"),!1)}async[eo("0x72")](){const e=this[eo("0xa0")][eo("0xbf")][eo("0xa1")](g),t=this[eo("0xa0")].plugins[eo("0xa1")](l);try{this[eo("0x87")]=!0,e[eo("0xb7")](this[eo("0x85")]);const n=await this[eo("0xc3")].reconnect(t[eo("0xb8")],this[eo("0x99")]);await this[eo("0x7")](n)&&(this[eo("0x87")]=!1,this[eo("0x56")]());const r=await this[eo("0xc3")][eo("0x89")]();e[eo("0xad")](this._channelId,r),this._handleSendingSelectionMarkers(),this[eo("0xaf")]=!0}catch(e){if(n=e,eo("0xc4")===n.code&&this[eo("0x40")])await this._connectAfterSessionHasBeenFlushed();else if("409"===e.code){const e=A(this[eo("0xa0")][eo("0x32")],"The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.");this[eo("0x29")](e)}else{if(!(e instanceof ro))throw e;this[eo("0x29")]()}}var n}[eo("0xbd")](){const e=this[eo("0xa0")][eo("0xbf")][eo("0xa1")](l),t=this.editor[eo("0xbf")][eo("0xa1")](g);this[eo("0xa0")].enableReadOnlyMode(eo("0x2c")),t.channelSessions[eo("0x6b")](this._channelId)&&t[eo("0xb7")](this._channelId),e.removeFromReconnectionStack(this),this[eo("0x55")](),super[eo("0xbd")]()}async _handleReconnectionResponse(e){if(this[eo("0x40")]!==e.sessionId&&this._lastSyncedOperationId!==e[eo("0x6d")])throw new ro;return this[eo("0x40")]=e[eo("0x40")],this[eo("0x17")]([],{...e,wereChangesApplied:!1,data:e[eo("0x76")]},eo("0x72"))}async[eo("0xc9")](e,t=!1){const{connection:n}=this[eo("0xa0")][eo("0xbf")].get(l);no[eo("0x9f")].getConnectedSessions(n,this[eo("0x85")])[eo("0x57")]((e=>this._initSessionsHandling(e)))[eo("0x0")]((e=>{this[eo("0x23")]("realtimecollaborationclient-init-session-connection-error",e)})),this[eo("0x45")](this._service,eo("0x39"),this[eo("0x91")][eo("0x26")](this)),this[eo("0x45")](this[eo("0xc3")],eo("0xa9"),((e,t)=>{this[eo("0x23")]("realtimecollaborationclient-initservice-internal-error",t)})),this[eo("0x45")](this[eo("0xc3")],eo("0x9c"),(()=>{this[eo("0xaf")]=!1}));const r=this._operationIdentifier.getIdOfTheLastOperation(e),o=await this[eo("0xc3")][eo("0xb6")](n,this[eo("0x31")](e),r);if(this[eo("0x40")]=o[eo("0x40")],o.wereChangesApplied&&(this[eo("0x87")]=!1,this._clearPendingAction()),t){if(!o[eo("0x96")])return void this[eo("0x29")]();this[eo("0x3f")][eo("0x16")](),this[eo("0x12")]=o[eo("0x6")],this[eo("0x3f")][eo("0xc6")]=this._offset,await this[eo("0x17")](e,o,eo("0x2b"))}else await this[eo("0x1f")](o,e);this._handleSendingSelectionMarkers(),this[eo("0xaf")]=!0}[eo("0x4e")](){const e=this[eo("0xa0")][eo("0xbf")][eo("0xa1")](g),t=this.editor[eo("0xbf")].get(P),n=e[eo("0x44")][eo("0xa1")](this[eo("0x85")]);n&&n[eo("0x1d")]>1?t[eo("0xf")]():this[eo("0x45")](e,eo("0x9e")+this[eo("0x85")],(()=>{2===e[eo("0x44")][eo("0xa1")](this[eo("0x85")])[eo("0x1d")]&&t[eo("0xf")]()}))}async[eo("0x91")](e,t,n,r){if(!this[eo("0x87")]&&this[eo("0x59")].version==t){const e=this[eo("0x67")](n,r);await this._fetchMissingUsers(e),this._handleExternalOperations(e,t,n[eo("0x6d")])||this._crash(eo("0xc2"))}}async[eo("0x90")](){this._disconnectService();const{locale:e}=this[eo("0xa0")];let t;try{t=await this[eo("0xc3")][eo("0x2e")]()}catch(t){const n=A(e,"The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.");return void this[eo("0x29")](n)}const n=t[eo("0x97")]||t[eo("0x52")];if(this[eo("0xa6")]===n[eo("0x6d")])await this[eo("0xc9")](this[eo("0xa0")][eo("0x3e")].document[eo("0x3a")][eo("0x2a")](),!0);else{const t=A(e,"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.");this[eo("0x29")](t)}}[eo("0x55")](){this[eo("0xc3")][eo("0x66")](),this[eo("0x83")]=[],clearTimeout(this[eo("0x51")]),this[eo("0x1")](this[eo("0xc3")])}[eo("0x8b")](e){const t=this[eo("0xa0")][eo("0xbf")][eo("0xa1")](g);this[eo("0x45")](t,eo("0x9e")+this[eo("0x85")],((e,{session:n})=>{if(n.id===t[eo("0x60")]){e[eo("0x1e")]();const t=this[eo("0xa0")][eo("0xbf")][eo("0x6b")]("CommentsOnly")&&this[eo("0xa0")][eo("0xbf")][eo("0xa1")](eo("0x1b"));let r=n[eo("0x7e")];t&&t[eo("0x6a")]&&(r=r.filter((e=>"document:write"!==e))),this.editor[eo("0xbf")][eo("0xa1")](eo("0xa5")).setPermissions(r,this[eo("0x85")])}})),t.register(this[eo("0x85")],e)}[eo("0x9d")](){const e=this.editor[eo("0x76")][eo("0xac")];this[eo("0xa0")][eo("0x76")].set=(...t)=>{if(!t[t[eo("0x1d")]-1][eo("0xe")])throw new n.CKEditorError(eo("0x28"),this);e[eo("0x81")](this[eo("0xa0")][eo("0x76")],t)}}[eo("0x8d")](){this[eo("0xa0")].data.on(eo("0x53"),((e,[t])=>{if(this[eo("0x59")][eo("0xc6")])throw new n.CKEditorError(eo("0x5c"),this);e[eo("0xb2")](),this[eo("0x30")]();const r=this[eo("0xa0")][eo("0xa")][eo("0xa1")](eo("0x4f")),o=this[eo("0x36")](t,r);e[eo("0xd")]=this[eo("0xc9")](o).then((()=>{this[eo("0xa0")][eo("0xbf")].get(l)[eo("0x4")](this),this[eo("0xa0")][eo("0x76")][eo("0x41")](eo("0x54"))}))[eo("0x0")]((e=>this[eo("0x23")](eo("0x34"),e)))[eo("0xc0")]((()=>this[eo("0x56")]()))}),{priority:eo("0x7b")})}async _fetchMissingUsers(e){const t=this[eo("0xa0")][eo("0xbf")][eo("0xa1")](p.Users),{connection:n}=this[eo("0xa0")][eo("0xbf")].get(l),r=new Set;for(const n of e){const e=n[eo("0x8a")];e&&!t.getUser(e)&&r[eo("0xb9")](e)}if(0===r[eo("0xa7")])return;const o=await $r()[eo("0x5b")](n,Array[eo("0xa4")](r));for(const e of o)t[eo("0x79")](e.id)||t.addUser(e)}_getOperationsFromInitData(e,t={}){const r=this[eo("0xa0")].model,s=[];let i=0;const a=eo("0x69")==typeof e?{main:e}:e;for(const e of Object.keys(a)){if(!this[eo("0x59")][eo("0x46")][eo("0x6b")](e))throw new n.CKEditorError(eo("0x70"),this);const t=this[eo("0xa0")].data.parse(a[e]),c=this[eo("0x59")].getRoot(e),u=new o.InsertOperation(r.createPositionAt(c,0),t,i++);s[eo("0x15")](u);for(const[e,n]of t.markers){const t=r[eo("0x5f")](r[eo("0xbe")](c,n.start[eo("0xa2")].slice()),r[eo("0xbe")](c,n[eo("0xb5")].path.slice())),a=new o.MarkerOperation(e,null,t,r[eo("0x9")],!0,i++);s[eo("0x15")](a)}}if(t)for(const[e,a]of Object[eo("0x42")](t)){const t=r[eo("0x3")][eo("0x3c")](e);if(!t)throw new n.CKEditorError(eo("0x50"),null);for(const[e,n]of Object[eo("0x42")](a))if(null!==n){const r=new o.RootAttributeOperation(t,e,null,n,i++);s[eo("0x15")](r)}}return s}async[eo("0x1f")](e,t){let n;this._offset=e[eo("0x6")];const r=e.wereChangesApplied&&!e[eo("0xa8")],o=r?0:e[eo("0x76")][eo("0x6f")];if(r)n=t,n.forEach((t=>{t[eo("0x47")]=e[eo("0xc5")],t._isInit=!0,t[eo("0x8a")]=null})),this[eo("0x35")](n,r);else{if(e[eo("0xa8")]){const t=this[eo("0x36")](e[eo("0xa8")]);this._document.history[eo("0xc6")]=-t.length,t[eo("0xc8")]((n=>{n[eo("0x6f")]-=t[eo("0x1d")],n[eo("0x47")]=e[eo("0xc5")],n[eo("0x3b")]=!0,n[eo("0x8a")]=null})),this[eo("0x35")](t,!0),this[eo("0x3f")][eo("0xc6")]=-t[eo("0x1d")]+this[eo("0x12")],this._updateServerHistory(t)}this[eo("0x59")].history.version=o,n=this[eo("0x67")](e[eo("0x76")],e.metadata),await this[eo("0x2d")](n),this._applyOperationsSet(n,r)}e[eo("0x6d")]&&(this[eo("0x22")][eo("0xc1")](n,e[eo("0x6d")]),this[eo("0xa6")]=e[eo("0x6d")]),this[eo("0x3f")].version=o+this[eo("0x12")],this[eo("0x24")](n)}[eo("0x23")](e,t){throw this[eo("0x87")]=!0,t&&console[eo("0xa9")](t),new n.CKEditorError(e,this[eo("0xa0")])}[eo("0xc")](e){this._knownOperations[eo("0x6b")](e)||(this[eo("0xbb")][eo("0xb9")](e),this._bufferedOperations[eo("0x15")](e),this[eo("0x8")]||eo("0x48")==e[eo("0x8c")]&&!e[eo("0x88")]||this[eo("0x30")]())}[eo("0x64")](e=!1){!e&&this[eo("0x87")]||(this[eo("0x87")]=!0,clearTimeout(this[eo("0x51")]),this[eo("0x51")]=setTimeout((()=>{this._sendBufferedOperations()[eo("0x57")]((e=>{e&&(this._clearPendingAction(),this._isPendingUpdate=!1)}))[eo("0x0")]((e=>{if(this[eo("0x56")](),this[eo("0x87")]=!1,!((t=e)[eo("0x8e")].startsWith("cloud-services-internal-error: Not connected.")||t[eo("0x8e")][eo("0x6c")](eo("0x71"))||t.message.startsWith(eo("0x7c"))))throw e;var t}))}),this[eo("0x4c")]))}async[eo("0xbc")](){const e=this.editor[eo("0xbf")][eo("0xa1")](P);if(this[eo("0x7a")]()&&(e[eo("0xf")](),this[eo("0x7f")]=!1),!this._shouldSendUpdate())return!0;const t=[...this[eo("0x83")]];for(const e of t)e[eo("0x2f")]=this._document.history[eo("0x3d")](e);const n=this[eo("0x22")][eo("0xb4")](t),r=to++,o=this[eo("0x31")](t),s=await this[eo("0xc3")][eo("0x9a")](o,o[eo("0x6f")],n);try{return await this[eo("0x17")](t,s,r)}catch(e){return this[eo("0x23")](eo("0x95"),e)}}async[eo("0x17")](e,t,n){if(eo("0xa9")in t)throw t[eo("0xa9")];let r=!1;if(t.wereChangesApplied){t[eo("0x6d")]&&(this._lastSyncedOperationId=t[eo("0x6d")]),this[eo("0x83")]=this._bufferedOperations[eo("0x62")]((t=>!e[eo("0x5a")](t)));for(const n of e)n[eo("0x47")]="lastOperationAcceptedAt"in t&&t.lastOperationAcceptedAt||void 0;this[eo("0x24")](e),r=!0,this[eo("0x4c")]=this._baseBufferDelay}else{const e=this[eo("0x67")](t.data,t[eo("0x78")]).filter((e=>e[eo("0x6f")]>=this[eo("0x61")]));await this._fetchMissingUsers(e),r=this._handleExternalOperations(e,t[eo("0xc6")],t[eo("0x6d")]),this._currentBufferDelay=Math[eo("0xb0")](this[eo("0x4c")]/2)}return r?!this[eo("0xb")]()||(this[eo("0x64")](!0),!1):this[eo("0x23")](eo("0x4b"))}[eo("0x11")](e,t,n){try{const r={document:this[eo("0x59")],useRelations:!1,padWithNoOps:!0},{operationsA:s,operationsB:i,originalOperations:a}=(0,o.transformSets)(e,this[eo("0x83")],r);oo(s,this[eo("0x59")].version),oo(i,t);for(const e of s){const t=a[eo("0xa1")](e);e[eo("0x8a")]=t?t[eo("0x8a")]:null}n&&(this[eo("0x22")][eo("0xc1")](e,n),this._lastSyncedOperationId=n),this[eo("0x83")]=[...i],this[eo("0x35")](s),this[eo("0x24")](e)}catch(e){return console[eo("0xa9")](e),!1}return!0}[eo("0x35")](e,t=!1){this[eo("0xa0")][eo("0x3e")][eo("0x82")]({isUndoable:!1,isLocal:!1},(t=>{for(const n of e)this[eo("0xbb")][eo("0xb9")](n),t[eo("0x94")].addOperation(n),this[eo("0xa0")][eo("0x3e")][eo("0x43")](n)}))}[eo("0x24")](e){e[eo("0xc8")]((e=>{const t=e[eo("0x7d")]();t[eo("0x8a")]=e._authorId,t[eo("0x3b")]=!!e[eo("0x3b")],t[eo("0x47")]=e[eo("0x47")],t[eo("0x6f")]+=this[eo("0x12")],e[eo("0x65")]&&this[eo("0x75")][eo("0xb9")](t),this[eo("0x3f")][eo("0x21")](t)}))}_handleReconnectionError(e){const t=this.editor.plugins[eo("0xa1")](eo("0x8f")),n=this[eo("0xa0")].locale;e||(e=A(n,"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.")),t[eo("0x49")](e,{title:A(n,eo("0x13")),namespace:eo("0xae")}),this._hasSynchronizationProblem=!0,clearTimeout(this[eo("0x51")]),this[eo("0x83")]=[],this.editor.plugins.get(l)[eo("0xbd")]()}[eo("0x30")](){this[eo("0x8")]||(this[eo("0x8")]=this.editor[eo("0xbf")][eo("0xa1")](t.PendingActions)[eo("0xb9")](A(this[eo("0xa0")][eo("0x32")],"PENDING_ACTION_SENDING_DATA")))}[eo("0x56")](){this._pendingAction&&(this[eo("0xa0")].plugins[eo("0xa1")](t.PendingActions)[eo("0x10")](this[eo("0x8")]),this[eo("0x8")]=null)}[eo("0x31")](e){const t=e.map((e=>e.toJSON()));return this[eo("0x6e")][eo("0x14")](t)}[eo("0x67")](e,t){return this[eo("0x6e")][eo("0x18")](e)[eo("0x84")](((e,n)=>{const r=eo("0x53")==t[n][eo("0x8c")];if(r&&"InsertOperation"==e[eo("0xa3")]){const t=e[eo("0x92")][eo("0x86")];if(!this._document[eo("0x3c")](t)){const e=new o.RootOperation(t,eo("0x4d"),!0,this[eo("0x59")],null);this[eo("0x59")].getRoot(t)._isAttached=!0,this[eo("0x59")].differ[eo("0x25")](e)}}else if(eo("0x68")==e[eo("0xa3")]&&e[eo("0xb3")]){const t=this[eo("0x59")].getRoot(e[eo("0x20")]);t&&t[eo("0x27")]()&&(t._isAttached=!1)}const s=o.OperationFactory.fromJSON(e,this[eo("0x59")]);return s[eo("0x2f")]=e[eo("0x2f")],s[eo("0x3b")]=r,s[eo("0x8a")]=r?null:t[n][eo("0xb1")],s[eo("0x65")]=eo("0x80")===t[n].type,s[eo("0x47")]=t[n][eo("0x47")],s}))}[eo("0x9b")](){this[eo("0x7f")]=!0,this[eo("0x7a")]()?this[eo("0x64")]():this[eo("0x7f")]=!1}[eo("0x7a")](){const e=this[eo("0xa0")].plugins[eo("0xa1")](g)[eo("0x44")][eo("0xa1")](this[eo("0x85")]);return Boolean(!this[eo("0xa0")][eo("0x63")]&&e&&e.length>1&&this[eo("0x7f")])}[eo("0xb")](){return this[eo("0x83")][eo("0x1d")]>0||this[eo("0x7a")]()}}no[eo("0x9f")]=Kr();class ro extends Error{}function oo(e,t){for(const n of e)n[eo("0x6f")]=t++}class so{constructor(e){this[eo("0x5e")]=e,this[eo("0x93")]=new WeakMap}[eo("0xb4")](e){let t=e[eo("0x1d")];for(;t--;){const r=e[t];if(!this[eo("0x5e")][eo("0x6b")](r)){if(!this[eo("0x93")][eo("0x6b")](r)){const e=(0,n.uid)().slice(1,18);this._operationToId[eo("0xac")](r,e)}return this._operationToId.get(r)}}}[eo("0xc1")](e,t){if(!t)return;let n=e[eo("0x1d")];for(;n--;){const r=e[n];this[eo("0x5e")][eo("0x6b")](r)||this[eo("0x93")][eo("0xac")](r,t)}}}var io,ao,co=["pluginName","RealTimeCollaborativeEditing","requires"];io=co,ao=349,function(e){for(;--e;)io.push(io.shift())}(++ao);var uo=function(e,t){return co[e-=0]};class lo extends t.Plugin{static get[uo("0x1")](){return[no]}static get[uo("0x2")](){return uo("0x0")}}var po=__webpack_require__(125),ho=__webpack_require__.n(po),fo=__webpack_require__(6042),mo=__webpack_require__.n(fo);const yo=["comments","resolve","userId","permissions","commentThreadId","cloud-services-internal-error: Comments Service is not connected.","getUser","CommentsService","_fetchMissingUsersForThreads","commentThreadReopened","delete","map","commentRemoved","addToReconnectionStack","commentThreadRemoved","plugins","get","destroy","content","_getService","reopen","addCommentThread","commentUpdated","createdAt","commentThreadResolved","_connectService","off","remove","keys","message","init","Permissions","commentAdded","CommentsRepository","updateCommentThread","reopenCommentThread","context","resolvedBy","cloudservicescommentsadapter-service-not-exist","adapter","unregister","has","_terminateService","addComment","_services","cloud-services-internal-error: Request timeout.","resolvedAt","cloud-services-internal-error: Not connected.","getCommentThread","reconnect","update","addUser","commentId","catch","listenTo","connect","cloudservicescommentsadapter-connect-already-connected","sessionAdd:","authorId","startsWith","from","cloudservicescommentsadapter-disconnect-not-exist","commentThreadUpdated","getCommentThreads","config","resolveCommentThread","getConnectedSessions","attributes","getMany","mySessionId","register","add","removeCommentThread","collaboration.channelId","disconnect","404","getComment","_setUpService"];var go,bo;go=yo,bo=168,function(e){for(;--e;)go.push(go.shift())}(++bo);const Oo=function(e,t){return yo[e-=0]};class vo extends t.ContextPlugin{static get requires(){return[l,"CommentsRepository",g,p.Users]}constructor(e){super(e),this[Oo("0x20")]=new Map}async[Oo("0x12")](){const e=this.context,n=e[Oo("0x3")][Oo("0x4")](Oo("0x15"));if(e[Oo("0x3")].get(l)[Oo("0x1")](this),n[Oo("0x1b")]={addCommentThread:async({channelId:e,threadId:t,comments:n,resolvedAt:r,resolvedBy:o,context:s,attributes:i})=>{const a=await this[Oo("0x7")](e)[Oo("0x9")]({commentThreadId:t,comments:n[Oo("0x4d")]((n=>{return o=e,{commentThreadId:t,commentId:(r=n)[Oo("0x28")],userId:r[Oo("0x2e")],content:r.content,documentId:o,createdAt:r[Oo("0xb")],attributes:r[Oo("0x37")]||{}};var r,o})),resolvedAt:r,resolvedBy:o,context:s,attributes:i})[Oo("0x29")](xo);return{threadId:a.commentThreadId,comments:a[Oo("0x42")]}},getCommentThread:async({channelId:e,threadId:t})=>{const n=await this._getService(e).getCommentThread(t)[Oo("0x29")](xo);return await this[Oo("0x4a")]([n]),{threadId:n[Oo("0x46")],comments:n.comments[Oo("0x4d")](_o),context:n[Oo("0x18")],resolvedAt:n[Oo("0x22")],resolvedBy:n[Oo("0x19")],attributes:n[Oo("0x37")]||{}}},updateCommentThread:async({channelId:e,threadId:t,context:n,attributes:r})=>this[Oo("0x7")](e)[Oo("0x16")]({commentThreadId:t,context:n,attributes:r})[Oo("0x29")](wo)[Oo("0x29")](xo),resolveCommentThread:async({channelId:e,threadId:t})=>{const n=await this[Oo("0x7")](e)[Oo("0x35")](t)[Oo("0x29")](wo)[Oo("0x29")](xo);return{threadId:n.commentThreadId,resolvedAt:n[Oo("0x22")],resolvedBy:n[Oo("0x19")]}},reopenCommentThread:async({channelId:e,threadId:t})=>this._getService(e)[Oo("0x17")](t)[Oo("0x29")](wo).catch(xo),removeCommentThread:({channelId:e,threadId:t})=>this._getService(e)[Oo("0x3c")](t)[Oo("0x29")](wo).catch(xo),addComment:({channelId:e,threadId:t,commentId:n,content:r,attributes:o})=>this[Oo("0x7")](e)[Oo("0x1f")](t,n,r,o)[Oo("0x29")](xo),updateComment:({channelId:e,threadId:t,commentId:n,content:r,attributes:o})=>this._getService(e).updateComment(t,n,r,o)[Oo("0x29")](wo)[Oo("0x29")](xo),removeComment:({channelId:e,threadId:t,commentId:n})=>this[Oo("0x7")](e).removeComment(t,n)[Oo("0x29")](wo)[Oo("0x29")](xo)},e instanceof t.Context){const t=e[Oo("0x34")][Oo("0x4")](Oo("0x3d")),n=e[Oo("0x3")][Oo("0x4")](g);await this._setUpService(t);const r=await this[Oo("0x20")].get(t)[Oo("0x36")]();this[Oo("0x2a")](n,Oo("0x2d")+t,((e,{session:r})=>{r.id===n[Oo("0x39")]&&(e[Oo("0xe")](),this[Oo("0x18")][Oo("0x3")][Oo("0x4")](Oo("0x13")).setPermissions(r[Oo("0x45")],t))})),n[Oo("0x3a")](t,r)}}async[Oo("0x41")](e){if(this[Oo("0x20")].has(e))throw new n.CKEditorError(Oo("0x2c"),null,{channelId:e});const t=this[Oo("0x18")][Oo("0x3")][Oo("0x4")]("CommentsRepository"),r=new vo.CommentsService(e);this[Oo("0x20")].set(e,r),this[Oo("0x2a")](r,"commentThreadAdded",((e,n)=>{const{commentThreadId:r,documentId:o,context:s,attributes:i,resolvedAt:a,resolvedBy:c,comments:u}=n;t[Oo("0x24")](r)||t[Oo("0x9")]({threadId:r,channelId:o,comments:u?u[Oo("0x4d")](_o):[],context:s,attributes:i,resolvedAt:a,resolvedBy:c,isFromAdapter:!0})})),this[Oo("0x2a")](r,Oo("0x32"),((e,{commentThreadId:n,documentId:r,context:o,attributes:s})=>{t[Oo("0x24")](n)&&t[Oo("0x16")]({threadId:n,channelId:r,context:o,attributes:s,isFromAdapter:!0})})),this[Oo("0x2a")](r,Oo("0xc"),((e,{commentThreadId:n,resolvedBy:r,resolvedAt:o})=>{const s=t.getCommentThread(n);s&&s[Oo("0x43")]({resolvedBy:r,resolvedAt:o,isFromAdapter:!0})})),this.listenTo(r,Oo("0x4b"),((e,{commentThreadId:n})=>{const r=t.getCommentThread(n);r&&r[Oo("0x8")]({isFromAdapter:!0})})),this.listenTo(r,Oo("0x2"),((e,{commentThreadId:n})=>{const r=t[Oo("0x24")](n);r&&r[Oo("0xf")]({isFromAdapter:!0})})),this[Oo("0x2a")](r,Oo("0x14"),((e,n)=>{const r=n[Oo("0x46")],o=t.getCommentThread(r);o&&o[Oo("0x1f")]({..._o(n),isFromAdapter:!0})})),this[Oo("0x2a")](r,Oo("0xa"),((e,{commentThreadId:n,commentId:r,content:o,attributes:s})=>{const i=t[Oo("0x24")](n);if(i){const e=i[Oo("0x40")](r);e&&e[Oo("0x26")]({content:o,attributes:s,isFromAdapter:!0})}})),this.listenTo(r,Oo("0x0"),((e,{commentThreadId:n,commentId:r})=>{const o=t.getCommentThread(n);if(o){const e=o[Oo("0x40")](r);e&&e[Oo("0xf")]({isFromAdapter:!0})}})),await this[Oo("0xd")](e)}[Oo("0x5")](){if(this.context instanceof t.Context){const e=this.context.config[Oo("0x4")](Oo("0x3d"));this._terminateService(e)}}[Oo("0x1e")](e){if(!this[Oo("0x20")][Oo("0x1d")](e))throw new n.CKEditorError(Oo("0x31"),null,{channelId:e});this[Oo("0x7")](e)[Oo("0x3e")](),this._services.delete(e)}async[Oo("0x25")](){for(const e of this._services[Oo("0x10")]())await this[Oo("0xd")](e);if(this[Oo("0x18")]instanceof t.Context){const e=this[Oo("0x18")][Oo("0x34")].get("collaboration.channelId"),t=this[Oo("0x18")].plugins[Oo("0x4")](g);t[Oo("0x1c")](e);const n=await this[Oo("0x20")][Oo("0x4")](e)[Oo("0x36")]();t.register(e,n)}}async[Oo("0xd")](e){const{connection:t}=this[Oo("0x18")][Oo("0x3")][Oo("0x4")](l),n=this[Oo("0x18")][Oo("0x3")][Oo("0x4")](Oo("0x15")),r=this[Oo("0x20")].get(e),o=await r[Oo("0x2b")](t);await this._fetchMissingUsersForThreads(o);const s=new Set(Array[Oo("0x30")](n[Oo("0x33")]({channelId:e}),(e=>e.id)));for(const e of o)s[Oo("0x4c")](e[Oo("0x46")]);for(const e of s)n[Oo("0x24")](e).remove({isFromAdapter:!0});for(const t of o){let r=n[Oo("0x24")](t.commentThreadId);const{commentThreadId:o,context:s,attributes:i,resolvedBy:a,resolvedAt:c}=t;r||(r=n[Oo("0x9")]({channelId:e,threadId:o,context:s,attributes:i,resolvedBy:a,resolvedAt:c,isFromAdapter:!0}));const u=new Set(Array[Oo("0x30")](r[Oo("0x42")],(e=>e.id)));for(const e of t[Oo("0x42")])u.delete(e[Oo("0x28")]);for(const e of u)r[Oo("0x40")](e)[Oo("0xf")]({isFromAdapter:!0});for(const e of t[Oo("0x42")]){const t=r[Oo("0x40")](e[Oo("0x28")]);t?t.content!==e[Oo("0x6")]&&t[Oo("0x26")]({content:e.content,isFromAdapter:!0}):r.addComment(Object.assign(_o(e),{isFromAdapter:!0}))}}}[Oo("0x7")](e){if(!this._services.has(e))throw new n.CKEditorError(Oo("0x1a"),null,{channelId:e});return this[Oo("0x20")][Oo("0x4")](e)}async[Oo("0x4a")](e){const t=this.context[Oo("0x3")][Oo("0x4")](p.Users),{connection:n}=this[Oo("0x18")][Oo("0x3")][Oo("0x4")](l),r=new Set;for(const{resolvedBy:n,comments:o}of e){n&&!t[Oo("0x48")](n)&&r.add(n);for(const{userId:e}of o)t[Oo("0x48")](e)||r[Oo("0x3b")](e)}if(0===r.size)return;const o=await $r()[Oo("0x38")](n,Array[Oo("0x30")](r));for(const e of o)t[Oo("0x48")](e.id)||t[Oo("0x27")](e)}}async function wo(e){if(Oo("0x3f")!==e.code)throw e}function xo(e){if((t=e)[Oo("0x11")][Oo("0x2f")](Oo("0x47"))||t[Oo("0x11")][Oo("0x2f")](Oo("0x23"))||t[Oo("0x11")][Oo("0x2f")](Oo("0x21")))return new Promise((()=>{}));var t;throw e}function _o(e){return{threadId:e[Oo("0x46")],commentId:e[Oo("0x28")],content:e.content,createdAt:e[Oo("0xb")],authorId:e[Oo("0x44")],attributes:e[Oo("0x37")]||{}}}vo[Oo("0x49")]=mo();const Io=["type","reconnect","_waitForServiceReady","cloud-services-internal-error: Not connected.","init","then","TrackChangesEditing","config","attributes","add","_saved","isConnected","message","update","hasSuggestion","getSuggestion","_trackChangesService","open","plugins","addUser","originalSuggestionId","getUser","addToReconnectionStack","size","state","connected","catch","_bufferedRequests","requires","delete","startsWith","editor","connect","TrackChangesService","get","find","_fetchMissingUsersForThreads","suggestionUpdated","getMany","data","set","cloud-services-internal-error: Request timeout.","addSuggestionData"];var So,Po;So=Io,Po=258,function(e){for(;--e;)So.push(So.shift())}(++Po);const To=function(e,t){return Io[e-=0]};class Ao extends t.Plugin{static get[To("0x1c")](){return[vo,"TrackChangesEditing",l]}constructor(e){super(e);const t=this[To("0x1f")][To("0x7")].get("collaboration.channelId");this[To("0x1b")]=new Map,this[To("0x10")]=new Ao.TrackChangesService(t)}[To("0x4")](){const e=this.editor.plugins.get(l),t=this[To("0x1f")][To("0x12")].get(To("0x6"));return t.adapter={getSuggestion:async e=>{await this[To("0x2")]();const t=await this[To("0x10")][To("0x22")](e)[To("0x1a")](ko);return await this[To("0x24")]([t]),t},addSuggestion:async({id:e,type:t,data:n,originalSuggestionId:r,attributes:o})=>{await this[To("0x2")]();const s={id:e,type:t,data:n,originalSuggestionId:r,attributes:o},i=await this[To("0x10")][To("0x9")](e,t,n,r,o)[To("0x1a")]((t=>{if(Co(t))return new Promise((t=>{this[To("0x1b")][To("0x28")](e,{resolve:t,suggestionData:s})}));throw t}));return this[To("0x1b")][To("0x1d")](e),i},updateSuggestion:async(e,t)=>{if(await this[To("0x2")](),To("0x11")!==t[To("0x18")])return this._trackChangesService[To("0xd")](e,t).catch(ko)}},this.listenTo(this[To("0x10")],To("0x25"),((e,n)=>{t[To("0xe")](n.id)&&(t[To("0xf")](n.id).attributes=n[To("0x8")])})),this._trackChangesService[To("0x20")](e.connection).then((n=>(e[To("0x16")](this),this[To("0x24")](n)[To("0x5")]((()=>{for(const e of n)t[To("0x2a")](e)[To("0xa")]=!0})))))}async[To("0x1")](){const e=this[To("0x1f")][To("0x12")][To("0x22")]("TrackChangesEditing"),{connection:t}=this.editor.plugins.get(l),n=await this[To("0x10")][To("0x20")](t);await this[To("0x24")](n);for(const{suggestionData:e,resolve:t}of this._bufferedRequests.values()){let r=n[To("0x23")]((t=>t.id===e.id));r||(r=await this._trackChangesService[To("0x9")](e.id,e[To("0x0")],e[To("0x27")],e[To("0x14")])),t(r)}for(const t of n)e.hasSuggestion(t.id)||e.addSuggestionData(t)}async _waitForServiceReady(){this[To("0x10")][To("0xb")]||await new Promise((e=>{this.listenTo(this[To("0x10")],To("0x19"),(t=>{t.off(),e()}))}))}async[To("0x24")](e){const t=this[To("0x1f")][To("0x12")].get(p.Users),{connection:n}=this[To("0x1f")][To("0x12")][To("0x22")](l),r=new Set;for(const{authorId:n}of e)t[To("0x15")](n)||r.add(n);if(0===r[To("0x17")])return;const o=await $r()[To("0x26")](n,Array.from(r));for(const e of o)t[To("0x15")](e.id)||t[To("0x13")](e)}}function ko(e){if(Co(e))return new Promise((()=>{}));throw e}function Co(e){return e[To("0xc")].startsWith(To("0x3"))||e[To("0xc")][To("0x1e")](To("0x29"))}Ao[To("0x21")]=ho();const jo=["change:state","requires","collaboration.channelId","_setUpService","_terminateService","switchReadOnly","data","CommentsEditing","Comments","once","CommentsRepository","plugins","connected","config","ready","pluginName","get","RealTimeCollaborativeComments","editor"];var Eo,Do;Eo=jo,Do=195,function(e){for(;--e;)Eo.push(Eo.shift())}(++Do);const Ro=function(e,t){return jo[e-=0]};class No extends t.Plugin{static get[Ro("0xf")](){return[Ro("0x3"),vo,lo,l]}static get[Ro("0xa")](){return Ro("0xc")}init(){const e=this[Ro("0xd")][Ro("0x6")][Ro("0xb")](l),t=this.editor.plugins[Ro("0xb")](Ro("0x2")),n=this[Ro("0xd")].plugins[Ro("0xb")](vo);return this.editor[Ro("0x1")][Ro("0x4")](Ro("0x9"),(()=>{this.listenTo(e,"change:state",((e,n,r)=>{t.isThreadsLoadingPaused=Ro("0x7")!==r}))})),this.listenTo(e,Ro("0xe"),((e,t,n)=>{this[Ro("0xd")][Ro("0x6")][Ro("0xb")](Ro("0x5"))[Ro("0x0")](Ro("0x7")!==n)})),n[Ro("0x11")](this.editor[Ro("0x8")][Ro("0xb")](Ro("0x10")))}destroy(){this[Ro("0xd")][Ro("0x6")][Ro("0xb")](vo)[Ro("0x12")](this[Ro("0xd")][Ro("0x8")][Ro("0xb")](Ro("0x10"))),super.destroy()}}var Mo,Vo,Bo=["requires","TrackChanges","RealTimeCollaborativeTrackChanges"];Mo=Bo,Vo=309,function(e){for(;--e;)Mo.push(Mo.shift())}(++Vo);var Uo=function(e,t){return Bo[e-=0]};class Jo extends t.Plugin{static get[Uo("0x0")](){return[No,Ao,Uo("0x1")]}static get pluginName(){return Uo("0x2")}}var qo=__webpack_require__(8811),Lo=__webpack_require__.n(qo),Go=__webpack_require__(8689),Fo=__webpack_require__.n(Go);const Yo=["RevisionHistoryService","get","init","sendBufferedUpdates","_fixRevision","buildRevisionData","cloudServices.bundleVersion","isEmptyCurrent","setRevisionData","_fetchMissingUsers","once","getOperations","plugins","isConnected","length","connect","_isConnected","then","_preventResendingRevisionData","repository","reconnect","requires","editor","adapter","type","sessionId","authors","getRevision","revisionsUpdated","startsWith","creatorId","diffData","off","reverse","addUser","_waitForServiceReady","from","fromVersion","setSource","map","keys","_startingVersion","max","bind","_update","_revisionTracker","data","currentRevision","getUser","config","listenTo","collaboration.channelId","addToReconnectionStack","serverHistory","_revisionDataBuilder","_bufferUpdate","message","_handleRevisionsUpdate","CONNECTED","_bufferedUpdates","_lastRequestId","add","updateRevisions","state","code","400","_getLatestVersionFromServerOperations","_revisionHistoryService","marker","toVersion","_getLatestVersion","RevisionTracker","change:_isPendingUpdate","_isPendingUpdate","connection","createdAt","authorsIds","connected","_offset"];var zo,Ho;zo=Yo,Ho=185,function(e){for(;--e;)zo.push(zo.shift())}(++Ho);const Ko=function(e,t){return Yo[e-=0]};class Wo extends t.Plugin{static get[Ko("0x49")](){return[l,no,"RevisionTracker",g,p.Users]}constructor(e){super(e);const t=this[Ko("0x4a")][Ko("0x16")].get(Ko("0x18"));this[Ko("0x21")]=null,this._revisionTracker=this.editor[Ko("0x40")].get(Ko("0x2c")),this[Ko("0x28")]=new(Wo[Ko("0x34")])(t)}async[Ko("0x36")](){const e=this[Ko("0x4a")][Ko("0x40")][Ko("0x35")](no),t=e[Ko("0x1a")],r=this.editor.plugins.get(l);this._revisionTracker[Ko("0xb")]({history:t,getLatestVersion:()=>this[Ko("0x2b")](),getCurrentRevisionId:()=>e[Ko("0x4d")]});const o=this[Ko("0x4a")][Ko("0x16")][Ko("0x35")](Ko("0x3a"))||n.version,i=await Fo().isBundleUploaded(r[Ko("0x2f")],o);this._revisionTracker[Ko("0x4b")]={getRevision:async({revisionId:e})=>(await this[Ko("0x8")](),await this._revisionHistoryService.getRevision(e)),updateRevisions:async e=>{await this[Ko("0x8")]();const t=this._revisionTracker[Ko("0x14")];if(i&&1===e[Ko("0x42")]&&e[0].id===t.id)return e;for(const n of e)n.id===t.id&&(n[Ko("0x3b")]=n[Ko("0xa")]===n.toVersion);return this[Ko("0x28")][Ko("0x23")](e,this[Ko("0x21")])[Ko("0x45")]((t=>(this[Ko("0x21")]=t,e))).catch((t=>{if($o(t)||Ko("0x26")===t[Ko("0x25")]&&void 0!==t[Ko("0x13")].wrongRequestId){for(const t of e)!this[Ko("0x12")].repository[Ko("0x0")](t.id)||this[Ko("0x12")][Ko("0x1c")](t.id,t,!1);if($o(t))throw t;return e}throw t}))}},this[Ko("0x17")](this[Ko("0x28")],Ko("0x1"),((e,{revisionsData:t,requestId:n})=>{Math[Ko("0xf")](...t[Ko("0xc")]((e=>e.toVersion)))>this._getLatestVersionFromServerOperations()-1?this[Ko("0x2b")]()[Ko("0x45")]((()=>{this[Ko("0x1e")](t,n)})):this[Ko("0x1e")](t,n)}));const{revisions:a,requestId:c}=await this[Ko("0x28")][Ko("0x43")](r.connection);r[Ko("0x19")](this),this._lastRequestId=c,await this._fetchMissingUsers(a);for(const e of a)this._revisionTracker.addRevisionData(e);this[Ko("0x17")](e,"change:_isConnected",((t,n,r)=>{r&&(this._oldOffset=e[Ko("0x33")],t[Ko("0x5")]())})),this._revisionTracker[Ko("0x10")]("isEnabled").to(r,Ko("0x24"),(e=>e===s.WEB_SOCKET_GATEWAY_STATES[Ko("0x1f")]))}async[Ko("0x48")](){const e=this[Ko("0x4a")][Ko("0x40")][Ko("0x35")](l),t=this[Ko("0x4a")].plugins[Ko("0x35")](no),n=async()=>{const n=this[Ko("0x12")][Ko("0x14")],r=n.id,o=r!==t.sessionId;if(o){const e=t[Ko("0x33")]-this._oldOffset,o=this[Ko("0x27")]();if(this[Ko("0x12")][Ko("0x1b")].reInit(),n[Ko("0x2a")]+e!==o){const t=n[Ko("0xa")]+e,r=this.editor.plugins[Ko("0x35")](p.Users),s=this._revisionTracker.buildRevisionData({revision:n,from:t,to:o});s.id=n.id;const i=s[Ko("0x31")][Ko("0xc")]((e=>r.getUser(e)));n[Ko("0x11")]({...s,authors:i},!0),this[Ko("0x12")][Ko("0x1c")](n.id,s,!0)}this._revisionTracker[Ko("0xe")]=o,n[Ko("0x2a")]===n[Ko("0xa")]&&!this[Ko("0x12")][Ko("0x20")].has(r)&&this[Ko("0x12")][Ko("0x47")]._revisions.remove(r),this[Ko("0x12")]._createCurrentRevision(o)}const{revisions:s,requestId:i}=await this._revisionHistoryService.reconnect(e.connection,this._lastRequestId);o&&s.length>0?t._handleReconnectionError():(await this[Ko("0x3d")](s),this[Ko("0x1e")](s,i),this[Ko("0x12")][Ko("0x37")]())};return t[Ko("0x44")]?n():new Promise(((e,r)=>{t[Ko("0x3e")]("change:_isConnected",(()=>{n()[Ko("0x45")](e).catch(r)}))}))}destroy(){super.destroy()}async _waitForServiceReady(){this[Ko("0x28")][Ko("0x41")]||await new Promise((e=>{this[Ko("0x17")](this[Ko("0x28")],Ko("0x32"),(t=>{t[Ko("0x5")](),e()}))}))}[Ko("0x27")](){const e=this[Ko("0x4a")].plugins[Ko("0x35")](no).serverHistory[Ko("0x3f")]()[Ko("0x6")]();for(const t of e)if(Ko("0x29")!==t[Ko("0x4c")]||t.affectsData)return t.baseVersion+1}[Ko("0x2b")](){const e=this[Ko("0x4a")][Ko("0x40")][Ko("0x35")](no);return new Promise((t=>{e[Ko("0x2e")]?e[Ko("0x3e")](Ko("0x2d"),(()=>{t(this._getLatestVersionFromServerOperations())})):t(this[Ko("0x27")]())}))}[Ko("0x1e")](e,t){const n=this[Ko("0x12")].repository;this[Ko("0x21")]=t;for(const t of e){const e=n.getRevision(t.id);if(e){if((t[Ko("0xa")]||t[Ko("0x2a")])&&(t[Ko("0x4")]=null),e===this._revisionTracker[Ko("0x14")]){const n=Math[Ko("0xf")](e[Ko("0x2a")],t[Ko("0x2a")]),r=Math.max(e[Ko("0xa")],t[Ko("0xa")]);let o;e[Ko("0x2a")]===t.toVersion&&e[Ko("0xa")]===t[Ko("0xa")]?(o=!0,this[Ko("0x46")](t)):t[Ko("0x2a")]===n&&t[Ko("0xa")]===r?o=!1:(e[Ko("0x2a")]===n&&e[Ko("0xa")]===r||this[Ko("0x38")]({revision:e,from:r,to:n}),o=!0),o&&(delete t.fromVersion,delete t.toVersion,delete t.diffData,delete t[Ko("0x30")],delete t[Ko("0x31")])}this[Ko("0x12")][Ko("0x3c")](t),this[Ko("0x46")](t)}else this[Ko("0x12")].addRevisionData(t)}const r=n.getRevisions();r[Ko("0x6")]();for(let e=0;e<r.length-1;e++){const t=r[e],n=r[e+1];if(t[Ko("0xa")]<n[Ko("0x2a")]){const e=n[Ko("0x2a")],r=Math[Ko("0xf")](e,t[Ko("0x2a")]);this._fixRevision({revision:t,from:e,to:r})}}}_fixRevision({revision:e,from:t,to:n}={}){const r=this[Ko("0x4a")][Ko("0x40")].get(p.Users),o=this[Ko("0x12")][Ko("0x39")]({revision:e,from:t,to:n});o[Ko("0x4e")]=o[Ko("0x31")].map((e=>r[Ko("0x15")](e))),e[Ko("0x11")](o)}[Ko("0x46")](e){const t={};t.id=e.id;for(const n of Object[Ko("0xd")](e))"id"!==n&&(t[n]=void 0);this[Ko("0x12")]._bufferUpdate(t.id,t,!0)}async[Ko("0x3d")](e){const t=this[Ko("0x4a")][Ko("0x40")].get(p.Users),{connection:n}=this[Ko("0x4a")].plugins[Ko("0x35")](l),r=new Set;for(const t of e){for(const e of t[Ko("0x31")])s(e);t[Ko("0x3")]&&s(t[Ko("0x3")])}if(0===r.size)return;const o=await $r().getMany(n,Array[Ko("0x9")](r));for(const e of o)t[Ko("0x15")](e.id)||t[Ko("0x7")](e);function s(e){t[Ko("0x15")](e)||r[Ko("0x22")](e)}}}function $o(e){return e[Ko("0x1d")][Ko("0x2")]("cloud-services-internal-error: Revision History Service is not connected.")||e[Ko("0x1d")][Ko("0x2")]("cloud-services-internal-error: Not connected.")||e[Ko("0x1d")][Ko("0x2")]("cloud-services-internal-error: Request timeout.")}Wo[Ko("0x34")]=Lo();var Xo,Zo,Qo=["RevisionHistory","pluginName","RealTimeCollaborativeRevisionHistory","requires"];Xo=Qo,Zo=186,function(e){for(;--e;)Xo.push(Xo.shift())}(++Zo);var es=function(e,t){return Qo[e-=0]};class ts extends t.Plugin{static get[es("0x1")](){return[es("0x2"),Wo,lo]}static get[es("0x3")](){return es("0x0")}}var ns=Function.prototype,rs=Object.prototype,os=ns.toString,ss=rs.hasOwnProperty,is=os.call(Object);const as=function(e){if(!ft(e)||"[object Object]"!=ve(e))return!1;var t=fn(e);if(null===t)return!0;var n=ss.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&os.call(n)==is};const cs=function(e){return ft(e)&&1===e.nodeType&&!as(e)},us=["isHidden","CONNECTED_USERS","ck-presence-list__counter","usersCount","div","set","bindTemplate"];var ds,ls;ds=us,ls=275,function(e){for(;--e;)ds.push(ds.shift())}(++ls);const ps=function(e,t){return us[e-=0]};class hs extends r.View{constructor(e){super(e);const t=this[ps("0x4")];this[ps("0x3")](ps("0x1"),0),this.set(ps("0x5"),!0),this.setTemplate({tag:ps("0x2"),attributes:{class:["ck",ps("0x0"),t.if(ps("0x5"),"ck-presence-list__counter--hidden")]},children:[{text:t.to(ps("0x1"),(t=>A(e,ps("0x6"),t)))}]})}}const fs=["bindTemplate","ck-presence-list__list","items","execute","setTemplate","createCollection"];var ms,ys;ms=fs,ys=360,function(e){for(;--e;)ms.push(ms.shift())}(++ys);const gs=function(e,t){return fs[e-=0]};class bs extends r.View{constructor(e){super(e),this[gs("0x2")]=this[gs("0x5")]();const t=this[gs("0x0")];this[gs("0x4")]({tag:"div",attributes:{class:["ck",gs("0x1")]},children:this[gs("0x2")],on:{click:t.to((()=>this.fire(gs("0x3"))))}})}}var Os=__webpack_require__(3286),vs={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};O()(Os.Z,vs);Os.Z.locals;const ws=["listenTo","isCollapsed","locale","setTemplate","ck-presence-list--collapsed","div","change","set","inlineListView","first","counterView","bindTemplate","items"];var xs,_s;xs=ws,_s=446,function(e){for(;--e;)xs.push(xs.shift())}(++_s);const Is=function(e,t){return ws[e-=0]};class Ss extends r.View{constructor(e){super(e);const t=this[Is("0x7")];this[Is("0x3")](Is("0xa"),!0),this[Is("0x6")]=new hs(this[Is("0xb")]),this[Is("0x4")]=new bs(e),this[Is("0x9")](this[Is("0x4")][Is("0x8")],Is("0x2"),(()=>{for(const e of this[Is("0x4")][Is("0x8")])e.tooltipPosition="s";this[Is("0x4")][Is("0x8")][Is("0x5")]&&(this.inlineListView[Is("0x8")][Is("0x5")].tooltipPosition="se")})),this[Is("0xc")]({tag:Is("0x1"),attributes:{class:["ck","ck-presence-list","ck-reset","ck-rounded-corners",t.if("isCollapsed",Is("0x0"))]},children:[this[Is("0x6")],this.inlineListView]})}}var Ps,Ts,As=["items","createCollection","div","setTemplate","ck-presence-list__dropdown-list","ck-presence-list__dropdown-list-wrapper"];Ps=As,Ts=154,function(e){for(;--e;)Ps.push(Ps.shift())}(++Ts);var ks=function(e,t){return As[e-=0]};class Cs extends r.View{constructor(e){super(e),this[ks("0x2")]=this[ks("0x3")](),this[ks("0x5")]({tag:ks("0x4"),attributes:{class:["ck",ks("0x0")]},children:[{tag:ks("0x4"),attributes:{class:["ck",ks("0x1")]},children:this[ks("0x2")]}]})}}const js=["true","userView","execute","name","span","div","color","ck-presence-list__dropdown-list-item","ck-presence-list__marker","bindTemplate","ck-user__full-name","getBackgroundColorClass"];var Es,Ds;Es=js,Ds=407,function(e){for(;--e;)Es.push(Es.shift())}(++Ds);const Rs=function(e,t){return js[e-=0]};class Ns extends r.View{constructor(e,t,n){super(e);const r=this[Rs("0xa")];this[Rs("0x2")]=new p.UserView(e,t);const o={tag:Rs("0x6"),attributes:{class:["ck",Rs("0x8")]},children:[this[Rs("0x2")],{tag:Rs("0x5"),attributes:{class:["ck",Rs("0xb")]},children:[{text:t[Rs("0x4")]}]},{tag:"span",attributes:{class:["ck",Rs("0x9"),t[Rs("0x7")][Rs("0x0")]()],"aria-hidden":Rs("0x1")}}]};n&&(o.tag="button",o.on={click:r.to((()=>this.fire(Rs("0x3"))))}),this.setTemplate(o)}}const Ms=["execute","getBackgroundColorClass","span","bindTemplate","setTemplate","userView","true","set","fire","markerView","ck-presence-list__list-item","div","ck-presence-list__marker","name","button","hasTooltip","tooltipPosition","tag"];var Vs,Bs;Vs=Ms,Bs=355,function(e){for(;--e;)Vs.push(Vs.shift())}(++Bs);const Us=function(e,t){return Ms[e-=0]};class Js extends r.View{constructor(e,t,n){super(e);const r=this[Us("0x8")];this[Us("0xc")](Us("0x2"),!0),this.set("tooltipPosition",""),this[Us("0xa")]=new p.UserView(e,t),this[Us("0xe")]=new qs(e,t);const o={tag:Us("0x10"),attributes:{class:["ck",Us("0xf")],"data-cke-tooltip-text":this[Us("0xa")][Us("0x0")],"data-cke-tooltip-position":r.to(Us("0x3")),"data-cke-tooltip-disabled":r.to("hasTooltip",(e=>!e)),"data-cke-tooltip-class":"ck-presence-list__list-item__tooltip"},children:[this[Us("0xa")],this[Us("0xe")]]};n&&(o[Us("0x4")]=Us("0x1"),o.on={click:r.to((()=>this[Us("0xd")](Us("0x5"))))}),this[Us("0x9")](o)}}class qs extends r.View{constructor(e,t){super(e),this[Us("0x9")]({tag:Us("0x7"),attributes:{class:["ck",Us("0x11"),t.color[Us("0x6")]()],"aria-hidden":Us("0xb")}})}}const Ls=["locale","context","config","balloonPanelView","presenceList.container","presenceList","onClick","add","_allConnectedUsers","execute","presencelist-collapseat-invalid-format","items","lastConnectedUsers","number","isRendered","isCollapsed","hideDropdown","reverse","pin","destroy","set","content","remove","hasTooltip","detachFromDom","_createView","from","attachToDom","usersCount","presenceDropdownView","showDropdown","isVisible","appendChild","element","bindTo","counterView","using","_handleUserRemove","ck ck-presence-list__balloon","inlineListView","init","_handleUserAdd","get","plugins","length","bind","define","listenTo","view","isHidden","presenceList.collapseAt","bodyCollection"];var Gs,Fs;Gs=Ls,Fs=479,function(e){for(;--e;)Gs.push(Gs.shift())}(++Fs);const Ys=function(e,t){return Ls[e-=0]};class zs extends t.ContextPlugin{constructor(e){super(e),this[Ys("0x2a")][Ys("0x2b")][Ys("0x23")](Ys("0x2e"),{collapseAt:6});const t=e[Ys("0x2b")][Ys("0x1f")](Ys("0x27"));if(Ys("0x2")!=typeof t)throw new n.CKEditorError("presencelist-collapseat-invalid-format",this);if(t<1)throw new n.CKEditorError(Ys("0x33"),this);this._allConnectedUsers=this[Ys("0x2a")][Ys("0x20")].get(g).allConnectedUsers,this[Ys("0x9")](Ys("0x11"),0),this.lastConnectedUsers=new n.Collection,this.balloonPanelView=new r.BalloonPanelView,this.balloonPanelView.class=Ys("0x1b"),this[Ys("0x25")]=this[Ys("0xe")](),this[Ys("0x12")]=void 0}static get requires(){return[g]}[Ys("0x1d")](){for(const e of this[Ys("0x31")])this[Ys("0x1e")](e);this.listenTo(this[Ys("0x31")],Ys("0x30"),((e,t)=>{this._handleUserAdd(t)})),this[Ys("0x24")](this[Ys("0x31")],Ys("0xb"),((e,t)=>{this[Ys("0x1a")](t)}))}_createView(){const e=this.context,t=new Ss(this[Ys("0x2a")][Ys("0x29")]),o=this.balloonPanelView;if(!cs(e[Ys("0x2b")][Ys("0x1f")](Ys("0x2d"))))throw new n.CKEditorError("presencelist-missing-container",this);return t[Ys("0x18")][Ys("0x22")](Ys("0x11")).to(this),t[Ys("0x22")](Ys("0x4")).to(this,Ys("0x11"),(n=>{const r=n>=e[Ys("0x2b")][Ys("0x1f")]("presenceList.collapseAt");return t.counterView[Ys("0x26")]=!(1==n||r),r||this[Ys("0x5")](),r})),t[Ys("0x1c")][Ys("0x0")][Ys("0x17")](this[Ys("0x1")])[Ys("0x19")]((n=>{const r=e[Ys("0x2b")].get(Ys("0x2e")),o=new Js(e[Ys("0x29")],n,!!r[Ys("0x2f")]);return o[Ys("0x22")](Ys("0xc")).to(t,Ys("0x4"),(e=>!e)),r[Ys("0x2f")]&&this.listenTo(o,Ys("0x32"),(()=>{this.view[Ys("0x4")]||r[Ys("0x2f")](n,o.element)})),o})),this.listenTo(t.inlineListView,Ys("0x32"),(()=>{this[Ys("0x12")]?this[Ys("0x5")]():this[Ys("0x25")][Ys("0x4")]&&this[Ys("0x13")]()})),t.render(),o.render(),(0,r.clickOutsideHandler)({emitter:t,activator:()=>o[Ys("0x14")],contextElements:[o[Ys("0x16")],t[Ys("0x1c")][Ys("0x16")]],callback:()=>this[Ys("0x5")]()}),e[Ys("0x2b")].get(Ys("0x2d"))[Ys("0x15")](t[Ys("0x16")]),this[Ys("0x28")]=new r.BodyCollection(this[Ys("0x2a")][Ys("0x29")]),this[Ys("0x28")][Ys("0x10")](),this[Ys("0x28")][Ys("0x30")](o),t}_handleUserAdd(e){this[Ys("0x11")]++,5==this.lastConnectedUsers.length&&this[Ys("0x1")][Ys("0xb")](0),this[Ys("0x1")][Ys("0x30")](e)}[Ys("0x1a")](e){if(this[Ys("0x11")]--,this[Ys("0x1")][Ys("0x1f")](e.id)&&(this[Ys("0x1")].remove(e.id),this[Ys("0x1")][Ys("0x21")]<this[Ys("0x11")]))for(const e of Array[Ys("0xf")](this[Ys("0x31")])[Ys("0x6")]())if(!this[Ys("0x1")][Ys("0x1f")](e.id))return void this[Ys("0x1")][Ys("0x30")](e,0)}[Ys("0x13")](){if(this[Ys("0x12")])return;this[Ys("0x12")]=new Cs(this.context[Ys("0x29")]);const e=this[Ys("0x2a")][Ys("0x2b")][Ys("0x1f")](Ys("0x2e"));this[Ys("0x12")].items[Ys("0x17")](this[Ys("0x31")])[Ys("0x19")]((t=>{const n=new Ns(this.context[Ys("0x29")],t,!!e[Ys("0x2f")]);return e[Ys("0x2f")]&&this[Ys("0x24")](n,Ys("0x32"),(()=>{e[Ys("0x2f")](t,n[Ys("0x16")])})),n})),this[Ys("0x2c")][Ys("0xa")][Ys("0x30")](this.presenceDropdownView),this[Ys("0x2c")][Ys("0x7")]({target:this[Ys("0x25")].inlineListView[Ys("0x16")]})}[Ys("0x5")](){this[Ys("0x12")]&&(this[Ys("0x2c")].unpin(),this[Ys("0x2c")][Ys("0xa")].remove(this.presenceDropdownView),this.presenceDropdownView[Ys("0x8")](),this[Ys("0x12")]=void 0)}destroy(){super[Ys("0x8")](),this[Ys("0x25")]&&this[Ys("0x25")][Ys("0x3")]&&this[Ys("0x25")][Ys("0x8")](),this.bodyCollection&&this.bodyCollection[Ys("0xd")]()}}var Hs,Ks,Ws=["requires","PresenceList"];Hs=Ws,Ks=183,function(e){for(;--e;)Hs.push(Hs.shift())}(++Ks);var $s=function(e,t){return Ws[e-=0]};class Xs extends t.ContextPlugin{static get[$s("0x1")](){return[g,zs]}static get pluginName(){return $s("0x0")}}class Zs extends((0,n.ObservableMixin)()){constructor(e,t={}){if(super(),!e)throw new CKEditorError("token-missing-token-url",this);t.initValue&&this._validateTokenValue(t.initValue),this.set("value",t.initValue),this._refresh="function"==typeof e?e:()=>{return e,new Promise(((e,n)=>{const r=new XMLHttpRequest;r.open("GET",t),r.addEventListener("load",(()=>{const t=r.status,o=r.response;return t<200||t>299?n(new CKEditorError("token-cannot-download-new-token",null)):e(o)})),r.addEventListener("error",(()=>n(new Error("Network Error")))),r.addEventListener("abort",(()=>n(new Error("Abort")))),r.send()}));var t},this._options={...DEFAULT_OPTIONS,...t}}init(){return new Promise(((e,t)=>{this.value?(this._options.autoRefresh&&this._registerRefreshTokenTimeout(),e(this)):this.refreshToken().then(e).catch(t)}))}refreshToken(){return this._refresh().then((e=>(this._validateTokenValue(e),this.set("value",e),this._options.autoRefresh&&this._registerRefreshTokenTimeout(),this)))}destroy(){clearTimeout(this._tokenRefreshTimeout)}_validateTokenValue(e){const t="string"==typeof e,n=!/^".*"$/.test(e),r=t&&3===e.split(".").length;if(!n||!r)throw new CKEditorError("token-not-in-jwt-format",this)}_registerRefreshTokenTimeout(){const e=this._getTokenRefreshTimeoutTime();clearTimeout(this._tokenRefreshTimeout),this._tokenRefreshTimeout=setTimeout((()=>{this.refreshToken()}),e)}_getTokenRefreshTimeoutTime(){try{const[,e]=this.value.split("."),{exp:t}=JSON.parse(atob(e));if(!t)return DEFAULT_TOKEN_REFRESH_TIMEOUT_TIME;return Math.floor((1e3*t-Date.now())/2)}catch(e){return DEFAULT_TOKEN_REFRESH_TIMEOUT_TIME}}static create(e,t={}){return new Zs(e,t).init()}}class Qs extends((0,n.EmitterMixin)()){constructor(e,t,n){if(super(),!e)throw new CKEditorError("fileuploader-missing-file",null);if(!t)throw new CKEditorError("fileuploader-missing-token",null);if(!n)throw new CKEditorError("fileuploader-missing-api-address",null);this.file=function(e){if("string"!=typeof e)return!1;const t=e.match(BASE64_HEADER_REG_EXP);return!(!t||!t.length)}(e)?function(e,t=512){try{const n=e.match(BASE64_HEADER_REG_EXP)[1],r=atob(e.replace(BASE64_HEADER_REG_EXP,"")),o=[];for(let e=0;e<r.length;e+=t){const n=r.slice(e,e+t),s=new Array(n.length);for(let e=0;e<n.length;e++)s[e]=n.charCodeAt(e);o.push(new Uint8Array(s))}return new Blob(o,{type:n})}catch(e){throw new CKEditorError("fileuploader-decoding-image-data-error",null)}}(e):e,this._token=t,this._apiAddress=n}onProgress(e){return this.on("progress",((t,n)=>e(n))),this}onError(e){return this.once("error",((t,n)=>e(n))),this}abort(){this.xhr.abort()}send(){return this._prepareRequest(),this._attachXHRListeners(),this._sendRequest()}_prepareRequest(){const e=new XMLHttpRequest;e.open("POST",this._apiAddress),e.setRequestHeader("Authorization",this._token.value),e.responseType="json",this.xhr=e}_attachXHRListeners(){const e=this.xhr,t=e=>()=>this.fire("error",e);e.addEventListener("error",t("Network Error")),e.addEventListener("abort",t("Abort")),e.upload&&e.upload.addEventListener("progress",(e=>{e.lengthComputable&&this.fire("progress",{total:e.total,uploaded:e.loaded})})),e.addEventListener("load",(()=>{const t=e.status,n=e.response;if(t<200||t>299)return this.fire("error",n.message||n.error)}))}_sendRequest(){const e=new FormData,t=this.xhr;return e.append("file",this.file),new Promise(((n,r)=>{t.addEventListener("load",(()=>{const e=t.status,o=t.response;return e<200||e>299?o.message?r(new CKEditorError("fileuploader-uploading-data-failed",this,{message:o.message})):r(o.error):n(o)})),t.addEventListener("error",(()=>r(new Error("Network Error")))),t.addEventListener("abort",(()=>r(new Error("Abort")))),t.send(e)}))}}})(),(window.CKEditor5=window.CKEditor5||{}).realTimeCollaboration=__webpack_exports__})();
5
+ */(()=>{var __webpack_modules__={1993:(e,t,n)=>{"use strict";e.exports=n(7484)},7484:(e,t,n)=>{"use strict";var r=t;function o(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=n(5394),r.BufferWriter=n(6743),r.Reader=n(9967),r.BufferReader=n(6609),r.util=n(1439),r.rpc=n(5698),r.roots=n(2083),r.configure=o,o()},9967:(e,t,n)=>{"use strict";e.exports=c;var r,o=n(1439),s=o.LongBits,i=o.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var u,d="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},l=function(){return o.Buffer?function(e){return(c.create=function(e){return o.Buffer.isBuffer(e)?new r(e):d(e)})(e)}:d};function p(){var e=new s(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function h(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new s(h(this.buf,this.pos+=4),h(this.buf,this.pos+=4))}c.create=l(),c.prototype._slice=o.Array.prototype.subarray||o.Array.prototype.slice,c.prototype.uint32=(u=4294967295,function(){if(u=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return u;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return u}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return h(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|h(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=o.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=o.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw a(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,n):t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)},c.prototype.string=function(){var e=this.bytes();return i.read(e,0,e.length)},c.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){r=e,c.create=l(),r._configure();var t=o.Long?"toLong":"toNumber";o.merge(c.prototype,{int64:function(){return p.call(this)[t](!1)},uint64:function(){return p.call(this)[t](!0)},sint64:function(){return p.call(this).zzDecode()[t](!1)},fixed64:function(){return f.call(this)[t](!0)},sfixed64:function(){return f.call(this)[t](!1)}})}},6609:(e,t,n)=>{"use strict";e.exports=s;var r=n(9967);(s.prototype=Object.create(r.prototype)).constructor=s;var o=n(1439);function s(e){r.call(this,e)}s._configure=function(){o.Buffer&&(s.prototype._slice=o.Buffer.prototype.slice)},s.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},s._configure()},2083:e=>{"use strict";e.exports={}},5698:(e,t,n)=>{"use strict";t.Service=n(1754)},1754:(e,t,n)=>{"use strict";e.exports=o;var r=n(1439);function o(e,t,n){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");r.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}(o.prototype=Object.create(r.EventEmitter.prototype)).constructor=o,o.prototype.rpcCall=function e(t,n,o,s,i){if(!s)throw TypeError("request must be specified");var a=this;if(!i)return r.asPromise(e,a,t,n,o,s);if(a.rpcImpl)try{return a.rpcImpl(t,n[a.requestDelimited?"encodeDelimited":"encode"](s).finish(),(function(e,n){if(e)return a.emit("error",e,t),i(e);if(null!==n){if(!(n instanceof o))try{n=o[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(e){return a.emit("error",e,t),i(e)}return a.emit("data",n,t),i(null,n)}a.end(!0)}))}catch(e){return a.emit("error",e,t),void setTimeout((function(){i(e)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},o.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},5015:(e,t,n)=>{"use strict";e.exports=o;var r=n(1439);function o(e,t){this.lo=e>>>0,this.hi=t>>>0}var s=o.zero=new o(0,0);s.toNumber=function(){return 0},s.zzEncode=s.zzDecode=function(){return this},s.length=function(){return 1};var i=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(e){if(0===e)return s;var t=e<0;t&&(e=-e);var n=e>>>0,r=(e-n)/4294967296>>>0;return t&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new o(n,r)},o.from=function(e){if("number"==typeof e)return o.fromNumber(e);if(r.isString(e)){if(!r.Long)return o.fromNumber(parseInt(e,10));e=r.Long.fromString(e)}return e.low||e.high?new o(e.low>>>0,e.high>>>0):s},o.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},o.prototype.toLong=function(e){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;o.fromHash=function(e){return e===i?s:new o((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},o.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)},o.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},o.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},o.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}},1439:function(e,t,n){"use strict";var r=t;function o(e,t,n){for(var r=Object.keys(t),o=0;o<r.length;++o)void 0!==e[r[o]]&&n||(e[r[o]]=t[r[o]]);return e}function s(e){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&o(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}r.asPromise=n(537),r.base64=n(9745),r.EventEmitter=n(4459),r.float=n(897),r.inquire=n(3229),r.utf8=n(113),r.pool=n(7986),r.LongBits=n(5015),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(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},r.isString=function(e){return"string"==typeof e||e instanceof String},r.isObject=function(e){return e&&"object"==typeof e},r.isset=r.isSet=function(e,t){var n=e[t];return!(null==n||!e.hasOwnProperty(t))&&("object"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},r.Buffer=function(){try{var e=r.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(e){return"number"==typeof e?r.Buffer?r._Buffer_allocUnsafe(e):new r.Array(e):r.Buffer?r._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||r.inquire("long"),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(e){return e?r.LongBits.from(e).toHash():r.LongBits.zeroHash},r.longFromHash=function(e,t){var n=r.LongBits.fromHash(e);return r.Long?r.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},r.merge=o,r.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},r.newError=s,r.ProtocolError=s("ProtocolError"),r.oneOfGetter=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=1;return function(){for(var e=Object.keys(this),n=e.length-1;n>-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},r.oneOfSetter=function(e){return function(t){for(var n=0;n<e.length;++n)e[n]!==t&&delete this[e[n]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var e=r.Buffer;e?(r._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,n){return new e(t,n)},r._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},5394:(e,t,n)=>{"use strict";e.exports=l;var r,o=n(1439),s=o.LongBits,i=o.base64,a=o.utf8;function c(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function u(){}function d(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function l(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var p=function(){return o.Buffer?function(){return(l.create=function(){return new r})()}:function(){return new l}};function h(e,t,n){t[n]=255&e}function f(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function y(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}l.create=p(),l.alloc=function(e){return new o.Array(e)},o.Array!==Array&&(l.alloc=o.pool(l.alloc,o.Array.prototype.subarray)),l.prototype._push=function(e,t,n){return this.tail=this.tail.next=new c(e,t,n),this.len+=t,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e},l.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new f((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},l.prototype.int32=function(e){return e<0?this._push(m,10,s.fromNumber(e)):this.uint32(e)},l.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},l.prototype.uint64=function(e){var t=s.from(e);return this._push(m,t.length(),t)},l.prototype.int64=l.prototype.uint64,l.prototype.sint64=function(e){var t=s.from(e).zzEncode();return this._push(m,t.length(),t)},l.prototype.bool=function(e){return this._push(h,1,e?1:0)},l.prototype.fixed32=function(e){return this._push(y,4,e>>>0)},l.prototype.sfixed32=l.prototype.fixed32,l.prototype.fixed64=function(e){var t=s.from(e);return this._push(y,4,t.lo)._push(y,4,t.hi)},l.prototype.sfixed64=l.prototype.fixed64,l.prototype.float=function(e){return this._push(o.float.writeFloatLE,4,e)},l.prototype.double=function(e){return this._push(o.float.writeDoubleLE,8,e)};var g=o.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var r=0;r<e.length;++r)t[n+r]=e[r]};l.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(h,1,0);if(o.isString(e)){var n=l.alloc(t=i.length(e));i.decode(e,n,0),e=n}return this.uint32(t)._push(g,t,e)},l.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(h,1,0)},l.prototype.fork=function(){return this.states=new d(this),this.head=this.tail=new c(u,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(u,0,0),this.len=0),this},l.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},l.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},l._configure=function(e){r=e,l.create=p(),r._configure()}},6743:(e,t,n)=>{"use strict";e.exports=s;var r=n(5394);(s.prototype=Object.create(r.prototype)).constructor=s;var o=n(1439);function s(){r.call(this)}function i(e,t,n){e.length<40?o.utf8.write(e,t,n):t.utf8Write?t.utf8Write(e,n):t.write(e,n)}s._configure=function(){s.alloc=o._Buffer_allocUnsafe,s.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&"set"===o.Buffer.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var r=0;r<e.length;)t[n++]=e[r++]}},s.prototype.bytes=function(e){o.isString(e)&&(e=o._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(s.writeBytesBuffer,t,e),this},s.prototype.string=function(e){var t=o.Buffer.byteLength(e);return this.uint32(t),t&&this._push(i,t,e),this},s._configure()},6732:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n extends Error{constructor(e,t,n=null,r={}){super("cloud-services-internal-error: "+e),this.context=t,this.code=n,this.data=r,this.name="CKEditorError"}static fromPublicError(e){return new n(function(e){let t="cloud-services-error: "+e.message;return e.explanation&&(t+="\nExplanation: "+e.explanation),e.action&&(t+="\nAction: "+e.action),e.traceId&&(t+="\nTraceId: "+e.traceId),e.code&&(t+="\nCode: "+e.code),t}(e),e)}}t.default=n},9073:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n extends Error{constructor(e,t){super(),this.name="CKEditorCloudServicesServerError",this.stack=void 0,this.message=e,this.code=t.code,this.traceId=t.traceId,this.data=t.data}static fromPublicError(e){return new n(function(e){let t="cloud-services-server-error: "+e.message;return e.explanation&&(t+="\nExplanation: "+e.explanation),e.action&&(t+="\nAction: "+e.action),e.traceId&&(t+="\nTraceId: "+e.traceId),e.code&&(t+="\nCode: "+e.code),t}(e),e)}}t.default=n},247:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._SERVICE=void 0;const o=n(5003),s=n(2209),i=r(n(822)),a=r(n(3825)),c=r(n(5834)),u=r(n(4721)),d=r(n(4053)),l=r(n(5184)),p=r(n(3297)),h=r(n(3136)),f=r(n(6732)),m=r(n(6315)),y=r(n(2663)),g=r(n(3510));t._SERVICE=1;class b{constructor(e,t){if(!e)throw new TypeError('Param "bundleVersion" must be provided.');this._id=null!=t?t:(0,o.v4)(),this._isConnected=!1,this._bundleVersion=e}getId(){return this._id}isConnected(){return this._isConnected}connect(e,t={buffers:[],types:[]},n){const r=new c.default(this.getId(),t.buffers,t.types,this._bundleVersion,n);return this._connect(e,r)}reconnect(e,t){if(this.isConnected())throw new f.default("Cannot reconnect to already connected service.",e);return this._connect(e,new d.default(this.getId(),t,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 e=new g.default(this.getId());if(!this._wsGateway)throw new m.default("Collaborative Editing",this);const n=await this._wsGateway._sendRequest(t._SERVICE,g.default.TYPE,i.default.encode(e));return i.default.decode(n,y.default)}async sendOperations(e,n,r){if(!e||!e.types||!e.types.length)throw new f.default("Cannot send empty update.",this._wsGateway);const o="number"==typeof n?n:parseInt(n);if(!Number.isInteger(o)||o<0)throw new f.default("Base version not provided.",this._wsGateway);const s=new u.default(this.getId(),e.buffers,e.types,o,[],r);if(!this._wsGateway||!this._isConnected)throw new m.default("Collaborative Editing",this);const a=await this._wsGateway._sendRequest(t._SERVICE,u.default.TYPE,i.default.encode(s));return i.default.decode(a,l.default)}async getConnectedSessions(){if(!this._isConnected)throw new m.default("Collaborative Editing",this);return this._connectedSessions||(this._connectedSessions=await a.default.getConnectedSessions(this._wsGateway,this._id,t._SERVICE)),this._connectedSessions}static getConnectedSessions(e,n){return a.default.getConnectedSessions(e,n,t._SERVICE)}async _connect(e,n){if(this.isConnected())return;if(e.state!==h.default.STATE_CONNECTED)throw new f.default("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const r=await e._sendRequest(t._SERVICE,n.constructor.TYPE,i.default.encode(n)),o=i.default.decode(r,p.default);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:h.default._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,o.channel),this._isConnected=!0,this.fire("connected"),o}_connectToChannel(e,n){this._channel=e._getChannel(t._SERVICE,n),this.listenTo(this._channel,this._channel.getEventName(u.default.TYPE),((e,t)=>{const n=i.default.decode(t,u.default);this.fire("operationsReceived",n.baseVersion,n.data,n.metadata)}))}_onWsGatewayStateChange(e){e===h.default.STATE_DISCONNECTED&&this.disconnect()}}b._SERVICE=t._SERVICE,(0,s.mix)(b,s.EmitterMixin),t.default=b},260:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(4229));class s extends o.default{static toJSON({createdAt:e,...t}){const n={...t};return(null==e?void 0:e.toISOString)&&(n.createdAt=e.toISOString()),n}static fromJSON({createdAt:e,...t}){const n={...t};return e&&(n.createdAt=new Date(e)),n}}t.default=s,s.DESCRIPTOR_NAME="OperationMetadataDescriptor",s.DESCRIPTOR={fields:{userId:{type:"string",id:1},type:{type:"string",id:2},createdAt:{type:"string",id:3}}}},2421:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{static prepareMetadataForOperations(e,t){if(!(e&&e.length&&t&&t.length))return[];const n=[];let r=0;for(const o of e)if(0!==o){if(!t[r])throw new Error("Missing metadata for a operation");n.push(t[r]),r++}else n.push(n[n.length-1]);return n}static removeUnnecessaryMetadata(e,t){if(!(e&&e.length&&t&&t.length))return[];const n=[];for(let r=0;r<e.length;r++)if(0!==e[r]){if(!t[r])throw new Error("Missing metadata for a operation");n.push(t[r])}return n}}},5834:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n,r,o=""){super(),this.id=e,this.buffers=t,this.types=n,this.bundleVersion=r,this.lastOperationId=o}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,bundleVersion:this.bundleVersion,lastOperationId:this.lastOperationId}}static fromJSON(e){return new s(e.id,e.buffers,e.types,e.bundleVersion,e.lastOperationId)}}t.default=s,s.TYPE="11",s.READABLE_TYPE_NAME="connectToDocument",s.DESCRIPTOR_NAME="CollaborativeEditingConnectMessage",s.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}}}},4053:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n){super(),this.id=e,this.lastKnowVersion=t,this.bundleVersion=n}toJSON(){return{id:this.id,bundleVersion:this.bundleVersion,lastKnowVersion:this.lastKnowVersion}}static fromJSON(e){return new s(e.id,e.lastKnowVersion,e.bundleVersion)}}t.default=s,s.TYPE="12",s.READABLE_TYPE_NAME="reconnectToDocument",s.DESCRIPTOR_NAME="CollaborativeEditingReconnectMessage",s.DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},lastKnowVersion:{type:"uint32",id:3}}}},4721:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(2421)),i=r(n(260));class a extends o.default{constructor(e,t,n,r,o=[],s=""){super(),this.id=e,this.buffers=t,this.types=n,this.baseVersion=r,this.metadata=o,this.lastOperationId=s}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:s.default.removeUnnecessaryMetadata(this.types,this.metadata).map(i.default.toJSON),lastOperationId:this.lastOperationId}}static fromJSON(e){return new a(e.id,e.buffers,e.types,e.baseVersion,s.default.prepareMetadataForOperations(e.types,e.metadata).map(i.default.fromJSON),e.lastOperationId)}}t.default=a,a.TYPE="13",a.READABLE_TYPE_NAME="updateDocument",a.DESCRIPTOR_NAME="CollaborativeEditingUpdateMessage",a.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}}}},3510:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.documentId=e}get data(){return{documentId:this.documentId}}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new s(e.documentId)}}t.default=s,s.TYPE="14",s.READABLE_TYPE_NAME="getDocumentDetails",s.DESCRIPTOR_NAME="GetDocumentDetailsMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1},environmentId:{type:"string",id:2}}}},3297:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(2421)),i=r(n(260));class a extends o.default{constructor(e,t,n=[],r=[],o=0,s=[],i=null,a="",c="",u=null){super(),this.channel=e,this.version=t,this.buffers=n,this.types=r,this.offset=o,this.metadata=s,this.initData=i,this.sessionId=a,this.lastOperationId=c,this.sessionCreatedAt=u}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt}}get wereChangesApplied(){var e;return!(null===(e=this.types)||void 0===e?void 0:e.length)&&null===this.initData}toJSON(){var e;return{channel:this.channel,version:this.version,sessionId:this.sessionId,buffers:this.buffers,types:this.types,offset:this.offset,metadata:s.default.removeUnnecessaryMetadata(this.types,this.metadata).map(i.default.toJSON),initData:null!==(e=this.initData)&&void 0!==e?e:"",isInitialized:"string"==typeof this.initData,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt?this.sessionCreatedAt.toISOString():null}}static create(e){return new a(e.channel,e.version,e.buffers,e.types,e.offset,e.metadata,e.initData,e.sessionId,e.lastOperationId,e.sessionCreatedAt)}static fromJSON(e){var t;let n=null;return!0===e.isInitialized?n=null!==(t=e.initData)&&void 0!==t?t:"":"boolean"!=typeof e.isInitialized&&e.initData&&(n=e.initData),a.create({channel:e.channel,version:e.version,buffers:e.buffers,types:e.types,offset:e.offset,metadata:s.default.prepareMetadataForOperations(e.types,e.metadata).map(i.default.fromJSON),initData:n,sessionId:e.sessionId,lastOperationId:e.lastOperationId,sessionCreatedAt:e.sessionCreatedAt?new Date(e.sessionCreatedAt):null})}}t.default=a,a.DESCRIPTOR_NAME="CollaborativeEditingConnectResponse",a.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:i.default.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}}}},5184:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(2421)),i=r(n(260));class a extends o.default{constructor(e,t=[],n=[],r=[],o="",s=null){super(),this.version=e,this.buffers=t,this.types=n,this.metadata=r,this.lastOperationId=o,this.lastOperationAcceptedAt=s}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt}}get wereChangesApplied(){var e;return!(null===(e=this.types)||void 0===e?void 0:e.length)}toJSON(){return{version:this.version,buffers:this.buffers,types:this.types,metadata:s.default.removeUnnecessaryMetadata(this.types,this.metadata).map(i.default.toJSON),lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt instanceof Date?this.lastOperationAcceptedAt.toISOString():this.lastOperationAcceptedAt}}static fromJSON(e){return new a(e.version,e.buffers,e.types,s.default.prepareMetadataForOperations(e.types,e.metadata).map(i.default.fromJSON),e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}static create(e){return new a(e.version,e.buffers,e.types,e.metadata,e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}}t.default=a,a.DESCRIPTOR_NAME="CollaborativeEditingResponse",a.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}}}},2663:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t){super(),this.lastDocumentSession=e,this.currentDocumentSession=t}get data(){var e,t,n,r,o;return{lastDocumentSessionId:null===(e=this.lastDocumentSession)||void 0===e?void 0:e.id,lastDocumentSessionOperationId:null===(t=this.lastDocumentSession)||void 0===t?void 0:t.lastOperationId,currentDocumentSessionId:null===(n=this.currentDocumentSession)||void 0===n?void 0:n.id,currentDocumentSessionVersion:null===(r=this.currentDocumentSession)||void 0===r?void 0:r.version,currentDocumentSessionOperationId:null===(o=this.currentDocumentSession)||void 0===o?void 0:o.lastOperationId}}toJSON(){var e,t,n,r,o;return{lastDocumentSessionId:null===(e=this.lastDocumentSession)||void 0===e?void 0:e.id,lastDocumentSessionOperationId:null===(t=this.lastDocumentSession)||void 0===t?void 0:t.lastOperationId,currentDocumentSessionId:null===(n=this.currentDocumentSession)||void 0===n?void 0:n.id,currentDocumentSessionVersion:null===(r=this.currentDocumentSession)||void 0===r?void 0:r.version,currentDocumentSessionOperationId:null===(o=this.currentDocumentSession)||void 0===o?void 0:o.lastOperationId}}static fromJSON(e){const t=e.lastDocumentSessionId?{id:e.lastDocumentSessionId,lastOperationId:e.lastDocumentSessionOperationId}:void 0,n=e.currentDocumentSessionId?{lastOperationId:e.currentDocumentSessionOperationId,version:e.currentDocumentSessionVersion,id:e.currentDocumentSessionId}:void 0;return new s(t,n)}}t.default=s,s.DESCRIPTOR_NAME="GetDocumentDetailsResponse",s.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}}}},1740:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._SERVICE=void 0;const a=n(2209),c=i(n(822)),u=i(n(8262)),d=i(n(6689)),l=i(n(7566)),p=i(n(1376)),h=i(n(7848)),f=i(n(5785)),m=i(n(5456)),y=i(n(673)),g=i(n(9725)),b=i(n(5254)),O=i(n(5049)),v=s(n(3136)),w=i(n(6732)),x=i(n(3825)),_=i(n(6315)),I=i(n(9073)),S=i(n(8576)),P=i(n(7228)),T=i(n(3822)),A=i(n(5516)),k=i(n(1663)),C=i(n(773));t._SERVICE=9;class j{constructor(e){this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==v.WEB_SOCKET_GATEWAY_STATES.CONNECTED)throw new w.default("WebSocket Gateway is not connected.",e);const n=new l.default(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const r=await e._sendRequest(t._SERVICE,l.default.TYPE,c.default.encode(n)),{channel:o,threads:s}=c.default.decode(r,p.default);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:v.default._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,o),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(e,t,n,r){const o=new u.default(this._documentId,e,n,t,void 0,void 0,r),s=await this._sendRequest(u.default.TYPE,o);return c.default.decode(s,d.default)}async updateComment(e,t,n,r){const o=void 0!==r,s=new m.default(this._documentId,e,t,n,r,o);await this._sendRequest(m.default.TYPE,s)}async removeComment(e,t){const n=new h.default(this._documentId,e,t);await this._sendRequest(h.default.TYPE,n)}async removeCommentThread(e){const t=new f.default(this._documentId,e);await this._sendRequest(f.default.TYPE,t)}async addCommentThread(e){var t;const n=new P.default(this._documentId,e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((t=>({...t,documentId:this._documentId,commentThreadId:e.commentThreadId}))),e.context,e.resolvedBy,e.createdAt,e.resolvedAt,e.deletedAt,e.attributes),r=await this._sendRequest(P.default.TYPE,n);return c.default.decode(r,S.default)}async resolveCommentThread(e){const t=new T.default(e,this._documentId),n=await this._sendRequest(T.default.TYPE,t);return c.default.decode(n,C.default)}async reopenCommentThread(e){const t=new A.default(e,this._documentId);await this._sendRequest(A.default.TYPE,t)}async updateCommentThread(e){const t=new k.default(e.commentThreadId,this._documentId,e.context,e.attributes);await this._sendRequest(k.default.TYPE,t)}async getCommentThread(e,t=1){const n=new y.default(e,this._documentId);try{const e=await this._sendRequest(y.default.TYPE,n),t=c.default.decode(e,g.default);return{commentThreadId:t.commentThreadId,comments:t.comments,attributes:t.attributes,context:t.context,resolvedAt:t.resolvedAt,resolvedBy:t.resolvedBy,deletedAt:t.deletedAt}}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&t<5)return await(r=100*t,new Promise((e=>{setTimeout(e,r)}))),this.getCommentThread(e,t+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw I.default.fromPublicError(n)}var r}async getDocumentThreads(){const e=new b.default(this._documentId),t=await this._sendRequest(b.default.TYPE,e),{threads:n}=c.default.decode(t,O.default);return{threads:n}}async getConnectedSessions(){if(!this._isConnected)throw new _.default("Comments",this);return this._connectedSessions||(this._connectedSessions=await x.default.getConnectedSessions(this._wsGateway,this._documentId,t._SERVICE)),this._connectedSessions}_connectToChannel(e,t){this._channel=e._getChannel(j._SERVICE,t),this._channel&&(this.listenTo(this._channel,this._channel.getEventName(u.default.TYPE),((e,t)=>{const n=c.default.decode(t,u.default);this.fire("commentAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(h.default.TYPE),((e,t)=>{const n=c.default.decode(t,h.default);this.fire("commentRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName(m.default.TYPE),((e,t)=>{const n=c.default.decode(t,m.default);this.fire("commentUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName(f.default.TYPE),((e,t)=>{const n=c.default.decode(t,f.default);this.fire("commentThreadRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName(P.default.TYPE),((e,t)=>{const n=c.default.decode(t,P.default);this.fire("commentThreadAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(k.default.TYPE),((e,t)=>{const n=c.default.decode(t,k.default);this.fire("commentThreadUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName(T.default.TYPE),((e,t)=>{const n=c.default.decode(t,T.default);this.fire("commentThreadResolved",n)})),this.listenTo(this._channel,this._channel.getEventName(A.default.TYPE),((e,t)=>{const n=c.default.decode(t,A.default);this.fire("commentThreadReopened",n)})))}_onWsGatewayStateChange(e){e===v.WEB_SOCKET_GATEWAY_STATES.DISCONNECTED&&this.disconnect()}_sendRequest(e,n){if(!this._wsGateway||!this._isConnected)throw new _.default("Comments",this);return this._wsGateway._sendRequest(t._SERVICE,e,c.default.encode(n))}}j._SERVICE=t._SERVICE,(0,a.mix)(j,a.EmitterMixin),t.default=j},3650:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(4229));class s extends o.default{static toJSON(e){var t;return{...e,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):null}}static fromJSON(e){return{...e,createdAt:new Date(e.createdAt),attributes:e.attributes?JSON.parse(e.attributes):null}}}t.default=s,s.DESCRIPTOR_NAME="CommentDescriptor",s.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"}}}},6627:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(4229)),s=r(n(3650));class i extends o.default{static toJSON(e){var t,n,r,o;return{...e,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),deletedAt:null===(n=e.deletedAt)||void 0===n?void 0:n.toISOString(),resolvedAt:null===(r=e.resolvedAt)||void 0===r?void 0:r.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):null,context:e.context?JSON.stringify(e.context):e.context,comments:null===(o=e.comments)||void 0===o?void 0:o.map(s.default.toJSON)}}static fromJSON(e){var t;return{...e,createdAt:e.createdAt?new Date(e.createdAt):void 0,deletedAt:e.deletedAt?new Date(e.deletedAt):void 0,resolvedAt:e.resolvedAt?new Date(e.resolvedAt):void 0,attributes:e.attributes?JSON.parse(e.attributes):null,context:e.context?JSON.parse(e.context):void 0,comments:null===(t=e.comments)||void 0===t?void 0:t.map(s.default.fromJSON)}}}t.default=i,i.DESCRIPTOR_NAME="CommentsThreadDescriptor",i.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}}}},8481:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(4229));class s extends o.default{static toJSON(e){var t;return{commentId:e.commentId,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString()}}static fromJSON(e){return{commentId:e.commentId,createdAt:new Date(e.createdAt)}}}t.default=s,s.DESCRIPTOR_NAME="CommentThreadAddedCommentDescriptor",s.DESCRIPTOR={fields:{commentId:{id:1,type:"string"},createdAt:{id:2,type:"string"}}}},8262:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(6627));class i extends o.default{constructor(e,t,n,r="",o,s="",i=null,a){super(),this.documentId=e,this.commentThreadId=t,this.content=n,this.commentId=r,this.userId=s,this.attributes=i,this.commentThread=a,this.createdAt=o?new Date(o):""}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?s.default.toJSON(this.commentThread):void 0}}static fromJSON(e){return new i(e.documentId,e.commentThreadId,e.content,e.commentId?e.commentId:void 0,e.createdAt?new Date(e.createdAt):void 0,e.userId?e.userId:void 0,e.attributes?JSON.parse(e.attributes):{},e.commentThread?s.default.fromJSON(e.commentThread):void 0)}}t.default=i,i.TYPE="91",i.READABLE_TYPE_NAME="addComment",i.DESCRIPTOR_NAME="CommentsV2AddCommentMessage",i.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}}}},7228:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(3650));class i extends o.default{constructor(e,t,n=[],r,o=null,s=null,i=null,a=null,c=null){super(),this.documentId=e,this.commentThreadId=t,this.comments=n,this.context=r,this.resolvedBy=o,this.attributes=c,this.createdAt=s?new Date(s):"",this.resolvedAt=i?new Date(i):"",this.deletedAt=a?new Date(a):""}toJSON(){var e;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:null===(e=this.comments)||void 0===e?void 0:e.map((e=>s.default.toJSON(e)))}}static fromJSON(e){var t;return new i(e.documentId,e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((t=>s.default.fromJSON({...t,documentId:e.documentId,commentThreadId:e.commentThreadId}))),e.context?JSON.parse(e.context):e.context,e.resolvedBy,e.createdAt?new Date(e.createdAt):void 0,e.resolvedAt?new Date(e.resolvedAt):void 0,e.deletedAt?new Date(e.deletedAt):void 0,e.attributes?JSON.parse(e.attributes):e.attributes)}}t.default=i,i.TYPE="140",i.READABLE_TYPE_NAME="addCommentThread",i.DESCRIPTOR_NAME="CommentsV2AddCommentThreadMessage",i.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}}}},5516:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new s(e.commentThreadId,e.documentId)}}t.default=s,s.TYPE="141",s.READABLE_TYPE_NAME="reopenCommentThread",s.DESCRIPTOR_NAME="CommentsV2ReopenCommentThreadMessage",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}}},3822:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n,r){super(),this.commentThreadId=e,this.documentId=t,this.resolvedBy=n,this.resolvedAt=r?new Date(r):void 0}toJSON(){var e;return{documentId:this.documentId,commentThreadId:this.commentThreadId,resolvedBy:this.resolvedBy,resolvedAt:null===(e=this.resolvedAt)||void 0===e?void 0:e.toISOString()}}static fromJSON(e){return new s(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}t.default=s,s.TYPE="142",s.READABLE_TYPE_NAME="resolveCommentThread",s.DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadMessage",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedBy:{type:"string",id:3},resolvedAt:{type:"string",id:4}}}},1663:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n,r=null){super(),this.commentThreadId=e,this.documentId=t,this.context=n,this.attributes=r}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}}static fromJSON(e){return new s(e.commentThreadId,e.documentId,e.context?JSON.parse(e.context):e.context,e.attributes?JSON.parse(e.attributes):null)}}t.default=s,s.TYPE="143",s.READABLE_TYPE_NAME="updateCommentThread",s.DESCRIPTOR_NAME="CommentsV2UpdateCommentThreadMessage",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},context:{type:"string",id:3},attributes:{type:"string",id:4}}}},7566:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new s(e.documentId)}}t.default=s,s.TYPE="92",s.READABLE_TYPE_NAME="connectToComment",s.DESCRIPTOR_NAME="CommentsV2ConnectMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},673:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId}}static fromJSON(e){return new s(e.commentThreadId,e.documentId)}}t.default=s,s.TYPE="93",s.READABLE_TYPE_NAME="getComment",s.DESCRIPTOR_NAME="CommentsV2GetCommentThreadMessage",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}}},5254:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new s(e.documentId)}}t.default=s,s.TYPE="94",s.READABLE_TYPE_NAME="getDocumentThreads",s.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},7848:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n){super(),this.documentId=e,this.commentThreadId=t,this.commentId=n}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId}}static fromJSON(e){return new s(e.documentId,e.commentThreadId,e.commentId)}}t.default=s,s.TYPE="95",s.READABLE_TYPE_NAME="removeComment",s.DESCRIPTOR_NAME="CommentsV2RemoveCommentMessage",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},documentId:{type:"string",id:3}}}},5785:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t){super(),this.documentId=e,this.commentThreadId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new s(e.documentId,e.commentThreadId)}}t.default=s,s.TYPE="97",s.READABLE_TYPE_NAME="removeCommentThread",s.DESCRIPTOR_NAME="CommentsV2RemoveCommentThreadMessage",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}}},5456:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(6627));class i extends o.default{constructor(e,t,n,r,o=null,s=!1,i){super(),this.documentId=e,this.commentThreadId=t,this.commentId=n,this.content=r,this.attributes=o,this.isAttributesUpdated=s,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?s.default.toJSON(this.commentThread):void 0}}static fromJSON(e){return new i(e.documentId,e.commentThreadId,e.commentId,e.content,e.attributes?JSON.parse(e.attributes):null,e.isAttributesUpdated,e.commentThread?s.default.fromJSON(e.commentThread):void 0)}}t.default=i,i.TYPE="96",i.READABLE_TYPE_NAME="updateComment",i.DESCRIPTOR_NAME="CommentsV2UpdateCommentMessage",i.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}}}},6689:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n){super(),this.commentThreadId=e,this.commentId=t,this.createdAt=new Date(n)}toJSON(){return{commentThreadId:this.commentThreadId,commentId:this.commentId,createdAt:this.createdAt.toISOString()}}static fromJSON(e){return new s(e.commentThreadId,e.commentId,e.createdAt)}}t.default=s,s.DESCRIPTOR_NAME="CommentsV2AddCommentResponse",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},createdAt:{type:"string",id:3}}}},8576:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(8481));class i extends o.default{constructor(e,t,n=[]){super(),this.commentThreadId=e,this.comments=n,this.createdAt=new Date(t)}toJSON(){return{commentThreadId:this.commentThreadId,createdAt:this.createdAt.toISOString(),comments:this.comments.map((e=>s.default.toJSON(e)))}}static fromJSON(e){return new i(e.commentThreadId,e.createdAt,e.comments.map((e=>s.default.fromJSON(e))))}}t.default=i,i.DESCRIPTOR_NAME="CommentsV2AddCommentThreadResponse",i.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},createdAt:{type:"string",id:2},comments:{type:"CommentThreadAddedCommentDescriptor",rule:"repeated",id:3}}}},773:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n,r){super(),this.commentThreadId=e,this.documentId=t,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(e){return new s(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}t.default=s,s.DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadResponse",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4}}}},1376:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(6627));class i extends o.default{constructor(e,t,n){super(),this.channel=e,this._threads=t,this._threadsV2=n,this.threads=(null==n?void 0:n.length)?n:t}toJSON(){var e,t;return{channel:this.channel,threads:null===(e=this._threads)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),threadsV2:null===(t=this._threadsV2)||void 0===t?void 0:t.map(s.default.toJSON)}}static fromJSON(e){var t,n;return new i(e.channel,null===(t=e.threads)||void 0===t?void 0:t.map((e=>JSON.parse(e))),null===(n=e.threadsV2)||void 0===n?void 0:n.map(s.default.fromJSON))}}t.default=i,i.DESCRIPTOR_NAME="CommentsV2ConnectResponse",i.DESCRIPTOR={fields:{channel:{type:"string",id:1},threads:{type:"string",rule:"repeated",id:2},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:3}}}},9725:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(3650));class i extends o.default{constructor(e,t,n,r,o,s,i,a,c){super(),this.commentThreadId=e,this._comments=t,this._commentsV2=n,this.resolvedBy=o,this.comments=(null==n?void 0:n.length)?n:t,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.attributes="string"==typeof r?JSON.parse(r):r,this.context="string"==typeof s?JSON.parse(s):s}toJSON(){var e,t,n,r,o;return{commentThreadId:this.commentThreadId,comments:null===(e=this._comments)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),commentsV2:null===(t=this._commentsV2)||void 0===t?void 0:t.map(s.default.toJSON),attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,context:this.context?JSON.stringify(this.context):this.context,resolvedBy:this.resolvedBy,createdAt:null===(n=this.createdAt)||void 0===n?void 0:n.toISOString(),deletedAt:null===(r=this.deletedAt)||void 0===r?void 0:r.toISOString(),resolvedAt:null===(o=this.resolvedAt)||void 0===o?void 0:o.toISOString()}}static fromJSON(e){var t,n;return new i(e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((e=>function(e){const t=JSON.parse(e);return{...t,createdAt:new Date(t.createdAt)}}(e))),null===(n=e.commentsV2)||void 0===n?void 0:n.map(s.default.fromJSON),e.attributes?JSON.parse(e.attributes):e.attributes,e.resolvedBy,e.context?JSON.parse(e.context):e.context,e.createdAt,e.deletedAt,e.resolvedAt)}}t.default=i,i.DESCRIPTOR_NAME="CommentsV2GetCommentThreadResponse",i.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}}}},5049:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(6627));class i extends o.default{constructor(e,t){super(),this._threads=e,this._threadsV2=t,this.threads=(null==t?void 0:t.length)?t:e}toJSON(){var e,t;return{threads:null===(e=this._threads)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),threadsV2:null===(t=this._threadsV2)||void 0===t?void 0:t.map(s.default.toJSON)}}static fromJSON(e){var t,n;return new i(null===(t=e.threads)||void 0===t?void 0:t.map((e=>function(e){var t;const n=JSON.parse(e),r={...n};return n.comments&&(r.comments=null===(t=n.comments)||void 0===t?void 0:t.map((e=>({...e,createdAt:new Date(e.createdAt)})))),r}(e))),null===(n=e.threadsV2)||void 0===n?void 0:n.map(s.default.fromJSON))}}t.default=i,i.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsResponse",i.DESCRIPTOR={fields:{threads:{type:"string",rule:"repeated",id:1},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:2}}}},6981:(e,t,n)=>{var r,o,s,i;i=function(e){"use strict";var t=e.Reader,n=e.Writer,r=e.util,o=e.roots.default||(e.roots.default={});return o.OperationMetadataDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.userId="",s.prototype.type="",s.prototype.createdAt="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&t.uint32(10).string(e.userId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(18).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(26).string(e.createdAt),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.OperationMetadataDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.userId=e.string();break;case 2:s.type=e.string();break;case 3:s.createdAt=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userId&&e.hasOwnProperty("userId")&&!r.isString(e.userId)?"userId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null},s.fromObject=function(e){if(e instanceof o.OperationMetadataDescriptor)return e;var t=new o.OperationMetadataDescriptor;return null!=e.userId&&(t.userId=String(e.userId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.userId="",n.type="",n.createdAt=""),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/OperationMetadataDescriptor"},s}(),o.CollaborativeEditingConnectMessage=function(){function s(e){if(this.buffers=[],this.types=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.bundleVersion="",s.prototype.buffers=r.emptyArray,s.prototype.types=r.emptyArray,s.prototype.lastOperationId="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&t.uint32(18).string(e.bundleVersion),null!=e.buffers&&e.buffers.length)for(var r=0;r<e.buffers.length;++r)t.uint32(26).bytes(e.buffers[r]);if(null!=e.types&&e.types.length){for(t.uint32(34).fork(),r=0;r<e.types.length;++r)t.uint32(e.types[r]);t.ldelim()}return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&t.uint32(42).string(e.lastOperationId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CollaborativeEditingConnectMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.bundleVersion=e.string();break;case 3:s.buffers&&s.buffers.length||(s.buffers=[]),s.buffers.push(e.bytes());break;case 4:if(s.types&&s.types.length||(s.types=[]),2==(7&i))for(var a=e.uint32()+e.pos;e.pos<a;)s.types.push(e.uint32());else s.types.push(e.uint32());break;case 5:s.lastOperationId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id))return"id: string expected";if(null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!r.isString(e.bundleVersion))return"bundleVersion: string expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||r.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!r.isInteger(e.types[t]))return"types: integer[] expected"}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!r.isString(e.lastOperationId)?"lastOperationId: string expected":null},s.fromObject=function(e){if(e instanceof o.CollaborativeEditingConnectMessage)return e;var t=new o.CollaborativeEditingConnectMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingConnectMessage.buffers: array expected");t.buffers=[];for(var n=0;n<e.buffers.length;++n)"string"==typeof e.buffers[n]?r.base64.decode(e.buffers[n],t.buffers[n]=r.newBuffer(r.base64.length(e.buffers[n])),0):e.buffers[n].length>=0&&(t.buffers[n]=e.buffers[n])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingConnectMessage.types: array expected");for(t.types=[],n=0;n<e.types.length;++n)t.types[n]=e.types[n]>>>0}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.buffers=[],n.types=[]),t.defaults&&(n.id="",n.bundleVersion="",n.lastOperationId=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),e.buffers&&e.buffers.length){n.buffers=[];for(var o=0;o<e.buffers.length;++o)n.buffers[o]=t.bytes===String?r.base64.encode(e.buffers[o],0,e.buffers[o].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[o]):e.buffers[o]}if(e.types&&e.types.length)for(n.types=[],o=0;o<e.types.length;++o)n.types[o]=e.types[o];return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(n.lastOperationId=e.lastOperationId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectMessage"},s}(),o.CollaborativeEditingReconnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.bundleVersion="",s.prototype.lastKnowVersion=0,s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&t.uint32(18).string(e.bundleVersion),null!=e.lastKnowVersion&&Object.hasOwnProperty.call(e,"lastKnowVersion")&&t.uint32(24).uint32(e.lastKnowVersion),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CollaborativeEditingReconnectMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.bundleVersion=e.string();break;case 3:s.lastKnowVersion=e.uint32();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!r.isString(e.bundleVersion)?"bundleVersion: string expected":null!=e.lastKnowVersion&&e.hasOwnProperty("lastKnowVersion")&&!r.isInteger(e.lastKnowVersion)?"lastKnowVersion: integer expected":null},s.fromObject=function(e){if(e instanceof o.CollaborativeEditingReconnectMessage)return e;var t=new o.CollaborativeEditingReconnectMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),null!=e.lastKnowVersion&&(t.lastKnowVersion=e.lastKnowVersion>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.bundleVersion="",n.lastKnowVersion=0),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),null!=e.lastKnowVersion&&e.hasOwnProperty("lastKnowVersion")&&(n.lastKnowVersion=e.lastKnowVersion),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingReconnectMessage"},s}(),o.CollaborativeEditingUpdateMessage=function(){function s(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.baseVersion=0,s.prototype.buffers=r.emptyArray,s.prototype.types=r.emptyArray,s.prototype.metadata=r.emptyArray,s.prototype.lastOperationId="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.baseVersion&&Object.hasOwnProperty.call(e,"baseVersion")&&t.uint32(16).uint32(e.baseVersion),null!=e.buffers&&e.buffers.length)for(var r=0;r<e.buffers.length;++r)t.uint32(26).bytes(e.buffers[r]);if(null!=e.types&&e.types.length){for(t.uint32(34).fork(),r=0;r<e.types.length;++r)t.uint32(e.types[r]);t.ldelim()}if(null!=e.metadata&&e.metadata.length)for(r=0;r<e.metadata.length;++r)o.OperationMetadataDescriptor.encode(e.metadata[r],t.uint32(50).fork()).ldelim();return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&t.uint32(58).string(e.lastOperationId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CollaborativeEditingUpdateMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.baseVersion=e.uint32();break;case 3:s.buffers&&s.buffers.length||(s.buffers=[]),s.buffers.push(e.bytes());break;case 4:if(s.types&&s.types.length||(s.types=[]),2==(7&i))for(var a=e.uint32()+e.pos;e.pos<a;)s.types.push(e.uint32());else s.types.push(e.uint32());break;case 6:s.metadata&&s.metadata.length||(s.metadata=[]),s.metadata.push(o.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 7:s.lastOperationId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id))return"id: string expected";if(null!=e.baseVersion&&e.hasOwnProperty("baseVersion")&&!r.isInteger(e.baseVersion))return"baseVersion: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||r.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!r.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(t=0;t<e.metadata.length;++t){var n=o.OperationMetadataDescriptor.verify(e.metadata[t]);if(n)return"metadata."+n}}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!r.isString(e.lastOperationId)?"lastOperationId: string expected":null},s.fromObject=function(e){if(e instanceof o.CollaborativeEditingUpdateMessage)return e;var t=new o.CollaborativeEditingUpdateMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.baseVersion&&(t.baseVersion=e.baseVersion>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingUpdateMessage.buffers: array expected");t.buffers=[];for(var n=0;n<e.buffers.length;++n)"string"==typeof e.buffers[n]?r.base64.decode(e.buffers[n],t.buffers[n]=r.newBuffer(r.base64.length(e.buffers[n])),0):e.buffers[n].length>=0&&(t.buffers[n]=e.buffers[n])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingUpdateMessage.types: array expected");for(t.types=[],n=0;n<e.types.length;++n)t.types[n]=e.types[n]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingUpdateMessage.metadata: array expected");for(t.metadata=[],n=0;n<e.metadata.length;++n){if("object"!=typeof e.metadata[n])throw TypeError(".CollaborativeEditingUpdateMessage.metadata: object expected");t.metadata[n]=o.OperationMetadataDescriptor.fromObject(e.metadata[n])}}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.buffers=[],n.types=[],n.metadata=[]),t.defaults&&(n.id="",n.baseVersion=0,n.lastOperationId=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.baseVersion&&e.hasOwnProperty("baseVersion")&&(n.baseVersion=e.baseVersion),e.buffers&&e.buffers.length){n.buffers=[];for(var s=0;s<e.buffers.length;++s)n.buffers[s]=t.bytes===String?r.base64.encode(e.buffers[s],0,e.buffers[s].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[s]):e.buffers[s]}if(e.types&&e.types.length)for(n.types=[],s=0;s<e.types.length;++s)n.types[s]=e.types[s];if(e.metadata&&e.metadata.length)for(n.metadata=[],s=0;s<e.metadata.length;++s)n.metadata[s]=o.OperationMetadataDescriptor.toObject(e.metadata[s],t);return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(n.lastOperationId=e.lastOperationId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingUpdateMessage"},s}(),o.GetDocumentDetailsMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.environmentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.environmentId&&Object.hasOwnProperty.call(e,"environmentId")&&t.uint32(18).string(e.environmentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.GetDocumentDetailsMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.documentId=e.string();break;case 2:s.environmentId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.environmentId&&e.hasOwnProperty("environmentId")&&!r.isString(e.environmentId)?"environmentId: string expected":null},s.fromObject=function(e){if(e instanceof o.GetDocumentDetailsMessage)return e;var t=new o.GetDocumentDetailsMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.environmentId&&(t.environmentId=String(e.environmentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId="",n.environmentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.environmentId&&e.hasOwnProperty("environmentId")&&(n.environmentId=e.environmentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsMessage"},s}(),o.CollaborativeEditingConnectResponse=function(){function s(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.offset=0,s.prototype.version=0,s.prototype.buffers=r.emptyArray,s.prototype.types=r.emptyArray,s.prototype.metadata=r.emptyArray,s.prototype.initData="",s.prototype.isInitialized=!1,s.prototype.sessionId="",s.prototype.lastOperationId="",s.prototype.sessionCreatedAt="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.offset&&Object.hasOwnProperty.call(e,"offset")&&t.uint32(16).uint32(e.offset),null!=e.version&&Object.hasOwnProperty.call(e,"version")&&t.uint32(24).uint32(e.version),null!=e.buffers&&e.buffers.length)for(var r=0;r<e.buffers.length;++r)t.uint32(34).bytes(e.buffers[r]);if(null!=e.types&&e.types.length){for(t.uint32(42).fork(),r=0;r<e.types.length;++r)t.uint32(e.types[r]);t.ldelim()}if(null!=e.metadata&&e.metadata.length)for(r=0;r<e.metadata.length;++r)o.OperationMetadataDescriptor.encode(e.metadata[r],t.uint32(58).fork()).ldelim();return null!=e.initData&&Object.hasOwnProperty.call(e,"initData")&&t.uint32(66).string(e.initData),null!=e.isInitialized&&Object.hasOwnProperty.call(e,"isInitialized")&&t.uint32(72).bool(e.isInitialized),null!=e.sessionId&&Object.hasOwnProperty.call(e,"sessionId")&&t.uint32(82).string(e.sessionId),null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&t.uint32(90).string(e.lastOperationId),null!=e.sessionCreatedAt&&Object.hasOwnProperty.call(e,"sessionCreatedAt")&&t.uint32(98).string(e.sessionCreatedAt),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CollaborativeEditingConnectResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.channel=e.string();break;case 2:s.offset=e.uint32();break;case 3:s.version=e.uint32();break;case 4:s.buffers&&s.buffers.length||(s.buffers=[]),s.buffers.push(e.bytes());break;case 5:if(s.types&&s.types.length||(s.types=[]),2==(7&i))for(var a=e.uint32()+e.pos;e.pos<a;)s.types.push(e.uint32());else s.types.push(e.uint32());break;case 7:s.metadata&&s.metadata.length||(s.metadata=[]),s.metadata.push(o.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 8:s.initData=e.string();break;case 9:s.isInitialized=e.bool();break;case 10:s.sessionId=e.string();break;case 11:s.lastOperationId=e.string();break;case 12:s.sessionCreatedAt=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!r.isString(e.channel))return"channel: string expected";if(null!=e.offset&&e.hasOwnProperty("offset")&&!r.isInteger(e.offset))return"offset: integer expected";if(null!=e.version&&e.hasOwnProperty("version")&&!r.isInteger(e.version))return"version: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||r.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!r.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(t=0;t<e.metadata.length;++t){var n=o.OperationMetadataDescriptor.verify(e.metadata[t]);if(n)return"metadata."+n}}return null!=e.initData&&e.hasOwnProperty("initData")&&!r.isString(e.initData)?"initData: string expected":null!=e.isInitialized&&e.hasOwnProperty("isInitialized")&&"boolean"!=typeof e.isInitialized?"isInitialized: boolean expected":null!=e.sessionId&&e.hasOwnProperty("sessionId")&&!r.isString(e.sessionId)?"sessionId: string expected":null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!r.isString(e.lastOperationId)?"lastOperationId: string expected":null!=e.sessionCreatedAt&&e.hasOwnProperty("sessionCreatedAt")&&!r.isString(e.sessionCreatedAt)?"sessionCreatedAt: string expected":null},s.fromObject=function(e){if(e instanceof o.CollaborativeEditingConnectResponse)return e;var t=new o.CollaborativeEditingConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),null!=e.offset&&(t.offset=e.offset>>>0),null!=e.version&&(t.version=e.version>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingConnectResponse.buffers: array expected");t.buffers=[];for(var n=0;n<e.buffers.length;++n)"string"==typeof e.buffers[n]?r.base64.decode(e.buffers[n],t.buffers[n]=r.newBuffer(r.base64.length(e.buffers[n])),0):e.buffers[n].length>=0&&(t.buffers[n]=e.buffers[n])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingConnectResponse.types: array expected");for(t.types=[],n=0;n<e.types.length;++n)t.types[n]=e.types[n]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingConnectResponse.metadata: array expected");for(t.metadata=[],n=0;n<e.metadata.length;++n){if("object"!=typeof e.metadata[n])throw TypeError(".CollaborativeEditingConnectResponse.metadata: object expected");t.metadata[n]=o.OperationMetadataDescriptor.fromObject(e.metadata[n])}}return null!=e.initData&&(t.initData=String(e.initData)),null!=e.isInitialized&&(t.isInitialized=Boolean(e.isInitialized)),null!=e.sessionId&&(t.sessionId=String(e.sessionId)),null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),null!=e.sessionCreatedAt&&(t.sessionCreatedAt=String(e.sessionCreatedAt)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.buffers=[],n.types=[],n.metadata=[]),t.defaults&&(n.channel="",n.offset=0,n.version=0,n.initData="",n.isInitialized=!1,n.sessionId="",n.lastOperationId="",n.sessionCreatedAt=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),null!=e.offset&&e.hasOwnProperty("offset")&&(n.offset=e.offset),null!=e.version&&e.hasOwnProperty("version")&&(n.version=e.version),e.buffers&&e.buffers.length){n.buffers=[];for(var s=0;s<e.buffers.length;++s)n.buffers[s]=t.bytes===String?r.base64.encode(e.buffers[s],0,e.buffers[s].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[s]):e.buffers[s]}if(e.types&&e.types.length)for(n.types=[],s=0;s<e.types.length;++s)n.types[s]=e.types[s];if(e.metadata&&e.metadata.length)for(n.metadata=[],s=0;s<e.metadata.length;++s)n.metadata[s]=o.OperationMetadataDescriptor.toObject(e.metadata[s],t);return null!=e.initData&&e.hasOwnProperty("initData")&&(n.initData=e.initData),null!=e.isInitialized&&e.hasOwnProperty("isInitialized")&&(n.isInitialized=e.isInitialized),null!=e.sessionId&&e.hasOwnProperty("sessionId")&&(n.sessionId=e.sessionId),null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(n.lastOperationId=e.lastOperationId),null!=e.sessionCreatedAt&&e.hasOwnProperty("sessionCreatedAt")&&(n.sessionCreatedAt=e.sessionCreatedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectResponse"},s}(),o.CollaborativeEditingResponse=function(){function s(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.version=0,s.prototype.buffers=r.emptyArray,s.prototype.types=r.emptyArray,s.prototype.metadata=r.emptyArray,s.prototype.lastOperationId="",s.prototype.lastOperationAcceptedAt="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.version&&Object.hasOwnProperty.call(e,"version")&&t.uint32(8).uint32(e.version),null!=e.buffers&&e.buffers.length)for(var r=0;r<e.buffers.length;++r)t.uint32(18).bytes(e.buffers[r]);if(null!=e.types&&e.types.length){for(t.uint32(26).fork(),r=0;r<e.types.length;++r)t.uint32(e.types[r]);t.ldelim()}if(null!=e.metadata&&e.metadata.length)for(r=0;r<e.metadata.length;++r)o.OperationMetadataDescriptor.encode(e.metadata[r],t.uint32(42).fork()).ldelim();return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&t.uint32(50).string(e.lastOperationId),null!=e.lastOperationAcceptedAt&&Object.hasOwnProperty.call(e,"lastOperationAcceptedAt")&&t.uint32(58).string(e.lastOperationAcceptedAt),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CollaborativeEditingResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.version=e.uint32();break;case 2:s.buffers&&s.buffers.length||(s.buffers=[]),s.buffers.push(e.bytes());break;case 3:if(s.types&&s.types.length||(s.types=[]),2==(7&i))for(var a=e.uint32()+e.pos;e.pos<a;)s.types.push(e.uint32());else s.types.push(e.uint32());break;case 5:s.metadata&&s.metadata.length||(s.metadata=[]),s.metadata.push(o.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 6:s.lastOperationId=e.string();break;case 7:s.lastOperationAcceptedAt=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.version&&e.hasOwnProperty("version")&&!r.isInteger(e.version))return"version: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||r.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!r.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(t=0;t<e.metadata.length;++t){var n=o.OperationMetadataDescriptor.verify(e.metadata[t]);if(n)return"metadata."+n}}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!r.isString(e.lastOperationId)?"lastOperationId: string expected":null!=e.lastOperationAcceptedAt&&e.hasOwnProperty("lastOperationAcceptedAt")&&!r.isString(e.lastOperationAcceptedAt)?"lastOperationAcceptedAt: string expected":null},s.fromObject=function(e){if(e instanceof o.CollaborativeEditingResponse)return e;var t=new o.CollaborativeEditingResponse;if(null!=e.version&&(t.version=e.version>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingResponse.buffers: array expected");t.buffers=[];for(var n=0;n<e.buffers.length;++n)"string"==typeof e.buffers[n]?r.base64.decode(e.buffers[n],t.buffers[n]=r.newBuffer(r.base64.length(e.buffers[n])),0):e.buffers[n].length>=0&&(t.buffers[n]=e.buffers[n])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingResponse.types: array expected");for(t.types=[],n=0;n<e.types.length;++n)t.types[n]=e.types[n]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingResponse.metadata: array expected");for(t.metadata=[],n=0;n<e.metadata.length;++n){if("object"!=typeof e.metadata[n])throw TypeError(".CollaborativeEditingResponse.metadata: object expected");t.metadata[n]=o.OperationMetadataDescriptor.fromObject(e.metadata[n])}}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),null!=e.lastOperationAcceptedAt&&(t.lastOperationAcceptedAt=String(e.lastOperationAcceptedAt)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.buffers=[],n.types=[],n.metadata=[]),t.defaults&&(n.version=0,n.lastOperationId="",n.lastOperationAcceptedAt=""),null!=e.version&&e.hasOwnProperty("version")&&(n.version=e.version),e.buffers&&e.buffers.length){n.buffers=[];for(var s=0;s<e.buffers.length;++s)n.buffers[s]=t.bytes===String?r.base64.encode(e.buffers[s],0,e.buffers[s].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[s]):e.buffers[s]}if(e.types&&e.types.length)for(n.types=[],s=0;s<e.types.length;++s)n.types[s]=e.types[s];if(e.metadata&&e.metadata.length)for(n.metadata=[],s=0;s<e.metadata.length;++s)n.metadata[s]=o.OperationMetadataDescriptor.toObject(e.metadata[s],t);return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(n.lastOperationId=e.lastOperationId),null!=e.lastOperationAcceptedAt&&e.hasOwnProperty("lastOperationAcceptedAt")&&(n.lastOperationAcceptedAt=e.lastOperationAcceptedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingResponse"},s}(),o.GetDocumentDetailsResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.lastDocumentSessionId="",s.prototype.lastDocumentSessionOperationId="",s.prototype.currentDocumentSessionId="",s.prototype.currentDocumentSessionVersion=0,s.prototype.currentDocumentSessionOperationId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.lastDocumentSessionId&&Object.hasOwnProperty.call(e,"lastDocumentSessionId")&&t.uint32(10).string(e.lastDocumentSessionId),null!=e.lastDocumentSessionOperationId&&Object.hasOwnProperty.call(e,"lastDocumentSessionOperationId")&&t.uint32(18).string(e.lastDocumentSessionOperationId),null!=e.currentDocumentSessionId&&Object.hasOwnProperty.call(e,"currentDocumentSessionId")&&t.uint32(26).string(e.currentDocumentSessionId),null!=e.currentDocumentSessionVersion&&Object.hasOwnProperty.call(e,"currentDocumentSessionVersion")&&t.uint32(32).uint32(e.currentDocumentSessionVersion),null!=e.currentDocumentSessionOperationId&&Object.hasOwnProperty.call(e,"currentDocumentSessionOperationId")&&t.uint32(42).string(e.currentDocumentSessionOperationId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.GetDocumentDetailsResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.lastDocumentSessionId=e.string();break;case 2:s.lastDocumentSessionOperationId=e.string();break;case 3:s.currentDocumentSessionId=e.string();break;case 4:s.currentDocumentSessionVersion=e.uint32();break;case 5:s.currentDocumentSessionOperationId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.lastDocumentSessionId&&e.hasOwnProperty("lastDocumentSessionId")&&!r.isString(e.lastDocumentSessionId)?"lastDocumentSessionId: string expected":null!=e.lastDocumentSessionOperationId&&e.hasOwnProperty("lastDocumentSessionOperationId")&&!r.isString(e.lastDocumentSessionOperationId)?"lastDocumentSessionOperationId: string expected":null!=e.currentDocumentSessionId&&e.hasOwnProperty("currentDocumentSessionId")&&!r.isString(e.currentDocumentSessionId)?"currentDocumentSessionId: string expected":null!=e.currentDocumentSessionVersion&&e.hasOwnProperty("currentDocumentSessionVersion")&&!r.isInteger(e.currentDocumentSessionVersion)?"currentDocumentSessionVersion: integer expected":null!=e.currentDocumentSessionOperationId&&e.hasOwnProperty("currentDocumentSessionOperationId")&&!r.isString(e.currentDocumentSessionOperationId)?"currentDocumentSessionOperationId: string expected":null},s.fromObject=function(e){if(e instanceof o.GetDocumentDetailsResponse)return e;var t=new o.GetDocumentDetailsResponse;return null!=e.lastDocumentSessionId&&(t.lastDocumentSessionId=String(e.lastDocumentSessionId)),null!=e.lastDocumentSessionOperationId&&(t.lastDocumentSessionOperationId=String(e.lastDocumentSessionOperationId)),null!=e.currentDocumentSessionId&&(t.currentDocumentSessionId=String(e.currentDocumentSessionId)),null!=e.currentDocumentSessionVersion&&(t.currentDocumentSessionVersion=e.currentDocumentSessionVersion>>>0),null!=e.currentDocumentSessionOperationId&&(t.currentDocumentSessionOperationId=String(e.currentDocumentSessionOperationId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.lastDocumentSessionId="",n.lastDocumentSessionOperationId="",n.currentDocumentSessionId="",n.currentDocumentSessionVersion=0,n.currentDocumentSessionOperationId=""),null!=e.lastDocumentSessionId&&e.hasOwnProperty("lastDocumentSessionId")&&(n.lastDocumentSessionId=e.lastDocumentSessionId),null!=e.lastDocumentSessionOperationId&&e.hasOwnProperty("lastDocumentSessionOperationId")&&(n.lastDocumentSessionOperationId=e.lastDocumentSessionOperationId),null!=e.currentDocumentSessionId&&e.hasOwnProperty("currentDocumentSessionId")&&(n.currentDocumentSessionId=e.currentDocumentSessionId),null!=e.currentDocumentSessionVersion&&e.hasOwnProperty("currentDocumentSessionVersion")&&(n.currentDocumentSessionVersion=e.currentDocumentSessionVersion),null!=e.currentDocumentSessionOperationId&&e.hasOwnProperty("currentDocumentSessionOperationId")&&(n.currentDocumentSessionOperationId=e.currentDocumentSessionOperationId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsResponse"},s}(),o.CommentDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(10).string(e.commentId),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(18).string(e.commentThreadId),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&t.uint32(26).string(e.userId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(34).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(42).string(e.documentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentId=e.string();break;case 2:s.commentThreadId=e.string();break;case 3:s.userId=e.string();break;case 4:s.content=e.string();break;case 5:s.documentId=e.string();break;case 6:s.createdAt=e.string();break;case 7:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!r.isString(e.commentId)?"commentId: string expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.userId&&e.hasOwnProperty("userId")&&!r.isString(e.userId)?"userId: string expected":null!=e.content&&e.hasOwnProperty("content")&&!r.isString(e.content)?"content: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentDescriptor)return e;var t=new o.CommentDescriptor;return null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentId="",n.commentThreadId="",n.userId="",n.content="",n.documentId="",n.createdAt="",n.attributes=""),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentDescriptor"},s}(),o.CommentsThreadDescriptor=function(){function s(e){if(this.comments=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.comments=r.emptyArray,s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.context="",s.prototype.createdAt="",s.prototype.deletedAt="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.comments&&e.comments.length)for(var r=0;r<e.comments.length;++r)o.CommentDescriptor.encode(e.comments[r],t.uint32(18).fork()).ldelim();return null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(26).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(34).string(e.resolvedBy),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&t.uint32(42).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(50).string(e.createdAt),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&t.uint32(58).string(e.deletedAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(66).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsThreadDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.comments&&s.comments.length||(s.comments=[]),s.comments.push(o.CommentDescriptor.decode(e,e.uint32()));break;case 3:s.resolvedAt=e.string();break;case 4:s.resolvedBy=e.string();break;case 5:s.context=e.string();break;case 6:s.createdAt=e.string();break;case 7:s.deletedAt=e.string();break;case 8:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t){var n=o.CommentDescriptor.verify(e.comments[t]);if(n)return"comments."+n}}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!r.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!r.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.context&&e.hasOwnProperty("context")&&!r.isString(e.context)?"context: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!r.isString(e.deletedAt)?"deletedAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsThreadDescriptor)return e;var t=new o.CommentsThreadDescriptor;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsThreadDescriptor.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsThreadDescriptor.comments: object expected");t.comments[n]=o.CommentDescriptor.fromObject(e.comments[n])}}return null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),e.comments&&e.comments.length){n.comments=[];for(var r=0;r<e.comments.length;++r)n.comments[r]=o.CommentDescriptor.toObject(e.comments[r],t)}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsThreadDescriptor"},s}(),o.CommentThreadAddedCommentDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentId="",s.prototype.createdAt="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(10).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(18).string(e.createdAt),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentThreadAddedCommentDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentId=e.string();break;case 2:s.createdAt=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!r.isString(e.commentId)?"commentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentThreadAddedCommentDescriptor)return e;var t=new o.CommentThreadAddedCommentDescriptor;return null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentId="",n.createdAt=""),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentThreadAddedCommentDescriptor"},s}(),o.CommentsV2AddCommentMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(18).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(26).string(e.documentId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(34).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(42).string(e.createdAt),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&t.uint32(50).string(e.userId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),null!=e.commentThread&&Object.hasOwnProperty.call(e,"commentThread")&&o.CommentsThreadDescriptor.encode(e.commentThread,t.uint32(66).fork()).ldelim(),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2AddCommentMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.content=e.string();break;case 3:s.documentId=e.string();break;case 4:s.commentId=e.string();break;case 5:s.createdAt=e.string();break;case 6:s.userId=e.string();break;case 7:s.attributes=e.string();break;case 8:s.commentThread=o.CommentsThreadDescriptor.decode(e,e.uint32());break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.content&&e.hasOwnProperty("content")&&!r.isString(e.content))return"content: string expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId))return"documentId: string expected";if(null!=e.commentId&&e.hasOwnProperty("commentId")&&!r.isString(e.commentId))return"commentId: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt))return"createdAt: string expected";if(null!=e.userId&&e.hasOwnProperty("userId")&&!r.isString(e.userId))return"userId: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes))return"attributes: string expected";if(null!=e.commentThread&&e.hasOwnProperty("commentThread")){var t=o.CommentsThreadDescriptor.verify(e.commentThread);if(t)return"commentThread."+t}return null},s.fromObject=function(e){if(e instanceof o.CommentsV2AddCommentMessage)return e;var t=new o.CommentsV2AddCommentMessage;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.commentThread){if("object"!=typeof e.commentThread)throw TypeError(".CommentsV2AddCommentMessage.commentThread: object expected");t.commentThread=o.CommentsThreadDescriptor.fromObject(e.commentThread)}return t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.content="",n.documentId="",n.commentId="",n.createdAt="",n.userId="",n.attributes="",n.commentThread=null),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.commentThread&&e.hasOwnProperty("commentThread")&&(n.commentThread=o.CommentsThreadDescriptor.toObject(e.commentThread,t)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentMessage"},s}(),o.CommentsV2AddCommentThreadMessage=function(){function s(e){if(this.comments=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(18).string(e.commentThreadId),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&t.uint32(26).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(34).string(e.createdAt),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(42).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(50).string(e.resolvedBy),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&t.uint32(66).string(e.deletedAt),null!=e.comments&&e.comments.length)for(var r=0;r<e.comments.length;++r)o.CommentDescriptor.encode(e.comments[r],t.uint32(74).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2AddCommentThreadMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.documentId=e.string();break;case 2:s.commentThreadId=e.string();break;case 3:s.context=e.string();break;case 4:s.createdAt=e.string();break;case 5:s.resolvedAt=e.string();break;case 6:s.resolvedBy=e.string();break;case 7:s.attributes=e.string();break;case 8:s.deletedAt=e.string();break;case 9:s.comments&&s.comments.length||(s.comments=[]),s.comments.push(o.CommentDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId))return"documentId: string expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.context&&e.hasOwnProperty("context")&&!r.isString(e.context))return"context: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt))return"createdAt: string expected";if(null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!r.isString(e.resolvedAt))return"resolvedAt: string expected";if(null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!r.isString(e.resolvedBy))return"resolvedBy: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes))return"attributes: string expected";if(null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!r.isString(e.deletedAt))return"deletedAt: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t){var n=o.CommentDescriptor.verify(e.comments[t]);if(n)return"comments."+n}}return null},s.fromObject=function(e){if(e instanceof o.CommentsV2AddCommentThreadMessage)return e;var t=new o.CommentsV2AddCommentThreadMessage;if(null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2AddCommentThreadMessage.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsV2AddCommentThreadMessage.comments: object expected");t.comments[n]=o.CommentDescriptor.fromObject(e.comments[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.documentId="",n.commentThreadId="",n.context="",n.createdAt="",n.resolvedAt="",n.resolvedBy="",n.attributes="",n.deletedAt=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),e.comments&&e.comments.length){n.comments=[];for(var r=0;r<e.comments.length;++r)n.comments[r]=o.CommentDescriptor.toObject(e.comments[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadMessage"},s}(),o.CommentsV2ReopenCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2ReopenCommentThreadMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.documentId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2ReopenCommentThreadMessage)return e;var t=new o.CommentsV2ReopenCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ReopenCommentThreadMessage"},s}(),o.CommentsV2ResolveCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.resolvedBy="",s.prototype.resolvedAt="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(26).string(e.resolvedBy),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(34).string(e.resolvedAt),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2ResolveCommentThreadMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.documentId=e.string();break;case 3:s.resolvedBy=e.string();break;case 4:s.resolvedAt=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!r.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!r.isString(e.resolvedAt)?"resolvedAt: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2ResolveCommentThreadMessage)return e;var t=new o.CommentsV2ResolveCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedBy="",n.resolvedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadMessage"},s}(),o.CommentsV2UpdateCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.context="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&t.uint32(26).string(e.context),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(34).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2UpdateCommentThreadMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.documentId=e.string();break;case 3:s.context=e.string();break;case 4:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.context&&e.hasOwnProperty("context")&&!r.isString(e.context)?"context: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2UpdateCommentThreadMessage)return e;var t=new o.CommentsV2UpdateCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.context&&(t.context=String(e.context)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.context="",n.attributes=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentThreadMessage"},s}(),o.CommentsV2ConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2ConnectMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.documentId=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2ConnectMessage)return e;var t=new o.CommentsV2ConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectMessage"},s}(),o.CommentsV2GetCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2GetCommentThreadMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.documentId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2GetCommentThreadMessage)return e;var t=new o.CommentsV2GetCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadMessage"},s}(),o.CommentsV2GetDocumentThreadsMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2GetDocumentThreadsMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.documentId=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2GetDocumentThreadsMessage)return e;var t=new o.CommentsV2GetDocumentThreadsMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsMessage"},s}(),o.CommentsV2RemoveCommentMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(18).string(e.commentId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(26).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2RemoveCommentMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.commentId=e.string();break;case 3:s.documentId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!r.isString(e.commentId)?"commentId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2RemoveCommentMessage)return e;var t=new o.CommentsV2RemoveCommentMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentMessage"},s}(),o.CommentsV2RemoveCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2RemoveCommentThreadMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.documentId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2RemoveCommentThreadMessage)return e;var t=new o.CommentsV2RemoveCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentThreadMessage"},s}(),o.CommentsV2UpdateCommentMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(18).string(e.commentId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(26).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(34).string(e.documentId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(42).string(e.attributes),null!=e.isAttributesUpdated&&Object.hasOwnProperty.call(e,"isAttributesUpdated")&&t.uint32(48).bool(e.isAttributesUpdated),null!=e.commentThread&&Object.hasOwnProperty.call(e,"commentThread")&&o.CommentsThreadDescriptor.encode(e.commentThread,t.uint32(58).fork()).ldelim(),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2UpdateCommentMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.commentId=e.string();break;case 3:s.content=e.string();break;case 4:s.documentId=e.string();break;case 5:s.attributes=e.string();break;case 6:s.isAttributesUpdated=e.bool();break;case 7:s.commentThread=o.CommentsThreadDescriptor.decode(e,e.uint32());break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.commentId&&e.hasOwnProperty("commentId")&&!r.isString(e.commentId))return"commentId: string expected";if(null!=e.content&&e.hasOwnProperty("content")&&!r.isString(e.content))return"content: string expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId))return"documentId: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes))return"attributes: string expected";if(null!=e.isAttributesUpdated&&e.hasOwnProperty("isAttributesUpdated")&&"boolean"!=typeof e.isAttributesUpdated)return"isAttributesUpdated: boolean expected";if(null!=e.commentThread&&e.hasOwnProperty("commentThread")){var t=o.CommentsThreadDescriptor.verify(e.commentThread);if(t)return"commentThread."+t}return null},s.fromObject=function(e){if(e instanceof o.CommentsV2UpdateCommentMessage)return e;var t=new o.CommentsV2UpdateCommentMessage;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.isAttributesUpdated&&(t.isAttributesUpdated=Boolean(e.isAttributesUpdated)),null!=e.commentThread){if("object"!=typeof e.commentThread)throw TypeError(".CommentsV2UpdateCommentMessage.commentThread: object expected");t.commentThread=o.CommentsThreadDescriptor.fromObject(e.commentThread)}return t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.content="",n.documentId="",n.attributes="",n.isAttributesUpdated=!1,n.commentThread=null),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.isAttributesUpdated&&e.hasOwnProperty("isAttributesUpdated")&&(n.isAttributesUpdated=e.isAttributesUpdated),null!=e.commentThread&&e.hasOwnProperty("commentThread")&&(n.commentThread=o.CommentsThreadDescriptor.toObject(e.commentThread,t)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentMessage"},s}(),o.CommentsV2AddCommentResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.createdAt="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(18).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(26).string(e.createdAt),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2AddCommentResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.commentId=e.string();break;case 3:s.createdAt=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!r.isString(e.commentId)?"commentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2AddCommentResponse)return e;var t=new o.CommentsV2AddCommentResponse;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.createdAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentResponse"},s}(),o.CommentsV2AddCommentThreadResponse=function(){function s(e){if(this.comments=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.createdAt="",s.prototype.comments=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(18).string(e.createdAt),null!=e.comments&&e.comments.length)for(var r=0;r<e.comments.length;++r)o.CommentThreadAddedCommentDescriptor.encode(e.comments[r],t.uint32(26).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2AddCommentThreadResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.createdAt=e.string();break;case 3:s.comments&&s.comments.length||(s.comments=[]),s.comments.push(o.CommentThreadAddedCommentDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt))return"createdAt: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t){var n=o.CommentThreadAddedCommentDescriptor.verify(e.comments[t]);if(n)return"comments."+n}}return null},s.fromObject=function(e){if(e instanceof o.CommentsV2AddCommentThreadResponse)return e;var t=new o.CommentsV2AddCommentThreadResponse;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2AddCommentThreadResponse.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsV2AddCommentThreadResponse.comments: object expected");t.comments[n]=o.CommentThreadAddedCommentDescriptor.fromObject(e.comments[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.commentThreadId="",n.createdAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),e.comments&&e.comments.length){n.comments=[];for(var r=0;r<e.comments.length;++r)n.comments[r]=o.CommentThreadAddedCommentDescriptor.toObject(e.comments[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadResponse"},s}(),o.CommentsV2ResolveCommentThreadResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(26).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(34).string(e.resolvedBy),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2ResolveCommentThreadResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.documentId=e.string();break;case 3:s.resolvedAt=e.string();break;case 4:s.resolvedBy=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!r.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!r.isString(e.resolvedBy)?"resolvedBy: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2ResolveCommentThreadResponse)return e;var t=new o.CommentsV2ResolveCommentThreadResponse;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedAt="",n.resolvedBy=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadResponse"},s}(),o.CommentsV2ConnectResponse=function(){function s(e){if(this.threads=[],this.threadsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.threads=r.emptyArray,s.prototype.threadsV2=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.threads&&e.threads.length)for(var r=0;r<e.threads.length;++r)t.uint32(18).string(e.threads[r]);if(null!=e.threadsV2&&e.threadsV2.length)for(r=0;r<e.threadsV2.length;++r)o.CommentsThreadDescriptor.encode(e.threadsV2[r],t.uint32(26).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2ConnectResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.channel=e.string();break;case 2:s.threads&&s.threads.length||(s.threads=[]),s.threads.push(e.string());break;case 3:s.threadsV2&&s.threadsV2.length||(s.threadsV2=[]),s.threadsV2.push(o.CommentsThreadDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!r.isString(e.channel))return"channel: string expected";if(null!=e.threads&&e.hasOwnProperty("threads")){if(!Array.isArray(e.threads))return"threads: array expected";for(var t=0;t<e.threads.length;++t)if(!r.isString(e.threads[t]))return"threads: string[] expected"}if(null!=e.threadsV2&&e.hasOwnProperty("threadsV2")){if(!Array.isArray(e.threadsV2))return"threadsV2: array expected";for(t=0;t<e.threadsV2.length;++t){var n=o.CommentsThreadDescriptor.verify(e.threadsV2[t]);if(n)return"threadsV2."+n}}return null},s.fromObject=function(e){if(e instanceof o.CommentsV2ConnectResponse)return e;var t=new o.CommentsV2ConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.threads){if(!Array.isArray(e.threads))throw TypeError(".CommentsV2ConnectResponse.threads: array expected");t.threads=[];for(var n=0;n<e.threads.length;++n)t.threads[n]=String(e.threads[n])}if(e.threadsV2){if(!Array.isArray(e.threadsV2))throw TypeError(".CommentsV2ConnectResponse.threadsV2: array expected");for(t.threadsV2=[],n=0;n<e.threadsV2.length;++n){if("object"!=typeof e.threadsV2[n])throw TypeError(".CommentsV2ConnectResponse.threadsV2: object expected");t.threadsV2[n]=o.CommentsThreadDescriptor.fromObject(e.threadsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.threads=[],n.threadsV2=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.threads&&e.threads.length){n.threads=[];for(var r=0;r<e.threads.length;++r)n.threads[r]=e.threads[r]}if(e.threadsV2&&e.threadsV2.length)for(n.threadsV2=[],r=0;r<e.threadsV2.length;++r)n.threadsV2[r]=o.CommentsThreadDescriptor.toObject(e.threadsV2[r],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectResponse"},s}(),o.CommentsV2GetCommentThreadResponse=function(){function s(e){if(this.comments=[],this.commentsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.comments=r.emptyArray,s.prototype.commentsV2=r.emptyArray,s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.context="",s.prototype.createdAt="",s.prototype.deletedAt="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.comments&&e.comments.length)for(var r=0;r<e.comments.length;++r)t.uint32(18).string(e.comments[r]);if(null!=e.commentsV2&&e.commentsV2.length)for(r=0;r<e.commentsV2.length;++r)o.CommentDescriptor.encode(e.commentsV2[r],t.uint32(26).fork()).ldelim();return null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(34).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(42).string(e.resolvedBy),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&t.uint32(50).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(58).string(e.createdAt),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&t.uint32(66).string(e.deletedAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(74).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2GetCommentThreadResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.commentThreadId=e.string();break;case 2:s.comments&&s.comments.length||(s.comments=[]),s.comments.push(e.string());break;case 3:s.commentsV2&&s.commentsV2.length||(s.commentsV2=[]),s.commentsV2.push(o.CommentDescriptor.decode(e,e.uint32()));break;case 4:s.resolvedAt=e.string();break;case 5:s.resolvedBy=e.string();break;case 6:s.context=e.string();break;case 7:s.createdAt=e.string();break;case 8:s.deletedAt=e.string();break;case 9:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!r.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t)if(!r.isString(e.comments[t]))return"comments: string[] expected"}if(null!=e.commentsV2&&e.hasOwnProperty("commentsV2")){if(!Array.isArray(e.commentsV2))return"commentsV2: array expected";for(t=0;t<e.commentsV2.length;++t){var n=o.CommentDescriptor.verify(e.commentsV2[t]);if(n)return"commentsV2."+n}}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!r.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!r.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.context&&e.hasOwnProperty("context")&&!r.isString(e.context)?"context: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!r.isString(e.deletedAt)?"deletedAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.CommentsV2GetCommentThreadResponse)return e;var t=new o.CommentsV2GetCommentThreadResponse;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2GetCommentThreadResponse.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n)t.comments[n]=String(e.comments[n])}if(e.commentsV2){if(!Array.isArray(e.commentsV2))throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: array expected");for(t.commentsV2=[],n=0;n<e.commentsV2.length;++n){if("object"!=typeof e.commentsV2[n])throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: object expected");t.commentsV2[n]=o.CommentDescriptor.fromObject(e.commentsV2[n])}}return null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[],n.commentsV2=[]),t.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),e.comments&&e.comments.length){n.comments=[];for(var r=0;r<e.comments.length;++r)n.comments[r]=e.comments[r]}if(e.commentsV2&&e.commentsV2.length)for(n.commentsV2=[],r=0;r<e.commentsV2.length;++r)n.commentsV2[r]=o.CommentDescriptor.toObject(e.commentsV2[r],t);return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadResponse"},s}(),o.CommentsV2GetDocumentThreadsResponse=function(){function s(e){if(this.threads=[],this.threadsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.threads=r.emptyArray,s.prototype.threadsV2=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.threads&&e.threads.length)for(var r=0;r<e.threads.length;++r)t.uint32(10).string(e.threads[r]);if(null!=e.threadsV2&&e.threadsV2.length)for(r=0;r<e.threadsV2.length;++r)o.CommentsThreadDescriptor.encode(e.threadsV2[r],t.uint32(18).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.CommentsV2GetDocumentThreadsResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.threads&&s.threads.length||(s.threads=[]),s.threads.push(e.string());break;case 2:s.threadsV2&&s.threadsV2.length||(s.threadsV2=[]),s.threadsV2.push(o.CommentsThreadDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.threads&&e.hasOwnProperty("threads")){if(!Array.isArray(e.threads))return"threads: array expected";for(var t=0;t<e.threads.length;++t)if(!r.isString(e.threads[t]))return"threads: string[] expected"}if(null!=e.threadsV2&&e.hasOwnProperty("threadsV2")){if(!Array.isArray(e.threadsV2))return"threadsV2: array expected";for(t=0;t<e.threadsV2.length;++t){var n=o.CommentsThreadDescriptor.verify(e.threadsV2[t]);if(n)return"threadsV2."+n}}return null},s.fromObject=function(e){if(e instanceof o.CommentsV2GetDocumentThreadsResponse)return e;var t=new o.CommentsV2GetDocumentThreadsResponse;if(e.threads){if(!Array.isArray(e.threads))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threads: array expected");t.threads=[];for(var n=0;n<e.threads.length;++n)t.threads[n]=String(e.threads[n])}if(e.threadsV2){if(!Array.isArray(e.threadsV2))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: array expected");for(t.threadsV2=[],n=0;n<e.threadsV2.length;++n){if("object"!=typeof e.threadsV2[n])throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: object expected");t.threadsV2[n]=o.CommentsThreadDescriptor.fromObject(e.threadsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.threads=[],n.threadsV2=[]),e.threads&&e.threads.length){n.threads=[];for(var r=0;r<e.threads.length;++r)n.threads[r]=e.threads[r]}if(e.threadsV2&&e.threadsV2.length)for(n.threadsV2=[],r=0;r<e.threadsV2.length;++r)n.threadsV2[r]=o.CommentsThreadDescriptor.toObject(e.threadsV2[r],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsResponse"},s}(),o.KeyValueDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.key="",s.prototype.value="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(10).string(e.key),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(18).string(e.value),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.KeyValueDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.key=e.string();break;case 2:s.value=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.key&&e.hasOwnProperty("key")&&!r.isString(e.key)?"key: string expected":null!=e.value&&e.hasOwnProperty("value")&&!r.isString(e.value)?"value: string expected":null},s.fromObject=function(e){if(e instanceof o.KeyValueDescriptor)return e;var t=new o.KeyValueDescriptor;return null!=e.key&&(t.key=String(e.key)),null!=e.value&&(t.value=String(e.value)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.key="",n.value=""),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.value&&e.hasOwnProperty("value")&&(n.value=e.value),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/KeyValueDescriptor"},s}(),o.IsEditorBundleUploadedMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.bundleVersion="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&t.uint32(10).string(e.bundleVersion),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.IsEditorBundleUploadedMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.bundleVersion=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!r.isString(e.bundleVersion)?"bundleVersion: string expected":null},s.fromObject=function(e){if(e instanceof o.IsEditorBundleUploadedMessage)return e;var t=new o.IsEditorBundleUploadedMessage;return null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.bundleVersion=""),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedMessage"},s}(),o.IsEditorBundleUploadedResponse=function(){function r(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return r.prototype.isUploaded=!1,r.create=function(e){return new r(e)},r.encode=function(e,t){return t||(t=n.create()),null!=e.isUploaded&&Object.hasOwnProperty.call(e,"isUploaded")&&t.uint32(8).bool(e.isUploaded),t},r.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},r.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.IsEditorBundleUploadedResponse;e.pos<r;){var i=e.uint32();i>>>3==1?s.isUploaded=e.bool():e.skipType(7&i)}return s},r.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},r.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.isUploaded&&e.hasOwnProperty("isUploaded")&&"boolean"!=typeof e.isUploaded?"isUploaded: boolean expected":null},r.fromObject=function(e){if(e instanceof o.IsEditorBundleUploadedResponse)return e;var t=new o.IsEditorBundleUploadedResponse;return null!=e.isUploaded&&(t.isUploaded=Boolean(e.isUploaded)),t},r.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.isUploaded=!1),null!=e.isUploaded&&e.hasOwnProperty("isUploaded")&&(n.isUploaded=e.isUploaded),n},r.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},r.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedResponse"},r}(),o.RevisionDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&t.uint32(10).string(e.revisionId),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&t.uint32(18).string(e.name),null!=e.creatorId&&Object.hasOwnProperty.call(e,"creatorId")&&t.uint32(26).string(e.creatorId),null!=e.authorsIds&&Object.hasOwnProperty.call(e,"authorsIds")&&t.uint32(34).string(e.authorsIds),null!=e.diffData&&Object.hasOwnProperty.call(e,"diffData")&&t.uint32(42).string(e.diffData),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),null!=e.toVersion&&Object.hasOwnProperty.call(e,"toVersion")&&t.uint32(64).uint32(e.toVersion),null!=e.fromVersion&&Object.hasOwnProperty.call(e,"fromVersion")&&t.uint32(72).uint32(e.fromVersion),null!=e.isEmptyCurrent&&Object.hasOwnProperty.call(e,"isEmptyCurrent")&&t.uint32(80).bool(e.isEmptyCurrent),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.revisionId=e.string();break;case 2:s.name=e.string();break;case 3:s.creatorId=e.string();break;case 4:s.authorsIds=e.string();break;case 5:s.diffData=e.string();break;case 6:s.createdAt=e.string();break;case 7:s.attributes=e.string();break;case 8:s.toVersion=e.uint32();break;case 9:s.fromVersion=e.uint32();break;case 10:s.isEmptyCurrent=e.bool();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!r.isString(e.revisionId)?"revisionId: string expected":null!=e.name&&e.hasOwnProperty("name")&&!r.isString(e.name)?"name: string expected":null!=e.creatorId&&e.hasOwnProperty("creatorId")&&!r.isString(e.creatorId)?"creatorId: string expected":null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&!r.isString(e.authorsIds)?"authorsIds: string expected":null!=e.diffData&&e.hasOwnProperty("diffData")&&!r.isString(e.diffData)?"diffData: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null!=e.toVersion&&e.hasOwnProperty("toVersion")&&!r.isInteger(e.toVersion)?"toVersion: integer expected":null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&!r.isInteger(e.fromVersion)?"fromVersion: integer expected":null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof e.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},s.fromObject=function(e){if(e instanceof o.RevisionDescriptor)return e;var t=new o.RevisionDescriptor;return null!=e.revisionId&&(t.revisionId=String(e.revisionId)),null!=e.name&&(t.name=String(e.name)),null!=e.creatorId&&(t.creatorId=String(e.creatorId)),null!=e.authorsIds&&(t.authorsIds=String(e.authorsIds)),null!=e.diffData&&(t.diffData=String(e.diffData)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.toVersion&&(t.toVersion=e.toVersion>>>0),null!=e.fromVersion&&(t.fromVersion=e.fromVersion>>>0),null!=e.isEmptyCurrent&&(t.isEmptyCurrent=Boolean(e.isEmptyCurrent)),t},s.toObject=function(e,t){t||(t={});var n={};return t.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!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.creatorId&&e.hasOwnProperty("creatorId")&&(n.creatorId=e.creatorId),null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&(n.authorsIds=e.authorsIds),null!=e.diffData&&e.hasOwnProperty("diffData")&&(n.diffData=e.diffData),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.toVersion&&e.hasOwnProperty("toVersion")&&(n.toVersion=e.toVersion),null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&(n.fromVersion=e.fromVersion),null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=e.isEmptyCurrent),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionDescriptor"},s}(),o.RevisionHistoryConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryConnectMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.documentId=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryConnectMessage)return e;var t=new o.RevisionHistoryConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectMessage"},s}(),o.RevisionHistoryGetRevisionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.revisionId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&t.uint32(18).string(e.revisionId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryGetRevisionMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.documentId=e.string();break;case 2:s.revisionId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!r.isString(e.revisionId)?"revisionId: string expected":null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryGetRevisionMessage)return e;var t=new o.RevisionHistoryGetRevisionMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.revisionId&&(t.revisionId=String(e.revisionId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId="",n.revisionId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionMessage"},s}(),o.RevisionHistoryReconnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.requestId=0,s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&t.uint32(16).uint32(e.requestId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryReconnectMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.documentId=e.string();break;case 2:s.requestId=e.uint32();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.requestId&&e.hasOwnProperty("requestId")&&!r.isInteger(e.requestId)?"requestId: integer expected":null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryReconnectMessage)return e;var t=new o.RevisionHistoryReconnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.requestId&&(t.requestId=e.requestId>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId="",n.requestId=0),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryReconnectMessage"},s}(),o.RevisionHistoryUpdateRevisionsMessage=function(){function s(e){if(this.revisions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.requestId=0,s.prototype.revisions=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&t.uint32(16).uint32(e.requestId),null!=e.revisions&&e.revisions.length)for(var r=0;r<e.revisions.length;++r)o.RevisionDescriptor.encode(e.revisions[r],t.uint32(26).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryUpdateRevisionsMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.documentId=e.string();break;case 2:s.requestId=e.uint32();break;case 3:s.revisions&&s.revisions.length||(s.revisions=[]),s.revisions.push(o.RevisionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId))return"documentId: string expected";if(null!=e.requestId&&e.hasOwnProperty("requestId")&&!r.isInteger(e.requestId))return"requestId: integer expected";if(null!=e.revisions&&e.hasOwnProperty("revisions")){if(!Array.isArray(e.revisions))return"revisions: array expected";for(var t=0;t<e.revisions.length;++t){var n=o.RevisionDescriptor.verify(e.revisions[t]);if(n)return"revisions."+n}}return null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryUpdateRevisionsMessage)return e;var t=new o.RevisionHistoryUpdateRevisionsMessage;if(null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.requestId&&(t.requestId=e.requestId>>>0),e.revisions){if(!Array.isArray(e.revisions))throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: array expected");t.revisions=[];for(var n=0;n<e.revisions.length;++n){if("object"!=typeof e.revisions[n])throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: object expected");t.revisions[n]=o.RevisionDescriptor.fromObject(e.revisions[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.revisions=[]),t.defaults&&(n.documentId="",n.requestId=0),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),e.revisions&&e.revisions.length){n.revisions=[];for(var r=0;r<e.revisions.length;++r)n.revisions[r]=o.RevisionDescriptor.toObject(e.revisions[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsMessage"},s}(),o.RevisionHistoryConnectResponse=function(){function s(e){if(this.revisions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.requestId=0,s.prototype.revisions=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&t.uint32(16).uint32(e.requestId),null!=e.revisions&&e.revisions.length)for(var r=0;r<e.revisions.length;++r)o.RevisionDescriptor.encode(e.revisions[r],t.uint32(26).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryConnectResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.channel=e.string();break;case 2:s.requestId=e.uint32();break;case 3:s.revisions&&s.revisions.length||(s.revisions=[]),s.revisions.push(o.RevisionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!r.isString(e.channel))return"channel: string expected";if(null!=e.requestId&&e.hasOwnProperty("requestId")&&!r.isInteger(e.requestId))return"requestId: integer expected";if(null!=e.revisions&&e.hasOwnProperty("revisions")){if(!Array.isArray(e.revisions))return"revisions: array expected";for(var t=0;t<e.revisions.length;++t){var n=o.RevisionDescriptor.verify(e.revisions[t]);if(n)return"revisions."+n}}return null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryConnectResponse)return e;var t=new o.RevisionHistoryConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),null!=e.requestId&&(t.requestId=e.requestId>>>0),e.revisions){if(!Array.isArray(e.revisions))throw TypeError(".RevisionHistoryConnectResponse.revisions: array expected");t.revisions=[];for(var n=0;n<e.revisions.length;++n){if("object"!=typeof e.revisions[n])throw TypeError(".RevisionHistoryConnectResponse.revisions: object expected");t.revisions[n]=o.RevisionDescriptor.fromObject(e.revisions[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.revisions=[]),t.defaults&&(n.channel="",n.requestId=0),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),e.revisions&&e.revisions.length){n.revisions=[];for(var r=0;r<e.revisions.length;++r)n.revisions[r]=o.RevisionDescriptor.toObject(e.revisions[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectResponse"},s}(),o.RevisionHistoryGetRevisionResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&t.uint32(10).string(e.revisionId),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&t.uint32(18).string(e.name),null!=e.creatorId&&Object.hasOwnProperty.call(e,"creatorId")&&t.uint32(26).string(e.creatorId),null!=e.authorsIds&&Object.hasOwnProperty.call(e,"authorsIds")&&t.uint32(34).string(e.authorsIds),null!=e.diffData&&Object.hasOwnProperty.call(e,"diffData")&&t.uint32(42).string(e.diffData),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),null!=e.toVersion&&Object.hasOwnProperty.call(e,"toVersion")&&t.uint32(64).uint32(e.toVersion),null!=e.fromVersion&&Object.hasOwnProperty.call(e,"fromVersion")&&t.uint32(72).uint32(e.fromVersion),null!=e.isEmptyCurrent&&Object.hasOwnProperty.call(e,"isEmptyCurrent")&&t.uint32(80).bool(e.isEmptyCurrent),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryGetRevisionResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.revisionId=e.string();break;case 2:s.name=e.string();break;case 3:s.creatorId=e.string();break;case 4:s.authorsIds=e.string();break;case 5:s.diffData=e.string();break;case 6:s.createdAt=e.string();break;case 7:s.attributes=e.string();break;case 8:s.toVersion=e.uint32();break;case 9:s.fromVersion=e.uint32();break;case 10:s.isEmptyCurrent=e.bool();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!r.isString(e.revisionId)?"revisionId: string expected":null!=e.name&&e.hasOwnProperty("name")&&!r.isString(e.name)?"name: string expected":null!=e.creatorId&&e.hasOwnProperty("creatorId")&&!r.isString(e.creatorId)?"creatorId: string expected":null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&!r.isString(e.authorsIds)?"authorsIds: string expected":null!=e.diffData&&e.hasOwnProperty("diffData")&&!r.isString(e.diffData)?"diffData: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null!=e.toVersion&&e.hasOwnProperty("toVersion")&&!r.isInteger(e.toVersion)?"toVersion: integer expected":null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&!r.isInteger(e.fromVersion)?"fromVersion: integer expected":null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof e.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryGetRevisionResponse)return e;var t=new o.RevisionHistoryGetRevisionResponse;return null!=e.revisionId&&(t.revisionId=String(e.revisionId)),null!=e.name&&(t.name=String(e.name)),null!=e.creatorId&&(t.creatorId=String(e.creatorId)),null!=e.authorsIds&&(t.authorsIds=String(e.authorsIds)),null!=e.diffData&&(t.diffData=String(e.diffData)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.toVersion&&(t.toVersion=e.toVersion>>>0),null!=e.fromVersion&&(t.fromVersion=e.fromVersion>>>0),null!=e.isEmptyCurrent&&(t.isEmptyCurrent=Boolean(e.isEmptyCurrent)),t},s.toObject=function(e,t){t||(t={});var n={};return t.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!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.creatorId&&e.hasOwnProperty("creatorId")&&(n.creatorId=e.creatorId),null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&(n.authorsIds=e.authorsIds),null!=e.diffData&&e.hasOwnProperty("diffData")&&(n.diffData=e.diffData),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.toVersion&&e.hasOwnProperty("toVersion")&&(n.toVersion=e.toVersion),null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&(n.fromVersion=e.fromVersion),null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=e.isEmptyCurrent),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionResponse"},s}(),o.RevisionHistoryUpdateRevisionsResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.requestId=0,s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&t.uint32(8).uint32(e.requestId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.RevisionHistoryUpdateRevisionsResponse;e.pos<r;){var i=e.uint32();i>>>3==1?s.requestId=e.uint32():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.requestId&&e.hasOwnProperty("requestId")&&!r.isInteger(e.requestId)?"requestId: integer expected":null},s.fromObject=function(e){if(e instanceof o.RevisionHistoryUpdateRevisionsResponse)return e;var t=new o.RevisionHistoryUpdateRevisionsResponse;return null!=e.requestId&&(t.requestId=e.requestId>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.requestId=0),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsResponse"},s}(),o.SessionsSocketDescriptor=function(){function s(e){if(this.permissions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.session="",s.prototype.user="",s.prototype.role="",s.prototype.permissions=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.session&&Object.hasOwnProperty.call(e,"session")&&t.uint32(10).string(e.session),null!=e.user&&Object.hasOwnProperty.call(e,"user")&&t.uint32(18).string(e.user),null!=e.role&&Object.hasOwnProperty.call(e,"role")&&t.uint32(26).string(e.role),null!=e.permissions&&e.permissions.length)for(var r=0;r<e.permissions.length;++r)t.uint32(34).string(e.permissions[r]);return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.SessionsSocketDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.session=e.string();break;case 2:s.user=e.string();break;case 3:s.role=e.string();break;case 4:s.permissions&&s.permissions.length||(s.permissions=[]),s.permissions.push(e.string());break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.session&&e.hasOwnProperty("session")&&!r.isString(e.session))return"session: string expected";if(null!=e.user&&e.hasOwnProperty("user")&&!r.isString(e.user))return"user: string expected";if(null!=e.role&&e.hasOwnProperty("role")&&!r.isString(e.role))return"role: string expected";if(null!=e.permissions&&e.hasOwnProperty("permissions")){if(!Array.isArray(e.permissions))return"permissions: array expected";for(var t=0;t<e.permissions.length;++t)if(!r.isString(e.permissions[t]))return"permissions: string[] expected"}return null},s.fromObject=function(e){if(e instanceof o.SessionsSocketDescriptor)return e;var t=new o.SessionsSocketDescriptor;if(null!=e.session&&(t.session=String(e.session)),null!=e.user&&(t.user=String(e.user)),null!=e.role&&(t.role=String(e.role)),e.permissions){if(!Array.isArray(e.permissions))throw TypeError(".SessionsSocketDescriptor.permissions: array expected");t.permissions=[];for(var n=0;n<e.permissions.length;++n)t.permissions[n]=String(e.permissions[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.permissions=[]),t.defaults&&(n.session="",n.user="",n.role=""),null!=e.session&&e.hasOwnProperty("session")&&(n.session=e.session),null!=e.user&&e.hasOwnProperty("user")&&(n.user=e.user),null!=e.role&&e.hasOwnProperty("role")&&(n.role=e.role),e.permissions&&e.permissions.length){n.permissions=[];for(var r=0;r<e.permissions.length;++r)n.permissions[r]=e.permissions[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsSocketDescriptor"},s}(),o.SessionsConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.sessionType=0,s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.sessionType&&Object.hasOwnProperty.call(e,"sessionType")&&t.uint32(16).uint32(e.sessionType),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.SessionsConnectMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.sessionType=e.uint32();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.sessionType&&e.hasOwnProperty("sessionType")&&!r.isInteger(e.sessionType)?"sessionType: integer expected":null},s.fromObject=function(e){if(e instanceof o.SessionsConnectMessage)return e;var t=new o.SessionsConnectMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.sessionType&&(t.sessionType=e.sessionType>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.sessionType=0),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.sessionType&&e.hasOwnProperty("sessionType")&&(n.sessionType=e.sessionType),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectMessage"},s}(),o.SocketConnectMessage=function(){function s(e){if(this.permissions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.userId="",s.prototype.role="",s.prototype.permissions=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&t.uint32(18).string(e.userId),null!=e.role&&Object.hasOwnProperty.call(e,"role")&&t.uint32(26).string(e.role),null!=e.permissions&&e.permissions.length)for(var r=0;r<e.permissions.length;++r)t.uint32(34).string(e.permissions[r]);return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.SocketConnectMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.userId=e.string();break;case 3:s.role=e.string();break;case 4:s.permissions&&s.permissions.length||(s.permissions=[]),s.permissions.push(e.string());break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id))return"id: string expected";if(null!=e.userId&&e.hasOwnProperty("userId")&&!r.isString(e.userId))return"userId: string expected";if(null!=e.role&&e.hasOwnProperty("role")&&!r.isString(e.role))return"role: string expected";if(null!=e.permissions&&e.hasOwnProperty("permissions")){if(!Array.isArray(e.permissions))return"permissions: array expected";for(var t=0;t<e.permissions.length;++t)if(!r.isString(e.permissions[t]))return"permissions: string[] expected"}return null},s.fromObject=function(e){if(e instanceof o.SocketConnectMessage)return e;var t=new o.SocketConnectMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.role&&(t.role=String(e.role)),e.permissions){if(!Array.isArray(e.permissions))throw TypeError(".SocketConnectMessage.permissions: array expected");t.permissions=[];for(var n=0;n<e.permissions.length;++n)t.permissions[n]=String(e.permissions[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.permissions=[]),t.defaults&&(n.id="",n.userId="",n.role=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.role&&e.hasOwnProperty("role")&&(n.role=e.role),e.permissions&&e.permissions.length){n.permissions=[];for(var r=0;r<e.permissions.length;++r)n.permissions[r]=e.permissions[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketConnectMessage"},s}(),o.SocketDisconnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.SocketDisconnectMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.id=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null},s.fromObject=function(e){if(e instanceof o.SocketDisconnectMessage)return e;var t=new o.SocketDisconnectMessage;return null!=e.id&&(t.id=String(e.id)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketDisconnectMessage"},s}(),o.SessionsConnectResponse=function(){function s(e){if(this.sockets=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.sockets=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.sockets&&e.sockets.length)for(var r=0;r<e.sockets.length;++r)o.SessionsSocketDescriptor.encode(e.sockets[r],t.uint32(18).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.SessionsConnectResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.channel=e.string();break;case 2:s.sockets&&s.sockets.length||(s.sockets=[]),s.sockets.push(o.SessionsSocketDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!r.isString(e.channel))return"channel: string expected";if(null!=e.sockets&&e.hasOwnProperty("sockets")){if(!Array.isArray(e.sockets))return"sockets: array expected";for(var t=0;t<e.sockets.length;++t){var n=o.SessionsSocketDescriptor.verify(e.sockets[t]);if(n)return"sockets."+n}}return null},s.fromObject=function(e){if(e instanceof o.SessionsConnectResponse)return e;var t=new o.SessionsConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.sockets){if(!Array.isArray(e.sockets))throw TypeError(".SessionsConnectResponse.sockets: array expected");t.sockets=[];for(var n=0;n<e.sockets.length;++n){if("object"!=typeof e.sockets[n])throw TypeError(".SessionsConnectResponse.sockets: object expected");t.sockets[n]=o.SessionsSocketDescriptor.fromObject(e.sockets[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.sockets=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.sockets&&e.sockets.length){n.sockets=[];for(var r=0;r<e.sockets.length;++r)n.sockets[r]=o.SessionsSocketDescriptor.toObject(e.sockets[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectResponse"},s}(),o.SuggestionDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&t.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&t.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(66).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.SuggestionDescriptor;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.authorId=e.string();break;case 3:s.type=e.string();break;case 4:s.createdAt=e.string();break;case 5:s.data=e.string();break;case 6:s.hasComments=e.bool();break;case 7:s.state=e.string();break;case 8:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!r.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!r.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.SuggestionDescriptor)return e;var t=new o.SuggestionDescriptor;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SuggestionDescriptor"},s}(),o.TrackChangesAddSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.documentId="",s.prototype.type="",s.prototype.data="",s.prototype.originalSuggestionId="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(26).string(e.type),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(34).string(e.data),null!=e.originalSuggestionId&&Object.hasOwnProperty.call(e,"originalSuggestionId")&&t.uint32(42).string(e.originalSuggestionId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(50).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesAddSuggestionMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.documentId=e.string();break;case 3:s.type=e.string();break;case 4:s.data=e.string();break;case 5:s.originalSuggestionId=e.string();break;case 6:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isString(e.type)?"type: string expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.originalSuggestionId&&e.hasOwnProperty("originalSuggestionId")&&!r.isString(e.originalSuggestionId)?"originalSuggestionId: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesAddSuggestionMessage)return e;var t=new o.TrackChangesAddSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.type&&(t.type=String(e.type)),null!=e.data&&(t.data=String(e.data)),null!=e.originalSuggestionId&&(t.originalSuggestionId=String(e.originalSuggestionId)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.documentId="",n.type="",n.data="",n.originalSuggestionId="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.originalSuggestionId&&e.hasOwnProperty("originalSuggestionId")&&(n.originalSuggestionId=e.originalSuggestionId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionMessage"},s}(),o.TrackChangesBatchUpdateSuggestionsStateMessage=function(){function s(e){if(this.ids=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.ids=r.emptyArray,s.prototype.documentId="",s.prototype.state="",s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.ids&&e.ids.length)for(var r=0;r<e.ids.length;++r)t.uint32(10).string(e.ids[r]);return null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(26).string(e.state),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesBatchUpdateSuggestionsStateMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.ids&&s.ids.length||(s.ids=[]),s.ids.push(e.string());break;case 2:s.documentId=e.string();break;case 3:s.state=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.ids&&e.hasOwnProperty("ids")){if(!Array.isArray(e.ids))return"ids: array expected";for(var t=0;t<e.ids.length;++t)if(!r.isString(e.ids[t]))return"ids: string[] expected"}return null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.state&&e.hasOwnProperty("state")&&!r.isString(e.state)?"state: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesBatchUpdateSuggestionsStateMessage)return e;var t=new o.TrackChangesBatchUpdateSuggestionsStateMessage;if(e.ids){if(!Array.isArray(e.ids))throw TypeError(".TrackChangesBatchUpdateSuggestionsStateMessage.ids: array expected");t.ids=[];for(var n=0;n<e.ids.length;++n)t.ids[n]=String(e.ids[n])}return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.state&&(t.state=String(e.state)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.ids=[]),t.defaults&&(n.documentId="",n.state=""),e.ids&&e.ids.length){n.ids=[];for(var r=0;r<e.ids.length;++r)n.ids[r]=e.ids[r]}return null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesBatchUpdateSuggestionsStateMessage"},s}(),o.TrackChangesConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesConnectMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.documentId=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesConnectMessage)return e;var t=new o.TrackChangesConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectMessage"},s}(),o.TrackChangesGetAllSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesGetAllSuggestionMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.documentId=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesGetAllSuggestionMessage)return e;var t=new o.TrackChangesGetAllSuggestionMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionMessage"},s}(),o.TrackChangesGetSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesGetSuggestionMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.documentId=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesGetSuggestionMessage)return e;var t=new o.TrackChangesGetSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.documentId=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionMessage"},s}(),o.TrackChangesUpdateSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&t.uint32(24).bool(e.hasComments),null!=e.isHasCommentsModified&&Object.hasOwnProperty.call(e,"isHasCommentsModified")&&t.uint32(32).bool(e.isHasCommentsModified),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(42).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(50).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesUpdateSuggestionMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.documentId=e.string();break;case 3:s.hasComments=e.bool();break;case 4:s.isHasCommentsModified=e.bool();break;case 5:s.state=e.string();break;case 6:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!r.isString(e.documentId)?"documentId: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.isHasCommentsModified&&e.hasOwnProperty("isHasCommentsModified")&&"boolean"!=typeof e.isHasCommentsModified?"isHasCommentsModified: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!r.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesUpdateSuggestionMessage)return e;var t=new o.TrackChangesUpdateSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.isHasCommentsModified&&(t.isHasCommentsModified=Boolean(e.isHasCommentsModified)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.documentId="",n.hasComments=!1,n.isHasCommentsModified=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.isHasCommentsModified&&e.hasOwnProperty("isHasCommentsModified")&&(n.isHasCommentsModified=e.isHasCommentsModified),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesUpdateSuggestionMessage"},s}(),o.TrackChangesAddSuggestionResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&t.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&t.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(66).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesAddSuggestionResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.authorId=e.string();break;case 3:s.type=e.string();break;case 4:s.createdAt=e.string();break;case 5:s.data=e.string();break;case 6:s.hasComments=e.bool();break;case 7:s.state=e.string();break;case 8:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!r.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!r.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesAddSuggestionResponse)return e;var t=new o.TrackChangesAddSuggestionResponse;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionResponse"},s}(),o.TrackChangesConnectResponse=function(){function s(e){if(this.suggestions=[],this.suggestionsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.suggestions=r.emptyArray,s.prototype.suggestionsV2=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.suggestions&&e.suggestions.length)for(var r=0;r<e.suggestions.length;++r)t.uint32(18).string(e.suggestions[r]);if(null!=e.suggestionsV2&&e.suggestionsV2.length)for(r=0;r<e.suggestionsV2.length;++r)o.SuggestionDescriptor.encode(e.suggestionsV2[r],t.uint32(26).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesConnectResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.channel=e.string();break;case 2:s.suggestions&&s.suggestions.length||(s.suggestions=[]),s.suggestions.push(e.string());break;case 3:s.suggestionsV2&&s.suggestionsV2.length||(s.suggestionsV2=[]),s.suggestionsV2.push(o.SuggestionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!r.isString(e.channel))return"channel: string expected";if(null!=e.suggestions&&e.hasOwnProperty("suggestions")){if(!Array.isArray(e.suggestions))return"suggestions: array expected";for(var t=0;t<e.suggestions.length;++t)if(!r.isString(e.suggestions[t]))return"suggestions: string[] expected"}if(null!=e.suggestionsV2&&e.hasOwnProperty("suggestionsV2")){if(!Array.isArray(e.suggestionsV2))return"suggestionsV2: array expected";for(t=0;t<e.suggestionsV2.length;++t){var n=o.SuggestionDescriptor.verify(e.suggestionsV2[t]);if(n)return"suggestionsV2."+n}}return null},s.fromObject=function(e){if(e instanceof o.TrackChangesConnectResponse)return e;var t=new o.TrackChangesConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.suggestions){if(!Array.isArray(e.suggestions))throw TypeError(".TrackChangesConnectResponse.suggestions: array expected");t.suggestions=[];for(var n=0;n<e.suggestions.length;++n)t.suggestions[n]=String(e.suggestions[n])}if(e.suggestionsV2){if(!Array.isArray(e.suggestionsV2))throw TypeError(".TrackChangesConnectResponse.suggestionsV2: array expected");for(t.suggestionsV2=[],n=0;n<e.suggestionsV2.length;++n){if("object"!=typeof e.suggestionsV2[n])throw TypeError(".TrackChangesConnectResponse.suggestionsV2: object expected");t.suggestionsV2[n]=o.SuggestionDescriptor.fromObject(e.suggestionsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.suggestions&&e.suggestions.length){n.suggestions=[];for(var r=0;r<e.suggestions.length;++r)n.suggestions[r]=e.suggestions[r]}if(e.suggestionsV2&&e.suggestionsV2.length)for(n.suggestionsV2=[],r=0;r<e.suggestionsV2.length;++r)n.suggestionsV2[r]=o.SuggestionDescriptor.toObject(e.suggestionsV2[r],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectResponse"},s}(),o.TrackChangesGetAllSuggestionsResponse=function(){function s(e){if(this.suggestions=[],this.suggestionsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.suggestions=r.emptyArray,s.prototype.suggestionsV2=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.suggestions&&e.suggestions.length)for(var r=0;r<e.suggestions.length;++r)t.uint32(10).string(e.suggestions[r]);if(null!=e.suggestionsV2&&e.suggestionsV2.length)for(r=0;r<e.suggestionsV2.length;++r)o.SuggestionDescriptor.encode(e.suggestionsV2[r],t.uint32(18).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesGetAllSuggestionsResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.suggestions&&s.suggestions.length||(s.suggestions=[]),s.suggestions.push(e.string());break;case 2:s.suggestionsV2&&s.suggestionsV2.length||(s.suggestionsV2=[]),s.suggestionsV2.push(o.SuggestionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.suggestions&&e.hasOwnProperty("suggestions")){if(!Array.isArray(e.suggestions))return"suggestions: array expected";for(var t=0;t<e.suggestions.length;++t)if(!r.isString(e.suggestions[t]))return"suggestions: string[] expected"}if(null!=e.suggestionsV2&&e.hasOwnProperty("suggestionsV2")){if(!Array.isArray(e.suggestionsV2))return"suggestionsV2: array expected";for(t=0;t<e.suggestionsV2.length;++t){var n=o.SuggestionDescriptor.verify(e.suggestionsV2[t]);if(n)return"suggestionsV2."+n}}return null},s.fromObject=function(e){if(e instanceof o.TrackChangesGetAllSuggestionsResponse)return e;var t=new o.TrackChangesGetAllSuggestionsResponse;if(e.suggestions){if(!Array.isArray(e.suggestions))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestions: array expected");t.suggestions=[];for(var n=0;n<e.suggestions.length;++n)t.suggestions[n]=String(e.suggestions[n])}if(e.suggestionsV2){if(!Array.isArray(e.suggestionsV2))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: array expected");for(t.suggestionsV2=[],n=0;n<e.suggestionsV2.length;++n){if("object"!=typeof e.suggestionsV2[n])throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: object expected");t.suggestionsV2[n]=o.SuggestionDescriptor.fromObject(e.suggestionsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),e.suggestions&&e.suggestions.length){n.suggestions=[];for(var r=0;r<e.suggestions.length;++r)n.suggestions[r]=e.suggestions[r]}if(e.suggestionsV2&&e.suggestionsV2.length)for(n.suggestionsV2=[],r=0;r<e.suggestionsV2.length;++r)n.suggestionsV2[r]=o.SuggestionDescriptor.toObject(e.suggestionsV2[r],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionsResponse"},s}(),o.TrackChangesGetSuggestionResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[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(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&t.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&t.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(66).string(e.attributes),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.TrackChangesGetSuggestionResponse;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.id=e.string();break;case 2:s.authorId=e.string();break;case 3:s.type=e.string();break;case 4:s.createdAt=e.string();break;case 5:s.data=e.string();break;case 6:s.hasComments=e.bool();break;case 7:s.state=e.string();break;case 8:s.attributes=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!r.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!r.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!r.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!r.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof o.TrackChangesGetSuggestionResponse)return e;var t=new o.TrackChangesGetSuggestionResponse;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionResponse"},s}(),o.UserDescriptor=function(){function s(e){if(this.attributes=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.attributes=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.attributes&&e.attributes.length)for(var r=0;r<e.attributes.length;++r)o.KeyValueDescriptor.encode(e.attributes[r],t.uint32(10).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.UserDescriptor;e.pos<r;){var i=e.uint32();i>>>3==1?(s.attributes&&s.attributes.length||(s.attributes=[]),s.attributes.push(o.KeyValueDescriptor.decode(e,e.uint32()))):e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")){if(!Array.isArray(e.attributes))return"attributes: array expected";for(var t=0;t<e.attributes.length;++t){var n=o.KeyValueDescriptor.verify(e.attributes[t]);if(n)return"attributes."+n}}return null},s.fromObject=function(e){if(e instanceof o.UserDescriptor)return e;var t=new o.UserDescriptor;if(e.attributes){if(!Array.isArray(e.attributes))throw TypeError(".UserDescriptor.attributes: array expected");t.attributes=[];for(var n=0;n<e.attributes.length;++n){if("object"!=typeof e.attributes[n])throw TypeError(".UserDescriptor.attributes: object expected");t.attributes[n]=o.KeyValueDescriptor.fromObject(e.attributes[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.attributes=[]),e.attributes&&e.attributes.length){n.attributes=[];for(var r=0;r<e.attributes.length;++r)n.attributes[r]=o.KeyValueDescriptor.toObject(e.attributes[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/UserDescriptor"},s}(),o.GetManyUsersMessage=function(){function s(e){if(this.ids=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.ids=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.ids&&e.ids.length)for(var r=0;r<e.ids.length;++r)t.uint32(10).string(e.ids[r]);return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.GetManyUsersMessage;e.pos<r;){var i=e.uint32();i>>>3==1?(s.ids&&s.ids.length||(s.ids=[]),s.ids.push(e.string())):e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.ids&&e.hasOwnProperty("ids")){if(!Array.isArray(e.ids))return"ids: array expected";for(var t=0;t<e.ids.length;++t)if(!r.isString(e.ids[t]))return"ids: string[] expected"}return null},s.fromObject=function(e){if(e instanceof o.GetManyUsersMessage)return e;var t=new o.GetManyUsersMessage;if(e.ids){if(!Array.isArray(e.ids))throw TypeError(".GetManyUsersMessage.ids: array expected");t.ids=[];for(var n=0;n<e.ids.length;++n)t.ids[n]=String(e.ids[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.ids=[]),e.ids&&e.ids.length){n.ids=[];for(var r=0;r<e.ids.length;++r)n.ids[r]=e.ids[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersMessage"},s}(),o.GetUserMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.GetUserMessage;e.pos<r;){var i=e.uint32();i>>>3==1?s.id=e.string():e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isString(e.id)?"id: string expected":null},s.fromObject=function(e){if(e instanceof o.GetUserMessage)return e;var t=new o.GetUserMessage;return null!=e.id&&(t.id=String(e.id)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserMessage"},s}(),o.GetManyUsersResponse=function(){function s(e){if(this.users=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.users=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.users&&e.users.length)for(var r=0;r<e.users.length;++r)o.UserDescriptor.encode(e.users[r],t.uint32(10).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.GetManyUsersResponse;e.pos<r;){var i=e.uint32();i>>>3==1?(s.users&&s.users.length||(s.users=[]),s.users.push(o.UserDescriptor.decode(e,e.uint32()))):e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.users&&e.hasOwnProperty("users")){if(!Array.isArray(e.users))return"users: array expected";for(var t=0;t<e.users.length;++t){var n=o.UserDescriptor.verify(e.users[t]);if(n)return"users."+n}}return null},s.fromObject=function(e){if(e instanceof o.GetManyUsersResponse)return e;var t=new o.GetManyUsersResponse;if(e.users){if(!Array.isArray(e.users))throw TypeError(".GetManyUsersResponse.users: array expected");t.users=[];for(var n=0;n<e.users.length;++n){if("object"!=typeof e.users[n])throw TypeError(".GetManyUsersResponse.users: object expected");t.users[n]=o.UserDescriptor.fromObject(e.users[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.users=[]),e.users&&e.users.length){n.users=[];for(var r=0;r<e.users.length;++r)n.users[r]=o.UserDescriptor.toObject(e.users[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersResponse"},s}(),o.GetUserResponse=function(){function s(e){if(this.attributes=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.attributes=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.attributes&&e.attributes.length)for(var r=0;r<e.attributes.length;++r)o.KeyValueDescriptor.encode(e.attributes[r],t.uint32(10).fork()).ldelim();return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.GetUserResponse;e.pos<r;){var i=e.uint32();i>>>3==1?(s.attributes&&s.attributes.length||(s.attributes=[]),s.attributes.push(o.KeyValueDescriptor.decode(e,e.uint32()))):e.skipType(7&i)}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")){if(!Array.isArray(e.attributes))return"attributes: array expected";for(var t=0;t<e.attributes.length;++t){var n=o.KeyValueDescriptor.verify(e.attributes[t]);if(n)return"attributes."+n}}return null},s.fromObject=function(e){if(e instanceof o.GetUserResponse)return e;var t=new o.GetUserResponse;if(e.attributes){if(!Array.isArray(e.attributes))throw TypeError(".GetUserResponse.attributes: array expected");t.attributes=[];for(var n=0;n<e.attributes.length;++n){if("object"!=typeof e.attributes[n])throw TypeError(".GetUserResponse.attributes: object expected");t.attributes[n]=o.KeyValueDescriptor.fromObject(e.attributes[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.attributes=[]),e.attributes&&e.attributes.length){n.attributes=[];for(var r=0;r<e.attributes.length;++r)n.attributes[r]=o.KeyValueDescriptor.toObject(e.attributes[r],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserResponse"},s}(),o.ChannelMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.type=0,s.prototype.socketId="",s.prototype.data=r.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).uint32(e.type),null!=e.socketId&&Object.hasOwnProperty.call(e,"socketId")&&t.uint32(18).string(e.socketId),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(26).bytes(e.data),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.ChannelMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.type=e.uint32();break;case 2:s.socketId=e.string();break;case 3:s.data=e.bytes();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isInteger(e.type)?"type: integer expected":null!=e.socketId&&e.hasOwnProperty("socketId")&&!r.isString(e.socketId)?"socketId: string expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||r.isString(e.data))?"data: buffer expected":null},s.fromObject=function(e){if(e instanceof o.ChannelMessage)return e;var t=new o.ChannelMessage;return null!=e.type&&(t.type=e.type>>>0),null!=e.socketId&&(t.socketId=String(e.socketId)),null!=e.data&&("string"==typeof e.data?r.base64.decode(e.data,t.data=r.newBuffer(r.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.type=0,n.socketId="",t.bytes===String?n.data="":(n.data=[],t.bytes!==Array&&(n.data=r.newBuffer(n.data)))),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.socketId&&e.hasOwnProperty("socketId")&&(n.socketId=e.socketId),null!=e.data&&e.hasOwnProperty("data")&&(n.data=t.bytes===String?r.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ChannelMessage"},s}(),o.BytesBytesPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=r.newBuffer([]),s.prototype.data1=r.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).bytes(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).bytes(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.BytesBytesPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.bytes();break;case 2:s.data1=e.bytes();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||r.isString(e.data))?"data: buffer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||r.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof o.BytesBytesPacketDataMessage)return e;var t=new o.BytesBytesPacketDataMessage;return null!=e.data&&("string"==typeof e.data?r.base64.decode(e.data,t.data=r.newBuffer(r.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),null!=e.data1&&("string"==typeof e.data1?r.base64.decode(e.data1,t.data1=r.newBuffer(r.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(t.bytes===String?n.data="":(n.data=[],t.bytes!==Array&&(n.data=r.newBuffer(n.data))),t.bytes===String?n.data1="":(n.data1=[],t.bytes!==Array&&(n.data1=r.newBuffer(n.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(n.data=t.bytes===String?r.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=t.bytes===String?r.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/BytesBytesPacketDataMessage"},s}(),o.NumberBytesPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1=r.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).bytes(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.NumberBytesPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.uint32();break;case 2:s.data1=e.bytes();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||r.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof o.NumberBytesPacketDataMessage)return e;var t=new o.NumberBytesPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&("string"==typeof e.data1?r.base64.decode(e.data1,t.data1=r.newBuffer(r.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,t.bytes===String?n.data1="":(n.data1=[],t.bytes!==Array&&(n.data1=r.newBuffer(n.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=t.bytes===String?r.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberBytesPacketDataMessage"},s}(),o.NumberNumberPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1=0,s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(16).uint32(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.NumberNumberPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.uint32();break;case 2:s.data1=e.uint32();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isInteger(e.data1)?"data1: integer expected":null},s.fromObject=function(e){if(e instanceof o.NumberNumberPacketDataMessage)return e;var t=new o.NumberNumberPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=e.data1>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,n.data1=0),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberNumberPacketDataMessage"},s}(),o.NumberObjectPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.NumberObjectPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.uint32();break;case 2:s.data1=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof o.NumberObjectPacketDataMessage)return e;var t=new o.NumberObjectPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberObjectPacketDataMessage"},s}(),o.NumberStringPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.NumberStringPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.uint32();break;case 2:s.data1=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof o.NumberStringPacketDataMessage)return e;var t=new o.NumberStringPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberStringPacketDataMessage"},s}(),o.ObjectBufferPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1=r.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).bytes(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.ObjectBufferPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.string();break;case 2:s.data1=e.bytes();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||r.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof o.ObjectBufferPacketDataMessage)return e;var t=new o.ObjectBufferPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&("string"==typeof e.data1?r.base64.decode(e.data1,t.data1=r.newBuffer(r.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",t.bytes===String?n.data1="":(n.data1=[],t.bytes!==Array&&(n.data1=r.newBuffer(n.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=t.bytes===String?r.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectBufferPacketDataMessage"},s}(),o.ObjectObjectPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.ObjectObjectPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.string();break;case 2:s.data1=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof o.ObjectObjectPacketDataMessage)return e;var t=new o.ObjectObjectPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectObjectPacketDataMessage"},s}(),o.PacketMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.type=0,s.prototype.id=0,s.prototype.nsp="",s.prototype.data=r.newBuffer([]),s.prototype.options=r.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).uint32(e.type),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(16).uint32(e.id),null!=e.nsp&&Object.hasOwnProperty.call(e,"nsp")&&t.uint32(26).string(e.nsp),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(34).bytes(e.data),null!=e.options&&Object.hasOwnProperty.call(e,"options")&&t.uint32(42).bytes(e.options),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.PacketMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.type=e.uint32();break;case 2:s.id=e.uint32();break;case 3:s.nsp=e.string();break;case 4:s.data=e.bytes();break;case 5:s.options=e.bytes();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type&&e.hasOwnProperty("type")&&!r.isInteger(e.type)?"type: integer expected":null!=e.id&&e.hasOwnProperty("id")&&!r.isInteger(e.id)?"id: integer expected":null!=e.nsp&&e.hasOwnProperty("nsp")&&!r.isString(e.nsp)?"nsp: string expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||r.isString(e.data))?"data: buffer expected":null!=e.options&&e.hasOwnProperty("options")&&!(e.options&&"number"==typeof e.options.length||r.isString(e.options))?"options: buffer expected":null},s.fromObject=function(e){if(e instanceof o.PacketMessage)return e;var t=new o.PacketMessage;return null!=e.type&&(t.type=e.type>>>0),null!=e.id&&(t.id=e.id>>>0),null!=e.nsp&&(t.nsp=String(e.nsp)),null!=e.data&&("string"==typeof e.data?r.base64.decode(e.data,t.data=r.newBuffer(r.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),null!=e.options&&("string"==typeof e.options?r.base64.decode(e.options,t.options=r.newBuffer(r.base64.length(e.options)),0):e.options.length>=0&&(t.options=e.options)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.type=0,n.id=0,n.nsp="",t.bytes===String?n.data="":(n.data=[],t.bytes!==Array&&(n.data=r.newBuffer(n.data))),t.bytes===String?n.options="":(n.options=[],t.bytes!==Array&&(n.options=r.newBuffer(n.options)))),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.nsp&&e.hasOwnProperty("nsp")&&(n.nsp=e.nsp),null!=e.data&&e.hasOwnProperty("data")&&(n.data=t.bytes===String?r.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),null!=e.options&&e.hasOwnProperty("options")&&(n.options=t.bytes===String?r.base64.encode(e.options,0,e.options.length):t.bytes===Array?Array.prototype.slice.call(e.options):e.options),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketMessage"},s}(),o.PacketOptionsMessage=function(){function s(e){if(this.rooms=[],this.except=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.flags="",s.prototype.rooms=r.emptyArray,s.prototype.except=r.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,t){if(t||(t=n.create()),null!=e.flags&&Object.hasOwnProperty.call(e,"flags")&&t.uint32(10).string(e.flags),null!=e.rooms&&e.rooms.length)for(var r=0;r<e.rooms.length;++r)t.uint32(18).string(e.rooms[r]);if(null!=e.except&&e.except.length)for(r=0;r<e.except.length;++r)t.uint32(26).string(e.except[r]);return t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.PacketOptionsMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.flags=e.string();break;case 2:s.rooms&&s.rooms.length||(s.rooms=[]),s.rooms.push(e.string());break;case 3:s.except&&s.except.length||(s.except=[]),s.except.push(e.string());break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.flags&&e.hasOwnProperty("flags")&&!r.isString(e.flags))return"flags: string expected";if(null!=e.rooms&&e.hasOwnProperty("rooms")){if(!Array.isArray(e.rooms))return"rooms: array expected";for(var t=0;t<e.rooms.length;++t)if(!r.isString(e.rooms[t]))return"rooms: string[] expected"}if(null!=e.except&&e.hasOwnProperty("except")){if(!Array.isArray(e.except))return"except: array expected";for(t=0;t<e.except.length;++t)if(!r.isString(e.except[t]))return"except: string[] expected"}return null},s.fromObject=function(e){if(e instanceof o.PacketOptionsMessage)return e;var t=new o.PacketOptionsMessage;if(null!=e.flags&&(t.flags=String(e.flags)),e.rooms){if(!Array.isArray(e.rooms))throw TypeError(".PacketOptionsMessage.rooms: array expected");t.rooms=[];for(var n=0;n<e.rooms.length;++n)t.rooms[n]=String(e.rooms[n])}if(e.except){if(!Array.isArray(e.except))throw TypeError(".PacketOptionsMessage.except: array expected");for(t.except=[],n=0;n<e.except.length;++n)t.except[n]=String(e.except[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.rooms=[],n.except=[]),t.defaults&&(n.flags=""),null!=e.flags&&e.hasOwnProperty("flags")&&(n.flags=e.flags),e.rooms&&e.rooms.length){n.rooms=[];for(var r=0;r<e.rooms.length;++r)n.rooms[r]=e.rooms[r]}if(e.except&&e.except.length)for(n.except=[],r=0;r<e.except.length;++r)n.except[r]=e.except[r];return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketOptionsMessage"},s}(),o.StringBytesPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1=r.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).bytes(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.StringBytesPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.string();break;case 2:s.data1=e.bytes();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||r.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof o.StringBytesPacketDataMessage)return e;var t=new o.StringBytesPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&("string"==typeof e.data1?r.base64.decode(e.data1,t.data1=r.newBuffer(r.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",t.bytes===String?n.data1="":(n.data1=[],t.bytes!==Array&&(n.data1=r.newBuffer(n.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=t.bytes===String?r.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringBytesPacketDataMessage"},s}(),o.StringNumberPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1=0,s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(16).uint32(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.StringNumberPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.string();break;case 2:s.data1=e.uint32();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isInteger(e.data1)?"data1: integer expected":null},s.fromObject=function(e){if(e instanceof o.StringNumberPacketDataMessage)return e;var t=new o.StringNumberPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=e.data1>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=0),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringNumberPacketDataMessage"},s}(),o.StringObjectPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.StringObjectPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.string();break;case 2:s.data1=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof o.StringObjectPacketDataMessage)return e;var t=new o.StringObjectPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringObjectPacketDataMessage"},s}(),o.StringStringPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,t){return t||(t=n.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(e,n){e instanceof t||(e=t.create(e));for(var r=void 0===n?e.len:e.pos+n,s=new o.StringStringPacketDataMessage;e.pos<r;){var i=e.uint32();switch(i>>>3){case 1:s.data=e.string();break;case 2:s.data1=e.string();break;default:e.skipType(7&i)}}return s},s.decodeDelimited=function(e){return e instanceof t||(e=new t(e)),this.decode(e,e.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!r.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!r.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof o.StringStringPacketDataMessage)return e;var t=new o.StringStringPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringStringPacketDataMessage"},s}(),o},o=[n(6386)],void 0===(s="function"==typeof(r=i)?r.apply(t,o):r)||(e.exports=s)},4229:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(...e){}}},5132:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._SERVICE=void 0;const o=n(2209),s=r(n(822)),i=n(3136),a=r(n(4701)),c=r(n(4858)),u=r(n(6732));t._SERVICE=13;class d{static async isBundleUploaded(e,t){const n=new a.default(t);if(e.state!==i.WEB_SOCKET_GATEWAY_STATES.CONNECTED)throw new u.default("WebSocket Gateway is not connected.",e);const r=await e._sendRequest(d._SERVICE,a.default.TYPE,s.default.encode(n));return s.default.decode(r,c.default).isUploaded}}d._SERVICE=t._SERVICE,(0,o.mix)(d,o.EmitterMixin),t.default=d},4701:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.bundleVersion=e}toJSON(){return{bundleVersion:this.bundleVersion}}static fromJSON(e){return new s(e.bundleVersion)}}t.default=s,s.TYPE="131",s.READABLE_TYPE_NAME="isEditorBundleUploaded",s.DESCRIPTOR_NAME="IsEditorBundleUploadedMessage",s.DESCRIPTOR={fields:{bundleVersion:{type:"string",id:1}}}},4858:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.isUploaded=e}toJSON(){return{isUploaded:this.isUploaded}}static fromJSON(e){return new s(e.isUploaded)}}t.default=s,s.DESCRIPTOR_NAME="IsEditorBundleUploadedResponse",s.DESCRIPTOR={fields:{isUploaded:{type:"bool",id:1}}}},6315:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(6732));class s extends o.default{constructor(e,t){super(e+" Service is not connected.",t)}}t.default=s},3210:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(4229));class s extends o.default{constructor(...e){super()}static fromJSON(e){throw new TypeError("Must be implemented in a child class!")}}t.default=s,s.TYPE="1000"},822:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(6981));function s(e){return o.default[e.DESCRIPTOR_NAME]}t.default=class{static decode(e,t){const n=s(t).decode("undefined"==typeof window?e:new Uint8Array(e));return t.fromJSON({...n})}static encode(e){const t=s(e.constructor),n=e.toJSON(),r=t.verify(n);if(r)throw Error(r);return t.encode(t.create(n)).finish()}}},3131:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(4229));class s extends o.default{static create(e){return{revisionId:e.id,name:e.name,creatorId:e.creatorId,createdAt:e.createdAt,fromVersion:e.fromVersion,toVersion:e.toVersion,isEmptyCurrent:e.isEmptyCurrent,diffData:e.diffData?JSON.stringify(e.diffData):void 0,attributes:e.attributes,authorsIds:e.authorsIds}}static toJSON(e){var t;return{revisionId:e.revisionId,name:e.name,creatorId:e.creatorId,authorsIds:e.authorsIds?JSON.stringify(e.authorsIds):void 0,diffData:e.diffData,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):void 0,toVersion:e.toVersion,fromVersion:e.fromVersion,isEmptyCurrent:e.isEmptyCurrent}}static fromJSON(e){return{revisionId:(e={...e}).revisionId,name:e.name,creatorId:e.creatorId,authorsIds:e.authorsIds?JSON.parse(e.authorsIds):void 0,diffData:e.diffData,createdAt:e.createdAt?new Date(e.createdAt):void 0,attributes:e.attributes?JSON.parse(e.attributes):void 0,toVersion:e.toVersion,fromVersion:e.fromVersion,isEmptyCurrent:e.isEmptyCurrent}}static toObject(e){return function(e){for(const[t,n]of Object.entries(e))void 0===n&&delete e[t];return e}({id:e.revisionId,name:e.name,creatorId:e.creatorId,createdAt:e.createdAt,fromVersion:e.fromVersion,toVersion:e.toVersion,isEmptyCurrent:e.isEmptyCurrent,diffData:e.diffData?JSON.parse(e.diffData):void 0,attributes:e.attributes,authorsIds:e.authorsIds})}}t.default=s,s.DESCRIPTOR_NAME="RevisionDescriptor",s.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}}}},2269:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new s(e.documentId)}}t.default=s,s.TYPE="121",s.READABLE_TYPE_NAME="connectToRevisionHistory",s.DESCRIPTOR_NAME="RevisionHistoryConnectMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},8776:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t){super(),this.documentId=e,this.revisionId=t}toJSON(){return{documentId:this.documentId,revisionId:this.revisionId}}static fromJSON(e){return new s(e.documentId,e.revisionId)}}t.default=s,s.TYPE="123",s.READABLE_TYPE_NAME="getRevision",s.DESCRIPTOR_NAME="RevisionHistoryGetRevisionMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1},revisionId:{type:"string",id:2}}}},3728:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t){super(),this.documentId=e,this.requestId=t}toJSON(){return{documentId:this.documentId,requestId:this.requestId}}static fromJSON(e){return new s(e.documentId,e.requestId)}}t.default=s,s.TYPE="122",s.READABLE_TYPE_NAME="reconnectToRevisionHistory",s.DESCRIPTOR_NAME="RevisionHistoryReconnectMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2}}}},446:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(3131));class i extends o.default{constructor(e,t,n){super(),this.documentId=e,this.requestId=t,this.revisions=n}toJSON(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(s.default.toJSON)}}toObject(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(s.default.toObject)}}static create(e){return new i(e.documentId,e.requestId,e.revisions.map(s.default.create))}static fromJSON(e){return new i(e.documentId,e.requestId,e.revisions.map(s.default.fromJSON))}}t.default=i,i.TYPE="124",i.READABLE_TYPE_NAME="updateRevisions",i.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsMessage",i.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}}},5847:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(3131));class i extends o.default{constructor(e,t,n){super(),this.channel=e,this.requestId=t,this.revisions=n}toJSON(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(s.default.toJSON)}}toObject(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(s.default.toObject)}}static fromJSON(e){return new i(e.channel,e.requestId,e.revisions.map(s.default.fromJSON))}}t.default=i,i.DESCRIPTOR_NAME="RevisionHistoryConnectResponse",i.DESCRIPTOR={fields:{channel:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}}},9055:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(3131));class i extends o.default{constructor(e,t,n,r,o,s,i,a,c,u){super(),this.revisionId=e,this.name=t,this.creatorId=n,this.authorsIds=r,this.createdAt=o,this.diffData=s,this.attributes=i,this.fromVersion=a,this.toVersion=c,this.isEmptyCurrent=u}toJSON(){return s.default.toJSON(this)}toObject(){return s.default.toObject(this)}static create(e){return new i(e.revisionId,e.name,e.creatorId,e.authorsIds,e.createdAt,e.diffData,e.attributes,e.fromVersion,e.toVersion,e.isEmptyCurrent)}static fromJSON(e){return new i(e.revisionId,e.name,e.creatorId,e.authorsIds?JSON.parse(e.authorsIds):void 0,e.createdAt?new Date(e.createdAt):void 0,e.diffData,e.attributes?JSON.parse(e.attributes):void 0,e.fromVersion,e.toVersion,e.isEmptyCurrent)}}t.default=i,i.DESCRIPTOR_NAME="RevisionHistoryGetRevisionResponse",i.DESCRIPTOR=s.default.DESCRIPTOR},8386:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.requestId=e}toJSON(){return{requestId:this.requestId}}static fromJSON(e){return new s(e.requestId)}}t.default=s,s.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsResponse",s.DESCRIPTOR={fields:{requestId:{type:"uint32",id:1}}}},3432:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._SERVICE=void 0;const a=n(2209),c=i(n(822)),u=i(n(8776)),d=i(n(9055)),l=i(n(446)),p=i(n(8386)),h=i(n(2269)),f=i(n(5847)),m=i(n(3728)),y=i(n(6732)),g=s(n(3136)),b=i(n(6315));t._SERVICE=12;class O{constructor(e){this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}connect(e){return this._isConnected?Promise.resolve():this._connect(e,new h.default(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(e,t){if(this.isConnected)throw new y.default("Cannot reconnect to already connected service.",e);return this._connect(e,new m.default(this._documentId,t))}async updateRevisions(e,t){const n=l.default.create({documentId:this._documentId,requestId:t,revisions:e}),r=await this._sendRequest(l.default.TYPE,n),{requestId:o}=c.default.decode(r,p.default);return o}async getRevision(e){const t=new u.default(this._documentId,e),n=await this._sendRequest(u.default.TYPE,t);return c.default.decode(n,d.default).toObject()}async _connect(e,n){if(e.state!==g.WEB_SOCKET_GATEWAY_STATES.CONNECTED)throw new y.default("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const r=await e._sendRequest(t._SERVICE,n.constructor.TYPE,c.default.encode(n)),{channel:o,requestId:s,revisions:i}=c.default.decode(r,f.default).toObject();return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:g.default._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,o),this._isConnected=!0,this.fire("connected"),{revisions:i,requestId:s}}_connectToChannel(e,t){this._channel=e._getChannel(O._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(l.default.TYPE),((e,t)=>{const{documentId:n,requestId:r,revisions:o}=c.default.decode(t,l.default).toObject();this.fire("revisionsUpdated",{documentId:n,requestId:r,revisionsData:o})}))}_onWsGatewayStateChange(e){e===g.WEB_SOCKET_GATEWAY_STATES.DISCONNECTED&&this.disconnect()}_sendRequest(e,n){if(!this._wsGateway||!this._isConnected)throw new b.default("Revision History",this);return this._wsGateway._sendRequest(t._SERVICE,e,c.default.encode(n))}}O._SERVICE=t._SERVICE,(0,a.mix)(O,a.EmitterMixin),t.default=O},7182:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t){super(),this.id=e,this.sessionType=t}toJSON(){return{id:this.id,sessionType:this.sessionType}}static fromJSON(e){return new s(e.id,e.sessionType)}}t.default=s,s.TYPE="31",s.READABLE_TYPE_NAME="getConnectedSockets",s.DESCRIPTOR_NAME="SessionsConnectMessage",s.DESCRIPTOR={fields:{id:{type:"string",id:1},sessionType:{type:"uint32",id:2}}}},733:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n,r){super(),this.id=e,this.userId=t,this.role=n,this.permissions=r}toJSON(){var e,t,n;return{id:this.id,userId:null!==(e=this.userId)&&void 0!==e?e:void 0,role:null!==(t=this.role)&&void 0!==t?t:void 0,permissions:null!==(n=this.permissions)&&void 0!==n?n:void 0}}static fromJSON(e){return new s(e.id,e.userId,e.role,e.permissions)}}t.default=s,s.TYPE="32",s.READABLE_TYPE_NAME="connectSocket",s.DESCRIPTOR_NAME="SocketConnectMessage",s.DESCRIPTOR={fields:{id:{type:"string",id:1},userId:{type:"string",id:2},role:{type:"string",id:3},permissions:{rule:"repeated",type:"string",id:4}}}},8902:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new s(e.id)}}t.default=s,s.TYPE="33",s.READABLE_TYPE_NAME="disconnectSocket",s.DESCRIPTOR_NAME="SocketDisconnectMessage",s.DESCRIPTOR={fields:{id:{type:"string",id:1}}}},6118:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t=[]){super(),this.channel=e,this.sockets=t}toJSON(){return{channel:this.channel,sockets:this.sockets.map((e=>({user:e.userId,session:e.id,role:e.role,permissions:e.permissions})))}}static fromJSON(e){return new s(e.channel,e.sockets.map((e=>({id:e.session,userId:e.user,role:e.role,permissions:e.permissions}))))}}t.default=s,s.DESCRIPTOR_NAME="SessionsConnectResponse",s.DESCRIPTOR={fields:{channel:{type:"string",id:1},sockets:{rule:"repeated",type:"SessionsSocketDescriptor",id:2}}}},8333:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=n(2209),s=n(3825),i=r(n(2203)),a=r(n(3136)),c=r(n(6118)),u=r(n(7182)),d=r(n(733)),l=r(n(8902)),p=r(n(822));class h extends o.Collection{constructor(e,t){super({idProperty:"id"}),this._id=e,this._sessionType=t,this._handlers=new Map,this._eventsQueue=[],this._isRunning=!1}async connect(e){this._wsGateway=e,this.stopListening(e,"change:state");const t=new u.default(this._id,this._sessionType);let n;try{const e=await this._wsGateway._sendRequest(s._SERVICE,u.default.TYPE,p.default.encode(t));n=p.default.decode(e,c.default)}catch(e){n=new c.default(this._id,[])}this._connectToChannel(this._wsGateway,n.channel,this._sessionType);const r=await async function(e,t){const n=t.map((e=>e.userId)),r=n.length?await i.default.getMany(e,n):[];return t.map((e=>{const t={id:e.id,role:e.role,permissions:e.permissions};return t.user=e.userId&&r.find((t=>t.id===e.userId))||new i.default,t}))}(this._wsGateway,n.sockets);for(const e of r)super.add(e);this._connected=!0,this.fire("connected"),this.listenTo(this._wsGateway,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:a.default._CHANGE_STATE_EVENT_PRIORITY}),await this._runQueue()}disconnect(e=!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&&e&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this.fire("disconnected"),e&&this.stopListening()}}add(e,t){throw new TypeError("The collection is read-only.")}remove(e){throw new TypeError("The collection is read-only.")}_connectToChannel(e,t,n){this._channel=e._getChannel(n,t),this._channel&&(this._addHandler(this._channel,d.default.TYPE,(async t=>{const n=p.default.decode(t,d.default);if(-1===this.getIndex(n.id)){const t={id:n.id,role:n.role,permissions:n.permissions};n.userId&&(t.user=await i.default.get(e,n.userId)),super.add(t)}})),this._addHandler(this._channel,l.default.TYPE,(e=>{const t=p.default.decode(e,l.default);-1!==this.getIndex(t.id)&&super.remove(t.id)})))}async _onWsGatewayStateChange(e){e===a.default.STATE_DISCONNECTED&&this.disconnect(!1),e===a.default.STATE_CONNECTED&&await this.connect(this._wsGateway)}async _runQueue(){if(this._isRunning||!this._connected)return;let e;for(this._isRunning=!0;e=this._eventsQueue.shift();){const t=this._handlers.get(e.eventName);t&&await t(e.data)}this._isRunning=!1}_addHandler(e,t,n){const r=e.getEventName(t,!0);this.listenTo(e,r,(async(e,t)=>{const n=e.name;this._eventsQueue.push({eventName:n,data:t}),await this._runQueue()})),this._handlers.set(r,n)}}t.default=h},3825:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._SERVICE=void 0;const o=r(n(8333));t._SERVICE=3,t.default=class{static async getConnectedSessions(e,t,n){const r=new o.default(t,n);return await r.connect(e),r}}},7282:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(4229));class s extends o.default{static toJSON(e){var t;return{...e,data:e.data?JSON.stringify(e.data):e.data,attributes:e.attributes?JSON.stringify(e.attributes):e.attributes,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString()}}static fromJSON(e){return{...e,data:e.data?JSON.parse(e.data):e.data,attributes:e.attributes?JSON.parse(e.attributes):e.attributes,createdAt:e.createdAt?new Date(e.createdAt):void 0}}}t.default=s,s.DESCRIPTOR_NAME="SuggestionDescriptor",s.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"}}}},5596:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n,r={},o=null,s=null){super(),this.id=e,this.documentId=t,this.type=n,this.data=r,this.originalSuggestionId=o,this.attributes=s}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(e){var t;return new s(e.id,e.documentId,e.type,JSON.parse(e.data),null!==(t=e.originalSuggestionId)&&void 0!==t?t:null,e.attributes?JSON.parse(e.attributes):null)}}t.default=s,s.TYPE="101",s.READABLE_TYPE_NAME="addSuggestion",s.DESCRIPTOR_NAME="TrackChangesAddSuggestionMessage",s.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}}}},8622:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n){super(),this.ids=e,this.documentId=t,this.state=n}toJSON(){return{ids:this.ids,documentId:this.documentId,state:this.state}}static fromJSON(e){return new s(e.ids,e.documentId,e.state)}}t.default=s,s.TYPE="106",s.READABLE_TYPE_NAME="batchUpdateSuggestionsState",s.DESCRIPTOR_NAME="TrackChangesBatchUpdateSuggestionsStateMessage",s.DESCRIPTOR={fields:{ids:{type:"string",rule:"repeated",id:1},documentId:{type:"string",id:2},state:{type:"string",id:3}}}},7323:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new s(e.documentId)}}t.default=s,s.TYPE="105",s.READABLE_TYPE_NAME="connectToSuggestions",s.DESCRIPTOR_NAME="TrackChangesConnectMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},4060:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new s(e.documentId)}}t.default=s,s.TYPE="102",s.READABLE_TYPE_NAME="getAllSuggestions",s.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},3031:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t){super(),this.id=e,this.documentId=t}toJSON(){return{id:this.id,documentId:this.documentId}}static fromJSON(e){return new s(e.id,e.documentId)}}t.default=s,s.TYPE="103",s.READABLE_TYPE_NAME="getSuggestion",s.DESCRIPTOR_NAME="TrackChangesGetSuggestionMessage",s.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2}}}},2821:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n,r,o,s=null){super(),this.id=e,this.documentId=t,this.hasComments=n,this.isHasCommentsModified=r,this.state=o,this.attributes=s}toJSON(){return{id:this.id,documentId:this.documentId,hasComments:this.hasComments,isHasCommentsModified:this.isHasCommentsModified,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new s(e.id,e.documentId,e.hasComments,e.isHasCommentsModified,e.state,e.attributes?JSON.parse(e.attributes):null)}}t.default=s,s.TYPE="104",s.READABLE_TYPE_NAME="updateSuggestion",s.DESCRIPTOR_NAME="TrackChangesUpdateSuggestionMessage",s.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}}}},772:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n,r,o,s,i={},a=null){super(),this.id=e,this.authorId=t,this.type=n,this.hasComments=o,this.state=s,this.data=i,this.attributes=a,this.createdAt=r?new Date(r):void 0}toJSON(){var e;return{id:this.id,authorId:this.authorId,type:this.type,createdAt:null===(e=this.createdAt)||void 0===e?void 0:e.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new s(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}t.default=s,s.DESCRIPTOR_NAME="TrackChangesAddSuggestionResponse",s.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}}}},814:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(7282));class i extends o.default{constructor(e,t,n){super(),this.channel=e,this._suggestions=t,this._suggestionsV2=n,this.suggestions=(null==n?void 0:n.length)?n:t}toJSON(){var e,t;return{channel:this.channel,suggestions:null===(e=this._suggestions)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),suggestionsV2:null===(t=this._suggestionsV2)||void 0===t?void 0:t.map(s.default.toJSON)}}static fromJSON(e){var t,n;return new i(e.channel,null===(t=e.suggestions)||void 0===t?void 0:t.map((e=>JSON.parse(e))),null===(n=e.suggestionsV2)||void 0===n?void 0:n.map(s.default.fromJSON))}}t.default=i,i.DESCRIPTOR_NAME="TrackChangesConnectResponse",i.DESCRIPTOR={fields:{channel:{type:"string",id:1},suggestions:{type:"string",rule:"repeated",id:2},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:3}}}},2414:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210)),s=r(n(7282));class i extends o.default{constructor(e,t){super(),this._suggestions=e,this._suggestionsV2=t,this.suggestions=(null==t?void 0:t.length)?t:e}toJSON(){var e,t;return{suggestions:null===(e=this._suggestions)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),suggestionsV2:null===(t=this._suggestionsV2)||void 0===t?void 0:t.map(s.default.toJSON)}}static fromJSON(e){var t,n;return new i(null===(t=e.suggestions)||void 0===t?void 0:t.map(a),null===(n=e.suggestionsV2)||void 0===n?void 0:n.map(s.default.fromJSON))}}function a(e){const t=JSON.parse(e);return t.createdAt=t.createdAt?new Date(t.createdAt):void 0,t}t.default=i,i.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionsResponse",i.DESCRIPTOR={fields:{suggestions:{type:"string",rule:"repeated",id:1},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:2}}}},9849:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n,r,o,s,i={},a=null){super(),this.id=e,this.authorId=t,this.type=n,this.hasComments=o,this.state=s,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(e){return new s(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}t.default=s,s.DESCRIPTOR_NAME="TrackChangesGetSuggestionResponse",s.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}}}},716:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._SERVICE=void 0;const a=n(2209),c=i(n(822)),u=i(n(5596)),d=i(n(772)),l=i(n(3031)),p=i(n(9849)),h=i(n(4060)),f=i(n(2414)),m=i(n(2821)),y=i(n(7323)),g=i(n(814)),b=i(n(6732)),O=s(n(3136)),v=i(n(6315)),w=i(n(9073)),x=i(n(8622));t._SERVICE=10;class _{constructor(e){this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==O.WEB_SOCKET_GATEWAY_STATES.CONNECTED)throw new b.default("WebSocket Gateway is not connected.",e);const n=new y.default(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const r=await e._sendRequest(t._SERVICE,y.default.TYPE,c.default.encode(n)),o=c.default.decode(r,g.default);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:O.default._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,o.channel),this._isConnected=!0,this.fire("connected"),o.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(e,t,n,r=null,o){const s=new u.default(e,this._documentId,t,n,r,o),i=await this._sendRequest(u.default.TYPE,s);return c.default.decode(i,d.default)}async get(e,t=1){const n=new l.default(e,this._documentId);try{const e=await this._sendRequest(l.default.TYPE,n);return c.default.decode(e,p.default)}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&t<5)return await(r=100*t,new Promise((e=>{setTimeout(e,r)}))),this.get(e,t+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw w.default.fromPublicError(n)}var r}async getAll(){const e=new h.default(this._documentId),t=await this._sendRequest(h.default.TYPE,e),{suggestions:n}=c.default.decode(t,f.default);return n}async update(e,t={}){const{hasComments:n,state:r,attributes:o}=t,s=void 0!==n,i=new m.default(e,this._documentId,n,s,r,o);await this._sendRequest(m.default.TYPE,i)}async batchUpdateState(e){const t=new x.default(e.ids,this._documentId,e.state);await this._sendRequest(x.default.TYPE,t)}_connectToChannel(e,t){this._channel=e._getChannel(_._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(m.default.TYPE),((e,t)=>{const n=c.default.decode(t,m.default);this.fire("suggestionUpdated",n)}))}_onWsGatewayStateChange(e){e===O.WEB_SOCKET_GATEWAY_STATES.DISCONNECTED&&this.disconnect()}_sendRequest(e,n){if(!this._wsGateway||!this._isConnected)throw new v.default("Track Changes",this);return this._wsGateway._sendRequest(t._SERVICE,e,c.default.encode(n))}}_._SERVICE=t._SERVICE,(0,a.mix)(_,a.EmitterMixin),t.default=_},4076:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.ids=e}toJSON(){return{ids:this.ids}}static fromJSON(e){return new s(e.ids)}}t.default=s,s.TYPE="22",s.READABLE_TYPE_NAME="getManyUsers",s.DESCRIPTOR_NAME="GetManyUsersMessage",s.DESCRIPTOR={fields:{ids:{id:1,type:"string",rule:"repeated"}}}},3184:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new s(e.id)}}t.default=s,s.TYPE="21",s.READABLE_TYPE_NAME="getUser",s.DESCRIPTOR_NAME="GetUserMessage",s.DESCRIPTOR={fields:{id:{type:"string",id:1}}}},6461:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.users=e}toJSON(){return{users:this.users.map(i)}}static fromJSON(e){return new s(e.users.map(a))}}function i(e){return{attributes:Object.keys(e).map((t=>({key:t,value:JSON.stringify(e[t])})))}}function a(e){return e.attributes.reduce(((e,t)=>(e[t.key]=t.value?JSON.parse(t.value):null,e)),{})}t.default=s,s.DESCRIPTOR_NAME="GetManyUsersResponse",s.DESCRIPTOR={fields:{users:{rule:"repeated",type:"UserDescriptor",id:1}}}},1783:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e){super(),this.attributes=e}toJSON(){return{attributes:Object.keys(this.attributes).map((e=>({key:e,value:JSON.stringify(this.attributes[e])})))}}static fromJSON(e){const t=e.attributes.reduce(((e,t)=>(e[t.key]=t.value?JSON.parse(t.value):null,e)),{});return new s(t)}}t.default=s,s.DESCRIPTOR_NAME="GetUserResponse",s.DESCRIPTOR={fields:{attributes:{rule:"repeated",type:"KeyValueDescriptor",id:1}}}},2203:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3184)),s=r(n(1783)),i=r(n(822)),a=r(n(4076)),c=r(n(6461));class u{constructor(e={}){this._attributes=new Map;for(const t of Object.keys(e))"id"!==t?(this._attributes.set(t,e[t]),Object.defineProperty(this,t,{enumerable:!0,configurable:!1,get:()=>this._attributes.get(t)})):this.id=e.id}static fromData(e){return new u(e)}static async get(e,t){const n=new o.default(t);try{const t=await e._sendRequest(u._SERVICE,o.default.TYPE,i.default.encode(n)),r=i.default.decode(t,s.default);return new u(r.attributes)}catch(e){return new u({id:t})}}static async getMany(e,t){const n=new a.default(t);try{const t=await e._sendRequest(u._SERVICE,a.default.TYPE,i.default.encode(n));return i.default.decode(t,c.default).users.map((e=>new u(e)))}catch(e){return t.map((e=>new u({id:e})))}}}u._SERVICE=2,t.default=u},989:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="44.0.0"},8290:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=n(2209),s=r(n(2021)),i=r(n(822));class a{constructor(e,t,n){this._channelName=e,this._wsGateway=t,this._socket=n,this._subscribeToChannel()}remove(){this._socket.off(this._channelName)}getEventName(e,t=!1){let n="";return t&&(n+="all:"),n+="event",e&&(n+=":"+e),n}_subscribeToChannel(){this._socket.on(this._channelName,(e=>{const t=i.default.decode(e,s.default);this.fire(this.getEventName(t.type,!0),t.data,t.socketId),t.socketId!==this._wsGateway.socketId&&this.fire(this.getEventName(t.type),t.data,t.socketId)}))}}(0,o.mix)(a,o.EmitterMixin),t.default=a},2021:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t,n){super(),this.type=e,this.socketId=t,this.data=n}toJSON(){return{type:this.type,socketId:this.socketId,data:this.data}}static fromJSON(e){return new s(e.type,e.socketId,e.data)}}t.default=s,s.DESCRIPTOR_NAME="ChannelMessage",s.DESCRIPTOR={fields:{type:{type:"uint32",id:1},socketId:{type:"string",id:2},data:{type:"bytes",id:3}}}},6311:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(4645)),s=r(n(822));t.default=class{encode(e,t,n,r="/",i={}){if(t.length>2)throw new Error("PacketParser supports only 2 elements in data");const a={type:e,data:t,id:n,nsp:r};return s.default.encode(o.default.create(a,i))}decode(e){const t=s.default.decode(e,o.default);return{packet:{id:t.id,type:t.type,data:t.packetData,nsp:t.nsp},options:{flags:t.options.flags,rooms:t.options.rooms,except:t.options.except}}}}},4454:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(8372)),c=s(n(4568));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.BUFFER,c.MessageDataTypes.BUFFER),u.DESCRIPTOR_NAME="BytesBytesPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"bytes",id:1},data1:{type:"bytes",id:2}}}},569:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(8372)),c=s(n(4568));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.NUMBER,c.MessageDataTypes.BUFFER),u.DESCRIPTOR_NAME="NumberBytesPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"bytes",id:2}}}},9256:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(8372)),c=s(n(4568));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.NUMBER,c.MessageDataTypes.NUMBER),u.DESCRIPTOR_NAME="NumberNumberPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"uint32",id:2}}}},4194:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(8372)),c=s(n(4568));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new u(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.NUMBER,c.MessageDataTypes.OBJECT),u.DESCRIPTOR_NAME="NumberObjectPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}}},6700:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(8372)),c=s(n(4568));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.NUMBER,c.MessageDataTypes.STRING),u.DESCRIPTOR_NAME="NumberStringPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}}},3903:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(8372)),c=s(n(4568));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1}}static fromJSON(e){return new u(e.data&&JSON.parse(e.data),e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.OBJECT,c.MessageDataTypes.BUFFER),u.DESCRIPTOR_NAME="ObjectBufferPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}}},3500:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(8372)),c=s(n(4568));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new u(e.data&&JSON.parse(e.data),e.data1&&JSON.parse(e.data1))}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.OBJECT,c.MessageDataTypes.OBJECT),u.DESCRIPTOR_NAME="ObjectObjectPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}}},8372:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{static create(e,t){throw new TypeError("Must be implemented in a child class!")}}t.default=s,e.exports=s},4645:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(822)),s=r(n(3210)),i=r(n(9152)),a=r(n(4568)),c=r(n(569)),u=r(n(5229)),d=r(n(4454)),l=r(n(7926)),p=r(n(4194)),h=r(n(3500)),f=r(n(3903)),m=r(n(1919)),y=r(n(7513)),g=r(n(9256)),b=r(n(6700)),O=[c.default,u.default,d.default,l.default,p.default,h.default,f.default,m.default,y.default,g.default,b.default].reduce(((e,t)=>(e[t.TYPE]=t,e)),{});class v extends s.default{constructor(e,t,n,r="/",o=new i.default){super(),this.type=e,this.data=t,this.id=n,this.nsp=r,this.options=o}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 e=o.default.encode(this.options),t=o.default.encode(this.data);return{type:this.type+10*this.data.constructor.TYPE,id:this.id,nsp:"/"===this.nsp?void 0:this.nsp,data:t,options:e}}static fromJSON(e){const t=Math.floor(e.type/10);return new v(e.type-10*t,o.default.decode(e.data,O[t]),e.id,e.nsp,e.options?o.default.decode(e.options,i.default):new i.default)}static create(e,t={}){var n;const r=a.default.getPacketType(a.default.getType(e.data[0]),a.default.getType(null!==(n=e.data[1])&&void 0!==n?n:e.data[0]));return new v(e.type,O[r].create(e.data[0],e.data[1]),e.id,e.nsp,new i.default(t.flags,t.rooms,t.except))}}t.default=v,v.TYPE=10,v.DESCRIPTOR_NAME="PacketMessage",v.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}}}},9152:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(3210));class s extends o.default{constructor(e,t=[],n=[]){super(),this.flags=e,this.rooms=t,this.except=n}toJSON(){var e,t;return{flags:this.flags?JSON.stringify(this.flags):void 0,rooms:(null===(e=this.rooms)||void 0===e?void 0:e.length)?this.rooms:void 0,except:(null===(t=this.except)||void 0===t?void 0:t.length)?this.except:void 0}}static fromJSON(e){return new s(e.flags&&JSON.parse(e.flags),e.rooms,e.except)}}t.default=s,s.TYPE=11,s.DESCRIPTOR_NAME="PacketOptionsMessage",s.DESCRIPTOR={fields:{flags:{type:"string",id:1},rooms:{type:"string",id:2,rule:"repeated"},except:{type:"string",id:3,rule:"repeated"}}}},5229:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(8372)),c=s(n(4568));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.STRING,c.MessageDataTypes.BUFFER),u.DESCRIPTOR_NAME="StringBytesPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}}},7513:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(8372)),c=s(n(4568));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.STRING,c.MessageDataTypes.NUMBER),u.DESCRIPTOR_NAME="StringNumberPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"uint32",id:2}}}},7926:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(8372)),c=s(n(4568));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new u(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.STRING,c.MessageDataTypes.OBJECT),u.DESCRIPTOR_NAME="StringObjectPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}}},1919:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(n(8372)),c=s(n(4568));class u extends a.default{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new u(e.data,e.data1)}static create(e,t){return new u(e,t)}}t.default=u,u.TYPE=c.default.getPacketType(c.MessageDataTypes.STRING,c.MessageDataTypes.STRING),u.DESCRIPTOR_NAME="StringStringPacketDataMessage",u.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}}},9549:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Decoder=t.Encoder=t.ENCODED_TYPES=void 0;const o=n(4514),s=r(n(6311)),i=r(n(4568));t.ENCODED_TYPES=[o.PacketType.EVENT,o.PacketType.ACK,o.PacketType.BINARY_ACK,o.PacketType.BINARY_EVENT];class a extends o.Encoder{constructor(e=new s.default){super(),this._packetParser=e}encode(e){if(t.ENCODED_TYPES.includes(e.type))try{return[this._packetParser.encode(e.type,e.data,e.id,e.nsp)]}catch(e){console.error("Can not properly serialize or deserialize messages. Check the original error.",{originalError:{message:e.message}})}return super.encode(e)}}t.Encoder=a;class c extends o.Decoder{constructor(e=new s.default){super(),this._packetParser=e}add(e){if(!i.default.isBuffer(e))return super.add(e);let t;try{t=this._packetParser.decode(e).packet}catch(t){return super.add(e)}super.emitReserved("decoded",t)}}t.Decoder=c},4568:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MessageDataTypes=void 0;const n=!("undefined"==typeof process||!process.versions||!process.versions.node);var r,o;(o=r=t.MessageDataTypes||(t.MessageDataTypes={}))[o.BUFFER=1]="BUFFER",o[o.STRING=2]="STRING",o[o.NUMBER=3]="NUMBER",o[o.OBJECT=4]="OBJECT";class s{static getPacketType(...e){let t=0;for(let n=0;n<e.length;n++)t+=e[n]*Math.pow(10,e.length-n-1);return t}static getType(e){if(s.isBuffer(e))return r.BUFFER;const t=typeof e;return"string"===t?r.STRING:"number"===t?r.NUMBER:r.OBJECT}static isBuffer(e){return n&&Buffer.isBuffer(e)||e instanceof ArrayBuffer||e instanceof Uint8Array||this._isBufferView(e)}static _isBufferView(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer}}t.default=s},602:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(6732));class s{constructor(e,t){this._context=e,this._deferredPromise=function(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return{resolve:e,reject:t,promise:n}}(),this.timeout=setTimeout((()=>this.error(new o.default("Request timeout.",this._context))),t)}get promise(){return this._deferredPromise.promise}response(e){this._deferredPromise.resolve(e)}error(e){this._deferredPromise.reject(e)}}t.default=class{constructor(e){this._context=e,this._requests=new Set}async send(e,t=45e3){const n=this._createRequest(t);try{return e(n),await n.promise}finally{this._finishRequest(n)}}errorAll(e){for(const t of this._requests)t.error(e)}waitForAllRequests(e=45e3){return this._waitForRequests(e)}_createRequest(e){const t=new s(this._context,e);return this._requests.add(t),t}_finishRequest(e){this._requests.delete(e),clearTimeout(e.timeout)}async _waitForRequests(e=5e3,t=0){return!this._requests.size||t>=e/500?Promise.resolve():(await new Promise((e=>{setTimeout(e,500)})),this._waitForRequests(e,t++))}}},3136:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WEB_SOCKET_GATEWAY_STATES=void 0;const o=n(8623),s=r(n(9655)),i=n(2209),a=r(n(8290)),c=r(n(2203)),u=r(n(989)),d=r(n(6732)),l=r(n(9073)),p=n(9549),h=r(n(602));var f,m;(m=f=t.WEB_SOCKET_GATEWAY_STATES||(t.WEB_SOCKET_GATEWAY_STATES={})).DISCONNECTED="disconnected",m.CONNECTING="connecting",m.CONNECTED="connected";class y{constructor(e,t,n={},r=o.io,i=c.default.get){if(this._token=t,this._options=n,this._connectionProvider=r,this._userFactory=i,this._requestsManager=new h.default(this),this._channels=new Map,this._connectionAttempt=0,!e)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=(0,s.default)(e.replace(/^(?!(?:\w+:)?\/\/)/,"https://")),this.set("state","disconnected"),this.set("socketId",void 0),this.set("me",void 0),this.on("change:state",(async(e,t,n)=>{var r;if(this._debugEvent("ws-gw:change:state",n),n!==y.STATE_CONNECTED){if(n===y.STATE_DISCONNECTED)return this._requestsManager.errorAll(new d.default("Not connected.",this))}else try{this.me=await this._userFactory.call(c.default,this,null===(r=this._socketAuth)||void 0===r?void 0:r.userId)}catch(e){}}),{priority:y._CHANGE_STATE_EVENT_PRIORITY}),this.on("error",((e,t)=>{this._options.onError?this._options.onError(t):console.error(t)}))}get sessionId(){return this.socketId}waitForAllRequests(e){return this._requestsManager.waitForAllRequests(e)}disconnect(){var e;this.state!==f.DISCONNECTED&&(null===(e=this._socket)||void 0===e||e.disconnect(),this._socket=void 0,this.state=f.DISCONNECTED)}async reconnect(){this._socket||this.state!==f.DISCONNECTED||(await this._token.refreshToken(),await this._connect())}static async connect(e,t="local.cs.dev:443/ws-v2",n={},r=o.io,s=c.default.get){const i=new y(t,e,n,r,s);return await i._connect(),i}_sendRequest(e,t,n){if(!e)throw new d.default("`serviceName` must be provided.",this);if(this.state!==y.STATE_CONNECTED)throw new d.default("Not connected.",this);if(!this._socketAuth||!this._socketAuth.isAuthenticated)throw new d.default("Not authenticated.",this);const r=new ArrayBuffer(n.length+2),o=new Uint8Array(r);return o[0]=e,o[1]=parseInt(t),o.set(n,2),this._emit(1,o)}_getChannel(e,t){const n=""+e+t;return!this._channels.has(n)&&this._socket&&this._channels.set(n,new a.default(n,this,this._socket)),this._channels.get(n)}_connect(){return new Promise(((e,t)=>{const n=this._setupSocket();!this.socketId&&n.io.on("reconnect_error",(()=>{this._debugEvent("reconnect_error"),this._reconnectionAttemptError(t)})),n.once("connect",(async()=>{this._debugEvent("once-connect");try{await this._onConnect(),e()}catch(e){t(e)}})),n.connect()}))}_getPortByProtocol(e){return["http:","ws:"].includes(e)?80:443}_setupSocket(){var e;if(this._socket)return this._socket;const t=this._url.port||this._getPortByProtocol(this._url.protocol),n=(this._url.protocol||"https:")+"//"+this._url.hostname+":"+t,r=this._url.pathname.match(/^\/.*\/ws/)?this._url.pathname.split("/ws")[0]:"",o=this._connectionProvider(n,{parser:{Encoder:p.Encoder,Decoder:p.Decoder},path:r+"/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:u.default},agent:null!==(e=this._options.agent)&&void 0!==e&&e,closeOnBeforeunload:!1});return this.state=f.CONNECTING,o.on("connect",(()=>{this._debugEvent("connect"),this.socketId=o.id})),o.on("connect_error",(e=>{this._debugEvent("connect_error",e)})),o.on("disconnect",(()=>{this._debugEvent("disconnect"),this._onDisconnect()})),o.io.on("reconnect",(async()=>{this._debugEvent("reconnect"),await this._onReconnect()})),o.io.on("reconnect_attempt",(e=>{this._debugEvent("reconnect_attempt",e),this.state=f.CONNECTING,this._connectionAttempt=e})),o.on("unauthorized",(e=>{this._debugEvent("unauthorized"),this._onUnauthorized(e)})),o.on("authenticationRequest",(async e=>{this._debugEvent("authenticationRequest",e.attempt),await this._onReconnect()})),this._socket=o,o}_emit(e,t){const n=this._socket;return this._requestsManager.send((r=>{n.emit(e,t,((e,t)=>{if(e)return r.error(l.default.fromPublicError(e));r.response(t)}))}),this._options.requestTimeout)}_addAuthData(e,t){this._socketAuth={environmentId:e,userId:t,isAuthenticated:!0}}_removeAuthData(){this._socketAuth=void 0}async _onConnect(){await this._authenticate(this._token.value),this.state=f.CONNECTED;const e=async(e,t,n)=>{this._debugEvent("token:value:change");try{await this._authenticate(n)}catch(e){}};this._token.on("change:value",e),this._socket.io.off("reconnect_error"),this.on("disconnect",(()=>{this._token.off("change:value",e)}))}async _onReconnect(){await this._token.refreshToken(),await this._onConnect()}_onDisconnect(){this.state=f.DISCONNECTED,this._connectionAttempt=0,this.fire("disconnect");for(const e of this._channels.values())e.remove();this._channels.clear(),void 0===this._options.autoReconnect||this._options.autoReconnect||(this._socket=void 0)}_debugEvent(e,t){if(!this._isDebugModeEnabled())return;const n=void 0!==t?", data: "+t:"";console.info((new Date).toLocaleString()+" "+e+n)}_reconnectionAttemptError(e){this._connectionAttempt>=2&&(this.disconnect(),e(d.default.fromPublicError({message:"The number of initial connection attempts exceeded.",explanation:"Three initial connection attempts failed. It can be caused by a 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:e}){this._removeAuthData(),this.fire("error",l.default.fromPublicError(e))}async _authenticate(e){try{this._debugEvent("authenticate:start");const t=await this._emit(2,{token:e});this._debugEvent("authenticate:success","envId: "+t.environmentId+", userId: "+t.userId),this._addAuthData(t.environmentId,t.userId)}catch(e){throw this._debugEvent("authenticate:error",e.message),this._removeAuthData(),e}}_isDebugModeEnabled(){var e;return!!i.global.window.localStorage&&"true"===(null!==(e=i.global.window.localStorage.getItem("csClientDebugMode"))&&void 0!==e?e:"false").toLowerCase()}}y.STATE_DISCONNECTED=f.DISCONNECTED,y.STATE_CONNECTING=f.CONNECTING,y.STATE_CONNECTED=f.CONNECTED,y._CHANGE_STATE_EVENT_PRIORITY=i.priorities.get("highest")+999999,(0,i.mix)(y,i.ObservableMixin),t.default=y},537:e=>{"use strict";e.exports=function(e,t){var n=new Array(arguments.length-1),r=0,o=2,s=!0;for(;o<arguments.length;)n[r++]=arguments[o++];return new Promise((function(o,i){n[r]=function(e){if(s)if(s=!1,e)i(e);else{for(var t=new Array(arguments.length-1),n=0;n<t.length;)t[n++]=arguments[n];o.apply(null,t)}};try{e.apply(t||null,n)}catch(e){s&&(s=!1,i(e))}}))}},9745:(e,t)=>{"use strict";var n=t;n.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&"="===e.charAt(t);)++n;return Math.ceil(3*e.length)/4-n};for(var r=new Array(64),o=new Array(123),s=0;s<64;)o[r[s]=s<26?s+65:s<52?s+71:s<62?s-4:s-59|43]=s++;n.encode=function(e,t,n){for(var o,s=null,i=[],a=0,c=0;t<n;){var u=e[t++];switch(c){case 0:i[a++]=r[u>>2],o=(3&u)<<4,c=1;break;case 1:i[a++]=r[o|u>>4],o=(15&u)<<2,c=2;break;case 2:i[a++]=r[o|u>>6],i[a++]=r[63&u],c=0}a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,i)),a=0)}return c&&(i[a++]=r[o],i[a++]=61,1===c&&(i[a++]=61)),s?(a&&s.push(String.fromCharCode.apply(String,i.slice(0,a))),s.join("")):String.fromCharCode.apply(String,i.slice(0,a))};var i="invalid encoding";n.decode=function(e,t,n){for(var r,s=n,a=0,c=0;c<e.length;){var u=e.charCodeAt(c++);if(61===u&&a>1)break;if(void 0===(u=o[u]))throw Error(i);switch(a){case 0:r=u,a=1;break;case 1:t[n++]=r<<2|(48&u)>>4,r=u,a=2;break;case 2:t[n++]=(15&r)<<4|(60&u)>>2,r=u,a=3;break;case 3:t[n++]=(3&r)<<6|u,a=0}}if(1===a)throw Error(i);return n-s},n.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},4459:e=>{"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:n||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var n=this._listeners[e],r=0;r<n.length;)n[r].fn===t?n.splice(r,1):++r;return this},t.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<t.length;)t[r].fn.apply(t[r++].ctx,n)}return this}},897:e=>{"use strict";function t(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),n=new Uint8Array(t.buffer),r=128===n[3];function o(e,r,o){t[0]=e,r[o]=n[0],r[o+1]=n[1],r[o+2]=n[2],r[o+3]=n[3]}function s(e,r,o){t[0]=e,r[o]=n[3],r[o+1]=n[2],r[o+2]=n[1],r[o+3]=n[0]}function i(e,r){return n[0]=e[r],n[1]=e[r+1],n[2]=e[r+2],n[3]=e[r+3],t[0]}function a(e,r){return n[3]=e[r],n[2]=e[r+1],n[1]=e[r+2],n[0]=e[r+3],t[0]}e.writeFloatLE=r?o:s,e.writeFloatBE=r?s:o,e.readFloatLE=r?i:a,e.readFloatBE=r?a:i}():function(){function t(e,t,n,r){var o=t<0?1:0;if(o&&(t=-t),0===t)e(1/t>0?0:2147483648,n,r);else if(isNaN(t))e(2143289344,n,r);else if(t>34028234663852886e22)e((o<<31|2139095040)>>>0,n,r);else if(t<11754943508222875e-54)e((o<<31|Math.round(t/1401298464324817e-60))>>>0,n,r);else{var s=Math.floor(Math.log(t)/Math.LN2);e((o<<31|s+127<<23|8388607&Math.round(t*Math.pow(2,-s)*8388608))>>>0,n,r)}}function i(e,t,n){var r=e(t,n),o=2*(r>>31)+1,s=r>>>23&255,i=8388607&r;return 255===s?i?NaN:o*(1/0):0===s?1401298464324817e-60*o*i:o*Math.pow(2,s-150)*(i+8388608)}e.writeFloatLE=t.bind(null,n),e.writeFloatBE=t.bind(null,r),e.readFloatLE=i.bind(null,o),e.readFloatBE=i.bind(null,s)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),n=new Uint8Array(t.buffer),r=128===n[7];function o(e,r,o){t[0]=e,r[o]=n[0],r[o+1]=n[1],r[o+2]=n[2],r[o+3]=n[3],r[o+4]=n[4],r[o+5]=n[5],r[o+6]=n[6],r[o+7]=n[7]}function s(e,r,o){t[0]=e,r[o]=n[7],r[o+1]=n[6],r[o+2]=n[5],r[o+3]=n[4],r[o+4]=n[3],r[o+5]=n[2],r[o+6]=n[1],r[o+7]=n[0]}function i(e,r){return n[0]=e[r],n[1]=e[r+1],n[2]=e[r+2],n[3]=e[r+3],n[4]=e[r+4],n[5]=e[r+5],n[6]=e[r+6],n[7]=e[r+7],t[0]}function a(e,r){return n[7]=e[r],n[6]=e[r+1],n[5]=e[r+2],n[4]=e[r+3],n[3]=e[r+4],n[2]=e[r+5],n[1]=e[r+6],n[0]=e[r+7],t[0]}e.writeDoubleLE=r?o:s,e.writeDoubleBE=r?s:o,e.readDoubleLE=r?i:a,e.readDoubleBE=r?a:i}():function(){function t(e,t,n,r,o,s){var i=r<0?1:0;if(i&&(r=-r),0===r)e(0,o,s+t),e(1/r>0?0:2147483648,o,s+n);else if(isNaN(r))e(0,o,s+t),e(2146959360,o,s+n);else if(r>17976931348623157e292)e(0,o,s+t),e((i<<31|2146435072)>>>0,o,s+n);else{var a;if(r<22250738585072014e-324)e((a=r/5e-324)>>>0,o,s+t),e((i<<31|a/4294967296)>>>0,o,s+n);else{var c=Math.floor(Math.log(r)/Math.LN2);1024===c&&(c=1023),e(4503599627370496*(a=r*Math.pow(2,-c))>>>0,o,s+t),e((i<<31|c+1023<<20|1048576*a&1048575)>>>0,o,s+n)}}}function i(e,t,n,r,o){var s=e(r,o+t),i=e(r,o+n),a=2*(i>>31)+1,c=i>>>20&2047,u=4294967296*(1048575&i)+s;return 2047===c?u?NaN:a*(1/0):0===c?5e-324*a*u:a*Math.pow(2,c-1075)*(u+4503599627370496)}e.writeDoubleLE=t.bind(null,n,0,4),e.writeDoubleBE=t.bind(null,r,4,0),e.readDoubleLE=i.bind(null,o,0,4),e.readDoubleBE=i.bind(null,s,4,0)}(),e}function n(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}function r(e,t,n){t[n]=e>>>24,t[n+1]=e>>>16&255,t[n+2]=e>>>8&255,t[n+3]=255&e}function o(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function s(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=t(t)},3229:module=>{"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},7986:e=>{"use strict";e.exports=function(e,t,n){var r=n||8192,o=r>>>1,s=null,i=r;return function(n){if(n<1||n>o)return e(n);i+n>r&&(s=e(r),i=0);var a=t.call(s,i,i+=n);return 7&i&&(i=1+(7|i)),a}}},113:(e,t)=>{"use strict";var n=t;n.length=function(e){for(var t=0,n=0,r=0;r<e.length;++r)(n=e.charCodeAt(r))<128?t+=1:n<2048?t+=2:55296==(64512&n)&&56320==(64512&e.charCodeAt(r+1))?(++r,t+=4):t+=3;return t},n.read=function(e,t,n){if(n-t<1)return"";for(var r,o=null,s=[],i=0;t<n;)(r=e[t++])<128?s[i++]=r:r>191&&r<224?s[i++]=(31&r)<<6|63&e[t++]:r>239&&r<365?(r=((7&r)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,s[i++]=55296+(r>>10),s[i++]=56320+(1023&r)):s[i++]=(15&r)<<12|(63&e[t++])<<6|63&e[t++],i>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o?(i&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))},n.write=function(e,t,n){for(var r,o,s=n,i=0;i<e.length;++i)(r=e.charCodeAt(i))<128?t[n++]=r:r<2048?(t[n++]=r>>6|192,t[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(o=e.charCodeAt(i+1)))?(r=65536+((1023&r)<<10)+(1023&o),++i,t[n++]=r>>18|240,t[n++]=r>>12&63|128,t[n++]=r>>6&63|128,t[n++]=63&r|128):(t[n++]=r>>12|224,t[n++]=r>>6&63|128,t[n++]=63&r|128);return n-s}},3286:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(7758),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".ck.ck-balloon-panel.ck-tooltip{pointer-events:none;z-index:calc(var(--ck-z-modal) + 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: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;justify-content:flex-end}.ck.ck-presence-list__counter{color:var(--ck-color-base-text)}.ck.ck-presence-list__counter--hidden{display:none}.ck.ck-presence-list__list-item{background:none;border:0;color:inherit;font:inherit;margin-left:var(--ck-spacing-standard);outline:none;padding:0;position:relative}.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:3px;position:relative;width:100%}.ck.ck-presence-list--collapsed .ck-presence-list__list{margin-left:var(--ck-spacing-standard);min-width:calc(var(--ck-user-avatar-size)*1.5)}.ck.ck-presence-list--collapsed .ck-presence-list__list *{cursor:pointer;transition:all .4s ease-in-out}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item{margin-left:calc(var(--ck-user-avatar-size)*-1 + 5px)}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(5){opacity:.15}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(4){opacity:.35}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(3){opacity:.55}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(2){opacity:.75}.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}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-wrapper{border-radius:var(--ck-border-radius);max-height:80vh;max-width:var(--ck-presence-list-dropdown-list-max-width);min-width:var(--ck-presence-list-dropdown-list-min-width);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:0;padding:var(--ck-spacing-standard);position:relative}.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-presence-list__balloon button.ck-presence-list__dropdown-list-item *,.ck-presence-list__list button.ck-presence-list__list-item *{cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}",""]);const s=o},9940:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(7758),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".ck .ck-user__marker{cursor:default;display:inline;position:relative}.ck .ck-user__marker:after{color:#fff;content:attr(data-name);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}.ck .ck-user__marker:hover .ck-user__marker-dot{width:0}.ck .ck-user__marker:hover:after{animation:fadeInLeft .3s ease-in-out;display:block;opacity:1}.ck .ck-user__marker-line{bottom:0;height:100%;position:absolute;width:0}.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-placeholder .ck-user__marker{display:none}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}",""]);const s=o},7758:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(r)for(var s=0;s<this.length;s++){var i=this[s][0];null!=i&&(o[i]=!0)}for(var a=0;a<e.length;a++){var c=[].concat(e[a]);r&&o[c[0]]||(n&&(c[2]?c[2]="".concat(n," and ").concat(c[2]):c[2]=n),t.push(c))}},t}},7154:e=>{var t=1e3,n=60*t,r=60*n,o=24*r,s=7*o,i=365.25*o;function a(e,t,n,r){var o=t>=1.5*n;return Math.round(e/n)+" "+r+(o?"s":"")}e.exports=function(e,c){c=c||{};var u=typeof e;if("string"===u&&e.length>0)return function(e){if((e=String(e)).length>100)return;var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!a)return;var c=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return c*i;case"weeks":case"week":case"w":return c*s;case"days":case"day":case"d":return c*o;case"hours":case"hour":case"hrs":case"hr":case"h":return c*r;case"minutes":case"minute":case"mins":case"min":case"m":return c*n;case"seconds":case"second":case"secs":case"sec":case"s":return c*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return c;default:return}}(e);if("number"===u&&isFinite(e))return c.long?function(e){var s=Math.abs(e);if(s>=o)return a(e,s,o,"day");if(s>=r)return a(e,s,r,"hour");if(s>=n)return a(e,s,n,"minute");if(s>=t)return a(e,s,t,"second");return e+" ms"}(e):function(e){var s=Math.abs(e);if(s>=o)return Math.round(e/o)+"d";if(s>=r)return Math.round(e/r)+"h";if(s>=n)return Math.round(e/n)+"m";if(s>=t)return Math.round(e/t)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},5579:(e,t,n)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const n="color: "+this.color;t.splice(1,0,n,"color: inherit");let r=0,o=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(o=r))})),t.splice(o,0,n)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=n(3847)(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},3847:(e,t,n)=>{e.exports=function(e){function t(e){let n,o,s,i=null;function a(...e){if(!a.enabled)return;const r=a,o=Number(new Date),s=o-(n||o);r.diff=s,r.prev=n,r.curr=o,n=o,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let i=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((n,o)=>{if("%%"===n)return"%";i++;const s=t.formatters[o];if("function"==typeof s){const t=e[i];n=s.call(r,t),e.splice(i,1),i--}return n})),t.formatArgs.call(r,e);(r.log||t.log).apply(r,e)}return a.namespace=e,a.useColors=t.useColors(),a.color=t.selectColor(e),a.extend=r,a.destroy=t.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==i?i:(o!==t.namespaces&&(o=t.namespaces,s=t.enabled(e)),s),set:e=>{i=e}}),"function"==typeof t.init&&t.init(a),a}function r(e,n){const r=t(this.namespace+(void 0===n?":":n)+e);return r.log=this.log,r}function o(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names.map(o),...t.skips.map(o).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let n;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),o=r.length;for(n=0;n<o;n++)r[n]&&("-"===(e=r[n].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let n,r;for(n=0,r=t.skips.length;n<r;n++)if(t.skips[n].test(e))return!1;for(n=0,r=t.names.length;n<r;n++)if(t.names[n].test(e))return!0;return!1},t.humanize=n(7154),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((n=>{t[n]=e[n]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return t.colors[Math.abs(n)%t.colors.length]},t.enable(t.load()),t}},6386:(e,t,n)=>{"use strict";e.exports=n(3278)},3278:(e,t,n)=>{"use strict";var r=t;function o(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=n(2944),r.BufferWriter=n(2178),r.Reader=n(9867),r.BufferReader=n(2676),r.util=n(4155),r.rpc=n(3290),r.roots=n(284),r.configure=o,o()},9867:(e,t,n)=>{"use strict";e.exports=c;var r,o=n(4155),s=o.LongBits,i=o.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var u,d="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},l=function(){return o.Buffer?function(e){return(c.create=function(e){return o.Buffer.isBuffer(e)?new r(e):d(e)})(e)}:d};function p(){var e=new s(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function h(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new s(h(this.buf,this.pos+=4),h(this.buf,this.pos+=4))}c.create=l(),c.prototype._slice=o.Array.prototype.subarray||o.Array.prototype.slice,c.prototype.uint32=(u=4294967295,function(){if(u=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return u;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return u}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return h(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|h(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=o.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=o.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw a(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,n):t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)},c.prototype.string=function(){var e=this.bytes();return i.read(e,0,e.length)},c.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){r=e,c.create=l(),r._configure();var t=o.Long?"toLong":"toNumber";o.merge(c.prototype,{int64:function(){return p.call(this)[t](!1)},uint64:function(){return p.call(this)[t](!0)},sint64:function(){return p.call(this).zzDecode()[t](!1)},fixed64:function(){return f.call(this)[t](!0)},sfixed64:function(){return f.call(this)[t](!1)}})}},2676:(e,t,n)=>{"use strict";e.exports=s;var r=n(9867);(s.prototype=Object.create(r.prototype)).constructor=s;var o=n(4155);function s(e){r.call(this,e)}s._configure=function(){o.Buffer&&(s.prototype._slice=o.Buffer.prototype.slice)},s.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},s._configure()},284:e=>{"use strict";e.exports={}},3290:(e,t,n)=>{"use strict";t.Service=n(979)},979:(e,t,n)=>{"use strict";e.exports=o;var r=n(4155);function o(e,t,n){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");r.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}(o.prototype=Object.create(r.EventEmitter.prototype)).constructor=o,o.prototype.rpcCall=function e(t,n,o,s,i){if(!s)throw TypeError("request must be specified");var a=this;if(!i)return r.asPromise(e,a,t,n,o,s);if(a.rpcImpl)try{return a.rpcImpl(t,n[a.requestDelimited?"encodeDelimited":"encode"](s).finish(),(function(e,n){if(e)return a.emit("error",e,t),i(e);if(null!==n){if(!(n instanceof o))try{n=o[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(e){return a.emit("error",e,t),i(e)}return a.emit("data",n,t),i(null,n)}a.end(!0)}))}catch(e){return a.emit("error",e,t),void setTimeout((function(){i(e)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},o.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},8950:(e,t,n)=>{"use strict";e.exports=o;var r=n(4155);function o(e,t){this.lo=e>>>0,this.hi=t>>>0}var s=o.zero=new o(0,0);s.toNumber=function(){return 0},s.zzEncode=s.zzDecode=function(){return this},s.length=function(){return 1};var i=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(e){if(0===e)return s;var t=e<0;t&&(e=-e);var n=e>>>0,r=(e-n)/4294967296>>>0;return t&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new o(n,r)},o.from=function(e){if("number"==typeof e)return o.fromNumber(e);if(r.isString(e)){if(!r.Long)return o.fromNumber(parseInt(e,10));e=r.Long.fromString(e)}return e.low||e.high?new o(e.low>>>0,e.high>>>0):s},o.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},o.prototype.toLong=function(e){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;o.fromHash=function(e){return e===i?s:new o((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},o.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)},o.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},o.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},o.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}},4155:function(e,t,n){"use strict";var r=t;function o(e,t,n){for(var r=Object.keys(t),o=0;o<r.length;++o)void 0!==e[r[o]]&&n||(e[r[o]]=t[r[o]]);return e}function s(e){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&o(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:()=>e,set:void 0,enumerable:!1,configurable:!0},toString:{value(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}r.asPromise=n(537),r.base64=n(9745),r.EventEmitter=n(4459),r.float=n(897),r.inquire=n(3229),r.utf8=n(113),r.pool=n(7986),r.LongBits=n(8950),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(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},r.isString=function(e){return"string"==typeof e||e instanceof String},r.isObject=function(e){return e&&"object"==typeof e},r.isset=r.isSet=function(e,t){var n=e[t];return!(null==n||!e.hasOwnProperty(t))&&("object"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},r.Buffer=function(){try{var e=r.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(e){return"number"==typeof e?r.Buffer?r._Buffer_allocUnsafe(e):new r.Array(e):r.Buffer?r._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||r.inquire("long"),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(e){return e?r.LongBits.from(e).toHash():r.LongBits.zeroHash},r.longFromHash=function(e,t){var n=r.LongBits.fromHash(e);return r.Long?r.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},r.merge=o,r.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},r.newError=s,r.ProtocolError=s("ProtocolError"),r.oneOfGetter=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=1;return function(){for(var e=Object.keys(this),n=e.length-1;n>-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},r.oneOfSetter=function(e){return function(t){for(var n=0;n<e.length;++n)e[n]!==t&&delete this[e[n]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var e=r.Buffer;e?(r._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,n){return new e(t,n)},r._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},2944:(e,t,n)=>{"use strict";e.exports=l;var r,o=n(4155),s=o.LongBits,i=o.base64,a=o.utf8;function c(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function u(){}function d(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function l(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var p=function(){return o.Buffer?function(){return(l.create=function(){return new r})()}:function(){return new l}};function h(e,t,n){t[n]=255&e}function f(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function y(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}l.create=p(),l.alloc=function(e){return new o.Array(e)},o.Array!==Array&&(l.alloc=o.pool(l.alloc,o.Array.prototype.subarray)),l.prototype._push=function(e,t,n){return this.tail=this.tail.next=new c(e,t,n),this.len+=t,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e},l.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new f((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},l.prototype.int32=function(e){return e<0?this._push(m,10,s.fromNumber(e)):this.uint32(e)},l.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},l.prototype.uint64=function(e){var t=s.from(e);return this._push(m,t.length(),t)},l.prototype.int64=l.prototype.uint64,l.prototype.sint64=function(e){var t=s.from(e).zzEncode();return this._push(m,t.length(),t)},l.prototype.bool=function(e){return this._push(h,1,e?1:0)},l.prototype.fixed32=function(e){return this._push(y,4,e>>>0)},l.prototype.sfixed32=l.prototype.fixed32,l.prototype.fixed64=function(e){var t=s.from(e);return this._push(y,4,t.lo)._push(y,4,t.hi)},l.prototype.sfixed64=l.prototype.fixed64,l.prototype.float=function(e){return this._push(o.float.writeFloatLE,4,e)},l.prototype.double=function(e){return this._push(o.float.writeDoubleLE,8,e)};var g=o.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var r=0;r<e.length;++r)t[n+r]=e[r]};l.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(h,1,0);if(o.isString(e)){var n=l.alloc(t=i.length(e));i.decode(e,n,0),e=n}return this.uint32(t)._push(g,t,e)},l.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(h,1,0)},l.prototype.fork=function(){return this.states=new d(this),this.head=this.tail=new c(u,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(u,0,0),this.len=0),this},l.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},l.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},l._configure=function(e){r=e,l.create=p(),r._configure()}},2178:(e,t,n)=>{"use strict";e.exports=s;var r=n(2944);(s.prototype=Object.create(r.prototype)).constructor=s;var o=n(4155);function s(){r.call(this)}function i(e,t,n){e.length<40?o.utf8.write(e,t,n):t.utf8Write?t.utf8Write(e,n):t.write(e,n)}s._configure=function(){s.alloc=o._Buffer_allocUnsafe,s.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&"set"===o.Buffer.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var r=0;r<e.length;)t[n++]=e[r++]}},s.prototype.bytes=function(e){o.isString(e)&&(e=o._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(s.writeBytesBuffer,t,e),this},s.prototype.string=function(e){var t=o.Buffer.byteLength(e);return this.uint32(t),t&&this._push(i,t,e),this},s._configure()},1829:(e,t)=>{"use strict";var n=Object.prototype.hasOwnProperty;function r(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function o(e){try{return encodeURIComponent(e)}catch(e){return null}}t.stringify=function(e,t){t=t||"";var r,s,i=[];for(s in"string"!=typeof t&&(t="?"),e)if(n.call(e,s)){if((r=e[s])||null!=r&&!isNaN(r)||(r=""),s=o(s),r=o(r),null===s||null===r)continue;i.push(s+"="+r)}return i.length?t+i.join("&"):""},t.parse=function(e){for(var t,n=/([^=?#&]+)=?([^&]*)/g,o={};t=n.exec(e);){var s=r(t[1]),i=r(t[2]);null===s||null===i||s in o||(o[s]=i)}return o}},3722:e=>{"use strict";e.exports=function(e,t){if(t=t.split(":")[0],!(e=+e))return!1;switch(t){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},7594:(e,t,n)=>{"use strict";var r,o=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},s=function(){var e={};return 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(e){n=null}e[t]=n}return e[t]}}(),i=[];function a(e){for(var t=-1,n=0;n<i.length;n++)if(i[n].identifier===e){t=n;break}return t}function c(e,t){for(var n={},r=[],o=0;o<e.length;o++){var s=e[o],c=t.base?s[0]+t.base:s[0],u=n[c]||0,d="".concat(c," ").concat(u);n[c]=u+1;var l=a(d),p={css:s[1],media:s[2],sourceMap:s[3]};-1!==l?(i[l].references++,i[l].updater(p)):i.push({identifier:d,updater:y(p,t),references:1}),r.push(d)}return r}function u(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var o=n.nc;o&&(r.nonce=o)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var i=s(e.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}return t}var d,l=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function p(e,t,n,r){var o=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=l(t,o);else{var s=document.createTextNode(o),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(s,i[t]):e.appendChild(s)}}function h(e,t,n){var r=n.css,o=n.media,s=n.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),s&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var f=null,m=0;function y(e,t){var n,r,o;if(t.singleton){var s=m++;n=f||(f=u(t)),r=p.bind(null,n,s,!1),o=p.bind(null,n,s,!0)}else n=u(t),r=h.bind(null,n,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var n=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var o=a(n[r]);i[o].references--}for(var s=c(e,t),u=0;u<n.length;u++){var d=a(n[u]);0===i[d].references&&(i[d].updater(),i.splice(d,1))}n=s}}}},9655:(e,t,n)=>{"use strict";var r=n(3722),o=n(1829),s=/^[\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+$/,u=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,d=/^[a-zA-Z]:/;function l(e){return(e||"").toString().replace(s,"")}var p=[["#","hash"],["?","query"],function(e,t){return m(t.protocol)?e.replace(/\\/g,"/"):e},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],h={hash:1,query:1};function f(e){var t,r=("undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:{}).location||{},o={},s=typeof(e=e||r);if("blob:"===e.protocol)o=new g(unescape(e.pathname),{});else if("string"===s)for(t in o=new g(e,{}),h)delete o[t];else if("object"===s){for(t in e)t in h||(o[t]=e[t]);void 0===o.slashes&&(o.slashes=a.test(e.href))}return o}function m(e){return"file:"===e||"ftp:"===e||"http:"===e||"https:"===e||"ws:"===e||"wss:"===e}function y(e,t){e=(e=l(e)).replace(i,""),t=t||{};var n,r=u.exec(e),o=r[1]?r[1].toLowerCase():"",s=!!r[2],a=!!r[3],c=0;return s?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:"===o?c>=2&&(n=n.slice(2)):m(o)?n=r[4]:o?s&&(n=n.slice(2)):c>=2&&m(t.protocol)&&(n=r[4]),{protocol:o,slashes:s||m(o),slashesCount:c,rest:n}}function g(e,t,n){if(e=(e=l(e)).replace(i,""),!(this instanceof g))return new g(e,t,n);var s,a,c,u,h,b,O=p.slice(),v=typeof t,w=this,x=0;for("object"!==v&&"string"!==v&&(n=t,t=null),n&&"function"!=typeof n&&(n=o.parse),s=!(a=y(e||"",t=f(t))).protocol&&!a.slashes,w.slashes=a.slashes||s&&t.slashes,w.protocol=a.protocol||t.protocol||"",e=a.rest,("file:"===a.protocol&&(2!==a.slashesCount||d.test(e))||!a.slashes&&(a.protocol||a.slashesCount<2||!m(w.protocol)))&&(O[3]=[/(.*)/,"pathname"]);x<O.length;x++)"function"!=typeof(u=O[x])?(c=u[0],b=u[1],c!=c?w[b]=e:"string"==typeof c?~(h="@"===c?e.lastIndexOf(c):e.indexOf(c))&&("number"==typeof u[2]?(w[b]=e.slice(0,h),e=e.slice(h+u[2])):(w[b]=e.slice(h),e=e.slice(0,h))):(h=c.exec(e))&&(w[b]=h[1],e=e.slice(0,h.index)),w[b]=w[b]||s&&u[3]&&t[b]||"",u[4]&&(w[b]=w[b].toLowerCase())):e=u(e,w);n&&(w.query=n(w.query)),s&&t.slashes&&"/"!==w.pathname.charAt(0)&&(""!==w.pathname||""!==t.pathname)&&(w.pathname=function(e,t){if(""===e)return t;for(var n=(t||"/").split("/").slice(0,-1).concat(e.split("/")),r=n.length,o=n[r-1],s=!1,i=0;r--;)"."===n[r]?n.splice(r,1):".."===n[r]?(n.splice(r,1),i++):i&&(0===r&&(s=!0),n.splice(r,1),i--);return s&&n.unshift(""),"."!==o&&".."!==o||n.push(""),n.join("/")}(w.pathname,t.pathname)),"/"!==w.pathname.charAt(0)&&m(w.protocol)&&(w.pathname="/"+w.pathname),r(w.port,w.protocol)||(w.host=w.hostname,w.port=""),w.username=w.password="",w.auth&&(~(h=w.auth.indexOf(":"))?(w.username=w.auth.slice(0,h),w.username=encodeURIComponent(decodeURIComponent(w.username)),w.password=w.auth.slice(h+1),w.password=encodeURIComponent(decodeURIComponent(w.password))):w.username=encodeURIComponent(decodeURIComponent(w.auth)),w.auth=w.password?w.username+":"+w.password:w.username),w.origin="file:"!==w.protocol&&m(w.protocol)&&w.host?w.protocol+"//"+w.host:"null",w.href=w.toString()}g.prototype={set:function(e,t,n){var s=this;switch(e){case"query":"string"==typeof t&&t.length&&(t=(n||o.parse)(t)),s[e]=t;break;case"port":s[e]=t,r(t,s.protocol)?t&&(s.host=s.hostname+":"+t):(s.host=s.hostname,s[e]="");break;case"hostname":s[e]=t,s.port&&(t+=":"+s.port),s.host=t;break;case"host":s[e]=t,c.test(t)?(t=t.split(":"),s.port=t.pop(),s.hostname=t.join(":")):(s.hostname=t,s.port="");break;case"protocol":s.protocol=t.toLowerCase(),s.slashes=!n;break;case"pathname":case"hash":if(t){var i="pathname"===e?"/":"#";s[e]=t.charAt(0)!==i?i+t:t}else s[e]=t;break;case"username":case"password":s[e]=encodeURIComponent(t);break;case"auth":var a=t.indexOf(":");~a?(s.username=t.slice(0,a),s.username=encodeURIComponent(decodeURIComponent(s.username)),s.password=t.slice(a+1),s.password=encodeURIComponent(decodeURIComponent(s.password))):s.username=encodeURIComponent(decodeURIComponent(t))}for(var u=0;u<p.length;u++){var d=p[u];d[4]&&(s[d[1]]=s[d[1]].toLowerCase())}return s.auth=s.password?s.username+":"+s.password:s.username,s.origin="file:"!==s.protocol&&m(s.protocol)&&s.host?s.protocol+"//"+s.host:"null",s.href=s.toString(),s},toString:function(e){e&&"function"==typeof e||(e=o.stringify);var t,n=this,r=n.host,s=n.protocol;s&&":"!==s.charAt(s.length-1)&&(s+=":");var i=s+(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,(t="object"==typeof n.query?e(n.query):n.query)&&(i+="?"!==t.charAt(0)?"?"+t:t),n.hash&&(i+=n.hash),i}},g.extractProtocol=y,g.location=f,g.trimLeft=l,g.qs=o,e.exports=g},5003:(e,t,n)=>{"use strict";var r;n.r(t),n.d(t,{NIL:()=>E,parse:()=>y,stringify:()=>d,v1:()=>m,v3:()=>P,v4:()=>T,v5:()=>j,validate:()=>a,version:()=>D});var o=new Uint8Array(16);function s(){if(!r&&!(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(o)}const i=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;const a=function(e){return"string"==typeof e&&i.test(e)};for(var c=[],u=0;u<256;++u)c.push((u+256).toString(16).substr(1));const d=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(c[e[t+0]]+c[e[t+1]]+c[e[t+2]]+c[e[t+3]]+"-"+c[e[t+4]]+c[e[t+5]]+"-"+c[e[t+6]]+c[e[t+7]]+"-"+c[e[t+8]]+c[e[t+9]]+"-"+c[e[t+10]]+c[e[t+11]]+c[e[t+12]]+c[e[t+13]]+c[e[t+14]]+c[e[t+15]]).toLowerCase();if(!a(n))throw TypeError("Stringified UUID is invalid");return n};var l,p,h=0,f=0;const m=function(e,t,n){var r=t&&n||0,o=t||new Array(16),i=(e=e||{}).node||l,a=void 0!==e.clockseq?e.clockseq:p;if(null==i||null==a){var c=e.random||(e.rng||s)();null==i&&(i=l=[1|c[0],c[1],c[2],c[3],c[4],c[5]]),null==a&&(a=p=16383&(c[6]<<8|c[7]))}var u=void 0!==e.msecs?e.msecs:Date.now(),m=void 0!==e.nsecs?e.nsecs:f+1,y=u-h+(m-f)/1e4;if(y<0&&void 0===e.clockseq&&(a=a+1&16383),(y<0||u>h)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");h=u,f=m,p=a;var g=(1e4*(268435455&(u+=122192928e5))+m)%4294967296;o[r++]=g>>>24&255,o[r++]=g>>>16&255,o[r++]=g>>>8&255,o[r++]=255&g;var b=u/4294967296*1e4&268435455;o[r++]=b>>>8&255,o[r++]=255&b,o[r++]=b>>>24&15|16,o[r++]=b>>>16&255,o[r++]=a>>>8|128,o[r++]=255&a;for(var O=0;O<6;++O)o[r+O]=i[O];return t||d(o)};const y=function(e){if(!a(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n};function g(e,t,n){function r(e,r,o,s){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=y(r)),16!==r.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var i=new Uint8Array(16+e.length);if(i.set(r),i.set(e,r.length),(i=n(i))[6]=15&i[6]|t,i[8]=63&i[8]|128,o){s=s||0;for(var a=0;a<16;++a)o[s+a]=i[a];return o}return d(i)}try{r.name=e}catch(e){}return r.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",r.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",r}function b(e){return 14+(e+64>>>9<<4)+1}function O(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function v(e,t,n,r,o,s){return O((i=O(O(t,e),O(r,s)))<<(a=o)|i>>>32-a,n);var i,a}function w(e,t,n,r,o,s,i){return v(t&n|~t&r,e,t,o,s,i)}function x(e,t,n,r,o,s,i){return v(t&r|n&~r,e,t,o,s,i)}function _(e,t,n,r,o,s,i){return v(t^n^r,e,t,o,s,i)}function I(e,t,n,r,o,s,i){return v(n^(t|~r),e,t,o,s,i)}const S=function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){for(var t=[],n=32*e.length,r="0123456789abcdef",o=0;o<n;o+=8){var s=e[o>>5]>>>o%32&255,i=parseInt(r.charAt(s>>>4&15)+r.charAt(15&s),16);t.push(i)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[b(t)-1]=t;for(var n=1732584193,r=-271733879,o=-1732584194,s=271733878,i=0;i<e.length;i+=16){var a=n,c=r,u=o,d=s;n=w(n,r,o,s,e[i],7,-680876936),s=w(s,n,r,o,e[i+1],12,-389564586),o=w(o,s,n,r,e[i+2],17,606105819),r=w(r,o,s,n,e[i+3],22,-1044525330),n=w(n,r,o,s,e[i+4],7,-176418897),s=w(s,n,r,o,e[i+5],12,1200080426),o=w(o,s,n,r,e[i+6],17,-1473231341),r=w(r,o,s,n,e[i+7],22,-45705983),n=w(n,r,o,s,e[i+8],7,1770035416),s=w(s,n,r,o,e[i+9],12,-1958414417),o=w(o,s,n,r,e[i+10],17,-42063),r=w(r,o,s,n,e[i+11],22,-1990404162),n=w(n,r,o,s,e[i+12],7,1804603682),s=w(s,n,r,o,e[i+13],12,-40341101),o=w(o,s,n,r,e[i+14],17,-1502002290),n=x(n,r=w(r,o,s,n,e[i+15],22,1236535329),o,s,e[i+1],5,-165796510),s=x(s,n,r,o,e[i+6],9,-1069501632),o=x(o,s,n,r,e[i+11],14,643717713),r=x(r,o,s,n,e[i],20,-373897302),n=x(n,r,o,s,e[i+5],5,-701558691),s=x(s,n,r,o,e[i+10],9,38016083),o=x(o,s,n,r,e[i+15],14,-660478335),r=x(r,o,s,n,e[i+4],20,-405537848),n=x(n,r,o,s,e[i+9],5,568446438),s=x(s,n,r,o,e[i+14],9,-1019803690),o=x(o,s,n,r,e[i+3],14,-187363961),r=x(r,o,s,n,e[i+8],20,1163531501),n=x(n,r,o,s,e[i+13],5,-1444681467),s=x(s,n,r,o,e[i+2],9,-51403784),o=x(o,s,n,r,e[i+7],14,1735328473),n=_(n,r=x(r,o,s,n,e[i+12],20,-1926607734),o,s,e[i+5],4,-378558),s=_(s,n,r,o,e[i+8],11,-2022574463),o=_(o,s,n,r,e[i+11],16,1839030562),r=_(r,o,s,n,e[i+14],23,-35309556),n=_(n,r,o,s,e[i+1],4,-1530992060),s=_(s,n,r,o,e[i+4],11,1272893353),o=_(o,s,n,r,e[i+7],16,-155497632),r=_(r,o,s,n,e[i+10],23,-1094730640),n=_(n,r,o,s,e[i+13],4,681279174),s=_(s,n,r,o,e[i],11,-358537222),o=_(o,s,n,r,e[i+3],16,-722521979),r=_(r,o,s,n,e[i+6],23,76029189),n=_(n,r,o,s,e[i+9],4,-640364487),s=_(s,n,r,o,e[i+12],11,-421815835),o=_(o,s,n,r,e[i+15],16,530742520),n=I(n,r=_(r,o,s,n,e[i+2],23,-995338651),o,s,e[i],6,-198630844),s=I(s,n,r,o,e[i+7],10,1126891415),o=I(o,s,n,r,e[i+14],15,-1416354905),r=I(r,o,s,n,e[i+5],21,-57434055),n=I(n,r,o,s,e[i+12],6,1700485571),s=I(s,n,r,o,e[i+3],10,-1894986606),o=I(o,s,n,r,e[i+10],15,-1051523),r=I(r,o,s,n,e[i+1],21,-2054922799),n=I(n,r,o,s,e[i+8],6,1873313359),s=I(s,n,r,o,e[i+15],10,-30611744),o=I(o,s,n,r,e[i+6],15,-1560198380),r=I(r,o,s,n,e[i+13],21,1309151649),n=I(n,r,o,s,e[i+4],6,-145523070),s=I(s,n,r,o,e[i+11],10,-1120210379),o=I(o,s,n,r,e[i+2],15,718787259),r=I(r,o,s,n,e[i+9],21,-343485551),n=O(n,a),r=O(r,c),o=O(o,u),s=O(s,d)}return[n,r,o,s]}(function(e){if(0===e.length)return[];for(var t=8*e.length,n=new Uint32Array(b(t)),r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))};const P=g("v3",48,S);const T=function(e,t,n){var r=(e=e||{}).random||(e.rng||s)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=r[o];return t}return d(r)};function A(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function k(e,t){return e<<t|e>>>32-t}const C=function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=[];for(var o=0;o<r.length;++o)e.push(r.charCodeAt(o))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var s=e.length/4+2,i=Math.ceil(s/16),a=new Array(i),c=0;c<i;++c){for(var u=new Uint32Array(16),d=0;d<16;++d)u[d]=e[64*c+4*d]<<24|e[64*c+4*d+1]<<16|e[64*c+4*d+2]<<8|e[64*c+4*d+3];a[c]=u}a[i-1][14]=8*(e.length-1)/Math.pow(2,32),a[i-1][14]=Math.floor(a[i-1][14]),a[i-1][15]=8*(e.length-1)&4294967295;for(var l=0;l<i;++l){for(var p=new Uint32Array(80),h=0;h<16;++h)p[h]=a[l][h];for(var f=16;f<80;++f)p[f]=k(p[f-3]^p[f-8]^p[f-14]^p[f-16],1);for(var m=n[0],y=n[1],g=n[2],b=n[3],O=n[4],v=0;v<80;++v){var w=Math.floor(v/20),x=k(m,5)+A(w,y,g,b)+O+t[w]+p[v]>>>0;O=b,b=g,g=k(y,30)>>>0,y=m,m=x}n[0]=n[0]+m>>>0,n[1]=n[1]+y>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+b>>>0,n[4]=n[4]+O>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]};const j=g("v5",80,C),E="00000000-0000-0000-0000-000000000000";const D=function(e){if(!a(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}},2417:(e,t,n)=>{e.exports=n(7720)("./src/collaboration-core.js")},2704:(e,t,n)=>{e.exports=n(7079)("./src/core.js")},1492:(e,t,n)=>{e.exports=n(7079)("./src/engine.js")},9273:(e,t,n)=>{e.exports=n(7079)("./src/ui.js")},2209:(e,t,n)=>{e.exports=n(7079)("./src/utils.js")},7720:e=>{"use strict";e.exports=CKEditor5.collaborationDll},7079:e=>{"use strict";e.exports=CKEditor5.dll},4880:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reconstructPacket=t.deconstructPacket=void 0;const r=n(665);function o(e,t){if(!e)return e;if(r.isBinary(e)){const n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){const n=new Array(e.length);for(let r=0;r<e.length;r++)n[r]=o(e[r],t);return n}if("object"==typeof e&&!(e instanceof Date)){const n={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=o(e[r],t));return n}return e}function s(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=s(e[n],t);else if("object"==typeof e)for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=s(e[n],t));return e}t.deconstructPacket=function(e){const t=[],n=e.data,r=e;return r.data=o(n,t),r.attachments=t.length,{packet:r,buffers:t}},t.reconstructPacket=function(e,t){return e.data=s(e.data,t),e.attachments=void 0,e}},4514:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Decoder=t.Encoder=t.PacketType=t.protocol=void 0;const r=n(5867),o=n(4880),s=n(665),i=n(5579).default("socket.io-parser");var a;t.protocol=5,function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(a=t.PacketType||(t.PacketType={}));t.Encoder=class{constructor(e){this.replacer=e}encode(e){return i("encoding packet %j",e),e.type!==a.EVENT&&e.type!==a.ACK||!s.hasBinary(e)?[this.encodeAsString(e)]:(e.type=e.type===a.EVENT?a.BINARY_EVENT:a.BINARY_ACK,this.encodeAsBinary(e))}encodeAsString(e){let t=""+e.type;return e.type!==a.BINARY_EVENT&&e.type!==a.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),i("encoded %j as %s",e,t),t}encodeAsBinary(e){const t=o.deconstructPacket(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}};class c extends r.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e),t.type===a.BINARY_EVENT||t.type===a.BINARY_ACK?(this.reconstructor=new u(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!s.isBinary(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const n={type:Number(e.charAt(0))};if(void 0===a[n.type])throw new Error("unknown packet type "+n.type);if(n.type===a.BINARY_EVENT||n.type===a.BINARY_ACK){const r=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const o=e.substring(r,t);if(o!=Number(o)||"-"!==e.charAt(t))throw new Error("Illegal attachments");n.attachments=Number(o)}if("/"===e.charAt(t+1)){const r=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}n.nsp=e.substring(r,t)}else n.nsp="/";const r=e.charAt(t+1);if(""!==r&&Number(r)==r){const r=t+1;for(;++t;){const n=e.charAt(t);if(null==n||Number(n)!=n){--t;break}if(t===e.length)break}n.id=Number(e.substring(r,t+1))}if(e.charAt(++t)){const r=this.tryParse(e.substr(t));if(!c.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return i("decoded %s as %j",e,n),n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case a.CONNECT:return"object"==typeof t;case a.DISCONNECT:return void 0===t;case a.CONNECT_ERROR:return"string"==typeof t||"object"==typeof t;case a.EVENT:case a.BINARY_EVENT:return Array.isArray(t)&&t.length>0;case a.ACK:case a.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&this.reconstructor.finishedReconstruction()}}t.Decoder=c;class u{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=o.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}},665:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasBinary=t.isBinary=void 0;const n="function"==typeof ArrayBuffer,r=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,o=Object.prototype.toString,s="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===o.call(Blob),i="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===o.call(File);function a(e){return n&&(e instanceof ArrayBuffer||r(e))||s&&e instanceof Blob||i&&e instanceof File}t.isBinary=a,t.hasBinary=function e(t,n){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(let n=0,r=t.length;n<r;n++)if(e(t[n]))return!0;return!1}if(a(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return e(t.toJSON(),!0);for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e(t[n]))return!0;return!1}},6051:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasCORS=void 0;let n=!1;try{n="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(e){}t.hasCORS=n},8573:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=t.encode=void 0,t.encode=function(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t},t.decode=function(e){let t={},n=e.split("&");for(let e=0,r=n.length;e<r;e++){let r=n[e].split("=");t[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return t}},8736:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;const n=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,r=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];t.parse=function(e){const t=e,o=e.indexOf("["),s=e.indexOf("]");-1!=o&&-1!=s&&(e=e.substring(0,o)+e.substring(o,s).replace(/:/g,";")+e.substring(s,e.length));let i=n.exec(e||""),a={},c=14;for(;c--;)a[r[c]]=i[c]||"";return-1!=o&&-1!=s&&(a.source=t,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,":"),a.authority=a.authority.replace("[","").replace("]","").replace(/;/g,":"),a.ipv6uri=!0),a.pathNames=function(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");"/"!=t.slice(0,1)&&0!==t.length||r.splice(0,1);"/"==t.slice(-1)&&r.splice(r.length-1,1);return r}(0,a.path),a.queryKey=function(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,r){t&&(n[t]=r)})),n}(0,a.query),a}},7058:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.yeast=t.decode=t.encode=void 0;const n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),r=64,o={};let s,i=0,a=0;function c(e){let t="";do{t=n[e%r]+t,e=Math.floor(e/r)}while(e>0);return t}for(t.encode=c,t.decode=function(e){let t=0;for(a=0;a<e.length;a++)t=t*r+o[e.charAt(a)];return t},t.yeast=function(){const e=c(+new Date);return e!==s?(i=0,s=e):e+"."+c(i++)};a<r;a++)o[n[a]]=a},66:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.globalThisShim=void 0,t.globalThisShim="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")()},5769:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nextTick=t.parse=t.installTimerFunctions=t.transports=t.Transport=t.protocol=t.Socket=void 0;const r=n(1187);Object.defineProperty(t,"Socket",{enumerable:!0,get:function(){return r.Socket}}),t.protocol=r.Socket.protocol;var o=n(4291);Object.defineProperty(t,"Transport",{enumerable:!0,get:function(){return o.Transport}});var s=n(6449);Object.defineProperty(t,"transports",{enumerable:!0,get:function(){return s.transports}});var i=n(102);Object.defineProperty(t,"installTimerFunctions",{enumerable:!0,get:function(){return i.installTimerFunctions}});var a=n(8736);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return a.parse}});var c=n(9233);Object.defineProperty(t,"nextTick",{enumerable:!0,get:function(){return c.nextTick}})},1187:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Socket=void 0;const o=n(6449),s=n(102),i=n(8573),a=n(8736),c=r(n(5579)),u=n(5867),d=n(4755),l=(0,c.default)("engine.io-client:socket");class p extends u.Emitter{constructor(e,t={}){super(),e&&"object"==typeof e&&(t=e,e=null),e?(e=(0,a.parse)(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=(0,a.parse)(t.host).host),(0,s.installTimerFunctions)(this,t),this.secure=null!=t.secure?t.secure:"undefined"!=typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket"],this.readyState="",this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},t),this.opts.path=this.opts.path.replace(/\/$/,"")+"/","string"==typeof this.opts.query&&(this.opts.query=(0,i.decode)(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(e){l('creating transport "%s"',e);const t=Object.assign({},this.opts.query);t.EIO=d.protocol,t.transport=e,this.id&&(t.sid=this.id);const n=Object.assign({},this.opts.transportOptions[e],this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return l("options: %j",n),new o.transports[e](n)}open(){let e;if(this.opts.rememberUpgrade&&p.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return l("error while creating transport: %s",e),this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){l("setting transport %s",e.name),this.transport&&(l("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){l('probing transport "%s"',e);let t=this.createTransport(e),n=!1;p.priorWebsocketSuccess=!1;const r=()=>{n||(l('probe transport "%s" opened',e),t.send([{type:"ping",data:"probe"}]),t.once("packet",(r=>{if(!n)if("pong"===r.type&&"probe"===r.data){if(l('probe transport "%s" pong',e),this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;p.priorWebsocketSuccess="websocket"===t.name,l('pausing current transport "%s"',this.transport.name),this.transport.pause((()=>{n||"closed"!==this.readyState&&(l("changing transport and sending upgrade packet"),u(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{l('probe transport "%s" failed',e);const n=new Error("probe error");n.transport=t.name,this.emitReserved("upgradeError",n)}})))};function o(){n||(n=!0,u(),t.close(),t=null)}const s=n=>{const r=new Error("probe error: "+n);r.transport=t.name,o(),l('probe transport "%s" failed because of error: %s',e,n),this.emitReserved("upgradeError",r)};function i(){s("transport closed")}function a(){s("socket closed")}function c(e){t&&e.name!==t.name&&(l('"%s" works - aborting "%s"',e.name,t.name),o())}const u=()=>{t.removeListener("open",r),t.removeListener("error",s),t.removeListener("close",i),this.off("close",a),this.off("upgrading",c)};t.once("open",r),t.once("error",s),t.once("close",i),this.once("close",a),this.once("upgrading",c),t.open()}onOpen(){if(l("socket open"),this.readyState="open",p.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade&&this.transport.pause){l("starting upgrade probes");let e=0;const t=this.upgrades.length;for(;e<t;e++)this.probe(this.upgrades[e])}}onPacket(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(l('socket receive: type "%s", data "%s"',e.type,e.data),this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.resetPingTimeout(),this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}else l('packet received with socket readyState "%s"',this.readyState)}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.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 e=this.getWritablePackets();l("flushing %d packets in socket",e.length),this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let t=0;t<this.writeBuffer.length;t++){const n=this.writeBuffer[t].data;if(n&&(e+=(0,s.byteLength)(n)),t>0&&e>this.maxPayload)return l("only send %d out of %d packets",t,this.writeBuffer.length),this.writeBuffer.slice(0,t);e+=2}return l("payload size is %d (max: %d)",e,this.maxPayload),this.writeBuffer}write(e,t,n){return this.sendPacket("message",e,t,n),this}send(e,t,n){return this.sendPacket("message",e,t,n),this}sendPacket(e,t,n,r){if("function"==typeof t&&(r=t,t=void 0),"function"==typeof n&&(r=n,n=null),"closing"===this.readyState||"closed"===this.readyState)return;(n=n||{}).compress=!1!==n.compress;const o={type:e,data:t,options:n};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),r&&this.once("flush",r),this.flush()}close(){const e=()=>{this.onClose("forced close"),l("socket closing - telling transport to close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?n():e()})):this.upgrading?n():e()),this}onError(e){l("socket error %j",e),p.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(l('socket close with reason: "%s"',e),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",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let n=0;const r=e.length;for(;n<r;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}}t.Socket=p,p.protocol=d.protocol},4291:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Transport=void 0;const o=n(4755),s=n(5867),i=n(102),a=(0,r(n(5579)).default)("engine.io-client:transport");class c extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}}class u extends s.Emitter{constructor(e){super(),this.writable=!1,(0,i.installTimerFunctions)(this,e),this.opts=e,this.query=e.query,this.readyState="",this.socket=e.socket}onError(e,t,n){return super.emitReserved("error",new c(e,t,n)),this}open(){return"closed"!==this.readyState&&""!==this.readyState||(this.readyState="opening",this.doOpen()),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState?this.write(e):a("transport is not open, discarding packets")}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=(0,o.decodePacket)(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}}t.Transport=u},6449:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.transports=void 0;const r=n(3737),o=n(4199);t.transports={websocket:o.WS,polling:r.Polling}},3737:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Request=t.Polling=void 0;const o=n(4291),s=r(n(5579)),i=n(7058),a=n(8573),c=n(4755),u=n(4582),d=n(5867),l=n(102),p=n(66),h=(0,s.default)("engine.io-client:polling");function f(){}const m=null!=new u.XHR({xdomain:!1}).responseType;class y extends o.Transport{constructor(e){if(super(e),this.polling=!1,"undefined"!=typeof location){const t="https:"===location.protocol;let n=location.port;n||(n=t?"443":"80"),this.xd="undefined"!=typeof location&&e.hostname!==location.hostname||n!==e.port,this.xs=e.secure!==t}const t=e&&e.forceBase64;this.supportsBinary=m&&!t}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const t=()=>{h("paused"),this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(h("we are currently polling - waiting to pause"),e++,this.once("pollComplete",(function(){h("pre-pause polling complete"),--e||t()}))),this.writable||(h("we are currently writing - waiting to pause"),e++,this.once("drain",(function(){h("pre-pause writing complete"),--e||t()})))}else t()}poll(){h("polling"),this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){h("polling got data %s",e);(0,c.decodePayload)(e,this.socket.binaryType).forEach((e=>{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState?this.poll():h('ignoring poll - transport state "%s"',this.readyState))}doClose(){const e=()=>{h("writing close packet"),this.write([{type:"close"}])};"open"===this.readyState?(h("transport open - closing"),e()):(h("transport not open - deferring close"),this.once("open",e))}write(e){this.writable=!1,(0,c.encodePayload)(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){let e=this.query||{};const t=this.opts.secure?"https":"http";let n="";!1!==this.opts.timestampRequests&&(e[this.opts.timestampParam]=(0,i.yeast)()),this.supportsBinary||e.sid||(e.b64=1),this.opts.port&&("https"===t&&443!==Number(this.opts.port)||"http"===t&&80!==Number(this.opts.port))&&(n=":"+this.opts.port);const r=(0,a.encode)(e);return t+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+n+this.opts.path+(r.length?"?"+r:"")}request(e={}){return Object.assign(e,{xd:this.xd,xs:this.xs},this.opts),new g(this.uri(),e)}doWrite(e,t){const n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){h("xhr poll");const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}t.Polling=y;class g extends d.Emitter{constructor(e,t){super(),(0,l.installTimerFunctions)(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.async=!1!==t.async,this.data=void 0!==t.data?t.data:null,this.create()}create(){const e=(0,l.pick)(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd,e.xscheme=!!this.opts.xs;const t=this.xhr=new u.XHR(e);try{h("xhr open %s: %s",this.method,this.uri),t.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders){t.setDisableHeaderCheck&&t.setDisableHeaderCheck(!0);for(let e in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(e)&&t.setRequestHeader(e,this.opts.extraHeaders[e])}}catch(e){}if("POST"===this.method)try{t.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{t.setRequestHeader("Accept","*/*")}catch(e){}"withCredentials"in t&&(t.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(t.timeout=this.opts.requestTimeout),t.onreadystatechange=()=>{4===t.readyState&&(200===t.status||1223===t.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"==typeof t.status?t.status:0)}),0))},h("xhr data %s",this.data),t.send(this.data)}catch(e){return void this.setTimeoutFn((()=>{this.onError(e)}),0)}"undefined"!=typeof document&&(this.index=g.requestsCount++,g.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=f,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete g.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(t.Request=g,g.requestsCount=0,g.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",b);else if("function"==typeof addEventListener){const e="onpagehide"in p.globalThisShim?"pagehide":"unload";addEventListener(e,b,!1)}function b(){for(let e in g.requests)g.requests.hasOwnProperty(e)&&g.requests[e].abort()}},9233:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultBinaryType=t.usingBrowserWebSocket=t.WebSocket=t.nextTick=void 0;const r=n(66);t.nextTick="function"==typeof Promise&&"function"==typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),t.WebSocket=r.globalThisShim.WebSocket||r.globalThisShim.MozWebSocket,t.usingBrowserWebSocket=!0,t.defaultBinaryType="arraybuffer"},4199:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WS=void 0;const o=n(4291),s=n(8573),i=n(7058),a=n(102),c=n(9233),u=r(n(5579)),d=n(4755),l=(0,u.default)("engine.io-client:websocket"),p="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();class h extends o.Transport{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,n=p?{}:(0,a.pick)(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=c.usingBrowserWebSocket&&!p?t?new c.WebSocket(e,t):new c.WebSocket(e):new c.WebSocket(e,t,n)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType||c.defaultBinaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const n=e[t],r=t===e.length-1;(0,d.encodePacket)(n,this.supportsBinary,(e=>{const t={};if(!c.usingBrowserWebSocket&&(n.options&&(t.compress=n.options.compress),this.opts.perMessageDeflate)){("string"==typeof e?Buffer.byteLength(e):e.length)<this.opts.perMessageDeflate.threshold&&(t.compress=!1)}try{c.usingBrowserWebSocket?this.ws.send(e):this.ws.send(e,t)}catch(e){l("websocket closed before onclose event")}r&&(0,c.nextTick)((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){let e=this.query||{};const t=this.opts.secure?"wss":"ws";let n="";this.opts.port&&("wss"===t&&443!==Number(this.opts.port)||"ws"===t&&80!==Number(this.opts.port))&&(n=":"+this.opts.port),this.opts.timestampRequests&&(e[this.opts.timestampParam]=(0,i.yeast)()),this.supportsBinary||(e.b64=1);const r=(0,s.encode)(e);return t+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+n+this.opts.path+(r.length?"?"+r:"")}check(){return!!c.WebSocket}}t.WS=h},4582:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.XHR=void 0;const r=n(6051),o=n(66);t.XHR=function(e){const t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||r.hasCORS))return new XMLHttpRequest}catch(e){}if(!t)try{return new(o.globalThisShim[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}},102:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.byteLength=t.installTimerFunctions=t.pick=void 0;const r=n(66);t.pick=function(e,...t){return t.reduce(((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t)),{})};const o=setTimeout,s=clearTimeout;t.installTimerFunctions=function(e,t){t.useNativeTimers?(e.setTimeoutFn=o.bind(r.globalThisShim),e.clearTimeoutFn=s.bind(r.globalThisShim)):(e.setTimeoutFn=setTimeout.bind(r.globalThisShim),e.clearTimeoutFn=clearTimeout.bind(r.globalThisShim))};t.byteLength=function(e){return"string"==typeof e?function(e){let t=0,n=0;for(let r=0,o=e.length;r<o;r++)t=e.charCodeAt(r),t<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}(e):Math.ceil(1.33*(e.byteLength||e.size))}},9782:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_PACKET=t.PACKET_TYPES_REVERSE=t.PACKET_TYPES=void 0;const n=Object.create(null);t.PACKET_TYPES=n,n.open="0",n.close="1",n.ping="2",n.pong="3",n.message="4",n.upgrade="5",n.noop="6";const r=Object.create(null);t.PACKET_TYPES_REVERSE=r,Object.keys(n).forEach((e=>{r[n[e]]=e}));t.ERROR_PACKET={type:"error",data:"parser error"}},6502:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=t.encode=void 0;const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let e=0;e<64;e++)r[n.charCodeAt(e)]=e;t.encode=e=>{let t,r=new Uint8Array(e),o=r.length,s="";for(t=0;t<o;t+=3)s+=n[r[t]>>2],s+=n[(3&r[t])<<4|r[t+1]>>4],s+=n[(15&r[t+1])<<2|r[t+2]>>6],s+=n[63&r[t+2]];return o%3==2?s=s.substring(0,s.length-1)+"=":o%3==1&&(s=s.substring(0,s.length-2)+"=="),s};t.decode=e=>{let t,n,o,s,i,a=.75*e.length,c=e.length,u=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);const d=new ArrayBuffer(a),l=new Uint8Array(d);for(t=0;t<c;t+=4)n=r[e.charCodeAt(t)],o=r[e.charCodeAt(t+1)],s=r[e.charCodeAt(t+2)],i=r[e.charCodeAt(t+3)],l[u++]=n<<2|o>>4,l[u++]=(15&o)<<4|s>>2,l[u++]=(3&s)<<6|63&i;return d}},3108:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9782),o=n(6502),s="function"==typeof ArrayBuffer,i=(e,t)=>{if(s){const n=(0,o.decode)(e);return a(n,t)}return{base64:!0,data:e}},a=(e,t)=>"blob"===t&&e instanceof ArrayBuffer?new Blob([e]):e;t.default=(e,t)=>{if("string"!=typeof e)return{type:"message",data:a(e,t)};const n=e.charAt(0);if("b"===n)return{type:"message",data:i(e.substring(1),t)};return r.PACKET_TYPES_REVERSE[n]?e.length>1?{type:r.PACKET_TYPES_REVERSE[n],data:e.substring(1)}:{type:r.PACKET_TYPES_REVERSE[n]}:r.ERROR_PACKET}},4895:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9782),o="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),s="function"==typeof ArrayBuffer,i=(e,t)=>{const n=new FileReader;return n.onload=function(){const e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};t.default=({type:e,data:t},n,a)=>{return o&&t instanceof Blob?n?a(t):i(t,a):s&&(t instanceof ArrayBuffer||(c=t,"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(c):c&&c.buffer instanceof ArrayBuffer))?n?a(t):i(new Blob([t]),a):a(r.PACKET_TYPES[e]+(t||""));var c}},4755:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodePayload=t.decodePacket=t.encodePayload=t.encodePacket=t.protocol=void 0;const r=n(4895);t.encodePacket=r.default;const o=n(3108);t.decodePacket=o.default;const s=String.fromCharCode(30);t.encodePayload=(e,t)=>{const n=e.length,o=new Array(n);let i=0;e.forEach(((e,a)=>{(0,r.default)(e,!1,(e=>{o[a]=e,++i===n&&t(o.join(s))}))}))};t.decodePayload=(e,t)=>{const n=e.split(s),r=[];for(let e=0;e<n.length;e++){const s=(0,o.default)(n[e],t);if(r.push(s),"error"===s.type)break}return r},t.protocol=4},1067:(e,t)=>{"use strict";function n(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}Object.defineProperty(t,"__esModule",{value:!0}),t.Backoff=void 0,t.Backoff=n,n.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-n:e+n}return 0|Math.min(e,this.max)},n.prototype.reset=function(){this.attempts=0},n.prototype.setMin=function(e){this.ms=e},n.prototype.setMax=function(e){this.max=e},n.prototype.setJitter=function(e){this.jitter=e}},8623:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.connect=t.io=t.Socket=t.Manager=t.protocol=void 0;const o=n(4197),s=n(3288);Object.defineProperty(t,"Manager",{enumerable:!0,get:function(){return s.Manager}});const i=n(3232);Object.defineProperty(t,"Socket",{enumerable:!0,get:function(){return i.Socket}});const a=r(n(5579)).default("socket.io-client"),c={};function u(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};const n=o.url(e,t.path||"/socket.io"),r=n.source,i=n.id,u=n.path,d=c[i]&&u in c[i].nsps;let l;return t.forceNew||t["force new connection"]||!1===t.multiplex||d?(a("ignoring socket cache for %s",r),l=new s.Manager(r,t)):(c[i]||(a("new io instance for %s",r),c[i]=new s.Manager(r,t)),l=c[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}t.io=u,t.connect=u,t.default=u,Object.assign(u,{Manager:s.Manager,Socket:i.Socket,io:u,connect:u});var d=n(170);Object.defineProperty(t,"protocol",{enumerable:!0,get:function(){return d.protocol}}),e.exports=u},3288:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Manager=void 0;const a=n(5769),c=n(3232),u=s(n(170)),d=n(6263),l=n(1067),p=n(5867),h=i(n(5579)).default("socket.io-client:manager");class f extends p.Emitter{constructor(e,t){var n;super(),this.nsps={},this.subs=[],e&&"object"==typeof e&&(t=e,e=void 0),(t=t||{}).path=t.path||"/socket.io",this.opts=t,a.installTimerFunctions(this,t),this.reconnection(!1!==t.reconnection),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(n=t.randomizationFactor)&&void 0!==n?n:.5),this.backoff=new l.Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==t.timeout?2e4:t.timeout),this._readyState="closed",this.uri=e;const r=t.parser||u;this.encoder=new r.Encoder,this.decoder=new r.Decoder,this._autoConnect=!1!==t.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(h("readyState %s",this._readyState),~this._readyState.indexOf("open"))return this;h("opening %s",this.uri),this.engine=new a.Socket(this.uri,this.opts);const t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const r=d.on(t,"open",(function(){n.onopen(),e&&e()})),o=d.on(t,"error",(t=>{h("error"),n.cleanup(),n._readyState="closed",this.emitReserved("error",t),e?e(t):n.maybeReconnectOnOpen()}));if(!1!==this._timeout){const e=this._timeout;h("connect attempt will timeout after %d",e),0===e&&r();const n=this.setTimeoutFn((()=>{h("connect attempt timed out after %d",e),r(),t.close(),t.emit("error",new Error("timeout"))}),e);this.opts.autoUnref&&n.unref(),this.subs.push((function(){clearTimeout(n)}))}return this.subs.push(r),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){h("open"),this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(d.on(e,"ping",this.onping.bind(this)),d.on(e,"data",this.ondata.bind(this)),d.on(e,"error",this.onerror.bind(this)),d.on(e,"close",this.onclose.bind(this)),d.on(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}ondecoded(e){a.nextTick((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){h("error",e),this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n||(n=new c.Socket(this,e,t),this.nsps[e]=n),n}_destroy(e){const t=Object.keys(this.nsps);for(const e of t){if(this.nsps[e].active)return void h("socket %s is still active, skipping close",e)}this._close()}_packet(e){h("writing packet %j",e);const t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){h("cleanup"),this.subs.forEach((e=>e())),this.subs.length=0,this.decoder.destroy()}_close(){h("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){h("closed due to %s",e),this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)h("reconnect failed"),this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();h("will wait %dms before reconnect attempt",t),this._reconnecting=!0;const n=this.setTimeoutFn((()=>{e.skipReconnect||(h("attempting reconnect"),this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(h("reconnect attempt error"),e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):(h("reconnect success"),e.onreconnect())})))}),t);this.opts.autoUnref&&n.unref(),this.subs.push((function(){clearTimeout(n)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}t.Manager=f},6263:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.on=void 0,t.on=function(e,t,n){return e.on(t,n),function(){e.off(t,n)}}},3232:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Socket=void 0;const o=n(170),s=n(6263),i=n(5867),a=r(n(5579)).default("socket.io-client:socket"),c=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class u extends i.Emitter{constructor(e,t,n){super(),this.connected=!1,this.receiveBuffer=[],this.sendBuffer=[],this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[s.on(e,"open",this.onopen.bind(this)),s.on(e,"packet",this.onpacket.bind(this)),s.on(e,"error",this.onerror.bind(this)),s.on(e,"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(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){if(c.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');t.unshift(e);const n={type:o.PacketType.EVENT,data:t,options:{}};if(n.options.compress=!1!==this.flags.compress,"function"==typeof t[t.length-1]){const e=this.ids++;a("emitting packet with ack id %d",e);const r=t.pop();this._registerAckCallback(e,r),n.id=e}const r=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!r||!this.connected)?a("discard packet as the transport is not currently writable"):this.connected?(this.notifyOutgoingListeners(n),this.packet(n)):this.sendBuffer.push(n),this.flags={},this}_registerAckCallback(e,t){const n=this.flags.timeout;if(void 0===n)return void(this.acks[e]=t);const r=this.io.setTimeoutFn((()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&(a("removing packet with ack id %d from the buffer",e),this.sendBuffer.splice(t,1));a("event with ack id %d has timed out after %d ms",e,n),t.call(this,new Error("operation has timed out"))}),n);this.acks[e]=(...e)=>{this.io.clearTimeoutFn(r),t.apply(this,[null,...e])}}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){a("transport is open - connecting"),"function"==typeof this.auth?this.auth((e=>{this.packet({type:o.PacketType.CONNECT,data:e})})):this.packet({type:o.PacketType.CONNECT,data:this.auth})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){a("close (%s)",e),this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case o.PacketType.CONNECT:if(e.data&&e.data.sid){const t=e.data.sid;this.onconnect(t)}else 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 o.PacketType.EVENT:case o.PacketType.BINARY_EVENT:this.onevent(e);break;case o.PacketType.ACK:case o.PacketType.BINARY_ACK:this.onack(e);break;case o.PacketType.DISCONNECT:this.ondisconnect();break;case o.PacketType.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];a("emitting event %j",t),null!=e.id&&(a("attaching ack callback to event"),t.push(this.ack(e.id))),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const n of t)n.apply(this,e)}super.emit.apply(this,e)}ack(e){const t=this;let n=!1;return function(...r){n||(n=!0,a("sending ack %j",r),t.packet({type:o.PacketType.ACK,id:e,data:r}))}}onack(e){const t=this.acks[e.id];"function"==typeof t?(a("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),delete this.acks[e.id]):a("bad ack %s",e.id)}onconnect(e){a("socket connected with id %s",e),this.id=e,this.connected=!0,this.emitBuffered(),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){a("server disconnect (%s)",this.nsp),this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&(a("performing disconnect (%s)",this.nsp),this.packet({type:o.PacketType.DISCONNECT})),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const n of t)n.apply(this,e.data)}}}t.Socket=u},4197:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.url=void 0;const o=n(5769),s=r(n(5579)).default("socket.io-client:url");t.url=function(e,t="",n){let r=e;n=n||"undefined"!=typeof location&&location,null==e&&(e=n.protocol+"//"+n.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(s("protocol-less url %s",e),e=void 0!==n?n.protocol+"//"+e:"https://"+e),s("parse %s",e),r=o.parse(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";const i=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+i+":"+r.port+t,r.href=r.protocol+"://"+i+(n&&n.port===r.port?"":":"+r.port),r}},2830:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reconstructPacket=t.deconstructPacket=void 0;const r=n(3980);function o(e,t){if(!e)return e;if((0,r.isBinary)(e)){const n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){const n=new Array(e.length);for(let r=0;r<e.length;r++)n[r]=o(e[r],t);return n}if("object"==typeof e&&!(e instanceof Date)){const n={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=o(e[r],t));return n}return e}function s(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=s(e[n],t);else if("object"==typeof e)for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=s(e[n],t));return e}t.deconstructPacket=function(e){const t=[],n=e.data,r=e;return r.data=o(n,t),r.attachments=t.length,{packet:r,buffers:t}},t.reconstructPacket=function(e,t){return e.data=s(e.data,t),delete e.attachments,e}},170:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Decoder=t.Encoder=t.PacketType=t.protocol=void 0;const r=n(5867),o=n(2830),s=n(3980),i=(0,n(5579).default)("socket.io-parser");var a;t.protocol=5,function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(a=t.PacketType||(t.PacketType={}));t.Encoder=class{constructor(e){this.replacer=e}encode(e){return i("encoding packet %j",e),e.type!==a.EVENT&&e.type!==a.ACK||!(0,s.hasBinary)(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===a.EVENT?a.BINARY_EVENT:a.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==a.BINARY_EVENT&&e.type!==a.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),i("encoded %j as %s",e,t),t}encodeAsBinary(e){const t=(0,o.deconstructPacket)(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}};class c extends r.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const n=t.type===a.BINARY_EVENT;n||t.type===a.BINARY_ACK?(t.type=n?a.EVENT:a.ACK,this.reconstructor=new u(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!(0,s.isBinary)(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const n={type:Number(e.charAt(0))};if(void 0===a[n.type])throw new Error("unknown packet type "+n.type);if(n.type===a.BINARY_EVENT||n.type===a.BINARY_ACK){const r=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const o=e.substring(r,t);if(o!=Number(o)||"-"!==e.charAt(t))throw new Error("Illegal attachments");n.attachments=Number(o)}if("/"===e.charAt(t+1)){const r=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}n.nsp=e.substring(r,t)}else n.nsp="/";const r=e.charAt(t+1);if(""!==r&&Number(r)==r){const r=t+1;for(;++t;){const n=e.charAt(t);if(null==n||Number(n)!=n){--t;break}if(t===e.length)break}n.id=Number(e.substring(r,t+1))}if(e.charAt(++t)){const r=this.tryParse(e.substr(t));if(!c.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return i("decoded %s as %j",e,n),n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case a.CONNECT:return"object"==typeof t;case a.DISCONNECT:return void 0===t;case a.CONNECT_ERROR:return"string"==typeof t||"object"==typeof t;case a.EVENT:case a.BINARY_EVENT:return Array.isArray(t)&&t.length>0;case a.ACK:case a.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}t.Decoder=c;class u{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=(0,o.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}},3980:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasBinary=t.isBinary=void 0;const n="function"==typeof ArrayBuffer,r=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,o=Object.prototype.toString,s="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===o.call(Blob),i="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===o.call(File);function a(e){return n&&(e instanceof ArrayBuffer||r(e))||s&&e instanceof Blob||i&&e instanceof File}t.isBinary=a,t.hasBinary=function e(t,n){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(let n=0,r=t.length;n<r;n++)if(e(t[n]))return!0;return!1}if(a(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return e(t.toJSON(),!0);for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e(t[n]))return!0;return!1}},5867:(e,t,n)=>{"use strict";function r(e){if(e)return function(e){for(var t in r.prototype)e[t]=r.prototype[t];return e}(e)}n.r(t),n.d(t,{Emitter:()=>r}),r.prototype.on=r.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},r.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<r.length;o++)if((n=r[o])===t||n.fn===t){r.splice(o,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},r.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var o=(n=n.slice(0)).length;r<o;++r)n[r].apply(this,t)}return this},r.prototype.emitReserved=r.prototype.emit,r.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},r.prototype.hasListeners=function(e){return!!this.listeners(e).length}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nc=void 0;var __webpack_exports__={};(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{CloudServicesCommentsAdapter:()=>vo,CloudServicesRevisionHistoryAdapter:()=>Wo,CloudServicesTrackChangesAdapter:()=>Ao,PresenceList:()=>Xs,RealTimeCollaborativeComments:()=>No,RealTimeCollaborativeEditing:()=>lo,RealTimeCollaborativeRevisionHistory:()=>ts,RealTimeCollaborativeTrackChanges:()=>Jo});var e={};__webpack_require__.r(e),__webpack_require__.d(e,{AttributeOperation:()=>R,Element:()=>Y,InsertOperation:()=>N,MarkerOperation:()=>M,MergeOperation:()=>V,MoveOperation:()=>B,Position:()=>G,Range:()=>F,RenameOperation:()=>U,RootAttributeOperation:()=>J,RootOperation:()=>q,SplitOperation:()=>L,default:()=>D});var t=__webpack_require__(2704),n=__webpack_require__(2209),r=__webpack_require__(9273),o=__webpack_require__(1492),s=__webpack_require__(3136),i=__webpack_require__.n(s);const a=["offline","isInReconnectionStack","connected","has","_reconnectionStack","constructor","limitExceeded","_isBrowserOffline","showWarning","code","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.","_domEmitter","then","get","Connected users limit exceeded","websocketgateway-invalid-plugin-interface","_shouldPluginsReconnect","removeFromReconnectionStack","websocketgateway-missing-token","config","disconnect","state","reconnect","delete","_reconnect","pluginName","catch","set","CloudServices","websocketgateway-missing-websocket-url","function","WebSocketGateway","CONNECTING","webSocketUrl","connect","plugins","DISCONNECTED","real-time-collaboration","add","error","define","addToReconnectionStack","destroy","from","cloudServices.requestTimeout","context","cloudServices.connectionTimeout","cloudservices-init","CONNECTED","token","init","requires","create","connection","change:me","websocketgateway-plugin-already-registered","all","listenTo"];var c,u;c=a,u=308,function(e){for(;--e;)c.push(c.shift())}(++u);const d=function(e,t){return a[e-=0]};class l extends t.ContextPlugin{static get[d("0x21")](){return[d("0xa"),r.Notification]}static get[d("0x7")](){return d("0xd")}constructor(e){super(e),this[d("0x9")]("state",s.WEB_SOCKET_GATEWAY_STATES[d("0x1e")]),this.set(d("0x2f"),!1),this[d("0x2c")]=new Set,this._shouldPluginsReconnect=!1,this[d("0x33")]=Object[d("0x22")](n.DomEmitterMixin)}[d("0x20")](){const e=this[d("0x1b")],t=e[d("0x11")][d("0x35")](d("0xa")),o=e[d("0x11")].get(r.Notification);if(!t[d("0x1f")])throw new n.CKEditorError(d("0x0"),this);if(!t[d("0xf")])throw new n.CKEditorError(d("0xb"),this);return this._domEmitter[d("0x27")](window,d("0x28"),(()=>this._isBrowserOffline=!0)),this[d("0x33")][d("0x27")](window,"online",(()=>this[d("0x2f")]=!1)),this[d("0x1b")][d("0x1")][d("0x16")](d("0x1c"),10),this.context[d("0x1")][d("0x16")](d("0x1a"),20),l[d("0xd")][d("0x10")](t[d("0x1f")],t.webSocketUrl,{timeout:1e3*this[d("0x1b")].config[d("0x35")]("cloudServices.connectionTimeout"),requestTimeout:1e3*this.context[d("0x1")][d("0x35")]("cloudServices.requestTimeout")}).then((e=>{if(this[d("0x23")]=e,this.bind(d("0x3")).to(e,d("0x3"),this,d("0x2f"),((e,t)=>(d("0x2a")!==e&&(this[d("0x38")]=!0),t||e!==s.WEB_SOCKET_GATEWAY_STATES[d("0x1e")]?s.WEB_SOCKET_GATEWAY_STATES.DISCONNECTED:this[d("0x3")]==s.WEB_SOCKET_GATEWAY_STATES[d("0x12")]&&this[d("0x38")]?(this[d("0x38")]=!1,this._reconnect(),s.WEB_SOCKET_GATEWAY_STATES[d("0xe")]):s.WEB_SOCKET_GATEWAY_STATES[d("0x1e")]))),this.connection.on(d("0x15"),((e,t)=>{if(d("0x2e")!==t[d("0x31")])throw console[d("0x15")](t),new n.CKEditorError(d("0x1d"),null,{originalError:t});o[d("0x30")](d("0x32"),{title:d("0x36"),namespace:d("0x13")})})),!e.me)return new Promise((t=>e.on(d("0x24"),t)))})).catch((e=>{throw console[d("0x15")](e),new n.CKEditorError("cloudservices-init",null,{originalError:e})}))}[d("0x17")](e){if(d("0xc")!=typeof e[d("0x4")])throw new n.CKEditorError(d("0x37"),this);if(this[d("0x29")](e))throw new n.CKEditorError(d("0x25"),this,{name:e[d("0x2d")][d("0x7")]});this._reconnectionStack[d("0x14")](e)}[d("0x39")](e){this[d("0x2c")][d("0x5")](e)}isInReconnectionStack(e){return this[d("0x2c")][d("0x2b")](e)}[d("0x6")](){return this[d("0x23")].reconnect()[d("0x34")]((()=>Promise[d("0x26")](Array[d("0x19")](this._reconnectionStack,(e=>e[d("0x4")]())))))[d("0x34")]((()=>this[d("0x3")]=s.WEB_SOCKET_GATEWAY_STATES[d("0x1e")]))[d("0x8")]((e=>{throw console[d("0x15")](e),new n.CKEditorError("cloudservices-reconnection-error",this.context)}))}[d("0x18")](){this.connection&&this[d("0x23")][d("0x2")](),this[d("0x3")]=s.WEB_SOCKET_GATEWAY_STATES[d("0x12")],this[d("0x33")].stopListening(),super[d("0x18")]()}}l[d("0xd")]=i(),l.initialReconnectionInterval=1e3;var p=__webpack_require__(2417);const h=["channelSessions","fire","sessions-register-already-registered","requires","_registeredSessions","defineMe","unregister","set","assign","pluginName","allConnectedUsers","role","connected","state","remove","has","delete","user","getUserSessions","addUser","context","orderNumber","listenTo","_users","register","_uniqueUsersCount","get","_handleSessionAdd","sessions-unregister-not-exist","mySessionId","add","plugins","Sessions","channelConnectedUsers","_handleSessionRemove","size","clear","_createUser","connection","forEach","values","sessionId"];var f,m;f=h,m=457,function(e){for(;--e;)f.push(f.shift())}(++m);const y=function(e,t){return h[e-=0]};class g extends t.ContextPlugin{static get[y("0xe")](){return y("0x25")}static get[y("0x8")](){return[l,p.Users]}constructor(e){super(e),this[y("0x5")]=new Map,this[y("0x26")]=new Map,this.allConnectedUsers=new n.Collection,this._registeredSessions=new Map,this[y("0x1e")]=0,this._users=this[y("0x19")].plugins[y("0x1f")](p.Users)}init(){const e=this[y("0x19")][y("0x24")].get(l);this[y("0x1b")](e,"change:state",((e,t,n)=>{if(y("0x11")!==n)this[y("0x5")][y("0x2")]((e=>e[y("0x29")]())),this[y("0x26")].forEach((e=>e[y("0x29")]())),this.allConnectedUsers[y("0x29")]();else for(const[e,t]of this[y("0x9")])for(const n of t)this[y("0x20")](e,n)})),this[y("0x0")](e[y("0x1")].me,!0)}[y("0x1d")](e,t){if(this._registeredSessions[y("0x14")](e))throw new n.CKEditorError(y("0x7"),null,{channelId:e});this._registeredSessions.set(e,t),this[y("0x5")][y("0xc")](e,new n.Collection),this[y("0x26")][y("0xc")](e,new n.Collection),this[y("0x1b")](t,y("0x23"),((t,n)=>this[y("0x20")](e,n))),this[y("0x1b")](t,y("0x13"),((t,n)=>this[y("0x27")](e,n)));for(const n of t)this[y("0x20")](e,n)}[y("0xb")](e){if(!this._registeredSessions[y("0x14")](e))throw new n.CKEditorError(y("0x21"),null,{channelId:e});const t=this[y("0x9")][y("0x1f")](e);this.stopListening(t);for(const n of t)y("0x11")===this[y("0x19")][y("0x24")][y("0x1f")](l)[y("0x12")]&&this[y("0x27")](e,n);this._registeredSessions[y("0x15")](e),this.channelSessions[y("0x15")](e),this.channelConnectedUsers[y("0x15")](e)}get[y("0x22")](){return this[y("0x19")][y("0x24")].get(l).connection[y("0x4")]}getUserBySessionId(e){for(const t of this[y("0x5")][y("0x3")]())for(const n of t)if(n.id===e)return n.user}[y("0x17")](e,t){const n=t?[this[y("0x5")][y("0x1f")](t)]:this[y("0x5")].values(),r=new Set;for(const t of n)for(const n of t)n[y("0x16")].id===e.id&&r.add(n.id);return r}getUserRole(e){for(const t of this.channelSessions.values())for(const n of t)if(n[y("0x16")]===e)return n[y("0x10")]}[y("0x20")](e,t){if(y("0x11")!==this[y("0x19")][y("0x24")][y("0x1f")](l)[y("0x12")])return;const n=t[y("0x16")],r=this[y("0x1c")].getUser(n.id)||this[y("0x0")](n),o=Object[y("0xd")]({},t,{user:r});this[y("0x5")].get(e)[y("0x23")](o);const s=this[y("0x26")][y("0x1f")](e);s[y("0x14")](r.id)||s.add(r),this[y("0xf")].has(r.id)||this[y("0xf")][y("0x23")](r),this[y("0x6")]("sessionAdd:"+e,{channelId:e,session:o})}[y("0x27")](e,t){if(y("0x11")!==this[y("0x19")][y("0x24")][y("0x1f")](l)[y("0x12")])return;const n=this[y("0x26")][y("0x1f")](e),r=t[y("0x16")];r.id&&(this.channelSessions[y("0x1f")](e)[y("0x13")](t.id),n[y("0x14")](r.id)&&!this[y("0x17")](r,e)[y("0x28")]&&n[y("0x13")](r.id),this[y("0xf")][y("0x1f")](r.id)&&!this[y("0x17")](r).size&&this.allConnectedUsers[y("0x13")](r.id))}[y("0x0")](e,t){const n=this._users[y("0x18")](e);return t&&this._users[y("0xa")](e.id),n[y("0x1a")]=this._uniqueUsersCount++,n}}var b=__webpack_require__(7594),O=__webpack_require__.n(b),v=__webpack_require__(9940),w={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};O()(v.Z,w);v.Z.locals;const x=["removeMarker","_createdBatches","end","isSimilar","enqueueChange","isCollapsed","getMarkerClass","requires","userPositionMarker","get","editing","getNearestSelectionRange","getSelectionClass","getContainedElement","newRange","startsWith","size","ck-user__marker ","contenteditable","UserMarkers","init","isInline","markers","oldRange","user:range:","hasContent","schema","for","setCustomProperty","markerName","editor","reconvertMarker","rootName","getRange","start","delete","toRange","getAttribute","getFirstRange","fromRange","mySessionId","root","user:position","createUIElement","change:range","parent","afterInit","getUserBySessionId","color","getCustomProperty","getStart","user:position:","innerHTML","isObject","updateMarker","highest","createRange","render","batch","has","hasDomSelection","createUserMarkerOperations","markerToHighlight","marker","set","change","split","plugins","ck-user__selection","type","detach","checkChild","span","conversion","view","pluginName","element","editingDowncast","user:range","markerRange","toDomElement","name","$graveyard","document","model","deletionPosition","commands","$text","markerToElement","nodeAfter"];var _,I;_=x,I=259,function(e){for(;--e;)_.push(_.shift())}(++I);const S=function(e,t){return x[e-=0]};class P extends t.Plugin{static get[S("0x12")](){return[g]}static get[S("0x56")](){return S("0x1e")}[S("0x1f")](){const e=this[S("0x29")],t=e[S("0x4e")][S("0x14")](g);e[S("0x54")][S("0x26")]("editingDowncast")[S("0x9")]({model:S("0x35"),view:(n,{writer:r})=>function(e,t,n,r){const o=e.markerName.split(":")[2],s=n[S("0x3a")](o);if(!s||o===n[S("0x33")])return;if(!r[S("0x5")][S("0x25")][S("0x52")](e[S("0x0")].start,S("0x8")))return;const i={class:S("0x1c")+s[S("0x3b")][S("0x11")](),"data-name":s[S("0x2")],"data-session-id":o},a=r[S("0x5")][S("0x21")][S("0x14")](e[S("0x28")])[S("0x3d")](),c=a[S("0xa")],u=r[S("0x5")].schema;if(c&&u[S("0x40")](c)&&u[S("0x20")](c)&&!r.model.markers.get(S("0x23")+o).getRange()[S("0x10")])return;const d=a[S("0x38")];return r.model[S("0x25")].isLimit(d)&&!r[S("0x5")][S("0x24")](d)&&(i[S("0x1d")]=!1),function(e,t){const n=e[S("0x36")](S("0x53"),t);return e[S("0x27")](S("0x13"),!0,n),n[S("0x44")]=function(e){const t=this[S("0x1")](e);return t[S("0x3f")]='⁠<span class="ck-user__marker-line" contenteditable="false"><span class="ck-user__marker-dot"></span></span>⁠',t},n[S("0xe")]=function(e){return!(!this[S("0x3c")](S("0x13"))||!e[S("0x3c")]("userPositionMarker")||this[S("0x30")]("data-session-id")!=e[S("0x30")]("data-session-id"))},n}(t,i)}(n,r,t,e)}),e[S("0x54")].for(S("0x58"))[S("0x49")]({model:S("0x59"),view:e=>function(e,t){const n=e.markerName[S("0x4d")](":")[2];if(n===t[S("0x33")])return null;const r=t.getUserBySessionId(n);return r?{id:n,classes:[S("0x4f"),r[S("0x3b")][S("0x17")]()],attributes:{"data-session-id":n},priority:2e3+r.orderNumber}:{id:n,classes:[]}}(e,t)}),function(e){const t=e.model,n=new Map,r=e[S("0x4e")][S("0x14")](g);t.markers.on("update:user:range",((s,i,a,c)=>{if(!c&&n[S("0x14")](i[S("0x2")]))return n.get(i[S("0x2")])[S("0x51")](),void n[S("0x2e")](i[S("0x2")]);const u=i.name[S("0x4d")](":")[2];if(u===r[S("0x33")])return;const d=S("0x3e")+u;t[S("0x21")].has(d)&&e.editing[S("0x2a")](d),i.on(S("0x37"),((e,r,s)=>{if(S("0x3")!=r.root.rootName&&S("0x3")==i[S("0x2c")]()[S("0x34")][S("0x2b")]&&!n[S("0x46")](i[S("0x2")])){const e=t[S("0x25")][S("0x16")](s.deletionPosition);if(e){const r=o.LiveRange[S("0x32")](e);n[S("0x4b")](i[S("0x2")],r),r.on(S("0x37"),((e,o,s)=>{if(S("0x3")==r[S("0x34")].rootName){const e=t.schema[S("0x16")](s[S("0x6")]);e?(r[S("0x2d")]=e.start,r.end=e[S("0xd")]):(n.delete(i[S("0x2")]),r[S("0x51")]())}}))}}}))})),t[S("0x4")].on(S("0x4c"),(()=>{n[S("0x1b")]>0&&t[S("0xf")]({isUndoable:!1},(e=>{for(const[r,o]of n)S("0x3")==t.markers.get(r)[S("0x2c")]()[S("0x34")][S("0x2b")]&&(T(r[S("0x4d")](":")[2],o[S("0x2f")](),t,e),o[S("0x51")]());n.clear()}))}))}(e)}[S("0x39")](){const e=this[S("0x29")],t=e[S("0x7")][S("0x14")]("undo");t&&e[S("0x5")].on("applyOperation",((n,r)=>{const o=r[0];if(S("0x4a")!=o[S("0x50")]||!o[S("0x2")][S("0x1a")]("user:"))return;const s=o[S("0x45")];t[S("0xc")][S("0x46")](s)&&(o[S("0x19")]=o[S("0x22")]?e[S("0x5")][S("0x43")](o[S("0x22")].start,o[S("0x22")][S("0xd")]):null)}),{priority:S("0x42")})}[S("0x48")](){const e=this.editor,t=e[S("0x5")][S("0x4")],n=e[S("0x4e")][S("0x14")](g);e[S("0x5")].enqueueChange({isUndoable:!1},(r=>{const o=S("0x23")+n[S("0x33")],s=S("0x3e")+n[S("0x33")],i=e[S("0x5")].markers[S("0x46")](o);e[S("0x15")][S("0x55")][S("0x47")]?T(n[S("0x33")],t.selection[S("0x31")](),e[S("0x5")],r):i&&(r[S("0xb")](o),r.removeMarker(s))}))}}function T(e,t,n,r){const o=S("0x23")+e,s=S("0x3e")+e,i=t[S("0x18")]();let a=t.start;i&&i.is(S("0x57"),"tableCell")&&(a=function(e,t){for(const n of e.getPositions())if(t[S("0x25")][S("0x52")](n,S("0x8")))return n}(t,n),t=r[S("0x43")](a));const c=r[S("0x43")](a);n[S("0x21")].has(o)?(r.updateMarker(o,{range:t}),r[S("0x41")](s,{range:c})):(r.addMarker(o,{range:t,usingOperation:!0}),r.addMarker(s,{range:c,usingOperation:!0}))}function A(e,t,n){const r=e.t;switch(t){case"PENDING_ACTION_SENDING_DATA":return r({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 r("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 r("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 r("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 r("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 r("Synchronization issue");case"PENDING_ACTION_REVISION_HISTORY":return r({string:"Unsaved change in revision history.",id:"PENDING_ACTION_REVISION_HISTORY"});case"CONNECTED_USERS":return r({string:"1 connected user (me)",plural:"%0 connected users",id:"CONNECTED_USERS"},n);default:return""}}var k=__webpack_require__(1993);const C=k.Reader,j=k.Writer,E=k.util,D=k.roots.default||(k.roots.default={}),R=D.AttributeOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.range=null,e.prototype.key="",e.prototype.oldValueBoolean=!1,e.prototype.oldValueJson="",e.prototype.newValueBoolean=!1,e.prototype.newValueJson="",e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.range&&Object.hasOwnProperty.call(e,"range")&&D.Range.encode(e.range,t.uint32(10).fork()).ldelim(),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(18).string(e.key),null!=e.oldValueBoolean&&Object.hasOwnProperty.call(e,"oldValueBoolean")&&t.uint32(24).bool(e.oldValueBoolean),null!=e.oldValueJson&&Object.hasOwnProperty.call(e,"oldValueJson")&&t.uint32(34).string(e.oldValueJson),null!=e.newValueBoolean&&Object.hasOwnProperty.call(e,"newValueBoolean")&&t.uint32(40).bool(e.newValueBoolean),null!=e.newValueJson&&Object.hasOwnProperty.call(e,"newValueJson")&&t.uint32(50).string(e.newValueJson),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(56).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.AttributeOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.range=D.Range.decode(e,e.uint32());break;case 2:r.key=e.string();break;case 3:r.oldValueBoolean=e.bool();break;case 4:r.oldValueJson=e.string();break;case 5:r.newValueBoolean=e.bool();break;case 6:r.newValueJson=e.string();break;case 7:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.range&&e.hasOwnProperty("range")){let t=D.Range.verify(e.range);if(t)return"range."+t}return null!=e.key&&e.hasOwnProperty("key")&&!E.isString(e.key)?"key: string expected":null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof e.oldValueBoolean?"oldValueBoolean: boolean expected":null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&!E.isString(e.oldValueJson)?"oldValueJson: string expected":null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof e.newValueBoolean?"newValueBoolean: boolean expected":null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&!E.isString(e.newValueJson)?"newValueJson: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.AttributeOperation)return e;let t=new D.AttributeOperation;if(null!=e.range){if("object"!=typeof e.range)throw TypeError(".AttributeOperation.range: object expected");t.range=D.Range.fromObject(e.range)}return null!=e.key&&(t.key=String(e.key)),null!=e.oldValueBoolean&&(t.oldValueBoolean=Boolean(e.oldValueBoolean)),null!=e.oldValueJson&&(t.oldValueJson=String(e.oldValueJson)),null!=e.newValueBoolean&&(t.newValueBoolean=Boolean(e.newValueBoolean)),null!=e.newValueJson&&(t.newValueJson=String(e.newValueJson)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.range=null,n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=e.range&&e.hasOwnProperty("range")&&(n.range=D.Range.toObject(e.range,t)),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=e.oldValueBoolean),null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&(n.oldValueJson=e.oldValueJson),null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=e.newValueBoolean),null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&(n.newValueJson=e.newValueJson),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/AttributeOperation"},e})(),N=D.InsertOperation=(()=>{function e(e){if(this.nodes=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.position=null,e.prototype.nodes=E.emptyArray,e.prototype.shouldReceiveAttributes=!1,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=j.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&D.Position.encode(e.position,t.uint32(10).fork()).ldelim(),null!=e.nodes&&e.nodes.length)for(let n=0;n<e.nodes.length;++n)D.Element.encode(e.nodes[n],t.uint32(18).fork()).ldelim();return null!=e.shouldReceiveAttributes&&Object.hasOwnProperty.call(e,"shouldReceiveAttributes")&&t.uint32(24).bool(e.shouldReceiveAttributes),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(32).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.InsertOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.position=D.Position.decode(e,e.uint32());break;case 2:r.nodes&&r.nodes.length||(r.nodes=[]),r.nodes.push(D.Element.decode(e,e.uint32()));break;case 3:r.shouldReceiveAttributes=e.bool();break;case 4:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.position&&e.hasOwnProperty("position")){let t=D.Position.verify(e.position);if(t)return"position."+t}if(null!=e.nodes&&e.hasOwnProperty("nodes")){if(!Array.isArray(e.nodes))return"nodes: array expected";for(let t=0;t<e.nodes.length;++t){let n=D.Element.verify(e.nodes[t]);if(n)return"nodes."+n}}return null!=e.shouldReceiveAttributes&&e.hasOwnProperty("shouldReceiveAttributes")&&"boolean"!=typeof e.shouldReceiveAttributes?"shouldReceiveAttributes: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.InsertOperation)return e;let t=new D.InsertOperation;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".InsertOperation.position: object expected");t.position=D.Position.fromObject(e.position)}if(e.nodes){if(!Array.isArray(e.nodes))throw TypeError(".InsertOperation.nodes: array expected");t.nodes=[];for(let n=0;n<e.nodes.length;++n){if("object"!=typeof e.nodes[n])throw TypeError(".InsertOperation.nodes: object expected");t.nodes[n]=D.Element.fromObject(e.nodes[n])}}return null!=e.shouldReceiveAttributes&&(t.shouldReceiveAttributes=Boolean(e.shouldReceiveAttributes)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.nodes=[]),t.defaults&&(n.position=null,n.shouldReceiveAttributes=!1,n.wasUndone=!1),null!=e.position&&e.hasOwnProperty("position")&&(n.position=D.Position.toObject(e.position,t)),e.nodes&&e.nodes.length){n.nodes=[];for(let r=0;r<e.nodes.length;++r)n.nodes[r]=D.Element.toObject(e.nodes[r],t)}return null!=e.shouldReceiveAttributes&&e.hasOwnProperty("shouldReceiveAttributes")&&(n.shouldReceiveAttributes=e.shouldReceiveAttributes),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/InsertOperation"},e})(),M=D.MarkerOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.name="",e.prototype.oldRange=null,e.prototype.newRange=null,e.prototype.affectsData=!1,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&t.uint32(10).string(e.name),null!=e.oldRange&&Object.hasOwnProperty.call(e,"oldRange")&&D.Range.encode(e.oldRange,t.uint32(18).fork()).ldelim(),null!=e.newRange&&Object.hasOwnProperty.call(e,"newRange")&&D.Range.encode(e.newRange,t.uint32(26).fork()).ldelim(),null!=e.affectsData&&Object.hasOwnProperty.call(e,"affectsData")&&t.uint32(32).bool(e.affectsData),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(40).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.MarkerOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.name=e.string();break;case 2:r.oldRange=D.Range.decode(e,e.uint32());break;case 3:r.newRange=D.Range.decode(e,e.uint32());break;case 4:r.affectsData=e.bool();break;case 5:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")&&!E.isString(e.name))return"name: string expected";if(null!=e.oldRange&&e.hasOwnProperty("oldRange")){let t=D.Range.verify(e.oldRange);if(t)return"oldRange."+t}if(null!=e.newRange&&e.hasOwnProperty("newRange")){let t=D.Range.verify(e.newRange);if(t)return"newRange."+t}return null!=e.affectsData&&e.hasOwnProperty("affectsData")&&"boolean"!=typeof e.affectsData?"affectsData: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.MarkerOperation)return e;let t=new D.MarkerOperation;if(null!=e.name&&(t.name=String(e.name)),null!=e.oldRange){if("object"!=typeof e.oldRange)throw TypeError(".MarkerOperation.oldRange: object expected");t.oldRange=D.Range.fromObject(e.oldRange)}if(null!=e.newRange){if("object"!=typeof e.newRange)throw TypeError(".MarkerOperation.newRange: object expected");t.newRange=D.Range.fromObject(e.newRange)}return null!=e.affectsData&&(t.affectsData=Boolean(e.affectsData)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.name="",n.oldRange=null,n.newRange=null,n.affectsData=!1,n.wasUndone=!1),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.oldRange&&e.hasOwnProperty("oldRange")&&(n.oldRange=D.Range.toObject(e.oldRange,t)),null!=e.newRange&&e.hasOwnProperty("newRange")&&(n.newRange=D.Range.toObject(e.newRange,t)),null!=e.affectsData&&e.hasOwnProperty("affectsData")&&(n.affectsData=e.affectsData),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MarkerOperation"},e})(),V=D.MergeOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.sourcePosition=null,e.prototype.targetPosition=null,e.prototype.graveyardPosition=null,e.prototype.howMany=0,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.sourcePosition&&Object.hasOwnProperty.call(e,"sourcePosition")&&D.Position.encode(e.sourcePosition,t.uint32(10).fork()).ldelim(),null!=e.targetPosition&&Object.hasOwnProperty.call(e,"targetPosition")&&D.Position.encode(e.targetPosition,t.uint32(18).fork()).ldelim(),null!=e.graveyardPosition&&Object.hasOwnProperty.call(e,"graveyardPosition")&&D.Position.encode(e.graveyardPosition,t.uint32(26).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&t.uint32(32).uint32(e.howMany),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(40).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.MergeOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.sourcePosition=D.Position.decode(e,e.uint32());break;case 2:r.targetPosition=D.Position.decode(e,e.uint32());break;case 3:r.graveyardPosition=D.Position.decode(e,e.uint32());break;case 4:r.howMany=e.uint32();break;case 5:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")){let t=D.Position.verify(e.sourcePosition);if(t)return"sourcePosition."+t}if(null!=e.targetPosition&&e.hasOwnProperty("targetPosition")){let t=D.Position.verify(e.targetPosition);if(t)return"targetPosition."+t}if(null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")){let t=D.Position.verify(e.graveyardPosition);if(t)return"graveyardPosition."+t}return null!=e.howMany&&e.hasOwnProperty("howMany")&&!E.isInteger(e.howMany)?"howMany: integer expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.MergeOperation)return e;let t=new D.MergeOperation;if(null!=e.sourcePosition){if("object"!=typeof e.sourcePosition)throw TypeError(".MergeOperation.sourcePosition: object expected");t.sourcePosition=D.Position.fromObject(e.sourcePosition)}if(null!=e.targetPosition){if("object"!=typeof e.targetPosition)throw TypeError(".MergeOperation.targetPosition: object expected");t.targetPosition=D.Position.fromObject(e.targetPosition)}if(null!=e.graveyardPosition){if("object"!=typeof e.graveyardPosition)throw TypeError(".MergeOperation.graveyardPosition: object expected");t.graveyardPosition=D.Position.fromObject(e.graveyardPosition)}return null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.sourcePosition=null,n.targetPosition=null,n.graveyardPosition=null,n.howMany=0,n.wasUndone=!1),null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(n.sourcePosition=D.Position.toObject(e.sourcePosition,t)),null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(n.targetPosition=D.Position.toObject(e.targetPosition,t)),null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=D.Position.toObject(e.graveyardPosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MergeOperation"},e})(),B=D.MoveOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.sourcePosition=null,e.prototype.howMany=0,e.prototype.targetPosition=null,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.sourcePosition&&Object.hasOwnProperty.call(e,"sourcePosition")&&D.Position.encode(e.sourcePosition,t.uint32(10).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&t.uint32(16).uint32(e.howMany),null!=e.targetPosition&&Object.hasOwnProperty.call(e,"targetPosition")&&D.Position.encode(e.targetPosition,t.uint32(26).fork()).ldelim(),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(32).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.MoveOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.sourcePosition=D.Position.decode(e,e.uint32());break;case 2:r.howMany=e.uint32();break;case 3:r.targetPosition=D.Position.decode(e,e.uint32());break;case 4:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")){let t=D.Position.verify(e.sourcePosition);if(t)return"sourcePosition."+t}if(null!=e.howMany&&e.hasOwnProperty("howMany")&&!E.isInteger(e.howMany))return"howMany: integer expected";if(null!=e.targetPosition&&e.hasOwnProperty("targetPosition")){let t=D.Position.verify(e.targetPosition);if(t)return"targetPosition."+t}return null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.MoveOperation)return e;let t=new D.MoveOperation;if(null!=e.sourcePosition){if("object"!=typeof e.sourcePosition)throw TypeError(".MoveOperation.sourcePosition: object expected");t.sourcePosition=D.Position.fromObject(e.sourcePosition)}if(null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.targetPosition){if("object"!=typeof e.targetPosition)throw TypeError(".MoveOperation.targetPosition: object expected");t.targetPosition=D.Position.fromObject(e.targetPosition)}return null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.sourcePosition=null,n.howMany=0,n.targetPosition=null,n.wasUndone=!1),null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(n.sourcePosition=D.Position.toObject(e.sourcePosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(n.targetPosition=D.Position.toObject(e.targetPosition,t)),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MoveOperation"},e})(),U=D.RenameOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.position=null,e.prototype.oldName="",e.prototype.newName="",e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&D.Position.encode(e.position,t.uint32(10).fork()).ldelim(),null!=e.oldName&&Object.hasOwnProperty.call(e,"oldName")&&t.uint32(18).string(e.oldName),null!=e.newName&&Object.hasOwnProperty.call(e,"newName")&&t.uint32(26).string(e.newName),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(32).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.RenameOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.position=D.Position.decode(e,e.uint32());break;case 2:r.oldName=e.string();break;case 3:r.newName=e.string();break;case 4:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.position&&e.hasOwnProperty("position")){let t=D.Position.verify(e.position);if(t)return"position."+t}return null!=e.oldName&&e.hasOwnProperty("oldName")&&!E.isString(e.oldName)?"oldName: string expected":null!=e.newName&&e.hasOwnProperty("newName")&&!E.isString(e.newName)?"newName: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.RenameOperation)return e;let t=new D.RenameOperation;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".RenameOperation.position: object expected");t.position=D.Position.fromObject(e.position)}return null!=e.oldName&&(t.oldName=String(e.oldName)),null!=e.newName&&(t.newName=String(e.newName)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.position=null,n.oldName="",n.newName="",n.wasUndone=!1),null!=e.position&&e.hasOwnProperty("position")&&(n.position=D.Position.toObject(e.position,t)),null!=e.oldName&&e.hasOwnProperty("oldName")&&(n.oldName=e.oldName),null!=e.newName&&e.hasOwnProperty("newName")&&(n.newName=e.newName),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RenameOperation"},e})(),J=D.RootAttributeOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.root="",e.prototype.key="",e.prototype.oldValueBoolean=!1,e.prototype.oldValueJson="",e.prototype.newValueBoolean=!1,e.prototype.newValueJson="",e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.root&&Object.hasOwnProperty.call(e,"root")&&t.uint32(10).string(e.root),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(18).string(e.key),null!=e.oldValueBoolean&&Object.hasOwnProperty.call(e,"oldValueBoolean")&&t.uint32(24).bool(e.oldValueBoolean),null!=e.oldValueJson&&Object.hasOwnProperty.call(e,"oldValueJson")&&t.uint32(34).string(e.oldValueJson),null!=e.newValueBoolean&&Object.hasOwnProperty.call(e,"newValueBoolean")&&t.uint32(40).bool(e.newValueBoolean),null!=e.newValueJson&&Object.hasOwnProperty.call(e,"newValueJson")&&t.uint32(50).string(e.newValueJson),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(56).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.RootAttributeOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.root=e.string();break;case 2:r.key=e.string();break;case 3:r.oldValueBoolean=e.bool();break;case 4:r.oldValueJson=e.string();break;case 5:r.newValueBoolean=e.bool();break;case 6:r.newValueJson=e.string();break;case 7:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.root&&e.hasOwnProperty("root")&&!E.isString(e.root)?"root: string expected":null!=e.key&&e.hasOwnProperty("key")&&!E.isString(e.key)?"key: string expected":null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof e.oldValueBoolean?"oldValueBoolean: boolean expected":null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&!E.isString(e.oldValueJson)?"oldValueJson: string expected":null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof e.newValueBoolean?"newValueBoolean: boolean expected":null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&!E.isString(e.newValueJson)?"newValueJson: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.RootAttributeOperation)return e;let t=new D.RootAttributeOperation;return null!=e.root&&(t.root=String(e.root)),null!=e.key&&(t.key=String(e.key)),null!=e.oldValueBoolean&&(t.oldValueBoolean=Boolean(e.oldValueBoolean)),null!=e.oldValueJson&&(t.oldValueJson=String(e.oldValueJson)),null!=e.newValueBoolean&&(t.newValueBoolean=Boolean(e.newValueBoolean)),null!=e.newValueJson&&(t.newValueJson=String(e.newValueJson)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.root="",n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=e.root&&e.hasOwnProperty("root")&&(n.root=e.root),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=e.oldValueBoolean),null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&(n.oldValueJson=e.oldValueJson),null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=e.newValueBoolean),null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&(n.newValueJson=e.newValueJson),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RootAttributeOperation"},e})(),q=D.RootOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.rootName="",e.prototype.elementName="",e.prototype.isAdd=!1,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.rootName&&Object.hasOwnProperty.call(e,"rootName")&&t.uint32(10).string(e.rootName),null!=e.elementName&&Object.hasOwnProperty.call(e,"elementName")&&t.uint32(18).string(e.elementName),null!=e.isAdd&&Object.hasOwnProperty.call(e,"isAdd")&&t.uint32(24).bool(e.isAdd),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(32).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.RootOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.rootName=e.string();break;case 2:r.elementName=e.string();break;case 3:r.isAdd=e.bool();break;case 4:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.rootName&&e.hasOwnProperty("rootName")&&!E.isString(e.rootName)?"rootName: string expected":null!=e.elementName&&e.hasOwnProperty("elementName")&&!E.isString(e.elementName)?"elementName: string expected":null!=e.isAdd&&e.hasOwnProperty("isAdd")&&"boolean"!=typeof e.isAdd?"isAdd: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.RootOperation)return e;let t=new D.RootOperation;return null!=e.rootName&&(t.rootName=String(e.rootName)),null!=e.elementName&&(t.elementName=String(e.elementName)),null!=e.isAdd&&(t.isAdd=Boolean(e.isAdd)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.rootName="",n.elementName="",n.isAdd=!1,n.wasUndone=!1),null!=e.rootName&&e.hasOwnProperty("rootName")&&(n.rootName=e.rootName),null!=e.elementName&&e.hasOwnProperty("elementName")&&(n.elementName=e.elementName),null!=e.isAdd&&e.hasOwnProperty("isAdd")&&(n.isAdd=e.isAdd),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RootOperation"},e})(),L=D.SplitOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.splitPosition=null,e.prototype.graveyardPosition=null,e.prototype.howMany=0,e.prototype.insertionPosition=null,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.splitPosition&&Object.hasOwnProperty.call(e,"splitPosition")&&D.Position.encode(e.splitPosition,t.uint32(10).fork()).ldelim(),null!=e.graveyardPosition&&Object.hasOwnProperty.call(e,"graveyardPosition")&&D.Position.encode(e.graveyardPosition,t.uint32(18).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&t.uint32(24).uint32(e.howMany),null!=e.insertionPosition&&Object.hasOwnProperty.call(e,"insertionPosition")&&D.Position.encode(e.insertionPosition,t.uint32(34).fork()).ldelim(),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(40).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.SplitOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.splitPosition=D.Position.decode(e,e.uint32());break;case 2:r.graveyardPosition=D.Position.decode(e,e.uint32());break;case 3:r.howMany=e.uint32();break;case 4:r.insertionPosition=D.Position.decode(e,e.uint32());break;case 5:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.splitPosition&&e.hasOwnProperty("splitPosition")){let t=D.Position.verify(e.splitPosition);if(t)return"splitPosition."+t}if(null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")){let t=D.Position.verify(e.graveyardPosition);if(t)return"graveyardPosition."+t}if(null!=e.howMany&&e.hasOwnProperty("howMany")&&!E.isInteger(e.howMany))return"howMany: integer expected";if(null!=e.insertionPosition&&e.hasOwnProperty("insertionPosition")){let t=D.Position.verify(e.insertionPosition);if(t)return"insertionPosition."+t}return null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof D.SplitOperation)return e;let t=new D.SplitOperation;if(null!=e.splitPosition){if("object"!=typeof e.splitPosition)throw TypeError(".SplitOperation.splitPosition: object expected");t.splitPosition=D.Position.fromObject(e.splitPosition)}if(null!=e.graveyardPosition){if("object"!=typeof e.graveyardPosition)throw TypeError(".SplitOperation.graveyardPosition: object expected");t.graveyardPosition=D.Position.fromObject(e.graveyardPosition)}if(null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.insertionPosition){if("object"!=typeof e.insertionPosition)throw TypeError(".SplitOperation.insertionPosition: object expected");t.insertionPosition=D.Position.fromObject(e.insertionPosition)}return null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.splitPosition=null,n.graveyardPosition=null,n.howMany=0,n.insertionPosition=null,n.wasUndone=!1),null!=e.splitPosition&&e.hasOwnProperty("splitPosition")&&(n.splitPosition=D.Position.toObject(e.splitPosition,t)),null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=D.Position.toObject(e.graveyardPosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.insertionPosition&&e.hasOwnProperty("insertionPosition")&&(n.insertionPosition=D.Position.toObject(e.insertionPosition,t)),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SplitOperation"},e})(),G=D.Position=(()=>{function e(e){if(this.path=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.root="",e.prototype.rootMain=!1,e.prototype.rootGraveyard=!1,e.prototype.path=E.emptyArray,e.prototype.stickiness="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=j.create()),null!=e.root&&Object.hasOwnProperty.call(e,"root")&&t.uint32(10).string(e.root),null!=e.rootMain&&Object.hasOwnProperty.call(e,"rootMain")&&t.uint32(16).bool(e.rootMain),null!=e.rootGraveyard&&Object.hasOwnProperty.call(e,"rootGraveyard")&&t.uint32(24).bool(e.rootGraveyard),null!=e.path&&e.path.length){t.uint32(34).fork();for(let n=0;n<e.path.length;++n)t.uint32(e.path[n]);t.ldelim()}return null!=e.stickiness&&Object.hasOwnProperty.call(e,"stickiness")&&t.uint32(42).string(e.stickiness),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.Position;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.root=e.string();break;case 2:r.rootMain=e.bool();break;case 3:r.rootGraveyard=e.bool();break;case 4:if(r.path&&r.path.length||(r.path=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)r.path.push(e.uint32())}else r.path.push(e.uint32());break;case 5:r.stickiness=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.root&&e.hasOwnProperty("root")&&!E.isString(e.root))return"root: string expected";if(null!=e.rootMain&&e.hasOwnProperty("rootMain")&&"boolean"!=typeof e.rootMain)return"rootMain: boolean expected";if(null!=e.rootGraveyard&&e.hasOwnProperty("rootGraveyard")&&"boolean"!=typeof e.rootGraveyard)return"rootGraveyard: boolean expected";if(null!=e.path&&e.hasOwnProperty("path")){if(!Array.isArray(e.path))return"path: array expected";for(let t=0;t<e.path.length;++t)if(!E.isInteger(e.path[t]))return"path: integer[] expected"}return null!=e.stickiness&&e.hasOwnProperty("stickiness")&&!E.isString(e.stickiness)?"stickiness: string expected":null},e.fromObject=function(e){if(e instanceof D.Position)return e;let t=new D.Position;if(null!=e.root&&(t.root=String(e.root)),null!=e.rootMain&&(t.rootMain=Boolean(e.rootMain)),null!=e.rootGraveyard&&(t.rootGraveyard=Boolean(e.rootGraveyard)),e.path){if(!Array.isArray(e.path))throw TypeError(".Position.path: array expected");t.path=[];for(let n=0;n<e.path.length;++n)t.path[n]=e.path[n]>>>0}return null!=e.stickiness&&(t.stickiness=String(e.stickiness)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.path=[]),t.defaults&&(n.root="",n.rootMain=!1,n.rootGraveyard=!1,n.stickiness=""),null!=e.root&&e.hasOwnProperty("root")&&(n.root=e.root),null!=e.rootMain&&e.hasOwnProperty("rootMain")&&(n.rootMain=e.rootMain),null!=e.rootGraveyard&&e.hasOwnProperty("rootGraveyard")&&(n.rootGraveyard=e.rootGraveyard),e.path&&e.path.length){n.path=[];for(let t=0;t<e.path.length;++t)n.path[t]=e.path[t]}return null!=e.stickiness&&e.hasOwnProperty("stickiness")&&(n.stickiness=e.stickiness),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Position"},e})(),F=D.Range=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.start=null,e.prototype.end=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=j.create()),null!=e.start&&Object.hasOwnProperty.call(e,"start")&&D.Position.encode(e.start,t.uint32(10).fork()).ldelim(),null!=e.end&&Object.hasOwnProperty.call(e,"end")&&D.Position.encode(e.end,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n=void 0===t?e.len:e.pos+t,r=new D.Range;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.start=D.Position.decode(e,e.uint32());break;case 2:r.end=D.Position.decode(e,e.uint32());break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.start&&e.hasOwnProperty("start")){let t=D.Position.verify(e.start);if(t)return"start."+t}if(null!=e.end&&e.hasOwnProperty("end")){let t=D.Position.verify(e.end);if(t)return"end."+t}return null},e.fromObject=function(e){if(e instanceof D.Range)return e;let t=new D.Range;if(null!=e.start){if("object"!=typeof e.start)throw TypeError(".Range.start: object expected");t.start=D.Position.fromObject(e.start)}if(null!=e.end){if("object"!=typeof e.end)throw TypeError(".Range.end: object expected");t.end=D.Position.fromObject(e.end)}return t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.start=null,n.end=null),null!=e.start&&e.hasOwnProperty("start")&&(n.start=D.Position.toObject(e.start,t)),null!=e.end&&e.hasOwnProperty("end")&&(n.end=D.Position.toObject(e.end,t)),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Range"},e})(),Y=D.Element=(()=>{function e(e){if(this.children=[],this.attributesBoolean={},e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.name="",e.prototype.children=E.emptyArray,e.prototype.data="",e.prototype.attributesBoolean=E.emptyObject,e.prototype.attributesJson="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=j.create()),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&t.uint32(10).string(e.name),null!=e.children&&e.children.length)for(let n=0;n<e.children.length;++n)D.Element.encode(e.children[n],t.uint32(18).fork()).ldelim();if(null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(26).string(e.data),null!=e.attributesBoolean&&Object.hasOwnProperty.call(e,"attributesBoolean"))for(let n=Object.keys(e.attributesBoolean),r=0;r<n.length;++r)t.uint32(34).fork().uint32(10).string(n[r]).uint32(16).bool(e.attributesBoolean[n[r]]).ldelim();return null!=e.attributesJson&&Object.hasOwnProperty.call(e,"attributesJson")&&t.uint32(42).string(e.attributesJson),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof C||(e=C.create(e));let n,r,o=void 0===t?e.len:e.pos+t,s=new D.Element;for(;e.pos<o;){let t=e.uint32();switch(t>>>3){case 1:s.name=e.string();break;case 2:s.children&&s.children.length||(s.children=[]),s.children.push(D.Element.decode(e,e.uint32()));break;case 3:s.data=e.string();break;case 4:{s.attributesBoolean===E.emptyObject&&(s.attributesBoolean={});let t=e.uint32()+e.pos;for(n="",r=!1;e.pos<t;){let t=e.uint32();switch(t>>>3){case 1:n=e.string();break;case 2:r=e.bool();break;default:e.skipType(7&t)}}s.attributesBoolean[n]=r;break}case 5:s.attributesJson=e.string();break;default:e.skipType(7&t)}}return s},e.decodeDelimited=function(e){return e instanceof C||(e=new C(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")&&!E.isString(e.name))return"name: string expected";if(null!=e.children&&e.hasOwnProperty("children")){if(!Array.isArray(e.children))return"children: array expected";for(let t=0;t<e.children.length;++t){let n=D.Element.verify(e.children[t]);if(n)return"children."+n}}if(null!=e.data&&e.hasOwnProperty("data")&&!E.isString(e.data))return"data: string expected";if(null!=e.attributesBoolean&&e.hasOwnProperty("attributesBoolean")){if(!E.isObject(e.attributesBoolean))return"attributesBoolean: object expected";let t=Object.keys(e.attributesBoolean);for(let n=0;n<t.length;++n)if("boolean"!=typeof e.attributesBoolean[t[n]])return"attributesBoolean: boolean{k:string} expected"}return null!=e.attributesJson&&e.hasOwnProperty("attributesJson")&&!E.isString(e.attributesJson)?"attributesJson: string expected":null},e.fromObject=function(e){if(e instanceof D.Element)return e;let t=new D.Element;if(null!=e.name&&(t.name=String(e.name)),e.children){if(!Array.isArray(e.children))throw TypeError(".Element.children: array expected");t.children=[];for(let n=0;n<e.children.length;++n){if("object"!=typeof e.children[n])throw TypeError(".Element.children: object expected");t.children[n]=D.Element.fromObject(e.children[n])}}if(null!=e.data&&(t.data=String(e.data)),e.attributesBoolean){if("object"!=typeof e.attributesBoolean)throw TypeError(".Element.attributesBoolean: object expected");t.attributesBoolean={};for(let n=Object.keys(e.attributesBoolean),r=0;r<n.length;++r)t.attributesBoolean[n[r]]=Boolean(e.attributesBoolean[n[r]])}return null!=e.attributesJson&&(t.attributesJson=String(e.attributesJson)),t},e.toObject=function(e,t){t||(t={});let n,r={};if((t.arrays||t.defaults)&&(r.children=[]),(t.objects||t.defaults)&&(r.attributesBoolean={}),t.defaults&&(r.name="",r.data="",r.attributesJson=""),null!=e.name&&e.hasOwnProperty("name")&&(r.name=e.name),e.children&&e.children.length){r.children=[];for(let n=0;n<e.children.length;++n)r.children[n]=D.Element.toObject(e.children[n],t)}if(null!=e.data&&e.hasOwnProperty("data")&&(r.data=e.data),e.attributesBoolean&&(n=Object.keys(e.attributesBoolean)).length){r.attributesBoolean={};for(let t=0;t<n.length;++t)r.attributesBoolean[n[t]]=e.attributesBoolean[n[t]]}return null!=e.attributesJson&&e.hasOwnProperty("attributesJson")&&(r.attributesJson=e.attributesJson),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,k.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Element"},e})();class z{constructor(){this._protobufRoot=e}getDescriptor(e){return new H(this._protobufRoot[e])}}class H{constructor(e){this._protobuf=e}compress(e){const t=this._protobuf.verify(e);if(t)throw Error(t);return this._protobuf.encode(this._protobuf.create(e)).finish()}decompress(e){return this._protobuf.toObject(this._protobuf.decode(e),{oneofs:!0})}}const K=function(){this.__data__=[],this.size=0};const W=function(e,t){return e===t||e!=e&&t!=t};const $=function(e,t){for(var n=e.length;n--;)if(W(e[n][0],t))return n;return-1};var X=Array.prototype.splice;const Z=function(e){var t=this.__data__,n=$(t,e);return!(n<0)&&(n==t.length-1?t.pop():X.call(t,n,1),--this.size,!0)};const Q=function(e){var t=this.__data__,n=$(t,e);return n<0?void 0:t[n][1]};const ee=function(e){return $(this.__data__,e)>-1};const te=function(e,t){var n=this.__data__,r=$(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function ne(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}ne.prototype.clear=K,ne.prototype.delete=Z,ne.prototype.get=Q,ne.prototype.has=ee,ne.prototype.set=te;const re=ne;const oe=function(){this.__data__=new re,this.size=0};const se=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};const ie=function(e){return this.__data__.get(e)};const ae=function(e){return this.__data__.has(e)};const ce="object"==typeof global&&global&&global.Object===Object&&global;var ue="object"==typeof self&&self&&self.Object===Object&&self;const de=ce||ue||Function("return this")();const le=de.Symbol;var pe=Object.prototype,he=pe.hasOwnProperty,fe=pe.toString,me=le?le.toStringTag:void 0;const ye=function(e){var t=he.call(e,me),n=e[me];try{e[me]=void 0;var r=!0}catch(e){}var o=fe.call(e);return r&&(t?e[me]=n:delete e[me]),o};var ge=Object.prototype.toString;const be=function(e){return ge.call(e)};var Oe=le?le.toStringTag:void 0;const ve=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Oe&&Oe in Object(e)?ye(e):be(e)};const we=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const xe=function(e){if(!we(e))return!1;var t=ve(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const _e=de["__core-js_shared__"];var Ie,Se=(Ie=/[^.]+$/.exec(_e&&_e.keys&&_e.keys.IE_PROTO||""))?"Symbol(src)_1."+Ie:"";const Pe=function(e){return!!Se&&Se in e};var Te=Function.prototype.toString;const Ae=function(e){if(null!=e){try{return Te.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var ke=/^\[object .+?Constructor\]$/,Ce=Function.prototype,je=Object.prototype,Ee=Ce.toString,De=je.hasOwnProperty,Re=RegExp("^"+Ee.call(De).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const Ne=function(e){return!(!we(e)||Pe(e))&&(xe(e)?Re:ke).test(Ae(e))};const Me=function(e,t){return null==e?void 0:e[t]};const Ve=function(e,t){var n=Me(e,t);return Ne(n)?n:void 0};const Be=Ve(de,"Map");const Ue=Ve(Object,"create");const Je=function(){this.__data__=Ue?Ue(null):{},this.size=0};const qe=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var Le=Object.prototype.hasOwnProperty;const Ge=function(e){var t=this.__data__;if(Ue){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return Le.call(t,e)?t[e]:void 0};var Fe=Object.prototype.hasOwnProperty;const Ye=function(e){var t=this.__data__;return Ue?void 0!==t[e]:Fe.call(t,e)};const ze=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Ue&&void 0===t?"__lodash_hash_undefined__":t,this};function He(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}He.prototype.clear=Je,He.prototype.delete=qe,He.prototype.get=Ge,He.prototype.has=Ye,He.prototype.set=ze;const Ke=He;const We=function(){this.size=0,this.__data__={hash:new Ke,map:new(Be||re),string:new Ke}};const $e=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};const Xe=function(e,t){var n=e.__data__;return $e(t)?n["string"==typeof t?"string":"hash"]:n.map};const Ze=function(e){var t=Xe(this,e).delete(e);return this.size-=t?1:0,t};const Qe=function(e){return Xe(this,e).get(e)};const et=function(e){return Xe(this,e).has(e)};const tt=function(e,t){var n=Xe(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function nt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}nt.prototype.clear=We,nt.prototype.delete=Ze,nt.prototype.get=Qe,nt.prototype.has=et,nt.prototype.set=tt;const rt=nt;const ot=function(e,t){var n=this.__data__;if(n instanceof re){var r=n.__data__;if(!Be||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new rt(r)}return n.set(e,t),this.size=n.size,this};function st(e){var t=this.__data__=new re(e);this.size=t.size}st.prototype.clear=oe,st.prototype.delete=se,st.prototype.get=ie,st.prototype.has=ae,st.prototype.set=ot;const it=st;const at=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e};const ct=function(){try{var e=Ve(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();const ut=function(e,t,n){"__proto__"==t&&ct?ct(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n};var dt=Object.prototype.hasOwnProperty;const lt=function(e,t,n){var r=e[t];dt.call(e,t)&&W(r,n)&&(void 0!==n||t in e)||ut(e,t,n)};const pt=function(e,t,n,r){var o=!n;n||(n={});for(var s=-1,i=t.length;++s<i;){var a=t[s],c=r?r(n[a],e[a],a,n,e):void 0;void 0===c&&(c=e[a]),o?ut(n,a,c):lt(n,a,c)}return n};const ht=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r};const ft=function(e){return null!=e&&"object"==typeof e};const mt=function(e){return ft(e)&&"[object Arguments]"==ve(e)};var yt=Object.prototype,gt=yt.hasOwnProperty,bt=yt.propertyIsEnumerable;const Ot=mt(function(){return arguments}())?mt:function(e){return ft(e)&&gt.call(e,"callee")&&!bt.call(e,"callee")};const vt=Array.isArray;const wt=function(){return!1};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,_t=xt&&"object"==typeof module&&module&&!module.nodeType&&module,It=_t&&_t.exports===xt?de.Buffer:void 0;const St=(It?It.isBuffer:void 0)||wt;var Pt=/^(?:0|[1-9]\d*)$/;const Tt=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&Pt.test(e))&&e>-1&&e%1==0&&e<t};const At=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var kt={};kt["[object Float32Array]"]=kt["[object Float64Array]"]=kt["[object Int8Array]"]=kt["[object Int16Array]"]=kt["[object Int32Array]"]=kt["[object Uint8Array]"]=kt["[object Uint8ClampedArray]"]=kt["[object Uint16Array]"]=kt["[object Uint32Array]"]=!0,kt["[object Arguments]"]=kt["[object Array]"]=kt["[object ArrayBuffer]"]=kt["[object Boolean]"]=kt["[object DataView]"]=kt["[object Date]"]=kt["[object Error]"]=kt["[object Function]"]=kt["[object Map]"]=kt["[object Number]"]=kt["[object Object]"]=kt["[object RegExp]"]=kt["[object Set]"]=kt["[object String]"]=kt["[object WeakMap]"]=!1;const Ct=function(e){return ft(e)&&At(e.length)&&!!kt[ve(e)]};const jt=function(e){return function(t){return e(t)}};var Et="object"==typeof exports&&exports&&!exports.nodeType&&exports,Dt=Et&&"object"==typeof module&&module&&!module.nodeType&&module,Rt=Dt&&Dt.exports===Et&&ce.process;const Nt=function(){try{var e=Dt&&Dt.require&&Dt.require("util").types;return e||Rt&&Rt.binding&&Rt.binding("util")}catch(e){}}();var Mt=Nt&&Nt.isTypedArray;const Vt=Mt?jt(Mt):Ct;var Bt=Object.prototype.hasOwnProperty;const Ut=function(e,t){var n=vt(e),r=!n&&Ot(e),o=!n&&!r&&St(e),s=!n&&!r&&!o&&Vt(e),i=n||r||o||s,a=i?ht(e.length,String):[],c=a.length;for(var u in e)!t&&!Bt.call(e,u)||i&&("length"==u||o&&("offset"==u||"parent"==u)||s&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||Tt(u,c))||a.push(u);return a};var Jt=Object.prototype;const qt=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Jt)};const Lt=function(e,t){return function(n){return e(t(n))}};const Gt=Lt(Object.keys,Object);var Ft=Object.prototype.hasOwnProperty;const Yt=function(e){if(!qt(e))return Gt(e);var t=[];for(var n in Object(e))Ft.call(e,n)&&"constructor"!=n&&t.push(n);return t};const zt=function(e){return null!=e&&At(e.length)&&!xe(e)};const Ht=function(e){return zt(e)?Ut(e):Yt(e)};const Kt=function(e,t){return e&&pt(t,Ht(t),e)};const Wt=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t};var $t=Object.prototype.hasOwnProperty;const Xt=function(e){if(!we(e))return Wt(e);var t=qt(e),n=[];for(var r in e)("constructor"!=r||!t&&$t.call(e,r))&&n.push(r);return n};const Zt=function(e){return zt(e)?Ut(e,!0):Xt(e)};const Qt=function(e,t){return e&&pt(t,Zt(t),e)};var en="object"==typeof exports&&exports&&!exports.nodeType&&exports,tn=en&&"object"==typeof module&&module&&!module.nodeType&&module,nn=tn&&tn.exports===en?de.Buffer:void 0,rn=nn?nn.allocUnsafe:void 0;const on=function(e,t){if(t)return e.slice();var n=e.length,r=rn?rn(n):new e.constructor(n);return e.copy(r),r};const sn=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t};const an=function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,s=[];++n<r;){var i=e[n];t(i,n,e)&&(s[o++]=i)}return s};const cn=function(){return[]};var un=Object.prototype.propertyIsEnumerable,dn=Object.getOwnPropertySymbols;const ln=dn?function(e){return null==e?[]:(e=Object(e),an(dn(e),(function(t){return un.call(e,t)})))}:cn;const pn=function(e,t){return pt(e,ln(e),t)};const hn=function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e};const fn=Lt(Object.getPrototypeOf,Object);const mn=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)hn(t,ln(e)),e=fn(e);return t}:cn;const yn=function(e,t){return pt(e,mn(e),t)};const gn=function(e,t,n){var r=t(e);return vt(e)?r:hn(r,n(e))};const bn=function(e){return gn(e,Ht,ln)};const On=function(e){return gn(e,Zt,mn)};const vn=Ve(de,"DataView");const wn=Ve(de,"Promise");const xn=Ve(de,"Set");const _n=Ve(de,"WeakMap");var In="[object Map]",Sn="[object Promise]",Pn="[object Set]",Tn="[object WeakMap]",An="[object DataView]",kn=Ae(vn),Cn=Ae(Be),jn=Ae(wn),En=Ae(xn),Dn=Ae(_n),Rn=ve;(vn&&Rn(new vn(new ArrayBuffer(1)))!=An||Be&&Rn(new Be)!=In||wn&&Rn(wn.resolve())!=Sn||xn&&Rn(new xn)!=Pn||_n&&Rn(new _n)!=Tn)&&(Rn=function(e){var t=ve(e),n="[object Object]"==t?e.constructor:void 0,r=n?Ae(n):"";if(r)switch(r){case kn:return An;case Cn:return In;case jn:return Sn;case En:return Pn;case Dn:return Tn}return t});const Nn=Rn;var Mn=Object.prototype.hasOwnProperty;const Vn=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Mn.call(e,"index")&&(n.index=e.index,n.input=e.input),n};const Bn=de.Uint8Array;const Un=function(e){var t=new e.constructor(e.byteLength);return new Bn(t).set(new Bn(e)),t};const Jn=function(e,t){var n=t?Un(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)};var qn=/\w*$/;const Ln=function(e){var t=new e.constructor(e.source,qn.exec(e));return t.lastIndex=e.lastIndex,t};var Gn=le?le.prototype:void 0,Fn=Gn?Gn.valueOf:void 0;const Yn=function(e){return Fn?Object(Fn.call(e)):{}};const zn=function(e,t){var n=t?Un(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)};const Hn=function(e,t,n){var r=e.constructor;switch(t){case"[object ArrayBuffer]":return Un(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return Jn(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return zn(e,n);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return Ln(e);case"[object Symbol]":return Yn(e)}};var Kn=Object.create;const Wn=function(){function e(){}return function(t){if(!we(t))return{};if(Kn)return Kn(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();const $n=function(e){return"function"!=typeof e.constructor||qt(e)?{}:Wn(fn(e))};const Xn=function(e){return ft(e)&&"[object Map]"==Nn(e)};var Zn=Nt&&Nt.isMap;const Qn=Zn?jt(Zn):Xn;const er=function(e){return ft(e)&&"[object Set]"==Nn(e)};var tr=Nt&&Nt.isSet;const nr=tr?jt(tr):er;var rr="[object Arguments]",or="[object Function]",sr="[object Object]",ir={};ir[rr]=ir["[object Array]"]=ir["[object ArrayBuffer]"]=ir["[object DataView]"]=ir["[object Boolean]"]=ir["[object Date]"]=ir["[object Float32Array]"]=ir["[object Float64Array]"]=ir["[object Int8Array]"]=ir["[object Int16Array]"]=ir["[object Int32Array]"]=ir["[object Map]"]=ir["[object Number]"]=ir[sr]=ir["[object RegExp]"]=ir["[object Set]"]=ir["[object String]"]=ir["[object Symbol]"]=ir["[object Uint8Array]"]=ir["[object Uint8ClampedArray]"]=ir["[object Uint16Array]"]=ir["[object Uint32Array]"]=!0,ir["[object Error]"]=ir[or]=ir["[object WeakMap]"]=!1;const ar=function e(t,n,r,o,s,i){var a,c=1&n,u=2&n,d=4&n;if(r&&(a=s?r(t,o,s,i):r(t)),void 0!==a)return a;if(!we(t))return t;var l=vt(t);if(l){if(a=Vn(t),!c)return sn(t,a)}else{var p=Nn(t),h=p==or||"[object GeneratorFunction]"==p;if(St(t))return on(t,c);if(p==sr||p==rr||h&&!s){if(a=u||h?{}:$n(t),!c)return u?yn(t,Qt(a,t)):pn(t,Kt(a,t))}else{if(!ir[p])return s?t:{};a=Hn(t,p,c)}}i||(i=new it);var f=i.get(t);if(f)return f;i.set(t,a),nr(t)?t.forEach((function(o){a.add(e(o,n,r,o,t,i))})):Qn(t)&&t.forEach((function(o,s){a.set(s,e(o,n,r,s,t,i))}));var m=l?void 0:(d?u?On:bn:u?Zt:Ht)(t);return at(m||t,(function(o,s){m&&(o=t[s=o]),lt(a,s,e(o,n,r,s,t,i))})),a};const cr=function(e){return ar(e,5)};const ur=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};const dr=function(e){return this.__data__.has(e)};function lr(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new rt;++t<n;)this.add(e[t])}lr.prototype.add=lr.prototype.push=ur,lr.prototype.has=dr;const pr=lr;const hr=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1};const fr=function(e,t){return e.has(t)};const mr=function(e,t,n,r,o,s){var i=1&n,a=e.length,c=t.length;if(a!=c&&!(i&&c>a))return!1;var u=s.get(e),d=s.get(t);if(u&&d)return u==t&&d==e;var l=-1,p=!0,h=2&n?new pr:void 0;for(s.set(e,t),s.set(t,e);++l<a;){var f=e[l],m=t[l];if(r)var y=i?r(m,f,l,t,e,s):r(f,m,l,e,t,s);if(void 0!==y){if(y)continue;p=!1;break}if(h){if(!hr(t,(function(e,t){if(!fr(h,t)&&(f===e||o(f,e,n,r,s)))return h.push(t)}))){p=!1;break}}else if(f!==m&&!o(f,m,n,r,s)){p=!1;break}}return s.delete(e),s.delete(t),p};const yr=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n};const gr=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n};var br=le?le.prototype:void 0,Or=br?br.valueOf:void 0;const vr=function(e,t,n,r,o,s,i){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!s(new Bn(e),new Bn(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return W(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=yr;case"[object Set]":var c=1&r;if(a||(a=gr),e.size!=t.size&&!c)return!1;var u=i.get(e);if(u)return u==t;r|=2,i.set(e,t);var d=mr(a(e),a(t),r,o,s,i);return i.delete(e),d;case"[object Symbol]":if(Or)return Or.call(e)==Or.call(t)}return!1};var wr=Object.prototype.hasOwnProperty;const xr=function(e,t,n,r,o,s){var i=1&n,a=bn(e),c=a.length;if(c!=bn(t).length&&!i)return!1;for(var u=c;u--;){var d=a[u];if(!(i?d in t:wr.call(t,d)))return!1}var l=s.get(e),p=s.get(t);if(l&&p)return l==t&&p==e;var h=!0;s.set(e,t),s.set(t,e);for(var f=i;++u<c;){var m=e[d=a[u]],y=t[d];if(r)var g=i?r(y,m,d,t,e,s):r(m,y,d,e,t,s);if(!(void 0===g?m===y||o(m,y,n,r,s):g)){h=!1;break}f||(f="constructor"==d)}if(h&&!f){var b=e.constructor,O=t.constructor;b==O||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof O&&O instanceof O||(h=!1)}return s.delete(e),s.delete(t),h};var _r="[object Arguments]",Ir="[object Array]",Sr="[object Object]",Pr=Object.prototype.hasOwnProperty;const Tr=function(e,t,n,r,o,s){var i=vt(e),a=vt(t),c=i?Ir:Nn(e),u=a?Ir:Nn(t),d=(c=c==_r?Sr:c)==Sr,l=(u=u==_r?Sr:u)==Sr,p=c==u;if(p&&St(e)){if(!St(t))return!1;i=!0,d=!1}if(p&&!d)return s||(s=new it),i||Vt(e)?mr(e,t,n,r,o,s):vr(e,t,c,n,r,o,s);if(!(1&n)){var h=d&&Pr.call(e,"__wrapped__"),f=l&&Pr.call(t,"__wrapped__");if(h||f){var m=h?e.value():e,y=f?t.value():t;return s||(s=new it),o(m,y,n,r,s)}}return!!p&&(s||(s=new it),xr(e,t,n,r,o,s))};const Ar=function e(t,n,r,o,s){return t===n||(null==t||null==n||!ft(t)&&!ft(n)?t!=t&&n!=n:Tr(t,n,r,o,e,s))};const kr=function(e,t){return Ar(e,t)};function Cr(e,t){const n=cr(e);return n.path[n.path.length-1]+=t,n}function jr(e,t){return e.root===t.root&&kr(e.path,t.path)}function Er(e){Rr(e,(e=>("main"==e.root?(e.rootMain=!0,delete e.root):"$graveyard"==e.root&&(e.rootGraveyard=!0,delete e.root),e)))}function Dr(e){Rr(e,(e=>(e.rootMain?(e.root="main",delete e.rootMain):e.rootGraveyard&&(e.root="$graveyard",delete e.rootGraveyard),e)))}function Rr(e,t){for(const n in e){const r=e[n];"nodes"!==n&&we(r)&&(r.path&&(r.root||r.rootMain||r.rootGraveyard)?e[n]=t(r):Rr(r,t))}return e}class Nr{constructor(e,t,n){this._id=e,this._operationName=t,this._protobufDescriptor=n}compress(e,t){const n=t.shift();return Er(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){t.types.shift();const n=this._protobufDescriptor.decompress(t.buffers.shift());Dr(n),n.__className=this._operationName,e.push(n)}}class Mr extends Nr{compress(e,t){const n=t.shift();return this._serializeOneOf("oldValue",n),this._serializeOneOf("newValue",n),Er(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){const{types:n,buffers:r}=t,o=this._protobufDescriptor.decompress(r.shift());n.shift(),this._deserializeOneOf("oldValue",o),this._deserializeOneOf("newValue",o),Dr(o),o.__className=this._operationName,e.push(o)}_serializeOneOf(e,t){const n=t[e];"boolean"==typeof n?t[`${e}Boolean`]=n:t[`${e}Json`]=JSON.stringify(n)}_deserializeOneOf(e,t){const n=`${e}Json`;t[n]?(t[e]=JSON.parse(t[n]),delete t[n]):(t[e]=t[`${e}Boolean`],delete t[`${e}Boolean`])}}class Vr extends Nr{compress(e,t){const n=t.shift();return this._serializeNodesAttributes(n.nodes),Er(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){const{types:n,buffers:r}=t,o=this._protobufDescriptor.decompress(r.shift());n.shift(),o.nodes||(o.nodes=[]),this._deserializeNodesAttributes(o.nodes),Dr(o),o.__className=this._operationName,e.push(o)}_serializeNodesAttributes(e){for(const t of e){if(t.attributes){const e=t.attributes;this._areValuesBoolean(e)?t.attributesBoolean=e:t.attributesJson=JSON.stringify(e)}t.children&&this._serializeNodesAttributes(t.children)}}_deserializeNodesAttributes(e){for(const t of e)(t.attributesBoolean||t.attributesJson)&&(t.attributesBoolean?(t.attributes=t.attributesBoolean,delete t.attributesBoolean):(t.attributes=JSON.parse(t.attributesJson),delete t.attributesJson)),t.children&&this._deserializeNodesAttributes(t.children)}_areValuesBoolean(e){return Object.keys(e).every((t=>"boolean"==typeof e[t]))}}class Br extends Nr{decompress(e,t){super.decompress(e,t);const n=e[e.length-1];n.oldRange||(n.oldRange=null),n.newRange||(n.newRange=null)}}class Ur extends Nr{compress(e,t){return t.shift(),e.types.push(this._id),!0}decompress(e,t){t.types.shift(),e.push({__className:this._operationName})}}class Jr extends Br{constructor(e,t,n,r){super(e,t,n),this._omittedNamespace=r+":"}compress(e,t){return!("MarkerOperation"!=t[0].__className||!t[0].name.startsWith(this._omittedNamespace))&&(t[0].name=t[0].name.replace(new RegExp("^"+this._omittedNamespace),""),super.compress(e,t),!0)}decompress(e,t){super.decompress(e,t);const n=e[e.length-1];n.name=this._omittedNamespace+n.name}}class qr{constructor(e,t){this._id=e,this._context=t}compress(e,t){let n;for(;t.length>1&&this._compareOperations(t[0],t[1]);)n?(n=this._combineNext(t.shift(),n),e.types.push(0)):(n=cr(t.shift()),e.types.push(this._id));return!!n&&(n=this._combineNext(t.shift(),n),e.types.push(0),e.buffers.push(this._compressSingleOperation(n)),!0)}decompress(e,t){const n=this._decompressSingleOperation(t);for(;0==t.types[0];)t.types.shift(),e.push(this._splitCurrent(n));e.push(n)}}class Lr extends qr{_combineNext(e,t){return t.nodes[0].data+=e.nodes[0].data,t}_splitCurrent(e){const t=cr(e),n=t.nodes[0],r=e.nodes[0],o=r.data[Symbol.iterator]().next().value,s=o.length;return n.data=o,r.data=r.data.substr(s),e.position=Cr(e.position,s),t}_compareOperations(e,t){if(this._checkOperation(e)&&this._checkOperation(t)){const n=e.nodes[0].data.length,r=jr(Cr(e.position,n),t.position),o=e.nodes[0],s=t.nodes[0];return r&&this._compareAttributes(o,s)}return!1}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("InsertOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("InsertOperation").decompress(t,e),t[0]}_checkOperation(e){return"InsertOperation"==e.__className&&1==e.nodes.length&&e.nodes[0].data&&!e.wasUndone&&1==Array.from(e.nodes[0].data).length}_compareAttributes(e,t){const n=Object.keys(e.attributes||{}),r=Object.keys(t.attributes||{});return n.length===r.length&&n.every((n=>t.attributes[n]&&t.attributes[n]===e.attributes[n]))}}class Gr extends qr{_combineNext(e,t){return t.howMany++,t.sourcePosition=cr(e.sourcePosition),t}_splitCurrent(e){const t=cr(e);return e.howMany--,t.howMany=1,t.sourcePosition=Cr(t.sourcePosition,e.howMany),t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(jr(Cr(e.sourcePosition,-1),t.sourcePosition)&&jr(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MoveOperation").decompress(t,e),t[0]}_checkOperation(e){return"MoveOperation"==e.__className&&"$graveyard"==e.targetPosition.root&&1==e.howMany&&!e.wasUndone}}class Fr extends qr{_combineNext(e,t){return t.howMany++,t}_splitCurrent(e){const t=cr(e);return t.howMany=1,e.howMany--,t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(jr(e.sourcePosition,t.sourcePosition)&&jr(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MoveOperation").decompress(t,e),t[0]}_checkOperation(e){return"MoveOperation"==e.__className&&"$graveyard"==e.targetPosition.root&&1==e.howMany&&!e.wasUndone}}class Yr extends qr{compress(e,t){if(!this._compareOperations(t[0],t[1]))return!1;const n=t.shift();return n.oldRange=null,n.newRange&&jr(n.newRange.start,n.newRange.end)&&(n.newRange.end=null),t.shift(),e.types.push(this._id),e.types.push(0),e.buffers.push(this._compressSingleOperation(n)),!0}decompress(e,t){const n=this._decompressSingleOperation(t);n.newRange&&!n.newRange.end&&(n.newRange.end=cr(n.newRange.start));const r=cr(n);r.newRange&&(r.newRange.start.stickiness="toNone",r.newRange.end=cr(r.newRange.start)),r.name="user:position:"+r.name.split(":")[2],t.types.shift(),e.push(n),e.push(r)}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MarkerOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MarkerOperation").decompress(t,e),t[0]}_compareOperations(e,t){return!(!e||!t)&&("MarkerOperation"==e.__className&&"MarkerOperation"==t.__className&&!(!e.name.startsWith("user:")||!t.name.startsWith("user:")||e.name==t.name))}}class zr{constructor(){this._compressorById=new Map,this._compressorByName=new Map,this._protobufFactory=new z;const e=this._protobufFactory.getDescriptor("MarkerOperation");this._registerCompressor(1,"NoOperation",new Ur(1,"NoOperation",void 0)),this._registerOperationCompressor(10,"AttributeOperation",Mr),this._registerOperationCompressor(11,"InsertOperation",Vr),this._registerOperationCompressor(12,"MarkerOperation",Br),this._registerOperationCompressor(13,"MergeOperation",Nr),this._registerOperationCompressor(14,"MoveOperation",Nr),this._registerOperationCompressor(15,"RenameOperation",Nr),this._registerOperationCompressor(16,"RootAttributeOperation",Mr),this._registerOperationCompressor(17,"SplitOperation",Nr),this._registerCompressor(18,"CommentMarkerOperation",new Jr(18,"MarkerOperation",e,"comment")),this._registerCompressor(19,"SuggestionMarkerOperation",new Jr(19,"MarkerOperation",e,"suggestion")),this._registerOperationCompressor(20,"RootOperation",Nr),this._registerActionCompressor(100,"TypingAction",Lr),this._registerActionCompressor(101,"DeletingAction",Gr),this._registerActionCompressor(102,"ForwardDeletingAction",Fr),this._registerActionCompressor(103,"UserSelectionAction",Yr)}compress(e){if(!e||!e[0])throw new n.CKEditorError("no-operations-provided",this);const t={types:[],buffers:[],baseVersion:e[0].baseVersion};for(;e.length;)this._getCompressorByName("UserSelectionAction").compress(t,e)||this._getCompressorByName("TypingAction").compress(t,e)||this._getCompressorByName("DeletingAction").compress(t,e)||this._getCompressorByName("ForwardDeletingAction").compress(t,e)||this._getCompressorByName("CommentMarkerOperation").compress(t,e)||this._getCompressorByName("SuggestionMarkerOperation").compress(t,e)||this._getCompressorByName(e[0].__className).compress(t,e);return t}decompress(e){const t=[];for(;e.types.length;){this._compressorById.get(e.types[0]).decompress(t,e)}return t.forEach(((t,n)=>t.baseVersion=e.baseVersion+n)),t}_getCompressorByName(e){return this._compressorByName.get(e)}_registerOperationCompressor(e,t,n){const r=new n(e,t,this._protobufFactory.getDescriptor(t));this._registerCompressor(e,t,r)}_registerActionCompressor(e,t,n){const r=new n(e,this);this._registerCompressor(e,t,r)}_registerCompressor(e,t,n){this._compressorById.set(e,n),this._compressorByName.set(t,n)}}var Hr=__webpack_require__(247),Kr=__webpack_require__.n(Hr),Wr=__webpack_require__(2203),$r=__webpack_require__.n(Wr);const Xr=["detachRoot","_isEditingAllowed","_offset","_isConnected","rootName","_hasSynchronizationProblem","createUserMarkerOperations","realtimecollaborationclient-initservice-internal-error","sendOperations","_setPendingAction","fromJSON","409","_bufferedOperations","startsWith","type","model","sessionId","collaboration.channelId","markers","_lastSyncedOperationId","_handleReconnectionError","add","init","_baseBufferDelay","stop","permissions","_knownOperations","reset","initData","directChange","remove","multi-root-editor-root-attributes-no-root","CollaborativeEditingService","InsertOperation","__className","createRange","Permissions","baseVersion","_handleExternalOperations","isAttached","The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.","size","rootsAttributes","disconnect","_handleServerResponse","data","code","setIdForTheLastOperation","end","_refreshUserSelectionMarkers","realtimecollaborationclient-sendbufferedoperations","lastOperationAcceptedAt","operationsReceived","404","_sendBufferedOperationsDelayId","cloudServices.bundleVersion","cloud-services-internal-error: Request timeout.","disableReadOnlyMode","bind","The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.","_hasSelectionChanged","isReadOnly","Synchronization issue","_isPendingUpdate","wasUndone","_crash","start","_fetchMissingUsers","_disconnectService","set","lastSyncVersion","entries","addOperation","_handleReceivedOperations","addToReconnectionStack","rtc-destroyed","_setUpDataInit","realtimecollaborationclient-init-session-connection-error","lastOperationId","push","destroy","_getOperationsFromInitData","locale","getMany","position","_ignoredOperations","_pendingAction","setPermissions","listenTo","catch","toJSON","document","_compressor","_isAttached","register","_authorId","plugins","pluginName","requires","lastDocumentSession","_isDisconnection","has","_handleInitialConnectionData","fire","cloud-services-internal-error: Collaborative Editing Service is not connected.","connection","addRoot","isUndoneOperation","stopListening","_handleSendingSelectionMarkers","channelSessions","addUser","realtimecollaborationclient-init-document-already-initialized","enableReadOnlyMode","currentDocumentSession","sessionAdd:","_initSessionsHandling","string","batch","keys","bufferOperation","CommentsOnly","applyOperation","createdAt","includes","getIdOfTheLastOperation","_clearPendingAction","createPositionFromPath","editor","_channelId","rtc-offline","isDocumentOperation","connect","forEach","unregister","collaboration","getConnectedSessions","_handleReconnectionResponse","_currentBufferDelay","_isInit","config","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.","message","cloudDocumentVersion","disconnected","_compressOperations","history","_disconnectionOperations","getRoot","_decompressOperations","getReversed","parse","getDocumentDetails","offset","collaboration-missing-channelid","_shouldSendUpdate","_operationToId","length","_shouldSendSelectionUpdate","change:hasDomSelection","_service","get","reconnection: flushed session","metadata","_connectAfterSessionHasBeenFlushed","reconnect","wereChangesApplied","connected","_saveOperationInBuffer","_lastServerVersion","filter","_connectService","Notification","showWarning","realtimecollaborationclient-init-non-existent-root","serverHistory","_document","PENDING_ACTION_SENDING_DATA","slice","_sendBufferedOperationsDelayed","then","roots","realtimecollaborationclient-handleserverresponse","high","error","_updateServerHistory","document:write","state","real-time-collaboration","marker","differ","path","getUser","userId","realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration","return","change:_isEditingAllowed","map","getOperations","_applyOperationsSet","_initThrowingOnDataSet","version","realtimecollaborationclient-init-connection-failed","_operationIdentifier","_sendBufferedOperations"];var Zr,Qr;Zr=Xr,Qr=363,function(e){for(;--e;)Zr.push(Zr.shift())}(++Qr);const eo=function(e,t){return Xr[e-=0]};let to=1;class no extends t.Plugin{static get[eo("0x91")](){return[l,g,P,t.PendingActions,p.Users,r.Notification]}static get[eo("0x90")](){return"RealTimeCollaborationClient"}get[eo("0xbe")](){return this[eo("0xb")]+this[eo("0x31")]}get[eo("0xb")](){return this[eo("0x11")][eo("0x2b")]-this[eo("0x31")]}get lastSyncVersion(){const e=this[eo("0x11")][eo("0x28")]();for(let t=e[eo("0xcc")]-1;t>=0;t--){const n=e[t];if(!this._disconnectionOperations[eo("0x94")](n))return n[eo("0x54")]+1-this[eo("0x31")]}return 0}constructor(e){if(super(e),this[eo("0x31")]=0,this.sessionId=null,this[eo("0x11")]=new o.History,this.editor[eo("0xbb")].define(eo("0xb6"),{}),this[eo("0xb0")]=this[eo("0xaf")][eo("0xbb")][eo("0x3")](eo("0x40")),!this[eo("0xb0")])throw new n.CKEditorError(eo("0xc9"),this);const t=e[eo("0xbb")].get(eo("0x66"))||n.version;this[eo("0x2")]=new(no[eo("0x4f")])(t,this[eo("0xb0")]),this[eo("0x12")]=this[eo("0xaf")][eo("0x3e")][eo("0x8a")],this[eo("0x8b")]=new zr,this[eo("0x3b")]=[],this[eo("0x49")]=new WeakSet,this[eo("0x74")]("_isPendingUpdate",!1),this[eo("0x74")](eo("0x34"),!1),this[eo("0x85")]=null,this[eo("0x6b")]=!1,this[eo("0x65")]=null,this._baseBufferDelay=300,this._currentBufferDelay=this._baseBufferDelay,this[eo("0x42")]=null,this[eo("0xc2")]=new WeakSet,this[eo("0x2d")]=new so(this[eo("0xc2")])}[eo("0x45")](){const e=this.editor,t=e.plugins.get(p.Users),n=e[eo("0x8f")][eo("0x3")](l);this.listenTo(t,"getOperationAuthor",((e,n)=>{const r=n[0];r[eo("0x8e")]&&(e[eo("0x25")]=t[eo("0x22")](r[eo("0x8e")]),e[eo("0x47")]()),null===r[eo("0x8e")]&&(e[eo("0x25")]=null,e.stop())}),{priority:eo("0x19")}),this[eo("0x87")](e[eo("0x3e")][eo("0x8a")].selection,"change:range",((e,t)=>{t[eo("0x4c")]&&this[eo("0x60")]()})),this[eo("0x87")](e.editing.view,eo("0x1"),(()=>{this[eo("0x60")]()})),this._initThrowingOnDataSet(),e.model.on(eo("0xa9"),((e,t)=>{const n=t[0];n[eo("0xb2")]&&(this[eo("0xa")](n),this[eo("0xca")]()&&this[eo("0x15")]())})),this._setUpDataInit(),this.bind(eo("0x30")).to(n,eo("0x1d"),this,eo("0x34"),((e,t)=>eo("0x9")===e&&!t)),this.on(eo("0x26"),(()=>{this._isEditingAllowed?e[eo("0x68")]("rtc-offline"):e.enableReadOnlyMode(eo("0xb1"))})),this[eo("0x30")]?e.disableReadOnlyMode("rtc-offline"):e[eo("0xa0")]("rtc-offline"),this.set(eo("0x32"),!1)}async reconnect(){const e=this[eo("0xaf")].plugins[eo("0x3")](g),t=this.editor[eo("0x8f")].get(l);try{this._isPendingUpdate=!0,e[eo("0xb5")](this[eo("0xb0")]);const n=await this[eo("0x2")].reconnect(t[eo("0x98")],this[eo("0x75")]);await this[eo("0xb8")](n)&&(this[eo("0x6e")]=!1,this[eo("0xad")]());const r=await this[eo("0x2")][eo("0xb7")]();e[eo("0x8d")](this[eo("0xb0")],r),this[eo("0x9c")](),this[eo("0x32")]=!0}catch(e){if(r=e,eo("0x64")===r[eo("0x5d")]&&this[eo("0x3f")])await this[eo("0x6")]();else if(n=e,eo("0x3a")===n[eo("0x5d")]){const e=A(this[eo("0xaf")][eo("0x81")],eo("0x57"));this[eo("0x43")](e)}else{if(!(e instanceof ro))throw e;this[eo("0x43")]()}}var n,r}[eo("0x7f")](){const e=this[eo("0xaf")][eo("0x8f")].get(l),t=this[eo("0xaf")][eo("0x8f")][eo("0x3")](g);this[eo("0xaf")][eo("0xa0")](eo("0x7a")),t[eo("0x9d")][eo("0x94")](this[eo("0xb0")])&&t.unregister(this[eo("0xb0")]),e.removeFromReconnectionStack(this),this[eo("0x73")](),super[eo("0x7f")]()}async[eo("0xb8")](e){if(this[eo("0x3f")]!==e[eo("0x3f")]&&this[eo("0x42")]!==e.lastOperationId)throw new ro;return this[eo("0x3f")]=e[eo("0x3f")],this[eo("0x5b")]([],{...e,wereChangesApplied:!1,data:e[eo("0x5c")]},eo("0x7"))}async[eo("0xd")](e,t=!1){const{connection:n}=this[eo("0xaf")].plugins[eo("0x3")](l);no[eo("0x4f")][eo("0xb7")](n,this._channelId).then((e=>this[eo("0xa3")](e)))[eo("0x88")]((e=>{this[eo("0x70")](eo("0x7c"),e)})),this.listenTo(this[eo("0x2")],eo("0x63"),this[eo("0x78")][eo("0x69")](this)),this.listenTo(this[eo("0x2")],eo("0x1a"),((e,t)=>{this._crash(eo("0x36"),t)})),this[eo("0x87")](this[eo("0x2")],eo("0xbf"),(()=>{this[eo("0x32")]=!1}));const r=this._operationIdentifier[eo("0xac")](e),o=await this._service[eo("0xb3")](n,this[eo("0xc0")](e),r);if(this[eo("0x3f")]=o[eo("0x3f")],o[eo("0x8")]&&(this[eo("0x6e")]=!1,this._clearPendingAction()),t){if(!o.wereChangesApplied)return void this._handleReconnectionError();this[eo("0x11")][eo("0x4a")](),this[eo("0x31")]=o[eo("0xc8")],this[eo("0x11")][eo("0x2b")]=this[eo("0x31")],await this._handleServerResponse(e,o,eo("0x4"))}else await this[eo("0x95")](o,e);this._handleSendingSelectionMarkers(),this[eo("0x32")]=!0}[eo("0x9c")](){const e=this[eo("0xaf")].plugins[eo("0x3")](g),t=this.editor[eo("0x8f")][eo("0x3")](P),n=e[eo("0x9d")][eo("0x3")](this[eo("0xb0")]);n&&n[eo("0xcc")]>1?t.createUserMarkerOperations():this[eo("0x87")](e,eo("0xa2")+this[eo("0xb0")],(()=>{2===e[eo("0x9d")][eo("0x3")](this._channelId)[eo("0xcc")]&&t[eo("0x35")]()}))}async[eo("0x78")](e,t,n,r){if(!this[eo("0x6e")]&&this[eo("0x12")][eo("0x2b")]==t){const e=this[eo("0xc4")](n,r);await this._fetchMissingUsers(e),this[eo("0x55")](e,t,n[eo("0x7d")])||this._crash("realtimecollaborationclient-initservice-incorrect-server-operation")}}async _connectAfterSessionHasBeenFlushed(){this[eo("0x73")]();const{locale:e}=this[eo("0xaf")];let t;try{t=await this[eo("0x2")][eo("0xc7")]()}catch(t){const n=A(e,eo("0x6a"));return void this._handleReconnectionError(n)}const n=t[eo("0xa1")]||t[eo("0x92")];if(this[eo("0x42")]===n[eo("0x7d")])await this._connectService(this[eo("0xaf")][eo("0x3e")][eo("0x8a")][eo("0xc1")].getOperations(),!0);else{const t=A(e,eo("0xbc"));this[eo("0x43")](t)}}[eo("0x73")](){this._service[eo("0x5a")](),this._bufferedOperations=[],clearTimeout(this._sendBufferedOperationsDelayId),this[eo("0x9b")](this[eo("0x2")])}[eo("0xa3")](e){const t=this[eo("0xaf")][eo("0x8f")][eo("0x3")](g);this.listenTo(t,eo("0xa2")+this[eo("0xb0")],((e,{session:n})=>{if(n.id===t.mySessionId){e.off();const t=this.editor[eo("0x8f")][eo("0x94")]("CommentsOnly")&&this[eo("0xaf")][eo("0x8f")][eo("0x3")](eo("0xa8"));let r=n[eo("0x48")];t&&t.isEnabled&&(r=r[eo("0xc")]((e=>eo("0x1c")!==e))),this[eo("0xaf")][eo("0x8f")][eo("0x3")](eo("0x53"))[eo("0x86")](r,this[eo("0xb0")])}})),t[eo("0x8d")](this._channelId,e)}[eo("0x2a")](){const e=this.editor[eo("0x5c")][eo("0x74")];this[eo("0xaf")][eo("0x5c")][eo("0x74")]=(...t)=>{if(!t[t[eo("0xcc")]-1].suppressErrorInCollaboration)throw new n.CKEditorError(eo("0x24"),this);e.apply(this.editor[eo("0x5c")],t)}}[eo("0x7b")](){this[eo("0xaf")][eo("0x5c")].on("init",((e,[t])=>{if(this[eo("0x12")][eo("0x2b")])throw new n.CKEditorError(eo("0x9f"),this);e[eo("0x47")](),this[eo("0x38")]();const r=this[eo("0xaf")][eo("0xbb")].get(eo("0x59")),o=this[eo("0x80")](t,r);e[eo("0x25")]=this[eo("0xd")](o)[eo("0x16")]((()=>{this[eo("0xaf")].plugins.get(l)[eo("0x79")](this),this[eo("0xaf")].data[eo("0x96")]("ready")}))[eo("0x88")]((e=>this[eo("0x70")](eo("0x2c"),e))).finally((()=>this._clearPendingAction()))}),{priority:eo("0x19")})}async[eo("0x72")](e){const t=this[eo("0xaf")][eo("0x8f")][eo("0x3")](p.Users),{connection:n}=this[eo("0xaf")][eo("0x8f")][eo("0x3")](l),r=new Set;for(const n of e){const e=n._authorId;e&&!t[eo("0x22")](e)&&r[eo("0x44")](e)}if(0===r[eo("0x58")])return;const o=await $r()[eo("0x82")](n,Array.from(r));for(const e of o)t[eo("0x22")](e.id)||t[eo("0x9e")](e)}_getOperationsFromInitData(e,t={}){const r=this.editor[eo("0x3e")],s=[];let i=0;const a=eo("0xa4")==typeof e?{main:e}:e;for(const e of Object[eo("0xa6")](a)){if(!this[eo("0x12")][eo("0x17")].has(e))throw new n.CKEditorError(eo("0x10"),this);const t=this.editor.data[eo("0xc6")](a[e]),c=this[eo("0x12")][eo("0xc3")](e),u=new o.InsertOperation(r.createPositionAt(c,0),t,i++);s.push(u);for(const[e,n]of t[eo("0x41")]){const t=r[eo("0x52")](r[eo("0xae")](c,n[eo("0x71")][eo("0x21")].slice()),r[eo("0xae")](c,n[eo("0x5f")][eo("0x21")][eo("0x14")]())),a=new o.MarkerOperation(e,null,t,r.markers,!0,i++);s.push(a)}}if(t)for(const[e,a]of Object[eo("0x76")](t)){const t=r.document.getRoot(e);if(!t)throw new n.CKEditorError(eo("0x4e"),null);for(const[e,n]of Object.entries(a))if(null!==n){const r=new o.RootAttributeOperation(t,e,null,n,i++);s[eo("0x7e")](r)}}return s}async _handleInitialConnectionData(e,t){let n;this[eo("0x31")]=e[eo("0xc8")];const r=e[eo("0x8")]&&!e[eo("0x4b")],o=r?0:e[eo("0x5c")][eo("0x54")];if(r)n=t,n[eo("0xb4")]((t=>{t[eo("0xaa")]=e.sessionCreatedAt,t[eo("0xba")]=!0,t[eo("0x8e")]=null})),this[eo("0x29")](n,r);else{if(e.initData){const t=this[eo("0x80")](e[eo("0x4b")]);this[eo("0x12")][eo("0xc1")].version=-t[eo("0xcc")],t[eo("0xb4")]((n=>{n.baseVersion-=t[eo("0xcc")],n[eo("0xaa")]=e.sessionCreatedAt,n[eo("0xba")]=!0,n[eo("0x8e")]=null})),this[eo("0x29")](t,!0),this[eo("0x11")][eo("0x2b")]=-t.length+this[eo("0x31")],this[eo("0x1b")](t)}this[eo("0x12")][eo("0xc1")][eo("0x2b")]=o,n=this[eo("0xc4")](e.data,e[eo("0x5")]),await this[eo("0x72")](n),this[eo("0x29")](n,r)}e.lastOperationId&&(this._operationIdentifier[eo("0x5e")](n,e[eo("0x7d")]),this[eo("0x42")]=e[eo("0x7d")]),this.serverHistory[eo("0x2b")]=o+this[eo("0x31")],this._updateServerHistory(n)}_crash(e,t){throw this[eo("0x6e")]=!0,t&&console[eo("0x1a")](t),new n.CKEditorError(e,this.editor)}[eo("0xa")](e){this._knownOperations.has(e)||(this._knownOperations[eo("0x44")](e),this[eo("0x3b")].push(e),this[eo("0x85")]||eo("0x1f")==e[eo("0x3d")]&&!e.affectsData||this[eo("0x38")]())}[eo("0x15")](e=!1){!e&&this[eo("0x6e")]||(this[eo("0x6e")]=!0,clearTimeout(this[eo("0x65")]),this[eo("0x65")]=setTimeout((()=>{this[eo("0x2e")]()[eo("0x16")]((e=>{e&&(this[eo("0xad")](),this[eo("0x6e")]=!1)})).catch((e=>{if(this[eo("0xad")](),this[eo("0x6e")]=!1,!((t=e)[eo("0xbd")][eo("0x3c")]("cloud-services-internal-error: Not connected.")||t[eo("0xbd")].startsWith(eo("0x97"))||t.message[eo("0x3c")](eo("0x67"))))throw e;var t}))}),this[eo("0xb9")]))}async[eo("0x2e")](){const e=this[eo("0xaf")][eo("0x8f")][eo("0x3")](P);if(this[eo("0x0")]()&&(e[eo("0x35")](),this[eo("0x6b")]=!1),!this._shouldSendUpdate())return!0;const t=[...this._bufferedOperations];for(const e of t)e[eo("0x6f")]=this[eo("0x12")][eo("0xc1")][eo("0x9a")](e);const n=this[eo("0x2d")][eo("0xac")](t),r=to++,o=this._compressOperations(t),s=await this[eo("0x2")][eo("0x37")](o,o[eo("0x54")],n);try{return await this._handleServerResponse(t,s,r)}catch(e){return this[eo("0x70")](eo("0x61"),e)}}async[eo("0x5b")](e,t,n){if("error"in t)throw t[eo("0x1a")];let r=!1;if(t[eo("0x8")]){t[eo("0x7d")]&&(this._lastSyncedOperationId=t[eo("0x7d")]),this[eo("0x3b")]=this._bufferedOperations[eo("0xc")]((t=>!e[eo("0xab")](t)));for(const n of e)n[eo("0xaa")]=eo("0x62")in t&&t[eo("0x62")]||void 0;this[eo("0x1b")](e),r=!0,this._currentBufferDelay=this[eo("0x46")]}else{const e=this[eo("0xc4")](t.data,t[eo("0x5")])[eo("0xc")]((e=>e[eo("0x54")]>=this._lastServerVersion));await this[eo("0x72")](e),r=this[eo("0x55")](e,t[eo("0x2b")],t.lastOperationId),this[eo("0xb9")]=Math.round(this[eo("0xb9")]/2)}return r?!this[eo("0xca")]()||(this[eo("0x15")](!0),!1):this._crash(eo("0x18"))}[eo("0x55")](e,t,n){try{const r={document:this[eo("0x12")],useRelations:!1,padWithNoOps:!0},{operationsA:s,operationsB:i,originalOperations:a}=(0,o.transformSets)(e,this[eo("0x3b")],r);oo(s,this._document[eo("0x2b")]),oo(i,t);for(const e of s){const t=a[eo("0x3")](e);e[eo("0x8e")]=t?t[eo("0x8e")]:null}n&&(this._operationIdentifier[eo("0x5e")](e,n),this[eo("0x42")]=n),this[eo("0x3b")]=[...i],this[eo("0x29")](s),this._updateServerHistory(e)}catch(e){return console[eo("0x1a")](e),!1}return!0}[eo("0x29")](e,t=!1){this.editor[eo("0x3e")].enqueueChange({isUndoable:!1,isLocal:!1},(t=>{for(const n of e)this[eo("0x49")][eo("0x44")](n),t[eo("0xa5")][eo("0x77")](n),this[eo("0xaf")].model[eo("0xa9")](n)}))}[eo("0x1b")](e){e.forEach((e=>{const t=e.clone();t._authorId=e._authorId,t[eo("0xba")]=!!e._isInit,t[eo("0xaa")]=e[eo("0xaa")],t[eo("0x54")]+=this._offset,e._isDisconnection&&this[eo("0xc2")][eo("0x44")](t),this[eo("0x11")].addOperation(t)}))}[eo("0x43")](e){const t=this.editor[eo("0x8f")][eo("0x3")](eo("0xe")),n=this[eo("0xaf")][eo("0x81")];e||(e=A(n,"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.")),t[eo("0xf")](e,{title:A(n,eo("0x6d")),namespace:eo("0x1e")}),this[eo("0x34")]=!0,clearTimeout(this[eo("0x65")]),this._bufferedOperations=[],this[eo("0xaf")][eo("0x8f")][eo("0x3")](l)[eo("0x7f")]()}[eo("0x38")](){this[eo("0x85")]||(this[eo("0x85")]=this.editor[eo("0x8f")][eo("0x3")](t.PendingActions).add(A(this.editor[eo("0x81")],eo("0x13"))))}_clearPendingAction(){this._pendingAction&&(this[eo("0xaf")].plugins.get(t.PendingActions)[eo("0x4d")](this[eo("0x85")]),this[eo("0x85")]=null)}_compressOperations(e){const t=e[eo("0x27")]((e=>e[eo("0x89")]()));return this[eo("0x8b")].compress(t)}_decompressOperations(e,t){const n=new Set;return this[eo("0x8b")].decompress(e)[eo("0x27")](((e,r)=>{const s="init"==t[r][eo("0x3d")];if(s&&eo("0x50")==e[eo("0x51")]){const t=e[eo("0x83")].root;if(!this[eo("0x12")].getRoot(t)){const e=new o.RootOperation(t,"$root",!0,this[eo("0x12")],null);this[eo("0x12")][eo("0xc3")](t)[eo("0x8c")]=!0,this[eo("0x12")].differ[eo("0xa7")](e)}}const i=o.OperationFactory[eo("0x39")](e,this[eo("0x12")]);if(eo("0x2f")==i[eo("0x3d")])n.add(e[eo("0x33")]);else if(eo("0x99")==i[eo("0x3d")]){const t=this[eo("0x12")][eo("0xc3")](e.rootName);t&&t[eo("0x56")]()&&!n[eo("0x94")](e[eo("0x33")])&&(t[eo("0x8c")]=!1,this[eo("0x12")][eo("0x20")][eo("0xa7")](i[eo("0xc5")]()))}return i[eo("0x6f")]=e.wasUndone,i._isInit=s,i[eo("0x8e")]=s?null:t[r][eo("0x23")],i[eo("0x93")]="cs:removeUser"===t[r][eo("0x3d")],i.createdAt=t[r][eo("0xaa")],i}))}_refreshUserSelectionMarkers(){this._hasSelectionChanged=!0,this._shouldSendSelectionUpdate()?this[eo("0x15")]():this[eo("0x6b")]=!1}[eo("0x0")](){const e=this[eo("0xaf")][eo("0x8f")].get(g).channelSessions[eo("0x3")](this[eo("0xb0")]);return Boolean(!this[eo("0xaf")][eo("0x6c")]&&e&&e[eo("0xcc")]>1&&this._hasSelectionChanged)}_shouldSendUpdate(){return this[eo("0x3b")][eo("0xcc")]>0||this._shouldSendSelectionUpdate()}}no.CollaborativeEditingService=Kr();class ro extends Error{}function oo(e,t){for(const n of e)n[eo("0x54")]=t++}class so{constructor(e){this[eo("0x84")]=e,this[eo("0xcb")]=new WeakMap}[eo("0xac")](e){let t=e.length;for(;t--;){const r=e[t];if(!this._ignoredOperations[eo("0x94")](r)){if(!this._operationToId[eo("0x94")](r)){const e=(0,n.uid)()[eo("0x14")](1,18);this[eo("0xcb")][eo("0x74")](r,e)}return this[eo("0xcb")][eo("0x3")](r)}}}[eo("0x5e")](e,t){if(!t)return;let n=e[eo("0xcc")];for(;n--;){const r=e[n];this[eo("0x84")][eo("0x94")](r)||this[eo("0xcb")][eo("0x74")](r,t)}}}var io,ao,co=["RealTimeCollaborativeEditing","pluginName","requires"];io=co,ao=209,function(e){for(;--e;)io.push(io.shift())}(++ao);var uo=function(e,t){return co[e-=0]};class lo extends t.Plugin{static get[uo("0x0")](){return[no]}static get[uo("0x2")](){return uo("0x1")}}var po=__webpack_require__(716),ho=__webpack_require__.n(po),fo=__webpack_require__(1740),mo=__webpack_require__.n(fo);const yo=["_fetchMissingUsersForThreads","cloudservicescommentsadapter-disconnect-not-exist","context","comments","updateComment","set","createdAt","cloudservicescommentsadapter-connect-already-connected","getCommentThread","getCommentThreads","off","_getService","_setUpService","cloud-services-internal-error: Request timeout.","get","reopenCommentThread","removeCommentThread","assign","resolveCommentThread","disconnect","addCommentThread","keys","commentThreadReopened","_connectService","addComment","CommentsRepository","setPermissions","commentAdded","commentThreadAdded","commentThreadResolved","code","startsWith","map","commentThreadId","listenTo","catch","authorId","getUser","adapter","from","resolvedAt","size","attributes","plugins","delete","cloud-services-internal-error: Not connected.","has","CommentsService","getComment","commentId","config","_services","connect","getMany","update","register","content","requires","mySessionId","addUser","removeComment","sessionAdd:","commentThreadUpdated","updateCommentThread","resolvedBy","reconnect","404","message","destroy","cloud-services-internal-error: Comments Service is not connected.","remove","_terminateService","add","resolve","collaboration.channelId"];var go,bo;go=yo,bo=469,function(e){for(;--e;)go.push(go.shift())}(++bo);const Oo=function(e,t){return yo[e-=0]};class vo extends t.ContextPlugin{static get[Oo("0x26")](){return[l,Oo("0x6"),g,p.Users]}constructor(e){super(e),this[Oo("0x20")]=new Map}async init(){const e=this[Oo("0x3a")],n=e.plugins[Oo("0x46")](Oo("0x6"));if(e.plugins[Oo("0x46")](l).addToReconnectionStack(this),n[Oo("0x13")]={addCommentThread:async({channelId:e,threadId:t,comments:n,resolvedAt:r,resolvedBy:o,context:s,attributes:i})=>{const a=await this[Oo("0x43")](e)[Oo("0x1")]({commentThreadId:t,comments:n.map((n=>{return o=e,{commentThreadId:t,commentId:(r=n).commentId,userId:r[Oo("0x11")],content:r[Oo("0x25")],documentId:o,createdAt:r[Oo("0x3e")],attributes:r[Oo("0x17")]||{}};var r,o})),resolvedAt:r,resolvedBy:o,context:s,attributes:i})[Oo("0x10")](xo);return{threadId:a.commentThreadId,comments:a[Oo("0x3b")]}},getCommentThread:async({channelId:e,threadId:t})=>{const n=await this[Oo("0x43")](e)[Oo("0x40")](t)[Oo("0x10")](xo);return await this[Oo("0x38")]([n]),{threadId:n[Oo("0xe")],comments:n.comments[Oo("0xd")](_o),context:n[Oo("0x3a")],resolvedAt:n[Oo("0x15")],resolvedBy:n.resolvedBy,attributes:n[Oo("0x17")]||{}}},updateCommentThread:async({channelId:e,threadId:t,context:n,attributes:r})=>this[Oo("0x43")](e).updateCommentThread({commentThreadId:t,context:n,attributes:r}).catch(wo)[Oo("0x10")](xo),resolveCommentThread:async({channelId:e,threadId:t})=>{const n=await this[Oo("0x43")](e)[Oo("0x4a")](t)[Oo("0x10")](wo).catch(xo);return{threadId:n[Oo("0xe")],resolvedAt:n[Oo("0x15")],resolvedBy:n[Oo("0x2d")]}},reopenCommentThread:async({channelId:e,threadId:t})=>this[Oo("0x43")](e)[Oo("0x47")](t).catch(wo)[Oo("0x10")](xo),removeCommentThread:({channelId:e,threadId:t})=>this._getService(e)[Oo("0x48")](t)[Oo("0x10")](wo)[Oo("0x10")](xo),addComment:({channelId:e,threadId:t,commentId:n,content:r,attributes:o})=>this[Oo("0x43")](e)[Oo("0x5")](t,n,r,o)[Oo("0x10")](xo),updateComment:({channelId:e,threadId:t,commentId:n,content:r,attributes:o})=>this[Oo("0x43")](e)[Oo("0x3c")](t,n,r,o)[Oo("0x10")](wo)[Oo("0x10")](xo),removeComment:({channelId:e,threadId:t,commentId:n})=>this[Oo("0x43")](e)[Oo("0x29")](t,n)[Oo("0x10")](wo).catch(xo)},e instanceof t.Context){const t=e[Oo("0x1f")][Oo("0x46")]("collaboration.channelId"),n=e[Oo("0x18")][Oo("0x46")](g);await this[Oo("0x44")](t);const r=await this._services[Oo("0x46")](t).getConnectedSessions();this[Oo("0xf")](n,Oo("0x2a")+t,((e,{session:r})=>{r.id===n[Oo("0x27")]&&(e[Oo("0x42")](),this[Oo("0x3a")][Oo("0x18")][Oo("0x46")]("Permissions")[Oo("0x7")](r.permissions,t))})),n[Oo("0x24")](t,r)}}async[Oo("0x44")](e){if(this[Oo("0x20")][Oo("0x1b")](e))throw new n.CKEditorError(Oo("0x3f"),null,{channelId:e});const t=this[Oo("0x3a")][Oo("0x18")][Oo("0x46")](Oo("0x6")),r=new(vo[Oo("0x1c")])(e);this._services[Oo("0x3d")](e,r),this.listenTo(r,Oo("0x9"),((e,n)=>{const{commentThreadId:r,documentId:o,context:s,attributes:i,resolvedAt:a,resolvedBy:c,comments:u}=n;t.getCommentThread(r)||t[Oo("0x1")]({threadId:r,channelId:o,comments:u?u[Oo("0xd")](_o):[],context:s,attributes:i,resolvedAt:a,resolvedBy:c,isFromAdapter:!0})})),this[Oo("0xf")](r,Oo("0x2b"),((e,{commentThreadId:n,documentId:r,context:o,attributes:s})=>{t.getCommentThread(n)&&t[Oo("0x2c")]({threadId:n,channelId:r,context:o,attributes:s,isFromAdapter:!0})})),this.listenTo(r,Oo("0xa"),((e,{commentThreadId:n,resolvedBy:r,resolvedAt:o})=>{const s=t.getCommentThread(n);s&&s[Oo("0x36")]({resolvedBy:r,resolvedAt:o,isFromAdapter:!0})})),this[Oo("0xf")](r,Oo("0x3"),((e,{commentThreadId:n})=>{const r=t[Oo("0x40")](n);r&&r.reopen({isFromAdapter:!0})})),this[Oo("0xf")](r,"commentThreadRemoved",((e,{commentThreadId:n})=>{const r=t[Oo("0x40")](n);r&&r[Oo("0x33")]({isFromAdapter:!0})})),this[Oo("0xf")](r,Oo("0x8"),((e,n)=>{const r=n.commentThreadId,o=t[Oo("0x40")](r);o&&o[Oo("0x5")]({..._o(n),isFromAdapter:!0})})),this.listenTo(r,"commentUpdated",((e,{commentThreadId:n,commentId:r,content:o,attributes:s})=>{const i=t[Oo("0x40")](n);if(i){const e=i.getComment(r);e&&e[Oo("0x23")]({content:o,attributes:s,isFromAdapter:!0})}})),this[Oo("0xf")](r,"commentRemoved",((e,{commentThreadId:n,commentId:r})=>{const o=t[Oo("0x40")](n);if(o){const e=o[Oo("0x1d")](r);e&&e[Oo("0x33")]({isFromAdapter:!0})}})),await this._connectService(e)}[Oo("0x31")](){if(this[Oo("0x3a")]instanceof t.Context){const e=this[Oo("0x3a")][Oo("0x1f")][Oo("0x46")]("collaboration.channelId");this[Oo("0x34")](e)}}[Oo("0x34")](e){if(!this[Oo("0x20")].has(e))throw new n.CKEditorError(Oo("0x39"),null,{channelId:e});this[Oo("0x43")](e)[Oo("0x0")](),this[Oo("0x20")][Oo("0x19")](e)}async[Oo("0x2e")](){for(const e of this[Oo("0x20")][Oo("0x2")]())await this[Oo("0x4")](e);if(this[Oo("0x3a")]instanceof t.Context){const e=this[Oo("0x3a")][Oo("0x1f")][Oo("0x46")](Oo("0x37")),t=this[Oo("0x3a")][Oo("0x18")].get(g);t.unregister(e);const n=await this[Oo("0x20")].get(e).getConnectedSessions();t[Oo("0x24")](e,n)}}async[Oo("0x4")](e){const{connection:t}=this.context[Oo("0x18")][Oo("0x46")](l),n=this[Oo("0x3a")].plugins[Oo("0x46")](Oo("0x6")),r=this._services[Oo("0x46")](e),o=await r[Oo("0x21")](t);await this._fetchMissingUsersForThreads(o);const s=new Set(Array[Oo("0x14")](n[Oo("0x41")]({channelId:e}),(e=>e.id)));for(const e of o)s[Oo("0x19")](e[Oo("0xe")]);for(const e of s)n[Oo("0x40")](e)[Oo("0x33")]({isFromAdapter:!0});for(const t of o){let r=n[Oo("0x40")](t[Oo("0xe")]);const{commentThreadId:o,context:s,attributes:i,resolvedBy:a,resolvedAt:c,deletedAt:u}=t;r||(r=n.addCommentThread({channelId:e,threadId:o,context:s,attributes:i,resolvedBy:a,resolvedAt:c,deletedAt:u,isFromAdapter:!0}));const d=new Set(Array[Oo("0x14")](r[Oo("0x3b")],(e=>e.id)));for(const e of t.comments)d.delete(e[Oo("0x1e")]);for(const e of d)r.getComment(e)[Oo("0x33")]({isFromAdapter:!0});for(const e of t[Oo("0x3b")]){const t=r.getComment(e[Oo("0x1e")]);t?t.content!==e[Oo("0x25")]&&t[Oo("0x23")]({content:e.content,isFromAdapter:!0}):r[Oo("0x5")](Object[Oo("0x49")](_o(e),{isFromAdapter:!0}))}}}[Oo("0x43")](e){if(!this._services[Oo("0x1b")](e))throw new n.CKEditorError("cloudservicescommentsadapter-service-not-exist",null,{channelId:e});return this[Oo("0x20")][Oo("0x46")](e)}async _fetchMissingUsersForThreads(e){const t=this[Oo("0x3a")][Oo("0x18")][Oo("0x46")](p.Users),{connection:n}=this[Oo("0x3a")][Oo("0x18")][Oo("0x46")](l),r=new Set;for(const{resolvedBy:n,comments:o}of e){n&&!t.getUser(n)&&r[Oo("0x35")](n);for(const{userId:e}of o)t[Oo("0x12")](e)||r.add(e)}if(0===r[Oo("0x16")])return;const o=await $r()[Oo("0x22")](n,Array.from(r));for(const e of o)t[Oo("0x12")](e.id)||t[Oo("0x28")](e)}}async function wo(e){if(Oo("0x2f")!==e[Oo("0xb")])throw e}function xo(e){if((t=e).message.startsWith(Oo("0x32"))||t[Oo("0x30")][Oo("0xc")](Oo("0x1a"))||t[Oo("0x30")][Oo("0xc")](Oo("0x45")))return new Promise((()=>{}));var t;throw e}function _o(e){return{threadId:e.commentThreadId,commentId:e[Oo("0x1e")],content:e.content,createdAt:e[Oo("0x3e")],authorId:e.userId,attributes:e[Oo("0x17")]||{}}}vo.CommentsService=mo();const Io=["data","getSuggestion","cloud-services-internal-error: Not connected.","state","hasSuggestion","listenTo","get","originalSuggestionId","add","from","then","_fetchMissingUsersForThreads","getUser","addToReconnectionStack","update","values","delete","adapter","_trackChangesService","editor","TrackChangesEditing","addUser","getMany","_waitForServiceReady","connect","find","startsWith","init","_saved","attributes","TrackChangesService","type","addSuggestionData","set","connected","size","open","catch","message","requires","cloud-services-internal-error: Request timeout.","plugins"];var So,Po;So=Io,Po=171,function(e){for(;--e;)So.push(So.shift())}(++Po);const To=function(e,t){return Io[e-=0]};class Ao extends t.Plugin{static get[To("0x24")](){return[vo,To("0x11"),l]}constructor(e){super(e);const t=this[To("0x10")].config[To("0x3")]("collaboration.channelId");this._bufferedRequests=new Map,this[To("0xf")]=new Ao.TrackChangesService(t)}[To("0x18")](){const e=this[To("0x10")][To("0x26")][To("0x3")](l),t=this.editor.plugins[To("0x3")]("TrackChangesEditing");return t[To("0xe")]={getSuggestion:async e=>{await this[To("0x14")]();const t=await this._trackChangesService[To("0x3")](e).catch(ko);return await this[To("0x8")]([t]),t},addSuggestion:async({id:e,type:t,data:n,originalSuggestionId:r,attributes:o})=>{await this[To("0x14")]();const s={id:e,type:t,data:n,originalSuggestionId:r,attributes:o},i=await this._trackChangesService[To("0x5")](e,t,n,r,o)[To("0x22")]((t=>{if(Co(t))return new Promise((t=>{this._bufferedRequests[To("0x1e")](e,{resolve:t,suggestionData:s})}));throw t}));return this._bufferedRequests[To("0xd")](e),i},updateSuggestion:async(e,t)=>{if(await this[To("0x14")](),To("0x21")!==t[To("0x0")])return this._trackChangesService[To("0xb")](e,t)[To("0x22")](ko)}},this.listenTo(this[To("0xf")],"suggestionUpdated",((e,n)=>{t[To("0x1")](n.id)&&(t[To("0x28")](n.id).attributes=n[To("0x1a")])})),this._trackChangesService[To("0x15")](e.connection)[To("0x7")]((n=>(e[To("0xa")](this),this[To("0x8")](n)[To("0x7")]((()=>{for(const e of n)t[To("0x1d")](e)[To("0x19")]=!0})))))}async reconnect(){const e=this[To("0x10")][To("0x26")][To("0x3")]("TrackChangesEditing"),{connection:t}=this[To("0x10")][To("0x26")][To("0x3")](l),n=await this[To("0xf")].connect(t);await this[To("0x8")](n);for(const{suggestionData:e,resolve:t}of this._bufferedRequests[To("0xc")]()){let r=n[To("0x16")]((t=>t.id===e.id));r||(r=await this[To("0xf")][To("0x5")](e.id,e[To("0x1c")],e[To("0x27")],e[To("0x4")])),t(r)}for(const t of n)e[To("0x1")](t.id)||e[To("0x1d")](t)}async _waitForServiceReady(){this[To("0xf")].isConnected||await new Promise((e=>{this[To("0x2")](this[To("0xf")],To("0x1f"),(t=>{t.off(),e()}))}))}async[To("0x8")](e){const t=this[To("0x10")].plugins[To("0x3")](p.Users),{connection:n}=this.editor[To("0x26")].get(l),r=new Set;for(const{authorId:n}of e)t[To("0x9")](n)||r[To("0x5")](n);if(0===r[To("0x20")])return;const o=await $r()[To("0x13")](n,Array[To("0x6")](r));for(const e of o)t[To("0x9")](e.id)||t[To("0x12")](e)}}function ko(e){if(Co(e))return new Promise((()=>{}));throw e}function Co(e){return e[To("0x23")][To("0x17")](To("0x29"))||e[To("0x23")][To("0x17")](To("0x25"))}Ao[To("0x1b")]=ho();const jo=["get","change:state","connected","RealTimeCollaborativeComments","editor","config","listenTo","Comments","plugins","collaboration.channelId","isThreadsLoadingPaused","_setUpService","once","destroy","ready"];var Eo,Do;Eo=jo,Do=245,function(e){for(;--e;)Eo.push(Eo.shift())}(++Do);const Ro=function(e,t){return jo[e-=0]};class No extends t.Plugin{static get requires(){return[Ro("0x2"),vo,lo,l]}static get pluginName(){return Ro("0xd")}init(){const e=this[Ro("0xe")].plugins[Ro("0xa")](l),t=this[Ro("0xe")].plugins[Ro("0xa")]("CommentsEditing"),n=this.editor[Ro("0x3")].get(vo);return this.editor.data[Ro("0x7")](Ro("0x9"),(()=>{this[Ro("0x1")](e,Ro("0xb"),((e,n,r)=>{t[Ro("0x5")]=Ro("0xc")!==r}))})),this[Ro("0x1")](e,Ro("0xb"),((e,t,n)=>{this[Ro("0xe")][Ro("0x3")][Ro("0xa")]("CommentsRepository").switchReadOnly(Ro("0xc")!==n)})),n[Ro("0x6")](this[Ro("0xe")][Ro("0x0")].get(Ro("0x4")))}[Ro("0x8")](){this.editor.plugins[Ro("0xa")](vo)._terminateService(this[Ro("0xe")][Ro("0x0")][Ro("0xa")](Ro("0x4"))),super[Ro("0x8")]()}}var Mo,Vo,Bo=["RealTimeCollaborativeTrackChanges","pluginName","TrackChanges"];Mo=Bo,Vo=462,function(e){for(;--e;)Mo.push(Mo.shift())}(++Vo);var Uo=function(e,t){return Bo[e-=0]};class Jo extends t.Plugin{static get requires(){return[No,Ao,Uo("0x2")]}static get[Uo("0x1")](){return Uo("0x0")}}var qo=__webpack_require__(3432),Lo=__webpack_require__.n(qo),Go=__webpack_require__(5132),Fo=__webpack_require__.n(Go);const Yo=["_waitForServiceReady","_oldOffset","addRevisionData","reverse","catch","currentRevision","editor","fromVersion","once","isBundleUploaded","bind","_createCurrentRevision","setRevisionData","_revisionDataBuilder","isEnabled","RevisionHistoryService","sessionId","off","_isPendingUpdate","collaboration.channelId","init","remove","get","reconnect","_preventResendingRevisionData","RevisionTracker","createdAt","connection","_bufferedUpdates","serverHistory","length","cloud-services-internal-error: Request timeout.","plugins","repository","change:_isPendingUpdate","_handleReconnectionError","destroy","revisionsUpdated","addToReconnectionStack","_handleRevisionsUpdate","_isConnected","code","400","type","keys","authorsIds","baseVersion","has","setSource","wrongRequestId","listenTo","updateRevisions","connected","creatorId","_offset","toVersion","adapter","getUser","data","_fetchMissingUsers","from","reInit","addUser","CONNECTED","_getLatestVersionFromServerOperations","_update","getOperations","startsWith","cloud-services-internal-error: Revision History Service is not connected.","then","_fixRevision","max","message","affectsData","_bufferUpdate","getRevisions","map","add","requires","_revisionTracker","_startingVersion","diffData","_lastRequestId","_revisionHistoryService","change:_isConnected","getRevision","config","_getLatestVersion","isConnected","sendBufferedUpdates"];var zo,Ho;zo=Yo,Ho=433,function(e){for(;--e;)zo.push(zo.shift())}(++Ho);const Ko=function(e,t){return Yo[e-=0]};class Wo extends t.Plugin{static get[Ko("0x5")](){return[l,no,Ko("0x2a"),g,p.Users]}constructor(e){super(e);const t=this[Ko("0x17")][Ko("0xd")].get(Ko("0x24"));this._lastRequestId=null,this._revisionTracker=this[Ko("0x17")][Ko("0x31")][Ko("0x27")](Ko("0x2a")),this[Ko("0xa")]=new(Wo[Ko("0x20")])(t)}async[Ko("0x25")](){const e=this[Ko("0x17")].plugins[Ko("0x27")](no),t=e.serverHistory,r=this[Ko("0x17")].plugins[Ko("0x27")](l);this[Ko("0x6")][Ko("0x41")]({history:t,getLatestVersion:()=>this[Ko("0xe")](),getCurrentRevisionId:()=>e[Ko("0x21")]});const o=this[Ko("0x17")][Ko("0xd")][Ko("0x27")]("cloudServices.bundleVersion")||n.version,i=await Fo()[Ko("0x1a")](r[Ko("0x2c")],o);this[Ko("0x6")][Ko("0x49")]={getRevision:async({revisionId:e})=>(await this[Ko("0x11")](),await this[Ko("0xa")][Ko("0xc")](e)),updateRevisions:async e=>{await this._waitForServiceReady();const t=this[Ko("0x6")][Ko("0x16")];if(i&&1===e[Ko("0x2f")]&&e[0].id===t.id)return e;for(const n of e)n.id===t.id&&(n.isEmptyCurrent=n[Ko("0x18")]===n.toVersion);return this[Ko("0xa")][Ko("0x44")](e,this[Ko("0x9")])[Ko("0x56")]((t=>(this[Ko("0x9")]=t,e))).catch((t=>{if($o(t)||Ko("0x3b")===t[Ko("0x3a")]&&void 0!==t[Ko("0x4b")][Ko("0x42")]){for(const t of e)!this._revisionTracker[Ko("0x32")][Ko("0xc")](t.id)||this[Ko("0x6")][Ko("0x1")](t.id,t,!1);if($o(t))throw t;return e}throw t}))}},this[Ko("0x43")](this[Ko("0xa")],Ko("0x36"),((e,{revisionsData:t,requestId:n})=>{Math[Ko("0x58")](...t.map((e=>e[Ko("0x48")])))>this._getLatestVersionFromServerOperations()-1?this._getLatestVersion()[Ko("0x56")]((()=>{this._handleRevisionsUpdate(t,n)})):this._handleRevisionsUpdate(t,n)}));const{revisions:a,requestId:c}=await this._revisionHistoryService.connect(r.connection);r[Ko("0x37")](this),this[Ko("0x9")]=c,await this._fetchMissingUsers(a);for(const e of a)this[Ko("0x6")].addRevisionData(e);this[Ko("0x43")](e,Ko("0xb"),((t,n,r)=>{r&&(this[Ko("0x12")]=e[Ko("0x47")],t[Ko("0x22")]())})),this[Ko("0x6")][Ko("0x1b")](Ko("0x1f")).to(r,"state",(e=>e===s.WEB_SOCKET_GATEWAY_STATES[Ko("0x50")]))}async[Ko("0x28")](){const e=this[Ko("0x17")].plugins[Ko("0x27")](l),t=this.editor.plugins.get(no),n=async()=>{const n=this[Ko("0x6")][Ko("0x16")],r=n.id,o=r!==t[Ko("0x21")];if(o){const e=t[Ko("0x47")]-this[Ko("0x12")],o=this._getLatestVersionFromServerOperations();if(this[Ko("0x6")][Ko("0x1e")][Ko("0x4e")](),n[Ko("0x48")]+e!==o){const t=n.fromVersion+e,r=this[Ko("0x17")][Ko("0x31")][Ko("0x27")](p.Users),s=this[Ko("0x6")].buildRevisionData({revision:n,from:t,to:o});s.id=n.id;const i=s[Ko("0x3e")][Ko("0x3")]((e=>r[Ko("0x4a")](e)));n[Ko("0x52")]({...s,authors:i},!0),this[Ko("0x6")][Ko("0x1")](n.id,s,!0)}this[Ko("0x6")][Ko("0x7")]=o,n[Ko("0x48")]===n[Ko("0x18")]&&!this[Ko("0x6")][Ko("0x2d")][Ko("0x40")](r)&&this._revisionTracker[Ko("0x32")]._revisions[Ko("0x26")](r),this[Ko("0x6")][Ko("0x1c")](o)}const{revisions:s,requestId:i}=await this[Ko("0xa")].reconnect(e.connection,this[Ko("0x9")]);o&&s[Ko("0x2f")]>0?t[Ko("0x34")]():(await this[Ko("0x4c")](s),this[Ko("0x38")](s,i),this[Ko("0x6")][Ko("0x10")]())};return t[Ko("0x39")]?n():new Promise(((e,r)=>{t[Ko("0x19")]("change:_isConnected",(()=>{n()[Ko("0x56")](e)[Ko("0x15")](r)}))}))}destroy(){super[Ko("0x35")]()}async[Ko("0x11")](){this[Ko("0xa")][Ko("0xf")]||await new Promise((e=>{this[Ko("0x43")](this[Ko("0xa")],Ko("0x45"),(t=>{t[Ko("0x22")](),e()}))}))}[Ko("0x51")](){const e=this[Ko("0x17")][Ko("0x31")][Ko("0x27")](no)[Ko("0x2e")][Ko("0x53")]()[Ko("0x14")]();for(const t of e)if("marker"!==t[Ko("0x3c")]||t[Ko("0x0")])return t[Ko("0x3f")]+1}[Ko("0xe")](){const e=this[Ko("0x17")][Ko("0x31")].get(no);return new Promise((t=>{e[Ko("0x23")]?e[Ko("0x19")](Ko("0x33"),(()=>{t(this._getLatestVersionFromServerOperations())})):t(this[Ko("0x51")]())}))}[Ko("0x38")](e,t){const n=this[Ko("0x6")][Ko("0x32")];this[Ko("0x9")]=t;for(const t of e){const e=n.getRevision(t.id);if(e){if((t[Ko("0x18")]||t[Ko("0x48")])&&(t[Ko("0x8")]=null),e===this._revisionTracker[Ko("0x16")]){const n=Math[Ko("0x58")](e.toVersion,t[Ko("0x48")]),r=Math.max(e[Ko("0x18")],t[Ko("0x18")]);let o;e[Ko("0x48")]===t.toVersion&&e[Ko("0x18")]===t[Ko("0x18")]?(o=!0,this[Ko("0x29")](t)):t[Ko("0x48")]===n&&t[Ko("0x18")]===r?o=!1:(e[Ko("0x48")]===n&&e[Ko("0x18")]===r||this[Ko("0x57")]({revision:e,from:r,to:n}),o=!0),o&&(delete t[Ko("0x18")],delete t.toVersion,delete t[Ko("0x8")],delete t[Ko("0x2b")],delete t[Ko("0x3e")])}this._revisionTracker[Ko("0x1d")](t),this[Ko("0x29")](t)}else this[Ko("0x6")][Ko("0x13")](t)}const r=n[Ko("0x2")]();r[Ko("0x14")]();for(let e=0;e<r.length-1;e++){const t=r[e],n=r[e+1];if(t[Ko("0x18")]<n[Ko("0x48")]){const e=n.toVersion,r=Math.max(e,t[Ko("0x48")]);this[Ko("0x57")]({revision:t,from:e,to:r})}}}[Ko("0x57")]({revision:e,from:t,to:n}={}){const r=this[Ko("0x17")][Ko("0x31")][Ko("0x27")](p.Users),o=this[Ko("0x6")].buildRevisionData({revision:e,from:t,to:n});o.authors=o[Ko("0x3e")][Ko("0x3")]((e=>r[Ko("0x4a")](e))),e._update(o)}[Ko("0x29")](e){const t={};t.id=e.id;for(const n of Object[Ko("0x3d")](e))"id"!==n&&(t[n]=void 0);this[Ko("0x6")][Ko("0x1")](t.id,t,!0)}async _fetchMissingUsers(e){const t=this[Ko("0x17")][Ko("0x31")][Ko("0x27")](p.Users),{connection:n}=this[Ko("0x17")].plugins[Ko("0x27")](l),r=new Set;for(const t of e){for(const e of t.authorsIds)s(e);t[Ko("0x46")]&&s(t[Ko("0x46")])}if(0===r.size)return;const o=await $r().getMany(n,Array[Ko("0x4d")](r));for(const e of o)t[Ko("0x4a")](e.id)||t[Ko("0x4f")](e);function s(e){t[Ko("0x4a")](e)||r[Ko("0x4")](e)}}}function $o(e){return e[Ko("0x59")][Ko("0x54")](Ko("0x55"))||e.message[Ko("0x54")]("cloud-services-internal-error: Not connected.")||e[Ko("0x59")][Ko("0x54")](Ko("0x30"))}Wo.RevisionHistoryService=Lo();var Xo,Zo,Qo=["pluginName","requires","RevisionHistory"];Xo=Qo,Zo=345,function(e){for(;--e;)Xo.push(Xo.shift())}(++Zo);var es=function(e,t){return Qo[e-=0]};class ts extends t.Plugin{static get[es("0x1")](){return[es("0x2"),Wo,lo]}static get[es("0x0")](){return"RealTimeCollaborativeRevisionHistory"}}var ns=Function.prototype,rs=Object.prototype,os=ns.toString,ss=rs.hasOwnProperty,is=os.call(Object);const as=function(e){if(!ft(e)||"[object Object]"!=ve(e))return!1;var t=fn(e);if(null===t)return!0;var n=ss.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&os.call(n)==is};const cs=function(e){return ft(e)&&1===e.nodeType&&!as(e)},us=["isHidden","usersCount","ck-presence-list__counter","set","ck-presence-list__counter--hidden","setTemplate","bindTemplate"];var ds,ls;ds=us,ls=479,function(e){for(;--e;)ds.push(ds.shift())}(++ls);const ps=function(e,t){return us[e-=0]};class hs extends r.View{constructor(e){super(e);const t=this[ps("0x3")];this[ps("0x0")](ps("0x5"),0),this[ps("0x0")](ps("0x4"),!0),this[ps("0x2")]({tag:"div",attributes:{class:["ck",ps("0x6"),t.if(ps("0x4"),ps("0x1"))]},children:[{text:t.to(ps("0x5"),(t=>A(e,"CONNECTED_USERS",t)))}]})}}const fs=["createCollection","execute","bindTemplate","div","items"];var ms,ys;ms=fs,ys=269,function(e){for(;--e;)ms.push(ms.shift())}(++ys);const gs=function(e,t){return fs[e-=0]};class bs extends r.View{constructor(e){super(e),this[gs("0x0")]=this[gs("0x1")]();const t=this[gs("0x3")];this.setTemplate({tag:gs("0x4"),attributes:{class:["ck","ck-presence-list__list"]},children:this[gs("0x0")],on:{click:t.to((()=>this.fire(gs("0x2"))))}})}}var Os=__webpack_require__(3286),vs={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};O()(Os.Z,vs);Os.Z.locals;const ws=["first","items","ck-rounded-corners","inlineListView","ck-presence-list","locale","set","isCollapsed","div","counterView","tooltipPosition","setTemplate","listenTo","bindTemplate","change","ck-reset"];var xs,_s;xs=ws,_s=278,function(e){for(;--e;)xs.push(xs.shift())}(++_s);const Is=function(e,t){return ws[e-=0]};class Ss extends r.View{constructor(e){super(e);const t=this[Is("0x7")];this[Is("0x0")](Is("0x1"),!0),this[Is("0x3")]=new hs(this[Is("0xf")]),this.inlineListView=new bs(e),this[Is("0x6")](this[Is("0xd")][Is("0xb")],Is("0x8"),(()=>{for(const e of this[Is("0xd")][Is("0xb")])e.tooltipPosition="s";this.inlineListView[Is("0xb")][Is("0xa")]&&(this.inlineListView[Is("0xb")].first[Is("0x4")]="se")})),this[Is("0x5")]({tag:Is("0x2"),attributes:{class:["ck",Is("0xe"),Is("0x9"),Is("0xc"),t.if(Is("0x1"),"ck-presence-list--collapsed")]},children:[this[Is("0x3")],this.inlineListView]})}}var Ps,Ts,As=["items","setTemplate","createCollection","ck-presence-list__dropdown-list","div"];Ps=As,Ts=214,function(e){for(;--e;)Ps.push(Ps.shift())}(++Ts);var ks=function(e,t){return As[e-=0]};class Cs extends r.View{constructor(e){super(e),this.items=this[ks("0x3")](),this[ks("0x2")]({tag:ks("0x0"),attributes:{class:["ck",ks("0x4")]},children:[{tag:ks("0x0"),attributes:{class:["ck","ck-presence-list__dropdown-list-wrapper"]},children:this[ks("0x1")]}]})}}const js=["div","true","ck-user__full-name","fire","ck-presence-list__marker","bindTemplate","getBackgroundColorClass","execute","span","name","tag","button","setTemplate","ck-presence-list__dropdown-list-item","userView","color"];var Es,Ds;Es=js,Ds=172,function(e){for(;--e;)Es.push(Es.shift())}(++Ds);const Rs=function(e,t){return js[e-=0]};class Ns extends r.View{constructor(e,t,n){super(e);const r=this[Rs("0x9")];this[Rs("0x2")]=new p.UserView(e,t);const o={tag:Rs("0x4"),attributes:{class:["ck",Rs("0x1")]},children:[this[Rs("0x2")],{tag:Rs("0xc"),attributes:{class:["ck",Rs("0x6")]},children:[{text:t[Rs("0xd")]}]},{tag:"span",attributes:{class:["ck",Rs("0x8"),t[Rs("0x3")][Rs("0xa")]()],"aria-hidden":Rs("0x5")}}]};n&&(o[Rs("0xe")]=Rs("0xf"),o.on={click:r.to((()=>this[Rs("0x7")](Rs("0xb"))))}),this[Rs("0x0")](o)}}const Ms=["true","userView","getBackgroundColorClass","bindTemplate","color","markerView","tag","ck-presence-list__marker","set","div","setTemplate","tooltipPosition","hasTooltip","fire","ck-presence-list__list-item__tooltip"];var Vs,Bs;Vs=Ms,Bs=232,function(e){for(;--e;)Vs.push(Vs.shift())}(++Bs);const Us=function(e,t){return Ms[e-=0]};class Js extends r.View{constructor(e,t,n){super(e);const r=this[Us("0xb")];this[Us("0x1")](Us("0x5"),!0),this[Us("0x1")](Us("0x4"),""),this.userView=new p.UserView(e,t),this[Us("0xd")]=new qs(e,t);const o={tag:Us("0x2"),attributes:{class:["ck","ck-presence-list__list-item"],"data-cke-tooltip-text":this[Us("0x9")].name,"data-cke-tooltip-position":r.to("tooltipPosition"),"data-cke-tooltip-disabled":r.to("hasTooltip",(e=>!e)),"data-cke-tooltip-class":Us("0x7")},children:[this[Us("0x9")],this[Us("0xd")]]};n&&(o[Us("0xe")]="button",o.on={click:r.to((()=>this[Us("0x6")]("execute")))}),this[Us("0x3")](o)}}class qs extends r.View{constructor(e,t){super(e),this[Us("0x3")]({tag:"span",attributes:{class:["ck",Us("0x0"),t[Us("0xc")][Us("0xa")]()],"aria-hidden":Us("0x8")}})}}const Ls=["appendChild","bodyCollection","inlineListView","requires","_handleUserRemove","hideDropdown","using","presenceList.container","isVisible","isHidden","from","execute","isRendered","_handleUserAdd","render","allConnectedUsers","view","_createView","presencelist-missing-container","content","items","unpin","usersCount","isCollapsed","bindTo","presenceList","locale","presenceDropdownView","onClick","counterView","add","length","presenceList.collapseAt","presencelist-collapseat-invalid-format","context","detachFromDom","define","init","get","plugins","destroy","balloonPanelView","remove","class","element","lastConnectedUsers","showDropdown","_allConnectedUsers","config","bind"];var Gs,Fs;Gs=Ls,Fs=459,function(e){for(;--e;)Gs.push(Gs.shift())}(++Fs);const Ys=function(e,t){return Ls[e-=0]};class zs extends t.ContextPlugin{constructor(e){super(e),this[Ys("0x19")][Ys("0x27")][Ys("0x1b")]("presenceList",{collapseAt:6});const t=e[Ys("0x27")][Ys("0x1d")](Ys("0x17"));if("number"!=typeof t)throw new n.CKEditorError(Ys("0x18"),this);if(t<1)throw new n.CKEditorError("presencelist-collapseat-invalid-format",this);this._allConnectedUsers=this[Ys("0x19")][Ys("0x1e")][Ys("0x1d")](g)[Ys("0x6")],this.set(Ys("0xd"),0),this[Ys("0x24")]=new n.Collection,this[Ys("0x20")]=new r.BalloonPanelView,this[Ys("0x20")][Ys("0x22")]="ck ck-presence-list__balloon",this.view=this[Ys("0x8")](),this[Ys("0x12")]=void 0}static get[Ys("0x2c")](){return[g]}[Ys("0x1c")](){for(const e of this._allConnectedUsers)this[Ys("0x4")](e);this.listenTo(this[Ys("0x26")],Ys("0x15"),((e,t)=>{this[Ys("0x4")](t)})),this.listenTo(this[Ys("0x26")],"remove",((e,t)=>{this[Ys("0x2d")](t)}))}_createView(){const e=this.context,t=new Ss(this.context[Ys("0x11")]),o=this[Ys("0x20")];if(!cs(e[Ys("0x27")][Ys("0x1d")](Ys("0x30"))))throw new n.CKEditorError(Ys("0x9"),this);return t[Ys("0x14")][Ys("0x28")](Ys("0xd")).to(this),t[Ys("0x28")]("isCollapsed").to(this,Ys("0xd"),(n=>{const r=n>=e[Ys("0x27")][Ys("0x1d")]("presenceList.collapseAt");return t[Ys("0x14")][Ys("0x0")]=!(1==n||r),r||this[Ys("0x2e")](),r})),t[Ys("0x2b")][Ys("0xb")][Ys("0xf")](this.lastConnectedUsers)[Ys("0x2f")]((n=>{const r=e[Ys("0x27")][Ys("0x1d")](Ys("0x10")),o=new Js(e[Ys("0x11")],n,!!r[Ys("0x13")]);return o.bind("hasTooltip").to(t,"isCollapsed",(e=>!e)),r.onClick&&this.listenTo(o,"execute",(()=>{this[Ys("0x7")][Ys("0xe")]||r.onClick(n,o[Ys("0x23")])})),o})),this.listenTo(t.inlineListView,Ys("0x2"),(()=>{this.presenceDropdownView?this[Ys("0x2e")]():this.view[Ys("0xe")]&&this[Ys("0x25")]()})),t[Ys("0x5")](),o[Ys("0x5")](),(0,r.clickOutsideHandler)({emitter:t,activator:()=>o[Ys("0x31")],contextElements:[o[Ys("0x23")],t[Ys("0x2b")][Ys("0x23")]],callback:()=>this[Ys("0x2e")]()}),e[Ys("0x27")][Ys("0x1d")](Ys("0x30"))[Ys("0x29")](t[Ys("0x23")]),this[Ys("0x2a")]=new r.BodyCollection(this[Ys("0x19")][Ys("0x11")]),this[Ys("0x2a")].attachToDom(),this[Ys("0x2a")][Ys("0x15")](o),t}[Ys("0x4")](e){this.usersCount++,5==this[Ys("0x24")][Ys("0x16")]&&this.lastConnectedUsers.remove(0),this.lastConnectedUsers.add(e)}_handleUserRemove(e){if(this.usersCount--,this[Ys("0x24")][Ys("0x1d")](e.id)&&(this[Ys("0x24")][Ys("0x21")](e.id),this.lastConnectedUsers.length<this[Ys("0xd")]))for(const e of Array[Ys("0x1")](this._allConnectedUsers).reverse())if(!this.lastConnectedUsers.get(e.id))return void this[Ys("0x24")][Ys("0x15")](e,0)}[Ys("0x25")](){if(this[Ys("0x12")])return;this[Ys("0x12")]=new Cs(this.context[Ys("0x11")]);const e=this[Ys("0x19")].config.get(Ys("0x10"));this[Ys("0x12")][Ys("0xb")][Ys("0xf")](this._allConnectedUsers)[Ys("0x2f")]((t=>{const n=new Ns(this[Ys("0x19")][Ys("0x11")],t,!!e[Ys("0x13")]);return e[Ys("0x13")]&&this.listenTo(n,"execute",(()=>{e[Ys("0x13")](t,n[Ys("0x23")])})),n})),this[Ys("0x20")][Ys("0xa")].add(this[Ys("0x12")]),this[Ys("0x20")].pin({target:this[Ys("0x7")][Ys("0x2b")][Ys("0x23")]})}[Ys("0x2e")](){this[Ys("0x12")]&&(this[Ys("0x20")][Ys("0xc")](),this[Ys("0x20")][Ys("0xa")][Ys("0x21")](this[Ys("0x12")]),this.presenceDropdownView[Ys("0x1f")](),this[Ys("0x12")]=void 0)}[Ys("0x1f")](){super[Ys("0x1f")](),this[Ys("0x7")]&&this[Ys("0x7")][Ys("0x3")]&&this[Ys("0x7")][Ys("0x1f")](),this[Ys("0x2a")]&&this[Ys("0x2a")][Ys("0x1a")]()}}var Hs,Ks,Ws=["PresenceList","pluginName","requires"];Hs=Ws,Ks=103,function(e){for(;--e;)Hs.push(Hs.shift())}(++Ks);var $s=function(e,t){return Ws[e-=0]};class Xs extends t.ContextPlugin{static get[$s("0x1")](){return[g,zs]}static get[$s("0x0")](){return $s("0x2")}}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;class Zs extends((0,n.ObservableMixin)()){constructor(e,t={}){if(super(),!e)throw new CKEditorError("token-missing-token-url",this);t.initValue&&this._validateTokenValue(t.initValue),this.set("value",t.initValue),this._refresh="function"==typeof e?e:()=>{return e,new Promise(((e,n)=>{const r=new XMLHttpRequest;r.open("GET",t),r.addEventListener("load",(()=>{const t=r.status,o=r.response;return t<200||t>299?n(new CKEditorError("token-cannot-download-new-token",null)):e(o)})),r.addEventListener("error",(()=>n(new Error("Network Error")))),r.addEventListener("abort",(()=>n(new Error("Abort")))),r.send()}));var t},this._options=__spreadValues(__spreadValues({},DEFAULT_OPTIONS),t)}init(){return new Promise(((e,t)=>{this.value?(this._options.autoRefresh&&this._registerRefreshTokenTimeout(),e(this)):this.refreshToken().then(e).catch(t)}))}refreshToken(){return this._refresh().then((e=>(this._validateTokenValue(e),this.set("value",e),this._options.autoRefresh&&this._registerRefreshTokenTimeout(),this)))}destroy(){clearTimeout(this._tokenRefreshTimeout)}_validateTokenValue(e){const t="string"==typeof e,n=!/^".*"$/.test(e),r=t&&3===e.split(".").length;if(!n||!r)throw new CKEditorError("token-not-in-jwt-format",this)}_registerRefreshTokenTimeout(){const e=this._getTokenRefreshTimeoutTime();clearTimeout(this._tokenRefreshTimeout),this._tokenRefreshTimeout=setTimeout((()=>{this.refreshToken()}),e)}_getTokenRefreshTimeoutTime(){try{const[,e]=this.value.split("."),{exp:t}=JSON.parse(atob(e));if(!t)return DEFAULT_TOKEN_REFRESH_TIMEOUT_TIME;return Math.floor((1e3*t-Date.now())/2)}catch(e){return DEFAULT_TOKEN_REFRESH_TIMEOUT_TIME}}static create(e,t={}){return new Zs(e,t).init()}}class Qs extends((0,n.EmitterMixin)()){constructor(e,t,n){if(super(),!e)throw new CKEditorError("fileuploader-missing-file",null);if(!t)throw new CKEditorError("fileuploader-missing-token",null);if(!n)throw new CKEditorError("fileuploader-missing-api-address",null);this.file=function(e){if("string"!=typeof e)return!1;const t=e.match(BASE64_HEADER_REG_EXP);return!(!t||!t.length)}(e)?function(e,t=512){try{const n=e.match(BASE64_HEADER_REG_EXP)[1],r=atob(e.replace(BASE64_HEADER_REG_EXP,"")),o=[];for(let e=0;e<r.length;e+=t){const n=r.slice(e,e+t),s=new Array(n.length);for(let e=0;e<n.length;e++)s[e]=n.charCodeAt(e);o.push(new Uint8Array(s))}return new Blob(o,{type:n})}catch(e){throw new CKEditorError("fileuploader-decoding-image-data-error",null)}}(e):e,this._token=t,this._apiAddress=n}onProgress(e){return this.on("progress",((t,n)=>e(n))),this}onError(e){return this.once("error",((t,n)=>e(n))),this}abort(){this.xhr.abort()}send(){return this._prepareRequest(),this._attachXHRListeners(),this._sendRequest()}_prepareRequest(){const e=new XMLHttpRequest;e.open("POST",this._apiAddress),e.setRequestHeader("Authorization",this._token.value),e.responseType="json",this.xhr=e}_attachXHRListeners(){const e=this.xhr,t=e=>()=>this.fire("error",e);e.addEventListener("error",t("Network Error")),e.addEventListener("abort",t("Abort")),e.upload&&e.upload.addEventListener("progress",(e=>{e.lengthComputable&&this.fire("progress",{total:e.total,uploaded:e.loaded})})),e.addEventListener("load",(()=>{const t=e.status,n=e.response;if(t<200||t>299)return this.fire("error",n.message||n.error)}))}_sendRequest(){const e=new FormData,t=this.xhr;return e.append("file",this.file),new Promise(((n,r)=>{t.addEventListener("load",(()=>{const e=t.status,o=t.response;return e<200||e>299?o.message?r(new CKEditorError("fileuploader-uploading-data-failed",this,{message:o.message})):r(o.error):n(o)})),t.addEventListener("error",(()=>r(new Error("Network Error")))),t.addEventListener("abort",(()=>r(new Error("Abort")))),t.send(e)}))}}})(),(window.CKEditor5=window.CKEditor5||{}).realTimeCollaboration=__webpack_exports__})();