2 lines
49 KiB
JavaScript
Executable File
2 lines
49 KiB
JavaScript
Executable File
var _t=Object.create;var me=Object.defineProperty;var Rt=Object.getOwnPropertyDescriptor;var kt=Object.getOwnPropertyNames;var St=Object.getPrototypeOf,Pt=Object.prototype.hasOwnProperty;var It=(t,e,r)=>e in t?me(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var Ft=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Ke=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Tt=(t,e)=>{for(var r in e)me(t,r,{get:e[r],enumerable:!0})},Mt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of kt(e))!Pt.call(t,i)&&i!==r&&me(t,i,{get:()=>e[i],enumerable:!(n=Rt(e,i))||n.enumerable});return t};var Ie=(t,e,r)=>(r=t!=null?_t(St(t)):{},Mt(e||!t||!t.__esModule?me(r,"default",{value:t,enumerable:!0}):r,t));var l=(t,e,r)=>It(t,typeof e!="symbol"?e+"":e,r);var Te=Ke((wr,Fe)=>{"use strict";var q=typeof Reflect=="object"?Reflect:null,qe=q&&typeof q.apply=="function"?q.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},ye;q&&typeof q.ownKeys=="function"?ye=q.ownKeys:Object.getOwnPropertySymbols?ye=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:ye=function(e){return Object.getOwnPropertyNames(e)};function Ut(t){console&&console.warn&&console.warn(t)}var Ve=Number.isNaN||function(e){return e!==e};function y(){y.init.call(this)}Fe.exports=y;Fe.exports.once=Jt;y.EventEmitter=y;y.prototype._events=void 0;y.prototype._eventsCount=0;y.prototype._maxListeners=void 0;var $e=10;function ve(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(y,"defaultMaxListeners",{enumerable:!0,get:function(){return $e},set:function(t){if(typeof t!="number"||t<0||Ve(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");$e=t}});y.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};y.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Ve(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Qe(t){return t._maxListeners===void 0?y.defaultMaxListeners:t._maxListeners}y.prototype.getMaxListeners=function(){return Qe(this)};y.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=o[e];if(u===void 0)return!1;if(typeof u=="function")qe(u,this,r);else for(var f=u.length,h=tt(u,f),n=0;n<f;++n)qe(h[n],this,r);return!0};function Xe(t,e,r,n){var i,o,s;if(ve(r),o=t._events,o===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=Qe(t),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,Ut(a)}return t}y.prototype.addListener=function(e,r){return Xe(this,e,r,!1)};y.prototype.on=y.prototype.addListener;y.prototype.prependListener=function(e,r){return Xe(this,e,r,!0)};function Bt(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Ze(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=Bt.bind(n);return i.listener=r,n.wrapFn=i,i}y.prototype.once=function(e,r){return ve(r),this.on(e,Ze(this,e,r)),this};y.prototype.prependOnceListener=function(e,r){return ve(r),this.prependListener(e,Ze(this,e,r)),this};y.prototype.removeListener=function(e,r){var n,i,o,s,a;if(ve(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():Nt(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};y.prototype.off=y.prototype.removeListener;y.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function Ye(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?jt(i):tt(i,i.length)}y.prototype.listeners=function(e){return Ye(this,e,!0)};y.prototype.rawListeners=function(e){return Ye(this,e,!1)};y.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):et.call(t,e)};y.prototype.listenerCount=et;function et(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}y.prototype.eventNames=function(){return this._eventsCount>0?ye(this._events):[]};function tt(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function Nt(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function jt(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function Jt(t,e){return new Promise(function(r,n){function i(s){t.removeListener(e,o),n(s)}function o(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}rt(t,e,o,{once:!0}),e!=="error"&&Ht(t,i,{once:!0})})}function Ht(t,e,r){typeof t.on=="function"&&rt(t,"error",e,r)}function rt(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(o){n.once&&t.removeEventListener(e,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var mt=Ke((fn,X)=>{"use strict";var c={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(t){this.toString=function(){return"CORRUPT: "+this.message},this.message=t},invalid:function(t){this.toString=function(){return"INVALID: "+this.message},this.message=t},bug:function(t){this.toString=function(){return"BUG: "+this.message},this.message=t},notReady:function(t){this.toString=function(){return"NOT READY: "+this.message},this.message=t}}};c.cipher.aes=function(t){this.w[0][0][0]||this.C();var e,r,n,i,o=this.w[0][4],s=this.w[1];e=t.length;var a=1;if(e!==4&&e!==6&&e!==8)throw new c.exception.invalid("invalid aes key size");for(this.b=[n=t.slice(0),i=[]],t=e;t<4*e+28;t++)r=n[t-1],(t%e===0||e===8&&t%e===4)&&(r=o[r>>>24]<<24^o[r>>16&255]<<16^o[r>>8&255]<<8^o[r&255],t%e===0&&(r=r<<8^r>>>24^a<<24,a=a<<1^283*(a>>7))),n[t]=n[t-e]^r;for(e=0;t;e++,t--)r=n[e&3?t:t-4],i[e]=4>=t||4>e?r:s[0][o[r>>>24]]^s[1][o[r>>16&255]]^s[2][o[r>>8&255]]^s[3][o[r&255]]};c.cipher.aes.prototype={encrypt:function(t){return lt(this,t,0)},decrypt:function(t){return lt(this,t,1)},w:[[[],[],[],[],[]],[[],[],[],[],[]]],C:function(){var t=this.w[0],e=this.w[1],r=t[4],n=e[4],i,o,s,a=[],u=[],f,h,p,d;for(i=0;256>i;i++)u[(a[i]=i<<1^283*(i>>7))^i]=i;for(o=s=0;!r[o];o^=f||1,s=u[s]||1)for(p=s^s<<1^s<<2^s<<3^s<<4,p=p>>8^p&255^99,r[o]=p,n[p]=o,h=a[i=a[f=a[o]]],d=16843009*h^65537*i^257*f^16843008*o,h=257*a[p]^16843008*p,i=0;4>i;i++)t[i][o]=h=h<<24^h>>>8,e[i][p]=d=d<<24^d>>>8;for(i=0;5>i;i++)t[i]=t[i].slice(0),e[i]=e[i].slice(0)}};function lt(t,e,r){if(e.length!==4)throw new c.exception.invalid("invalid aes block size");var n=t.b[r],i=e[0]^n[0],o=e[r?3:1]^n[1],s=e[2]^n[2];e=e[r?1:3]^n[3];var a,u,f,h=n.length/4-2,p,d=4,m=[0,0,0,0];a=t.w[r],t=a[0];var A=a[1],_=a[2],P=a[3],J=a[4];for(p=0;p<h;p++)a=t[i>>>24]^A[o>>16&255]^_[s>>8&255]^P[e&255]^n[d],u=t[o>>>24]^A[s>>16&255]^_[e>>8&255]^P[i&255]^n[d+1],f=t[s>>>24]^A[e>>16&255]^_[i>>8&255]^P[o&255]^n[d+2],e=t[e>>>24]^A[i>>16&255]^_[o>>8&255]^P[s&255]^n[d+3],d+=4,i=a,o=u,s=f;for(p=0;4>p;p++)m[r?3&-p:p]=J[i>>>24]<<24^J[o>>16&255]<<16^J[s>>8&255]<<8^J[e&255]^n[d++],a=i,i=o,o=s,s=e,e=a;return m}c.bitArray={bitSlice:function(t,e,r){return t=c.bitArray.Y(t.slice(e/32),32-(e&31)).slice(1),r===void 0?t:c.bitArray.clamp(t,r-e)},extract:function(t,e,r){var n=Math.floor(-e-r&31);return((e+r-1^e)&-32?t[e/32|0]<<32-n^t[e/32+1|0]>>>n:t[e/32|0]>>>n)&(1<<r)-1},concat:function(t,e){if(t.length===0||e.length===0)return t.concat(e);var r=t[t.length-1],n=c.bitArray.getPartial(r);return n===32?t.concat(e):c.bitArray.Y(e,n,r|0,t.slice(0,t.length-1))},bitLength:function(t){var e=t.length;return e===0?0:32*(e-1)+c.bitArray.getPartial(t[e-1])},clamp:function(t,e){if(32*t.length<e)return t;t=t.slice(0,Math.ceil(e/32));var r=t.length;return e=e&31,0<r&&e&&(t[r-1]=c.bitArray.partial(e,t[r-1]&2147483648>>e-1,1)),t},partial:function(t,e,r){return t===32?e:(r?e|0:e<<32-t)+1099511627776*t},getPartial:function(t){return Math.round(t/1099511627776)||32},equal:function(t,e){if(c.bitArray.bitLength(t)!==c.bitArray.bitLength(e))return!1;var r=0,n;for(n=0;n<t.length;n++)r|=t[n]^e[n];return r===0},Y:function(t,e,r,n){var i;for(i=0,n===void 0&&(n=[]);32<=e;e-=32)n.push(r),r=0;if(e===0)return n.concat(t);for(i=0;i<t.length;i++)n.push(r|t[i]>>>e),r=t[i]<<32-e;return i=t.length?t[t.length-1]:0,t=c.bitArray.getPartial(i),n.push(c.bitArray.partial(e+t&31,32<e+t?r:n.pop(),1)),n},P:function(t,e){return[t[0]^e[0],t[1]^e[1],t[2]^e[2],t[3]^e[3]]},byteswapM:function(t){var e,r;for(e=0;e<t.length;++e)r=t[e],t[e]=r>>>24|r>>>8&65280|(r&65280)<<8|r<<24;return t}};c.codec.utf8String={fromBits:function(t){var e="",r=c.bitArray.bitLength(t),n,i;for(n=0;n<r/8;n++)!(n&3)&&(i=t[n/4]),e+=String.fromCharCode(i>>>8>>>8>>>8),i<<=8;return decodeURIComponent(escape(e))},toBits:function(t){t=unescape(encodeURIComponent(t));var e=[],r,n=0;for(r=0;r<t.length;r++)n=n<<8|t.charCodeAt(r),(r&3)===3&&(e.push(n),n=0);return r&3&&e.push(c.bitArray.partial(8*(r&3),n)),e}};c.codec.hex={fromBits:function(t){var e="",r;for(r=0;r<t.length;r++)e+=((t[r]|0)+0xf00000000000).toString(16).substr(4);return e.substr(0,c.bitArray.bitLength(t)/4)},toBits:function(t){var e,r=[],n;for(t=t.replace(/\s|0x/g,""),n=t.length,t=t+"00000000",e=0;e<t.length;e+=8)r.push(parseInt(t.substr(e,8),16)^0);return c.bitArray.clamp(r,4*n)}};c.codec.base64={S:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fromBits:function(t,e,r){var n="",i=0,o=c.codec.base64.S,s=0,a=c.bitArray.bitLength(t);for(r&&(o=o.substr(0,62)+"-_"),r=0;6*n.length<a;)n+=o.charAt((s^t[r]>>>i)>>>26),6>i?(s=t[r]<<6-i,i+=26,r++):(s<<=6,i-=6);for(;n.length&3&&!e;)n+="=";return n},toBits:function(t,e){t=t.replace(/\s|=/g,"");var r=[],n,i=0,o=c.codec.base64.S,s=0,a;for(e&&(o=o.substr(0,62)+"-_"),n=0;n<t.length;n++){if(a=o.indexOf(t.charAt(n)),0>a)throw new c.exception.invalid("this isn't base64!");26<i?(i-=26,r.push(s^a>>>i),s=a<<32-i):(i+=6,s^=a<<32-i)}return i&56&&r.push(c.bitArray.partial(i&56,s,1)),r}};c.codec.base64url={fromBits:function(t){return c.codec.base64.fromBits(t,1,1)},toBits:function(t){return c.codec.base64.toBits(t,1)}};c.hash.sha256=function(t){this.b[0]||this.C(),t?(this.g=t.g.slice(0),this.f=t.f.slice(0),this.c=t.c):this.reset()};c.hash.sha256.hash=function(t){return new c.hash.sha256().update(t).finalize()};c.hash.sha256.prototype={blockSize:512,reset:function(){return this.g=this.o.slice(0),this.f=[],this.c=0,this},update:function(t){typeof t=="string"&&(t=c.codec.utf8String.toBits(t));var e,r=this.f=c.bitArray.concat(this.f,t);if(e=this.c,t=this.c=e+c.bitArray.bitLength(t),9007199254740991<t)throw new c.exception.invalid("Cannot hash more than 2^53 - 1 bits");if(typeof Uint32Array<"u"){var n=new Uint32Array(r),i=0;for(e=512+e-(512+e&511);e<=t;e+=512)this.l(n.subarray(16*i,16*(i+1))),i+=1;r.splice(0,16*i)}else for(e=512+e-(512+e&511);e<=t;e+=512)this.l(r.splice(0,16));return this},finalize:function(){var t,r=this.f,e=this.g,r=c.bitArray.concat(r,[c.bitArray.partial(1,1)]);for(t=r.length+2;t&15;t++)r.push(0);for(r.push(Math.floor(this.c/4294967296)),r.push(this.c|0);r.length;)this.l(r.splice(0,16));return this.reset(),e},o:[],b:[],C:function(){function t(o){return 4294967296*(o-Math.floor(o))|0}for(var e=0,r=2,n,i;64>e;r++){for(i=!0,n=2;n*n<=r;n++)if(r%n===0){i=!1;break}i&&(8>e&&(this.o[e]=t(Math.pow(r,.5))),this.b[e]=t(Math.pow(r,1/3)),e++)}},l:function(t){var e,r,n,i=this.g,o=this.b,s=i[0],a=i[1],u=i[2],f=i[3],h=i[4],p=i[5],d=i[6],m=i[7];for(e=0;64>e;e++)16>e?r=t[e]:(r=t[e+1&15],n=t[e+14&15],r=t[e&15]=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(n>>>17^n>>>19^n>>>10^n<<15^n<<13)+t[e&15]+t[e+9&15]|0),r=r+m+(h>>>6^h>>>11^h>>>25^h<<26^h<<21^h<<7)+(d^h&(p^d))+o[e],m=d,d=p,p=h,h=f+r|0,f=u,u=a,a=s,s=r+(a&u^f&(a^u))+(a>>>2^a>>>13^a>>>22^a<<30^a<<19^a<<10)|0;i[0]=i[0]+s|0,i[1]=i[1]+a|0,i[2]=i[2]+u|0,i[3]=i[3]+f|0,i[4]=i[4]+h|0,i[5]=i[5]+p|0,i[6]=i[6]+d|0,i[7]=i[7]+m|0}};c.hash.sha512=function(t){this.b[0]||this.C(),t?(this.g=t.g.slice(0),this.f=t.f.slice(0),this.c=t.c):this.reset()};c.hash.sha512.hash=function(t){return new c.hash.sha512().update(t).finalize()};c.hash.sha512.prototype={blockSize:1024,reset:function(){return this.g=this.o.slice(0),this.f=[],this.c=0,this},update:function(t){typeof t=="string"&&(t=c.codec.utf8String.toBits(t));var e,r=this.f=c.bitArray.concat(this.f,t);if(e=this.c,t=this.c=e+c.bitArray.bitLength(t),9007199254740991<t)throw new c.exception.invalid("Cannot hash more than 2^53 - 1 bits");if(typeof Uint32Array<"u"){var n=new Uint32Array(r),i=0;for(e=1024+e-(1024+e&1023);e<=t;e+=1024)this.l(n.subarray(32*i,32*(i+1))),i+=1;r.splice(0,32*i)}else for(e=1024+e-(1024+e&1023);e<=t;e+=1024)this.l(r.splice(0,32));return this},finalize:function(){var t,r=this.f,e=this.g,r=c.bitArray.concat(r,[c.bitArray.partial(1,1)]);for(t=r.length+4;t&31;t++)r.push(0);for(r.push(0),r.push(0),r.push(Math.floor(this.c/4294967296)),r.push(this.c|0);r.length;)this.l(r.splice(0,32));return this.reset(),e},o:[],ia:[12372232,13281083,9762859,1914609,15106769,4090911,4308331,8266105],b:[],ka:[2666018,15689165,5061423,9034684,4764984,380953,1658779,7176472,197186,7368638,14987916,16757986,8096111,1480369,13046325,6891156,15813330,5187043,9229749,11312229,2818677,10937475,4324308,1135541,6741931,11809296,16458047,15666916,11046850,698149,229999,945776,13774844,2541862,12856045,9810911,11494366,7844520,15576806,8533307,15795044,4337665,16291729,5553712,15684120,6662416,7413802,12308920,13816008,4303699,9366425,10176680,13195875,4295371,6546291,11712675,15708924,1519456,15772530,6568428,6495784,8568297,13007125,7492395,2515356,12632583,14740254,7262584,1535930,13146278,16321966,1853211,294276,13051027,13221564,1051980,4080310,6651434,14088940,4675607],C:function(){function t(s){return 4294967296*(s-Math.floor(s))|0}function e(s){return 1099511627776*(s-Math.floor(s))&255}for(var r=0,n=2,i,o;80>r;n++){for(o=!0,i=2;i*i<=n;i++)if(n%i===0){o=!1;break}o&&(8>r&&(this.o[2*r]=t(Math.pow(n,.5)),this.o[2*r+1]=e(Math.pow(n,.5))<<24|this.ia[r]),this.b[2*r]=t(Math.pow(n,1/3)),this.b[2*r+1]=e(Math.pow(n,1/3))<<24|this.ka[r],r++)}},l:function(t){var e,r,n=this.g,i=this.b,o=n[0],s=n[1],a=n[2],u=n[3],f=n[4],h=n[5],p=n[6],d=n[7],m=n[8],A=n[9],_=n[10],P=n[11],J=n[12],he=n[13],We=n[14],le=n[15],D;if(typeof Uint32Array<"u"){D=Array(160);for(var b=0;32>b;b++)D[b]=t[b]}else D=t;var b=o,O=s,Y=a,G=u,ee=f,K=h,Re=p,te=d,I=m,C=A,pe=_,re=P,de=J,ne=he,ke=We,ie=le;for(t=0;80>t;t++){if(16>t)e=D[2*t],r=D[2*t+1];else{r=D[2*(t-15)];var w=D[2*(t-15)+1];e=(w<<31|r>>>1)^(w<<24|r>>>8)^r>>>7;var F=(r<<31|w>>>1)^(r<<24|w>>>8)^(r<<25|w>>>7);r=D[2*(t-2)];var M=D[2*(t-2)+1],w=(M<<13|r>>>19)^(r<<3|M>>>29)^r>>>6,M=(r<<13|M>>>19)^(M<<3|r>>>29)^(r<<26|M>>>6),Se=D[2*(t-7)],Pe=D[2*(t-16)],oe=D[2*(t-16)+1];r=F+D[2*(t-7)+1],e=e+Se+(r>>>0<F>>>0?1:0),r+=M,e+=w+(r>>>0<M>>>0?1:0),r+=oe,e+=Pe+(r>>>0<oe>>>0?1:0)}D[2*t]=e|=0,D[2*t+1]=r|=0;var Se=I&pe^~I&de,ze=C&re^~C&ne,M=b&Y^b&ee^Y&ee,Ot=O&G^O&K^G&K,Pe=(O<<4|b>>>28)^(b<<30|O>>>2)^(b<<25|O>>>7),oe=(b<<4|O>>>28)^(O<<30|b>>>2)^(O<<25|b>>>7),Ct=i[2*t],Ge=i[2*t+1],w=ie+((I<<18|C>>>14)^(I<<14|C>>>18)^(C<<23|I>>>9)),F=ke+((C<<18|I>>>14)^(C<<14|I>>>18)^(I<<23|C>>>9))+(w>>>0<ie>>>0?1:0),w=w+ze,F=F+(Se+(w>>>0<ze>>>0?1:0)),w=w+Ge,F=F+(Ct+(w>>>0<Ge>>>0?1:0)),w=w+r|0,F=F+(e+(w>>>0<r>>>0?1:0));r=oe+Ot,e=Pe+M+(r>>>0<oe>>>0?1:0),ke=de,ie=ne,de=pe,ne=re,pe=I,re=C,C=te+w|0,I=Re+F+(C>>>0<te>>>0?1:0)|0,Re=ee,te=K,ee=Y,K=G,Y=b,G=O,O=w+r|0,b=F+e+(O>>>0<w>>>0?1:0)|0}s=n[1]=s+O|0,n[0]=o+b+(s>>>0<O>>>0?1:0)|0,u=n[3]=u+G|0,n[2]=a+Y+(u>>>0<G>>>0?1:0)|0,h=n[5]=h+K|0,n[4]=f+ee+(h>>>0<K>>>0?1:0)|0,d=n[7]=d+te|0,n[6]=p+Re+(d>>>0<te>>>0?1:0)|0,A=n[9]=A+C|0,n[8]=m+I+(A>>>0<C>>>0?1:0)|0,P=n[11]=P+re|0,n[10]=_+pe+(P>>>0<re>>>0?1:0)|0,he=n[13]=he+ne|0,n[12]=J+de+(he>>>0<ne>>>0?1:0)|0,le=n[15]=le+ie|0,n[14]=We+ke+(le>>>0<ie>>>0?1:0)|0}};c.mode.ccm={name:"ccm",F:[],listenProgress:function(t){c.mode.ccm.F.push(t)},unListenProgress:function(t){t=c.mode.ccm.F.indexOf(t),-1<t&&c.mode.ccm.F.splice(t,1)},da:function(t){var e=c.mode.ccm.F.slice(),r;for(r=0;r<e.length;r+=1)e[r](t)},encrypt:function(t,e,r,n,i){var o,s=e.slice(0),a=c.bitArray,u=a.bitLength(r)/8,f=a.bitLength(s)/8;if(i=i||64,n=n||[],7>u)throw new c.exception.invalid("ccm: iv must be at least 7 bytes");for(o=2;4>o&&f>>>8*o;o++);return o<15-u&&(o=15-u),r=a.clamp(r,8*(15-o)),e=c.mode.ccm.U(t,e,r,n,i,o),s=c.mode.ccm.V(t,s,r,e,i,o),a.concat(s.data,s.tag)},decrypt:function(t,e,r,n,i){i=i||64,n=n||[];var o=c.bitArray,s=o.bitLength(r)/8,f=o.bitLength(e),a=o.clamp(e,f-i),u=o.bitSlice(e,f-i),f=(f-i)/8;if(7>s)throw new c.exception.invalid("ccm: iv must be at least 7 bytes");for(e=2;4>e&&f>>>8*e;e++);if(e<15-s&&(e=15-s),r=o.clamp(r,8*(15-e)),a=c.mode.ccm.V(t,a,r,u,i,e),t=c.mode.ccm.U(t,a.data,r,n,i,e),!o.equal(a.tag,t))throw new c.exception.corrupt("ccm: tag doesn't match");return a.data},ma:function(t,e,r,n,i,o){var s=[],a=c.bitArray,u=a.P;if(n=[a.partial(8,(e.length?64:0)|n-2<<2|o-1)],n=a.concat(n,r),n[3]|=i,n=t.encrypt(n),e.length)for(r=a.bitLength(e)/8,65279>=r?s=[a.partial(16,r)]:4294967295>=r&&(s=a.concat([a.partial(16,65534)],[r])),s=a.concat(s,e),e=0;e<s.length;e+=4)n=t.encrypt(u(n,s.slice(e,e+4).concat([0,0,0])));return n},U:function(t,e,r,n,i,o){var s=c.bitArray,a=s.P;if(i/=8,i%2||4>i||16<i)throw new c.exception.invalid("ccm: invalid tag length");if(4294967295<n.length||4294967295<e.length)throw new c.exception.bug("ccm: can't deal with 4GiB or more data");for(r=c.mode.ccm.ma(t,n,r,i,s.bitLength(e)/8,o),n=0;n<e.length;n+=4)r=t.encrypt(a(r,e.slice(n,n+4).concat([0,0,0])));return s.clamp(r,8*i)},V:function(t,e,r,n,i,o){var s,a=c.bitArray;s=a.P;var u=e.length,f=a.bitLength(e),h=u/50,p=h;if(r=a.concat([a.partial(8,o-1)],r).concat([0,0,0]).slice(0,4),n=a.bitSlice(s(n,t.encrypt(r)),0,i),!u)return{tag:n,data:[]};for(s=0;s<u;s+=4)s>h&&(c.mode.ccm.da(s/u),h+=p),r[3]++,i=t.encrypt(r),e[s]^=i[0],e[s+1]^=i[1],e[s+2]^=i[2],e[s+3]^=i[3];return{tag:n,data:a.clamp(e,f)}}};c.misc.hmac=function(t,e){this.W=e=e||c.hash.sha256;var r=[[],[]],n,i=e.prototype.blockSize/32;for(this.B=[new e,new e],t.length>i&&(t=e.hash(t)),n=0;n<i;n++)r[0][n]=t[n]^909522486,r[1][n]=t[n]^1549556828;this.B[0].update(r[0]),this.B[1].update(r[1]),this.O=new e(this.B[0])};c.misc.hmac.prototype.encrypt=c.misc.hmac.prototype.mac=function(t){if(this.Z)throw new c.exception.invalid("encrypt on already updated hmac called!");return this.update(t),this.digest(t)};c.misc.hmac.prototype.reset=function(){this.O=new this.W(this.B[0]),this.Z=!1};c.misc.hmac.prototype.update=function(t){this.Z=!0,this.O.update(t)};c.misc.hmac.prototype.digest=function(){var t=this.O.finalize(),t=new this.W(this.B[1]).update(t).finalize();return this.reset(),t};c.misc.pbkdf2=function(t,e,r,n,i){if(r=r||1e4,0>n||0>r)throw new c.exception.invalid("invalid params to pbkdf2");typeof t=="string"&&(t=c.codec.utf8String.toBits(t)),typeof e=="string"&&(e=c.codec.utf8String.toBits(e)),i=i||c.misc.hmac,t=new i(t);var o,s,a,u,f=[],h=c.bitArray;for(u=1;32*f.length<(n||1);u++){for(i=o=t.encrypt(h.concat(e,[u])),s=1;s<r;s++)for(o=t.encrypt(o),a=0;a<o.length;a++)i[a]^=o[a];f=f.concat(i)}return n&&(f=h.clamp(f,n)),f};c.prng=function(t){this.h=[new c.hash.sha256],this.s=[0],this.N=0,this.G={},this.M=0,this.T={},this.X=this.i=this.u=this.fa=0,this.b=[0,0,0,0,0,0,0,0],this.m=[0,0,0,0],this.K=void 0,this.L=t,this.D=!1,this.J={progress:{},seeded:{}},this.A=this.ea=0,this.H=1,this.I=2,this.aa=65536,this.R=[0,48,64,96,128,192,256,384,512,768,1024],this.ba=3e4,this.$=80};c.prng.prototype={randomWords:function(t,e){var r=[],n;n=this.isReady(e);var i;if(n===this.A)throw new c.exception.notReady("generator isn't seeded");if(n&this.I){n=!(n&this.H),i=[];var o=0,s;for(this.X=i[0]=new Date().valueOf()+this.ba,s=0;16>s;s++)i.push(4294967296*Math.random()|0);for(s=0;s<this.h.length&&(i=i.concat(this.h[s].finalize()),o+=this.s[s],this.s[s]=0,n||!(this.N&1<<s));s++);for(this.N>=1<<this.h.length&&(this.h.push(new c.hash.sha256),this.s.push(0)),this.i-=o,o>this.u&&(this.u=o),this.N++,this.b=c.hash.sha256.hash(this.b.concat(i)),this.K=new c.cipher.aes(this.b),n=0;4>n&&(this.m[n]=this.m[n]+1|0,!this.m[n]);n++);}for(n=0;n<t;n+=4)(n+1)%this.aa===0&&dt(this),i=Ne(this),r.push(i[0],i[1],i[2],i[3]);return dt(this),r.slice(0,t)},setDefaultParanoia:function(t,e){if(t===0&&e!=="Setting paranoia=0 will ruin your security; use it only for testing")throw new c.exception.invalid("Setting paranoia=0 will ruin your security; use it only for testing");this.L=t},addEntropy:function(t,e,r){r=r||"user";var n,i,o=new Date().valueOf(),s=this.G[r],a=this.isReady(),u=0;switch(n=this.T[r],n===void 0&&(n=this.T[r]=this.fa++),s===void 0&&(s=this.G[r]=0),this.G[r]=(this.G[r]+1)%this.h.length,typeof t){case"number":e===void 0&&(e=1),this.h[s].update([n,this.M++,1,e,o,1,t|0]);break;case"object":if(r=Object.prototype.toString.call(t),r==="[object Uint32Array]"){for(i=[],r=0;r<t.length;r++)i.push(t[r]);t=i}else for(r!=="[object Array]"&&(u=1),r=0;r<t.length&&!u;r++)typeof t[r]!="number"&&(u=1);if(!u){if(e===void 0)for(r=e=0;r<t.length;r++)for(i=t[r];0<i;)e++,i=i>>>1;this.h[s].update([n,this.M++,2,e,o,t.length].concat(t))}break;case"string":e===void 0&&(e=t.length),this.h[s].update([n,this.M++,3,e,o,t.length]),this.h[s].update(t);break;default:u=1}if(u)throw new c.exception.bug("random: addEntropy only supports number, array of numbers or string");this.s[s]+=e,this.i+=e,a===this.A&&(this.isReady()!==this.A&&pt("seeded",Math.max(this.u,this.i)),pt("progress",this.getProgress()))},isReady:function(t){return t=this.R[t!==void 0?t:this.L],this.u&&this.u>=t?this.s[0]>this.$&&new Date().valueOf()>this.X?this.I|this.H:this.H:this.i>=t?this.I|this.A:this.A},getProgress:function(t){return t=this.R[t||this.L],this.u>=t||this.i>t?1:this.i/t},startCollectors:function(){if(!this.D){if(this.a={loadTimeCollector:ce(this,this.la),mouseCollector:ce(this,this.na),keyboardCollector:ce(this,this.ja),accelerometerCollector:ce(this,this.ca),touchCollector:ce(this,this.pa)},window.addEventListener)window.addEventListener("load",this.a.loadTimeCollector,!1),window.addEventListener("mousemove",this.a.mouseCollector,!1),window.addEventListener("keypress",this.a.keyboardCollector,!1),window.addEventListener("devicemotion",this.a.accelerometerCollector,!1),window.addEventListener("touchmove",this.a.touchCollector,!1);else if(document.attachEvent)document.attachEvent("onload",this.a.loadTimeCollector),document.attachEvent("onmousemove",this.a.mouseCollector),document.attachEvent("keypress",this.a.keyboardCollector);else throw new c.exception.bug("can't attach event");this.D=!0}},stopCollectors:function(){this.D&&(window.removeEventListener?(window.removeEventListener("load",this.a.loadTimeCollector,!1),window.removeEventListener("mousemove",this.a.mouseCollector,!1),window.removeEventListener("keypress",this.a.keyboardCollector,!1),window.removeEventListener("devicemotion",this.a.accelerometerCollector,!1),window.removeEventListener("touchmove",this.a.touchCollector,!1)):document.detachEvent&&(document.detachEvent("onload",this.a.loadTimeCollector),document.detachEvent("onmousemove",this.a.mouseCollector),document.detachEvent("keypress",this.a.keyboardCollector)),this.D=!1)},addEventListener:function(t,e){this.J[t][this.ea++]=e},removeEventListener:function(t,e){var r,n,i=this.J[t],o=[];for(n in i)i.hasOwnProperty(n)&&i[n]===e&&o.push(n);for(r=0;r<o.length;r++)n=o[r],delete i[n]},ja:function(){se(this,1)},na:function(t){var e,r;try{e=t.x||t.clientX||t.offsetX||0,r=t.y||t.clientY||t.offsetY||0}catch{r=e=0}e!=0&&r!=0&&this.addEntropy([e,r],2,"mouse"),se(this,0)},pa:function(t){t=t.touches[0]||t.changedTouches[0],this.addEntropy([t.pageX||t.clientX,t.pageY||t.clientY],1,"touch"),se(this,0)},la:function(){se(this,2)},ca:function(t){if(t=t.accelerationIncludingGravity.x||t.accelerationIncludingGravity.y||t.accelerationIncludingGravity.z,window.orientation){var e=window.orientation;typeof e=="number"&&this.addEntropy(e,1,"accelerometer")}t&&this.addEntropy(t,2,"accelerometer"),se(this,0)}};function pt(t,e){var r,n=c.random.J[t],i=[];for(r in n)n.hasOwnProperty(r)&&i.push(n[r]);for(r=0;r<i.length;r++)i[r](e)}function se(t,e){typeof window<"u"&&window.performance&&typeof window.performance.now=="function"?t.addEntropy(window.performance.now(),e,"loadtime"):t.addEntropy(new Date().valueOf(),e,"loadtime")}function dt(t){t.b=Ne(t).concat(Ne(t)),t.K=new c.cipher.aes(t.b)}function Ne(t){for(var e=0;4>e&&(t.m[e]=t.m[e]+1|0,!t.m[e]);e++);return t.K.encrypt(t.m)}function ce(t,e){return function(){e.apply(t,arguments)}}c.random=new c.prng(6);e:try{if(Ae=typeof X<"u"&&X.exports){try{Le=Ft("crypto")}catch{Le=null}Ae=Ee=Le}if(Ae&&Ee.randomBytes)ae=Ee.randomBytes(128),ae=new Uint32Array(new Uint8Array(ae).buffer),c.random.addEntropy(ae,1024,"crypto['randomBytes']");else if(typeof window<"u"&&typeof Uint32Array<"u"){if(ue=new Uint32Array(32),window.crypto&&window.crypto.getRandomValues)window.crypto.getRandomValues(ue);else if(window.msCrypto&&window.msCrypto.getRandomValues)window.msCrypto.getRandomValues(ue);else break e;c.random.addEntropy(ue,1024,"crypto['getRandomValues']")}}catch(t){typeof window<"u"&&window.console&&(console.log("There was an error collecting entropy from the browser:"),console.log(t))}var ae,Ee,ue,Ae,Le;c.json={defaults:{v:1,iter:1e4,ks:128,ts:64,mode:"ccm",adata:"",cipher:"aes"},ha:function(t,e,r,n){r=r||{},n=n||{};var i=c.json,o=i.j({iv:c.random.randomWords(4,0)},i.defaults),s;if(i.j(o,r),r=o.adata,typeof o.salt=="string"&&(o.salt=c.codec.base64.toBits(o.salt)),typeof o.iv=="string"&&(o.iv=c.codec.base64.toBits(o.iv)),!c.mode[o.mode]||!c.cipher[o.cipher]||typeof t=="string"&&100>=o.iter||o.ts!==64&&o.ts!==96&&o.ts!==128||o.ks!==128&&o.ks!==192&&o.ks!==256||2>o.iv.length||4<o.iv.length)throw new c.exception.invalid("json encrypt: invalid parameters");return typeof t=="string"?(s=c.misc.cachedPbkdf2(t,o),t=s.key.slice(0,o.ks/32),o.salt=s.salt):c.ecc&&t instanceof c.ecc.elGamal.publicKey&&(s=t.kem(),o.kemtag=s.tag,t=s.key.slice(0,o.ks/32)),typeof e=="string"&&(e=c.codec.utf8String.toBits(e)),typeof r=="string"&&(o.adata=r=c.codec.utf8String.toBits(r)),s=new c.cipher[o.cipher](t),i.j(n,o),n.key=t,o.ct=o.mode==="ccm"&&c.arrayBuffer&&c.arrayBuffer.ccm&&e instanceof ArrayBuffer?c.arrayBuffer.ccm.encrypt(s,e,o.iv,r,o.ts):c.mode[o.mode].encrypt(s,e,o.iv,r,o.ts),o},encrypt:function(t,e,r,n){var i=c.json,o=i.ha.apply(i,arguments);return i.encode(o)},ga:function(t,e,r,n){r=r||{},n=n||{};var i=c.json;e=i.j(i.j(i.j({},i.defaults),e),r,!0);var o,s;if(o=e.adata,typeof e.salt=="string"&&(e.salt=c.codec.base64.toBits(e.salt)),typeof e.iv=="string"&&(e.iv=c.codec.base64.toBits(e.iv)),!c.mode[e.mode]||!c.cipher[e.cipher]||typeof t=="string"&&100>=e.iter||e.ts!==64&&e.ts!==96&&e.ts!==128||e.ks!==128&&e.ks!==192&&e.ks!==256||!e.iv||2>e.iv.length||4<e.iv.length)throw new c.exception.invalid("json decrypt: invalid parameters");return typeof t=="string"?(s=c.misc.cachedPbkdf2(t,e),t=s.key.slice(0,e.ks/32),e.salt=s.salt):c.ecc&&t instanceof c.ecc.elGamal.secretKey&&(t=t.unkem(c.codec.base64.toBits(e.kemtag)).slice(0,e.ks/32)),typeof o=="string"&&(o=c.codec.utf8String.toBits(o)),s=new c.cipher[e.cipher](t),o=e.mode==="ccm"&&c.arrayBuffer&&c.arrayBuffer.ccm&&e.ct instanceof ArrayBuffer?c.arrayBuffer.ccm.decrypt(s,e.ct,e.iv,e.tag,o,e.ts):c.mode[e.mode].decrypt(s,e.ct,e.iv,o,e.ts),i.j(n,e),n.key=t,r.raw===1?o:c.codec.utf8String.fromBits(o)},decrypt:function(t,e,r,n){var i=c.json;return i.ga(t,i.decode(e),r,n)},encode:function(t){var e,r="{",n="";for(e in t)if(t.hasOwnProperty(e)){if(!e.match(/^[a-z0-9]+$/i))throw new c.exception.invalid("json encode: invalid property name");switch(r+=n+'"'+e+'":',n=",",typeof t[e]){case"number":case"boolean":r+=t[e];break;case"string":r+='"'+escape(t[e])+'"';break;case"object":r+='"'+c.codec.base64.fromBits(t[e],0)+'"';break;default:throw new c.exception.bug("json encode: unsupported type")}}return r+"}"},decode:function(t){if(t=t.replace(/\s/g,""),!t.match(/^\{.*\}$/))throw new c.exception.invalid("json decode: this isn't json!");t=t.replace(/^\{|\}$/g,"").split(/,/);var e={},r,n;for(r=0;r<t.length;r++){if(!(n=t[r].match(/^\s*(?:(["']?)([a-z][a-z0-9]*)\1)\s*:\s*(?:(-?\d+)|"([a-z0-9+\/%*_.@=\-]*)"|(true|false))$/i)))throw new c.exception.invalid("json decode: this isn't json!");n[3]!=null?e[n[2]]=parseInt(n[3],10):n[4]!=null?e[n[2]]=n[2].match(/^(ct|adata|salt|iv)$/)?c.codec.base64.toBits(n[4]):unescape(n[4]):n[5]!=null&&(e[n[2]]=n[5]==="true")}return e},j:function(t,e,r){if(t===void 0&&(t={}),e===void 0)return t;for(var n in e)if(e.hasOwnProperty(n)){if(r&&t[n]!==void 0&&t[n]!==e[n])throw new c.exception.invalid("required parameter overridden");t[n]=e[n]}return t},ra:function(t,e){var r={},n;for(n in t)t.hasOwnProperty(n)&&t[n]!==e[n]&&(r[n]=t[n]);return r},qa:function(t,e){var r={},n;for(n=0;n<e.length;n++)t[e[n]]!==void 0&&(r[e[n]]=t[e[n]]);return r}};c.encrypt=c.json.encrypt;c.decrypt=c.json.decrypt;c.misc.oa={};c.misc.cachedPbkdf2=function(t,e){var r=c.misc.oa,n;return e=e||{},n=e.iter||1e3,r=r[t]=r[t]||{},n=r[n]=r[n]||{firstSalt:e.salt&&e.salt.length?e.salt.slice(0):c.random.randomWords(2,0)},r=e.salt===void 0?n.firstSalt:e.salt,n[r]=n[r]||c.misc.pbkdf2(t,r,e.iter),{key:n[r].slice(0),salt:r.slice(0)}};typeof X<"u"&&X.exports&&(X.exports=c);typeof define=="function"&&define([],function(){return c})});var He={};Tt(He,{addFilesToArchive:()=>Lt,cancel:()=>cr,compress:()=>bt,decompress:()=>ar,download:()=>ur,events:()=>_e,getFileIndexInQueue:()=>vr,infos:()=>fr,pause:()=>hr,remove:()=>lr,resume:()=>pr,upload:()=>mr});var At=Ie(Te());var Wt={withStackTrace:!1},ot=(t,e,r=Wt)=>{let n=e.isOk()?{type:"Ok",value:e.value}:{type:"Err",value:e.error},i=r.withStackTrace?new Error().stack:void 0;return{data:n,message:t,stack:i}};function $(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(h){try{f(n.next(h))}catch(p){s(p)}}function u(h){try{f(n.throw(h))}catch(p){s(p)}}function f(h){h.done?o(h.value):i(h.value).then(a,u)}f((n=n.apply(t,e||[])).next())})}function nt(t){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function U(t){return this instanceof U?(this.v=t,this):new U(t)}function it(t,e,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=r.apply(t,e||[]),i,o=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),i[Symbol.asyncIterator]=function(){return this},i;function s(m){return function(A){return Promise.resolve(A).then(m,p)}}function a(m,A){n[m]&&(i[m]=function(_){return new Promise(function(P,J){o.push([m,_,P,J])>1||u(m,_)})},A&&(i[m]=A(i[m])))}function u(m,A){try{f(n[m](A))}catch(_){d(o[0][3],_)}}function f(m){m.value instanceof U?Promise.resolve(m.value.v).then(h,p):d(o[0][2],m)}function h(m){u("next",m)}function p(m){u("throw",m)}function d(m,A){m(A),o.shift(),o.length&&u(o[0][0],o[0][1])}}function zt(t){var e,r;return e={},n("next"),n("throw",function(i){throw i}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(i,o){e[i]=t[i]?function(s){return(r=!r)?{value:U(t[i](s)),done:!1}:o?o(s):s}:o}}function Gt(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof nt=="function"?nt(t):t[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(o){r[o]=t[o]&&function(s){return new Promise(function(a,u){s=t[o](s),i(a,u,s.done,s.value)})}}function i(o,s,a,u){Promise.resolve(u).then(function(f){o({value:f,done:a})},s)}}var v=class t{constructor(e){this._promise=e}static fromSafePromise(e){let r=e.then(n=>new R(n));return new t(r)}static fromPromise(e,r){let n=e.then(i=>new R(i)).catch(i=>new k(r(i)));return new t(n)}static fromThrowable(e,r){return(...n)=>new t($(this,void 0,void 0,function*(){try{return new R(yield e(...n))}catch(i){return new k(r?r(i):i)}}))}static combine(e){return Kt(e)}static combineWithAllErrors(e){return qt(e)}map(e){return new t(this._promise.then(r=>$(this,void 0,void 0,function*(){return r.isErr()?new k(r.error):new R(yield e(r.value))})))}andThrough(e){return new t(this._promise.then(r=>$(this,void 0,void 0,function*(){if(r.isErr())return new k(r.error);let n=yield e(r.value);return n.isErr()?new k(n.error):new R(r.value)})))}andTee(e){return new t(this._promise.then(r=>$(this,void 0,void 0,function*(){if(r.isErr())return new k(r.error);try{yield e(r.value)}catch{}return new R(r.value)})))}mapErr(e){return new t(this._promise.then(r=>$(this,void 0,void 0,function*(){return r.isOk()?new R(r.value):new k(yield e(r.error))})))}andThen(e){return new t(this._promise.then(r=>{if(r.isErr())return new k(r.error);let n=e(r.value);return n instanceof t?n._promise:n}))}orElse(e){return new t(this._promise.then(r=>$(this,void 0,void 0,function*(){return r.isErr()?e(r.error):new R(r.value)})))}match(e,r){return this._promise.then(n=>n.match(e,r))}unwrapOr(e){return this._promise.then(r=>r.unwrapOr(e))}safeUnwrap(){return it(this,arguments,function*(){return yield U(yield U(yield*zt(Gt(yield U(this._promise.then(r=>r.safeUnwrap()))))))})}then(e,r){return this._promise.then(e,r)}[Symbol.asyncIterator](){return it(this,arguments,function*(){let r=yield U(this._promise);return r.isErr()&&(yield yield U(L(r.error))),yield U(r.value)})}},E=t=>new v(Promise.resolve(new R(t))),L=t=>new v(Promise.resolve(new k(t))),Er=v.fromPromise,Ar=v.fromSafePromise,Lr=v.fromThrowable,st=t=>{let e=H([]);for(let r of t)if(r.isErr()){e=B(r.error);break}else e.map(n=>n.push(r.value));return e},Kt=t=>v.fromSafePromise(Promise.all(t)).andThen(st),ct=t=>{let e=H([]);for(let r of t)r.isErr()&&e.isErr()?e.error.push(r.error):r.isErr()&&e.isOk()?e=B([r.error]):r.isOk()&&e.isOk()&&e.value.push(r.value);return e},qt=t=>v.fromSafePromise(Promise.all(t)).andThen(ct),Me;(function(t){function e(i,o){return(...s)=>{try{let a=i(...s);return H(a)}catch(a){return B(o?o(a):a)}}}t.fromThrowable=e;function r(i){return st(i)}t.combine=r;function n(i){return ct(i)}t.combineWithAllErrors=n})(Me||(Me={}));var H=t=>new R(t);function B(t){return new k(t)}var R=class{constructor(e){this.value=e}isOk(){return!0}isErr(){return!this.isOk()}map(e){return H(e(this.value))}mapErr(e){return H(this.value)}andThen(e){return e(this.value)}andThrough(e){return e(this.value).map(r=>this.value)}andTee(e){try{e(this.value)}catch{}return H(this.value)}orElse(e){return H(this.value)}asyncAndThen(e){return e(this.value)}asyncAndThrough(e){return e(this.value).map(()=>this.value)}asyncMap(e){return v.fromSafePromise(e(this.value))}unwrapOr(e){return this.value}match(e,r){return e(this.value)}safeUnwrap(){let e=this.value;return function*(){return e}()}_unsafeUnwrap(e){return this.value}_unsafeUnwrapErr(e){throw ot("Called `_unsafeUnwrapErr` on an Ok",this,e)}*[Symbol.iterator](){return this.value}},k=class{constructor(e){this.error=e}isOk(){return!1}isErr(){return!this.isOk()}map(e){return B(this.error)}mapErr(e){return B(e(this.error))}andThrough(e){return B(this.error)}andTee(e){return B(this.error)}andThen(e){return B(this.error)}orElse(e){return e(this.error)}asyncAndThen(e){return L(this.error)}asyncAndThrough(e){return L(this.error)}asyncMap(e){return L(this.error)}unwrapOr(e){return e}match(e,r){return r(this.error)}safeUnwrap(){let e=this.error;return function*(){throw yield B(e),new Error("Do not use this generator out of `safeTry`")}()}_unsafeUnwrap(e){throw ot("Called `_unsafeUnwrap` on an Err",this,e)}_unsafeUnwrapErr(e){return this.error}*[Symbol.iterator](){let e=this;return yield e,e}},br=Me.fromThrowable;var N=class t{constructor(e,r){l(this,"actionToken","");l(this,"chunksReady",0);l(this,"createdAt",0);l(this,"delay",0);l(this,"delAtFirstView",!1);l(this,"keys",{client:"",server:""});l(this,"name","");l(this,"password","");l(this,"queueIndex",0);l(this,"serverUrl");l(this,"size",0);l(this,"uploadStatus",3);l(this,"totalChunks",0);l(this,"type","");l(this,"zipped",!1);this.serverUrl=e,Object.assign(this,r)}downloadUrl(){let e=new URL(this.serverUrl);return new URL(`${e.origin+e.pathname}r/${this.keys.server}#${this.keys.client}`)}removeUrl(){let e=new URL(this.serverUrl);return new URL(`${e.origin+e.pathname}d/${this.keys.server}/${this.actionToken}`)}static fromDownloadUrl(e,r=""){let n=e.pathname.split("r/"),i={client:e.hash.slice(1).split("&")[0],server:n[1]};return new t(e.origin+n[0],{keys:i,password:r})}static fromRemoveUrl(e,r=""){let n=e.pathname.split("d/"),i=n[1].split("/"),o={client:"",server:i[0]};return new t(e.origin+n[0],{keys:o,password:r,actionToken:i[1]})}};var ht=Ie(Te());var x=class extends Error{constructor(r,n={}){let{cause:i,context:o}=n;super(r,{cause:i});l(this,"context");this.name=this.constructor.name,this.context=o}};var ge=class extends x{constructor(){super(...arguments);l(this,"message","Unable to connect. Is the computer able to access the url?")}};var we=class extends x{constructor(){super(...arguments);l(this,"message","The server returned an error")}};var g=t=>{if(t instanceof Error)return t;let e="[Unable to stringify the thrown value]";try{e=JSON.stringify(t)}catch{}return new Error(e)},ut=t=>{let e=t.href.match(/(.*?)\/?(?:\/[dr]{1}\/|login\/?|files\/?)/),r=e&&e[1]?e[1]:t.origin;return v.fromPromise(fetch(r+"/about/config"),n=>new ge(void 0,{cause:g(n)})).andThen(n=>n.ok?v.fromPromise(n.json(),i=>g(i)):L(new we(void 0,{context:n.statusText})))},ft=()=>typeof Deno<"u",Ue=()=>ft()||globalThis.isSecureContext||globalThis.location.protocol==="https:",W=t=>ft()?new URL(`./worker/${t}.ts`,new URL(".",import.meta.url).href):new URL(import.meta.resolve(`./${t!=="encrypt"?`worker/${t}`:t}.js`));var j=class{constructor(e,r){l(this,"events",new ht.default);l(this,"lufiFile");l(this,"status",2);l(this,"archiveFile");l(this,"archiveFiles",[]);l(this,"downloadedFile");l(this,"worker");l(this,"isTerminated",!1);l(this,"complete",()=>{this.status=0,this.events.emit("JOB_TERMINATED")});l(this,"hasFailed",()=>this.status===1);l(this,"onError",e=>(this.worker.onerror=r=>{e(r)},this));l(this,"onMessage",e=>(this.worker.onmessage=r=>{e&&e(r);let n=r.data.event;n&&(n==="FILE_UPDATED"?Object.assign(this.lufiFile,r.data.lufiFile):this.dispatchEvent(n,r.data.error))},this));l(this,"onMessageError",e=>(this.worker.onmessageerror=r=>{e(r)},this));l(this,"onProgress",e=>(this.events.on("CHUNK_UPLOADED",()=>{e()}),this.events.on("CHUNK_DOWNLOADED",()=>{e()}),this));l(this,"requestMessage",(e,r=[])=>(this.worker.postMessage(e,r),this));l(this,"terminate",()=>(this.worker.terminate(),this));l(this,"waitForCompletion",()=>this.isTerminated?this.status===0?E(this):L(g("Job has failed")):v.fromPromise(new Promise((e,r)=>{this.events.once("OPERATION_FAILED",n=>{r(n)}),this.events.once("JOB_TERMINATED",()=>{this.status===0&&e(this)})}),e=>g(e)));l(this,"waitForStart",()=>v.fromPromise(new Promise((e,r)=>{this.events.once("OPERATION_FAILED",n=>{r(n)}),this.events.once("UPLOAD_STARTED",()=>{e(this)}),this.events.once("DOWNLOAD_STARTED",()=>{e(this)})}),e=>g(e)));l(this,"dispatchEvent",(e,r)=>{this.events.emit(e,r)});switch(r){case 0:this.worker=new Worker(W("cancel"),{type:"module"});break;case 1:this.worker=new Worker(W("compress"),{type:"module"});break;case 2:this.worker=new Worker(W("decompress"),{type:"module"});break;case 3:this.worker=new Worker(W("download"),{type:"module"});break;case 4:this.worker=new Worker(W("infos"),{type:"module"});break;case 5:this.worker=new Worker(W("remove"),{type:"module"});break;case 6:this.worker=new Worker(W("upload"),{type:"module"});break}this.lufiFile=e,this.events.once("JOB_TERMINATED",()=>{this.isTerminated=!0,this.terminate()}),this.events.once("OPERATION_FAILED",n=>{this.status=1,this.lufiFile.uploadStatus=2,this.events.emit("JOB_TERMINATED",n)}),this.onError(n=>console.error(n.error))}};var V=(r=>(r[r.Sjcl=0]="Sjcl",r[r.WebCrypto=1]="WebCrypto",r))(V||{});var Q=class{constructor(e,r){if(!e||e.length!=64)throw Error("Charset must contain 64 characters");this._charset=e,this._noPadding=!!r,this._valid=new RegExp("^["+this._charset.replace("-","\\-")+"]+={0,2}$")}Encode(e){let r=e.byteLength;if(!r)return"";let n=new Uint8Array(e),i="";for(let o=0;o<r;o+=3)i+=this._charset[n[o]>>2]+this._charset[(n[o]&3)<<4|n[o+1]>>4]+this._charset[(n[o+1]&15)<<2|n[o+2]>>6]+this._charset[n[o+2]&63];return r%3==2?(i=i.substring(0,i.length-1),this._noPadding||(i+="=")):r%3==1&&(i=i.substring(0,i.length-2),this._noPadding||(i+="==")),i}Decode(e){if(e=(e||"").replace(/[\s]/g,""),!e)return new ArrayBuffer(0);if(!this._valid.test(e))throw Error("Invalid base64 input sequence");let r=Math.floor(e.length*.75);e[e.length-2]=="="?r-=2:e[e.length-1]=="="&&r--;let n=new Uint8Array(r),i,o,s,a,u=0,f=0;for(;u<e.length*.75;)i=this._charset.indexOf(e.charAt(f++)),o=this._charset.indexOf(e.charAt(f++)),s=this._charset.indexOf(e.charAt(f++)),a=this._charset.indexOf(e.charAt(f++)),n[u++]=i<<2|o>>4,n[u++]=(o&15)<<4|s>>2,n[u++]=(s&3)<<6|a;return n.buffer}};var rn=new Q("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/");var Xt=new Q("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",!0);function Be(t){return Xt.Encode(t)}var fe=Ie(mt());var T=class extends x{};var Z=class extends T{constructor(){super(...arguments);l(this,"message","Unable to hash the provided string")}};var yt=()=>{try{return E(fe.default.codec.base64.fromBits(fe.default.random.randomWords(8,10)))}catch(t){return L(new T("Unable to generate key",{cause:g(t)}))}},vt=t=>{try{return E(fe.default.codec.hex.fromBits(fe.default.hash.sha512.hash(t)))}catch(e){return L(new Z(void 0,{cause:g(e)}))}};var gt=()=>v.fromPromise(new Promise((t,e)=>crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt","decrypt"]).then(r=>crypto.subtle.exportKey("raw",r).then(n=>t(Be(n))).catch(n=>{e(new T("Unable to base64 encode the url",{cause:g(n)}))})).catch(r=>e(r))),t=>new T("Unable to generate key",{cause:g(t)})),wt=t=>{let e=async()=>Array.from(new Uint8Array(await crypto.subtle.digest("SHA-512",new TextEncoder().encode(t)))).map(r=>r.toString(16).padStart(2,"0")).join("");return v.fromPromise(e(),r=>new Z(void 0,{cause:g(r)}))};var Et=(t=1)=>t===0?yt():gt(),je=(t,e)=>e===0?vt(t):wt(t);var be=class extends x{constructor(){super(...arguments);l(this,"message","An error occured while downloading the data")}};var xe=class extends x{constructor(){super(...arguments);l(this,"message","An error occured while trying to retrieve server informations")}};var S=class extends x{};var De=class extends S{constructor(){super(...arguments);l(this,"message","An error occured while trying to pause the job")}};var Oe=class extends S{constructor(){super(...arguments);l(this,"message","An error occured while trying to resume the job")}};var Ce=class extends x{constructor(){super(...arguments);l(this,"message","An error occured while uploading the data")}};var sr=15e5,z={},_e=new At.default,cr=t=>{t.terminate();let e=new j(t.lufiFile,0);return v.fromPromise(new Promise((r,n)=>{e.onMessage(i=>{i.data.event==="UPLOAD_CANCELLED"&&(z[e.lufiFile.keys.client].uploadStatus=0,r(e)),i.data.event==="OPERATION_FAILED"&&n(new S("An error occured while trying to cancel an upload",{cause:i.data.error}))}).requestMessage({args:{lufiFile:e.lufiFile}})}),r=>g(r))},Lt=(t,e={})=>{let r=async n=>{var i;for(let o of n){let s=((i=o.name.split("/"))==null?void 0:i.pop())||o.name,a=s.split(".").shift(),u=s.split(".").length>1?`.${s.split(".").pop()}`:"",f=s;if(e[f]!==void 0){let h=1;do f=`${a}(${h})${u}`,h++;while(e[f]!==void 0)}_e.emit("ARCHIVE_ADDED_FILE",{name:f,size:o.size}),e[f]=await o.bytes()}};return v.fromPromise(r(t),n=>g(n)).andThen(()=>E(e))},bt=(t,e)=>{let r=new N(""),n=new j(r,1);return E(n.onMessage(i=>{i.data.event==="ARCHIVE_CREATED"&&(n.archiveFile=new File([i.data.buffer],e,{type:"application/zip"}),n.complete())}).requestMessage({args:{lufiFile:r,archive:{entries:t}}}))},ar=t=>{let e=new N(""),r=new j(e,2);return E(r.onMessage(n=>{n.data.event==="ARCHIVE_DECOMPRESSED"&&r.complete(),n.data.event==="ARCHIVE_RETRIEVED_FILE"&&r.archiveFiles.push(new File([n.data.file.buffer],n.data.file.path))}).requestMessage({args:{lufiFile:e,archive:{file:t}}}))},xt=(t,e)=>e?ut(t).andThen(r=>{if(r.version.tag>"0.07.0"){let n=Ue()?1:0;return je(e,n).andThen(i=>E(N.fromDownloadUrl(t,i)))}else return E(N.fromDownloadUrl(t,e))}):E(N.fromDownloadUrl(t)),ur=(t,e)=>xt(t,e).andThen(r=>{let n=new j(r,3);return v.fromPromise(new Promise((i,o)=>{let s=[];return n.onMessage(a=>{Dt(i,o,n,a),a.data.event==="CHUNK_DOWNLOADED"&&(s.push(a.data.chunk.buffer),s.length>=50&&(n.downloadedFile=new File(n.downloadedFile?[n.downloadedFile.slice()].concat(s):s,r.name,{type:r.type}),s.length=0)),a.data.event==="DOWNLOAD_COMPLETE"&&(n.downloadedFile=new File(n.downloadedFile?[n.downloadedFile.slice()].concat(s):s,r.name,{type:r.type}),s.length=0,n.complete())}).requestMessage({args:{lufiFile:r}})}),i=>new be(void 0,{cause:g(i)}))}),fr=(t,e)=>xt(t,e).andThen(r=>E(new j(r,4))).andThen(r=>v.fromPromise(new Promise((n,i)=>{r.onMessage(o=>{o.data.event==="INFOS_RETRIEVED"&&(r.complete(),n(r)),o.data.event==="OPERATION_FAILED"&&i(new S("An error occured while trying to retrieve informations of the file",{cause:o.data.error}))}).requestMessage({args:{lufiFile:r.lufiFile}})}),n=>new xe(void 0,{cause:g(n)}))),hr=t=>{try{return t.status=3,E(t.requestMessage({action:0,args:{lufiFile:t.lufiFile}}))}catch(e){return L(new De(void 0,{cause:g(e)}))}},lr=(t,e)=>{let r=N.fromRemoveUrl(t,e),n=new j(r,5);return v.fromPromise(new Promise((i,o)=>{n.onMessage(s=>{s.data.event==="FILE_REMOVED"&&(n.complete(),i(n)),s.data.event==="OPERATION_FAILED"&&o(new S("An error occured while trying to remove a file",{cause:s.data.error}))}).requestMessage({args:{lufiFile:r}})}),i=>g(i))},pr=t=>{try{return t.status=2,E(t.requestMessage({action:2,args:{lufiFile:t.lufiFile}}))}catch(e){return L(new Oe(void 0,{cause:g(e)}))}},dr=(t,e,r,n=sr)=>{_e.emit("SLICE_STARTED",z[t.lufiFile.keys.client]);let i=Math.ceil(e.size/n)||1,o=navigator.hardwareConcurrency||1;return z[t.lufiFile.keys.client].totalChunks=i,(async()=>{for(let a=0;a<i;a++){let u=a*n,f=Math.min(u+n,e.size),h=await e.slice(u,f,e.type).arrayBuffer();t.requestMessage({args:{chunk:{buffer:h,index:a},lufiFile:z[t.lufiFile.keys.client],algo:r}},[h]),a===0?await new Promise(d=>{t.events.once("UPLOAD_STARTED",()=>{d(void 0)})}):a%o===0&&await new Promise(d=>{t.events.once("CHUNK_UPLOADED",()=>{d(void 0)})})}})(),E(void 0)},Je=(t,e,r,n,i,o,s)=>Et(s).andThen(a=>o?je(o,s).andThen(u=>E({password:u,clientKey:a})):E({password:o,clientKey:a})).andThen(({password:a,clientKey:u})=>{z[u]=new N(t.toString(),{delay:r,delAtFirstView:n,zipped:i,password:a,name:e.name.split("/").pop(),size:e.size,type:e.type,keys:{client:u,server:""}});let f=new j(z[u],6);return z[u].uploadStatus=4,dr(f,e,s).andThen(()=>v.fromPromise(new Promise((h,p)=>{f.onMessage(d=>{switch(Dt(h,p,f,d),d.data.event){case"UPLOAD_COMPLETE":f.complete(),f.lufiFile.uploadStatus=1;break}})}),h=>g(h)))}),mr=(t,e,r=0,n=!1,i=!1,o="documents.zip",s="",a=1)=>{let u=[];return i?e.length===1&&e[0].type==="application/zip"?u.push(Je(t,e[0],r,n,i,s,a)):u.push(Lt(e).andThen(f=>bt(f,o).andThen(h=>h.archiveFile?(_e.emit("ARCHIVE_CREATED",h.archiveFile),Je(t,h.archiveFile,r,n,i,s,a)):L(new S("archiveFile must be defined"))))):e.forEach(f=>{u.push(Je(t,f,r,n,i,s,a))}),v.combine(u).orElse(f=>L(new Ce(void 0,{cause:f})))},Dt=(t,e,r,n)=>{n.data.event==="SOCKET_OPENED"&&t(r),n.data.event==="OPERATION_FAILED"&&e(new S("The job returned an error",{cause:n.data.error}))},yr=()=>Object.values(z).filter(t=>t.uploadStatus===4),vr=t=>Object.keys(yr()).indexOf(t);export{V as CryptoAlgorithm,v as ResultAsync,B as err,L as errAsync,Ue as isSecureContext,He as lufi,H as ok,E as okAsync};
|