@liascript/exporter
Version:
A generic exporter for LiaScript
1 lines • 20.5 kB
JavaScript
!function(){function e(e,t,n,s){Object.defineProperty(e,t,{get:n,set:s,enumerable:!0,configurable:!0})}var t=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).parcelRequire55a5;t.register("733OA",(function(n,s){e(n.exports,"GenericProvider",(function(){return t("5ZgK3").GenericProvider}));t("5ZgK3"),t("8fqfz")})),t.register("5ZgK3",(function(n,s){e(n.exports,"GenericProvider",(function(){return C}));var a=t("f1evb"),r=t("hnmIs"),i=t("9Klpk"),o=t("3bWnf"),c=t("9WzNc"),d=t("div3d"),u=t("kb0qF"),l=t("bWNdT"),h=t("32Euv"),p=t("bymyA"),f=t("baNMt"),_=t("6f3qJ"),v=t("iwMp2"),y=t("i9WxE"),w=t("l6jCY"),g=t("3EWWz"),b=function(){for(var e=new Uint32Array(256),t=0;t<256;t++){for(var n=t,s=0;s<8;s++)n=1&n?n>>>1^3988292384:n>>>1;e[t]=n}return e}();function m(e){for(var t=4294967295,n=0;n<e.length;n++)t=t>>>8^b[255&(t^e[n])];return(4294967295^t)>>>0}function U(e){var t=m(e),n=new Uint8Array(4+e.length);return n[0]=t>>>24&255,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n.set(e,4),n}function S(e){for(var t=p.encodeStateAsUpdate(e),n=0,s=0;s<t.length;s++)n=(n<<5)-n+t[s]|0;return n}var A=function(e){"use strict";(0,u.default)(n,e);var t=(0,l.default)(n);function n(e){var s;return(0,i.default)(this,n),(s=t.call(this)).provider=e,s}return(0,o.default)(n,[{key:"publish",value:function(e,t){this.provider._sendPubSub(e,t)}},{key:"subscribe",value:function(e,t){var n=this,s=function(n,s){"*"!==e&&e!==s||t(n,s)};return this.on("message",s),function(){return n.off("message",s)}}},{key:"_handleMessage",value:function(e,t){this.emit("message",[t,e])}}]),n}(w.Observable),C=function(e){"use strict";(0,u.default)(n,e);var t=(0,l.default)(n);function n(e,s){var r,o,c,d,u,l,h=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,i.default)(this,n),(r=t.call(this))._status={state:"disconnected"},r._synced=!1,r._destroying=!1,r._bcChannel="",r._bcConnected=!1,r._hashMismatchCount=0,r._lastHashMismatchTime=0,r._syncRequestTimes=[],r._maxSyncRequestsPerWindow=20,r._syncRequestWindowMs=1e4,r._localSeqNum=0,r._remoteSeqNums=new Map,r._corruptedMessageCount=0,r._lastCorruptedMessageTime=0,r._batchUpdates=0,r._pendingUpdate=null,r._awarenessInterval=100,r._pendingAwarenessClients=new Set,r._lastAwarenessTime=0,r.doc=e,r.transport=s,r.pubsub=new A((0,a.default)(r)),r.awareness=h.awareness||new f.Awareness(e),r._syncInterval=null!==(o=h.syncInterval)&&void 0!==o?o:5e3,r._verifyUpdates=null===(c=h.verifyUpdates)||void 0===c||c,r._batchUpdates=null!==(d=h.batchUpdates)&&void 0!==d?d:0,r._disableBc=null!==(u=h.disableBc)&&void 0!==u&&u,r._awarenessInterval=null!==(l=h.awarenessInterval)&&void 0!==l?l:100,r._setupDocumentSync(),r._setupAwarenessSync(),r}return(0,o.default)(n,[{key:"connect",value:function(e){var t=this;return(0,r.default)((function(){var n,s,a;return(0,h.__generator)(this,(function(r){switch(r.label){case 0:if(t._destroying)throw new Error("Provider is being destroyed");if("connected"===t._status.state)return console.warn("[GenericProvider] Already connected, ignoring connect() call"),[2];if("connecting"===t._status.state)return console.warn("[GenericProvider] Connection already in progress, ignoring connect() call"),[2];t._setStatus({state:"connecting"}),r.label=1;case 1:return r.trys.push([1,3,,4]),t._setupBroadcastChannel(e),[4,t.transport.connect(e)];case 2:return r.sent(),t._unsubscribeTransport=t.transport.onMessage((function(e){t._handleIncomingMessage(e)})),t.transport.onPeerConnect&&(n=t.transport.onPeerConnect((function(e){t._destroying||t.syncNow()})),s=t._unsubscribeTransport,t._unsubscribeTransport=function(){null==s||s(),n()}),t._setStatus({state:"connected"}),t.syncNow(),t._broadcastAwareness([t.doc.clientID]),t._syncInterval>0&&(t._syncIntervalId=setInterval((function(){if(t.transport.isConnected&&!t._destroying){var e=Date.now();t._syncRequestTimes=t._syncRequestTimes.filter((function(n){return e-n<t._syncRequestWindowMs})),t._syncRequestTimes.length<t._maxSyncRequestsPerWindow&&t._sendSyncStep1()}}),t._syncInterval)),[3,4];case 3:throw a=r.sent(),t._setStatus({state:"error",error:a instanceof Error?a:new Error(String(a))}),a;case 4:return[2]}}))}))()}},{key:"disconnect",value:function(){if(void 0!==this._syncIntervalId&&(clearInterval(this._syncIntervalId),this._syncIntervalId=void 0),this._corruptedMessageCount=0,this._lastCorruptedMessageTime=0,void 0!==this._batchTimeoutId&&(clearTimeout(this._batchTimeoutId),this._batchTimeoutId=void 0,this._pendingUpdate&&this.transport.isConnected&&this._sendUpdate(this._pendingUpdate),this._pendingUpdate=null),void 0!==this._awarenessTimeoutId&&(clearTimeout(this._awarenessTimeoutId),this._awarenessTimeoutId=void 0,this._pendingAwarenessClients.size>0&&this.transport.isConnected)){var e=Array.from(this._pendingAwarenessClients);this._sendAwarenessNow(e)}this._pendingAwarenessClients.clear(),this._disconnectBroadcastChannel(),this._unsubscribeTransport&&(this._unsubscribeTransport(),this._unsubscribeTransport=void 0),f.removeAwarenessStates(this.awareness,[this.doc.clientID],"disconnect"),this.transport.disconnect(),this._synced=!1,this._setStatus({state:"disconnected"})}},{key:"destroy",value:function(){this._destroying=!0,void 0!==this._syncIntervalId&&(clearInterval(this._syncIntervalId),this._syncIntervalId=void 0),void 0!==this._batchTimeoutId&&(clearTimeout(this._batchTimeoutId),this._batchTimeoutId=void 0,this._pendingUpdate&&this.transport.isConnected&&this._sendUpdate(this._pendingUpdate),this._pendingUpdate=null),this.disconnect(),this._updateHandler&&(this.doc.off("update",this._updateHandler),this._updateHandler=void 0),this._awarenessUpdateHandler&&(this.awareness.off("update",this._awarenessUpdateHandler),this._awarenessUpdateHandler=void 0),this._beforeUnloadHandler&&"undefined"!=typeof window&&(window.removeEventListener("beforeunload",this._beforeUnloadHandler),this._beforeUnloadHandler=void 0),this.awareness.destroy(),(0,c.default)((0,d.default)(n.prototype),"destroy",this).call(this)}},{key:"status",get:function(){return this._status}},{key:"connected",get:function(){return this.transport.isConnected}},{key:"bcConnected",get:function(){return this._bcConnected}},{key:"synced",get:function(){return this._synced}},{key:"syncNow",value:function(){if(this.transport.isConnected){var e=p.encodeStateAsUpdate(this.doc);e.length>0&&this._sendUpdate(e),this._sendSyncStep1(),this._broadcastAwareness([this.doc.clientID])}else console.warn("Cannot sync: transport not connected")}},{key:"_setupDocumentSync",value:function(){var e=this;this._updateHandler=function(t,n){n!==e&&(e._batchUpdates>0?e._batchUpdate(t):e._sendUpdate(t))},this.doc.on("update",this._updateHandler)}},{key:"_batchUpdate",value:function(e){var t=this;if(this._pendingUpdate)try{this._pendingUpdate=p.mergeUpdates([this._pendingUpdate,e])}catch(t){console.error("[GenericProvider] Failed to merge updates:",t),this._sendUpdate(this._pendingUpdate),this._pendingUpdate=e}else this._pendingUpdate=e;void 0!==this._batchTimeoutId&&clearTimeout(this._batchTimeoutId),this._batchTimeoutId=setTimeout((function(){t._pendingUpdate&&(t._sendUpdate(t._pendingUpdate),t._pendingUpdate=null),t._batchTimeoutId=void 0}),this._batchUpdates)}},{key:"_setupAwarenessSync",value:function(){var e=this;this._awarenessUpdateHandler=function(t,n){var s=t.added,a=t.updated,r=t.removed,i=s.concat(a).concat(r);e._broadcastAwareness(i)},this.awareness.on("update",this._awarenessUpdateHandler),"undefined"!=typeof window&&(this._beforeUnloadHandler=function(){f.removeAwarenessStates(e.awareness,[e.doc.clientID],"window unload"),e._disconnectBroadcastChannel()},window.addEventListener("beforeunload",this._beforeUnloadHandler))}},{key:"_handleIncomingMessage",value:function(e){var t=this,n=function(e){if(e.length<4)return null;var t=(e[0]<<24|e[1]<<16|e[2]<<8|e[3])>>>0,n=e.subarray(4);return m(n)!==t?null:n}(e);if(null!==n)try{var s=y.createDecoder(n),a=y.readVarUint(s);switch(a){case 0:var r=v.createEncoder();v.writeVarUint(r,0),_.readSyncMessage(s,r,this.doc,this)!==_.messageYjsSyncStep2||this._synced||(this._synced=!0,this.emit("synced",[!0])),v.length(r)>1&&this._send(v.toUint8Array(r));break;case 1:f.applyAwarenessUpdate(this.awareness,y.readVarUint8Array(s),this);break;case 2:var i=y.readVarString(s),o=y.readVarUint8Array(s);try{var c=(new TextDecoder).decode(o),d=JSON.parse(c);this.pubsub._handleMessage(i,d)}catch(e){console.error("Error decoding pub/sub message:",e)}break;case 3:var u,l=y.readVarUint(s),h=y.readVarUint(s),p=null!==(u=this._remoteSeqNums.get(h))&&void 0!==u?u:-1;if(l<=p){console.warn("[GenericProvider] Duplicate or out-of-order update detected from client ".concat(h,": seqNum ").concat(l," <= lastSeen ").concat(p));break}if(p>=0&&l>p+1){var w=l-p-1;console.warn("[GenericProvider] Sequence gap detected from client ".concat(h,": expected ").concat(p+1,", got ").concat(l," (gap of ").concat(w," messages)")),this._sendSyncStep1()}this._remoteSeqNums.set(h,l);var g=v.createEncoder();v.writeVarUint(g,0);var b=_.readSyncMessage(s,g,this.doc,this),U=y.readVarInt(s),A=S(this.doc);if(A!==U){this._hashMismatchCount++;var C=Date.now();C-this._lastHashMismatchTime>1e4&&(this._hashMismatchCount=1),this._lastHashMismatchTime=C;var I=Math.min(1e4,10*Math.pow(5,this._hashMismatchCount-1));console.warn("[GenericProvider] Hash mismatch #".concat(this._hashMismatchCount," detected! Local: ").concat(A,", Expected: ").concat(U)),console.warn("[GenericProvider] Re-sync scheduled in ".concat(I,"ms...")),setTimeout((function(){t.transport.isConnected&&!t._destroying&&t.syncNow()}),I)}else this._hashMismatchCount=0;b!==_.messageYjsSyncStep2||this._synced||A!==U||(this._synced=!0,this.emit("synced",[!0])),v.length(g)>1&&this._send(v.toUint8Array(g));break;default:console.warn("Unknown message type:",a)}}catch(e){console.error("[GenericProvider] Error handling message:",e)}else{this._corruptedMessageCount++;var T=Date.now();T-this._lastCorruptedMessageTime>1e4&&(this._corruptedMessageCount=1),this._lastCorruptedMessageTime=T,console.warn("[GenericProvider] 💥 Corrupted message rejected (#".concat(this._corruptedMessageCount,"): CRC32 checksum mismatch. ")+"This is expected if data corruption simulation is enabled.");var k=Math.min(5e3,100*Math.pow(5,Math.min(this._corruptedMessageCount-1,3)));setTimeout((function(){t.transport.isConnected&&!t._destroying&&t._sendSyncStep1()}),k)}}},{key:"_sendSyncStep1",value:function(){var e=this,t=Date.now();if(this._syncRequestTimes=this._syncRequestTimes.filter((function(n){return t-n<e._syncRequestWindowMs})),this._syncRequestTimes.length>=this._maxSyncRequestsPerWindow)console.warn("[GenericProvider] Sync rate limit exceeded (".concat(this._maxSyncRequestsPerWindow," requests per ").concat(this._syncRequestWindowMs/1e3,"s), throttling..."));else{this._syncRequestTimes.push(t);var n=v.createEncoder();v.writeVarUint(n,0),_.writeSyncStep1(n,this.doc),this._send(v.toUint8Array(n))}}},{key:"_sendUpdate",value:function(e){var t=v.createEncoder();if(this._verifyUpdates){v.writeVarUint(t,3),v.writeVarUint(t,this._localSeqNum++),v.writeVarUint(t,this.doc.clientID),_.writeUpdate(t,e);var n=S(this.doc);v.writeVarInt(t,n)}else v.writeVarUint(t,0),_.writeUpdate(t,e);this._send(v.toUint8Array(t))}},{key:"_sendAwarenessUpdate",value:function(e){var t=v.createEncoder();v.writeVarUint(t,1),v.writeVarUint8Array(t,f.encodeAwarenessUpdate(this.awareness,e)),this._send(v.toUint8Array(t))}},{key:"_sendPubSub",value:function(e,t){if(this.transport.isConnected)try{var n=v.createEncoder();v.writeVarUint(n,2),v.writeVarString(n,e);var s=JSON.stringify(t),a=(new TextEncoder).encode(s);v.writeVarUint8Array(n,a),this._send(v.toUint8Array(n))}catch(e){console.error("Error sending pub/sub message:",e)}else console.warn("Cannot send pub/sub message: not connected")}},{key:"_broadcastAwareness",value:function(e){var t=this;if(0!==e.length)if(this._awarenessInterval<=0)this._sendAwarenessNow(e);else{var n=!0,s=!1,a=void 0;try{for(var r,i=e[Symbol.iterator]();!(n=(r=i.next()).done);n=!0){var o=r.value;this._pendingAwarenessClients.add(o)}}catch(e){s=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(s)throw a}}if(void 0===this._awarenessTimeoutId){var c=Date.now()-this._lastAwarenessTime,d=Math.max(0,this._awarenessInterval-c);this._awarenessTimeoutId=setTimeout((function(){t._awarenessTimeoutId=void 0,t._lastAwarenessTime=Date.now();var e=Array.from(t._pendingAwarenessClients);t._pendingAwarenessClients.clear(),e.length>0&&t._sendAwarenessNow(e)}),d)}}}},{key:"_sendAwarenessNow",value:function(e){var t=v.createEncoder();v.writeVarUint(t,1),v.writeVarUint8Array(t,f.encodeAwarenessUpdate(this.awareness,e)),this._send(v.toUint8Array(t))}},{key:"_setupBroadcastChannel",value:function(e){var t=this;if(!this._disableBc&&"undefined"!=typeof BroadcastChannel&&"undefined"!=typeof window){this._bcChannel="yjs-".concat(e.room),this._bcSubscriber=function(e,n){if(n!==t){var s=new Uint8Array(e);t._handleIncomingMessage(s)}},g.subscribe(this._bcChannel,this._bcSubscriber),this._bcConnected=!0;var n=v.createEncoder();v.writeVarUint(n,0),_.writeSyncStep1(n,this.doc),g.publish(this._bcChannel,U(v.toUint8Array(n)),this);var s=v.createEncoder();if(v.writeVarUint(s,0),_.writeSyncStep2(s,this.doc),g.publish(this._bcChannel,U(v.toUint8Array(s)),this),null!==this.awareness.getLocalState()){var a=v.createEncoder();v.writeVarUint(a,1),v.writeVarUint8Array(a,f.encodeAwarenessUpdate(this.awareness,[this.doc.clientID])),g.publish(this._bcChannel,U(v.toUint8Array(a)),this)}}}},{key:"_disconnectBroadcastChannel",value:function(){if(this._bcConnected&&this._bcSubscriber){var e=v.createEncoder();v.writeVarUint(e,1),v.writeVarUint8Array(e,f.encodeAwarenessUpdate(this.awareness,[this.doc.clientID],new Map)),g.publish(this._bcChannel,U(v.toUint8Array(e)),this),g.unsubscribe(this._bcChannel,this._bcSubscriber),this._bcConnected=!1,this._bcSubscriber=void 0}}},{key:"_send",value:function(e){var t=U(e);if(this._bcConnected&&g.publish(this._bcChannel,t,this),this.transport.isConnected)try{var n=this.transport.send(t);n instanceof Promise&&n.catch((function(e){console.error("Error sending data:",e)}))}catch(e){console.error("Error sending data:",e)}}},{key:"_setStatus",value:function(e){this._status=e,this.emit("status",[e])}},{key:"_testSetSequenceNumber",value:function(e){this._localSeqNum=e,console.warn("[GenericProvider TEST] Sequence number set to ".concat(e," (MAX_SAFE_INTEGER: ").concat(Number.MAX_SAFE_INTEGER,")"))}},{key:"_testGetSequenceNumber",value:function(){return this._localSeqNum}}]),n}(w.Observable)})),t.register("baNMt",(function(n,s){e(n.exports,"Awareness",(function(){return m})),e(n.exports,"removeAwarenessStates",(function(){return U})),e(n.exports,"encodeAwarenessUpdate",(function(){return S})),e(n.exports,"applyAwarenessUpdate",(function(){return A}));var a=t("f1evb"),r=t("9Klpk"),i=t("3bWnf"),o=t("eT7f3"),c=t("9WzNc"),d=t("div3d"),u=t("kb0qF"),l=t("bgoEC"),h=t("7j4mF"),p=t("bWNdT"),f=t("iwMp2"),_=t("i9WxE"),v=t("c01oj"),y=t("3db39"),w=t("l6jCY"),g=t("dNOud"),b=3e4,m=function(e){"use strict";(0,u.default)(n,e);var t=(0,p.default)(n);function n(e){var s;return(0,r.default)(this,n),(s=t.call(this)).doc=e,s.clientID=e.clientID,s.states=new Map,s.meta=new Map,s._checkInterval=setInterval((function(){var e=v.getUnixTime();null!==s.getLocalState()&&15e3<=e-s.meta.get(s.clientID).lastUpdated&&s.setLocalState(s.getLocalState());var t=[];s.meta.forEach((function(n,a){a!==s.clientID&&b<=e-n.lastUpdated&&s.states.has(a)&&t.push(a)})),t.length>0&&U((0,a.default)(s),t,"timeout")}),y.floor(3e3)),e.on("destroy",(function(){s.destroy()})),s.setLocalState({}),s}return(0,i.default)(n,[{key:"destroy",value:function(){this.emit("destroy",[this]),this.setLocalState(null),(0,c.default)((0,d.default)(n.prototype),"destroy",this).call(this),clearInterval(this._checkInterval)}},{key:"getLocalState",value:function(){return this.states.get(this.clientID)||null}},{key:"setLocalState",value:function(e){var t=this.clientID,n=this.meta.get(t),s=void 0===n?0:n.clock+1,a=this.states.get(t);null===e?this.states.delete(t):this.states.set(t,e),this.meta.set(t,{clock:s,lastUpdated:v.getUnixTime()});var r=[],i=[],o=[],c=[];null===e?c.push(t):null==a?null!=e&&r.push(t):(i.push(t),g.equalityDeep(a,e)||o.push(t)),(r.length>0||o.length>0||c.length>0)&&this.emit("change",[{added:r,updated:o,removed:c},"local"]),this.emit("update",[{added:r,updated:i,removed:c},"local"])}},{key:"setLocalStateField",value:function(e,t){var n=this.getLocalState();null!==n&&this.setLocalState((0,h.default)((0,l.default)({},n),(0,o.default)({},e,t)))}},{key:"getStates",value:function(){return this.states}}]),n}(w.Observable),U=function(e,t,n){for(var s=[],a=0;a<t.length;a++){var r=t[a];if(e.states.has(r)){if(e.states.delete(r),r===e.clientID){var i=e.meta.get(r);e.meta.set(r,{clock:i.clock+1,lastUpdated:v.getUnixTime()})}s.push(r)}}s.length>0&&(e.emit("change",[{added:[],updated:[],removed:s},n]),e.emit("update",[{added:[],updated:[],removed:s},n]))},S=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.states,s=t.length,a=f.createEncoder();f.writeVarUint(a,s);for(var r=0;r<s;r++){var i=t[r],o=n.get(i)||null,c=e.meta.get(i).clock;f.writeVarUint(a,i),f.writeVarUint(a,c),f.writeVarString(a,JSON.stringify(o))}return f.toUint8Array(a)},A=function(e,t,n){for(var s=_.createDecoder(t),a=v.getUnixTime(),r=[],i=[],o=[],c=[],d=_.readVarUint(s),u=0;u<d;u++){var l=_.readVarUint(s),h=_.readVarUint(s),p=JSON.parse(_.readVarString(s)),f=e.meta.get(l),y=e.states.get(l),w=void 0===f?0:f.clock;(w<h||w===h&&null===p&&e.states.has(l))&&(null===p?l===e.clientID&&null!=e.getLocalState()?h++:e.states.delete(l):e.states.set(l,p),e.meta.set(l,{clock:h,lastUpdated:a}),void 0===f&&null!==p?r.push(l):void 0!==f&&null===p?c.push(l):null!==p&&(g.equalityDeep(p,y)||o.push(l),i.push(l)))}(r.length>0||o.length>0||c.length>0)&&e.emit("change",[{added:r,updated:o,removed:c},n]),(r.length>0||i.length>0||c.length>0)&&e.emit("update",[{added:r,updated:i,removed:c},n])}})),t.register("6f3qJ",(function(n,s){e(n.exports,"messageYjsSyncStep2",(function(){return o})),e(n.exports,"writeSyncStep1",(function(){return c})),e(n.exports,"writeSyncStep2",(function(){return d})),e(n.exports,"writeUpdate",(function(){return l})),e(n.exports,"readSyncMessage",(function(){return p}));var a=t("iwMp2"),r=t("i9WxE"),i=t("bymyA"),o=1,c=function(e,t){a.writeVarUint(e,0);var n=i.encodeStateVector(t);a.writeVarUint8Array(e,n)},d=function(e,t,n){a.writeVarUint(e,o),a.writeVarUint8Array(e,i.encodeStateAsUpdate(t,n))},u=function(e,t,n,s){try{i.applyUpdate(t,r.readVarUint8Array(e),n)}catch(e){null!=s&&s(e),console.error("Caught error while handling a Yjs update",e)}},l=function(e,t){a.writeVarUint(e,2),a.writeVarUint8Array(e,t)},h=u,p=function(e,t,n,s,a){var i=r.readVarUint(e);switch(i){case 0:!function(e,t,n){d(t,n,r.readVarUint8Array(e))}(e,t,n);break;case o:u(e,n,s,a);break;case 2:h(e,n,s,a);break;default:throw new Error("Unknown message type")}return i}})),t.register("3EWWz",(function(n,s){e(n.exports,"subscribe",(function(){return p})),e(n.exports,"unsubscribe",(function(){return f})),e(n.exports,"publish",(function(){return _}));var a=t("9Klpk"),r=t("3bWnf"),i=t("lOVDE"),o=t("iitZb"),c=t("jKUB9"),d=t("a1im1"),u=new Map,l="undefined"==typeof BroadcastChannel?function(){"use strict";function e(t){var n=this;(0,a.default)(this,e),this.room=t,this.onmessage=null,this._onChange=function(e){return e.key===t&&null!==n.onmessage&&n.onmessage({data:c.fromBase64(e.newValue||"")})},d.onChange(this._onChange)}return(0,r.default)(e,[{key:"postMessage",value:function(e){d.varStorage.setItem(this.room,c.toBase64(c.createUint8ArrayFromArrayBuffer(e)))}},{key:"close",value:function(){d.offChange(this._onChange)}}]),e}():BroadcastChannel,h=function(e){return i.setIfUndefined(u,e,(function(){var t=o.create(),n=new l(e);return n.onmessage=function(e){return t.forEach((function(t){return t(e.data,"broadcastchannel")}))},{bc:n,subs:t}}))},p=function(e,t){return h(e).subs.add(t),t},f=function(e,t){var n=h(e),s=n.subs.delete(t);return s&&0===n.subs.size&&(n.bc.close(),u.delete(e)),s},_=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=h(e);s.bc.postMessage(t),s.subs.forEach((function(e){return e(t,n)}))}})),t.register("8fqfz",(function(e,n){t("9Klpk"),t("3bWnf"),t("bymyA")}))}();