diff --git a/README.md b/README.md index 395c68e..24817bb 100644 --- a/README.md +++ b/README.md @@ -90,5 +90,4 @@ This can lead to a discrepancy between website link license (latest) and the fil │ └── select2.min.js `SPDX-License-Identifier: MIT` https://github.com/select2/select2 ├── simple-slider.min.js `SPDX-License-Identifier: MIT` https://github.com/ruyadorno/simple-slider ├── socket.io.min.js `SPDX-License-Identifier: MIT` https://github.com/socketio/socket.io-client -├── socket.io.min.js.map └── underscore.js `SPDX-License-Identifier: MIT` https://github.com/jashkenas/underscore diff --git a/socket.io.min.js b/socket.io.min.js index eb69994..f39af5c 100644 --- a/socket.io.min.js +++ b/socket.io.min.js @@ -1,4 +1,7 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.io=e():t.io=e()}(this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";function n(t,e){"object"===("undefined"==typeof t?"undefined":i(t))&&(e=t,t=void 0),e=e||{};var r,n=s(t),a=n.source,u=n.id,f=n.path,l=h[u]&&f in h[u].nsps,d=e.forceNew||e["force new connection"]||!1===e.multiplex||l;return d?(p("ignoring socket cache for %s",a),r=c(a,e)):(h[u]||(p("new io instance for %s",a),h[u]=c(a,e)),r=h[u]),n.query&&!e.query?e.query=n.query:e&&"object"===i(e.query)&&(e.query=o(e.query)),r.socket(n.path,e)}function o(t){var e=[];for(var r in t)t.hasOwnProperty(r)&&e.push(encodeURIComponent(r)+"="+encodeURIComponent(t[r]));return e.join("&")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s=r(1),a=r(6),c=r(13),p=r(3)("socket.io-client");t.exports=e=n;var h=e.managers={};e.protocol=a.protocol,e.connect=n,e.Manager=r(13),e.Socket=r(40)},function(t,e,r){(function(e){"use strict";function n(t,r){var n=t;r=r||e.location,null==t&&(t=r.protocol+"//"+r.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?r.protocol+t:r.host+t),/^(https?|wss?):\/\//.test(t)||(i("protocol-less url %s",t),t="undefined"!=typeof r?r.protocol+"//"+t:"https://"+t),i("parse %s",t),n=o(t)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";var s=n.host.indexOf(":")!==-1,a=s?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+a+":"+n.port,n.href=n.protocol+"://"+a+(r&&r.port===n.port?"":":"+n.port),n}var o=r(2),i=r(3)("socket.io-client:url");t.exports=n}).call(e,function(){return this}())},function(t,e){var r=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,n=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];t.exports=function(t){var e=t,o=t.indexOf("["),i=t.indexOf("]");o!=-1&&i!=-1&&(t=t.substring(0,o)+t.substring(o,i).replace(/:/g,";")+t.substring(i,t.length));for(var s=r.exec(t||""),a={},c=14;c--;)a[n[c]]=s[c]||"";return o!=-1&&i!=-1&&(a.source=e,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,":"),a.authority=a.authority.replace("[","").replace("]","").replace(/;/g,":"),a.ipv6uri=!0),a}},function(t,e,r){function n(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function o(){var t=arguments,r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),!r)return t;var n="color: "+this.color;t=[t[0],n,"color: inherit"].concat(Array.prototype.slice.call(t,1));var o=0,i=0;return t[0].replace(/%[a-z%]/g,function(t){"%%"!==t&&(o++,"%c"===t&&(i=o))}),t.splice(i,0,n),t}function i(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function s(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}}function a(){var t;try{t=e.storage.debug}catch(t){}return t}function c(){try{return window.localStorage}catch(t){}}e=t.exports=r(4),e.log=i,e.formatArgs=o,e.save=s,e.load=a,e.useColors=n,e.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:c(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){return JSON.stringify(t)},e.enable(a())},function(t,e,r){function n(){return e.colors[h++%e.colors.length]}function o(t){function r(){}function o(){var t=o,r=+new Date,i=r-(p||r);t.diff=i,t.prev=p,t.curr=r,p=r,null==t.useColors&&(t.useColors=e.useColors()),null==t.color&&t.useColors&&(t.color=n());var s=Array.prototype.slice.call(arguments);s[0]=e.coerce(s[0]),"string"!=typeof s[0]&&(s=["%o"].concat(s));var a=0;s[0]=s[0].replace(/%([a-z%])/g,function(r,n){if("%%"===r)return r;a++;var o=e.formatters[n];if("function"==typeof o){var i=s[a];r=o.call(t,i),s.splice(a,1),a--}return r}),"function"==typeof e.formatArgs&&(s=e.formatArgs.apply(t,s));var c=o.log||e.log||console.log.bind(console);c.apply(t,s)}r.enabled=!1,o.enabled=!0;var i=e.enabled(t)?o:r;return i.namespace=t,i}function i(t){e.save(t);for(var r=(t||"").split(/[\s,]+/),n=r.length,o=0;o1e4)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*h;case"days":case"day":case"d":return r*p;case"hours":case"hour":case"hrs":case"hr":case"h":return r*c;case"minutes":case"minute":case"mins":case"min":case"m":return r*a;case"seconds":case"second":case"secs":case"sec":case"s":return r*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r}}}}function n(t){return t>=p?Math.round(t/p)+"d":t>=c?Math.round(t/c)+"h":t>=a?Math.round(t/a)+"m":t>=s?Math.round(t/s)+"s":t+"ms"}function o(t){return i(t,p,"day")||i(t,c,"hour")||i(t,a,"minute")||i(t,s,"second")||t+" ms"}function i(t,e,r){if(!(t1)))/4)-_((t-1901+e)/100)+_((t-1601+e)/400)};if((d=m.hasOwnProperty)||(d=function(t){var e,r={};return(r.__proto__=null,r.__proto__={toString:1},r).toString!=v?d=function(t){var e=this.__proto__,r=t in(this.__proto__=null,this);return this.__proto__=e,r}:(e=r.constructor,d=function(t){var r=(this.constructor||e).prototype;return t in this&&!(t in r&&this[t]===r[t])}),r=null,d.call(this,t)}),y=function(t,e){var r,n,o,i=0;(r=function(){this.valueOf=0}).prototype.valueOf=0,n=new r;for(o in n)d.call(n,o)&&i++;return r=n=null,i?y=2==i?function(t,e){var r,n={},o=v.call(t)==k;for(r in t)o&&"prototype"==r||d.call(n,r)||!(n[r]=1)||!d.call(t,r)||e(r)}:function(t,e){var r,n,o=v.call(t)==k;for(r in t)o&&"prototype"==r||!d.call(t,r)||(n="constructor"===r)||e(r);(n||d.call(t,r="constructor"))&&e(r)}:(n=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"],y=function(t,e){var r,o,i=v.call(t)==k,a=!i&&"function"!=typeof t.constructor&&s[typeof t.hasOwnProperty]&&t.hasOwnProperty||d;for(r in t)i&&"prototype"==r||!a.call(t,r)||e(r);for(o=n.length;r=n[--o];a.call(t,r)&&e(r));}),y(t,e)},!r("json-stringify")){var j={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},P="000000",O=function(t,e){return(P+(e||0)).slice(-t)},N="\\u00",R=function(t){for(var e='"',r=0,n=t.length,o=!S||n>10,i=o&&(S?t.split(""):t);r-1/0&&a<1/0){if(T){for(f=_(a/864e5),p=_(f/365.2425)+1970-1;T(p+1,0)<=f;p++);for(h=_((f-T(p,0))/30.42);T(p,h+1)<=f;h++);f=1+f-T(p,h),l=(a%864e5+864e5)%864e5,m=_(l/36e5)%24,b=_(l/6e4)%60,k=_(l/1e3)%60,S=l%1e3}else p=a.getUTCFullYear(),h=a.getUTCMonth(),f=a.getUTCDate(),m=a.getUTCHours(),b=a.getUTCMinutes(),k=a.getUTCSeconds(),S=a.getUTCMilliseconds();a=(p<=0||p>=1e4?(p<0?"-":"+")+O(6,p<0?-p:p):O(4,p))+"-"+O(2,h+1)+"-"+O(2,f)+"T"+O(2,m)+":"+O(2,b)+":"+O(2,k)+"."+O(3,S)+"Z"}else a=null;if(r&&(a=r.call(e,t,a)),null===a)return"null";if(c=v.call(a),c==C)return""+a;if(c==x)return a>-1/0&&a<1/0?""+a:"null";if(c==A)return R(""+a);if("object"==typeof a){for(N=s.length;N--;)if(s[N]===a)throw u();if(s.push(a),E=[],U=i,i+=o,c==B){for(P=0,N=a.length;P0)for(n="",r>10&&(r=10);n.length=48&&o<=57||o>=97&&o<=102||o>=65&&o<=70||M();t+=L("0x"+i.slice(e,U));break;default:M()}else{if(34==o)break;for(o=i.charCodeAt(U),e=U;o>=32&&92!=o&&34!=o;)o=i.charCodeAt(++U);t+=i.slice(e,U)}if(34==i.charCodeAt(U))return U++,t;M();default:if(e=U,45==o&&(n=!0,o=i.charCodeAt(++U)),o>=48&&o<=57){for(48==o&&(o=i.charCodeAt(U+1),o>=48&&o<=57)&&M(),n=!1;U=48&&o<=57);U++);if(46==i.charCodeAt(U)){for(r=++U;r=48&&o<=57);r++);r==U&&M(),U=r}if(o=i.charCodeAt(U),101==o||69==o){for(o=i.charCodeAt(++U),43!=o&&45!=o||U++,r=U;r=48&&o<=57);r++);r==U&&M(),U=r}return+i.slice(e,U)}if(n&&M(),"true"==i.slice(U,U+4))return U+=4,!0;if("false"==i.slice(U,U+5))return U+=5,!1;if("null"==i.slice(U,U+4))return U+=4,null;M()}return"$"},z=function(t){var e,r;if("$"==t&&M(),"string"==typeof t){if("@"==(S?t.charAt(0):t[0]))return t.slice(1);if("["==t){for(e=[];t=H(),"]"!=t;r||(r=!0))r&&(","==t?(t=H(),"]"==t&&M()):M()),","==t&&M(),e.push(z(t));return e}if("{"==t){for(e={};t=H(),"}"!=t;r||(r=!0))r&&(","==t?(t=H(),"}"==t&&M()):M()),","!=t&&"string"==typeof t&&"@"==(S?t.charAt(0):t[0])&&":"==H()||M(),e[t.slice(1)]=z(H());return e}M()}return t},J=function(t,e,r){var n=X(t,e,r);n===g?delete t[e]:t[e]=n},X=function(t,e,r){var n,o=t[e];if("object"==typeof o&&o)if(v.call(o)==B)for(n=o.length;n--;)J(o,n,r);else y(o,function(t){J(o,t,r)});return r.call(t,e,o)};e.parse=function(t,e){var r,n;return U=0,q=""+t,r=z(H()),"$"!=H()&&M(),U=q=null,e&&v.call(e)==k?X((n={},n[""]=r,n),"",e):r}}}return e.runInContext=o,e}var i="function"==typeof n&&n.amd,s={function:!0,object:!0},a=s[typeof e]&&e&&!e.nodeType&&e,c=s[typeof window]&&window||this,p=a&&s[typeof t]&&t&&!t.nodeType&&"object"==typeof r&&r;if(!p||p.global!==p&&p.window!==p&&p.self!==p||(c=p),a&&!i)o(c,a);else{var h=c.JSON,u=c.JSON3,f=!1,l=o(c,c.JSON3={noConflict:function(){return f||(f=!0,c.JSON=h,c.JSON3=u,h=u=null),l}});c.JSON={parse:l.parse,stringify:l.stringify}}i&&n(function(){return l})}).call(this)}).call(e,r(8)(t),function(){return this}())},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){t.exports=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)}},function(t,e){function r(t){if(t)return n(t)}function n(t){for(var e in r.prototype)t[e]=r.prototype[e];return t}t.exports=r,r.prototype.on=r.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},r.prototype.once=function(t,e){function r(){n.off(t,r),e.apply(this,arguments)}var n=this;return this._callbacks=this._callbacks||{},r.fn=e,this.on(t,r),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var r=this._callbacks[t];if(!r)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var n,o=0;o0&&!this.encoding){var t=this.packetBuffer.shift();this.packet(t)}},n.prototype.cleanup=function(){u("cleanup");for(var t=this.subs.length,e=0;e=this._reconnectionAttempts)u("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var e=this.backoff.duration();u("will wait %dms before reconnect attempt",e),this.reconnecting=!0;var r=setTimeout(function(){t.skipReconnect||(u("attempting reconnect"),t.emitAll("reconnect_attempt",t.backoff.attempts),t.emitAll("reconnecting",t.backoff.attempts),t.skipReconnect||t.open(function(e){e?(u("reconnect attempt error"),t.reconnecting=!1,t.reconnect(),t.emitAll("reconnect_error",e.data)):(u("reconnect success"),t.onreconnect())}))},e);this.subs.push({destroy:function(){clearTimeout(r)}})}},n.prototype.onreconnect=function(){var t=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",t)}},function(t,e,r){t.exports=r(15)},function(t,e,r){t.exports=r(16),t.exports.parser=r(23)},function(t,e,r){(function(e){function n(t,r){if(!(this instanceof n))return new n(t,r);r=r||{},t&&"object"==typeof t&&(r=t,t=null),t?(t=h(t),r.hostname=t.host,r.secure="https"===t.protocol||"wss"===t.protocol,r.port=t.port,t.query&&(r.query=t.query)):r.host&&(r.hostname=h(r.host).host),this.secure=null!=r.secure?r.secure:e.location&&"https:"===location.protocol,r.hostname&&!r.port&&(r.port=this.secure?"443":"80"),this.agent=r.agent||!1,this.hostname=r.hostname||(e.location?location.hostname:"localhost"),this.port=r.port||(e.location&&location.port?location.port:this.secure?443:80),this.query=r.query||{},"string"==typeof this.query&&(this.query=f.decode(this.query)),this.upgrade=!1!==r.upgrade,this.path=(r.path||"/engine.io").replace(/\/$/,"")+"/",this.forceJSONP=!!r.forceJSONP,this.jsonp=!1!==r.jsonp,this.forceBase64=!!r.forceBase64,this.enablesXDR=!!r.enablesXDR,this.timestampParam=r.timestampParam||"t",this.timestampRequests=r.timestampRequests,this.transports=r.transports||["polling","websocket"],this.readyState="",this.writeBuffer=[],this.prevBufferLen=0,this.policyPort=r.policyPort||843,this.rememberUpgrade=r.rememberUpgrade||!1,this.binaryType=null,this.onlyBinaryUpgrades=r.onlyBinaryUpgrades,this.perMessageDeflate=!1!==r.perMessageDeflate&&(r.perMessageDeflate||{}),!0===this.perMessageDeflate&&(this.perMessageDeflate={}),this.perMessageDeflate&&null==this.perMessageDeflate.threshold&&(this.perMessageDeflate.threshold=1024),this.pfx=r.pfx||null,this.key=r.key||null,this.passphrase=r.passphrase||null,this.cert=r.cert||null,this.ca=r.ca||null,this.ciphers=r.ciphers||null,this.rejectUnauthorized=void 0===r.rejectUnauthorized?null:r.rejectUnauthorized;var o="object"==typeof e&&e;o.global===o&&r.extraHeaders&&Object.keys(r.extraHeaders).length>0&&(this.extraHeaders=r.extraHeaders),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,this.open()}function o(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}var i=r(17),s=r(31),a=r(3)("engine.io-client:socket"),c=r(38),p=r(23),h=r(2),u=r(39),f=r(32);t.exports=n,n.priorWebsocketSuccess=!1,s(n.prototype),n.protocol=p.protocol,n.Socket=n,n.Transport=r(22),n.transports=r(17),n.parser=r(23),n.prototype.createTransport=function(t){a('creating transport "%s"',t);var e=o(this.query);e.EIO=p.protocol,e.transport=t,this.id&&(e.sid=this.id);var r=new i[t]({agent:this.agent,hostname:this.hostname,port:this.port,secure:this.secure,path:this.path,query:e,forceJSONP:this.forceJSONP,jsonp:this.jsonp,forceBase64:this.forceBase64,enablesXDR:this.enablesXDR,timestampRequests:this.timestampRequests,timestampParam:this.timestampParam,policyPort:this.policyPort,socket:this,pfx:this.pfx,key:this.key,passphrase:this.passphrase,cert:this.cert,ca:this.ca,ciphers:this.ciphers,rejectUnauthorized:this.rejectUnauthorized,perMessageDeflate:this.perMessageDeflate,extraHeaders:this.extraHeaders});return r},n.prototype.open=function(){var t;if(this.rememberUpgrade&&n.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else{if(0===this.transports.length){var e=this;return void setTimeout(function(){e.emit("error","No transports available")},0)}t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)},n.prototype.setTransport=function(t){a("setting transport %s",t.name);var e=this;this.transport&&(a("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=t,t.on("drain",function(){e.onDrain()}).on("packet",function(t){e.onPacket(t)}).on("error",function(t){e.onError(t)}).on("close",function(){e.onClose("transport close")})},n.prototype.probe=function(t){function e(){if(f.onlyBinaryUpgrades){var e=!this.supportsBinary&&f.transport.supportsBinary;u=u||e}u||(a('probe transport "%s" opened',t),h.send([{type:"ping",data:"probe"}]),h.once("packet",function(e){if(!u)if("pong"===e.type&&"probe"===e.data){if(a('probe transport "%s" pong',t),f.upgrading=!0,f.emit("upgrading",h),!h)return;n.priorWebsocketSuccess="websocket"===h.name,a('pausing current transport "%s"',f.transport.name),f.transport.pause(function(){u||"closed"!==f.readyState&&(a("changing transport and sending upgrade packet"),p(),f.setTransport(h),h.send([{type:"upgrade"}]),f.emit("upgrade",h),h=null,f.upgrading=!1,f.flush())})}else{a('probe transport "%s" failed',t);var r=new Error("probe error");r.transport=h.name,f.emit("upgradeError",r)}}))}function r(){u||(u=!0,p(),h.close(),h=null)}function o(e){var n=new Error("probe error: "+e);n.transport=h.name,r(),a('probe transport "%s" failed because of error: %s',t,e),f.emit("upgradeError",n)}function i(){o("transport closed")}function s(){o("socket closed")}function c(t){h&&t.name!==h.name&&(a('"%s" works - aborting "%s"',t.name,h.name),r())}function p(){h.removeListener("open",e),h.removeListener("error",o),h.removeListener("close",i),f.removeListener("close",s),f.removeListener("upgrading",c)}a('probing transport "%s"',t);var h=this.createTransport(t,{probe:1}),u=!1,f=this;n.priorWebsocketSuccess=!1,h.once("open",e),h.once("error",o),h.once("close",i),this.once("close",s),this.once("upgrading",c),h.open()},n.prototype.onOpen=function(){if(a("socket open"),this.readyState="open",n.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.upgrade&&this.transport.pause){a("starting upgrade probes");for(var t=0,e=this.upgrades.length;t1?{type:b[o],data:t.substring(1)}:{type:b[o]}:k}var i=new Uint8Array(t),o=i[0],s=f(t,1);return w&&"blob"===r&&(s=new w([s])),{type:b[o],data:s}},e.decodeBase64Packet=function(t,e){var r=b[t.charAt(0)];if(!p)return{type:r,data:{base64:!0,data:t.substr(1)}};var n=p.decode(t.substr(1));return"blob"===e&&w&&(n=new w([n])),{type:r,data:n}},e.encodePayload=function(t,r,n){function o(t){return t.length+":"+t}function i(t,n){e.encodePacket(t,!!s&&r,!0,function(t){n(null,o(t))})}"function"==typeof r&&(n=r,r=null);var s=u(t);return r&&s?w&&!m?e.encodePayloadAsBlob(t,n):e.encodePayloadAsArrayBuffer(t,n):t.length?void c(t,i,function(t,e){return n(e.join(""))}):n("0:")},e.decodePayload=function(t,r,n){if("string"!=typeof t)return e.decodePayloadAsBinary(t,r,n);"function"==typeof r&&(n=r,r=null);var o;if(""==t)return n(k,0,1);for(var i,s,a="",c=0,p=t.length;c0;){for(var a=new Uint8Array(o),c=0===a[0],p="",h=1;255!=a[h];h++){if(p.length>310){s=!0;break}p+=a[h]}if(s)return n(k,0,1);o=f(o,2+p.length),p=parseInt(p);var u=f(o,0,p);if(c)try{u=String.fromCharCode.apply(null,new Uint8Array(u))}catch(t){var l=new Uint8Array(u);u="";for(var h=0;hn&&(r=n),e>=n||e>=r||0===n)return new ArrayBuffer(0);for(var o=new Uint8Array(t),i=new Uint8Array(r-e),s=e,a=0;s=55296&&e<=56319&&o65535&&(e-=65536,o+=b(e>>>10&1023|55296),e=56320|1023&e),o+=b(e);return o}function c(t,e){return b(t>>e&63|128)}function p(t){if(0==(4294967168&t))return b(t);var e="";return 0==(4294965248&t)?e=b(t>>6&31|192):0==(4294901760&t)?(e=b(t>>12&15|224),e+=c(t,6)):0==(4292870144&t)&&(e=b(t>>18&7|240),e+=c(t,12),e+=c(t,6)),e+=b(63&t|128)}function h(t){for(var e,r=s(t),n=r.length,o=-1,i="";++o=m)throw Error("Invalid byte index");var t=255&g[v];if(v++,128==(192&t))return 63&t;throw Error("Invalid continuation byte")}function f(){var t,e,r,n,o;if(v>m)throw Error("Invalid byte index");if(v==m)return!1;if(t=255&g[v],v++,0==(128&t))return t;if(192==(224&t)){var e=u();if(o=(31&t)<<6|e,o>=128)return o;throw Error("Invalid continuation byte")}if(224==(240&t)){if(e=u(),r=u(),o=(15&t)<<12|e<<6|r,o>=2048)return o;throw Error("Invalid continuation byte")}if(240==(248&t)&&(e=u(),r=u(),n=u(),o=(15&t)<<18|e<<12|r<<6|n,o>=65536&&o<=1114111))return o;throw Error("Invalid WTF-8 detected")}function l(t){g=s(t),m=g.length,v=0;for(var e,r=[];(e=f())!==!1;)r.push(e);return a(r)}var d="object"==typeof e&&e,y=("object"==typeof t&&t&&t.exports==d&&t,"object"==typeof o&&o);y.global!==y&&y.window!==y||(i=y);var g,m,v,b=String.fromCharCode,k={version:"1.0.0",encode:h,decode:l};n=function(){return k}.call(e,r,e,t),!(void 0!==n&&(t.exports=n))}(this)}).call(e,r(8)(t),function(){return this}())},function(t,e){!function(){"use strict";for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=new Uint8Array(256),n=0;n>2],i+=t[(3&n[r])<<4|n[r+1]>>4],i+=t[(15&n[r+1])<<2|n[r+2]>>6],i+=t[63&n[r+2]];return o%3===2?i=i.substring(0,i.length-1)+"=":o%3===1&&(i=i.substring(0,i.length-2)+"=="),i},e.decode=function(t){var e,n,o,i,s,a=.75*t.length,c=t.length,p=0;"="===t[t.length-1]&&(a--,"="===t[t.length-2]&&a--);var h=new ArrayBuffer(a),u=new Uint8Array(h);for(e=0;e>4,u[p++]=(15&o)<<4|i>>2,u[p++]=(3&i)<<6|63&s;return h}}()},function(t,e){(function(e){function r(t){for(var e=0;e0);return e}function n(t){var e=0;for(h=0;h';i=document.createElement(t)}catch(t){i=document.createElement("iframe"),i.name=o.iframeId,i.src="javascript:0"}i.id=o.iframeId,o.form.appendChild(i),o.iframe=i}var o=this;if(!this.form){var i,s=document.createElement("form"),a=document.createElement("textarea"),h=this.iframeId="eio_iframe_"+this.index;s.className="socketio",s.style.position="absolute",s.style.top="-1000px",s.style.left="-1000px",s.target=h,s.method="POST",s.setAttribute("accept-charset","utf-8"),a.name="d",s.appendChild(a),document.body.appendChild(s),this.form=s,this.area=a}this.form.action=this.uri(),n(),t=t.replace(p,"\\\n"),this.area.value=t.replace(c,"\\n");try{this.form.submit()}catch(t){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"===o.iframe.readyState&&r()}:this.iframe.onload=r}}).call(e,function(){return this}())},function(t,e,r){(function(e){function n(t){var e=t&&t.forceBase64;e&&(this.supportsBinary=!1),this.perMessageDeflate=t.perMessageDeflate,o.call(this,t)}var o=r(22),i=r(23),s=r(32),a=r(33),c=r(34),p=r(3)("engine.io-client:websocket"),h=e.WebSocket||e.MozWebSocket,u=h;if(!u&&"undefined"==typeof window)try{u=r(37)}catch(t){}t.exports=n,a(n,o),n.prototype.name="websocket",n.prototype.supportsBinary=!0,n.prototype.doOpen=function(){if(this.check()){var t=this.uri(),e=void 0,r={agent:this.agent,perMessageDeflate:this.perMessageDeflate};r.pfx=this.pfx,r.key=this.key,r.passphrase=this.passphrase,r.cert=this.cert,r.ca=this.ca,r.ciphers=this.ciphers,r.rejectUnauthorized=this.rejectUnauthorized,this.extraHeaders&&(r.headers=this.extraHeaders);try{this.ws=h?new u(t):new u(t,e,r)}catch(t){return this.emit("error",t)}void 0===this.ws.binaryType&&(this.supportsBinary=!1),this.ws.supports&&this.ws.supports.binary?(this.supportsBinary=!0,this.ws.binaryType="nodebuffer"):this.ws.binaryType="arraybuffer",this.addEventListeners()}},n.prototype.addEventListeners=function(){var t=this;this.ws.onopen=function(){t.onOpen()},this.ws.onclose=function(){t.onClose()},this.ws.onmessage=function(e){t.onData(e.data)},this.ws.onerror=function(e){t.onError("websocket error",e)}},"undefined"!=typeof navigator&&/iPad|iPhone|iPod/i.test(navigator.userAgent)&&(n.prototype.onData=function(t){var e=this;setTimeout(function(){o.prototype.onData.call(e,t)},0)}),n.prototype.write=function(t){function r(){n.emit("flush"),setTimeout(function(){n.writable=!0,n.emit("drain")},0)}var n=this;this.writable=!1;for(var o=t.length,s=0,a=o;s0&&t.jitter<=1?t.jitter:0,this.attempts=0}t.exports=r,r.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),r=Math.floor(e*this.jitter*t);t=0==(1&Math.floor(10*e))?t-r:t+r}return 0|Math.min(t,this.max)},r.prototype.reset=function(){this.attempts=0},r.prototype.setMin=function(t){this.ms=t},r.prototype.setMax=function(t){this.max=t},r.prototype.setJitter=function(t){this.jitter=t}}])}); -//# sourceMappingURL=socket.io.min.js.map \ No newline at end of file +/*! + * Socket.IO v4.7.2 + * (c) 2014-2023 Guillermo Rauch + * Released under the MIT License. + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).io=e()}(this,(function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}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 o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}var v=Object.create(null);v.open="0",v.close="1",v.ping="2",v.pong="3",v.message="4",v.upgrade="5",v.noop="6";var g=Object.create(null);Object.keys(v).forEach((function(t){g[v[t]]=t}));var m,b={type:"error",data:"parser error"},k="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),w="function"==typeof ArrayBuffer,_=function(t){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer},A=function(t,e,n){var r=t.type,i=t.data;return k&&i instanceof Blob?e?n(i):O(i,n):w&&(i instanceof ArrayBuffer||_(i))?e?n(i):O(new Blob([i]),n):n(v[r]+(i||""))},O=function(t,e){var n=new FileReader;return n.onload=function(){var t=n.result.split(",")[1];e("b"+(t||""))},n.readAsDataURL(t)};function E(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}for(var T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",R="undefined"==typeof Uint8Array?[]:new Uint8Array(256),C=0;C<64;C++)R[T.charCodeAt(C)]=C;var B,S="function"==typeof ArrayBuffer,N=function(t,e){if("string"!=typeof t)return{type:"message",data:x(t,e)};var n=t.charAt(0);return"b"===n?{type:"message",data:L(t.substring(1),e)}:g[n]?t.length>1?{type:g[n],data:t.substring(1)}:{type:g[n]}:b},L=function(t,e){if(S){var n=function(t){var e,n,r,i,o,s=.75*t.length,a=t.length,u=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var c=new ArrayBuffer(s),h=new Uint8Array(c);for(e=0;e>4,h[u++]=(15&r)<<4|i>>2,h[u++]=(3&i)<<6|63&o;return c}(t);return x(n,e)}return{base64:!0,data:t}},x=function(t,e){return"blob"===e?t instanceof Blob?t:new Blob([t]):t instanceof ArrayBuffer?t:t.buffer},P=String.fromCharCode(30);function q(){return new TransformStream({transform:function(t,e){!function(t,e){k&&t.data instanceof Blob?t.data.arrayBuffer().then(E).then(e):w&&(t.data instanceof ArrayBuffer||_(t.data))?e(E(t.data)):A(t,!1,(function(t){m||(m=new TextEncoder),e(m.encode(t))}))}(t,(function(n){var r,i=n.length;if(i<126)r=new Uint8Array(1),new DataView(r.buffer).setUint8(0,i);else if(i<65536){r=new Uint8Array(3);var o=new DataView(r.buffer);o.setUint8(0,126),o.setUint16(1,i)}else{r=new Uint8Array(9);var s=new DataView(r.buffer);s.setUint8(0,127),s.setBigUint64(1,BigInt(i))}t.data&&"string"!=typeof t.data&&(r[0]|=128),e.enqueue(r),e.enqueue(n)}))}})}function j(t){return t.reduce((function(t,e){return t+e.length}),0)}function D(t,e){if(t[0].length===e)return t.shift();for(var n=new Uint8Array(e),r=0,i=0;i1?e-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:{};return t+"://"+this._hostname()+this._port()+this.opts.path+this._query(e)}},{key:"_hostname",value:function(){var t=this.opts.hostname;return-1===t.indexOf(":")?t:"["+t+"]"}},{key:"_port",value:function(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}},{key:"_query",value:function(t){var e=function(t){var e="";for(var n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e}(t);return e.length?"?"+e:""}}]),i}(U),z="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),J=64,$={},Q=0,X=0;function G(t){var e="";do{e=z[t%J]+e,t=Math.floor(t/J)}while(t>0);return e}function Z(){var t=G(+new Date);return t!==K?(Q=0,K=t):t+"."+G(Q++)}for(;X0&&void 0!==arguments[0]?arguments[0]:{};return i(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new st(this.uri(),t)}},{key:"doWrite",value:function(t,e){var n=this,r=this.request({method:"POST",data:t});r.on("success",e),r.on("error",(function(t,e){n.onError("xhr post error",t,e)}))}},{key:"doPoll",value:function(){var t=this,e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(function(e,n){t.onError("xhr poll error",e,n)})),this.pollXhr=e}}]),s}(W),st=function(t){o(i,t);var n=l(i);function i(t,r){var o;return e(this,i),H(f(o=n.call(this)),r),o.opts=r,o.method=r.method||"GET",o.uri=t,o.data=void 0!==r.data?r.data:null,o.create(),o}return r(i,[{key:"create",value:function(){var t,e=this,n=F(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;var r=this.xhr=new nt(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders)for(var o in r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(o)&&r.setRequestHeader(o,this.opts.extraHeaders[o])}catch(t){}if("POST"===this.method)try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{r.setRequestHeader("Accept","*/*")}catch(t){}null===(t=this.opts.cookieJar)||void 0===t||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=function(){var t;3===r.readyState&&(null===(t=e.opts.cookieJar)||void 0===t||t.parseCookies(r)),4===r.readyState&&(200===r.status||1223===r.status?e.onLoad():e.setTimeoutFn((function(){e.onError("number"==typeof r.status?r.status:0)}),0))},r.send(this.data)}catch(t){return void this.setTimeoutFn((function(){e.onError(t)}),0)}"undefined"!=typeof document&&(this.index=i.requestsCount++,i.requests[this.index]=this)}},{key:"onError",value:function(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}},{key:"cleanup",value:function(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=rt,t)try{this.xhr.abort()}catch(t){}"undefined"!=typeof document&&delete i.requests[this.index],this.xhr=null}}},{key:"onLoad",value:function(){var t=this.xhr.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}},{key:"abort",value:function(){this.cleanup()}}]),i}(U);if(st.requestsCount=0,st.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",at);else if("function"==typeof addEventListener){addEventListener("onpagehide"in I?"pagehide":"unload",at,!1)}function at(){for(var t in st.requests)st.requests.hasOwnProperty(t)&&st.requests[t].abort()}var ut="function"==typeof Promise&&"function"==typeof Promise.resolve?function(t){return Promise.resolve().then(t)}:function(t,e){return e(t,0)},ct=I.WebSocket||I.MozWebSocket,ht="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),ft=function(t){o(i,t);var n=l(i);function i(t){var r;return e(this,i),(r=n.call(this,t)).supportsBinary=!t.forceBase64,r}return r(i,[{key:"name",get:function(){return"websocket"}},{key:"doOpen",value:function(){if(this.check()){var t=this.uri(),e=this.opts.protocols,n=ht?{}:F(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=ht?new ct(t,e,n):e?new ct(t,e):new ct(t)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}}},{key:"addEventListeners",value:function(){var t=this;this.ws.onopen=function(){t.opts.autoUnref&&t.ws._socket.unref(),t.onOpen()},this.ws.onclose=function(e){return t.onClose({description:"websocket connection closed",context:e})},this.ws.onmessage=function(e){return t.onData(e.data)},this.ws.onerror=function(e){return t.onError("websocket error",e)}}},{key:"write",value:function(t){var e=this;this.writable=!1;for(var n=function(){var n=t[r],i=r===t.length-1;A(n,e.supportsBinary,(function(t){try{e.ws.send(t)}catch(t){}i&&ut((function(){e.writable=!0,e.emitReserved("drain")}),e.setTimeoutFn)}))},r=0;rMath.pow(2,21)-1){a.enqueue(b);break}i=l*Math.pow(2,32)+f.getUint32(4),r=3}else{if(j(n)t){a.enqueue(b);break}}}})}(Number.MAX_SAFE_INTEGER,t.socket.binaryType),r=e.readable.pipeThrough(n).getReader(),i=q();i.readable.pipeTo(e.writable),t.writer=i.writable.getWriter();!function e(){r.read().then((function(n){var r=n.done,i=n.value;r||(t.onPacket(i),e())})).catch((function(t){}))}();var o={type:"open"};t.query.sid&&(o.data='{"sid":"'.concat(t.query.sid,'"}')),t.writer.write(o).then((function(){return t.onOpen()}))}))})))}},{key:"write",value:function(t){var e=this;this.writable=!1;for(var n=function(){var n=t[r],i=r===t.length-1;e.writer.write(n).then((function(){i&&ut((function(){e.writable=!0,e.emitReserved("drain")}),e.setTimeoutFn)}))},r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return e(this,a),(r=s.call(this)).binaryType="arraybuffer",r.writeBuffer=[],n&&"object"===t(n)&&(o=n,n=null),n?(n=vt(n),o.hostname=n.host,o.secure="https"===n.protocol||"wss"===n.protocol,o.port=n.port,n.query&&(o.query=n.query)):o.host&&(o.hostname=vt(o.host).host),H(f(r),o),r.secure=null!=o.secure?o.secure:"undefined"!=typeof location&&"https:"===location.protocol,o.hostname&&!o.port&&(o.port=r.secure?"443":"80"),r.hostname=o.hostname||("undefined"!=typeof location?location.hostname:"localhost"),r.port=o.port||("undefined"!=typeof location&&location.port?location.port:r.secure?"443":"80"),r.transports=o.transports||["polling","websocket","webtransport"],r.writeBuffer=[],r.prevBufferLen=0,r.opts=i({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},o),r.opts.path=r.opts.path.replace(/\/$/,"")+(r.opts.addTrailingSlash?"/":""),"string"==typeof r.opts.query&&(r.opts.query=function(t){for(var e={},n=t.split("&"),r=0,i=n.length;r1))return this.writeBuffer;for(var t,e=1,n=0;n=57344?n+=3:(r++,n+=4);return n}(t):Math.ceil(1.33*(t.byteLength||t.size))),n>0&&e>this.maxPayload)return this.writeBuffer.slice(0,n);e+=2}return this.writeBuffer}},{key:"write",value:function(t,e,n){return this.sendPacket("message",t,e,n),this}},{key:"send",value:function(t,e,n){return this.sendPacket("message",t,e,n),this}},{key:"sendPacket",value:function(t,e,n,r){if("function"==typeof e&&(r=e,e=void 0),"function"==typeof n&&(r=n,n=null),"closing"!==this.readyState&&"closed"!==this.readyState){(n=n||{}).compress=!1!==n.compress;var i={type:t,data:e,options:n};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),r&&this.once("flush",r),this.flush()}}},{key:"close",value:function(){var t=this,e=function(){t.onClose("forced close"),t.transport.close()},n=function n(){t.off("upgrade",n),t.off("upgradeError",n),e()},r=function(){t.once("upgrade",n),t.once("upgradeError",n)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){t.upgrading?r():e()})):this.upgrading?r():e()),this}},{key:"onError",value:function(t){a.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}},{key:"onClose",value:function(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,e),this.writeBuffer=[],this.prevBufferLen=0)}},{key:"filterUpgrades",value:function(t){for(var e=[],n=0,r=t.length;n=0&&e.num1?e-1:0),r=1;r1?n-1:0),i=1;in._opts.retries&&(n._queue.shift(),e&&e(t));else if(n._queue.shift(),e){for(var i=arguments.length,o=new Array(i>1?i-1:0),s=1;s0&&void 0!==arguments[0]&&arguments[0];if(this.connected&&0!==this._queue.length){var e=this._queue[0];e.pending&&!t||(e.pending=!0,e.tryCount++,this.flags=e.flags,this.emit.apply(this,e.args))}}},{key:"packet",value:function(t){t.nsp=this.nsp,this.io._packet(t)}},{key:"onopen",value:function(){var t=this;"function"==typeof this.auth?this.auth((function(e){t._sendConnectPacket(e)})):this._sendConnectPacket(this.auth)}},{key:"_sendConnectPacket",value:function(t){this.packet({type:Bt.CONNECT,data:this._pid?i({pid:this._pid,offset:this._lastOffset},t):t})}},{key:"onerror",value:function(t){this.connected||this.emitReserved("connect_error",t)}},{key:"onclose",value:function(t,e){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,e)}},{key:"onpacket",value:function(t){if(t.nsp===this.nsp)switch(t.type){case Bt.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 Bt.EVENT:case Bt.BINARY_EVENT:this.onevent(t);break;case Bt.ACK:case Bt.BINARY_ACK:this.onack(t);break;case Bt.DISCONNECT:this.ondisconnect();break;case Bt.CONNECT_ERROR:this.destroy();var e=new Error(t.data.message);e.data=t.data.data,this.emitReserved("connect_error",e)}}},{key:"onevent",value:function(t){var e=t.data||[];null!=t.id&&e.push(this.ack(t.id)),this.connected?this.emitEvent(e):this.receiveBuffer.push(Object.freeze(e))}},{key:"emitEvent",value:function(t){if(this._anyListeners&&this._anyListeners.length){var e,n=y(this._anyListeners.slice());try{for(n.s();!(e=n.n()).done;){e.value.apply(this,t)}}catch(t){n.e(t)}finally{n.f()}}p(s(a.prototype),"emit",this).apply(this,t),this._pid&&t.length&&"string"==typeof t[t.length-1]&&(this._lastOffset=t[t.length-1])}},{key:"ack",value:function(t){var e=this,n=!1;return function(){if(!n){n=!0;for(var r=arguments.length,i=new Array(r),o=0;o0&&t.jitter<=1?t.jitter:0,this.attempts=0}It.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=0==(1&Math.floor(10*e))?t-n:t+n}return 0|Math.min(t,this.max)},It.prototype.reset=function(){this.attempts=0},It.prototype.setMin=function(t){this.ms=t},It.prototype.setMax=function(t){this.max=t},It.prototype.setJitter=function(t){this.jitter=t};var Ft=function(n){o(s,n);var i=l(s);function s(n,r){var o,a;e(this,s),(o=i.call(this)).nsps={},o.subs=[],n&&"object"===t(n)&&(r=n,n=void 0),(r=r||{}).path=r.path||"/socket.io",o.opts=r,H(f(o),r),o.reconnection(!1!==r.reconnection),o.reconnectionAttempts(r.reconnectionAttempts||1/0),o.reconnectionDelay(r.reconnectionDelay||1e3),o.reconnectionDelayMax(r.reconnectionDelayMax||5e3),o.randomizationFactor(null!==(a=r.randomizationFactor)&&void 0!==a?a:.5),o.backoff=new It({min:o.reconnectionDelay(),max:o.reconnectionDelayMax(),jitter:o.randomizationFactor()}),o.timeout(null==r.timeout?2e4:r.timeout),o._readyState="closed",o.uri=n;var u=r.parser||qt;return o.encoder=new u.Encoder,o.decoder=new u.Decoder,o._autoConnect=!1!==r.autoConnect,o._autoConnect&&o.open(),o}return r(s,[{key:"reconnection",value:function(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}},{key:"reconnectionAttempts",value:function(t){return void 0===t?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}},{key:"reconnectionDelay",value:function(t){var e;return void 0===t?this._reconnectionDelay:(this._reconnectionDelay=t,null===(e=this.backoff)||void 0===e||e.setMin(t),this)}},{key:"randomizationFactor",value:function(t){var e;return void 0===t?this._randomizationFactor:(this._randomizationFactor=t,null===(e=this.backoff)||void 0===e||e.setJitter(t),this)}},{key:"reconnectionDelayMax",value:function(t){var e;return void 0===t?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,null===(e=this.backoff)||void 0===e||e.setMax(t),this)}},{key:"timeout",value:function(t){return arguments.length?(this._timeout=t,this):this._timeout}},{key:"maybeReconnectOnOpen",value:function(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}},{key:"open",value:function(t){var e=this;if(~this._readyState.indexOf("open"))return this;this.engine=new gt(this.uri,this.opts);var n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;var i=jt(n,"open",(function(){r.onopen(),t&&t()})),o=function(n){e.cleanup(),e._readyState="closed",e.emitReserved("error",n),t?t(n):e.maybeReconnectOnOpen()},s=jt(n,"error",o);if(!1!==this._timeout){var a=this._timeout,u=this.setTimeoutFn((function(){i(),o(new Error("timeout")),n.close()}),a);this.opts.autoUnref&&u.unref(),this.subs.push((function(){e.clearTimeoutFn(u)}))}return this.subs.push(i),this.subs.push(s),this}},{key:"connect",value:function(t){return this.open(t)}},{key:"onopen",value:function(){this.cleanup(),this._readyState="open",this.emitReserved("open");var t=this.engine;this.subs.push(jt(t,"ping",this.onping.bind(this)),jt(t,"data",this.ondata.bind(this)),jt(t,"error",this.onerror.bind(this)),jt(t,"close",this.onclose.bind(this)),jt(this.decoder,"decoded",this.ondecoded.bind(this)))}},{key:"onping",value:function(){this.emitReserved("ping")}},{key:"ondata",value:function(t){try{this.decoder.add(t)}catch(t){this.onclose("parse error",t)}}},{key:"ondecoded",value:function(t){var e=this;ut((function(){e.emitReserved("packet",t)}),this.setTimeoutFn)}},{key:"onerror",value:function(t){this.emitReserved("error",t)}},{key:"socket",value:function(t,e){var n=this.nsps[t];return n?this._autoConnect&&!n.active&&n.connect():(n=new Ut(this,t,e),this.nsps[t]=n),n}},{key:"_destroy",value:function(t){for(var e=0,n=Object.keys(this.nsps);e=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{var n=this.backoff.duration();this._reconnecting=!0;var r=this.setTimeoutFn((function(){e.skipReconnect||(t.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((function(n){n?(e._reconnecting=!1,e.reconnect(),t.emitReserved("reconnect_error",n)):e.onreconnect()})))}),n);this.opts.autoUnref&&r.unref(),this.subs.push((function(){t.clearTimeoutFn(r)}))}}},{key:"onreconnect",value:function(){var t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}]),s}(U),Mt={};function Vt(e,n){"object"===t(e)&&(n=e,e=void 0);var r,i=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,r=t;n=n||"undefined"!=typeof location&&location,null==t&&(t=n.protocol+"//"+n.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?n.protocol+t:n.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==n?n.protocol+"//"+t:"https://"+t),r=vt(t)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";var i=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+i+":"+r.port+e,r.href=r.protocol+"://"+i+(n&&n.port===r.port?"":":"+r.port),r}(e,(n=n||{}).path||"/socket.io"),o=i.source,s=i.id,a=i.path,u=Mt[s]&&a in Mt[s].nsps;return n.forceNew||n["force new connection"]||!1===n.multiplex||u?r=new Ft(o,n):(Mt[s]||(Mt[s]=new Ft(o,n)),r=Mt[s]),i.query&&!n.query&&(n.query=i.queryKey),r.socket(i.path,n)}return i(Vt,{Manager:Ft,Socket:Ut,io:Vt,connect:Vt}),Vt})); +//# sourceMappingURL=socket.io.min.js.map diff --git a/socket.io.min.js.map b/socket.io.min.js.map deleted file mode 100644 index f83afe7..0000000 --- a/socket.io.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["socket.io.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","lookup","uri","opts","_typeof","undefined","io","parsed","url","source","path","sameNamespace","cache","nsps","newConnection","forceNew","multiplex","debug","Manager","query","encodeQueryString","socket","obj","str","hasOwnProperty","push","encodeURIComponent","join","Symbol","iterator","constructor","prototype","parser","managers","protocol","connect","Socket","global","loc","location","host","charAt","test","parseuri","port","ipv6","indexOf","href","re","parts","src","b","e","substring","replace","length","exec","i","authority","ipv6uri","useColors","document","documentElement","style","window","console","firebug","exception","table","navigator","userAgent","toLowerCase","match","parseInt","RegExp","$1","formatArgs","args","arguments","namespace","humanize","diff","color","concat","Array","slice","index","lastC","splice","log","Function","apply","save","namespaces","storage","removeItem","load","r","localstorage","localStorage","chrome","local","colors","formatters","j","v","JSON","stringify","enable","selectColor","prevColor","disabled","enabled","self","curr","Date","ms","prevTime","prev","coerce","format","formatter","val","logFn","bind","fn","split","len","skips","substr","names","disable","name","Error","stack","message","parse","n","parseFloat","type","y","d","h","s","short","Math","round","long","plural","floor","ceil","options","Encoder","encodeAsString","nsp","BINARY_EVENT","BINARY_ACK","attachments","data","json","encodeAsBinary","callback","writeEncoding","bloblessData","deconstruction","binary","deconstructPacket","pack","packet","buffers","unshift","removeBlobs","Decoder","reconstructor","decodeString","Number","types","error","buf","next","BinaryReconstructor","reconPack","ERROR","Emitter","isBuf","CONNECT","DISCONNECT","EVENT","ACK","encode","encoding","add","emit","base64","takeBinaryData","destroy","finishedReconstruction","binData","reconstructPacket","runInContext","context","has","undef","isSupported","value","serialized","stringifySupported","isExtended","toJSON","String","getClass","a","parseSupported","Object","SyntaxError","TypeError","nativeJSON","isProperty","forEach","objectProto","toString","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","functionClass","dateClass","numberClass","stringClass","arrayClass","booleanClass","charIndexBuggy","Months","getDay","year","month","property","members","__proto__","original","result","parent","object","Properties","size","valueOf","isFunction","isConstructor","hasProperty","objectTypes","Escapes","92","34","8","12","10","13","9","leadingZeroes","toPaddedString","width","unicodePrefix","quote","useCharIndex","symbols","charCode","charCodeAt","serialize","properties","whitespace","indentation","className","date","time","hours","minutes","seconds","milliseconds","results","element","prefix","pop","filter","Index","Source","fromCharCode","Unescapes","47","98","116","110","102","114","abort","lex","begin","position","isSigned","get","hasMembers","update","walk","isLoader","function","freeExports","nodeType","freeGlobal","previousJSON","isRestored","JSON3","noConflict","webpackPolyfill","deprecate","paths","children","isArray","arr","mixin","key","on","addEventListener","event","_callbacks","once","off","removeListener","removeAllListeners","removeEventListener","callbacks","cb","listeners","hasListeners","_deconstructPacket","placeholder","_placeholder","num","newData","packetData","_reconstructPacket","_removeBlobs","curKey","containingObject","Blob","File","pendingBlobs","fileReader","FileReader","onload","readAsArrayBuffer","Buffer","isBuffer","ArrayBuffer","subs","reconnection","reconnectionAttempts","Infinity","reconnectionDelay","reconnectionDelayMax","randomizationFactor","backoff","Backoff","min","max","jitter","timeout","readyState","connecting","lastPing","packetBuffer","encoder","decoder","autoConnect","open","eio","emitAll","updateSocketIds","engine","_reconnection","_reconnectionAttempts","_reconnectionDelay","setMin","_randomizationFactor","setJitter","_reconnectionDelayMax","setMax","_timeout","maybeReconnectOnOpen","reconnecting","attempts","reconnect","skipReconnect","openSub","onopen","errorSub","cleanup","err","timer","setTimeout","close","clearTimeout","onping","onpong","ondata","ondecoded","onerror","onConnecting","encodedPackets","write","processPacketQueue","shift","subsLength","sub","disconnect","reset","onclose","reason","delay","duration","onreconnect","attempt","hostname","secure","agent","parseqs","decode","upgrade","forceJSONP","jsonp","forceBase64","enablesXDR","timestampParam","timestampRequests","transports","writeBuffer","prevBufferLen","policyPort","rememberUpgrade","binaryType","onlyBinaryUpgrades","perMessageDeflate","threshold","pfx","passphrase","cert","ca","ciphers","rejectUnauthorized","extraHeaders","keys","upgrades","pingInterval","pingTimeout","pingIntervalTimer","pingTimeoutTimer","clone","o","parsejson","priorWebsocketSuccess","Transport","createTransport","EIO","transport","sid","setTransport","onDrain","onPacket","onError","onClose","probe","onTransportOpen","upgradeLosesBinary","supportsBinary","failed","send","msg","upgrading","pause","flush","freezeTransport","onTransportClose","onupgrade","to","onOpen","l","onHandshake","setPing","code","filterUpgrades","onHeartbeat","ping","sendPacket","writable","compress","cleanupAndClose","waitForUpgrade","desc","filteredUpgrades","polling","xhr","xd","xs","isSSL","xdomain","xscheme","XMLHttpRequest","XHR","JSONP","websocket","hasCORS","XDomainRequest","ActiveXObject","empty","Polling","Request","method","async","isBinary","create","unloadHandler","requests","inherit","request","doWrite","req","sendXhr","doPoll","onData","pollXhr","setDisableHeaderCheck","setRequestHeader","responseType","withCredentials","hasXDR","onLoad","responseText","onreadystatechange","status","requestsCount","onSuccess","fromError","contentType","getResponseHeader","response","Uint8Array","ui8Arr","dataArray","idx","attachEvent","hasXHR2","yeast","doOpen","poll","onPause","total","decodePayload","doClose","packets","callbackfn","encodePayload","schema","b64","description","decodePacket","encodeBase64Object","encodeArrayBuffer","encodeBase64Packet","contentArray","resultBuffer","byteLength","buffer","encodeBlobAsArrayBuffer","fr","encodePacket","encodeBlob","dontSendBlobs","blob","tryDecode","utf8","map","ary","each","done","after","eachWithIndex","el","base64encoder","hasBinary","sliceBuffer","isAndroid","isPhantomJS","pong","noop","packetslist","utf8encode","encoded","readAsDataURL","b64data","typed","basic","btoa","utf8decode","decodeBase64Packet","asArray","rest","setLengthHeader","encodeOne","doneCallback","encodePayloadAsBlob","encodePayloadAsArrayBuffer","decodePayloadAsBinary","chr","ret","totalLength","reduce","acc","resultArray","bufferIndex","isString","ab","view","lenStr","binaryIdentifier","lengthAry","bufferTail","numberTooLong","tailArray","msgLength","_hasBinary","arraybuffer","start","end","bytes","abv","ii","count","err_cb","proxy","bail","__WEBPACK_AMD_DEFINE_RESULT__","ucs2decode","string","extra","output","counter","ucs2encode","array","stringFromCharCode","createByte","codePoint","encodeCodePoint","symbol","wtf8encode","codePoints","byteString","readContinuationByte","byteIndex","byteCount","continuationByte","byteArray","decodeSymbol","byte1","byte2","byte3","byte4","wtf8decode","tmp","wtf8","version","chars","encoded1","encoded2","encoded3","encoded4","bufferLength","mapArrayBufferViews","chunk","copy","set","byteOffset","BlobBuilderConstructor","bb","BlobBuilder","append","getBlob","BlobConstructor","WebKitBlobBuilder","MSBlobBuilder","MozBlobBuilder","blobSupported","blobSupportsArrayBufferView","blobBuilderSupported","qs","qry","pairs","pair","decodeURIComponent","alphabet","decoded","now","seed","JSONPPolling","___eio","script","rNewline","rEscapedNewline","parentNode","removeChild","form","iframe","createElement","insertAt","getElementsByTagName","insertBefore","head","body","appendChild","isUAgecko","complete","initIframe","html","iframeId","area","top","left","target","setAttribute","action","submit","WS","BrowserWebSocket","WebSocket","MozWebSocket","check","protocols","headers","ws","supports","addEventListeners","onmessage","ev","rvalidchars","rvalidescape","rvalidtokens","rvalidbraces","rtrimLeft","rtrimRight","ids","acks","receiveBuffer","sendBuffer","connected","disconnected","toArray","hasBin","events","connect_error","connect_timeout","reconnect_attempt","reconnect_failed","reconnect_error","subEvents","parserType","flags","onpacket","onconnect","onevent","onack","ondisconnect","ack","sent","emitBuffered","list","factor","pow","rand","random","deviation"],"mappings":"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","file":"socket.io.min.js"} \ No newline at end of file