polfan-server-js-client 0.2.84 → 0.2.86
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.
- package/.idea/workspace.xml +50 -37
- package/build/index.cjs.js +35 -29
- package/build/index.cjs.js.map +1 -1
- package/build/index.umd.js +1 -1
- package/build/index.umd.js.map +1 -1
- package/build/types/AbstractChatClient.d.ts +3 -1
- package/build/types/types/src/index.d.ts +4 -1
- package/build/types/types/src/schemes/BanObject.d.ts +4 -1
- package/build/types/types/src/schemes/RoomSummary.d.ts +1 -0
- package/build/types/types/src/schemes/UserInformation.d.ts +11 -0
- package/build/types/types/src/schemes/commands/Ban.d.ts +2 -0
- package/build/types/types/src/schemes/commands/GetBans.d.ts +2 -0
- package/build/types/types/src/schemes/commands/GetUserInfo.d.ts +3 -0
- package/build/types/types/src/schemes/commands/Unban.d.ts +1 -3
- package/build/types/types/src/schemes/events/Session.d.ts +1 -0
- package/build/types/types/src/schemes/events/UserInfo.d.ts +4 -0
- package/package.json +1 -1
- package/src/AbstractChatClient.ts +4 -0
- package/src/state-tracker/TopicHistoryWindow.ts +7 -3
- package/src/types/src/index.ts +7 -1
- package/src/types/src/schemes/BanObject.ts +5 -1
- package/src/types/src/schemes/RoomSummary.ts +1 -0
- package/src/types/src/schemes/UserInformation.ts +12 -0
- package/src/types/src/schemes/commands/Ban.ts +2 -0
- package/src/types/src/schemes/commands/GetBans.ts +2 -0
- package/src/types/src/schemes/commands/GetUserInfo.ts +3 -0
- package/src/types/src/schemes/commands/Unban.ts +1 -4
- package/src/types/src/schemes/events/Session.ts +1 -0
- package/src/types/src/schemes/events/UserInfo.ts +5 -0
package/build/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.PservClient=t():e.PservClient=t()}(this,()=>(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i(n.key),n)}}function o(e,t,r){return(t=i(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}e.r(t),e.d(t,{AbstractRestClient:()=>mn,FilesClient:()=>Mn,IndexedCollection:()=>M,IndexedObjectCollection:()=>F,Layer:()=>St,ObservableIndexedCollection:()=>L,ObservableIndexedObjectCollection:()=>x,PermissionDefinition:()=>Ot,Permissions:()=>jt,WebApiChatClient:()=>an,WebSocketChatClient:()=>$r,extractUserFromMember:()=>rt});var a=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),o(this,"events",new Map),o(this,"onceEvents",new Map)},(t=[{key:"on",value:function(e,t){return this.addHandler(this.events,e,t),this}},{key:"once",value:function(e,t){return this.addHandler(this.onceEvents,e,t),this}},{key:"off",value:function(e,t){var r,n,o=null===(r=this.events.get(e))||void 0===r?void 0:r.indexOf(t);return void 0===o||o<0||null===(n=this.events.get(e))||void 0===n||n.splice(o,1),this}},{key:"emit",value:function(e,t){return this.callHandlers(this.events,e,t),this.callHandlers(this.onceEvents,e,t),this.onceEvents.delete(e),this}},{key:"addHandler",value:function(e,t,r){var n,o=null!==(n=e.get(t))&&void 0!==n?n:[];o.push(r),e.set(t,o)}},{key:"callHandlers",value:function(e,t,r){var n;null===(n=e.get(t))||void 0===n||n.forEach(function(e){return e(r)})}}])&&n(e.prototype,t),r&&n(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r}();function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,d(n.key),n)}}function s(e,t,r){return t=f(t),function(e,t){if(t&&("object"==u(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,r||[],f(e).constructor):t.apply(e,r))}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(l=function(){return!!e})()}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}function p(e,t,r){return(t=d(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e){var t=function(e,t){if("object"!=u(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==u(t)?t:t+""}var y=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return p(e=s(this,t,[].concat(n)),"awaitingResponse",new Map),p(e,"sentCounter",0),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&h(e,t)}(t,e),r=t,n=[{key:"createEnvelope",value:function(e,t){return{type:e,data:t,ref:(++this.sentCounter).toString()}}},{key:"createPromiseFromCommandEnvelope",value:function(e){var t=this;return new Promise(function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return t.awaitingResponse.set(e.ref,n)})}},{key:"handleIncomingEnvelope",value:function(e){if(this.awaitingResponse.has(e.ref)){var t="Error"===e.type;this.awaitingResponse.get(e.ref)[0]({data:t?null:e.data,error:t?e.data:null}),this.awaitingResponse.delete(e.ref)}}},{key:"handleEnvelopeSendError",value:function(e,t){this.awaitingResponse.has(e.ref)&&(this.awaitingResponse.get(e.ref)[1](t),this.awaitingResponse.delete(e.ref))}}],n&&c(r.prototype,n),o&&c(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(a);function v(e){return v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},v(e)}function m(e,t,r){return t=k(t),function(e,t){if(t&&("object"==v(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,b()?Reflect.construct(t,r||[],k(e).constructor):t.apply(e,r))}function b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(b=function(){return!!e})()}function g(e,t,r,n){var o=w(k(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function w(){return w="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=k(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},w.apply(null,arguments)}function k(e){return k=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},k(e)}function S(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&O(e,t)}function O(e,t){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},O(e,t)}function j(e){return function(e){if(Array.isArray(e))return P(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){if(e){if("string"==typeof e)return P(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?P(e,t):void 0}}function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function E(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_(n.key),n)}}function R(e,t,r){return t&&E(e.prototype,t),r&&E(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function A(e,t,r){return(t=_(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _(e){var t=function(e,t){if("object"!=v(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=v(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==v(t)?t:t+""}var M=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];I(this,e),A(this,"_items",new Map),this.set.apply(this,j(t))}return R(e,[{key:"items",get:function(){return this._items}},{key:"length",get:function(){return this._items.size}},{key:"set",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(var n=0,o=t;n<o.length;n++){var i=o[n];this._items.set(i[0],i[1])}}},{key:"get",value:function(e){return this.items.get(e)}},{key:"has",value:function(e){return this.items.has(e)}},{key:"delete",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(var n=0,o=t;n<o.length;n++){var i=o[n];this.items.delete(i)}}},{key:"deleteAll",value:function(){this.items.clear()}},{key:"findBy",value:function(t,r){for(var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=new e;!((n=this.items.entries().next().value).done||o&&i.length===o);)n[1][t]===r&&i.set(n);return i}},{key:"createMirror",value:function(){var t=new e;return t._items=this._items,t}}])}(),F=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];I(this,e),A(this,"_items",void 0),this.id=t,this._items=new M,this.set.apply(this,j(r))}return R(e,[{key:"items",get:function(){return Array.from(this._items.items.values())}},{key:"length",get:function(){return this._items.length}},{key:"set",value:function(){for(var e,t=this,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];(e=this._items).set.apply(e,j(n.map(function(e){return[t.getId(e),e]})))}},{key:"get",value:function(e){return this._items.get(e)}},{key:"getAt",value:function(e){return this.items[e]}},{key:"has",value:function(e){return this._items.has(e)}},{key:"delete",value:function(){var e;(e=this._items).delete.apply(e,arguments)}},{key:"deleteAll",value:function(){this._items.deleteAll()}},{key:"findBy",value:function(t,r){var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=new e(this.id),a=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=T(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(this.items);try{for(a.s();!(n=a.n()).done;){var u=n.value;if(o&&i.length===o)break;u[t]===r&&i.set(u)}}catch(e){a.e(e)}finally{a.f()}return i}},{key:"createMirror",value:function(){var t=new e(this.id);return t._items=this._items,t}},{key:"getId",value:function(e){return"function"==typeof this.id?this.id(e):e[this.id]}}])}(),L=function(e){function t(){var e,r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return I(this,t),A(r=m(this,t),"eventTarget",void 0),r.eventTarget=new a,(e=r).set.apply(e,j(n)),r}return S(t,e),R(t,[{key:"set",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];r.length&&(g(t,"set",this,3)(r),this.eventTarget.emit("change",{setItems:r.map(function(e){return e[0]})}))}},{key:"delete",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];r.length&&(g(t,"delete",this,3)(r),this.eventTarget.emit("change",{deletedItems:r}))}},{key:"deleteAll",value:function(){if(this.length){var e=Array.from(this._items.keys());g(t,"deleteAll",this,3)([]),this.eventTarget.emit("change",{deletedItems:Array.from(e)})}}},{key:"createMirror",value:function(){var e=new t;return e.eventTarget=this.eventTarget,e._items=this._items,e}},{key:"on",value:function(e,t){return this.eventTarget.on(e,t),this}},{key:"once",value:function(e,t){return this.eventTarget.once(e,t),this}},{key:"off",value:function(e,t){return this.eventTarget.off(e,t),this}}])}(M),x=function(e){function t(e){var r,n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return I(this,t),A(n=m(this,t,[e]),"eventTarget",void 0),n.eventTarget=new a,(r=n).set.apply(r,j(o)),n}return S(t,e),R(t,[{key:"set",value:function(){for(var e=this,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];n.length&&(g(t,"set",this,3)(n),this.eventTarget.emit("change",{setItems:n.map(function(t){return e.getId(t)})}))}},{key:"delete",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];r.length&&(g(t,"delete",this,3)(r),this.eventTarget.emit("change",{deletedItems:r}))}},{key:"deleteAll",value:function(){var e=this;if(this.length){var r=this.items.map(function(t){return e.getId(t)});g(t,"deleteAll",this,3)([]),this.eventTarget.emit("change",{deletedItems:r})}}},{key:"createMirror",value:function(){var e=new t(this.id);return e.eventTarget=this.eventTarget,e._items=this._items,e}},{key:"on",value:function(e,t){return this.eventTarget.on(e,t),this}},{key:"once",value:function(e,t){return this.eventTarget.once(e,t),this}},{key:"off",value:function(e,t){return this.eventTarget.off(e,t),this}}])}(F);function G(e){return G="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},G(e)}function D(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,B(n.key),n)}}function N(e,t,r){return t&&D(e.prototype,t),r&&D(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function C(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function U(e,t,r){return(t=B(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function B(e){var t=function(e,t){if("object"!=G(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=G(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==G(t)?t:t+""}var J=N(function e(){var t=this;C(this,e),U(this,"promise",void 0),U(this,"resolve",void 0),this.promise=new Promise(function(e){return t.resolve=e})}),W=function(){return N(function e(){C(this,e),U(this,"promises",new M)},[{key:"register",value:function(e,t){this.promises.set([t,e])}},{key:"registerByFunction",value:function(e,t){this.register(e(),t)}},{key:"get",value:function(e){return this.promises.get(e)}},{key:"has",value:function(e){return this.promises.has(e)}},{key:"notExist",value:function(e){return!this.has(e)}},{key:"forget",value:function(){var e;(e=this.promises).delete.apply(e,arguments)}},{key:"forgetAll",value:function(){this.promises.deleteAll()}}])}();function H(e){return H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},H(e)}function $(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$(Object(r),!0).forEach(function(t){se(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function V(e,t,r,n){var o=z(ae(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function z(){return z="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=ae(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},z.apply(null,arguments)}function q(e){return function(e){if(Array.isArray(e))return K(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return K(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?K(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Y(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return X(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(X(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,X(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,X(f,"constructor",s),X(s,"constructor",c),c.displayName="GeneratorFunction",X(s,o,"GeneratorFunction"),X(f),X(f,o,"Generator"),X(f,n,function(){return this}),X(f,"toString",function(){return"[object Generator]"}),(Y=function(){return{w:i,m:h}})()}function X(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}X=function(e,t,r,n){function i(t,r){X(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},X(e,t,r,n)}function Z(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function ee(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Z(i,n,o,a,u,"next",e)}function u(e){Z(i,n,o,a,u,"throw",e)}a(void 0)})}}function te(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function re(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,le(n.key),n)}}function ne(e,t,r){return t&&re(e.prototype,t),r&&re(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function oe(e,t,r){return t=ae(t),function(e,t){if(t&&("object"==H(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ie()?Reflect.construct(t,r||[],ae(e).constructor):t.apply(e,r))}function ie(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ie=function(){return!!e})()}function ae(e){return ae=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ae(e)}function ue(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ce(e,t)}function ce(e,t){return ce=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ce(e,t)}function se(e,t,r){return(t=le(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function le(e){var t=function(e,t){if("object"!=H(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=H(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==H(t)?t:t+""}var fe=function(e){return e[e.LIVE=0]="LIVE",e[e.LATEST=1]="LATEST",e[e.PAST=2]="PAST",e[e.OLDEST=3]="OLDEST",e}({}),he=function(e){function t(e,r,n){var o,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return te(this,t),se(o=oe(this,t,["id"]),"WindowState",fe),o.roomId=e,o.topicId=r,o.tracker=n,o.internalState.traverseLock=!1,i&&(o.tracker.client.on("NewMessage",function(e){return o.handleNewMessage(e)}),o.tracker.client.on("MessagesRedacted",function(e){return o.handleMessagesRedacted(e)})),o}return ue(t,e),ne(t,[{key:"createMirror",value:function(){var e=new t(this.roomId,this.topicId,this.tracker,!1);return e.eventTarget=this.eventTarget,e._items=this._items,e.internalState=this.internalState,e}},{key:"isTraverseLocked",get:function(){return this.internalState.traverseLock}},{key:"setTraverseLock",value:(p=ee(Y().m(function e(r){return Y().w(function(e){for(;;)switch(e.n){case 0:if(this.internalState.traverseLock=r,!r||this.state===fe.LIVE||this.state===fe.LATEST){e.n=1;break}return e.n=1,V(t,"resetToLatest",this,3)([]);case 1:return e.a(2)}},e,this)})),function(e){return p.apply(this,arguments)})},{key:"resetToLatest",value:(h=ee(Y().m(function e(){return Y().w(function(e){for(;;)switch(e.n){case 0:if(!this.internalState.traverseLock){e.n=1;break}return e.a(2);case 1:return e.a(2,V(t,"resetToLatest",this,3)([]))}},e,this)})),function(){return h.apply(this,arguments)})},{key:"fetchNext",value:(f=ee(Y().m(function e(){return Y().w(function(e){for(;;)switch(e.n){case 0:if(!this.internalState.traverseLock){e.n=1;break}return e.a(2);case 1:return e.a(2,V(t,"fetchNext",this,3)([]))}},e,this)})),function(){return f.apply(this,arguments)})},{key:"fetchPrevious",value:(l=ee(Y().m(function e(){return Y().w(function(e){for(;;)switch(e.n){case 0:if(!this.internalState.traverseLock){e.n=1;break}return e.a(2);case 1:return e.a(2,V(t,"fetchPrevious",this,3)([]))}},e,this)})),function(){return l.apply(this,arguments)})},{key:"_updateMessageReference",value:function(e){var t=this.get(e.refMessage.id);t&&this.set(Q(Q({},t),{},{topicRef:e.id}))}},{key:"handleNewMessage",value:(s=ee(Y().m(function e(t){return Y().w(function(e){for(;;)switch(e.n){case 0:[fe.LATEST,fe.LIVE].includes(this.state)&&t.message.location.roomId===this.roomId&&t.message.location.topicId===this.topicId&&this.addItems([t.message],"tail");case 1:return e.a(2)}},e,this)})),function(e){return s.apply(this,arguments)})},{key:"handleMessagesRedacted",value:(c=ee(Y().m(function e(t){return Y().w(function(e){for(;;)switch(e.n){case 0:if(t.location.topicId===this.topicId&&t.location.roomId===this.roomId){e.n=1;break}return e.a(2);case 1:if(this.delete.apply(this,q(t.ids)),0!==this.length){e.n=2;break}return e.n=2,this.resetToLatest();case 2:return e.a(2)}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"fetchItemsAfter",value:(u=ee(Y().m(function e(){var t,r,n;return Y().w(function(e){for(;;)switch(e.n){case 0:if(r=null===(t=this.getAt(this.length-1))||void 0===t?void 0:t.id){e.n=1;break}return e.a(2,null);case 1:return e.n=2,this.tracker.client.send("GetMessages",{location:{roomId:this.roomId,topicId:this.topicId},after:r,limit:this.internalState.fetchLimit});case 2:if(!(n=e.v).error){e.n=3;break}throw new Error("Cannot fetch messages: ".concat(n.error.message));case 3:return e.a(2,n.data.messages)}},e,this)})),function(){return u.apply(this,arguments)})},{key:"fetchItemsBefore",value:(a=ee(Y().m(function e(){var t,r,n;return Y().w(function(e){for(;;)switch(e.n){case 0:if(r=null===(t=this.getAt(0))||void 0===t?void 0:t.id){e.n=1;break}return e.a(2,null);case 1:return e.n=2,this.tracker.client.send("GetMessages",{location:{roomId:this.roomId,topicId:this.topicId},before:r,limit:this.internalState.fetchLimit});case 2:if(!(n=e.v).error){e.n=3;break}throw new Error("Cannot fetch messages: ".concat(n.error.message));case 3:return e.a(2,n.data.messages)}},e,this)})),function(){return a.apply(this,arguments)})},{key:"fetchLatestItems",value:(i=ee(Y().m(function e(){var t;return Y().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.client.send("GetMessages",{location:{roomId:this.roomId,topicId:this.topicId},limit:this.internalState.fetchLimit});case 1:if(!(t=e.v).error){e.n=2;break}throw new Error("Cannot fetch messages: ".concat(t.error.message));case 2:return e.a(2,t.data.messages)}},e,this)})),function(){return i.apply(this,arguments)})},{key:"getTopic",value:(o=ee(Y().m(function e(){return Y().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.rooms.getTopics(this.roomId,[this.topicId]);case 1:return e.a(2,e.v.get(this.topicId))}},e,this)})),function(){return o.apply(this,arguments)})},{key:"getLatestMessageId",value:(n=ee(Y().m(function e(){var t,r,n,o,i;return Y().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.getTopic();case 1:if(o=t=e.v,n=null===o){e.n=2;break}n=void 0===t;case 2:if(r=n){e.n=3;break}r=null===(t=t.lastMessage)||void 0===t;case 3:if(!r){e.n=4;break}i=void 0,e.n=5;break;case 4:i=t.id;case 5:return e.a(2,i)}},e,this)})),function(){return n.apply(this,arguments)})},{key:"isLatestItemLoaded",value:(r=ee(Y().m(function e(){var t;return Y().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.getLatestMessageId();case 1:return t=e.v,e.a(2,!t||this.has(t))}},e,this)})),function(){return r.apply(this,arguments)})}]);var r,n,o,i,a,u,c,s,l,f,h,p}(function(e){function t(){var e;te(this,t);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return se(e=oe(this,t,[].concat(n)),"internalState",{current:fe.LIVE,ongoing:void 0,limit:50,fetchLimit:50,lastFetchCount:0,oldestId:null}),e}return ue(t,e),ne(t,[{key:"state",get:function(){return this.internalState.current}},{key:"fetchLimit",get:function(){return this.internalState.fetchLimit},set:function(e){this.internalState.fetchLimit=e}},{key:"limit",get:function(){return this.internalState.limit},set:function(e){this.internalState.limit=e}},{key:"hasLatest",get:function(){return[fe.LATEST,fe.LIVE].includes(this.state)}},{key:"hasOldest",get:function(){return this.state===fe.OLDEST||this.state===fe.LATEST&&this.length<this.fetchLimit||null!==this.internalState.oldestId&&this.has(this.internalState.oldestId)}},{key:"resetToLatest",value:(i=ee(Y().m(function e(){var t;return Y().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.internalState.ongoing&&this.internalState.current!==fe.LATEST){e.n=1;break}return e.a(2);case 1:return this.internalState.ongoing=fe.LATEST,e.p=2,e.n=3,this.fetchLatestItems();case 3:t=e.v,this.internalState.lastFetchCount=t.length;case 4:return e.p=4,this.internalState.ongoing=void 0,e.f(4);case 5:this.deleteAll(),this.addItems(t,"tail"),this.internalState.current=fe.LATEST;case 6:return e.a(2)}},e,this,[[2,,4,5]])})),function(){return i.apply(this,arguments)})},{key:"fetchPrevious",value:(o=ee(Y().m(function e(){var t,r;return Y().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.internalState.ongoing&&!this.hasOldest){e.n=1;break}return e.a(2);case 1:return this.internalState.ongoing=fe.PAST,e.p=2,e.n=3,this.fetchItemsBefore();case 3:t=e.v,this.internalState.lastFetchCount=t?t.length:0;case 4:return e.p=4,this.internalState.ongoing=void 0,e.f(4);case 5:if(t){e.n=6;break}return e.a(2,this.resetToLatest());case 6:if(t.length){e.n=8;break}return r=this.getAt(0),this.internalState.oldestId=r?this.getId(r):null,e.n=7,this.refreshFetchedState();case 7:return this.internalState.current===fe.PAST&&(this.internalState.current=fe.OLDEST),e.a(2);case 8:return this.addItems(t,"head"),e.n=9,this.refreshFetchedState();case 9:return e.a(2)}},e,this,[[2,,4,5]])})),function(){return o.apply(this,arguments)})},{key:"fetchNext",value:(n=ee(Y().m(function e(){var t;return Y().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.internalState.ongoing&&!this.hasLatest){e.n=1;break}return e.a(2);case 1:return this.internalState.ongoing=fe.PAST,e.p=2,e.n=3,this.fetchItemsAfter();case 3:t=e.v,this.internalState.lastFetchCount=t?t.length:0;case 4:return e.p=4,this.internalState.ongoing=void 0,e.f(4);case 5:if(t){e.n=7;break}return e.n=6,this.resetToLatest();case 6:return e.a(2);case 7:if(!t.length){e.n=9;break}return this.addItems(t,"tail"),e.n=8,this.refreshFetchedState();case 8:case 9:return e.a(2)}},e,this,[[2,,4,5]])})),function(){return n.apply(this,arguments)})},{key:"refreshFetchedState",value:(r=ee(Y().m(function e(){var t;return Y().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.isLatestItemLoaded();case 1:if(!e.v){e.n=2;break}t=fe.LATEST,e.n=3;break;case 2:t=fe.PAST;case 3:this.internalState.current=t;case 4:return e.a(2)}},e,this)})),function(){return r.apply(this,arguments)})},{key:"addItems",value:function(e,t){var r;"head"===t&&(r=this.trimItemsArrayToLimit([].concat(q(e),q(this.items)),"tail")),"tail"===t&&(r=this.trimItemsArrayToLimit([].concat(q(this.items),q(e)),"head")),this.deleteAll(),this.set.apply(this,q(r))}},{key:"trimItemsArrayToLimit",value:function(e,t){return null===this.limit?e:"head"===t?e.slice(-this.limit):"tail"===t?e.slice(0,this.limit):void 0}}]);var r,n,o,i}(x));function pe(e){return pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pe(e)}function de(e){return function(e){if(Array.isArray(e))return me(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ve(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ye(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,t)||ve(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ve(e,t){if(e){if("string"==typeof e)return me(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?me(e,t):void 0}}function me(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function be(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return ge(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(ge(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,ge(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,ge(f,"constructor",s),ge(s,"constructor",c),c.displayName="GeneratorFunction",ge(s,o,"GeneratorFunction"),ge(f),ge(f,o,"Generator"),ge(f,n,function(){return this}),ge(f,"toString",function(){return"[object Generator]"}),(be=function(){return{w:i,m:h}})()}function ge(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}ge=function(e,t,r,n){function i(t,r){ge(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},ge(e,t,r,n)}function we(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function ke(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){we(i,n,o,a,u,"next",e)}function u(e){we(i,n,o,a,u,"throw",e)}a(void 0)})}}function Se(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,je(n.key),n)}}function Oe(e,t,r){return(t=je(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function je(e){var t=function(e,t){if("object"!=pe(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=pe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==pe(t)?t:t+""}var Te=function(){return e=function e(t,r){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Oe(this,"historyWindows",new M),Oe(this,"traverseLock",!1),this.room=t,this.tracker=r,this.tracker.client.on("RoomUpdated",function(e){return n.handleRoomUpdated(e)}),this.tracker.client.on("NewTopic",function(e){return n.handleNewTopic(e)}),this.tracker.client.on("TopicDeleted",function(e){return n.handleTopicDeleted(e)}),this.updateTraverseLock(this.room),this.room.defaultTopic&&this.createHistoryWindowForTopic(this.room.defaultTopic)},t=[{key:"getMessagesWindow",value:(o=ke(be().m(function e(t){var r;return be().w(function(e){for(;;)switch(e.n){case 0:if(this.historyWindows.has(t)){e.n=2;break}return e.n=1,this.tracker.rooms.getTopics(this.room.id,[t]);case 1:(r=e.v.get(t))&&this.createHistoryWindowForTopic(r);case 2:return e.a(2,this.historyWindows.get(t))}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"handleRoomUpdated",value:(n=ke(be().m(function e(t){var r,n,o,i;return be().w(function(e){for(;;)switch(e.n){case 0:if(this.room.id!==t.room.id){e.n=3;break}this.room=t.room,this.updateTraverseLock(t.room),t.room.defaultTopic&&this.createHistoryWindowForTopic(t.room.defaultTopic),r=0,n=Array.from(this.historyWindows.items);case 1:if(!(r<n.length)){e.n=3;break}return o=ye(n[r],2),i=o[1],e.n=2,i.setTraverseLock(this.traverseLock);case 2:r++,e.n=1;break;case 3:return e.a(2)}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"handleNewTopic",value:function(e){this.room.id===e.roomId&&this.createHistoryWindowForTopic(e.topic)}},{key:"handleTopicDeleted",value:function(e){this.room.id===e.location.roomId&&this.historyWindows.delete(e.location.topicId)}},{key:"createHistoryWindowForTopic",value:function(e){var t=this;if(!this.historyWindows.has(e.id)){var r=new he(this.room.id,e.id,this.tracker);if(r.setTraverseLock(this.traverseLock),this.historyWindows.set([e.id,r]),r.on("reftopicsdeleted",function(e){var r,n,o=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=ve(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(e);try{for(o.s();!(n=o.n()).done;){var i=n.value;t.historyWindows.delete(i)}}catch(e){o.e(e)}finally{o.f()}(r=t.tracker.rooms)._deleteTopicsFromRoom.apply(r,[t.room.id].concat(de(e)))}),e.refMessage){var n=this.historyWindows.get(e.refMessage.location.topicId);null==n||n._updateMessageReference(e)}}}},{key:"updateTraverseLock",value:function(e){this.traverseLock="Ephemeral"===e.history.mode}}],t&&Se(e.prototype,t),r&&Se(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o}();function Pe(e){return Pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe(e)}function Ie(e){return function(e){if(Array.isArray(e))return Me(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||_e(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Re(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ee(Object(r),!0).forEach(function(t){Ne(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ee(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Ae(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=_e(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function _e(e,t){if(e){if("string"==typeof e)return Me(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Me(e,t):void 0}}function Me(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Fe(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Le(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Le(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Le(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Le(f,"constructor",s),Le(s,"constructor",c),c.displayName="GeneratorFunction",Le(s,o,"GeneratorFunction"),Le(f),Le(f,o,"Generator"),Le(f,n,function(){return this}),Le(f,"toString",function(){return"[object Generator]"}),(Fe=function(){return{w:i,m:h}})()}function Le(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Le=function(e,t,r,n){function i(t,r){Le(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Le(e,t,r,n)}function xe(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Ge(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){xe(i,n,o,a,u,"next",e)}function u(e){xe(i,n,o,a,u,"throw",e)}a(void 0)})}}function De(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ce(n.key),n)}}function Ne(e,t,r){return(t=Ce(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ce(e){var t=function(e,t){if("object"!=Pe(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Pe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Pe(t)?t:t+""}var Ue=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ne(this,"roomHistories",new M),Ne(this,"followedTopics",new M),Ne(this,"followedTopicsPromises",new W),Ne(this,"deferredSession",new J),this.tracker=t,this.tracker.client.on("Session",function(e){return r.handleSession(e)}),this.tracker.client.on("RoomJoined",function(e){return r.handleRoomJoin(e)}),this.tracker.client.on("NewTopic",function(e){return r.handleNewTopic(e)}),this.tracker.client.on("FollowedTopicUpdated",function(e){return r.handleFollowedTopicUpdated(e)}),this.tracker.client.on("TopicFollowed",function(e){return r.handleTopicFollowed(e)}),this.tracker.client.on("TopicUnfollowed",function(e){return r.handleTopicUnfollowed(e)}),this.tracker.client.on("NewMessage",function(e){return r.handleNewMessage(e)}),this.tracker.client.on("RoomDeleted",function(e){return r.handleRoomDeleted(e)}),this.tracker.client.on("RoomLeft",function(e){return r.handleRoomLeft(e)}),this.tracker.client.on("TopicDeleted",function(e){return r.handleTopicDeleted(e)})},t=[{key:"getRoomHistory",value:(c=Ge(Fe().m(function e(t){return Fe().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this.roomHistories.get(t))}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"cacheSpaceFollowedTopics",value:(u=Ge(Fe().m(function e(t){var r,n,o,i,a=this;return Fe().w(function(e){for(;;)switch(e.n){case 0:if(!(i=t)){e.n=2;break}return e.n=1,this.tracker.spaces.get();case 1:i=!e.v.has(t);case 2:if(!i){e.n=3;break}throw new Error("You are not in space ".concat(t));case 3:return e.n=4,this.tracker.rooms.get();case 4:if((r=e.v.findBy("spaceId",t).items.map(function(e){return e.id})).length){e.n=5;break}return e.a(2);case 5:return n=this.tracker.client.send("GetFollowedTopics",{location:{spaceId:t}}),r.forEach(function(e){return a.followedTopicsPromises.register(n,e)}),e.n=6,n;case 6:if(!(o=e.v).error){e.n=7;break}throw o.error;case 7:this.setFollowedTopicsArray(r,o.data.followedTopics);case 8:return e.a(2)}},e,this)})),function(e){return u.apply(this,arguments)})},{key:"getRoomFollowedTopics",value:(a=Ge(Fe().m(function e(t){var r=this;return Fe().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.rooms.get();case 1:if(e.v.has(t)){e.n=2;break}return e.a(2,void 0);case 2:if(this.followedTopics.has(t)){e.n=3;break}return this.followedTopicsPromises.notExist(t)&&this.followedTopicsPromises.registerByFunction(Ge(Fe().m(function e(){var n;return Fe().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r.tracker.client.send("GetFollowedTopics",{location:{roomId:t}});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:r.setFollowedTopicsArray([t],n.data.followedTopics);case 3:return e.a(2)}},e)})),t),e.n=3,this.followedTopicsPromises.get(t);case 3:return e.a(2,this.followedTopics.get(t))}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"ackRoomFollowedTopics",value:(i=Ge(Fe().m(function e(t){var r,n,o,i,a;return Fe().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.n=1,this.getRoomFollowedTopics(t);case 1:if(r=e.v){e.n=2;break}return e.a(2);case 2:n=Ae(r.items),e.p=3,n.s();case 4:if((o=n.n()).done){e.n=6;break}if(!(i=o.value).missed){e.n=5;break}return e.n=5,this.tracker.client.send("Ack",{location:i.location});case 5:e.n=4;break;case 6:e.n=8;break;case 7:e.p=7,a=e.v,n.e(a);case 8:return e.p=8,n.f(),e.f(8);case 9:return e.a(2)}},e,this,[[3,7,8,9]])})),function(e){return i.apply(this,arguments)})},{key:"calculateRoomMissedMessages",value:(o=Ge(Fe().m(function e(t){var r;return Fe().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.getRoomFollowedTopics(t);case 1:if(!(r=e.v)){e.n=2;break}return e.a(2,r.items.reduce(function(e,t){var r;return e+(null!==(r=t.missed)&&void 0!==r?r:0)},0));case 2:return e.a(2,void 0)}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"_deleteByTopicIds",value:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];null===(t=this.followedTopics.get(e))||void 0===t||t.delete.apply(t,n)}},{key:"createHistoryForNewRoom",value:function(e){this.roomHistories.set([e.id,new Te(e,this.tracker)])}},{key:"handleNewMessage",value:function(e){this.updateLocallyFollowedTopicOnNewMessage(e)}},{key:"handleFollowedTopicUpdated",value:function(e){var t;null===(t=this.followedTopics.get(e.followedTopic.location.roomId))||void 0===t||t.set(e.followedTopic)}},{key:"handleTopicFollowed",value:function(e){this.setFollowedTopicsArray([e.followedTopic.location.roomId],[e.followedTopic])}},{key:"handleTopicUnfollowed",value:function(e){var t;null===(t=this.followedTopics.get(e.location.roomId))||void 0===t||t.delete(e.location.topicId)}},{key:"handleRoomDeleted",value:function(e){this.roomHistories.delete(e.id),this.clearRoomFollowedTopicsStructures(e.id)}},{key:"handleRoomJoin",value:function(e){this.createHistoryForNewRoom(e.room),this.clearRoomFollowedTopicsStructures(e.room.id)}},{key:"handleRoomLeft",value:function(e){this.roomHistories.delete(e.id),this.clearRoomFollowedTopicsStructures(e.id)}},{key:"handleNewTopic",value:(n=Ge(Fe().m(function e(t){var r,n;return Fe().w(function(e){for(;;)switch(e.n){case 0:if(!this.followedTopics.has(t.roomId)){e.n=2;break}return e.n=1,this.tracker.client.send("GetFollowedTopics",{location:{roomId:t.roomId,topicId:t.topic.id}});case 1:r=e.v,(n=r.data.followedTopics[0])&&this.followedTopics.get(t.roomId).set(n);case 2:return e.a(2)}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"handleTopicDeleted",value:function(e){var t;null===(t=this.followedTopics.get(e.location.roomId))||void 0===t||t.delete(e.location.topicId)}},{key:"handleSession",value:function(e){var t=this;this.followedTopics.deleteAll(),this.followedTopicsPromises.forgetAll(),this.roomHistories.deleteAll(),e.state.rooms.forEach(function(e){return t.createHistoryForNewRoom(e)}),this.deferredSession.resolve()}},{key:"updateLocallyFollowedTopicOnNewMessage",value:function(e){var t,r,n=this.followedTopics.get(e.message.location.roomId),o=null==n?void 0:n.get(e.message.location.topicId);n&&o&&"Ephemeral"!==e.message.type&&(r=e.message.author.user.id===(null===(t=this.tracker.me)||void 0===t?void 0:t.id)?{missed:0,lastAckMessageId:e.message.id}:{missed:null===o.missed?null:o.missed+1},n.set(Re(Re({},o),r)))}},{key:"setFollowedTopicsArray",value:function(e,t){var r=this,n={};t.forEach(function(e){var t,r;null!==(r=n[t=e.location.roomId])&&void 0!==r||(n[t]=[]),n[e.location.roomId].push(e)}),e.forEach(function(e){var t;r.followedTopics.has(e)||r.followedTopics.set([e,new x(function(e){return e.location.topicId})]),n[e]&&(t=r.followedTopics.get(e)).set.apply(t,Ie(n[e]))})}},{key:"clearRoomFollowedTopicsStructures",value:function(e){this.followedTopics.delete(e),this.followedTopicsPromises.forget(e)}}],t&&De(e.prototype,t),r&&De(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o,i,a,u,c}();function Be(e){return Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Be(e)}function Je(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function We(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Je(Object(r),!0).forEach(function(t){Ze(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Je(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function He(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Qe(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function $e(e){return function(e){if(Array.isArray(e))return Ve(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Qe(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qe(e,t){if(e){if("string"==typeof e)return Ve(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ve(e,t):void 0}}function Ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ze(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return qe(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(qe(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,qe(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,qe(f,"constructor",s),qe(s,"constructor",c),c.displayName="GeneratorFunction",qe(s,o,"GeneratorFunction"),qe(f),qe(f,o,"Generator"),qe(f,n,function(){return this}),qe(f,"toString",function(){return"[object Generator]"}),(ze=function(){return{w:i,m:h}})()}function qe(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}qe=function(e,t,r,n){function i(t,r){qe(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},qe(e,t,r,n)}function Ke(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Ye(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Ke(i,n,o,a,u,"next",e)}function u(e){Ke(i,n,o,a,u,"throw",e)}a(void 0)})}}function Xe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,et(n.key),n)}}function Ze(e,t,r){return(t=et(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function et(e){var t=function(e,t){if("object"!=Be(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Be(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Be(t)?t:t+""}var tt=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ze(this,"messages",void 0),Ze(this,"list",new x("id")),Ze(this,"topics",new M),Ze(this,"members",new M),Ze(this,"deferredSession",new J),Ze(this,"membersPromises",new W),Ze(this,"topicsPromises",new W),this.tracker=t,this.messages=new Ue(t),this.tracker.client.on("NewMessage",function(e){return r.handleNewMessage(e)}),this.tracker.client.on("NewTopic",function(e){return r.handleNewTopic(e)}),this.tracker.client.on("TopicDeleted",function(e){return r.handleTopicDeleted(e)}),this.tracker.client.on("RoomJoined",function(e){return r.handleRoomJoined(e)}),this.tracker.client.on("RoomLeft",function(e){return r.handleRoomLeft(e)}),this.tracker.client.on("RoomUpdated",function(e){return r.handleRoomUpdated(e)}),this.tracker.client.on("RoomDeleted",function(e){return r.handleRoomDeleted(e)}),this.tracker.client.on("TopicUpdated",function(e){return r.handleTopicUpdated(e)}),this.tracker.client.on("RoomMemberJoined",function(e){return r.handleRoomMemberJoined(e)}),this.tracker.client.on("RoomMemberLeft",function(e){return r.handleRoomMemberLeft(e)}),this.tracker.client.on("RoomMembers",function(e){return r.handleRoomMembers(e)}),this.tracker.client.on("RoomMemberUpdated",function(e){return r.handleRoomMemberUpdated(e)}),this.tracker.client.on("SpaceMemberLeft",function(e){return r.handleSpaceMemberLeft(e)}),this.tracker.client.on("SpaceMemberUpdated",function(e){return r.handleSpaceMemberUpdated(e)}),this.tracker.client.on("SpaceDeleted",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("SpaceLeft",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("UserUpdated",function(e){return r.handleUserUpdated(e)}),this.tracker.client.on("Session",function(e){return r.handleSession(e)})},t=[{key:"getMembers",value:(i=Ye(ze().m(function e(t){var r=this;return ze().w(function(e){for(;;)switch(e.n){case 0:return this.membersPromises.notExist(t)&&this.membersPromises.registerByFunction(Ye(ze().m(function e(){var n;return ze().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r.tracker.client.send("GetRoomMembers",{id:t});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:r.handleRoomMembers(n.data);case 3:return e.a(2)}},e)})),t),e.n=1,this.membersPromises.get(t);case 1:return e.a(2,this.members.get(t))}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"getMe",value:(o=Ye(ze().m(function e(t){var r,n;return ze().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.getMe();case 1:if(r=e.v.id,this.list.has(t)){e.n=2;break}return e.a(2,void 0);case 2:return e.n=3,this.getMembers(t);case 3:return n=e.v,e.a(2,null==n?void 0:n.items.find(function(e){var t,n;return(null!==(t=null===(n=e.user)||void 0===n?void 0:n.id)&&void 0!==t?t:e.spaceMember.user.id)===r}))}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"get",value:function(){var e=Ye(ze().m(function e(){return ze().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this.list)}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"getTopics",value:(n=Ye(ze().m(function e(t,r){var n,o,i,a,u,c,s,l=this;return ze().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:if(null==r||!r.length){e.n=8;break}n=function(e){var r;return!(null!==(r=l.topics.get(t))&&void 0!==r&&r.has(e)||l.topicsPromises.has(t+e))},(o=r.filter(n)).length&&(i=this.tracker.client.send("GetTopics",{roomId:t,topicIds:o}).then(function(e){var t;return null===(t=l.topics.get(e.data.location.roomId))||void 0===t?void 0:t.set.apply(t,$e(e.data.topics))}),o.forEach(function(e){return l.topicsPromises.register(i,t+e)})),a=He(r),e.p=2,a.s();case 3:if((u=a.n()).done){e.n=5;break}return c=u.value,e.n=4,this.topicsPromises.get(t+c);case 4:e.n=3;break;case 5:e.n=7;break;case 6:e.p=6,s=e.v,a.e(s);case 7:return e.p=7,a.f(),e.f(7);case 8:return e.a(2,this.topics.get(t))}},e,this,[[2,6,7,8]])})),function(e,t){return n.apply(this,arguments)})},{key:"_deleteTopicsFromRoom",value:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];null===(t=this.topics.get(e))||void 0===t||t.delete.apply(t,n)}},{key:"deleteRoom",value:function(){for(var e,t,r,n,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];(e=this.list).delete.apply(e,i),(t=this.members).delete.apply(t,i),(r=this.membersPromises).forget.apply(r,i);for(var u=0,c=i;u<c.length;u++){var s,l,f,h=c[u],p=null!==(s=null===(l=this.topics.get(h))||void 0===l?void 0:l.items.map(function(e){return e.id}))&&void 0!==s?s:[];(f=this.messages)._deleteByTopicIds.apply(f,[h].concat($e(p)))}(n=this.topics).delete.apply(n,i)}},{key:"deleteRoomsBySpaceId",value:function(e){this.deleteRoom.apply(this,$e(this.list.findBy("spaceId",e).items.map(function(e){return e.id})))}},{key:"handleSpaceMemberUpdated",value:function(e){var t,r=He(this.list.findBy("spaceId",e.spaceId).items);try{for(r.s();!(t=r.n()).done;){var n=t.value,o=this.members.get(n.id);if(o&&o.has(e.userId)){var i=o.get(e.userId),a=i.spaceMember.user;i.spaceMember=We(We({},e.member),{},{user:a}),o.set(i)}}}catch(e){r.e(e)}finally{r.f()}}},{key:"handleSpaceMemberLeft",value:function(e){var t=this;this.list.findBy("spaceId",e.spaceId).items.forEach(function(r){var n;return null===(n=t.members.get(r.id))||void 0===n?void 0:n.delete(e.userId)})}},{key:"handleRoomMemberUpdated",value:function(e){var t,r;if(this.members.has(e.roomId)){var n=this.members.get(e.roomId),o=n.get(e.userId),i=e.member,a=null!==(t=null===(r=o.spaceMember)||void 0===r?void 0:r.user)&&void 0!==t?t:o.user;i.spaceMember?i.spaceMember.user=a:i.user=a,n.set(i)}}},{key:"handleSpaceDeleted",value:function(e){this.deleteRoomsBySpaceId(e.id)}},{key:"handleTopicDeleted",value:function(e){var t;this.topics.get(e.location.roomId).delete(e.location.topicId);var r=this.list.get(e.location.roomId);(null===(t=r.defaultTopic)||void 0===t?void 0:t.id)===e.location.topicId&&this.list.set(We(We({},r),{},{defaultTopic:null}))}},{key:"handleNewTopic",value:function(e){this.addJoinedRoomTopics(e.roomId,e.topic)}},{key:"addJoinedRoomTopics",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var o;this.topics.has(e)?(o=this.topics.get(e)).set.apply(o,r):this.topics.set([e,new x("id",r)])}},{key:"handleRoomJoined",value:function(e){this.addJoinedRooms(e.room)}},{key:"handleRoomUpdated",value:function(e){this.list.has(e.room.id)&&this.list.set(e.room)}},{key:"handleRoomDeleted",value:function(e){this.deleteRoom(e.id)}},{key:"handleTopicUpdated",value:function(e){var t,r=this.list.get(e.location.roomId);null!==(t=this.topics.get(e.location.roomId))&&void 0!==t&&t.has(e.topic.id)&&this.topics.get(e.location.roomId).set(e.topic),r.defaultTopic.id===e.topic.id&&(r.defaultTopic=e.topic,this.list.set(r))}},{key:"addJoinedRooms",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];for(var o=0,i=r;o<i.length;o++){var a=i[o];a.defaultTopic&&this.addJoinedRoomTopics(a.id,a.defaultTopic),"Pm"===a.type&&a.recipients&&(this.handleRoomMembers({id:a.id,members:a.recipients.map(function(e){return{user:e,spaceMember:null,roles:null,customColor:null,customNick:null,extras:""}})}),this.membersPromises.register(Promise.resolve(),a.id))}(e=this.list).set.apply(e,r)}},{key:"handleRoomLeft",value:function(e){this.deleteRoom(e.id)}},{key:"handleRoomMemberJoined",value:function(e){this.members.has(e.roomId)&&this.members.get(e.roomId).set(e.member)}},{key:"handleRoomMemberLeft",value:function(e){this.members.has(e.roomId)&&this.members.get(e.roomId).delete(e.userId)}},{key:"handleRoomMembers",value:function(e){this.members.has(e.id)||this.members.set([e.id,new x(function(e){var t,r;return null!==(t=null===(r=e.user)||void 0===r?void 0:r.id)&&void 0!==t?t:e.spaceMember.user.id},e.members)])}},{key:"handleSession",value:function(e){this.list.deleteAll(),this.topics.deleteAll(),this.topicsPromises.forgetAll(),this.members.deleteAll(),this.membersPromises.forgetAll(),this.addJoinedRooms.apply(this,$e(e.state.rooms)),this.deferredSession.resolve()}},{key:"handleUserUpdated",value:function(e){var t;this.members.items.forEach(function(t){var r=t.get(e.user.id);if(r){var n=We({},r);r.user?n.user=e.user:n.spaceMember.user=e.user,t.set(n)}});var r=[];this.list.items.forEach(function(t){var n;null!==(n=t.recipients)&&void 0!==n&&n.some(function(t){return t.id===e.user.id})&&(t.recipients=t.recipients.map(function(t){return t.id===e.user.id?e.user:t}),r.push(We({},t)))}),(t=this.list).set.apply(t,r)}},{key:"handleNewMessage",value:function(e){var t,r=this.topics.get(e.message.location.roomId),n=null==r?void 0:r.get(e.message.location.topicId);if(n){var o=We(We({},n),{},{messageCount:n.messageCount+1,lastMessage:e.message});r.set(o);var i=this.list.get(e.message.location.roomId);(null===(t=i.defaultTopic)||void 0===t?void 0:t.id)===e.message.location.topicId&&this.list.set(We(We({},i),{},{defaultTopic:o}))}}}],t&&Xe(e.prototype,t),r&&Xe(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o,i}();function rt(e){var t,r;return null!==(t=e.user)&&void 0!==t?t:null===(r=e.spaceMember)||void 0===r?void 0:r.user}function nt(e){return nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nt(e)}function ot(e){return function(e){if(Array.isArray(e))return it(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return it(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?it(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function it(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function at(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ut(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?at(Object(r),!0).forEach(function(t){pt(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):at(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ct(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return st(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(st(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,st(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,st(f,"constructor",s),st(s,"constructor",c),c.displayName="GeneratorFunction",st(s,o,"GeneratorFunction"),st(f),st(f,o,"Generator"),st(f,n,function(){return this}),st(f,"toString",function(){return"[object Generator]"}),(ct=function(){return{w:i,m:h}})()}function st(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}st=function(e,t,r,n){function i(t,r){st(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},st(e,t,r,n)}function lt(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function ft(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){lt(i,n,o,a,u,"next",e)}function u(e){lt(i,n,o,a,u,"throw",e)}a(void 0)})}}function ht(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,dt(n.key),n)}}function pt(e,t,r){return(t=dt(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dt(e){var t=function(e,t){if("object"!=nt(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=nt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==nt(t)?t:t+""}var yt=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),pt(this,"list",new x("id")),pt(this,"roles",new M),pt(this,"rooms",new M),pt(this,"roomIdToSpaceId",new M),pt(this,"members",new M),pt(this,"deferredSession",new J),pt(this,"roomsPromises",new W),pt(this,"membersPromises",new W),this.tracker=t,this.tracker.client.on("NewRoom",function(e){return r.handleNewRoom(e)}),this.tracker.client.on("RoomDeleted",function(e){return r.handleRoomDeleted(e)}),this.tracker.client.on("RoomUpdated",function(e){return r.handleRoomUpdated(e)}),this.tracker.client.on("SpaceDeleted",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("SpaceUpdated",function(e){return r.handleSpaceUpdated(e)}),this.tracker.client.on("SpaceJoined",function(e){return r.handleSpaceJoined(e)}),this.tracker.client.on("SpaceLeft",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("SpaceMemberJoined",function(e){return r.handleSpaceMemberJoined(e)}),this.tracker.client.on("SpaceMemberLeft",function(e){return r.handleSpaceMemberLeft(e)}),this.tracker.client.on("SpaceMembers",function(e){return r.handleSpaceMembers(e)}),this.tracker.client.on("SpaceRooms",function(e){return r.handleSpaceRooms(e)}),this.tracker.client.on("RoomSummaryUpdated",function(e){return r.handleRoomSummaryUpdated(e)}),this.tracker.client.on("SpaceMemberUpdated",function(e){return r.handleSpaceMemberUpdated(e)}),this.tracker.client.on("UserUpdated",function(e){return r.handleUserUpdated(e)}),this.tracker.client.on("NewRole",function(e){return r.handleNewRole(e)}),this.tracker.client.on("RoleDeleted",function(e){return r.handleRoleDeleted(e)}),this.tracker.client.on("RoleUpdated",function(e){return r.handleRoleUpdated(e)}),this.tracker.client.on("Session",function(e){return r.handleSession(e)})},t=[{key:"get",value:function(){var e=ft(ct().m(function e(){return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this.list)}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"getRoles",value:(c=ft(ct().m(function e(t){return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this.roles.get(t))}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"getRooms",value:(u=ft(ct().m(function e(t){var r=this;return ct().w(function(e){for(;;)switch(e.n){case 0:return this.roomsPromises.notExist(t)&&this.roomsPromises.registerByFunction(ft(ct().m(function e(){var n;return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r.tracker.client.send("GetSpaceRooms",{id:t});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:r.handleSpaceRooms(n.data);case 3:return e.a(2)}},e)})),t),e.n=1,this.roomsPromises.get(t);case 1:return e.a(2,this.rooms.get(t))}},e,this)})),function(e){return u.apply(this,arguments)})},{key:"getMembers",value:(a=ft(ct().m(function e(t){var r=this;return ct().w(function(e){for(;;)switch(e.n){case 0:return this.membersPromises.notExist(t)&&this.membersPromises.registerByFunction(ft(ct().m(function e(){var n;return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r.tracker.client.send("GetSpaceMembers",{id:t});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:r.handleSpaceMembers(n.data);case 3:return e.a(2)}},e)})),t),e.n=1,this.membersPromises.get(t);case 1:return e.a(2,this.members.get(t))}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"getMe",value:(i=ft(ct().m(function e(t){var r,n;return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.getMe();case 1:if(r=e.v.id,this.list.has(t)){e.n=2;break}return e.a(2,void 0);case 2:return e.n=3,this.getMembers(t);case 3:return n=e.v,e.a(2,null==n?void 0:n.items.find(function(e){return e.user.id===r}))}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"handleNewRole",value:function(e){var t=this.roles.get(e.spaceId);t.set(e.role),this.list.get(e.spaceId).roles=t.items}},{key:"handleNewRoom",value:function(e){var t;null===(t=this.rooms.get(e.spaceId))||void 0===t||t.set(e.summary),this.roomIdToSpaceId.set([e.summary.id,e.spaceId])}},{key:"handleRoomUpdated",value:function(e){if(e.room.spaceId&&this.rooms.has(e.room.spaceId)){var t=this.rooms.get(e.room.spaceId);t.set(ut(ut({},t.get(e.room.id)),{},{name:e.room.name,description:e.room.description}))}}},{key:"handleRoomDeleted",value:(o=ft(ct().m(function e(t){var r,n,o,i;return ct().w(function(e){for(;;)switch(e.n){case 0:if(n=this.roomIdToSpaceId.get(t.id),this.roomIdToSpaceId.delete(t.id),n){e.n=1;break}return e.a(2);case 1:o=this.list.get(n),i=!1,null===(r=this.rooms.get(n))||void 0===r||r.delete(t.id),o.systemRoom===t.id&&(o.systemRoom=null,i=!0),o.defaultRooms.includes(t.id)&&(o.defaultRooms=o.defaultRooms.filter(function(e){return e!==t.id}),i=!0),i&&this.list.set(o);case 2:return e.a(2)}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"handleRoleDeleted",value:function(e){var t=this.roles.get(e.spaceId);t.delete(e.id),this.list.get(e.spaceId).roles=t.items}},{key:"handleSpaceUpdated",value:function(e){this.list.set(e.space)}},{key:"handleSpaceDeleted",value:function(e){var t,r,n,o=null!==(t=null===(r=this.rooms.get(e.id))||void 0===r?void 0:r.items.map(function(e){return e.id}))&&void 0!==t?t:[];(n=this.roomIdToSpaceId).delete.apply(n,ot(o)),this.roles.delete(e.id),this.members.delete(e.id),this.membersPromises.forget(e.id),this.rooms.delete(e.id),this.roomsPromises.forget(e.id),this.list.delete(e.id)}},{key:"handleSpaceJoined",value:function(e){this.addJoinedSpaces(e.space)}},{key:"addJoinedSpaces",value:function(){for(var e,t,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];(e=this.roles).set.apply(e,ot(n.map(function(e){return[e.id,new x("id",e.roles)]}))),(t=this.list).set.apply(t,n)}},{key:"handleSpaceMemberJoined",value:function(e){this.members.has(e.spaceId)&&this.members.get(e.spaceId).set(e.member)}},{key:"handleSpaceMemberLeft",value:function(e){this.members.has(e.spaceId)&&this.members.get(e.spaceId).delete(e.userId)}},{key:"handleSpaceMembers",value:function(e){this.members.has(e.id)||this.members.set([e.id,new x(function(e){return null==e?void 0:e.user.id},e.members)])}},{key:"handleSpaceRooms",value:function(e){var t=this;this.rooms.has(e.id)||(this.rooms.set([e.id,new x("id",e.summaries)]),e.summaries.forEach(function(r){return t.roomIdToSpaceId.set([r.id,e.id])}))}},{key:"handleRoomSummaryUpdated",value:(n=ft(ct().m(function e(t){var r,n,o,i,a;return ct().w(function(e){for(;;)switch(e.n){case 0:if(r=this.roomIdToSpaceId.get(t.summary.id),n=this.roomsPromises.get(r),!r||!n){e.n=2;break}return e.n=1,n;case 1:o=this.rooms.get(r),i=o.get(t.summary.id),a=i?ut(ut({},i),t.summary):t.summary,o.set(a);case 2:return e.a(2)}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"handleSpaceMemberUpdated",value:function(e){if(this.members.has(e.spaceId)){var t=this.members.get(e.spaceId),r=t.get(e.userId);t.set(ut(ut({},e.member),{},{user:r.user}))}}},{key:"handleRoleUpdated",value:function(e){var t,r=this.roles.get(e.spaceId),n=r.get(e.role.id),o=e.role,i=[o];n.priority!==o.priority&&i.push.apply(i,ot(function(e,t,r){var n=r.priority-t.priority>0,o=!n,i=[];return e.forEach(function(e){e.id!==r.id&&(n&&t.priority<=e.priority&&(e.priority--,i.push(e)),o&&r.priority<=e.priority&&(e.priority++,i.push(e)))}),i}(r.items,n,o))),(t=this.roles.get(e.spaceId)).set.apply(t,i)}},{key:"handleSession",value:function(e){this.list.deleteAll(),this.roles.deleteAll(),this.rooms.deleteAll(),this.roomsPromises.forgetAll(),this.members.deleteAll(),this.membersPromises.forgetAll(),this.roomIdToSpaceId.deleteAll(),this.addJoinedSpaces.apply(this,ot(e.state.spaces)),this.deferredSession.resolve()}},{key:"handleUserUpdated",value:function(e){this.members.items.forEach(function(t){var r=t.get(e.user.id);r&&t.set(ut(ut({},r),{},{user:e.user}))})}}],t&&ht(e.prototype,t),r&&ht(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o,i,a,u,c}();function vt(e){return vt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vt(e)}function mt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,kt(n.key),n)}}function bt(e,t,r){return t&&mt(e.prototype,t),r&&mt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function gt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wt(e,t,r){return(t=kt(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kt(e){var t=function(e,t){if("object"!=vt(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=vt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==vt(t)?t:t+""}var St=function(e){return e[e.Global=0]="Global",e[e.Space=1]="Space",e[e.Room=2]="Room",e[e.Topic=3]="Topic",e}({}),Ot=bt(function e(){gt(this,e),wt(this,"value",void 0),wt(this,"maxLayer",void 0)}),jt=function(){return bt(function e(){gt(this,e)},null,[{key:"getNames",value:function(){return Object.keys(this.list)}},{key:"getByName",value:function(e){return this.list[e]}},{key:"canBeDefinedOnLayer",value:function(e,t){if(!this.getByName(e))throw new Error("Invalid permission name: ".concat(e));return t<=this.getByName(e).maxLayer}}])}();function Tt(e){return Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tt(e)}function Pt(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Rt(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function It(e){return function(e){if(Array.isArray(e))return At(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Rt(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Et(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,t)||Rt(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Rt(e,t){if(e){if("string"==typeof e)return At(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?At(e,t):void 0}}function At(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function _t(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Mt(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Mt(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Mt(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Mt(f,"constructor",s),Mt(s,"constructor",c),c.displayName="GeneratorFunction",Mt(s,o,"GeneratorFunction"),Mt(f),Mt(f,o,"Generator"),Mt(f,n,function(){return this}),Mt(f,"toString",function(){return"[object Generator]"}),(_t=function(){return{w:i,m:h}})()}function Mt(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Mt=function(e,t,r,n){function i(t,r){Mt(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Mt(e,t,r,n)}function Ft(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Lt(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Ft(i,n,o,a,u,"next",e)}function u(e){Ft(i,n,o,a,u,"throw",e)}a(void 0)})}}function xt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Bt(n.key),n)}}function Gt(e,t,r){return t=Nt(t),function(e,t){if(t&&("object"==Tt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Dt()?Reflect.construct(t,r||[],Nt(e).constructor):t.apply(e,r))}function Dt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Dt=function(){return!!e})()}function Nt(e){return Nt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Nt(e)}function Ct(e,t){return Ct=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ct(e,t)}function Ut(e,t,r){return(t=Bt(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Bt(e){var t=function(e,t){if("object"!=Tt(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Tt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Tt(t)?t:t+""}wt(jt,"list",{Root:{value:1,maxLayer:St.Room},CreateSpaces:{value:2,maxLayer:St.Global},ManageSpace:{value:4,maxLayer:St.Space},ManageRoles:{value:8,maxLayer:St.Space},CreateTopics:{value:32,maxLayer:St.Room},ManageTopic:{value:64,maxLayer:St.Topic},ManageMemberProfiles:{value:128,maxLayer:St.Space},ManageMemberRoles:{value:256,maxLayer:St.Room},CreateMessages:{value:512,maxLayer:St.Topic},ManagePermissions:{value:1024,maxLayer:St.Topic},CreateRooms:{value:2048,maxLayer:St.Space},ManageRoom:{value:4096,maxLayer:St.Room},CreateEmoticons:{value:8192,maxLayer:St.Space},ManageEmoticons:{value:16384,maxLayer:St.Space},ManageBans:{value:32768,maxLayer:St.Room},Kick:{value:65536,maxLayer:St.Room},ChangeOwnNick:{value:1<<17,maxLayer:St.Space},ChangeOwnColor:{value:1<<18,maxLayer:St.Room},RedactMessages:{value:1<<19,maxLayer:St.Topic}});var Jt=function(e,t){return[e.spaceId,e.roomId,e.topicId,null==t?void 0:t.type,null==t?void 0:t.userId,null==t?void 0:t.roleId].filter(Boolean).join("/")},Wt=function(e){return Jt(e.location,e.target)},Ht=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Ut(r=Gt(this,t),"overwrites",new M),Ut(r,"overwritesPromises",new W),r.tracker=e,r.tracker.client.on("PermissionOverwrites",function(e){return r.handlePermissionOverwrites(e)}),r.tracker.client.on("PermissionOverwritesUpdated",function(e){return r.handlePermissionOverwrites(e)}),r.tracker.client.on("SpaceDeleted",function(e){return r.handleSpaceDeleted(e)}),r.tracker.client.on("SpaceLeft",function(e){return r.handleSpaceDeleted(e)}),r.tracker.client.on("RoomDeleted",function(e){return r.handleRoomDeleted(e)}),r.tracker.client.on("RoomLeft",function(e){return r.handleRoomDeleted(e)}),r.tracker.client.on("TopicDeleted",function(e){return r.handleTopicDeleted(e)}),r.tracker.client.on("RoleDeleted",function(e){return r.handleRoleDeleted(e)}),r.tracker.client.on("SpaceMemberUpdated",function(e){return r.handleSpaceMemberUpdated(e)}),r.tracker.client.on("RoomMemberUpdated",function(e){return r.handleRoomMemberUpdated(e)}),r.tracker.client.on("Session",function(e){return r.handleSession(e)}),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ct(e,t)}(t,e),r=t,n=[{key:"getOverwrites",value:(f=Lt(_t().m(function e(t,r){var n,o=this;return _t().w(function(e){for(;;)switch(e.n){case 0:return this.validateLocation(t),n=Jt(t,r),this.overwritesPromises.notExist(n)&&this.overwritesPromises.registerByFunction(Lt(_t().m(function e(){var n;return _t().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,o.tracker.client.send("GetPermissionOverwrites",{location:t,target:r});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:o.handlePermissionOverwrites(n.data);case 3:return e.a(2)}},e)})),n),e.n=1,this.overwritesPromises.get(n);case 1:return e.a(2,this.overwrites.get(n))}},e,this)})),function(e,t){return f.apply(this,arguments)})},{key:"check",value:(l=Lt(_t().m(function e(t,r){var n,o;return _t().w(function(e){for(;;)switch(e.n){case 0:if(t.length){e.n=1;break}throw new Error("Permission names array cannot be empty");case 1:return e.n=2,this.calculatePermissions(r);case 2:return n=e.v,o=[],t.forEach(function(e){~n&jt.getByName(e).value&&o.push(e)}),e.a(2,{ok:0===o.length,hasAll:0===o.length,hasAny:o.length<t.length,missing:o})}},e,this)})),function(e,t){return l.apply(this,arguments)})},{key:"calculatePermissions",value:(s=Lt(_t().m(function e(t){var r,n,o,i,a,u,c,s,l,f,h,p,d,y,v,m,b,g,w,k,S,O,j,T,P;return _t().w(function(e){for(;;)switch(e.n){case 0:if(!t.roomId){e.n=2;break}return e.n=1,this.tracker.rooms.get();case 1:m=e.v.get(t.roomId),e.n=3;break;case 2:m=null;case 3:return u=m,t={spaceId:null!==(r=t.spaceId)&&void 0!==r?r:null==u?void 0:u.spaceId,roomId:t.roomId,topicId:t.topicId},this.validateLocation(t),e.n=4,this.tracker.getMe();case 4:return c=e.v.id,e.n=5,this.fetchMembersOrFail(t);case 5:if(s=e.v,l=Et(s,2),f=l[0],h=l[1],p=[].concat(It(null!==(n=null==f?void 0:f.roles)&&void 0!==n?n:[]),It(null!==(o=null==h?void 0:h.roles)&&void 0!==o?o:[])),d=[this.getOverwrites({},{type:"User",userId:c}).then(function(e){return e.overwrites})],!(b=t.spaceId)){e.n=9;break}return e.n=6,this.tracker.spaces.get();case 6:if(k=i=e.v,!(w=null!==k)){e.n=7;break}w=void 0!==i;case 7:if(!(g=w)){e.n=8;break}g=i.has(t.spaceId);case 8:b=g;case 9:if(!b){e.n=10;break}y={spaceId:t.spaceId},d.push(this.collectRoleOverwrites(y,p)),d.push(this.getOverwrites(y,{type:"User",userId:c}).then(function(e){return e.overwrites}));case 10:if(u&&(v={spaceId:t.spaceId,roomId:t.roomId},p.length&&d.push(this.collectRoleOverwrites(v,p)),d.push(this.getOverwrites(v,{type:"User",userId:c}).then(function(e){return e.overwrites}))),!(S=t.topicId)){e.n=14;break}return e.n=11,this.tracker.rooms.getTopics(t.roomId);case 11:if(T=a=e.v,!(j=null!==T)){e.n=12;break}j=void 0!==a;case 12:if(!(O=j)){e.n=13;break}O=a.has(t.topicId);case 13:S=O;case 14:if(!S){e.n=15;break}p.length&&d.push(this.collectRoleOverwrites(t,p)),d.push(this.getOverwrites(t,{type:"User",userId:c}).then(function(e){return e.overwrites}));case 15:return P=this,e.n=16,Promise.all(d);case 16:return e.a(2,P.resolveOverwritesHierarchy.call(P,e.v))}},e,this)})),function(e){return s.apply(this,arguments)})},{key:"handlePermissionOverwrites",value:function(e){this.overwrites.set([Wt(e),e]),this.emit("change")}},{key:"handleSpaceDeleted",value:function(e){var t,r=this.deleteOverwritesByIdPrefix(Jt({spaceId:e.id}));(t=this.overwritesPromises).forget.apply(t,It(r))}},{key:"handleRoomDeleted",value:(c=Lt(_t().m(function e(t){var r,n,o;return _t().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.rooms.get();case 1:(r=e.v.get(t.id))&&(o=this.deleteOverwritesByIdPrefix(Jt({spaceId:r.spaceId,roomId:r.id})),(n=this.overwritesPromises).forget.apply(n,It(o)));case 2:return e.a(2)}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"handleTopicDeleted",value:function(e){var t,r=this.deleteOverwritesByIdPrefix(Jt(e.location));(t=this.overwritesPromises).forget.apply(t,It(r))}},{key:"handleRoleDeleted",value:function(e){var t,r=this.deleteOverwritesByIdPrefix(Jt({spaceId:e.spaceId},{type:"Role",roleId:e.id}));(t=this.overwritesPromises).forget.apply(t,It(r))}},{key:"handleSpaceMemberUpdated",value:function(e){var t;e.userId===(null===(t=this.tracker.me)||void 0===t?void 0:t.id)&&this.emit("change")}},{key:"handleRoomMemberUpdated",value:function(e){var t;e.userId===(null===(t=this.tracker.me)||void 0===t?void 0:t.id)&&this.emit("change")}},{key:"deleteOverwritesByIdPrefix",value:function(e){var t=this,r=[];return this.overwrites.items.forEach(function(n){var o=Wt(n);o.startsWith(e)&&(r.push(o),t.overwrites.delete(o))}),r}},{key:"collectRoleOverwrites",value:(u=Lt(_t().m(function e(t,r){var n,o=this;return _t().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Promise.all(r.map(function(e){return o.getOverwrites(t,{type:"Role",roleId:e})}));case 1:return n=e.v,e.a(2,this.resolveOverwritesFromRolesByOrder(t.spaceId,n))}},e,this)})),function(e,t){return u.apply(this,arguments)})},{key:"resolveOverwritesFromRolesByOrder",value:(a=Lt(_t().m(function e(t,r){var n,o,i,a,u;return _t().w(function(e){for(;;)switch(e.n){case 0:return n=0,o=0,e.n=1,this.tracker.spaces.getRoles(t);case 1:return i=e.v,a=r.sort(function(e,t){return i.get(e.target.roleId).priority-i.get(t.target.roleId).priority}),u=r.reduce(function(e,t){var r,n,o,i;return Math.max(e,null!==(r=null===(n=t.overwrites.allow)||void 0===n?void 0:n.toString(2).length)&&void 0!==r?r:0,null!==(o=null===(i=t.overwrites.deny)||void 0===i?void 0:i.toString(2).length)&&void 0!==o?o:0)},0),a.forEach(function(e){for(var t,r,i,a,c=e.overwrites,s=null!==(t=null===(r=c.deny)||void 0===r?void 0:r.toString(2).split("").reverse().join(""))&&void 0!==t?t:"",l=null!==(i=null===(a=c.allow)||void 0===a?void 0:a.toString(2).split("").reverse().join(""))&&void 0!==i?i:"",f=0;f<u;f++){var h,p,d=parseInt(null!==(h=s[f])&&void 0!==h?h:"0"),y=parseInt(null!==(p=l[f])&&void 0!==p?p:"0");d&&(o|=1<<f),y&&(n|=1<<f)}}),e.a(2,{allow:n,deny:o})}},e,this)})),function(e,t){return a.apply(this,arguments)})},{key:"resolveOverwritesHierarchy",value:function(e){var t,r=0,n=Pt(e);try{for(n.s();!(t=n.n()).done;){var o=t.value;if(o.allow&jt.getByName("Root").value)return this.getRootAccessValue();r=r&~o.deny|o.allow}}catch(e){n.e(e)}finally{n.f()}return r}},{key:"getRootAccessValue",value:function(){var e,t=0,r=Pt(jt.getNames());try{for(r.s();!(e=r.n()).done;){var n=e.value;t|=jt.getByName(n).value}}catch(e){r.e(e)}finally{r.f()}return t}},{key:"fetchMembersOrFail",value:(i=Lt(_t().m(function e(t){var r,n,o,i;return _t().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Promise.all([t.spaceId?this.tracker.spaces.getMe(t.spaceId):null,t.roomId?this.tracker.rooms.getMe(t.roomId):null]);case 1:if(r=e.v,n=t.spaceId&&!r[0],o=t.roomId&&!r[1],!n&&!o){e.n=2;break}throw i=n?"space (".concat(t.spaceId,")"):"room (".concat(t.roomId,")"),new Error("Attempting to calculate permissions for a ".concat(i," that the user does not belong to"));case 2:return e.a(2,r)}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"validateLocation",value:function(e){if(e.topicId&&!e.roomId)throw new Error("Corrupted arguments hierarchy")}},{key:"handleSession",value:function(e){this.overwrites.deleteAll(),this.overwritesPromises.forgetAll()}}],n&&xt(r.prototype,n),o&&xt(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a,u,c,s,l,f}(a);function $t(e){return $t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$t(e)}function Qt(e){return function(e){if(Array.isArray(e))return Vt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Vt(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Vt(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function zt(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return qt(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(qt(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,qt(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,qt(f,"constructor",s),qt(s,"constructor",c),c.displayName="GeneratorFunction",qt(s,o,"GeneratorFunction"),qt(f),qt(f,o,"Generator"),qt(f,n,function(){return this}),qt(f,"toString",function(){return"[object Generator]"}),(zt=function(){return{w:i,m:h}})()}function qt(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}qt=function(e,t,r,n){function i(t,r){qt(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},qt(e,t,r,n)}function Kt(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Yt(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Kt(i,n,o,a,u,"next",e)}function u(e){Kt(i,n,o,a,u,"throw",e)}a(void 0)})}}function Xt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,er(n.key),n)}}function Zt(e,t,r){return(t=er(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function er(e){var t=function(e,t){if("object"!=$t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=$t(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==$t(t)?t:t+""}var tr="global",rr=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Zt(this,"list",new M),Zt(this,"emoticonsPromises",new W),this.tracker=t,this.tracker.client.on("Emoticons",function(e){return r.handleEmoticons(e)}),this.tracker.client.on("NewEmoticon",function(e){return r.handleNewEmoticon(e)}),this.tracker.client.on("EmoticonDeleted",function(e){return r.handleEmoticonDeleted(e)}),this.tracker.client.on("SpaceDeleted",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("Session",function(){return r.handleSession()})},t=[{key:"get",value:function(){var e=Yt(zt().m(function e(t){var r,n=this;return zt().w(function(e){for(;;)switch(e.n){case 0:return r=null!=t?t:tr,this.emoticonsPromises.notExist(r)&&this.emoticonsPromises.registerByFunction(Yt(zt().m(function e(){var r;return zt().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,n.tracker.client.send("GetEmoticons",{spaceId:t});case 1:if(!(r=e.v).error){e.n=2;break}throw r.error;case 2:n.handleEmoticons(r.data);case 3:return e.a(2)}},e)})),r),e.n=1,this.emoticonsPromises.get(r);case 1:return e.a(2,this.list.get(r))}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{key:"handleEmoticons",value:function(e){var t,r=null!==(t=e.location.spaceId)&&void 0!==t?t:tr;this.list.has(r)||this.list.set([r,new x("id")]);var n=this.list.get(r);n.set.apply(n,Qt(e.emoticons))}},{key:"handleNewEmoticon",value:function(e){var t,r=this.list.get(null!==(t=e.emoticon.spaceId)&&void 0!==t?t:tr);null==r||r.set(e.emoticon)}},{key:"handleEmoticonDeleted",value:function(e){var t,r=this.list.get(null!==(t=e.spaceId)&&void 0!==t?t:tr);null==r||r.delete(e.emoticonId)}},{key:"handleSpaceDeleted",value:function(e){this.list.delete(e.id)}},{key:"handleSession",value:function(){this.list.deleteAll(),this.emoticonsPromises.forgetAll()}}],t&&Xt(e.prototype,t),r&&Xt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r}();function nr(e){return nr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nr(e)}function or(e){return function(e){if(Array.isArray(e))return ir(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return ir(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ir(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ir(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ar(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return ur(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(ur(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,ur(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,ur(f,"constructor",s),ur(s,"constructor",c),c.displayName="GeneratorFunction",ur(s,o,"GeneratorFunction"),ur(f),ur(f,o,"Generator"),ur(f,n,function(){return this}),ur(f,"toString",function(){return"[object Generator]"}),(ar=function(){return{w:i,m:h}})()}function ur(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}ur=function(e,t,r,n){function i(t,r){ur(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},ur(e,t,r,n)}function cr(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function sr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,fr(n.key),n)}}function lr(e,t,r){return(t=fr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fr(e){var t=function(e,t){if("object"!=nr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=nr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==nr(t)?t:t+""}var hr=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),lr(this,"onlineStatus",new a),lr(this,"users",new x("id")),this.tracker=t,t.client.on("UserUpdated",function(e){return r.handleUsers([e.user])}),t.client.on("RoomMemberJoined",function(e){return r.handleMembers([e.member])}),t.client.on("SpaceMemberJoined",function(e){return r.handleMembers([e.member])}),t.client.on("SpaceMembers",function(e){return r.handleMembers(e.members)}),t.client.on("RoomMembers",function(e){return r.handleMembers(e.members)}),t.client.on("Messages",function(e){return r.handleUsers(e.messages.map(function(e){return e.author.user}))}),t.client.on("NewMessage",function(e){return r.handleUsers([e.message.author.user])}),t.client.on("Session",function(e){return r.handleSession(e)})},t=[{key:"getAvailable",value:(n=ar().m(function e(){return ar().w(function(e){for(;;)if(0===e.n)return e.a(2,this.users)},e,this)}),o=function(){var e=this,t=arguments;return new Promise(function(r,o){var i=n.apply(e,t);function a(e){cr(i,r,o,a,u,"next",e)}function u(e){cr(i,r,o,a,u,"throw",e)}a(void 0)})},function(){return o.apply(this,arguments)})},{key:"handleMembers",value:function(e){this.handleUsers(e.map(rt))}},{key:"handleSession",value:function(e){this.users.deleteAll(),this.handleUsers([e.user])}},{key:"handleUsers",value:function(e){var t,r=this;e.forEach(function(e){var t=r.users.get(e.id);t&&t.online!==e.online&&r.onlineStatus.emit("change",e)}),(t=this.users).set.apply(t,or(e))}}],t&&sr(e.prototype,t),r&&sr(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o}();function pr(e){return pr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pr(e)}function dr(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return yr(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(yr(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,yr(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,yr(f,"constructor",s),yr(s,"constructor",c),c.displayName="GeneratorFunction",yr(s,o,"GeneratorFunction"),yr(f),yr(f,o,"Generator"),yr(f,n,function(){return this}),yr(f,"toString",function(){return"[object Generator]"}),(dr=function(){return{w:i,m:h}})()}function yr(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}yr=function(e,t,r,n){function i(t,r){yr(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},yr(e,t,r,n)}function vr(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function mr(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){vr(i,n,o,a,u,"next",e)}function u(e){vr(i,n,o,a,u,"throw",e)}a(void 0)})}}function br(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,wr(n.key),n)}}function gr(e,t,r){return(t=wr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function wr(e){var t=function(e,t){if("object"!=pr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=pr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==pr(t)?t:t+""}var kr=function(e,t){return"".concat(e,"-").concat(t)},Sr=function(e){return kr(e.refUser.id,e.type)},Or=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),gr(this,"relationships",new x(Sr)),gr(this,"promises",new W),this.tracker=t,this.tracker.client.on("Relationships",function(e){return r.handleRelationships(e)}),this.tracker.client.on("NewRelationship",function(e){return r.handleNewRelationship(e)}),this.tracker.client.on("RelationshipDeleted",function(e){return r.handleRelationshipDeleted(e)}),this.tracker.client.on("Session",function(){return r.handleSession()})},t=[{key:"get",value:function(){var e=mr(dr().m(function e(){var t=this;return dr().w(function(e){for(;;)switch(e.n){case 0:return this.promises.notExist("all")&&this.promises.registerByFunction(mr(dr().m(function e(){var r;return dr().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,t.tracker.client.send("GetRelationships",{});case 1:if(!(r=e.v).error){e.n=2;break}throw r.error;case 2:return e.a(2)}},e)})),"all"),e.n=1,this.promises.get("all");case 1:return e.a(2,this.relationships)}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"exists",value:(n=mr(dr().m(function e(t,r){return dr().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.get();case 1:return e.a(2,this.relationships.has(kr(t,r)))}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"handleRelationships",value:function(e){var t=this;this.relationships.deleteAll(),e.relationships.forEach(function(e){t.relationships.set(e)})}},{key:"handleNewRelationship",value:function(e){this.promises.has("all")&&this.relationships.set(e.relationship)}},{key:"handleRelationshipDeleted",value:function(e){this.promises.has("all")&&this.relationships.delete(Sr(e.relationship))}},{key:"handleSession",value:function(){this.promises.forgetAll(),this.relationships.deleteAll()}}],t&&br(e.prototype,t),r&&br(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n}();function jr(e){return jr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},jr(e)}function Tr(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Pr(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Pr(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Pr(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Pr(f,"constructor",s),Pr(s,"constructor",c),c.displayName="GeneratorFunction",Pr(s,o,"GeneratorFunction"),Pr(f),Pr(f,o,"Generator"),Pr(f,n,function(){return this}),Pr(f,"toString",function(){return"[object Generator]"}),(Tr=function(){return{w:i,m:h}})()}function Pr(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Pr=function(e,t,r,n){function i(t,r){Pr(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Pr(e,t,r,n)}function Ir(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Er(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ar(n.key),n)}}function Rr(e,t,r){return(t=Ar(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ar(e){var t=function(e,t){if("object"!=jr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=jr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==jr(t)?t:t+""}var _r=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Rr(this,"client",void 0),Rr(this,"permissions",void 0),Rr(this,"rooms",void 0),Rr(this,"spaces",void 0),Rr(this,"emoticons",void 0),Rr(this,"users",void 0),Rr(this,"relationships",void 0),Rr(this,"_me",null),Rr(this,"deferredSession",new J),this.client=t,this.client.on("Session",function(e){return r.handleSession(e)}),this.permissions=new Ht(this),this.rooms=new tt(this),this.spaces=new yt(this),this.emoticons=new rr(this),this.users=new hr(this),this.relationships=new Or(this)},t=[{key:"me",get:function(){return this._me}},{key:"getMe",value:(n=Tr().m(function e(){return Tr().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this._me)}},e,this)}),o=function(){var e=this,t=arguments;return new Promise(function(r,o){var i=n.apply(e,t);function a(e){Ir(i,r,o,a,u,"next",e)}function u(e){Ir(i,r,o,a,u,"throw",e)}a(void 0)})},function(){return o.apply(this,arguments)})},{key:"handleSession",value:function(e){this._me=e.user,this.deferredSession.resolve()}}],t&&Er(e.prototype,t),r&&Er(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o}();function Mr(e){return Mr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Mr(e)}function Fr(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Lr(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Lr(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Lr(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Lr(f,"constructor",s),Lr(s,"constructor",c),c.displayName="GeneratorFunction",Lr(s,o,"GeneratorFunction"),Lr(f),Lr(f,o,"Generator"),Lr(f,n,function(){return this}),Lr(f,"toString",function(){return"[object Generator]"}),(Fr=function(){return{w:i,m:h}})()}function Lr(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Lr=function(e,t,r,n){function i(t,r){Lr(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Lr(e,t,r,n)}function xr(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Gr(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){xr(i,n,o,a,u,"next",e)}function u(e){xr(i,n,o,a,u,"throw",e)}a(void 0)})}}function Dr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Wr(n.key),n)}}function Nr(e,t,r){return t=Ur(t),function(e,t){if(t&&("object"==Mr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Cr()?Reflect.construct(t,r||[],Ur(e).constructor):t.apply(e,r))}function Cr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Cr=function(){return!!e})()}function Ur(e){return Ur=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ur(e)}function Br(e,t){return Br=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Br(e,t)}function Jr(e,t,r){return(t=Wr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Wr(e){var t=function(e,t){if("object"!=Mr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Mr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Mr(t)?t:t+""}var Hr=function(e){return e.connect="connect",e.disconnect="disconnect",e.message="message",e.error="error",e}(Hr||{}),$r=function(e){function t(e){var r,n,o,i,a,u,c,s,l;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Jr(l=Nr(this,t),"Event",Hr),Jr(l,"state",void 0),Jr(l,"ws",null),Jr(l,"sendQueue",[]),Jr(l,"connectingTimeoutId",void 0),Jr(l,"authenticated",void 0),Jr(l,"authenticatedResolvers",void 0),Jr(l,"pingMonitorInterval",void 0),Jr(l,"inFlightPingTimeout",void 0),Jr(l,"lastReceivedMessageAt",void 0),l.options=e,(null===(r=l.options.stateTracking)||void 0===r||r)&&(l.state=new _r(l)),null!==(n=e.ping)&&void 0!==n||(e.ping={}),null!==(i=(o=e.ping).enabled)&&void 0!==i||(o.enabled=!0),null!==(u=(a=e.ping).noActivityTimeoutMs)&&void 0!==u||(a.noActivityTimeoutMs=15e3),null!==(s=(c=e.ping).pongBackTimeoutMs)&&void 0!==s||(c.pongBackTimeoutMs=5e3),l}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Br(e,t)}(t,e),r=t,n=[{key:"connect",value:(a=Gr(Fr().m(function e(){var t,r,n,o=this;return Fr().w(function(e){for(;;)switch(e.n){case 0:if(!this.isOpenWsState()&&!this.isConnectingWsState()){e.n=1;break}return e.a(2);case 1:return(n=new URLSearchParams(null!==(t=this.options.queryParams)&&void 0!==t?t:{})).set("token",this.options.token),this.ws=new WebSocket("".concat(this.options.url,"?").concat(n)),this.ws.onclose=function(e){return o.onClose(e)},this.ws.onmessage=function(e){return o.onMessage(e)},this.connectingTimeoutId=setTimeout(function(){return o.triggerConnectionTimeout()},null!==(r=this.options.connectingTimeoutMs)&&void 0!==r?r:1e4),this.authenticated=!1,e.a(2,new Promise(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return o.authenticatedResolvers=t}))}},e,this)})),function(){return a.apply(this,arguments)})},{key:"disconnect",value:function(){var e;this.sendQueue=[],null===(e=this.ws)||void 0===e||e.close(1e3),this.ws=null}},{key:"send",value:(i=Gr(Fr().m(function e(t,r){var n,o;return Fr().w(function(e){for(;;)switch(e.n){case 0:if(n=this.createEnvelope(t,r),o=this.createPromiseFromCommandEnvelope(n),!(this.isConnectingWsState()||!this.authenticated&&this.isOpenWsState())){e.n=1;break}return this.sendQueue.push(n),e.a(2,o);case 1:return this.sendEnvelope(n),e.a(2,o)}},e,this)})),function(e,t){return i.apply(this,arguments)})},{key:"isReady",get:function(){return this.isOpenWsState()&&this.authenticated}},{key:"sendEnvelope",value:function(e){var t,r;this.isReady?this.ws.send(JSON.stringify(e)):this.handleEnvelopeSendError(e,new Error("Cannot send - client is not ready (state=".concat(null!==(t=null===(r=this.ws)||void 0===r?void 0:r.readyState)&&void 0!==t?t:"[no connection]","; authenticated=").concat(this.authenticated,")")))}},{key:"onMessage",value:function(e){this.lastReceivedMessageAt=Date.now();var t=JSON.parse(e.data);if(this.handleIncomingEnvelope(t),this.emit(t.type,t.data),this.emit(this.Event.message,t),!this.authenticated){var r="Bye"!==t.type;this.authenticated=r,r?(this.startConnectionMonitor(),this.authenticatedResolvers[0](),this.emit(this.Event.connect),this.sendFromQueue()):this.authenticatedResolvers[1](t.data)}}},{key:"onClose",value:function(e){this.stopConnectionMonitor(),clearTimeout(this.connectingTimeoutId);var t=1e3!==e.code;t&&this.connect(),this.emit(this.Event.disconnect,t)}},{key:"sendFromQueue",value:function(){var e=this,t=0,r=function(){var r,o=e.sendQueue[n];setTimeout(function(){return e.sendEnvelope(o)},t),t+=null!==(r=e.options.awaitQueueSendDelayMs)&&void 0!==r?r:500};for(var n in this.sendQueue)r();this.sendQueue=[],clearTimeout(this.connectingTimeoutId)}},{key:"triggerConnectionTimeout",value:function(){this.disconnect(),this.emit(this.Event.error,new Error("Connection timeout"))}},{key:"isConnectingWsState",value:function(){return this.ws&&this.ws.readyState===this.ws.CONNECTING}},{key:"isOpenWsState",value:function(){return this.ws&&this.ws.readyState===this.ws.OPEN}},{key:"startConnectionMonitor",value:function(){var e=this;this.options.ping.enabled&&(this.lastReceivedMessageAt=Date.now(),this.pingMonitorInterval=setInterval(Gr(Fr().m(function t(){return Fr().w(function(t){for(;;)switch(t.n){case 0:if(e.isReady&&!e.inFlightPingTimeout){t.n=1;break}return t.a(2);case 1:if(!(Date.now()-e.lastReceivedMessageAt<e.options.ping.noActivityTimeoutMs)){t.n=2;break}return t.a(2);case 2:e.inFlightPingTimeout=setTimeout(function(){e.inFlightPingTimeout=void 0,e.ws.close(3e3)},e.options.ping.pongBackTimeoutMs),e.send("Ping",{}).then(function(){clearTimeout(e.inFlightPingTimeout),e.inFlightPingTimeout=void 0});case 3:return t.a(2)}},t)})),1e3))}},{key:"stopConnectionMonitor",value:function(){this.inFlightPingTimeout&&(clearTimeout(this.inFlightPingTimeout),this.inFlightPingTimeout=void 0),this.pingMonitorInterval&&(clearInterval(this.pingMonitorInterval),this.pingMonitorInterval=void 0)}}],n&&Dr(r.prototype,n),o&&Dr(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a}(y);function Qr(e){return Qr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Qr(e)}function Vr(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return zr(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(zr(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,zr(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,zr(f,"constructor",s),zr(s,"constructor",c),c.displayName="GeneratorFunction",zr(s,o,"GeneratorFunction"),zr(f),zr(f,o,"Generator"),zr(f,n,function(){return this}),zr(f,"toString",function(){return"[object Generator]"}),(Vr=function(){return{w:i,m:h}})()}function zr(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}zr=function(e,t,r,n){function i(t,r){zr(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},zr(e,t,r,n)}function qr(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Kr(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){qr(i,n,o,a,u,"next",e)}function u(e){qr(i,n,o,a,u,"throw",e)}a(void 0)})}}function Yr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,nn(n.key),n)}}function Xr(e,t,r){return t=en(t),function(e,t){if(t&&("object"==Qr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Zr()?Reflect.construct(t,r||[],en(e).constructor):t.apply(e,r))}function Zr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Zr=function(){return!!e})()}function en(e){return en=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},en(e)}function tn(e,t){return tn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},tn(e,t)}function rn(e,t,r){return(t=nn(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nn(e){var t=function(e,t){if("object"!=Qr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Qr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Qr(t)?t:t+""}var on=function(e){return e.message="message",e.error="error",e.destroy="destroy",e}(on||{}),an=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),rn(r=Xr(this,t),"Event",on),rn(r,"sendStack",void 0),r.options=e,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&tn(e,t)}(t,e),r=t,n=[{key:"send",value:(a=Kr(Vr().m(function e(t,r){var n;return Vr().w(function(e){for(;;)if(0===e.n)return n=this.createEnvelope(t,r),this.sendStack.push({data:n,attempts:0,lastTimeoutId:null}),this.makeApiCall(this.sendStack.length-1),e.a(2,this.createPromiseFromCommandEnvelope(n))},e,this)})),function(e,t){return a.apply(this,arguments)})},{key:"destroy",value:function(){var e=this;this.sendStack.forEach(function(t){t.lastTimeoutId&&clearTimeout(t.lastTimeoutId),e.awaitingResponse.delete(t.data.ref)}),this.sendStack=[],this.emit(this.Event.destroy,!1)}},{key:"onMessage",value:(i=Kr(Vr().m(function e(t,r){var n;return Vr().w(function(e){for(;;)switch(e.n){case 0:return this.sendStack.splice(t,1),e.n=1,r.json();case 1:n=e.v,this.handleIncomingEnvelope(n),this.emit(n.type,n.data),this.emit(this.Event.message,n);case 2:return e.a(2)}},e,this)})),function(e,t){return i.apply(this,arguments)})},{key:"onError",value:function(e,t){var r,n,o=this;if(this.sendStack[e].attempts>=(null!==(r=this.options.attemptsToSend)&&void 0!==r?r:10))return this.sendStack.splice(e,1),void this.handleEnvelopeSendError(this.sendStack[e].data,new Error("Cannot send ".concat(t,"; aborting after reaching the maximum connection errors")));this.sendStack[e].lastTimeoutId=setTimeout(function(){return o.makeApiCall(e)},null!==(n=this.options.attemptDelayMs)&&void 0!==n?n:3e3)}},{key:"makeApiCall",value:function(e){var t,r=this;this.sendStack[e].attempts++;var n=JSON.stringify(this.sendStack[e].data),o={"Content-Type":"application/json",Accept:"application/json"};o.Authorization="Bearer ".concat(this.options.token);var i=new URLSearchParams(null!==(t=this.options.queryParams)&&void 0!==t?t:{}),a="".concat(this.options.url).concat(i?"?"+i:"");fetch(a,{headers:o,body:n,method:"POST"}).then(function(t){return r.onMessage(e,t)}).catch(function(){return r.onError(e,n)})}}],n&&Yr(r.prototype,n),o&&Yr(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a}(y);function un(e){return un="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},un(e)}function cn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return sn(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(sn(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,sn(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,sn(f,"constructor",s),sn(s,"constructor",c),c.displayName="GeneratorFunction",sn(s,o,"GeneratorFunction"),sn(f),sn(f,o,"Generator"),sn(f,n,function(){return this}),sn(f,"toString",function(){return"[object Generator]"}),(cn=function(){return{w:i,m:h}})()}function sn(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}sn=function(e,t,r,n){function i(t,r){sn(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},sn(e,t,r,n)}function ln(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function fn(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ln(Object(r),!0).forEach(function(t){hn(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ln(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function hn(e,t,r){return(t=vn(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function pn(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function dn(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){pn(i,n,o,a,u,"next",e)}function u(e){pn(i,n,o,a,u,"throw",e)}a(void 0)})}}function yn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,vn(n.key),n)}}function vn(e){var t=function(e,t){if("object"!=un(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=un(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==un(t)?t:t+""}var mn=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.options=t},t=[{key:"send",value:(o=dn(cn().m(function e(t,r){var n,o,i,a,u,c,s=arguments;return cn().w(function(e){for(;;)switch(e.n){case 0:return n=s.length>2&&void 0!==s[2]?s[2]:void 0,o=s.length>3&&void 0!==s[3]?s[3]:{},i=this.getUrl(r),a=void 0,n&&(["GET","DELETE"].includes(t)?i+="?"+new URLSearchParams(n).toString():a=JSON.stringify(n)),u=fn(fn({"Content-Type":"application/json",Accept:"application/json"},o),this.getAuthHeaders()),e.n=1,fetch(i,{method:t,body:a,headers:u});case 1:return c=e.v,e.a(2,this.convertFetchResponse(c))}},e,this)})),function(e,t){return o.apply(this,arguments)})},{key:"getAuthHeaders",value:function(){var e={};return this.options.token&&(e.Authorization="Bearer ".concat(this.options.token)),e}},{key:"getUrl",value:function(e){var t;return this.removeEndingSlash(null!==(t=this.options.url)&&void 0!==t?t:this.defaultUrl)+"/"+this.removeStartingSlash(e)}},{key:"convertFetchResponse",value:(n=dn(cn().m(function e(t){var r,n,o,i,a;return cn().w(function(e){for(;;)switch(e.n){case 0:if(n=t.ok,o=t.status,null===(r=t.headers.get("content-type"))||void 0===r||!r.includes("json")){e.n=2;break}return e.n=1,t.json();case 1:i=e.v,e.n=4;break;case 2:return e.n=3,t.text();case 3:i=e.v;case 4:return a=i,e.a(2,{ok:n,status:o,data:a})}},e)})),function(e){return n.apply(this,arguments)})},{key:"removeStartingSlash",value:function(e){return e.replace(/^\/+/,"")}},{key:"removeEndingSlash",value:function(e){return e.replace(/\/+$/,"")}}],t&&yn(e.prototype,t),r&&yn(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o}();function bn(e){return bn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bn(e)}function gn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return wn(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(wn(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,wn(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,wn(f,"constructor",s),wn(s,"constructor",c),c.displayName="GeneratorFunction",wn(s,o,"GeneratorFunction"),wn(f),wn(f,o,"Generator"),wn(f,n,function(){return this}),wn(f,"toString",function(){return"[object Generator]"}),(gn=function(){return{w:i,m:h}})()}function wn(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}wn=function(e,t,r,n){function i(t,r){wn(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},wn(e,t,r,n)}function kn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Sn(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?kn(Object(r),!0).forEach(function(t){An(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):kn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function On(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function jn(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){On(i,n,o,a,u,"next",e)}function u(e){On(i,n,o,a,u,"throw",e)}a(void 0)})}}function Tn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_n(n.key),n)}}function Pn(e,t,r){return t=En(t),function(e,t){if(t&&("object"==bn(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,In()?Reflect.construct(t,r||[],En(e).constructor):t.apply(e,r))}function In(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(In=function(){return!!e})()}function En(e){return En=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},En(e)}function Rn(e,t){return Rn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Rn(e,t)}function An(e,t,r){return(t=_n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _n(e){var t=function(e,t){if("object"!=bn(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=bn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==bn(t)?t:t+""}var Mn=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return An(e=Pn(this,t,[].concat(n)),"defaultUrl","https://files.devana.pl"),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Rn(e,t)}(t,e),r=t,n=[{key:"uploadFile",value:(u=jn(gn().m(function e(t){var r,n,o,i;return gn().w(function(e){for(;;)switch(e.n){case 0:return n=encodeURIComponent(null!==(r=t.name)&&void 0!==r?r:""),o=Sn(Sn({},this.getAuthHeaders()),{},{Accept:"application/json","Content-Disposition":'attachment; filename="'.concat(n,'"'),"Content-Length":t.size}),e.n=1,fetch(this.getUrl("files"),{method:"POST",body:t,headers:o});case 1:return i=e.v,e.a(2,this.convertFetchResponse(i))}},e,this)})),function(e){return u.apply(this,arguments)})},{key:"getFileMeta",value:(a=jn(gn().m(function e(t){return gn().w(function(e){for(;;)if(0===e.n)return e.a(2,this.send("GET","files/"+t))},e,this)})),function(e){return a.apply(this,arguments)})},{key:"getFileMetaBulk",value:(i=jn(gn().m(function e(t){var r;return gn().w(function(e){for(;;)if(0===e.n)return r=new URLSearchParams,t.forEach(function(e){return r.append("id[]",e)}),e.a(2,this.send("GET","files?"+r))},e,this)})),function(e){return i.apply(this,arguments)})}],n&&Tn(r.prototype,n),o&&Tn(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a,u}(mn);return t})());
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.PservClient=t():e.PservClient=t()}(this,()=>(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i(n.key),n)}}function o(e,t,r){return(t=i(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}e.r(t),e.d(t,{AbstractRestClient:()=>mn,FilesClient:()=>Mn,IndexedCollection:()=>M,IndexedObjectCollection:()=>F,Layer:()=>St,ObservableIndexedCollection:()=>L,ObservableIndexedObjectCollection:()=>x,PermissionDefinition:()=>Ot,Permissions:()=>jt,WebApiChatClient:()=>an,WebSocketChatClient:()=>$r,extractUserFromMember:()=>rt});var a=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),o(this,"events",new Map),o(this,"onceEvents",new Map)},(t=[{key:"on",value:function(e,t){return this.addHandler(this.events,e,t),this}},{key:"once",value:function(e,t){return this.addHandler(this.onceEvents,e,t),this}},{key:"off",value:function(e,t){var r,n,o=null===(r=this.events.get(e))||void 0===r?void 0:r.indexOf(t);return void 0===o||o<0||null===(n=this.events.get(e))||void 0===n||n.splice(o,1),this}},{key:"emit",value:function(e,t){return this.callHandlers(this.events,e,t),this.callHandlers(this.onceEvents,e,t),this.onceEvents.delete(e),this}},{key:"addHandler",value:function(e,t,r){var n,o=null!==(n=e.get(t))&&void 0!==n?n:[];o.push(r),e.set(t,o)}},{key:"callHandlers",value:function(e,t,r){var n;null===(n=e.get(t))||void 0===n||n.forEach(function(e){return e(r)})}}])&&n(e.prototype,t),r&&n(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r}();function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,d(n.key),n)}}function s(e,t,r){return t=f(t),function(e,t){if(t&&("object"==u(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,r||[],f(e).constructor):t.apply(e,r))}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(l=function(){return!!e})()}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}function p(e,t,r){return(t=d(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e){var t=function(e,t){if("object"!=u(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==u(t)?t:t+""}var y=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return p(e=s(this,t,[].concat(n)),"awaitingResponse",new Map),p(e,"sentCounter",0),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&h(e,t)}(t,e),r=t,n=[{key:"createEnvelope",value:function(e,t){return{type:e,data:t,ref:(++this.sentCounter).toString()}}},{key:"createPromiseFromCommandEnvelope",value:function(e){var t=this;return new Promise(function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return t.awaitingResponse.set(e.ref,n)})}},{key:"handleIncomingEnvelope",value:function(e){if(this.awaitingResponse.has(e.ref)){var t="Error"===e.type;this.awaitingResponse.get(e.ref)[0]({data:t?null:e.data,error:t?e.data:null}),this.awaitingResponse.delete(e.ref)}}},{key:"handleEnvelopeSendError",value:function(e,t){this.awaitingResponse.has(e.ref)&&(this.awaitingResponse.get(e.ref)[1](t),this.awaitingResponse.delete(e.ref))}}],n&&c(r.prototype,n),o&&c(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(a);function v(e){return v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},v(e)}function m(e,t,r){return t=k(t),function(e,t){if(t&&("object"==v(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,b()?Reflect.construct(t,r||[],k(e).constructor):t.apply(e,r))}function b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(b=function(){return!!e})()}function g(e,t,r,n){var o=w(k(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function w(){return w="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=k(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},w.apply(null,arguments)}function k(e){return k=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},k(e)}function S(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&O(e,t)}function O(e,t){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},O(e,t)}function j(e){return function(e){if(Array.isArray(e))return P(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){if(e){if("string"==typeof e)return P(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?P(e,t):void 0}}function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function E(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_(n.key),n)}}function R(e,t,r){return t&&E(e.prototype,t),r&&E(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function A(e,t,r){return(t=_(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _(e){var t=function(e,t){if("object"!=v(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=v(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==v(t)?t:t+""}var M=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];I(this,e),A(this,"_items",new Map),this.set.apply(this,j(t))}return R(e,[{key:"items",get:function(){return this._items}},{key:"length",get:function(){return this._items.size}},{key:"set",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(var n=0,o=t;n<o.length;n++){var i=o[n];this._items.set(i[0],i[1])}}},{key:"get",value:function(e){return this.items.get(e)}},{key:"has",value:function(e){return this.items.has(e)}},{key:"delete",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(var n=0,o=t;n<o.length;n++){var i=o[n];this.items.delete(i)}}},{key:"deleteAll",value:function(){this.items.clear()}},{key:"findBy",value:function(t,r){for(var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=new e;!((n=this.items.entries().next().value).done||o&&i.length===o);)n[1][t]===r&&i.set(n);return i}},{key:"createMirror",value:function(){var t=new e;return t._items=this._items,t}}])}(),F=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];I(this,e),A(this,"_items",void 0),this.id=t,this._items=new M,this.set.apply(this,j(r))}return R(e,[{key:"items",get:function(){return Array.from(this._items.items.values())}},{key:"length",get:function(){return this._items.length}},{key:"set",value:function(){for(var e,t=this,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];(e=this._items).set.apply(e,j(n.map(function(e){return[t.getId(e),e]})))}},{key:"get",value:function(e){return this._items.get(e)}},{key:"getAt",value:function(e){return this.items[e]}},{key:"has",value:function(e){return this._items.has(e)}},{key:"delete",value:function(){var e;(e=this._items).delete.apply(e,arguments)}},{key:"deleteAll",value:function(){this._items.deleteAll()}},{key:"findBy",value:function(t,r){var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=new e(this.id),a=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=T(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(this.items);try{for(a.s();!(n=a.n()).done;){var u=n.value;if(o&&i.length===o)break;u[t]===r&&i.set(u)}}catch(e){a.e(e)}finally{a.f()}return i}},{key:"createMirror",value:function(){var t=new e(this.id);return t._items=this._items,t}},{key:"getId",value:function(e){return"function"==typeof this.id?this.id(e):e[this.id]}}])}(),L=function(e){function t(){var e,r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return I(this,t),A(r=m(this,t),"eventTarget",void 0),r.eventTarget=new a,(e=r).set.apply(e,j(n)),r}return S(t,e),R(t,[{key:"set",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];r.length&&(g(t,"set",this,3)(r),this.eventTarget.emit("change",{setItems:r.map(function(e){return e[0]})}))}},{key:"delete",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];r.length&&(g(t,"delete",this,3)(r),this.eventTarget.emit("change",{deletedItems:r}))}},{key:"deleteAll",value:function(){if(this.length){var e=Array.from(this._items.keys());g(t,"deleteAll",this,3)([]),this.eventTarget.emit("change",{deletedItems:Array.from(e)})}}},{key:"createMirror",value:function(){var e=new t;return e.eventTarget=this.eventTarget,e._items=this._items,e}},{key:"on",value:function(e,t){return this.eventTarget.on(e,t),this}},{key:"once",value:function(e,t){return this.eventTarget.once(e,t),this}},{key:"off",value:function(e,t){return this.eventTarget.off(e,t),this}}])}(M),x=function(e){function t(e){var r,n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return I(this,t),A(n=m(this,t,[e]),"eventTarget",void 0),n.eventTarget=new a,(r=n).set.apply(r,j(o)),n}return S(t,e),R(t,[{key:"set",value:function(){for(var e=this,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];n.length&&(g(t,"set",this,3)(n),this.eventTarget.emit("change",{setItems:n.map(function(t){return e.getId(t)})}))}},{key:"delete",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];r.length&&(g(t,"delete",this,3)(r),this.eventTarget.emit("change",{deletedItems:r}))}},{key:"deleteAll",value:function(){var e=this;if(this.length){var r=this.items.map(function(t){return e.getId(t)});g(t,"deleteAll",this,3)([]),this.eventTarget.emit("change",{deletedItems:r})}}},{key:"createMirror",value:function(){var e=new t(this.id);return e.eventTarget=this.eventTarget,e._items=this._items,e}},{key:"on",value:function(e,t){return this.eventTarget.on(e,t),this}},{key:"once",value:function(e,t){return this.eventTarget.once(e,t),this}},{key:"off",value:function(e,t){return this.eventTarget.off(e,t),this}}])}(F);function G(e){return G="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},G(e)}function D(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,B(n.key),n)}}function N(e,t,r){return t&&D(e.prototype,t),r&&D(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function C(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function U(e,t,r){return(t=B(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function B(e){var t=function(e,t){if("object"!=G(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=G(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==G(t)?t:t+""}var J=N(function e(){var t=this;C(this,e),U(this,"promise",void 0),U(this,"resolve",void 0),this.promise=new Promise(function(e){return t.resolve=e})}),W=function(){return N(function e(){C(this,e),U(this,"promises",new M)},[{key:"register",value:function(e,t){this.promises.set([t,e])}},{key:"registerByFunction",value:function(e,t){this.register(e(),t)}},{key:"get",value:function(e){return this.promises.get(e)}},{key:"has",value:function(e){return this.promises.has(e)}},{key:"notExist",value:function(e){return!this.has(e)}},{key:"forget",value:function(){var e;(e=this.promises).delete.apply(e,arguments)}},{key:"forgetAll",value:function(){this.promises.deleteAll()}}])}();function H(e){return H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},H(e)}function $(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$(Object(r),!0).forEach(function(t){se(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function V(e,t,r,n){var o=z(ae(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function z(){return z="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=ae(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},z.apply(null,arguments)}function q(e){return function(e){if(Array.isArray(e))return K(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return K(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?K(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Y(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return X(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(X(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,X(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,X(f,"constructor",s),X(s,"constructor",c),c.displayName="GeneratorFunction",X(s,o,"GeneratorFunction"),X(f),X(f,o,"Generator"),X(f,n,function(){return this}),X(f,"toString",function(){return"[object Generator]"}),(Y=function(){return{w:i,m:h}})()}function X(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}X=function(e,t,r,n){function i(t,r){X(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},X(e,t,r,n)}function Z(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function ee(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Z(i,n,o,a,u,"next",e)}function u(e){Z(i,n,o,a,u,"throw",e)}a(void 0)})}}function te(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function re(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,le(n.key),n)}}function ne(e,t,r){return t&&re(e.prototype,t),r&&re(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function oe(e,t,r){return t=ae(t),function(e,t){if(t&&("object"==H(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ie()?Reflect.construct(t,r||[],ae(e).constructor):t.apply(e,r))}function ie(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ie=function(){return!!e})()}function ae(e){return ae=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ae(e)}function ue(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ce(e,t)}function ce(e,t){return ce=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ce(e,t)}function se(e,t,r){return(t=le(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function le(e){var t=function(e,t){if("object"!=H(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=H(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==H(t)?t:t+""}var fe=function(e){return e[e.LIVE=0]="LIVE",e[e.LATEST=1]="LATEST",e[e.PAST=2]="PAST",e[e.OLDEST=3]="OLDEST",e}({}),he=function(e){function t(e,r,n){var o,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return te(this,t),se(o=oe(this,t,["id"]),"WindowState",fe),o.roomId=e,o.topicId=r,o.tracker=n,o.internalState.traverseLock=!1,i&&(o.tracker.client.on("NewMessage",function(e){return o.handleNewMessage(e)}),o.tracker.client.on("MessagesRedacted",function(e){return o.handleMessagesRedacted(e)})),o}return ue(t,e),ne(t,[{key:"createMirror",value:function(){var e=new t(this.roomId,this.topicId,this.tracker,!1);return e.eventTarget=this.eventTarget,e._items=this._items,e.internalState=this.internalState,e}},{key:"isTraverseLocked",get:function(){return this.internalState.traverseLock}},{key:"setTraverseLock",value:(p=ee(Y().m(function e(r){return Y().w(function(e){for(;;)switch(e.n){case 0:if(this.internalState.traverseLock=r,!r||this.state===fe.LIVE||this.state===fe.LATEST){e.n=1;break}return e.n=1,V(t,"resetToLatest",this,3)([]);case 1:return e.a(2)}},e,this)})),function(e){return p.apply(this,arguments)})},{key:"resetToLatest",value:(h=ee(Y().m(function e(){return Y().w(function(e){for(;;)switch(e.n){case 0:if(!this.internalState.traverseLock){e.n=1;break}return e.a(2);case 1:return e.a(2,V(t,"resetToLatest",this,3)([]))}},e,this)})),function(){return h.apply(this,arguments)})},{key:"fetchNext",value:(f=ee(Y().m(function e(){return Y().w(function(e){for(;;)switch(e.n){case 0:if(!this.internalState.traverseLock){e.n=1;break}return e.a(2);case 1:return e.a(2,V(t,"fetchNext",this,3)([]))}},e,this)})),function(){return f.apply(this,arguments)})},{key:"fetchPrevious",value:(l=ee(Y().m(function e(){return Y().w(function(e){for(;;)switch(e.n){case 0:if(!this.internalState.traverseLock){e.n=1;break}return e.a(2);case 1:return e.a(2,V(t,"fetchPrevious",this,3)([]))}},e,this)})),function(){return l.apply(this,arguments)})},{key:"_updateMessageReference",value:function(e){var t=this.get(e.refMessage.id);t&&this.set(Q(Q({},t),{},{topicRef:e.id}))}},{key:"handleNewMessage",value:(s=ee(Y().m(function e(t){return Y().w(function(e){for(;;)switch(e.n){case 0:[fe.LATEST,fe.LIVE].includes(this.state)&&t.message.location.roomId===this.roomId&&t.message.location.topicId===this.topicId&&this.addItems([t.message],"tail");case 1:return e.a(2)}},e,this)})),function(e){return s.apply(this,arguments)})},{key:"handleMessagesRedacted",value:(c=ee(Y().m(function e(t){var r;return Y().w(function(e){for(;;)switch(e.n){case 0:if(t.location.topicId===this.topicId&&t.location.roomId===this.roomId){e.n=1;break}return e.a(2);case 1:if(r=this.items.filter(function(e){return e.topicRef&&t.ids.includes(e.id)}).map(function(e){return e.topicRef}),this.delete.apply(this,q(t.ids)),0!==this.length){e.n=2;break}return e.n=2,this.resetToLatest();case 2:r.length>0&&this.eventTarget.emit("reftopicsdeleted",r);case 3:return e.a(2)}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"fetchItemsAfter",value:(u=ee(Y().m(function e(){var t,r,n;return Y().w(function(e){for(;;)switch(e.n){case 0:if(r=null===(t=this.getAt(this.length-1))||void 0===t?void 0:t.id){e.n=1;break}return e.a(2,null);case 1:return e.n=2,this.tracker.client.send("GetMessages",{location:{roomId:this.roomId,topicId:this.topicId},after:r,limit:this.internalState.fetchLimit});case 2:if(!(n=e.v).error){e.n=3;break}throw new Error("Cannot fetch messages: ".concat(n.error.message));case 3:return e.a(2,n.data.messages)}},e,this)})),function(){return u.apply(this,arguments)})},{key:"fetchItemsBefore",value:(a=ee(Y().m(function e(){var t,r,n;return Y().w(function(e){for(;;)switch(e.n){case 0:if(r=null===(t=this.getAt(0))||void 0===t?void 0:t.id){e.n=1;break}return e.a(2,null);case 1:return e.n=2,this.tracker.client.send("GetMessages",{location:{roomId:this.roomId,topicId:this.topicId},before:r,limit:this.internalState.fetchLimit});case 2:if(!(n=e.v).error){e.n=3;break}throw new Error("Cannot fetch messages: ".concat(n.error.message));case 3:return e.a(2,n.data.messages)}},e,this)})),function(){return a.apply(this,arguments)})},{key:"fetchLatestItems",value:(i=ee(Y().m(function e(){var t;return Y().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.client.send("GetMessages",{location:{roomId:this.roomId,topicId:this.topicId},limit:this.internalState.fetchLimit});case 1:if(!(t=e.v).error){e.n=2;break}throw new Error("Cannot fetch messages: ".concat(t.error.message));case 2:return e.a(2,t.data.messages)}},e,this)})),function(){return i.apply(this,arguments)})},{key:"getTopic",value:(o=ee(Y().m(function e(){return Y().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.rooms.getTopics(this.roomId,[this.topicId]);case 1:return e.a(2,e.v.get(this.topicId))}},e,this)})),function(){return o.apply(this,arguments)})},{key:"getLatestMessageId",value:(n=ee(Y().m(function e(){var t,r,n,o,i;return Y().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.getTopic();case 1:if(o=t=e.v,n=null===o){e.n=2;break}n=void 0===t;case 2:if(r=n){e.n=3;break}r=null===(t=t.lastMessage)||void 0===t;case 3:if(!r){e.n=4;break}i=void 0,e.n=5;break;case 4:i=t.id;case 5:return e.a(2,i)}},e,this)})),function(){return n.apply(this,arguments)})},{key:"isLatestItemLoaded",value:(r=ee(Y().m(function e(){var t;return Y().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.getLatestMessageId();case 1:return t=e.v,e.a(2,!t||this.has(t))}},e,this)})),function(){return r.apply(this,arguments)})}]);var r,n,o,i,a,u,c,s,l,f,h,p}(function(e){function t(){var e;te(this,t);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return se(e=oe(this,t,[].concat(n)),"internalState",{current:fe.LIVE,ongoing:void 0,limit:50,fetchLimit:50,lastFetchCount:0,oldestId:null}),e}return ue(t,e),ne(t,[{key:"state",get:function(){return this.internalState.current}},{key:"fetchLimit",get:function(){return this.internalState.fetchLimit},set:function(e){this.internalState.fetchLimit=e}},{key:"limit",get:function(){return this.internalState.limit},set:function(e){this.internalState.limit=e}},{key:"hasLatest",get:function(){return[fe.LATEST,fe.LIVE].includes(this.state)}},{key:"hasOldest",get:function(){return this.state===fe.OLDEST||this.state===fe.LATEST&&this.length<this.fetchLimit||null!==this.internalState.oldestId&&this.has(this.internalState.oldestId)}},{key:"resetToLatest",value:(i=ee(Y().m(function e(){var t;return Y().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.internalState.ongoing&&this.internalState.current!==fe.LATEST){e.n=1;break}return e.a(2);case 1:return this.internalState.ongoing=fe.LATEST,e.p=2,e.n=3,this.fetchLatestItems();case 3:t=e.v,this.internalState.lastFetchCount=t.length;case 4:return e.p=4,this.internalState.ongoing=void 0,e.f(4);case 5:this.deleteAll(),this.addItems(t,"tail"),this.internalState.current=fe.LATEST;case 6:return e.a(2)}},e,this,[[2,,4,5]])})),function(){return i.apply(this,arguments)})},{key:"fetchPrevious",value:(o=ee(Y().m(function e(){var t,r;return Y().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.internalState.ongoing&&!this.hasOldest){e.n=1;break}return e.a(2);case 1:return this.internalState.ongoing=fe.PAST,e.p=2,e.n=3,this.fetchItemsBefore();case 3:t=e.v,this.internalState.lastFetchCount=t?t.length:0;case 4:return e.p=4,this.internalState.ongoing=void 0,e.f(4);case 5:if(t){e.n=6;break}return e.a(2,this.resetToLatest());case 6:if(t.length){e.n=8;break}return r=this.getAt(0),this.internalState.oldestId=r?this.getId(r):null,e.n=7,this.refreshFetchedState();case 7:return this.internalState.current===fe.PAST&&(this.internalState.current=fe.OLDEST),e.a(2);case 8:return this.addItems(t,"head"),e.n=9,this.refreshFetchedState();case 9:return e.a(2)}},e,this,[[2,,4,5]])})),function(){return o.apply(this,arguments)})},{key:"fetchNext",value:(n=ee(Y().m(function e(){var t;return Y().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.internalState.ongoing&&!this.hasLatest){e.n=1;break}return e.a(2);case 1:return this.internalState.ongoing=fe.PAST,e.p=2,e.n=3,this.fetchItemsAfter();case 3:t=e.v,this.internalState.lastFetchCount=t?t.length:0;case 4:return e.p=4,this.internalState.ongoing=void 0,e.f(4);case 5:if(t){e.n=7;break}return e.n=6,this.resetToLatest();case 6:return e.a(2);case 7:if(!t.length){e.n=9;break}return this.addItems(t,"tail"),e.n=8,this.refreshFetchedState();case 8:case 9:return e.a(2)}},e,this,[[2,,4,5]])})),function(){return n.apply(this,arguments)})},{key:"refreshFetchedState",value:(r=ee(Y().m(function e(){var t;return Y().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.isLatestItemLoaded();case 1:if(!e.v){e.n=2;break}t=fe.LATEST,e.n=3;break;case 2:t=fe.PAST;case 3:this.internalState.current=t;case 4:return e.a(2)}},e,this)})),function(){return r.apply(this,arguments)})},{key:"addItems",value:function(e,t){var r;"head"===t&&(r=this.trimItemsArrayToLimit([].concat(q(e),q(this.items)),"tail")),"tail"===t&&(r=this.trimItemsArrayToLimit([].concat(q(this.items),q(e)),"head")),this.deleteAll(),this.set.apply(this,q(r))}},{key:"trimItemsArrayToLimit",value:function(e,t){return null===this.limit?e:"head"===t?e.slice(-this.limit):"tail"===t?e.slice(0,this.limit):void 0}}]);var r,n,o,i}(x));function pe(e){return pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pe(e)}function de(e){return function(e){if(Array.isArray(e))return me(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ve(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ye(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,t)||ve(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ve(e,t){if(e){if("string"==typeof e)return me(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?me(e,t):void 0}}function me(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function be(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return ge(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(ge(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,ge(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,ge(f,"constructor",s),ge(s,"constructor",c),c.displayName="GeneratorFunction",ge(s,o,"GeneratorFunction"),ge(f),ge(f,o,"Generator"),ge(f,n,function(){return this}),ge(f,"toString",function(){return"[object Generator]"}),(be=function(){return{w:i,m:h}})()}function ge(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}ge=function(e,t,r,n){function i(t,r){ge(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},ge(e,t,r,n)}function we(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function ke(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){we(i,n,o,a,u,"next",e)}function u(e){we(i,n,o,a,u,"throw",e)}a(void 0)})}}function Se(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,je(n.key),n)}}function Oe(e,t,r){return(t=je(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function je(e){var t=function(e,t){if("object"!=pe(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=pe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==pe(t)?t:t+""}var Te=function(){return e=function e(t,r){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Oe(this,"historyWindows",new M),Oe(this,"traverseLock",!1),this.room=t,this.tracker=r,this.tracker.client.on("RoomUpdated",function(e){return n.handleRoomUpdated(e)}),this.tracker.client.on("NewTopic",function(e){return n.handleNewTopic(e)}),this.tracker.client.on("TopicDeleted",function(e){return n.handleTopicDeleted(e)}),this.updateTraverseLock(this.room),this.room.defaultTopic&&this.createHistoryWindowForTopic(this.room.defaultTopic)},t=[{key:"getMessagesWindow",value:(o=ke(be().m(function e(t){var r;return be().w(function(e){for(;;)switch(e.n){case 0:if(this.historyWindows.has(t)){e.n=2;break}return e.n=1,this.tracker.rooms.getTopics(this.room.id,[t]);case 1:(r=e.v.get(t))&&this.createHistoryWindowForTopic(r);case 2:return e.a(2,this.historyWindows.get(t))}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"handleRoomUpdated",value:(n=ke(be().m(function e(t){var r,n,o,i;return be().w(function(e){for(;;)switch(e.n){case 0:if(this.room.id!==t.room.id){e.n=3;break}this.room=t.room,this.updateTraverseLock(t.room),t.room.defaultTopic&&this.createHistoryWindowForTopic(t.room.defaultTopic),r=0,n=Array.from(this.historyWindows.items);case 1:if(!(r<n.length)){e.n=3;break}return o=ye(n[r],2),i=o[1],e.n=2,i.setTraverseLock(this.traverseLock);case 2:r++,e.n=1;break;case 3:return e.a(2)}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"handleNewTopic",value:function(e){this.room.id===e.roomId&&this.createHistoryWindowForTopic(e.topic)}},{key:"handleTopicDeleted",value:function(e){this.room.id===e.location.roomId&&this.historyWindows.delete(e.location.topicId)}},{key:"createHistoryWindowForTopic",value:function(e){var t=this;if(!this.historyWindows.has(e.id)){var r=new he(this.room.id,e.id,this.tracker);if(r.setTraverseLock(this.traverseLock),this.historyWindows.set([e.id,r]),r.on("reftopicsdeleted",function(e){var r,n,o=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=ve(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(e);try{for(o.s();!(n=o.n()).done;){var i=n.value;t.historyWindows.delete(i)}}catch(e){o.e(e)}finally{o.f()}(r=t.tracker.rooms)._deleteTopicsFromRoom.apply(r,[t.room.id].concat(de(e)))}),e.refMessage){var n=this.historyWindows.get(e.refMessage.location.topicId);null==n||n._updateMessageReference(e)}}}},{key:"updateTraverseLock",value:function(e){this.traverseLock="Ephemeral"===e.history.mode}}],t&&Se(e.prototype,t),r&&Se(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o}();function Pe(e){return Pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe(e)}function Ie(e){return function(e){if(Array.isArray(e))return Me(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||_e(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Re(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ee(Object(r),!0).forEach(function(t){Ne(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ee(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Ae(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=_e(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function _e(e,t){if(e){if("string"==typeof e)return Me(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Me(e,t):void 0}}function Me(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Fe(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Le(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Le(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Le(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Le(f,"constructor",s),Le(s,"constructor",c),c.displayName="GeneratorFunction",Le(s,o,"GeneratorFunction"),Le(f),Le(f,o,"Generator"),Le(f,n,function(){return this}),Le(f,"toString",function(){return"[object Generator]"}),(Fe=function(){return{w:i,m:h}})()}function Le(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Le=function(e,t,r,n){function i(t,r){Le(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Le(e,t,r,n)}function xe(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Ge(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){xe(i,n,o,a,u,"next",e)}function u(e){xe(i,n,o,a,u,"throw",e)}a(void 0)})}}function De(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ce(n.key),n)}}function Ne(e,t,r){return(t=Ce(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ce(e){var t=function(e,t){if("object"!=Pe(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Pe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Pe(t)?t:t+""}var Ue=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ne(this,"roomHistories",new M),Ne(this,"followedTopics",new M),Ne(this,"followedTopicsPromises",new W),Ne(this,"deferredSession",new J),this.tracker=t,this.tracker.client.on("Session",function(e){return r.handleSession(e)}),this.tracker.client.on("RoomJoined",function(e){return r.handleRoomJoin(e)}),this.tracker.client.on("NewTopic",function(e){return r.handleNewTopic(e)}),this.tracker.client.on("FollowedTopicUpdated",function(e){return r.handleFollowedTopicUpdated(e)}),this.tracker.client.on("TopicFollowed",function(e){return r.handleTopicFollowed(e)}),this.tracker.client.on("TopicUnfollowed",function(e){return r.handleTopicUnfollowed(e)}),this.tracker.client.on("NewMessage",function(e){return r.handleNewMessage(e)}),this.tracker.client.on("RoomDeleted",function(e){return r.handleRoomDeleted(e)}),this.tracker.client.on("RoomLeft",function(e){return r.handleRoomLeft(e)}),this.tracker.client.on("TopicDeleted",function(e){return r.handleTopicDeleted(e)})},t=[{key:"getRoomHistory",value:(c=Ge(Fe().m(function e(t){return Fe().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this.roomHistories.get(t))}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"cacheSpaceFollowedTopics",value:(u=Ge(Fe().m(function e(t){var r,n,o,i,a=this;return Fe().w(function(e){for(;;)switch(e.n){case 0:if(!(i=t)){e.n=2;break}return e.n=1,this.tracker.spaces.get();case 1:i=!e.v.has(t);case 2:if(!i){e.n=3;break}throw new Error("You are not in space ".concat(t));case 3:return e.n=4,this.tracker.rooms.get();case 4:if((r=e.v.findBy("spaceId",t).items.map(function(e){return e.id})).length){e.n=5;break}return e.a(2);case 5:return n=this.tracker.client.send("GetFollowedTopics",{location:{spaceId:t}}),r.forEach(function(e){return a.followedTopicsPromises.register(n,e)}),e.n=6,n;case 6:if(!(o=e.v).error){e.n=7;break}throw o.error;case 7:this.setFollowedTopicsArray(r,o.data.followedTopics);case 8:return e.a(2)}},e,this)})),function(e){return u.apply(this,arguments)})},{key:"getRoomFollowedTopics",value:(a=Ge(Fe().m(function e(t){var r=this;return Fe().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.rooms.get();case 1:if(e.v.has(t)){e.n=2;break}return e.a(2,void 0);case 2:if(this.followedTopics.has(t)){e.n=3;break}return this.followedTopicsPromises.notExist(t)&&this.followedTopicsPromises.registerByFunction(Ge(Fe().m(function e(){var n;return Fe().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r.tracker.client.send("GetFollowedTopics",{location:{roomId:t}});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:r.setFollowedTopicsArray([t],n.data.followedTopics);case 3:return e.a(2)}},e)})),t),e.n=3,this.followedTopicsPromises.get(t);case 3:return e.a(2,this.followedTopics.get(t))}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"ackRoomFollowedTopics",value:(i=Ge(Fe().m(function e(t){var r,n,o,i,a;return Fe().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.n=1,this.getRoomFollowedTopics(t);case 1:if(r=e.v){e.n=2;break}return e.a(2);case 2:n=Ae(r.items),e.p=3,n.s();case 4:if((o=n.n()).done){e.n=6;break}if(!(i=o.value).missed){e.n=5;break}return e.n=5,this.tracker.client.send("Ack",{location:i.location});case 5:e.n=4;break;case 6:e.n=8;break;case 7:e.p=7,a=e.v,n.e(a);case 8:return e.p=8,n.f(),e.f(8);case 9:return e.a(2)}},e,this,[[3,7,8,9]])})),function(e){return i.apply(this,arguments)})},{key:"calculateRoomMissedMessages",value:(o=Ge(Fe().m(function e(t){var r;return Fe().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.getRoomFollowedTopics(t);case 1:if(!(r=e.v)){e.n=2;break}return e.a(2,r.items.reduce(function(e,t){var r;return e+(null!==(r=t.missed)&&void 0!==r?r:0)},0));case 2:return e.a(2,void 0)}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"_deleteByTopicIds",value:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];null===(t=this.followedTopics.get(e))||void 0===t||t.delete.apply(t,n)}},{key:"createHistoryForNewRoom",value:function(e){this.roomHistories.set([e.id,new Te(e,this.tracker)])}},{key:"handleNewMessage",value:function(e){this.updateLocallyFollowedTopicOnNewMessage(e)}},{key:"handleFollowedTopicUpdated",value:function(e){var t;null===(t=this.followedTopics.get(e.followedTopic.location.roomId))||void 0===t||t.set(e.followedTopic)}},{key:"handleTopicFollowed",value:function(e){this.setFollowedTopicsArray([e.followedTopic.location.roomId],[e.followedTopic])}},{key:"handleTopicUnfollowed",value:function(e){var t;null===(t=this.followedTopics.get(e.location.roomId))||void 0===t||t.delete(e.location.topicId)}},{key:"handleRoomDeleted",value:function(e){this.roomHistories.delete(e.id),this.clearRoomFollowedTopicsStructures(e.id)}},{key:"handleRoomJoin",value:function(e){this.createHistoryForNewRoom(e.room),this.clearRoomFollowedTopicsStructures(e.room.id)}},{key:"handleRoomLeft",value:function(e){this.roomHistories.delete(e.id),this.clearRoomFollowedTopicsStructures(e.id)}},{key:"handleNewTopic",value:(n=Ge(Fe().m(function e(t){var r,n;return Fe().w(function(e){for(;;)switch(e.n){case 0:if(!this.followedTopics.has(t.roomId)){e.n=2;break}return e.n=1,this.tracker.client.send("GetFollowedTopics",{location:{roomId:t.roomId,topicId:t.topic.id}});case 1:r=e.v,(n=r.data.followedTopics[0])&&this.followedTopics.get(t.roomId).set(n);case 2:return e.a(2)}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"handleTopicDeleted",value:function(e){var t;null===(t=this.followedTopics.get(e.location.roomId))||void 0===t||t.delete(e.location.topicId)}},{key:"handleSession",value:function(e){var t=this;this.followedTopics.deleteAll(),this.followedTopicsPromises.forgetAll(),this.roomHistories.deleteAll(),e.state.rooms.forEach(function(e){return t.createHistoryForNewRoom(e)}),this.deferredSession.resolve()}},{key:"updateLocallyFollowedTopicOnNewMessage",value:function(e){var t,r,n=this.followedTopics.get(e.message.location.roomId),o=null==n?void 0:n.get(e.message.location.topicId);n&&o&&"Ephemeral"!==e.message.type&&(r=e.message.author.user.id===(null===(t=this.tracker.me)||void 0===t?void 0:t.id)?{missed:0,lastAckMessageId:e.message.id}:{missed:null===o.missed?null:o.missed+1},n.set(Re(Re({},o),r)))}},{key:"setFollowedTopicsArray",value:function(e,t){var r=this,n={};t.forEach(function(e){var t,r;null!==(r=n[t=e.location.roomId])&&void 0!==r||(n[t]=[]),n[e.location.roomId].push(e)}),e.forEach(function(e){var t;r.followedTopics.has(e)||r.followedTopics.set([e,new x(function(e){return e.location.topicId})]),n[e]&&(t=r.followedTopics.get(e)).set.apply(t,Ie(n[e]))})}},{key:"clearRoomFollowedTopicsStructures",value:function(e){this.followedTopics.delete(e),this.followedTopicsPromises.forget(e)}}],t&&De(e.prototype,t),r&&De(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o,i,a,u,c}();function Be(e){return Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Be(e)}function Je(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function We(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Je(Object(r),!0).forEach(function(t){Ze(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Je(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function He(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Qe(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function $e(e){return function(e){if(Array.isArray(e))return Ve(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Qe(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qe(e,t){if(e){if("string"==typeof e)return Ve(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ve(e,t):void 0}}function Ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ze(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return qe(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(qe(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,qe(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,qe(f,"constructor",s),qe(s,"constructor",c),c.displayName="GeneratorFunction",qe(s,o,"GeneratorFunction"),qe(f),qe(f,o,"Generator"),qe(f,n,function(){return this}),qe(f,"toString",function(){return"[object Generator]"}),(ze=function(){return{w:i,m:h}})()}function qe(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}qe=function(e,t,r,n){function i(t,r){qe(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},qe(e,t,r,n)}function Ke(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Ye(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Ke(i,n,o,a,u,"next",e)}function u(e){Ke(i,n,o,a,u,"throw",e)}a(void 0)})}}function Xe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,et(n.key),n)}}function Ze(e,t,r){return(t=et(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function et(e){var t=function(e,t){if("object"!=Be(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Be(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Be(t)?t:t+""}var tt=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ze(this,"messages",void 0),Ze(this,"list",new x("id")),Ze(this,"topics",new M),Ze(this,"members",new M),Ze(this,"deferredSession",new J),Ze(this,"membersPromises",new W),Ze(this,"topicsPromises",new W),this.tracker=t,this.messages=new Ue(t),this.tracker.client.on("NewMessage",function(e){return r.handleNewMessage(e)}),this.tracker.client.on("NewTopic",function(e){return r.handleNewTopic(e)}),this.tracker.client.on("TopicDeleted",function(e){return r.handleTopicDeleted(e)}),this.tracker.client.on("RoomJoined",function(e){return r.handleRoomJoined(e)}),this.tracker.client.on("RoomLeft",function(e){return r.handleRoomLeft(e)}),this.tracker.client.on("RoomUpdated",function(e){return r.handleRoomUpdated(e)}),this.tracker.client.on("RoomDeleted",function(e){return r.handleRoomDeleted(e)}),this.tracker.client.on("TopicUpdated",function(e){return r.handleTopicUpdated(e)}),this.tracker.client.on("RoomMemberJoined",function(e){return r.handleRoomMemberJoined(e)}),this.tracker.client.on("RoomMemberLeft",function(e){return r.handleRoomMemberLeft(e)}),this.tracker.client.on("RoomMembers",function(e){return r.handleRoomMembers(e)}),this.tracker.client.on("RoomMemberUpdated",function(e){return r.handleRoomMemberUpdated(e)}),this.tracker.client.on("SpaceMemberLeft",function(e){return r.handleSpaceMemberLeft(e)}),this.tracker.client.on("SpaceMemberUpdated",function(e){return r.handleSpaceMemberUpdated(e)}),this.tracker.client.on("SpaceDeleted",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("SpaceLeft",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("UserUpdated",function(e){return r.handleUserUpdated(e)}),this.tracker.client.on("Session",function(e){return r.handleSession(e)})},t=[{key:"getMembers",value:(i=Ye(ze().m(function e(t){var r=this;return ze().w(function(e){for(;;)switch(e.n){case 0:return this.membersPromises.notExist(t)&&this.membersPromises.registerByFunction(Ye(ze().m(function e(){var n;return ze().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r.tracker.client.send("GetRoomMembers",{id:t});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:r.handleRoomMembers(n.data);case 3:return e.a(2)}},e)})),t),e.n=1,this.membersPromises.get(t);case 1:return e.a(2,this.members.get(t))}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"getMe",value:(o=Ye(ze().m(function e(t){var r,n;return ze().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.getMe();case 1:if(r=e.v.id,this.list.has(t)){e.n=2;break}return e.a(2,void 0);case 2:return e.n=3,this.getMembers(t);case 3:return n=e.v,e.a(2,null==n?void 0:n.items.find(function(e){var t,n;return(null!==(t=null===(n=e.user)||void 0===n?void 0:n.id)&&void 0!==t?t:e.spaceMember.user.id)===r}))}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"get",value:function(){var e=Ye(ze().m(function e(){return ze().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this.list)}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"getTopics",value:(n=Ye(ze().m(function e(t,r){var n,o,i,a,u,c,s,l=this;return ze().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:if(null==r||!r.length){e.n=8;break}n=function(e){var r;return!(null!==(r=l.topics.get(t))&&void 0!==r&&r.has(e)||l.topicsPromises.has(t+e))},(o=r.filter(n)).length&&(i=this.tracker.client.send("GetTopics",{roomId:t,topicIds:o}).then(function(e){var t;return null===(t=l.topics.get(e.data.location.roomId))||void 0===t?void 0:t.set.apply(t,$e(e.data.topics))}),o.forEach(function(e){return l.topicsPromises.register(i,t+e)})),a=He(r),e.p=2,a.s();case 3:if((u=a.n()).done){e.n=5;break}return c=u.value,e.n=4,this.topicsPromises.get(t+c);case 4:e.n=3;break;case 5:e.n=7;break;case 6:e.p=6,s=e.v,a.e(s);case 7:return e.p=7,a.f(),e.f(7);case 8:return e.a(2,this.topics.get(t))}},e,this,[[2,6,7,8]])})),function(e,t){return n.apply(this,arguments)})},{key:"_deleteTopicsFromRoom",value:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];null===(t=this.topics.get(e))||void 0===t||t.delete.apply(t,n)}},{key:"deleteRoom",value:function(){for(var e,t,r,n,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];(e=this.list).delete.apply(e,i),(t=this.members).delete.apply(t,i),(r=this.membersPromises).forget.apply(r,i);for(var u=0,c=i;u<c.length;u++){var s,l,f,h=c[u],p=null!==(s=null===(l=this.topics.get(h))||void 0===l?void 0:l.items.map(function(e){return e.id}))&&void 0!==s?s:[];(f=this.messages)._deleteByTopicIds.apply(f,[h].concat($e(p)))}(n=this.topics).delete.apply(n,i)}},{key:"deleteRoomsBySpaceId",value:function(e){this.deleteRoom.apply(this,$e(this.list.findBy("spaceId",e).items.map(function(e){return e.id})))}},{key:"handleSpaceMemberUpdated",value:function(e){var t,r=He(this.list.findBy("spaceId",e.spaceId).items);try{for(r.s();!(t=r.n()).done;){var n=t.value,o=this.members.get(n.id);if(o&&o.has(e.userId)){var i=o.get(e.userId),a=i.spaceMember.user;i.spaceMember=We(We({},e.member),{},{user:a}),o.set(i)}}}catch(e){r.e(e)}finally{r.f()}}},{key:"handleSpaceMemberLeft",value:function(e){var t=this;this.list.findBy("spaceId",e.spaceId).items.forEach(function(r){var n;return null===(n=t.members.get(r.id))||void 0===n?void 0:n.delete(e.userId)})}},{key:"handleRoomMemberUpdated",value:function(e){var t,r;if(this.members.has(e.roomId)){var n=this.members.get(e.roomId),o=n.get(e.userId),i=e.member,a=null!==(t=null===(r=o.spaceMember)||void 0===r?void 0:r.user)&&void 0!==t?t:o.user;i.spaceMember?i.spaceMember.user=a:i.user=a,n.set(i)}}},{key:"handleSpaceDeleted",value:function(e){this.deleteRoomsBySpaceId(e.id)}},{key:"handleTopicDeleted",value:function(e){var t;this.topics.get(e.location.roomId).delete(e.location.topicId);var r=this.list.get(e.location.roomId);(null===(t=r.defaultTopic)||void 0===t?void 0:t.id)===e.location.topicId&&this.list.set(We(We({},r),{},{defaultTopic:null}))}},{key:"handleNewTopic",value:function(e){this.addJoinedRoomTopics(e.roomId,e.topic)}},{key:"addJoinedRoomTopics",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var o;this.topics.has(e)?(o=this.topics.get(e)).set.apply(o,r):this.topics.set([e,new x("id",r)])}},{key:"handleRoomJoined",value:function(e){this.addJoinedRooms(e.room)}},{key:"handleRoomUpdated",value:function(e){this.list.has(e.room.id)&&this.list.set(e.room)}},{key:"handleRoomDeleted",value:function(e){this.deleteRoom(e.id)}},{key:"handleTopicUpdated",value:function(e){var t,r=this.list.get(e.location.roomId);null!==(t=this.topics.get(e.location.roomId))&&void 0!==t&&t.has(e.topic.id)&&this.topics.get(e.location.roomId).set(e.topic),r.defaultTopic.id===e.topic.id&&(r.defaultTopic=e.topic,this.list.set(r))}},{key:"addJoinedRooms",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];for(var o=0,i=r;o<i.length;o++){var a=i[o];a.defaultTopic&&this.addJoinedRoomTopics(a.id,a.defaultTopic),"Pm"===a.type&&a.recipients&&(this.handleRoomMembers({id:a.id,members:a.recipients.map(function(e){return{user:e,spaceMember:null,roles:null,customColor:null,customNick:null,extras:""}})}),this.membersPromises.register(Promise.resolve(),a.id))}(e=this.list).set.apply(e,r)}},{key:"handleRoomLeft",value:function(e){this.deleteRoom(e.id)}},{key:"handleRoomMemberJoined",value:function(e){this.members.has(e.roomId)&&this.members.get(e.roomId).set(e.member)}},{key:"handleRoomMemberLeft",value:function(e){this.members.has(e.roomId)&&this.members.get(e.roomId).delete(e.userId)}},{key:"handleRoomMembers",value:function(e){this.members.has(e.id)||this.members.set([e.id,new x(function(e){var t,r;return null!==(t=null===(r=e.user)||void 0===r?void 0:r.id)&&void 0!==t?t:e.spaceMember.user.id},e.members)])}},{key:"handleSession",value:function(e){this.list.deleteAll(),this.topics.deleteAll(),this.topicsPromises.forgetAll(),this.members.deleteAll(),this.membersPromises.forgetAll(),this.addJoinedRooms.apply(this,$e(e.state.rooms)),this.deferredSession.resolve()}},{key:"handleUserUpdated",value:function(e){var t;this.members.items.forEach(function(t){var r=t.get(e.user.id);if(r){var n=We({},r);r.user?n.user=e.user:n.spaceMember.user=e.user,t.set(n)}});var r=[];this.list.items.forEach(function(t){var n;null!==(n=t.recipients)&&void 0!==n&&n.some(function(t){return t.id===e.user.id})&&(t.recipients=t.recipients.map(function(t){return t.id===e.user.id?e.user:t}),r.push(We({},t)))}),(t=this.list).set.apply(t,r)}},{key:"handleNewMessage",value:function(e){var t,r=this.topics.get(e.message.location.roomId),n=null==r?void 0:r.get(e.message.location.topicId);if(n){var o=We(We({},n),{},{messageCount:n.messageCount+1,lastMessage:e.message});r.set(o);var i=this.list.get(e.message.location.roomId);(null===(t=i.defaultTopic)||void 0===t?void 0:t.id)===e.message.location.topicId&&this.list.set(We(We({},i),{},{defaultTopic:o}))}}}],t&&Xe(e.prototype,t),r&&Xe(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o,i}();function rt(e){var t,r;return null!==(t=e.user)&&void 0!==t?t:null===(r=e.spaceMember)||void 0===r?void 0:r.user}function nt(e){return nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nt(e)}function ot(e){return function(e){if(Array.isArray(e))return it(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return it(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?it(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function it(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function at(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ut(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?at(Object(r),!0).forEach(function(t){pt(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):at(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ct(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return st(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(st(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,st(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,st(f,"constructor",s),st(s,"constructor",c),c.displayName="GeneratorFunction",st(s,o,"GeneratorFunction"),st(f),st(f,o,"Generator"),st(f,n,function(){return this}),st(f,"toString",function(){return"[object Generator]"}),(ct=function(){return{w:i,m:h}})()}function st(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}st=function(e,t,r,n){function i(t,r){st(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},st(e,t,r,n)}function lt(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function ft(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){lt(i,n,o,a,u,"next",e)}function u(e){lt(i,n,o,a,u,"throw",e)}a(void 0)})}}function ht(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,dt(n.key),n)}}function pt(e,t,r){return(t=dt(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dt(e){var t=function(e,t){if("object"!=nt(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=nt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==nt(t)?t:t+""}var yt=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),pt(this,"list",new x("id")),pt(this,"roles",new M),pt(this,"rooms",new M),pt(this,"roomIdToSpaceId",new M),pt(this,"members",new M),pt(this,"deferredSession",new J),pt(this,"roomsPromises",new W),pt(this,"membersPromises",new W),this.tracker=t,this.tracker.client.on("NewRoom",function(e){return r.handleNewRoom(e)}),this.tracker.client.on("RoomDeleted",function(e){return r.handleRoomDeleted(e)}),this.tracker.client.on("RoomUpdated",function(e){return r.handleRoomUpdated(e)}),this.tracker.client.on("SpaceDeleted",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("SpaceUpdated",function(e){return r.handleSpaceUpdated(e)}),this.tracker.client.on("SpaceJoined",function(e){return r.handleSpaceJoined(e)}),this.tracker.client.on("SpaceLeft",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("SpaceMemberJoined",function(e){return r.handleSpaceMemberJoined(e)}),this.tracker.client.on("SpaceMemberLeft",function(e){return r.handleSpaceMemberLeft(e)}),this.tracker.client.on("SpaceMembers",function(e){return r.handleSpaceMembers(e)}),this.tracker.client.on("SpaceRooms",function(e){return r.handleSpaceRooms(e)}),this.tracker.client.on("RoomSummaryUpdated",function(e){return r.handleRoomSummaryUpdated(e)}),this.tracker.client.on("SpaceMemberUpdated",function(e){return r.handleSpaceMemberUpdated(e)}),this.tracker.client.on("UserUpdated",function(e){return r.handleUserUpdated(e)}),this.tracker.client.on("NewRole",function(e){return r.handleNewRole(e)}),this.tracker.client.on("RoleDeleted",function(e){return r.handleRoleDeleted(e)}),this.tracker.client.on("RoleUpdated",function(e){return r.handleRoleUpdated(e)}),this.tracker.client.on("Session",function(e){return r.handleSession(e)})},t=[{key:"get",value:function(){var e=ft(ct().m(function e(){return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this.list)}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"getRoles",value:(c=ft(ct().m(function e(t){return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this.roles.get(t))}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"getRooms",value:(u=ft(ct().m(function e(t){var r=this;return ct().w(function(e){for(;;)switch(e.n){case 0:return this.roomsPromises.notExist(t)&&this.roomsPromises.registerByFunction(ft(ct().m(function e(){var n;return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r.tracker.client.send("GetSpaceRooms",{id:t});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:r.handleSpaceRooms(n.data);case 3:return e.a(2)}},e)})),t),e.n=1,this.roomsPromises.get(t);case 1:return e.a(2,this.rooms.get(t))}},e,this)})),function(e){return u.apply(this,arguments)})},{key:"getMembers",value:(a=ft(ct().m(function e(t){var r=this;return ct().w(function(e){for(;;)switch(e.n){case 0:return this.membersPromises.notExist(t)&&this.membersPromises.registerByFunction(ft(ct().m(function e(){var n;return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r.tracker.client.send("GetSpaceMembers",{id:t});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:r.handleSpaceMembers(n.data);case 3:return e.a(2)}},e)})),t),e.n=1,this.membersPromises.get(t);case 1:return e.a(2,this.members.get(t))}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"getMe",value:(i=ft(ct().m(function e(t){var r,n;return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.getMe();case 1:if(r=e.v.id,this.list.has(t)){e.n=2;break}return e.a(2,void 0);case 2:return e.n=3,this.getMembers(t);case 3:return n=e.v,e.a(2,null==n?void 0:n.items.find(function(e){return e.user.id===r}))}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"handleNewRole",value:function(e){var t=this.roles.get(e.spaceId);t.set(e.role),this.list.get(e.spaceId).roles=t.items}},{key:"handleNewRoom",value:function(e){var t;null===(t=this.rooms.get(e.spaceId))||void 0===t||t.set(e.summary),this.roomIdToSpaceId.set([e.summary.id,e.spaceId])}},{key:"handleRoomUpdated",value:function(e){if(e.room.spaceId&&this.rooms.has(e.room.spaceId)){var t=this.rooms.get(e.room.spaceId);t.set(ut(ut({},t.get(e.room.id)),{},{name:e.room.name,description:e.room.description}))}}},{key:"handleRoomDeleted",value:(o=ft(ct().m(function e(t){var r,n,o,i;return ct().w(function(e){for(;;)switch(e.n){case 0:if(n=this.roomIdToSpaceId.get(t.id),this.roomIdToSpaceId.delete(t.id),n){e.n=1;break}return e.a(2);case 1:o=this.list.get(n),i=!1,null===(r=this.rooms.get(n))||void 0===r||r.delete(t.id),o.systemRoom===t.id&&(o.systemRoom=null,i=!0),o.defaultRooms.includes(t.id)&&(o.defaultRooms=o.defaultRooms.filter(function(e){return e!==t.id}),i=!0),i&&this.list.set(o);case 2:return e.a(2)}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"handleRoleDeleted",value:function(e){var t=this.roles.get(e.spaceId);t.delete(e.id),this.list.get(e.spaceId).roles=t.items}},{key:"handleSpaceUpdated",value:function(e){this.list.set(e.space)}},{key:"handleSpaceDeleted",value:function(e){var t,r,n,o=null!==(t=null===(r=this.rooms.get(e.id))||void 0===r?void 0:r.items.map(function(e){return e.id}))&&void 0!==t?t:[];(n=this.roomIdToSpaceId).delete.apply(n,ot(o)),this.roles.delete(e.id),this.members.delete(e.id),this.membersPromises.forget(e.id),this.rooms.delete(e.id),this.roomsPromises.forget(e.id),this.list.delete(e.id)}},{key:"handleSpaceJoined",value:function(e){this.addJoinedSpaces(e.space)}},{key:"addJoinedSpaces",value:function(){for(var e,t,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];(e=this.roles).set.apply(e,ot(n.map(function(e){return[e.id,new x("id",e.roles)]}))),(t=this.list).set.apply(t,n)}},{key:"handleSpaceMemberJoined",value:function(e){this.members.has(e.spaceId)&&this.members.get(e.spaceId).set(e.member)}},{key:"handleSpaceMemberLeft",value:function(e){this.members.has(e.spaceId)&&this.members.get(e.spaceId).delete(e.userId)}},{key:"handleSpaceMembers",value:function(e){this.members.has(e.id)||this.members.set([e.id,new x(function(e){return null==e?void 0:e.user.id},e.members)])}},{key:"handleSpaceRooms",value:function(e){var t=this;this.rooms.has(e.id)||(this.rooms.set([e.id,new x("id",e.summaries)]),e.summaries.forEach(function(r){return t.roomIdToSpaceId.set([r.id,e.id])}))}},{key:"handleRoomSummaryUpdated",value:(n=ft(ct().m(function e(t){var r,n,o,i,a;return ct().w(function(e){for(;;)switch(e.n){case 0:if(r=this.roomIdToSpaceId.get(t.summary.id),n=this.roomsPromises.get(r),!r||!n){e.n=2;break}return e.n=1,n;case 1:o=this.rooms.get(r),i=o.get(t.summary.id),a=i?ut(ut({},i),t.summary):t.summary,o.set(a);case 2:return e.a(2)}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"handleSpaceMemberUpdated",value:function(e){if(this.members.has(e.spaceId)){var t=this.members.get(e.spaceId),r=t.get(e.userId);t.set(ut(ut({},e.member),{},{user:r.user}))}}},{key:"handleRoleUpdated",value:function(e){var t,r=this.roles.get(e.spaceId),n=r.get(e.role.id),o=e.role,i=[o];n.priority!==o.priority&&i.push.apply(i,ot(function(e,t,r){var n=r.priority-t.priority>0,o=!n,i=[];return e.forEach(function(e){e.id!==r.id&&(n&&t.priority<=e.priority&&(e.priority--,i.push(e)),o&&r.priority<=e.priority&&(e.priority++,i.push(e)))}),i}(r.items,n,o))),(t=this.roles.get(e.spaceId)).set.apply(t,i)}},{key:"handleSession",value:function(e){this.list.deleteAll(),this.roles.deleteAll(),this.rooms.deleteAll(),this.roomsPromises.forgetAll(),this.members.deleteAll(),this.membersPromises.forgetAll(),this.roomIdToSpaceId.deleteAll(),this.addJoinedSpaces.apply(this,ot(e.state.spaces)),this.deferredSession.resolve()}},{key:"handleUserUpdated",value:function(e){this.members.items.forEach(function(t){var r=t.get(e.user.id);r&&t.set(ut(ut({},r),{},{user:e.user}))})}}],t&&ht(e.prototype,t),r&&ht(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o,i,a,u,c}();function vt(e){return vt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vt(e)}function mt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,kt(n.key),n)}}function bt(e,t,r){return t&&mt(e.prototype,t),r&&mt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function gt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wt(e,t,r){return(t=kt(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kt(e){var t=function(e,t){if("object"!=vt(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=vt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==vt(t)?t:t+""}var St=function(e){return e[e.Global=0]="Global",e[e.Space=1]="Space",e[e.Room=2]="Room",e[e.Topic=3]="Topic",e}({}),Ot=bt(function e(){gt(this,e),wt(this,"value",void 0),wt(this,"maxLayer",void 0)}),jt=function(){return bt(function e(){gt(this,e)},null,[{key:"getNames",value:function(){return Object.keys(this.list)}},{key:"getByName",value:function(e){return this.list[e]}},{key:"canBeDefinedOnLayer",value:function(e,t){if(!this.getByName(e))throw new Error("Invalid permission name: ".concat(e));return t<=this.getByName(e).maxLayer}}])}();function Tt(e){return Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tt(e)}function Pt(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Rt(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function It(e){return function(e){if(Array.isArray(e))return At(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Rt(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Et(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,t)||Rt(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Rt(e,t){if(e){if("string"==typeof e)return At(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?At(e,t):void 0}}function At(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function _t(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Mt(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Mt(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Mt(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Mt(f,"constructor",s),Mt(s,"constructor",c),c.displayName="GeneratorFunction",Mt(s,o,"GeneratorFunction"),Mt(f),Mt(f,o,"Generator"),Mt(f,n,function(){return this}),Mt(f,"toString",function(){return"[object Generator]"}),(_t=function(){return{w:i,m:h}})()}function Mt(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Mt=function(e,t,r,n){function i(t,r){Mt(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Mt(e,t,r,n)}function Ft(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Lt(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Ft(i,n,o,a,u,"next",e)}function u(e){Ft(i,n,o,a,u,"throw",e)}a(void 0)})}}function xt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Bt(n.key),n)}}function Gt(e,t,r){return t=Nt(t),function(e,t){if(t&&("object"==Tt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Dt()?Reflect.construct(t,r||[],Nt(e).constructor):t.apply(e,r))}function Dt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Dt=function(){return!!e})()}function Nt(e){return Nt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Nt(e)}function Ct(e,t){return Ct=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ct(e,t)}function Ut(e,t,r){return(t=Bt(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Bt(e){var t=function(e,t){if("object"!=Tt(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Tt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Tt(t)?t:t+""}wt(jt,"list",{Root:{value:1,maxLayer:St.Room},CreateSpaces:{value:2,maxLayer:St.Global},ManageSpace:{value:4,maxLayer:St.Space},ManageRoles:{value:8,maxLayer:St.Space},CreateTopics:{value:32,maxLayer:St.Room},ManageTopic:{value:64,maxLayer:St.Topic},ManageMemberProfiles:{value:128,maxLayer:St.Space},ManageMemberRoles:{value:256,maxLayer:St.Room},CreateMessages:{value:512,maxLayer:St.Topic},ManagePermissions:{value:1024,maxLayer:St.Topic},CreateRooms:{value:2048,maxLayer:St.Space},ManageRoom:{value:4096,maxLayer:St.Room},CreateEmoticons:{value:8192,maxLayer:St.Space},ManageEmoticons:{value:16384,maxLayer:St.Space},ManageBans:{value:32768,maxLayer:St.Room},Kick:{value:65536,maxLayer:St.Room},ChangeOwnNick:{value:1<<17,maxLayer:St.Space},ChangeOwnColor:{value:1<<18,maxLayer:St.Room},RedactMessages:{value:1<<19,maxLayer:St.Topic}});var Jt=function(e,t){return[e.spaceId,e.roomId,e.topicId,null==t?void 0:t.type,null==t?void 0:t.userId,null==t?void 0:t.roleId].filter(Boolean).join("/")},Wt=function(e){return Jt(e.location,e.target)},Ht=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Ut(r=Gt(this,t),"overwrites",new M),Ut(r,"overwritesPromises",new W),r.tracker=e,r.tracker.client.on("PermissionOverwrites",function(e){return r.handlePermissionOverwrites(e)}),r.tracker.client.on("PermissionOverwritesUpdated",function(e){return r.handlePermissionOverwrites(e)}),r.tracker.client.on("SpaceDeleted",function(e){return r.handleSpaceDeleted(e)}),r.tracker.client.on("SpaceLeft",function(e){return r.handleSpaceDeleted(e)}),r.tracker.client.on("RoomDeleted",function(e){return r.handleRoomDeleted(e)}),r.tracker.client.on("RoomLeft",function(e){return r.handleRoomDeleted(e)}),r.tracker.client.on("TopicDeleted",function(e){return r.handleTopicDeleted(e)}),r.tracker.client.on("RoleDeleted",function(e){return r.handleRoleDeleted(e)}),r.tracker.client.on("SpaceMemberUpdated",function(e){return r.handleSpaceMemberUpdated(e)}),r.tracker.client.on("RoomMemberUpdated",function(e){return r.handleRoomMemberUpdated(e)}),r.tracker.client.on("Session",function(e){return r.handleSession(e)}),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ct(e,t)}(t,e),r=t,n=[{key:"getOverwrites",value:(f=Lt(_t().m(function e(t,r){var n,o=this;return _t().w(function(e){for(;;)switch(e.n){case 0:return this.validateLocation(t),n=Jt(t,r),this.overwritesPromises.notExist(n)&&this.overwritesPromises.registerByFunction(Lt(_t().m(function e(){var n;return _t().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,o.tracker.client.send("GetPermissionOverwrites",{location:t,target:r});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:o.handlePermissionOverwrites(n.data);case 3:return e.a(2)}},e)})),n),e.n=1,this.overwritesPromises.get(n);case 1:return e.a(2,this.overwrites.get(n))}},e,this)})),function(e,t){return f.apply(this,arguments)})},{key:"check",value:(l=Lt(_t().m(function e(t,r){var n,o;return _t().w(function(e){for(;;)switch(e.n){case 0:if(t.length){e.n=1;break}throw new Error("Permission names array cannot be empty");case 1:return e.n=2,this.calculatePermissions(r);case 2:return n=e.v,o=[],t.forEach(function(e){~n&jt.getByName(e).value&&o.push(e)}),e.a(2,{ok:0===o.length,hasAll:0===o.length,hasAny:o.length<t.length,missing:o})}},e,this)})),function(e,t){return l.apply(this,arguments)})},{key:"calculatePermissions",value:(s=Lt(_t().m(function e(t){var r,n,o,i,a,u,c,s,l,f,h,p,d,y,v,m,b,g,w,k,S,O,j,T,P;return _t().w(function(e){for(;;)switch(e.n){case 0:if(!t.roomId){e.n=2;break}return e.n=1,this.tracker.rooms.get();case 1:m=e.v.get(t.roomId),e.n=3;break;case 2:m=null;case 3:return u=m,t={spaceId:null!==(r=t.spaceId)&&void 0!==r?r:null==u?void 0:u.spaceId,roomId:t.roomId,topicId:t.topicId},this.validateLocation(t),e.n=4,this.tracker.getMe();case 4:return c=e.v.id,e.n=5,this.fetchMembersOrFail(t);case 5:if(s=e.v,l=Et(s,2),f=l[0],h=l[1],p=[].concat(It(null!==(n=null==f?void 0:f.roles)&&void 0!==n?n:[]),It(null!==(o=null==h?void 0:h.roles)&&void 0!==o?o:[])),d=[this.getOverwrites({},{type:"User",userId:c}).then(function(e){return e.overwrites})],!(b=t.spaceId)){e.n=9;break}return e.n=6,this.tracker.spaces.get();case 6:if(k=i=e.v,!(w=null!==k)){e.n=7;break}w=void 0!==i;case 7:if(!(g=w)){e.n=8;break}g=i.has(t.spaceId);case 8:b=g;case 9:if(!b){e.n=10;break}y={spaceId:t.spaceId},d.push(this.collectRoleOverwrites(y,p)),d.push(this.getOverwrites(y,{type:"User",userId:c}).then(function(e){return e.overwrites}));case 10:if(u&&(v={spaceId:t.spaceId,roomId:t.roomId},p.length&&d.push(this.collectRoleOverwrites(v,p)),d.push(this.getOverwrites(v,{type:"User",userId:c}).then(function(e){return e.overwrites}))),!(S=t.topicId)){e.n=14;break}return e.n=11,this.tracker.rooms.getTopics(t.roomId);case 11:if(T=a=e.v,!(j=null!==T)){e.n=12;break}j=void 0!==a;case 12:if(!(O=j)){e.n=13;break}O=a.has(t.topicId);case 13:S=O;case 14:if(!S){e.n=15;break}p.length&&d.push(this.collectRoleOverwrites(t,p)),d.push(this.getOverwrites(t,{type:"User",userId:c}).then(function(e){return e.overwrites}));case 15:return P=this,e.n=16,Promise.all(d);case 16:return e.a(2,P.resolveOverwritesHierarchy.call(P,e.v))}},e,this)})),function(e){return s.apply(this,arguments)})},{key:"handlePermissionOverwrites",value:function(e){this.overwrites.set([Wt(e),e]),this.emit("change")}},{key:"handleSpaceDeleted",value:function(e){var t,r=this.deleteOverwritesByIdPrefix(Jt({spaceId:e.id}));(t=this.overwritesPromises).forget.apply(t,It(r))}},{key:"handleRoomDeleted",value:(c=Lt(_t().m(function e(t){var r,n,o;return _t().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.rooms.get();case 1:(r=e.v.get(t.id))&&(o=this.deleteOverwritesByIdPrefix(Jt({spaceId:r.spaceId,roomId:r.id})),(n=this.overwritesPromises).forget.apply(n,It(o)));case 2:return e.a(2)}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"handleTopicDeleted",value:function(e){var t,r=this.deleteOverwritesByIdPrefix(Jt(e.location));(t=this.overwritesPromises).forget.apply(t,It(r))}},{key:"handleRoleDeleted",value:function(e){var t,r=this.deleteOverwritesByIdPrefix(Jt({spaceId:e.spaceId},{type:"Role",roleId:e.id}));(t=this.overwritesPromises).forget.apply(t,It(r))}},{key:"handleSpaceMemberUpdated",value:function(e){var t;e.userId===(null===(t=this.tracker.me)||void 0===t?void 0:t.id)&&this.emit("change")}},{key:"handleRoomMemberUpdated",value:function(e){var t;e.userId===(null===(t=this.tracker.me)||void 0===t?void 0:t.id)&&this.emit("change")}},{key:"deleteOverwritesByIdPrefix",value:function(e){var t=this,r=[];return this.overwrites.items.forEach(function(n){var o=Wt(n);o.startsWith(e)&&(r.push(o),t.overwrites.delete(o))}),r}},{key:"collectRoleOverwrites",value:(u=Lt(_t().m(function e(t,r){var n,o=this;return _t().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Promise.all(r.map(function(e){return o.getOverwrites(t,{type:"Role",roleId:e})}));case 1:return n=e.v,e.a(2,this.resolveOverwritesFromRolesByOrder(t.spaceId,n))}},e,this)})),function(e,t){return u.apply(this,arguments)})},{key:"resolveOverwritesFromRolesByOrder",value:(a=Lt(_t().m(function e(t,r){var n,o,i,a,u;return _t().w(function(e){for(;;)switch(e.n){case 0:return n=0,o=0,e.n=1,this.tracker.spaces.getRoles(t);case 1:return i=e.v,a=r.sort(function(e,t){return i.get(e.target.roleId).priority-i.get(t.target.roleId).priority}),u=r.reduce(function(e,t){var r,n,o,i;return Math.max(e,null!==(r=null===(n=t.overwrites.allow)||void 0===n?void 0:n.toString(2).length)&&void 0!==r?r:0,null!==(o=null===(i=t.overwrites.deny)||void 0===i?void 0:i.toString(2).length)&&void 0!==o?o:0)},0),a.forEach(function(e){for(var t,r,i,a,c=e.overwrites,s=null!==(t=null===(r=c.deny)||void 0===r?void 0:r.toString(2).split("").reverse().join(""))&&void 0!==t?t:"",l=null!==(i=null===(a=c.allow)||void 0===a?void 0:a.toString(2).split("").reverse().join(""))&&void 0!==i?i:"",f=0;f<u;f++){var h,p,d=parseInt(null!==(h=s[f])&&void 0!==h?h:"0"),y=parseInt(null!==(p=l[f])&&void 0!==p?p:"0");d&&(o|=1<<f),y&&(n|=1<<f)}}),e.a(2,{allow:n,deny:o})}},e,this)})),function(e,t){return a.apply(this,arguments)})},{key:"resolveOverwritesHierarchy",value:function(e){var t,r=0,n=Pt(e);try{for(n.s();!(t=n.n()).done;){var o=t.value;if(o.allow&jt.getByName("Root").value)return this.getRootAccessValue();r=r&~o.deny|o.allow}}catch(e){n.e(e)}finally{n.f()}return r}},{key:"getRootAccessValue",value:function(){var e,t=0,r=Pt(jt.getNames());try{for(r.s();!(e=r.n()).done;){var n=e.value;t|=jt.getByName(n).value}}catch(e){r.e(e)}finally{r.f()}return t}},{key:"fetchMembersOrFail",value:(i=Lt(_t().m(function e(t){var r,n,o,i;return _t().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Promise.all([t.spaceId?this.tracker.spaces.getMe(t.spaceId):null,t.roomId?this.tracker.rooms.getMe(t.roomId):null]);case 1:if(r=e.v,n=t.spaceId&&!r[0],o=t.roomId&&!r[1],!n&&!o){e.n=2;break}throw i=n?"space (".concat(t.spaceId,")"):"room (".concat(t.roomId,")"),new Error("Attempting to calculate permissions for a ".concat(i," that the user does not belong to"));case 2:return e.a(2,r)}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"validateLocation",value:function(e){if(e.topicId&&!e.roomId)throw new Error("Corrupted arguments hierarchy")}},{key:"handleSession",value:function(e){this.overwrites.deleteAll(),this.overwritesPromises.forgetAll()}}],n&&xt(r.prototype,n),o&&xt(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a,u,c,s,l,f}(a);function $t(e){return $t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$t(e)}function Qt(e){return function(e){if(Array.isArray(e))return Vt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Vt(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Vt(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function zt(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return qt(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(qt(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,qt(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,qt(f,"constructor",s),qt(s,"constructor",c),c.displayName="GeneratorFunction",qt(s,o,"GeneratorFunction"),qt(f),qt(f,o,"Generator"),qt(f,n,function(){return this}),qt(f,"toString",function(){return"[object Generator]"}),(zt=function(){return{w:i,m:h}})()}function qt(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}qt=function(e,t,r,n){function i(t,r){qt(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},qt(e,t,r,n)}function Kt(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Yt(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Kt(i,n,o,a,u,"next",e)}function u(e){Kt(i,n,o,a,u,"throw",e)}a(void 0)})}}function Xt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,er(n.key),n)}}function Zt(e,t,r){return(t=er(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function er(e){var t=function(e,t){if("object"!=$t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=$t(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==$t(t)?t:t+""}var tr="global",rr=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Zt(this,"list",new M),Zt(this,"emoticonsPromises",new W),this.tracker=t,this.tracker.client.on("Emoticons",function(e){return r.handleEmoticons(e)}),this.tracker.client.on("NewEmoticon",function(e){return r.handleNewEmoticon(e)}),this.tracker.client.on("EmoticonDeleted",function(e){return r.handleEmoticonDeleted(e)}),this.tracker.client.on("SpaceDeleted",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("Session",function(){return r.handleSession()})},t=[{key:"get",value:function(){var e=Yt(zt().m(function e(t){var r,n=this;return zt().w(function(e){for(;;)switch(e.n){case 0:return r=null!=t?t:tr,this.emoticonsPromises.notExist(r)&&this.emoticonsPromises.registerByFunction(Yt(zt().m(function e(){var r;return zt().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,n.tracker.client.send("GetEmoticons",{spaceId:t});case 1:if(!(r=e.v).error){e.n=2;break}throw r.error;case 2:n.handleEmoticons(r.data);case 3:return e.a(2)}},e)})),r),e.n=1,this.emoticonsPromises.get(r);case 1:return e.a(2,this.list.get(r))}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{key:"handleEmoticons",value:function(e){var t,r=null!==(t=e.location.spaceId)&&void 0!==t?t:tr;this.list.has(r)||this.list.set([r,new x("id")]);var n=this.list.get(r);n.set.apply(n,Qt(e.emoticons))}},{key:"handleNewEmoticon",value:function(e){var t,r=this.list.get(null!==(t=e.emoticon.spaceId)&&void 0!==t?t:tr);null==r||r.set(e.emoticon)}},{key:"handleEmoticonDeleted",value:function(e){var t,r=this.list.get(null!==(t=e.spaceId)&&void 0!==t?t:tr);null==r||r.delete(e.emoticonId)}},{key:"handleSpaceDeleted",value:function(e){this.list.delete(e.id)}},{key:"handleSession",value:function(){this.list.deleteAll(),this.emoticonsPromises.forgetAll()}}],t&&Xt(e.prototype,t),r&&Xt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r}();function nr(e){return nr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nr(e)}function or(e){return function(e){if(Array.isArray(e))return ir(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return ir(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ir(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ir(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ar(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return ur(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(ur(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,ur(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,ur(f,"constructor",s),ur(s,"constructor",c),c.displayName="GeneratorFunction",ur(s,o,"GeneratorFunction"),ur(f),ur(f,o,"Generator"),ur(f,n,function(){return this}),ur(f,"toString",function(){return"[object Generator]"}),(ar=function(){return{w:i,m:h}})()}function ur(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}ur=function(e,t,r,n){function i(t,r){ur(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},ur(e,t,r,n)}function cr(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function sr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,fr(n.key),n)}}function lr(e,t,r){return(t=fr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fr(e){var t=function(e,t){if("object"!=nr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=nr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==nr(t)?t:t+""}var hr=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),lr(this,"onlineStatus",new a),lr(this,"users",new x("id")),this.tracker=t,t.client.on("UserUpdated",function(e){return r.handleUsers([e.user])}),t.client.on("RoomMemberJoined",function(e){return r.handleMembers([e.member])}),t.client.on("SpaceMemberJoined",function(e){return r.handleMembers([e.member])}),t.client.on("SpaceMembers",function(e){return r.handleMembers(e.members)}),t.client.on("RoomMembers",function(e){return r.handleMembers(e.members)}),t.client.on("Messages",function(e){return r.handleUsers(e.messages.map(function(e){return e.author.user}))}),t.client.on("NewMessage",function(e){return r.handleUsers([e.message.author.user])}),t.client.on("Session",function(e){return r.handleSession(e)})},t=[{key:"getAvailable",value:(n=ar().m(function e(){return ar().w(function(e){for(;;)if(0===e.n)return e.a(2,this.users)},e,this)}),o=function(){var e=this,t=arguments;return new Promise(function(r,o){var i=n.apply(e,t);function a(e){cr(i,r,o,a,u,"next",e)}function u(e){cr(i,r,o,a,u,"throw",e)}a(void 0)})},function(){return o.apply(this,arguments)})},{key:"handleMembers",value:function(e){this.handleUsers(e.map(rt))}},{key:"handleSession",value:function(e){this.users.deleteAll(),this.handleUsers([e.user])}},{key:"handleUsers",value:function(e){var t,r=this;e.forEach(function(e){var t=r.users.get(e.id);t&&t.online!==e.online&&r.onlineStatus.emit("change",e)}),(t=this.users).set.apply(t,or(e))}}],t&&sr(e.prototype,t),r&&sr(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o}();function pr(e){return pr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pr(e)}function dr(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return yr(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(yr(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,yr(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,yr(f,"constructor",s),yr(s,"constructor",c),c.displayName="GeneratorFunction",yr(s,o,"GeneratorFunction"),yr(f),yr(f,o,"Generator"),yr(f,n,function(){return this}),yr(f,"toString",function(){return"[object Generator]"}),(dr=function(){return{w:i,m:h}})()}function yr(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}yr=function(e,t,r,n){function i(t,r){yr(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},yr(e,t,r,n)}function vr(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function mr(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){vr(i,n,o,a,u,"next",e)}function u(e){vr(i,n,o,a,u,"throw",e)}a(void 0)})}}function br(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,wr(n.key),n)}}function gr(e,t,r){return(t=wr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function wr(e){var t=function(e,t){if("object"!=pr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=pr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==pr(t)?t:t+""}var kr=function(e,t){return"".concat(e,"-").concat(t)},Sr=function(e){return kr(e.refUser.id,e.type)},Or=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),gr(this,"relationships",new x(Sr)),gr(this,"promises",new W),this.tracker=t,this.tracker.client.on("Relationships",function(e){return r.handleRelationships(e)}),this.tracker.client.on("NewRelationship",function(e){return r.handleNewRelationship(e)}),this.tracker.client.on("RelationshipDeleted",function(e){return r.handleRelationshipDeleted(e)}),this.tracker.client.on("Session",function(){return r.handleSession()})},t=[{key:"get",value:function(){var e=mr(dr().m(function e(){var t=this;return dr().w(function(e){for(;;)switch(e.n){case 0:return this.promises.notExist("all")&&this.promises.registerByFunction(mr(dr().m(function e(){var r;return dr().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,t.tracker.client.send("GetRelationships",{});case 1:if(!(r=e.v).error){e.n=2;break}throw r.error;case 2:return e.a(2)}},e)})),"all"),e.n=1,this.promises.get("all");case 1:return e.a(2,this.relationships)}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"exists",value:(n=mr(dr().m(function e(t,r){return dr().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.get();case 1:return e.a(2,this.relationships.has(kr(t,r)))}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"handleRelationships",value:function(e){var t=this;this.relationships.deleteAll(),e.relationships.forEach(function(e){t.relationships.set(e)})}},{key:"handleNewRelationship",value:function(e){this.promises.has("all")&&this.relationships.set(e.relationship)}},{key:"handleRelationshipDeleted",value:function(e){this.promises.has("all")&&this.relationships.delete(Sr(e.relationship))}},{key:"handleSession",value:function(){this.promises.forgetAll(),this.relationships.deleteAll()}}],t&&br(e.prototype,t),r&&br(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n}();function jr(e){return jr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},jr(e)}function Tr(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Pr(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Pr(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Pr(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Pr(f,"constructor",s),Pr(s,"constructor",c),c.displayName="GeneratorFunction",Pr(s,o,"GeneratorFunction"),Pr(f),Pr(f,o,"Generator"),Pr(f,n,function(){return this}),Pr(f,"toString",function(){return"[object Generator]"}),(Tr=function(){return{w:i,m:h}})()}function Pr(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Pr=function(e,t,r,n){function i(t,r){Pr(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Pr(e,t,r,n)}function Ir(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Er(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ar(n.key),n)}}function Rr(e,t,r){return(t=Ar(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ar(e){var t=function(e,t){if("object"!=jr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=jr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==jr(t)?t:t+""}var _r=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Rr(this,"client",void 0),Rr(this,"permissions",void 0),Rr(this,"rooms",void 0),Rr(this,"spaces",void 0),Rr(this,"emoticons",void 0),Rr(this,"users",void 0),Rr(this,"relationships",void 0),Rr(this,"_me",null),Rr(this,"deferredSession",new J),this.client=t,this.client.on("Session",function(e){return r.handleSession(e)}),this.permissions=new Ht(this),this.rooms=new tt(this),this.spaces=new yt(this),this.emoticons=new rr(this),this.users=new hr(this),this.relationships=new Or(this)},t=[{key:"me",get:function(){return this._me}},{key:"getMe",value:(n=Tr().m(function e(){return Tr().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this._me)}},e,this)}),o=function(){var e=this,t=arguments;return new Promise(function(r,o){var i=n.apply(e,t);function a(e){Ir(i,r,o,a,u,"next",e)}function u(e){Ir(i,r,o,a,u,"throw",e)}a(void 0)})},function(){return o.apply(this,arguments)})},{key:"handleSession",value:function(e){this._me=e.user,this.deferredSession.resolve()}}],t&&Er(e.prototype,t),r&&Er(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o}();function Mr(e){return Mr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Mr(e)}function Fr(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Lr(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Lr(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Lr(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Lr(f,"constructor",s),Lr(s,"constructor",c),c.displayName="GeneratorFunction",Lr(s,o,"GeneratorFunction"),Lr(f),Lr(f,o,"Generator"),Lr(f,n,function(){return this}),Lr(f,"toString",function(){return"[object Generator]"}),(Fr=function(){return{w:i,m:h}})()}function Lr(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Lr=function(e,t,r,n){function i(t,r){Lr(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Lr(e,t,r,n)}function xr(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Gr(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){xr(i,n,o,a,u,"next",e)}function u(e){xr(i,n,o,a,u,"throw",e)}a(void 0)})}}function Dr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Wr(n.key),n)}}function Nr(e,t,r){return t=Ur(t),function(e,t){if(t&&("object"==Mr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Cr()?Reflect.construct(t,r||[],Ur(e).constructor):t.apply(e,r))}function Cr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Cr=function(){return!!e})()}function Ur(e){return Ur=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ur(e)}function Br(e,t){return Br=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Br(e,t)}function Jr(e,t,r){return(t=Wr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Wr(e){var t=function(e,t){if("object"!=Mr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Mr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Mr(t)?t:t+""}var Hr=function(e){return e.connect="connect",e.disconnect="disconnect",e.message="message",e.error="error",e}(Hr||{}),$r=function(e){function t(e){var r,n,o,i,a,u,c,s,l;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Jr(l=Nr(this,t),"Event",Hr),Jr(l,"state",void 0),Jr(l,"ws",null),Jr(l,"sendQueue",[]),Jr(l,"connectingTimeoutId",void 0),Jr(l,"authenticated",void 0),Jr(l,"authenticatedResolvers",void 0),Jr(l,"pingMonitorInterval",void 0),Jr(l,"inFlightPingTimeout",void 0),Jr(l,"lastReceivedMessageAt",void 0),l.options=e,(null===(r=l.options.stateTracking)||void 0===r||r)&&(l.state=new _r(l)),null!==(n=e.ping)&&void 0!==n||(e.ping={}),null!==(i=(o=e.ping).enabled)&&void 0!==i||(o.enabled=!0),null!==(u=(a=e.ping).noActivityTimeoutMs)&&void 0!==u||(a.noActivityTimeoutMs=15e3),null!==(s=(c=e.ping).pongBackTimeoutMs)&&void 0!==s||(c.pongBackTimeoutMs=5e3),l}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Br(e,t)}(t,e),r=t,n=[{key:"connect",value:(a=Gr(Fr().m(function e(){var t,r,n,o=this;return Fr().w(function(e){for(;;)switch(e.n){case 0:if(!this.isOpenWsState()&&!this.isConnectingWsState()){e.n=1;break}return e.a(2);case 1:return(n=new URLSearchParams(null!==(t=this.options.queryParams)&&void 0!==t?t:{})).set("token",this.options.token),this.ws=new WebSocket("".concat(this.options.url,"?").concat(n)),this.ws.onclose=function(e){return o.onClose(e)},this.ws.onmessage=function(e){return o.onMessage(e)},this.connectingTimeoutId=setTimeout(function(){return o.triggerConnectionTimeout()},null!==(r=this.options.connectingTimeoutMs)&&void 0!==r?r:1e4),this.authenticated=!1,e.a(2,new Promise(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return o.authenticatedResolvers=t}))}},e,this)})),function(){return a.apply(this,arguments)})},{key:"disconnect",value:function(){var e;this.sendQueue=[],null===(e=this.ws)||void 0===e||e.close(1e3),this.ws=null}},{key:"send",value:(i=Gr(Fr().m(function e(t,r){var n,o;return Fr().w(function(e){for(;;)switch(e.n){case 0:if(n=this.createEnvelope(t,r),o=this.createPromiseFromCommandEnvelope(n),!(this.isConnectingWsState()||!this.authenticated&&this.isOpenWsState())){e.n=1;break}return this.sendQueue.push(n),e.a(2,o);case 1:return this.sendEnvelope(n),e.a(2,o)}},e,this)})),function(e,t){return i.apply(this,arguments)})},{key:"isReady",get:function(){return this.isOpenWsState()&&this.authenticated}},{key:"sendEnvelope",value:function(e){var t,r;this.isReady?this.ws.send(JSON.stringify(e)):this.handleEnvelopeSendError(e,new Error("Cannot send - client is not ready (state=".concat(null!==(t=null===(r=this.ws)||void 0===r?void 0:r.readyState)&&void 0!==t?t:"[no connection]","; authenticated=").concat(this.authenticated,")")))}},{key:"onMessage",value:function(e){this.lastReceivedMessageAt=Date.now();var t=JSON.parse(e.data);if(this.handleIncomingEnvelope(t),this.emit(t.type,t.data),this.emit(this.Event.message,t),!this.authenticated){var r="Bye"!==t.type;this.authenticated=r,r?(this.startConnectionMonitor(),this.authenticatedResolvers[0](),this.emit(this.Event.connect),this.sendFromQueue()):this.authenticatedResolvers[1](t.data)}}},{key:"onClose",value:function(e){this.stopConnectionMonitor(),clearTimeout(this.connectingTimeoutId);var t=1e3!==e.code;t&&this.connect(),this.emit(this.Event.disconnect,t)}},{key:"sendFromQueue",value:function(){var e=this,t=0,r=function(){var r,o=e.sendQueue[n];setTimeout(function(){return e.sendEnvelope(o)},t),t+=null!==(r=e.options.awaitQueueSendDelayMs)&&void 0!==r?r:500};for(var n in this.sendQueue)r();this.sendQueue=[],clearTimeout(this.connectingTimeoutId)}},{key:"triggerConnectionTimeout",value:function(){this.disconnect(),this.emit(this.Event.error,new Error("Connection timeout"))}},{key:"isConnectingWsState",value:function(){return this.ws&&this.ws.readyState===this.ws.CONNECTING}},{key:"isOpenWsState",value:function(){return this.ws&&this.ws.readyState===this.ws.OPEN}},{key:"startConnectionMonitor",value:function(){var e=this;this.options.ping.enabled&&(this.lastReceivedMessageAt=Date.now(),this.pingMonitorInterval=setInterval(Gr(Fr().m(function t(){return Fr().w(function(t){for(;;)switch(t.n){case 0:if(e.isReady&&!e.inFlightPingTimeout){t.n=1;break}return t.a(2);case 1:if(!(Date.now()-e.lastReceivedMessageAt<e.options.ping.noActivityTimeoutMs)){t.n=2;break}return t.a(2);case 2:e.inFlightPingTimeout=setTimeout(function(){e.inFlightPingTimeout=void 0,e.ws.close(3e3)},e.options.ping.pongBackTimeoutMs),e.send("Ping",{}).then(function(){clearTimeout(e.inFlightPingTimeout),e.inFlightPingTimeout=void 0});case 3:return t.a(2)}},t)})),1e3))}},{key:"stopConnectionMonitor",value:function(){this.inFlightPingTimeout&&(clearTimeout(this.inFlightPingTimeout),this.inFlightPingTimeout=void 0),this.pingMonitorInterval&&(clearInterval(this.pingMonitorInterval),this.pingMonitorInterval=void 0)}}],n&&Dr(r.prototype,n),o&&Dr(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a}(y);function Qr(e){return Qr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Qr(e)}function Vr(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return zr(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(zr(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,zr(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,zr(f,"constructor",s),zr(s,"constructor",c),c.displayName="GeneratorFunction",zr(s,o,"GeneratorFunction"),zr(f),zr(f,o,"Generator"),zr(f,n,function(){return this}),zr(f,"toString",function(){return"[object Generator]"}),(Vr=function(){return{w:i,m:h}})()}function zr(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}zr=function(e,t,r,n){function i(t,r){zr(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},zr(e,t,r,n)}function qr(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Kr(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){qr(i,n,o,a,u,"next",e)}function u(e){qr(i,n,o,a,u,"throw",e)}a(void 0)})}}function Yr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,nn(n.key),n)}}function Xr(e,t,r){return t=en(t),function(e,t){if(t&&("object"==Qr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Zr()?Reflect.construct(t,r||[],en(e).constructor):t.apply(e,r))}function Zr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Zr=function(){return!!e})()}function en(e){return en=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},en(e)}function tn(e,t){return tn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},tn(e,t)}function rn(e,t,r){return(t=nn(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nn(e){var t=function(e,t){if("object"!=Qr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Qr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Qr(t)?t:t+""}var on=function(e){return e.message="message",e.error="error",e.destroy="destroy",e}(on||{}),an=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),rn(r=Xr(this,t),"Event",on),rn(r,"sendStack",void 0),r.options=e,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&tn(e,t)}(t,e),r=t,n=[{key:"send",value:(a=Kr(Vr().m(function e(t,r){var n;return Vr().w(function(e){for(;;)if(0===e.n)return n=this.createEnvelope(t,r),this.sendStack.push({data:n,attempts:0,lastTimeoutId:null}),this.makeApiCall(this.sendStack.length-1),e.a(2,this.createPromiseFromCommandEnvelope(n))},e,this)})),function(e,t){return a.apply(this,arguments)})},{key:"destroy",value:function(){var e=this;this.sendStack.forEach(function(t){t.lastTimeoutId&&clearTimeout(t.lastTimeoutId),e.awaitingResponse.delete(t.data.ref)}),this.sendStack=[],this.emit(this.Event.destroy,!1)}},{key:"onMessage",value:(i=Kr(Vr().m(function e(t,r){var n;return Vr().w(function(e){for(;;)switch(e.n){case 0:return this.sendStack.splice(t,1),e.n=1,r.json();case 1:n=e.v,this.handleIncomingEnvelope(n),this.emit(n.type,n.data),this.emit(this.Event.message,n);case 2:return e.a(2)}},e,this)})),function(e,t){return i.apply(this,arguments)})},{key:"onError",value:function(e,t){var r,n,o=this;if(this.sendStack[e].attempts>=(null!==(r=this.options.attemptsToSend)&&void 0!==r?r:10))return this.sendStack.splice(e,1),void this.handleEnvelopeSendError(this.sendStack[e].data,new Error("Cannot send ".concat(t,"; aborting after reaching the maximum connection errors")));this.sendStack[e].lastTimeoutId=setTimeout(function(){return o.makeApiCall(e)},null!==(n=this.options.attemptDelayMs)&&void 0!==n?n:3e3)}},{key:"makeApiCall",value:function(e){var t,r=this;this.sendStack[e].attempts++;var n=JSON.stringify(this.sendStack[e].data),o={"Content-Type":"application/json",Accept:"application/json"};o.Authorization="Bearer ".concat(this.options.token);var i=new URLSearchParams(null!==(t=this.options.queryParams)&&void 0!==t?t:{}),a="".concat(this.options.url).concat(i?"?"+i:"");fetch(a,{headers:o,body:n,method:"POST"}).then(function(t){return r.onMessage(e,t)}).catch(function(){return r.onError(e,n)})}}],n&&Yr(r.prototype,n),o&&Yr(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a}(y);function un(e){return un="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},un(e)}function cn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return sn(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(sn(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,sn(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,sn(f,"constructor",s),sn(s,"constructor",c),c.displayName="GeneratorFunction",sn(s,o,"GeneratorFunction"),sn(f),sn(f,o,"Generator"),sn(f,n,function(){return this}),sn(f,"toString",function(){return"[object Generator]"}),(cn=function(){return{w:i,m:h}})()}function sn(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}sn=function(e,t,r,n){function i(t,r){sn(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},sn(e,t,r,n)}function ln(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function fn(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ln(Object(r),!0).forEach(function(t){hn(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ln(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function hn(e,t,r){return(t=vn(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function pn(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function dn(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){pn(i,n,o,a,u,"next",e)}function u(e){pn(i,n,o,a,u,"throw",e)}a(void 0)})}}function yn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,vn(n.key),n)}}function vn(e){var t=function(e,t){if("object"!=un(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=un(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==un(t)?t:t+""}var mn=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.options=t},t=[{key:"send",value:(o=dn(cn().m(function e(t,r){var n,o,i,a,u,c,s=arguments;return cn().w(function(e){for(;;)switch(e.n){case 0:return n=s.length>2&&void 0!==s[2]?s[2]:void 0,o=s.length>3&&void 0!==s[3]?s[3]:{},i=this.getUrl(r),a=void 0,n&&(["GET","DELETE"].includes(t)?i+="?"+new URLSearchParams(n).toString():a=JSON.stringify(n)),u=fn(fn({"Content-Type":"application/json",Accept:"application/json"},o),this.getAuthHeaders()),e.n=1,fetch(i,{method:t,body:a,headers:u});case 1:return c=e.v,e.a(2,this.convertFetchResponse(c))}},e,this)})),function(e,t){return o.apply(this,arguments)})},{key:"getAuthHeaders",value:function(){var e={};return this.options.token&&(e.Authorization="Bearer ".concat(this.options.token)),e}},{key:"getUrl",value:function(e){var t;return this.removeEndingSlash(null!==(t=this.options.url)&&void 0!==t?t:this.defaultUrl)+"/"+this.removeStartingSlash(e)}},{key:"convertFetchResponse",value:(n=dn(cn().m(function e(t){var r,n,o,i,a;return cn().w(function(e){for(;;)switch(e.n){case 0:if(n=t.ok,o=t.status,null===(r=t.headers.get("content-type"))||void 0===r||!r.includes("json")){e.n=2;break}return e.n=1,t.json();case 1:i=e.v,e.n=4;break;case 2:return e.n=3,t.text();case 3:i=e.v;case 4:return a=i,e.a(2,{ok:n,status:o,data:a})}},e)})),function(e){return n.apply(this,arguments)})},{key:"removeStartingSlash",value:function(e){return e.replace(/^\/+/,"")}},{key:"removeEndingSlash",value:function(e){return e.replace(/\/+$/,"")}}],t&&yn(e.prototype,t),r&&yn(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o}();function bn(e){return bn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bn(e)}function gn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return wn(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,u=0,c=e,h.n=r,a}};function p(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],p=h.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(u=0,h.v=n,h.n=i[1]):p<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,h.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(h.n=-1),p(u,c)):h.n=c:h.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=h.n<0)?c:r.call(n,h))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(wn(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,wn(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,wn(f,"constructor",s),wn(s,"constructor",c),c.displayName="GeneratorFunction",wn(s,o,"GeneratorFunction"),wn(f),wn(f,o,"Generator"),wn(f,n,function(){return this}),wn(f,"toString",function(){return"[object Generator]"}),(gn=function(){return{w:i,m:h}})()}function wn(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}wn=function(e,t,r,n){function i(t,r){wn(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},wn(e,t,r,n)}function kn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Sn(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?kn(Object(r),!0).forEach(function(t){An(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):kn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function On(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function jn(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){On(i,n,o,a,u,"next",e)}function u(e){On(i,n,o,a,u,"throw",e)}a(void 0)})}}function Tn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_n(n.key),n)}}function Pn(e,t,r){return t=En(t),function(e,t){if(t&&("object"==bn(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,In()?Reflect.construct(t,r||[],En(e).constructor):t.apply(e,r))}function In(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(In=function(){return!!e})()}function En(e){return En=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},En(e)}function Rn(e,t){return Rn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Rn(e,t)}function An(e,t,r){return(t=_n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _n(e){var t=function(e,t){if("object"!=bn(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=bn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==bn(t)?t:t+""}var Mn=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return An(e=Pn(this,t,[].concat(n)),"defaultUrl","https://files.devana.pl"),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Rn(e,t)}(t,e),r=t,n=[{key:"uploadFile",value:(u=jn(gn().m(function e(t){var r,n,o,i;return gn().w(function(e){for(;;)switch(e.n){case 0:return n=encodeURIComponent(null!==(r=t.name)&&void 0!==r?r:""),o=Sn(Sn({},this.getAuthHeaders()),{},{Accept:"application/json","Content-Disposition":'attachment; filename="'.concat(n,'"'),"Content-Length":t.size}),e.n=1,fetch(this.getUrl("files"),{method:"POST",body:t,headers:o});case 1:return i=e.v,e.a(2,this.convertFetchResponse(i))}},e,this)})),function(e){return u.apply(this,arguments)})},{key:"getFileMeta",value:(a=jn(gn().m(function e(t){return gn().w(function(e){for(;;)if(0===e.n)return e.a(2,this.send("GET","files/"+t))},e,this)})),function(e){return a.apply(this,arguments)})},{key:"getFileMetaBulk",value:(i=jn(gn().m(function e(t){var r;return gn().w(function(e){for(;;)if(0===e.n)return r=new URLSearchParams,t.forEach(function(e){return r.append("id[]",e)}),e.a(2,this.send("GET","files?"+r))},e,this)})),function(e){return i.apply(this,arguments)})}],n&&Tn(r.prototype,n),o&&Tn(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a,u}(mn);return t})());
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|