| 12 |
- import{o as t,f as e,F as s,D as n,t as i,P as r,d as o,w as a,e as h,g as c,k as u,m as l,i as p,G as d,a8 as f,r as g,j as m,ac as y,I as _,x as b,l as v}from"./index-CyEi9qWZ.js";import{_ as k}from"./_plugin-vue_export-helper.BCo6x5W8.js";const w=k({name:"Tools",components:{EmojiPicker:k({name:"EmojiPicker",data:()=>({emojis:[{id:1,emojis:[{id:1,symbol:"😀",code:"grinning"},{id:2,symbol:"😂",code:"grinning-squinting-tears"}]}]}),methods:{selectEmoji(t){this.$emit("emoji-selected",t)}}},[["render",function(r,o,a,h,c,u){return t(),e("div",{class:"emoji-picker"},[(t(!0),e(s,null,n(c.emojis,(r=>(t(),e("div",{class:"emoji-row",key:r.id},[(t(!0),e(s,null,n(r.emojis,(s=>(t(),e("div",{class:"emoji",onClick:t=>u.selectEmoji(s),key:s.code},i(s.symbol),9,["onClick"])))),128))])))),128))])}],["__scopeId","data-v-bd281625"]])},data:()=>({showEmoji:!1}),methods:{showEmojiPicker(){this.showEmoji=!0},showPlusMenu(){},insertEmoji(t){console.log("Selected emoji:",t),this.showEmoji=!1}}},[["render",function(e,s,n,i,d,f){const g=u,m=l,y=r("EmojiPicker"),_=p;return t(),o(_,{class:"tools"},{default:a((()=>[h(m,{class:"tool-btn",onClick:f.showEmojiPicker},{default:a((()=>[h(g,{src:"./static/emoji.png",alt:"Emoji"})])),_:1},8,["onClick"]),h(m,{class:"tool-btn",onClick:f.showPlusMenu},{default:a((()=>[h(g,{src:"./static/plus.png",alt:"More"})])),_:1},8,["onClick"]),d.showEmoji?(t(),o(y,{key:0,onEmojiSelected:f.insertEmoji},null,8,["onEmojiSelected"])):c("",!0)])),_:1})}],["__scopeId","data-v-53566e0d"]]),A=Object.create(null);A.open="0",A.close="1",A.ping="2",A.pong="3",A.message="4",A.upgrade="5",A.noop="6";const E=Object.create(null);Object.keys(A).forEach((t=>{E[A[t]]=t}));const C={type:"error",data:"parser error"},O="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),T="function"==typeof ArrayBuffer,R=t=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer,B=({type:t,data:e},s,n)=>O&&e instanceof Blob?s?n(e):x(e,n):T&&(e instanceof ArrayBuffer||R(e))?s?n(e):x(new Blob([e]),n):n(A[t]+(e||"")),x=(t,e)=>{const s=new FileReader;return s.onload=function(){const t=s.result.split(",")[1];e("b"+(t||""))},s.readAsDataURL(t)};function S(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}let N;const I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let Wt=0;Wt<I.length;Wt++)j[I.charCodeAt(Wt)]=Wt;const L="function"==typeof ArrayBuffer,M=(t,e)=>{if("string"!=typeof t)return{type:"message",data:P(t,e)};const s=t.charAt(0);if("b"===s)return{type:"message",data:U(t.substring(1),e)};return E[s]?t.length>1?{type:E[s],data:t.substring(1)}:{type:E[s]}:C},U=(t,e)=>{if(L){const s=(t=>{let e,s,n,i,r,o=.75*t.length,a=t.length,h=0;"="===t[t.length-1]&&(o--,"="===t[t.length-2]&&o--);const c=new ArrayBuffer(o),u=new Uint8Array(c);for(e=0;e<a;e+=4)s=j[t.charCodeAt(e)],n=j[t.charCodeAt(e+1)],i=j[t.charCodeAt(e+2)],r=j[t.charCodeAt(e+3)],u[h++]=s<<2|n>>4,u[h++]=(15&n)<<4|i>>2,u[h++]=(3&i)<<6|63&r;return c})(t);return P(s,e)}return{base64:!0,data:t}},P=(t,e)=>"blob"===e?t instanceof Blob?t:new Blob([t]):t instanceof ArrayBuffer?t:t.buffer,q=String.fromCharCode(30);function D(){return new TransformStream({transform(t,e){!function(t,e){O&&t.data instanceof Blob?t.data.arrayBuffer().then(S).then(e):T&&(t.data instanceof ArrayBuffer||R(t.data))?e(S(t.data)):B(t,!1,(t=>{N||(N=new TextEncoder),e(N.encode(t))}))}(t,(s=>{const n=s.length;let i;if(n<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,n);else if(n<65536){i=new Uint8Array(3);const t=new DataView(i.buffer);t.setUint8(0,126),t.setUint16(1,n)}else{i=new Uint8Array(9);const t=new DataView(i.buffer);t.setUint8(0,127),t.setBigUint64(1,BigInt(n))}t.data&&"string"!=typeof t.data&&(i[0]|=128),e.enqueue(i),e.enqueue(s)}))}})}let F;function V(t){return t.reduce(((t,e)=>t+e.length),0)}function H(t,e){if(t[0].length===e)return t.shift();const s=new Uint8Array(e);let n=0;for(let i=0;i<e;i++)s[i]=t[0][n++],n===t[0].length&&(t.shift(),n=0);return t.length&&n<t[0].length&&(t[0]=t[0].slice(n)),s}function Y(t){if(t)return function(t){for(var e in Y.prototype)t[e]=Y.prototype[e];return t}(t)}Y.prototype.on=Y.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},Y.prototype.once=function(t,e){function s(){this.off(t,s),e.apply(this,arguments)}return s.fn=e,this.on(t,s),this},Y.prototype.off=Y.prototype.removeListener=Y.prototype.removeAllListeners=Y.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var s,n=this._callbacks["$"+t];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var i=0;i<n.length;i++)if((s=n[i])===e||s.fn===e){n.splice(i,1);break}return 0===n.length&&delete this._callbacks["$"+t],this},Y.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),s=this._callbacks["$"+t],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(s){n=0;for(var i=(s=s.slice(0)).length;n<i;++n)s[n].apply(this,e)}return this},Y.prototype.emitReserved=Y.prototype.emit,Y.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},Y.prototype.hasListeners=function(t){return!!this.listeners(t).length};const K="function"==typeof Promise&&"function"==typeof Promise.resolve?t=>Promise.resolve().then(t):(t,e)=>e(t,0),z="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function J(t,...e){return e.reduce(((e,s)=>(t.hasOwnProperty(s)&&(e[s]=t[s]),e)),{})}const W=z.setTimeout,Q=z.clearTimeout;function X(t,e){e.useNativeTimers?(t.setTimeoutFn=W.bind(z),t.clearTimeoutFn=Q.bind(z)):(t.setTimeoutFn=z.setTimeout.bind(z),t.clearTimeoutFn=z.clearTimeout.bind(z))}function G(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}class $ extends Error{constructor(t,e,s){super(t),this.description=e,this.context=s,this.type="TransportError"}}class Z extends Y{constructor(t){super(),this.writable=!1,X(this,t),this.opts=t,this.query=t.query,this.socket=t.socket,this.supportsBinary=!t.forceBase64}onError(t,e,s){return super.emitReserved("error",new $(t,e,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(t){"open"===this.readyState&&this.write(t)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(t){const e=M(t,this.socket.binaryType);this.onPacket(e)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}pause(t){}createUri(t,e={}){return t+"://"+this._hostname()+this._port()+this.opts.path+this._query(e)}_hostname(){const t=this.opts.hostname;return-1===t.indexOf(":")?t:"["+t+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(t){const e=function(t){let e="";for(let s in t)t.hasOwnProperty(s)&&(e.length&&(e+="&"),e+=encodeURIComponent(s)+"="+encodeURIComponent(t[s]));return e}(t);return e.length?"?"+e:""}}class tt extends Z{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(t){this.readyState="pausing";const e=()=>{this.readyState="paused",t()};if(this._polling||!this.writable){let t=0;this._polling&&(t++,this.once("pollComplete",(function(){--t||e()}))),this.writable||(t++,this.once("drain",(function(){--t||e()})))}else e()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){((t,e)=>{const s=t.split(q),n=[];for(let i=0;i<s.length;i++){const t=M(s[i],e);if(n.push(t),"error"===t.type)break}return n})(t,this.socket.binaryType).forEach((t=>{if("opening"===this.readyState&&"open"===t.type&&this.onOpen(),"close"===t.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(t)})),"closed"!==this.readyState&&(this._polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this._poll())}doClose(){const t=()=>{this.write([{type:"close"}])};"open"===this.readyState?t():this.once("open",t)}write(t){this.writable=!1,((t,e)=>{const s=t.length,n=new Array(s);let i=0;t.forEach(((t,r)=>{B(t,!1,(t=>{n[r]=t,++i===s&&e(n.join(q))}))}))})(t,(t=>{this.doWrite(t,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){const t=this.opts.secure?"https":"http",e=this.query||{};return!1!==this.opts.timestampRequests&&(e[this.opts.timestampParam]=G()),this.supportsBinary||e.sid||(e.b64=1),this.createUri(t,e)}}let et=!1;try{et="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(Jt){}const st=et;function nt(){}class it extends tt{constructor(t){if(super(t),"undefined"!=typeof location){const e="https:"===location.protocol;let s=location.port;s||(s=e?"443":"80"),this.xd="undefined"!=typeof location&&t.hostname!==location.hostname||s!==t.port}}doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("success",e),s.on("error",((t,e)=>{this.onError("xhr post error",t,e)}))}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",((t,e)=>{this.onError("xhr poll error",t,e)})),this.pollXhr=t}}class rt extends Y{constructor(t,e,s){super(),this.createRequest=t,X(this,s),this._opts=s,this._method=s.method||"GET",this._uri=e,this._data=void 0!==s.data?s.data:null,this._create()}_create(){var t;const e=J(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this._opts.xd;const s=this._xhr=this.createRequest(e);try{s.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let t in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(t)&&s.setRequestHeader(t,this._opts.extraHeaders[t])}}catch(n){}if("POST"===this._method)try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(n){}try{s.setRequestHeader("Accept","*/*")}catch(n){}null===(t=this._opts.cookieJar)||void 0===t||t.addCookies(s),"withCredentials"in s&&(s.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(s.timeout=this._opts.requestTimeout),s.onreadystatechange=()=>{var t;3===s.readyState&&(null===(t=this._opts.cookieJar)||void 0===t||t.parseCookies(s.getResponseHeader("set-cookie"))),4===s.readyState&&(200===s.status||1223===s.status?this._onLoad():this.setTimeoutFn((()=>{this._onError("number"==typeof s.status?s.status:0)}),0))},s.send(this._data)}catch(n){return void this.setTimeoutFn((()=>{this._onError(n)}),0)}"undefined"!=typeof document&&(this._index=rt.requestsCount++,rt.requests[this._index]=this)}_onError(t){this.emitReserved("error",t,this._xhr),this._cleanup(!0)}_cleanup(t){if(void 0!==this._xhr&&null!==this._xhr){if(this._xhr.onreadystatechange=nt,t)try{this._xhr.abort()}catch(e){}"undefined"!=typeof document&&delete rt.requests[this._index],this._xhr=null}}_onLoad(){const t=this._xhr.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}if(rt.requestsCount=0,rt.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",ot);else if("function"==typeof addEventListener){addEventListener("onpagehide"in z?"pagehide":"unload",ot,!1)}function ot(){for(let t in rt.requests)rt.requests.hasOwnProperty(t)&&rt.requests[t].abort()}const at=function(){const t=ht({xdomain:!1});return t&&null!==t.responseType}();function ht(t){const e=t.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!e||st))return new XMLHttpRequest}catch(s){}if(!e)try{return new(z[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(s){}}const ct="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();class ut extends Z{get name(){return"websocket"}doOpen(){const t=this.uri(),e=this.opts.protocols,s=ct?{}:J(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(t,e,s)}catch(Jt){return this.emitReserved("error",Jt)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let e=0;e<t.length;e++){const s=t[e],n=e===t.length-1;B(s,this.supportsBinary,(t=>{try{this.doWrite(s,t)}catch(e){}n&&K((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",e=this.query||{};return this.opts.timestampRequests&&(e[this.opts.timestampParam]=G()),this.supportsBinary||(e.b64=1),this.createUri(t,e)}}const lt=z.WebSocket||z.MozWebSocket;const pt={websocket:class extends ut{createSocket(t,e,s){return ct?new lt(t,e,s):e?new lt(t,e):new lt(t)}doWrite(t,e){this.ws.send(e)}},webtransport:class extends Z{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(Jt){return this.emitReserved("error",Jt)}this._transport.closed.then((()=>{this.onClose()})).catch((t=>{this.onError("webtransport error",t)})),this._transport.ready.then((()=>{this._transport.createBidirectionalStream().then((t=>{const e=function(t,e){F||(F=new TextDecoder);const s=[];let n=0,i=-1,r=!1;return new TransformStream({transform(o,a){for(s.push(o);;){if(0===n){if(V(s)<1)break;const t=H(s,1);r=128==(128&t[0]),i=127&t[0],n=i<126?3:126===i?1:2}else if(1===n){if(V(s)<2)break;const t=H(s,2);i=new DataView(t.buffer,t.byteOffset,t.length).getUint16(0),n=3}else if(2===n){if(V(s)<8)break;const t=H(s,8),e=new DataView(t.buffer,t.byteOffset,t.length),r=e.getUint32(0);if(r>Math.pow(2,21)-1){a.enqueue(C);break}i=r*Math.pow(2,32)+e.getUint32(4),n=3}else{if(V(s)<i)break;const t=H(s,i);a.enqueue(M(r?t:F.decode(t),e)),n=0}if(0===i||i>t){a.enqueue(C);break}}}})}(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=t.readable.pipeThrough(e).getReader(),n=D();n.readable.pipeTo(t.writable),this._writer=n.writable.getWriter();const i=()=>{s.read().then((({done:t,value:e})=>{t||(this.onPacket(e),i())})).catch((t=>{}))};i();const r={type:"open"};this.query.sid&&(r.data=`{"sid":"${this.query.sid}"}`),this._writer.write(r).then((()=>this.onOpen()))}))}))}write(t){this.writable=!1;for(let e=0;e<t.length;e++){const s=t[e],n=e===t.length-1;this._writer.write(s).then((()=>{n&&K((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){var t;null===(t=this._transport)||void 0===t||t.close()}},polling:class extends it{constructor(t){super(t);const e=t&&t.forceBase64;this.supportsBinary=at&&!e}request(t={}){return Object.assign(t,{xd:this.xd},this.opts),new rt(ht,this.uri(),t)}}},dt=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,ft=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function gt(t){if(t.length>8e3)throw"URI too long";const e=t,s=t.indexOf("["),n=t.indexOf("]");-1!=s&&-1!=n&&(t=t.substring(0,s)+t.substring(s,n).replace(/:/g,";")+t.substring(n,t.length));let i=dt.exec(t||""),r={},o=14;for(;o--;)r[ft[o]]=i[o]||"";return-1!=s&&-1!=n&&(r.source=e,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=function(t,e){const s=/\/{2,9}/g,n=e.replace(s,"/").split("/");"/"!=e.slice(0,1)&&0!==e.length||n.splice(0,1);"/"==e.slice(-1)&&n.splice(n.length-1,1);return n}(0,r.path),r.queryKey=function(t,e){const s={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(t,e,n){e&&(s[e]=n)})),s}(0,r.query),r}const mt="function"==typeof addEventListener&&"function"==typeof removeEventListener,yt=[];mt&&addEventListener("offline",(()=>{yt.forEach((t=>t()))}),!1);class _t extends Y{constructor(t,e){if(super(),this.binaryType="arraybuffer",this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,t&&"object"==typeof t&&(e=t,t=null),t){const s=gt(t);e.hostname=s.host,e.secure="https"===s.protocol||"wss"===s.protocol,e.port=s.port,s.query&&(e.query=s.query)}else e.host&&(e.hostname=gt(e.host).host);X(this,e),this.secure=null!=e.secure?e.secure:"undefined"!=typeof location&&"https:"===location.protocol,e.hostname&&!e.port&&(e.port=this.secure?"443":"80"),this.hostname=e.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=e.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},e.transports.forEach((t=>{const e=t.prototype.name;this.transports.push(e),this._transportsByName[e]=t})),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},e),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=function(t){let e={},s=t.split("&");for(let n=0,i=s.length;n<i;n++){let t=s[n].split("=");e[decodeURIComponent(t[0])]=decodeURIComponent(t[1])}return e}(this.opts.query)),mt&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},yt.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(t){const e=Object.assign({},this.opts.query);e.EIO=4,e.transport=t,this.id&&(e.sid=this.id);const s=Object.assign({},this.opts,{query:e,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new this._transportsByName[t](s)}_open(){if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);const t=this.opts.rememberUpgrade&&_t.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket")?"websocket":this.transports[0];this.readyState="opening";const e=this.createTransport(t);e.open(),this.setTransport(e)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",(t=>this._onClose("transport close",t)))}onOpen(){this.readyState="open",_t.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush()}_onPacket(t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const e=new Error("server error");e.code=t.data,this._onError(e);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data)}}onHandshake(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this._pingInterval=t.pingInterval,this._pingTimeout=t.pingTimeout,this._maxPayload=t.maxPayload,this.onOpen(),"closed"!==this.readyState&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const t=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+t,this._pingTimeoutTimer=this.setTimeoutFn((()=>{this._onClose("ping timeout")}),t),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this._getWritablePackets();this.transport.send(t),this._prevBufferLen=t.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let s=0;s<this.writeBuffer.length;s++){const n=this.writeBuffer[s].data;if(n&&(t+="string"==typeof(e=n)?function(t){let e=0,s=0;for(let n=0,i=t.length;n<i;n++)e=t.charCodeAt(n),e<128?s+=1:e<2048?s+=2:e<55296||e>=57344?s+=3:(n++,s+=4);return s}(e):Math.ceil(1.33*(e.byteLength||e.size))),s>0&&t>this._maxPayload)return this.writeBuffer.slice(0,s);t+=2}var e;return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const t=Date.now()>this._pingTimeoutTime;return t&&(this._pingTimeoutTime=0,K((()=>{this._onClose("ping timeout")}),this.setTimeoutFn)),t}write(t,e,s){return this._sendPacket("message",t,e,s),this}send(t,e,s){return this._sendPacket("message",t,e,s),this}_sendPacket(t,e,s,n){if("function"==typeof e&&(n=e,e=void 0),"function"==typeof s&&(n=s,s=null),"closing"===this.readyState||"closed"===this.readyState)return;(s=s||{}).compress=!1!==s.compress;const i={type:t,data:e,options:s};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),n&&this.once("flush",n),this.flush()}close(){const t=()=>{this._onClose("forced close"),this.transport.close()},e=()=>{this.off("upgrade",e),this.off("upgradeError",e),t()},s=()=>{this.once("upgrade",e),this.once("upgradeError",e)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?s():t()})):this.upgrading?s():t()),this}_onError(t){if(_t.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&"opening"===this.readyState)return this.transports.shift(),this._open();this.emitReserved("error",t),this._onClose("transport error",t)}_onClose(t,e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),mt&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const t=yt.indexOf(this._offlineEventListener);-1!==t&&yt.splice(t,1)}this.readyState="closed",this.id=null,this.emitReserved("close",t,e),this.writeBuffer=[],this._prevBufferLen=0}}}_t.protocol=4;class bt extends _t{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),"open"===this.readyState&&this.opts.upgrade)for(let t=0;t<this._upgrades.length;t++)this._probe(this._upgrades[t])}_probe(t){let e=this.createTransport(t),s=!1;_t.priorWebsocketSuccess=!1;const n=()=>{s||(e.send([{type:"ping",data:"probe"}]),e.once("packet",(t=>{if(!s)if("pong"===t.type&&"probe"===t.data){if(this.upgrading=!0,this.emitReserved("upgrading",e),!e)return;_t.priorWebsocketSuccess="websocket"===e.name,this.transport.pause((()=>{s||"closed"!==this.readyState&&(c(),this.setTransport(e),e.send([{type:"upgrade"}]),this.emitReserved("upgrade",e),e=null,this.upgrading=!1,this.flush())}))}else{const t=new Error("probe error");t.transport=e.name,this.emitReserved("upgradeError",t)}})))};function i(){s||(s=!0,c(),e.close(),e=null)}const r=t=>{const s=new Error("probe error: "+t);s.transport=e.name,i(),this.emitReserved("upgradeError",s)};function o(){r("transport closed")}function a(){r("socket closed")}function h(t){e&&t.name!==e.name&&i()}const c=()=>{e.removeListener("open",n),e.removeListener("error",r),e.removeListener("close",o),this.off("close",a),this.off("upgrading",h)};e.once("open",n),e.once("error",r),e.once("close",o),this.once("close",a),this.once("upgrading",h),-1!==this._upgrades.indexOf("webtransport")&&"webtransport"!==t?this.setTimeoutFn((()=>{s||e.open()}),200):e.open()}onHandshake(t){this._upgrades=this._filterUpgrades(t.upgrades),super.onHandshake(t)}_filterUpgrades(t){const e=[];for(let s=0;s<t.length;s++)~this.transports.indexOf(t[s])&&e.push(t[s]);return e}}let vt=class extends bt{constructor(t,e={}){const s="object"==typeof t?t:e;(!s.transports||s.transports&&"string"==typeof s.transports[0])&&(s.transports=(s.transports||["polling","websocket","webtransport"]).map((t=>pt[t])).filter((t=>!!t))),super(t,s)}};const kt="function"==typeof ArrayBuffer,wt=Object.prototype.toString,At="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===wt.call(Blob),Et="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===wt.call(File);function Ct(t){return kt&&(t instanceof ArrayBuffer||(t=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer)(t))||At&&t instanceof Blob||Et&&t instanceof File}function Ot(t,e){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(let e=0,s=t.length;e<s;e++)if(Ot(t[e]))return!0;return!1}if(Ct(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return Ot(t.toJSON(),!0);for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)&&Ot(t[s]))return!0;return!1}function Tt(t){const e=[],s=t.data,n=t;return n.data=Rt(s,e),n.attachments=e.length,{packet:n,buffers:e}}function Rt(t,e){if(!t)return t;if(Ct(t)){const s={_placeholder:!0,num:e.length};return e.push(t),s}if(Array.isArray(t)){const s=new Array(t.length);for(let n=0;n<t.length;n++)s[n]=Rt(t[n],e);return s}if("object"==typeof t&&!(t instanceof Date)){const s={};for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(s[n]=Rt(t[n],e));return s}return t}function Bt(t,e){return t.data=xt(t.data,e),delete t.attachments,t}function xt(t,e){if(!t)return t;if(t&&!0===t._placeholder){if("number"==typeof t.num&&t.num>=0&&t.num<e.length)return e[t.num];throw new Error("illegal attachments")}if(Array.isArray(t))for(let s=0;s<t.length;s++)t[s]=xt(t[s],e);else if("object"==typeof t)for(const s in t)Object.prototype.hasOwnProperty.call(t,s)&&(t[s]=xt(t[s],e));return t}const St=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var Nt,It;(It=Nt||(Nt={}))[It.CONNECT=0]="CONNECT",It[It.DISCONNECT=1]="DISCONNECT",It[It.EVENT=2]="EVENT",It[It.ACK=3]="ACK",It[It.CONNECT_ERROR=4]="CONNECT_ERROR",It[It.BINARY_EVENT=5]="BINARY_EVENT",It[It.BINARY_ACK=6]="BINARY_ACK";function jt(t){return"[object Object]"===Object.prototype.toString.call(t)}class Lt extends Y{constructor(t){super(),this.reviver=t}add(t){let e;if("string"==typeof t){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");e=this.decodeString(t);const s=e.type===Nt.BINARY_EVENT;s||e.type===Nt.BINARY_ACK?(e.type=s?Nt.EVENT:Nt.ACK,this.reconstructor=new Mt(e),0===e.attachments&&super.emitReserved("decoded",e)):super.emitReserved("decoded",e)}else{if(!Ct(t)&&!t.base64)throw new Error("Unknown type: "+t);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");e=this.reconstructor.takeBinaryData(t),e&&(this.reconstructor=null,super.emitReserved("decoded",e))}}decodeString(t){let e=0;const s={type:Number(t.charAt(0))};if(void 0===Nt[s.type])throw new Error("unknown packet type "+s.type);if(s.type===Nt.BINARY_EVENT||s.type===Nt.BINARY_ACK){const n=e+1;for(;"-"!==t.charAt(++e)&&e!=t.length;);const i=t.substring(n,e);if(i!=Number(i)||"-"!==t.charAt(e))throw new Error("Illegal attachments");s.attachments=Number(i)}if("/"===t.charAt(e+1)){const n=e+1;for(;++e;){if(","===t.charAt(e))break;if(e===t.length)break}s.nsp=t.substring(n,e)}else s.nsp="/";const n=t.charAt(e+1);if(""!==n&&Number(n)==n){const n=e+1;for(;++e;){const s=t.charAt(e);if(null==s||Number(s)!=s){--e;break}if(e===t.length)break}s.id=Number(t.substring(n,e+1))}if(t.charAt(++e)){const n=this.tryParse(t.substr(e));if(!Lt.isPayloadValid(s.type,n))throw new Error("invalid payload");s.data=n}return s}tryParse(t){try{return JSON.parse(t,this.reviver)}catch(e){return!1}}static isPayloadValid(t,e){switch(t){case Nt.CONNECT:return jt(e);case Nt.DISCONNECT:return void 0===e;case Nt.CONNECT_ERROR:return"string"==typeof e||jt(e);case Nt.EVENT:case Nt.BINARY_EVENT:return Array.isArray(e)&&("number"==typeof e[0]||"string"==typeof e[0]&&-1===St.indexOf(e[0]));case Nt.ACK:case Nt.BINARY_ACK:return Array.isArray(e)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class Mt{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){const t=Bt(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const Ut=Object.freeze(Object.defineProperty({__proto__:null,Decoder:Lt,Encoder:class{constructor(t){this.replacer=t}encode(t){return t.type!==Nt.EVENT&&t.type!==Nt.ACK||!Ot(t)?[this.encodeAsString(t)]:this.encodeAsBinary({type:t.type===Nt.EVENT?Nt.BINARY_EVENT:Nt.BINARY_ACK,nsp:t.nsp,data:t.data,id:t.id})}encodeAsString(t){let e=""+t.type;return t.type!==Nt.BINARY_EVENT&&t.type!==Nt.BINARY_ACK||(e+=t.attachments+"-"),t.nsp&&"/"!==t.nsp&&(e+=t.nsp+","),null!=t.id&&(e+=t.id),null!=t.data&&(e+=JSON.stringify(t.data,this.replacer)),e}encodeAsBinary(t){const e=Tt(t),s=this.encodeAsString(e.packet),n=e.buffers;return n.unshift(s),n}},get PacketType(){return Nt},protocol:5},Symbol.toStringTag,{value:"Module"}));function Pt(t,e,s){return t.on(e,s),function(){t.off(e,s)}}const qt=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Dt extends Y{constructor(t,e,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=e,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[Pt(t,"open",this.onopen.bind(this)),Pt(t,"packet",this.onpacket.bind(this)),Pt(t,"error",this.onerror.bind(this)),Pt(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(t,...e){var s,n,i;if(qt.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');if(e.unshift(t),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(e),this;const r={type:Nt.EVENT,data:e,options:{}};if(r.options.compress=!1!==this.flags.compress,"function"==typeof e[e.length-1]){const t=this.ids++,s=e.pop();this._registerAckCallback(t,s),r.id=t}const o=null===(n=null===(s=this.io.engine)||void 0===s?void 0:s.transport)||void 0===n?void 0:n.writable,a=this.connected&&!(null===(i=this.io.engine)||void 0===i?void 0:i._hasPingExpired());return this.flags.volatile&&!o||(a?(this.notifyOutgoingListeners(r),this.packet(r)):this.sendBuffer.push(r)),this.flags={},this}_registerAckCallback(t,e){var s;const n=null!==(s=this.flags.timeout)&&void 0!==s?s:this._opts.ackTimeout;if(void 0===n)return void(this.acks[t]=e);const i=this.io.setTimeoutFn((()=>{delete this.acks[t];for(let e=0;e<this.sendBuffer.length;e++)this.sendBuffer[e].id===t&&this.sendBuffer.splice(e,1);e.call(this,new Error("operation has timed out"))}),n),r=(...t)=>{this.io.clearTimeoutFn(i),e.apply(this,t)};r.withError=!0,this.acks[t]=r}emitWithAck(t,...e){return new Promise(((s,n)=>{const i=(t,e)=>t?n(t):s(e);i.withError=!0,e.push(i),this.emit(t,...e)}))}_addToQueue(t){let e;"function"==typeof t[t.length-1]&&(e=t.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push(((t,...n)=>{if(s!==this._queue[0])return;return null!==t?s.tryCount>this._opts.retries&&(this._queue.shift(),e&&e(t)):(this._queue.shift(),e&&e(null,...n)),s.pending=!1,this._drainQueue()})),this._queue.push(s),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||0===this._queue.length)return;const e=this._queue[0];e.pending&&!t||(e.pending=!0,e.tryCount++,this.flags=e.flags,this.emit.apply(this,e.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){"function"==typeof this.auth?this.auth((t=>{this._sendConnectPacket(t)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:Nt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,e){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,e),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach((t=>{if(!this.sendBuffer.some((e=>String(e.id)===t))){const e=this.acks[t];delete this.acks[t],e.withError&&e.call(this,new Error("socket has been disconnected"))}}))}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case Nt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Nt.EVENT:case Nt.BINARY_EVENT:this.onevent(t);break;case Nt.ACK:case Nt.BINARY_ACK:this.onack(t);break;case Nt.DISCONNECT:this.ondisconnect();break;case Nt.CONNECT_ERROR:this.destroy();const e=new Error(t.data.message);e.data=t.data.data,this.emitReserved("connect_error",e)}}onevent(t){const e=t.data||[];null!=t.id&&e.push(this.ack(t.id)),this.connected?this.emitEvent(e):this.receiveBuffer.push(Object.freeze(e))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e=this._anyListeners.slice();for(const s of e)s.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&"string"==typeof t[t.length-1]&&(this._lastOffset=t[t.length-1])}ack(t){const e=this;let s=!1;return function(...n){s||(s=!0,e.packet({type:Nt.ACK,id:t,data:n}))}}onack(t){const e=this.acks[t.id];"function"==typeof e&&(delete this.acks[t.id],e.withError&&t.data.unshift(null),e.apply(this,t.data))}onconnect(t,e){this.id=t,this.recovered=e&&this._pid===e,this._pid=e,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((t=>this.emitEvent(t))),this.receiveBuffer=[],this.sendBuffer.forEach((t=>{this.notifyOutgoingListeners(t),this.packet(t)})),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((t=>t())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:Nt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyListeners;for(let s=0;s<e.length;s++)if(t===e[s])return e.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(t),this}prependAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(t),this}offAnyOutgoing(t){if(!this._anyOutgoingListeners)return this;if(t){const e=this._anyOutgoingListeners;for(let s=0;s<e.length;s++)if(t===e[s])return e.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(t){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const e=this._anyOutgoingListeners.slice();for(const s of e)s.apply(this,t.data)}}}function Ft(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor=t.factor||2,this.jitter=t.jitter>0&&t.jitter<=1?t.jitter:0,this.attempts=0}Ft.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),s=Math.floor(e*this.jitter*t);t=0==(1&Math.floor(10*e))?t-s:t+s}return 0|Math.min(t,this.max)},Ft.prototype.reset=function(){this.attempts=0},Ft.prototype.setMin=function(t){this.ms=t},Ft.prototype.setMax=function(t){this.max=t},Ft.prototype.setJitter=function(t){this.jitter=t};class Vt extends Y{constructor(t,e){var s;super(),this.nsps={},this.subs=[],t&&"object"==typeof t&&(e=t,t=void 0),(e=e||{}).path=e.path||"/socket.io",this.opts=e,X(this,e),this.reconnection(!1!==e.reconnection),this.reconnectionAttempts(e.reconnectionAttempts||1/0),this.reconnectionDelay(e.reconnectionDelay||1e3),this.reconnectionDelayMax(e.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(s=e.randomizationFactor)&&void 0!==s?s:.5),this.backoff=new Ft({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==e.timeout?2e4:e.timeout),this._readyState="closed",this.uri=t;const n=e.parser||Ut;this.encoder=new n.Encoder,this.decoder=new n.Decoder,this._autoConnect=!1!==e.autoConnect,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,t||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(t){return void 0===t?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var e;return void 0===t?this._reconnectionDelay:(this._reconnectionDelay=t,null===(e=this.backoff)||void 0===e||e.setMin(t),this)}randomizationFactor(t){var e;return void 0===t?this._randomizationFactor:(this._randomizationFactor=t,null===(e=this.backoff)||void 0===e||e.setJitter(t),this)}reconnectionDelayMax(t){var e;return void 0===t?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,null===(e=this.backoff)||void 0===e||e.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new vt(this.uri,this.opts);const e=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const n=Pt(e,"open",(function(){s.onopen(),t&&t()})),i=e=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",e),t?t(e):this.maybeReconnectOnOpen()},r=Pt(e,"error",i);if(!1!==this._timeout){const t=this._timeout,s=this.setTimeoutFn((()=>{n(),i(new Error("timeout")),e.close()}),t);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}return this.subs.push(n),this.subs.push(r),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Pt(t,"ping",this.onping.bind(this)),Pt(t,"data",this.ondata.bind(this)),Pt(t,"error",this.onerror.bind(this)),Pt(t,"close",this.onclose.bind(this)),Pt(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(e){this.onclose("parse error",e)}}ondecoded(t){K((()=>{this.emitReserved("packet",t)}),this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,e){let s=this.nsps[t];return s?this._autoConnect&&!s.active&&s.connect():(s=new Dt(this,t,e),this.nsps[t]=s),s}_destroy(t){const e=Object.keys(this.nsps);for(const s of e){if(this.nsps[s].active)return}this._close()}_packet(t){const e=this.encoder.encode(t);for(let s=0;s<e.length;s++)this.engine.write(e[s],t.options)}cleanup(){this.subs.forEach((t=>t())),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(t,e){var s;this.cleanup(),null===(s=this.engine)||void 0===s||s.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,e),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const e=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn((()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),t.skipReconnect||t.open((e=>{e?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",e)):t.onreconnect()})))}),e);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const Ht={};function Yt(t,e){"object"==typeof t&&(e=t,t=void 0);const s=function(t,e="",s){let n=t;s=s||"undefined"!=typeof location&&location,null==t&&(t=s.protocol+"//"+s.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?s.protocol+t:s.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==s?s.protocol+"//"+t:"https://"+t),n=gt(t)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";const i=-1!==n.host.indexOf(":")?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+i+":"+n.port+e,n.href=n.protocol+"://"+i+(s&&s.port===n.port?"":":"+n.port),n}(t,(e=e||{}).path||"/socket.io"),n=s.source,i=s.id,r=s.path,o=Ht[i]&&r in Ht[i].nsps;let a;return e.forceNew||e["force new connection"]||!1===e.multiplex||o?a=new Vt(n,e):(Ht[i]||(Ht[i]=new Vt(n,e)),a=Ht[i]),s.query&&!e.query&&(e.query=s.queryKey),a.socket(s.path,e)}Object.assign(Yt,{Manager:Vt,Socket:Dt,io:Yt,connect:Yt});const Kt=""+new URL("guanzhu-D1WWXjXw.png",import.meta.url).href;const zt=k({components:{Tools:w},data:()=>({messages:[],scrollPosition:{top:0},inputContent:"",isInputFocused:!1,showEmojiPicker:!1,meUserInfo:{avatar:"",username:"",userId:""},otherUserInfo:{avatar:"",username:"",userId:""},chaterId:"",chaterName:""}),onLoad(){const t=d("userInfo");t&&(this.meUserInfo={...t});const e=d("chaterId"),s=d("chaterName");e&&s&&(this.chaterName=s,this.chaterId=e,this.$nextTick((()=>{})))},onShow:async function(){if("000"!=this.chaterId)try{await this.fetchMsgInfoOne()}catch(t){console.error("Failed to load msg info one:",t)}else try{await this.fetchMsgInfoAll()}catch(t){console.error("Failed to load msg info all:",t)}},created(){this.socket=Yt("https://afanai.top:8089"),this.$nextTick((()=>{void 0!==this.chaterId?"000"===this.chaterId?this.socket.on("responseMsg_all",this.handleResponseMsg):this.socket.on("responseMsg_one2one",this.handleResponseMsg):console.warn("chaterId has not been set yet.")}))},destroyed(){"000"==this.chaterId?this.socket.off("responseMsg_all",this.handleResponseMsg):this.socket.off("responseMsg_one2one",this.handleResponseMsg),this.socket.disconnect()},methods:{handleScroll(t){this.scrollPosition.top=t.detail.scrollTop},sendConsultation(){this.inputContent=""==this.inputContent?"...":this.inputContent;const t=this.formatDate(new Date,"yyyy-MM-dd hh:mm:ss"),e={isMe:!0,avatar:this.meUserInfo.avatar,content:this.inputContent,username:this.meUserInfo.username,time:t};this.messages.push(e);const s={roomId:"000"==this.chaterId?"all":"one2one",sendUserId:this.meUserInfo.userId,resUserId:this.chaterId,content:e.content,time:t,avatar:this.meUserInfo.avatar,username:this.meUserInfo.username};this.socket.emit("message",s),this.inputContent="",this.scrollToBottom()},handleResponseMsg(t){const e=t.sendUserId==this.meUserInfo.userId;if(e)return;const s={isMe:e,avatar:t.avatar,content:t.content,username:t.username,time:t.time};this.messages.push(s)},openTools(t){"emoji"===t?(this.showEmojiPicker=!0,this.$nextTick((()=>{this.$refs.tools.showEmojiPicker()}))):"plus"===t&&this.$refs.tools.showPlusMenu()},scrollToBottom(){this.scrollPosition.top=this.$refs.msgList.scrollHeight},goBack(){f()},formatDate(t,e){var s={"M+":t.getMonth()+1,"d+":t.getDate(),"h+":t.getHours(),"m+":t.getMinutes(),"s+":t.getSeconds(),"q+":Math.floor((t.getMonth()+3)/3),S:t.getMilliseconds()};for(var n in/(y+)/.test(e)&&(e=e.replace(RegExp.$1,(t.getFullYear()+"").substr(4-RegExp.$1.length))),s)new RegExp("("+n+")").test(e)&&(e=e.replace(RegExp.$1,1==RegExp.$1.length?s[n]:("00"+s[n]).substr((""+s[n]).length)));return e},async fetchMsgInfoAll(){const t=await g({url:"https://afanai.top:8089/v1/chatMsg/get/all",method:"GET"});this.InitMsgList(t)},async fetchMsgInfoOne(){const t=await g({url:"https://afanai.top:8089/v1/chatMsg/get/one2one/"+this.meUserInfo.userId+"/"+this.chaterId,method:"GET"});this.InitMsgList(t)},InitMsgList(t){for(var e of(this.messages=[],t.data)){const t={isMe:e.sendUserId==this.meUserInfo.userId,avatar:e.avatar,content:e.content,username:e.username,time:e.time};this.messages.push(t)}}}},[["render",function(d,f,g,k,w,A){const E=u,C=p,O=v,T=y,R=_,B=r("tools"),x=l;return t(),o(C,{class:"page"},{default:a((()=>[h(C,{class:"header"},{default:a((()=>[h(C,{class:"back-button",onClick:f[0]||(f[0]=t=>A.goBack())},{default:a((()=>[h(E,{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAA5BJREFUeF7tm71y00AQgHelNAwV4MxQBipK3iBOE/stiEtKCovMUDhumGBT8AY4JU+ATIN4Ap6Awb2Uocmks5a5k+WcZEleybbiU85lopNuv9vd2587hD34dfvBGVlwDARtIJihbffcyyezOqaGdXwk6xuK0Gfp/yNBzx23JnXMrVYAUmiAN4DQLhKOgC5+jA6HjQDAFVoVVnsApYRGmCDSFYX4FQCOBAgtAVQR2r089OKV7zjBX+0AbCq0qvbaANim0NoB6DjXvwHodaF3ljZtD8vu4x3HvwHAx9G7CQByNigCD20aquazyW7B3ga75/+OKJwLO139VRQ6oQH9IASMpS4AEPHxpuPWySaCx2M3AEAuWgdvy6503qS7TnBLAI+YQs2mo9YL5rNrFJb5lrQGoEUn21JDMYWuc/2HgF5GFkAuAn5LxgaJAKrZAJDwszt+1lcBnDr+AAEvFn8zABptAkYDjAkYH2CcoNkFzDZo4gATCJlIUCHACYVFvlI2OaucDe4yGSobCcoiDYKoKc6QYFimpK4NAEVIoReJZKjTD36qpfYyfQVtAAipO+8DscogqshqKp4yD2k4XAhaASgqXVSF0BgAAk4VCI0CUAXCzgHIUhrNBxBGXR9Z8ULyLOvgSt2y1JKYugtIu1fGsip4KL+1+F5UYLXI+vh9/PRDevzOAWSpZVTYTTZAswDkjWVBWC2th9NRy64dgFxBgpUW+O4BrGC6HwB5JpBuf2dpQNZY1uojvAKA58ln6d10dPildg1gTThVFs+KBLnvydK4oqh15z6AO/E8J8gdvwyUUua2LmRvDICyKx+D1QqAyAfkxG3bS2yhd8nQUmHWrbx2ABKtOYTJ9FOrFwuxkgyVaNtpowFF9YBEOmxRr0zPshEAhCZUKYbIrJHrZevsDpctiHBlyHrOAODSMxqQOiLD3WbYgJUDEsYETHfYdIdNd9h0h0132HSHH253OPOgZHSnKK4t3v85QdjC+WA1SNr7o7Ky5OQEosieqjWCl1Xn50aAy5zeCcISyVn9GiBTzr7vE2Ir9zg7VYdx6vi3CLg4LL2Hx+XjlZKFCcL2uptf4kh7pBnwi1Og0ObGSAyie+63wxCOtwVDOwAJB5aEofTlMjxBjmZoDSAtpnKviA1D+2tzeV6fDUN5gZb3BjnbHhdGYwEk/MbdPeIVM3kQANJOlOY4AHGwAcFTmx4czdrkmf+r0zCMP5vUegAAAABJRU5ErkJggg==",alt:"Back"})])),_:1}),h(C,{class:"title"},{default:a((()=>[m(i(w.chaterName),1)])),_:1})])),_:1}),h(C,{class:"message-area"},{default:a((()=>[h(T,{"scroll-y":!0,"scroll-top":w.scrollPosition.top,onScroll:A.handleScroll,ref:"msgList"},{default:a((()=>[(t(!0),e(s,null,n(w.messages,((e,s)=>(t(),o(C,{key:s,class:b(["message",e.isMe?"me":"other"])},{default:a((()=>[e.isMe?c("",!0):(t(),o(C,{key:0,class:"avatar other-avatar"},{default:a((()=>[h(E,{src:e.avatar,alt:"Avatar"},null,8,["src"])])),_:2},1024)),h(C,{class:"username-time"},{default:a((()=>[e.isMe?c("",!0):(t(),o(C,{key:0,class:"username"},{default:a((()=>[m(i(e.username),1)])),_:2},1024)),e.isMe?c("",!0):(t(),o(C,{key:1,class:"time"},{default:a((()=>[m(i(e.time),1)])),_:2},1024)),e.isMe?(t(),o(C,{key:2,class:"username"},{default:a((()=>[m(i(e.username),1)])),_:2},1024)):c("",!0),e.isMe?(t(),o(C,{key:3,class:"time"},{default:a((()=>[m(i(e.time),1)])),_:2},1024)):c("",!0),h(C,{class:"message-content"},{default:a((()=>[h(O,null,{default:a((()=>[m(i(e.content),1)])),_:2},1024)])),_:2},1024)])),_:2},1024),e.isMe?(t(),o(C,{key:1,class:"avatar me-avatar"},{default:a((()=>[h(E,{src:e.avatar,alt:"Avatar"},null,8,["src"])])),_:2},1024)):c("",!0)])),_:2},1032,["class"])))),128))])),_:1},8,["scroll-top","onScroll"])])),_:1}),h(C,{class:"footer"},{default:a((()=>[h(C,{class:"input-wrap"},{default:a((()=>[h(R,{modelValue:w.inputContent,"onUpdate:modelValue":f[1]||(f[1]=t=>w.inputContent=t),type:"text",focus:w.isInputFocused,onConfirm:A.sendConsultation},null,8,["modelValue","focus","onConfirm"])])),_:1}),h(C,{class:"tools-wrap"},{default:a((()=>[h(E,{src:Kt,onClick:f[2]||(f[2]=t=>A.openTools("emoji"))}),h(E,{src:Kt,onClick:f[3]||(f[3]=t=>A.openTools("plus"))})])),_:1}),w.showEmojiPicker?(t(),o(C,{key:0,class:"emoji-picker-wrap"},{default:a((()=>[h(B,{ref:"tools"},null,512)])),_:1})):c("",!0),h(C,{class:"send-button"},{default:a((()=>[h(x,{onClick:A.sendConsultation},{default:a((()=>[m(" 发送 ")])),_:1},8,["onClick"])])),_:1})])),_:1})])),_:1})}],["__scopeId","data-v-06460b32"]]);export{zt as default};
|