easyproctor-hml 2.7.13 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,26 +1,26 @@
1
- "use strict";(()=>{var Ey=Object.create;var hl=Object.defineProperty;var Cy=Object.getOwnPropertyDescriptor;var Ay=Object.getOwnPropertyNames;var Ty=Object.getPrototypeOf,Iy=Object.prototype.hasOwnProperty;var ur=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var _e=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ry=(e,t)=>{for(var r in t)hl(e,r,{get:t[r],enumerable:!0})},Py=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ay(t))!Iy.call(e,i)&&i!==r&&hl(e,i,{get:()=>t[i],enumerable:!(n=Cy(t,i))||n.enumerable});return e};var dl=(e,t,r)=>(r=e!=null?Ey(Ty(e)):{},Py(t||!e||!e.__esModule?hl(r,"default",{value:e,enumerable:!0}):r,e));var o0=_e((i0,Sd)=>{(function(e){typeof i0=="object"&&typeof Sd<"u"?Sd.exports=e():typeof define=="function"&&define.amd?define([],e):(typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:this).JSZip=e()})(function(){return(function e(t,r,n){function i(a,c){if(!r[a]){if(!t[a]){var l=typeof ur=="function"&&ur;if(!c&&l)return l(a,!0);if(o)return o(a,!0);var h=new Error("Cannot find module '"+a+"'");throw h.code="MODULE_NOT_FOUND",h}var d=r[a]={exports:{}};t[a][0].call(d.exports,function(m){var p=t[a][1][m];return i(p||m)},d,d.exports,e,t,r,n)}return r[a].exports}for(var o=typeof ur=="function"&&ur,s=0;s<n.length;s++)i(n[s]);return i})({1:[function(e,t,r){"use strict";var n=e("./utils"),i=e("./support"),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(s){for(var a,c,l,h,d,m,p,g=[],f=0,b=s.length,_=b,x=n.getTypeOf(s)!=="string";f<s.length;)_=b-f,l=x?(a=s[f++],c=f<b?s[f++]:0,f<b?s[f++]:0):(a=s.charCodeAt(f++),c=f<b?s.charCodeAt(f++):0,f<b?s.charCodeAt(f++):0),h=a>>2,d=(3&a)<<4|c>>4,m=1<_?(15&c)<<2|l>>6:64,p=2<_?63&l:64,g.push(o.charAt(h)+o.charAt(d)+o.charAt(m)+o.charAt(p));return g.join("")},r.decode=function(s){var a,c,l,h,d,m,p=0,g=0,f="data:";if(s.substr(0,f.length)===f)throw new Error("Invalid base64 input, it looks like a data url.");var b,_=3*(s=s.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(s.charAt(s.length-1)===o.charAt(64)&&_--,s.charAt(s.length-2)===o.charAt(64)&&_--,_%1!=0)throw new Error("Invalid base64 input, bad content length.");for(b=i.uint8array?new Uint8Array(0|_):new Array(0|_);p<s.length;)a=o.indexOf(s.charAt(p++))<<2|(h=o.indexOf(s.charAt(p++)))>>4,c=(15&h)<<4|(d=o.indexOf(s.charAt(p++)))>>2,l=(3&d)<<6|(m=o.indexOf(s.charAt(p++))),b[g++]=a,d!==64&&(b[g++]=c),m!==64&&(b[g++]=l);return b}},{"./support":30,"./utils":32}],2:[function(e,t,r){"use strict";var n=e("./external"),i=e("./stream/DataWorker"),o=e("./stream/Crc32Probe"),s=e("./stream/DataLengthProbe");function a(c,l,h,d,m){this.compressedSize=c,this.uncompressedSize=l,this.crc32=h,this.compression=d,this.compressedContent=m}a.prototype={getContentWorker:function(){var c=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new s("data_length")),l=this;return c.on("end",function(){if(this.streamInfo.data_length!==l.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),c},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(c,l,h){return c.pipe(new o).pipe(new s("uncompressedSize")).pipe(l.compressWorker(h)).pipe(new s("compressedSize")).withStreamInfo("compression",l)},t.exports=a},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){"use strict";var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){"use strict";var n=e("./utils"),i=(function(){for(var o,s=[],a=0;a<256;a++){o=a;for(var c=0;c<8;c++)o=1&o?3988292384^o>>>1:o>>>1;s[a]=o}return s})();t.exports=function(o,s){return o!==void 0&&o.length?n.getTypeOf(o)!=="string"?(function(a,c,l,h){var d=i,m=h+l;a^=-1;for(var p=h;p<m;p++)a=a>>>8^d[255&(a^c[p])];return-1^a})(0|s,o,o.length,0):(function(a,c,l,h){var d=i,m=h+l;a^=-1;for(var p=h;p<m;p++)a=a>>>8^d[255&(a^c.charCodeAt(p))];return-1^a})(0|s,o,o.length,0):0}},{"./utils":32}],5:[function(e,t,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){"use strict";var n=null;n=typeof Promise<"u"?Promise:e("lie"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){"use strict";var n=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",i=e("pako"),o=e("./utils"),s=e("./stream/GenericWorker"),a=n?"uint8array":"array";function c(l,h){s.call(this,"FlateWorker/"+l),this._pako=null,this._pakoAction=l,this._pakoOptions=h,this.meta={}}r.magic="\b\0",o.inherits(c,s),c.prototype.processChunk=function(l){this.meta=l.meta,this._pako===null&&this._createPako(),this._pako.push(o.transformTo(a,l.data),!1)},c.prototype.flush=function(){s.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},c.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},c.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var l=this;this._pako.onData=function(h){l.push({data:h,meta:l.meta})}},r.compressWorker=function(l){return new c("Deflate",l)},r.uncompressWorker=function(){return new c("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){"use strict";function n(d,m){var p,g="";for(p=0;p<m;p++)g+=String.fromCharCode(255&d),d>>>=8;return g}function i(d,m,p,g,f,b){var _,x,k=d.file,P=d.compression,C=b!==a.utf8encode,A=o.transformTo("string",b(k.name)),R=o.transformTo("string",a.utf8encode(k.name)),N=k.comment,J=o.transformTo("string",b(N)),S=o.transformTo("string",a.utf8encode(N)),O=R.length!==k.name.length,y=S.length!==N.length,M="",ae="",V="",ce=k.dir,H=k.date,oe={crc32:0,compressedSize:0,uncompressedSize:0};m&&!p||(oe.crc32=d.crc32,oe.compressedSize=d.compressedSize,oe.uncompressedSize=d.uncompressedSize);var B=0;m&&(B|=8),C||!O&&!y||(B|=2048);var D=0,te=0;ce&&(D|=16),f==="UNIX"?(te=798,D|=(function(G,Ee){var Ke=G;return G||(Ke=Ee?16893:33204),(65535&Ke)<<16})(k.unixPermissions,ce)):(te=20,D|=(function(G){return 63&(G||0)})(k.dosPermissions)),_=H.getUTCHours(),_<<=6,_|=H.getUTCMinutes(),_<<=5,_|=H.getUTCSeconds()/2,x=H.getUTCFullYear()-1980,x<<=4,x|=H.getUTCMonth()+1,x<<=5,x|=H.getUTCDate(),O&&(ae=n(1,1)+n(c(A),4)+R,M+="up"+n(ae.length,2)+ae),y&&(V=n(1,1)+n(c(J),4)+S,M+="uc"+n(V.length,2)+V);var q="";return q+=`
2
- \0`,q+=n(B,2),q+=P.magic,q+=n(_,2),q+=n(x,2),q+=n(oe.crc32,4),q+=n(oe.compressedSize,4),q+=n(oe.uncompressedSize,4),q+=n(A.length,2),q+=n(M.length,2),{fileRecord:l.LOCAL_FILE_HEADER+q+A+M,dirRecord:l.CENTRAL_FILE_HEADER+n(te,2)+q+n(J.length,2)+"\0\0\0\0"+n(D,4)+n(g,4)+A+M+J}}var o=e("../utils"),s=e("../stream/GenericWorker"),a=e("../utf8"),c=e("../crc32"),l=e("../signature");function h(d,m,p,g){s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=m,this.zipPlatform=p,this.encodeFileName=g,this.streamFiles=d,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}o.inherits(h,s),h.prototype.push=function(d){var m=d.meta.percent||0,p=this.entriesCount,g=this._sources.length;this.accumulate?this.contentBuffer.push(d):(this.bytesWritten+=d.data.length,s.prototype.push.call(this,{data:d.data,meta:{currentFile:this.currentFile,percent:p?(m+100*(p-g-1))/p:100}}))},h.prototype.openedSource=function(d){this.currentSourceOffset=this.bytesWritten,this.currentFile=d.file.name;var m=this.streamFiles&&!d.file.dir;if(m){var p=i(d,m,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:p.fileRecord,meta:{percent:0}})}else this.accumulate=!0},h.prototype.closedSource=function(d){this.accumulate=!1;var m=this.streamFiles&&!d.file.dir,p=i(d,m,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(p.dirRecord),m)this.push({data:(function(g){return l.DATA_DESCRIPTOR+n(g.crc32,4)+n(g.compressedSize,4)+n(g.uncompressedSize,4)})(d),meta:{percent:100}});else for(this.push({data:p.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},h.prototype.flush=function(){for(var d=this.bytesWritten,m=0;m<this.dirRecords.length;m++)this.push({data:this.dirRecords[m],meta:{percent:100}});var p=this.bytesWritten-d,g=(function(f,b,_,x,k){var P=o.transformTo("string",k(x));return l.CENTRAL_DIRECTORY_END+"\0\0\0\0"+n(f,2)+n(f,2)+n(b,4)+n(_,4)+n(P.length,2)+P})(this.dirRecords.length,p,d,this.zipComment,this.encodeFileName);this.push({data:g,meta:{percent:100}})},h.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},h.prototype.registerPrevious=function(d){this._sources.push(d);var m=this;return d.on("data",function(p){m.processChunk(p)}),d.on("end",function(){m.closedSource(m.previous.streamInfo),m._sources.length?m.prepareNextSource():m.end()}),d.on("error",function(p){m.error(p)}),this},h.prototype.resume=function(){return!!s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},h.prototype.error=function(d){var m=this._sources;if(!s.prototype.error.call(this,d))return!1;for(var p=0;p<m.length;p++)try{m[p].error(d)}catch{}return!0},h.prototype.lock=function(){s.prototype.lock.call(this);for(var d=this._sources,m=0;m<d.length;m++)d[m].lock()},t.exports=h},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){"use strict";var n=e("../compressions"),i=e("./ZipFileWorker");r.generateWorker=function(o,s,a){var c=new i(s.streamFiles,a,s.platform,s.encodeFileName),l=0;try{o.forEach(function(h,d){l++;var m=(function(b,_){var x=b||_,k=n[x];if(!k)throw new Error(x+" is not a valid compression method !");return k})(d.options.compression,s.compression),p=d.options.compressionOptions||s.compressionOptions||{},g=d.dir,f=d.date;d._compressWorker(m,p).withStreamInfo("file",{name:h,dir:g,date:f,comment:d.comment||"",unixPermissions:d.unixPermissions,dosPermissions:d.dosPermissions}).pipe(c)}),c.entriesCount=l}catch(h){c.error(h)}return c}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var i=new n;for(var o in this)typeof this[o]!="function"&&(i[o]=this[o]);return i}}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.10.1",n.loadAsync=function(i,o){return new n().loadAsync(i,o)},n.external=e("./external"),t.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){"use strict";var n=e("./utils"),i=e("./external"),o=e("./utf8"),s=e("./zipEntries"),a=e("./stream/Crc32Probe"),c=e("./nodejsUtils");function l(h){return new i.Promise(function(d,m){var p=h.decompressed.getContentWorker().pipe(new a);p.on("error",function(g){m(g)}).on("end",function(){p.streamInfo.crc32!==h.decompressed.crc32?m(new Error("Corrupted zip : CRC32 mismatch")):d()}).resume()})}t.exports=function(h,d){var m=this;return d=n.extend(d||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),c.isNode&&c.isStream(h)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",h,!0,d.optimizedBinaryString,d.base64).then(function(p){var g=new s(d);return g.load(p),g}).then(function(p){var g=[i.Promise.resolve(p)],f=p.files;if(d.checkCRC32)for(var b=0;b<f.length;b++)g.push(l(f[b]));return i.Promise.all(g)}).then(function(p){for(var g=p.shift(),f=g.files,b=0;b<f.length;b++){var _=f[b],x=_.fileNameStr,k=n.resolve(_.fileNameStr);m.file(k,_.decompressed,{binary:!0,optimizedBinaryString:!0,date:_.date,dir:_.dir,comment:_.fileCommentStr.length?_.fileCommentStr:null,unixPermissions:_.unixPermissions,dosPermissions:_.dosPermissions,createFolders:d.createFolders}),_.dir||(m.file(k).unsafeOriginalName=x)}return g.zipComment.length&&(m.comment=g.zipComment),m})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../stream/GenericWorker");function o(s,a){i.call(this,"Nodejs stream input adapter for "+s),this._upstreamEnded=!1,this._bindStream(a)}n.inherits(o,i),o.prototype._bindStream=function(s){var a=this;(this._stream=s).pause(),s.on("data",function(c){a.push({data:c,meta:{percent:0}})}).on("error",function(c){a.isPaused?this.generatedError=c:a.error(c)}).on("end",function(){a.isPaused?a._upstreamEnded=!0:a.end()})},o.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},o.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=o},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){"use strict";var n=e("readable-stream").Readable;function i(o,s,a){n.call(this,s),this._helper=o;var c=this;o.on("data",function(l,h){c.push(l)||c._helper.pause(),a&&a(h)}).on("error",function(l){c.emit("error",l)}).on("end",function(){c.push(null)})}e("../utils").inherits(i,n),i.prototype._read=function(){this._helper.resume()},t.exports=i},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){"use strict";t.exports={isNode:typeof Buffer<"u",newBufferFrom:function(n,i){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(n,i);if(typeof n=="number")throw new Error('The "data" argument must not be a number');return new Buffer(n,i)},allocBuffer:function(n){if(Buffer.alloc)return Buffer.alloc(n);var i=new Buffer(n);return i.fill(0),i},isBuffer:function(n){return Buffer.isBuffer(n)},isStream:function(n){return n&&typeof n.on=="function"&&typeof n.pause=="function"&&typeof n.resume=="function"}}},{}],15:[function(e,t,r){"use strict";function n(k,P,C){var A,R=o.getTypeOf(P),N=o.extend(C||{},c);N.date=N.date||new Date,N.compression!==null&&(N.compression=N.compression.toUpperCase()),typeof N.unixPermissions=="string"&&(N.unixPermissions=parseInt(N.unixPermissions,8)),N.unixPermissions&&16384&N.unixPermissions&&(N.dir=!0),N.dosPermissions&&16&N.dosPermissions&&(N.dir=!0),N.dir&&(k=f(k)),N.createFolders&&(A=g(k))&&b.call(this,A,!0);var J=R==="string"&&N.binary===!1&&N.base64===!1;C&&C.binary!==void 0||(N.binary=!J),(P instanceof l&&P.uncompressedSize===0||N.dir||!P||P.length===0)&&(N.base64=!1,N.binary=!0,P="",N.compression="STORE",R="string");var S=null;S=P instanceof l||P instanceof s?P:m.isNode&&m.isStream(P)?new p(k,P):o.prepareContent(k,P,N.binary,N.optimizedBinaryString,N.base64);var O=new h(k,S,N);this.files[k]=O}var i=e("./utf8"),o=e("./utils"),s=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),c=e("./defaults"),l=e("./compressedObject"),h=e("./zipObject"),d=e("./generate"),m=e("./nodejsUtils"),p=e("./nodejs/NodejsStreamInputAdapter"),g=function(k){k.slice(-1)==="/"&&(k=k.substring(0,k.length-1));var P=k.lastIndexOf("/");return 0<P?k.substring(0,P):""},f=function(k){return k.slice(-1)!=="/"&&(k+="/"),k},b=function(k,P){return P=P!==void 0?P:c.createFolders,k=f(k),this.files[k]||n.call(this,k,null,{dir:!0,createFolders:P}),this.files[k]};function _(k){return Object.prototype.toString.call(k)==="[object RegExp]"}var x={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(k){var P,C,A;for(P in this.files)A=this.files[P],(C=P.slice(this.root.length,P.length))&&P.slice(0,this.root.length)===this.root&&k(C,A)},filter:function(k){var P=[];return this.forEach(function(C,A){k(C,A)&&P.push(A)}),P},file:function(k,P,C){if(arguments.length!==1)return k=this.root+k,n.call(this,k,P,C),this;if(_(k)){var A=k;return this.filter(function(N,J){return!J.dir&&A.test(N)})}var R=this.files[this.root+k];return R&&!R.dir?R:null},folder:function(k){if(!k)return this;if(_(k))return this.filter(function(R,N){return N.dir&&k.test(R)});var P=this.root+k,C=b.call(this,P),A=this.clone();return A.root=C.name,A},remove:function(k){k=this.root+k;var P=this.files[k];if(P||(k.slice(-1)!=="/"&&(k+="/"),P=this.files[k]),P&&!P.dir)delete this.files[k];else for(var C=this.filter(function(R,N){return N.name.slice(0,k.length)===k}),A=0;A<C.length;A++)delete this.files[C[A].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(k){var P,C={};try{if((C=o.extend(k||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=C.type.toLowerCase(),C.compression=C.compression.toUpperCase(),C.type==="binarystring"&&(C.type="string"),!C.type)throw new Error("No output type specified.");o.checkSupport(C.type),C.platform!=="darwin"&&C.platform!=="freebsd"&&C.platform!=="linux"&&C.platform!=="sunos"||(C.platform="UNIX"),C.platform==="win32"&&(C.platform="DOS");var A=C.comment||this.comment||"";P=d.generateWorker(this,C,A)}catch(R){(P=new s("error")).error(R)}return new a(P,C.type||"string",C.mimeType)},generateAsync:function(k,P){return this.generateInternalStream(k).accumulate(P)},generateNodeStream:function(k,P){return(k=k||{}).type||(k.type="nodebuffer"),this.generateInternalStream(k).toNodejsStream(P)}};t.exports=x},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){"use strict";t.exports=e("stream")},{stream:void 0}],17:[function(e,t,r){"use strict";var n=e("./DataReader");function i(o){n.call(this,o);for(var s=0;s<this.data.length;s++)o[s]=255&o[s]}e("../utils").inherits(i,n),i.prototype.byteAt=function(o){return this.data[this.zero+o]},i.prototype.lastIndexOfSignature=function(o){for(var s=o.charCodeAt(0),a=o.charCodeAt(1),c=o.charCodeAt(2),l=o.charCodeAt(3),h=this.length-4;0<=h;--h)if(this.data[h]===s&&this.data[h+1]===a&&this.data[h+2]===c&&this.data[h+3]===l)return h-this.zero;return-1},i.prototype.readAndCheckSignature=function(o){var s=o.charCodeAt(0),a=o.charCodeAt(1),c=o.charCodeAt(2),l=o.charCodeAt(3),h=this.readData(4);return s===h[0]&&a===h[1]&&c===h[2]&&l===h[3]},i.prototype.readData=function(o){if(this.checkOffset(o),o===0)return[];var s=this.data.slice(this.zero+this.index,this.zero+this.index+o);return this.index+=o,s},t.exports=i},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){"use strict";var n=e("../utils");function i(o){this.data=o,this.length=o.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(o){this.checkIndex(this.index+o)},checkIndex:function(o){if(this.length<this.zero+o||o<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+o+"). Corrupted zip ?")},setIndex:function(o){this.checkIndex(o),this.index=o},skip:function(o){this.setIndex(this.index+o)},byteAt:function(){},readInt:function(o){var s,a=0;for(this.checkOffset(o),s=this.index+o-1;s>=this.index;s--)a=(a<<8)+this.byteAt(s);return this.index+=o,a},readString:function(o){return n.transformTo("string",this.readData(o))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var o=this.readInt(4);return new Date(Date.UTC(1980+(o>>25&127),(o>>21&15)-1,o>>16&31,o>>11&31,o>>5&63,(31&o)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,r){"use strict";var n=e("./Uint8ArrayReader");function i(o){n.call(this,o)}e("../utils").inherits(i,n),i.prototype.readData=function(o){this.checkOffset(o);var s=this.data.slice(this.zero+this.index,this.zero+this.index+o);return this.index+=o,s},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){"use strict";var n=e("./DataReader");function i(o){n.call(this,o)}e("../utils").inherits(i,n),i.prototype.byteAt=function(o){return this.data.charCodeAt(this.zero+o)},i.prototype.lastIndexOfSignature=function(o){return this.data.lastIndexOf(o)-this.zero},i.prototype.readAndCheckSignature=function(o){return o===this.readData(4)},i.prototype.readData=function(o){this.checkOffset(o);var s=this.data.slice(this.zero+this.index,this.zero+this.index+o);return this.index+=o,s},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){"use strict";var n=e("./ArrayReader");function i(o){n.call(this,o)}e("../utils").inherits(i,n),i.prototype.readData=function(o){if(this.checkOffset(o),o===0)return new Uint8Array(0);var s=this.data.subarray(this.zero+this.index,this.zero+this.index+o);return this.index+=o,s},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../support"),o=e("./ArrayReader"),s=e("./StringReader"),a=e("./NodeBufferReader"),c=e("./Uint8ArrayReader");t.exports=function(l){var h=n.getTypeOf(l);return n.checkSupport(h),h!=="string"||i.uint8array?h==="nodebuffer"?new a(l):i.uint8array?new c(n.transformTo("uint8array",l)):new o(n.transformTo("array",l)):new s(l)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../utils");function o(s){n.call(this,"ConvertWorker to "+s),this.destType=s}i.inherits(o,n),o.prototype.processChunk=function(s){this.push({data:i.transformTo(this.destType,s.data),meta:s.meta})},t.exports=o},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../crc32");function o(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(o,n),o.prototype.processChunk=function(s){this.streamInfo.crc32=i(s.data,this.streamInfo.crc32||0),this.push(s)},t.exports=o},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function o(s){i.call(this,"DataLengthProbe for "+s),this.propName=s,this.withStreamInfo(s,0)}n.inherits(o,i),o.prototype.processChunk=function(s){if(s){var a=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=a+s.data.length}i.prototype.processChunk.call(this,s)},t.exports=o},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function o(s){i.call(this,"DataWorker");var a=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,s.then(function(c){a.dataIsReady=!0,a.data=c,a.max=c&&c.length||0,a.type=n.getTypeOf(c),a.isPaused||a._tickAndRepeat()},function(c){a.error(c)})}n.inherits(o,i),o.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},o.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},o.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},o.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var s=null,a=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":s=this.data.substring(this.index,a);break;case"uint8array":s=this.data.subarray(this.index,a);break;case"array":case"nodebuffer":s=this.data.slice(this.index,a)}return this.index=a,this.push({data:s,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=o},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){"use strict";function n(i){this.name=i||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(i){this.emit("data",i)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(i){this.emit("error",i)}return!0},error:function(i){return!this.isFinished&&(this.isPaused?this.generatedError=i:(this.isFinished=!0,this.emit("error",i),this.previous&&this.previous.error(i),this.cleanUp()),!0)},on:function(i,o){return this._listeners[i].push(o),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(i,o){if(this._listeners[i])for(var s=0;s<this._listeners[i].length;s++)this._listeners[i][s].call(this,o)},pipe:function(i){return i.registerPrevious(this)},registerPrevious:function(i){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=i.streamInfo,this.mergeStreamInfo(),this.previous=i;var o=this;return i.on("data",function(s){o.processChunk(s)}),i.on("end",function(){o.end()}),i.on("error",function(s){o.error(s)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var i=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),i=!0),this.previous&&this.previous.resume(),!i},flush:function(){},processChunk:function(i){this.push(i)},withStreamInfo:function(i,o){return this.extraStreamInfo[i]=o,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var i in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,i)&&(this.streamInfo[i]=this.extraStreamInfo[i])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var i="Worker "+this.name;return this.previous?this.previous+" -> "+i:i}},t.exports=n},{}],29:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./ConvertWorker"),o=e("./GenericWorker"),s=e("../base64"),a=e("../support"),c=e("../external"),l=null;if(a.nodestream)try{l=e("../nodejs/NodejsStreamOutputAdapter")}catch{}function h(m,p){return new c.Promise(function(g,f){var b=[],_=m._internalType,x=m._outputType,k=m._mimeType;m.on("data",function(P,C){b.push(P),p&&p(C)}).on("error",function(P){b=[],f(P)}).on("end",function(){try{var P=(function(C,A,R){switch(C){case"blob":return n.newBlob(n.transformTo("arraybuffer",A),R);case"base64":return s.encode(A);default:return n.transformTo(C,A)}})(x,(function(C,A){var R,N=0,J=null,S=0;for(R=0;R<A.length;R++)S+=A[R].length;switch(C){case"string":return A.join("");case"array":return Array.prototype.concat.apply([],A);case"uint8array":for(J=new Uint8Array(S),R=0;R<A.length;R++)J.set(A[R],N),N+=A[R].length;return J;case"nodebuffer":return Buffer.concat(A);default:throw new Error("concat : unsupported type '"+C+"'")}})(_,b),k);g(P)}catch(C){f(C)}b=[]}).resume()})}function d(m,p,g){var f=p;switch(p){case"blob":case"arraybuffer":f="uint8array";break;case"base64":f="string"}try{this._internalType=f,this._outputType=p,this._mimeType=g,n.checkSupport(f),this._worker=m.pipe(new i(f)),m.lock()}catch(b){this._worker=new o("error"),this._worker.error(b)}}d.prototype={accumulate:function(m){return h(this,m)},on:function(m,p){var g=this;return m==="data"?this._worker.on(m,function(f){p.call(g,f.data,f.meta)}):this._worker.on(m,function(){n.delay(p,arguments,g)}),this},resume:function(){return n.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(m){if(n.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new l(this,{objectMode:this._outputType!=="nodebuffer"},m)}},t.exports=d},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",r.nodebuffer=typeof Buffer<"u",r.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=new Blob([n],{type:"application/zip"}).size===0}catch{try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=i.getBlob("application/zip").size===0}catch{r.blob=!1}}}try{r.nodestream=!!e("readable-stream").Readable}catch{r.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,r){"use strict";for(var n=e("./utils"),i=e("./support"),o=e("./nodejsUtils"),s=e("./stream/GenericWorker"),a=new Array(256),c=0;c<256;c++)a[c]=252<=c?6:248<=c?5:240<=c?4:224<=c?3:192<=c?2:1;a[254]=a[254]=1;function l(){s.call(this,"utf-8 decode"),this.leftOver=null}function h(){s.call(this,"utf-8 encode")}r.utf8encode=function(d){return i.nodebuffer?o.newBufferFrom(d,"utf-8"):(function(m){var p,g,f,b,_,x=m.length,k=0;for(b=0;b<x;b++)(64512&(g=m.charCodeAt(b)))==55296&&b+1<x&&(64512&(f=m.charCodeAt(b+1)))==56320&&(g=65536+(g-55296<<10)+(f-56320),b++),k+=g<128?1:g<2048?2:g<65536?3:4;for(p=i.uint8array?new Uint8Array(k):new Array(k),b=_=0;_<k;b++)(64512&(g=m.charCodeAt(b)))==55296&&b+1<x&&(64512&(f=m.charCodeAt(b+1)))==56320&&(g=65536+(g-55296<<10)+(f-56320),b++),g<128?p[_++]=g:(g<2048?p[_++]=192|g>>>6:(g<65536?p[_++]=224|g>>>12:(p[_++]=240|g>>>18,p[_++]=128|g>>>12&63),p[_++]=128|g>>>6&63),p[_++]=128|63&g);return p})(d)},r.utf8decode=function(d){return i.nodebuffer?n.transformTo("nodebuffer",d).toString("utf-8"):(function(m){var p,g,f,b,_=m.length,x=new Array(2*_);for(p=g=0;p<_;)if((f=m[p++])<128)x[g++]=f;else if(4<(b=a[f]))x[g++]=65533,p+=b-1;else{for(f&=b===2?31:b===3?15:7;1<b&&p<_;)f=f<<6|63&m[p++],b--;1<b?x[g++]=65533:f<65536?x[g++]=f:(f-=65536,x[g++]=55296|f>>10&1023,x[g++]=56320|1023&f)}return x.length!==g&&(x.subarray?x=x.subarray(0,g):x.length=g),n.applyFromCharCode(x)})(d=n.transformTo(i.uint8array?"uint8array":"array",d))},n.inherits(l,s),l.prototype.processChunk=function(d){var m=n.transformTo(i.uint8array?"uint8array":"array",d.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var p=m;(m=new Uint8Array(p.length+this.leftOver.length)).set(this.leftOver,0),m.set(p,this.leftOver.length)}else m=this.leftOver.concat(m);this.leftOver=null}var g=(function(b,_){var x;for((_=_||b.length)>b.length&&(_=b.length),x=_-1;0<=x&&(192&b[x])==128;)x--;return x<0||x===0?_:x+a[b[x]]>_?x:_})(m),f=m;g!==m.length&&(i.uint8array?(f=m.subarray(0,g),this.leftOver=m.subarray(g,m.length)):(f=m.slice(0,g),this.leftOver=m.slice(g,m.length))),this.push({data:r.utf8decode(f),meta:d.meta})},l.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:r.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},r.Utf8DecodeWorker=l,n.inherits(h,s),h.prototype.processChunk=function(d){this.push({data:r.utf8encode(d.data),meta:d.meta})},r.Utf8EncodeWorker=h},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,r){"use strict";var n=e("./support"),i=e("./base64"),o=e("./nodejsUtils"),s=e("./external");function a(p){return p}function c(p,g){for(var f=0;f<p.length;++f)g[f]=255&p.charCodeAt(f);return g}e("setimmediate"),r.newBlob=function(p,g){r.checkSupport("blob");try{return new Blob([p],{type:g})}catch{try{var f=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return f.append(p),f.getBlob(g)}catch{throw new Error("Bug : can't construct the Blob.")}}};var l={stringifyByChunk:function(p,g,f){var b=[],_=0,x=p.length;if(x<=f)return String.fromCharCode.apply(null,p);for(;_<x;)g==="array"||g==="nodebuffer"?b.push(String.fromCharCode.apply(null,p.slice(_,Math.min(_+f,x)))):b.push(String.fromCharCode.apply(null,p.subarray(_,Math.min(_+f,x)))),_+=f;return b.join("")},stringifyByChar:function(p){for(var g="",f=0;f<p.length;f++)g+=String.fromCharCode(p[f]);return g},applyCanBeUsed:{uint8array:(function(){try{return n.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}})(),nodebuffer:(function(){try{return n.nodebuffer&&String.fromCharCode.apply(null,o.allocBuffer(1)).length===1}catch{return!1}})()}};function h(p){var g=65536,f=r.getTypeOf(p),b=!0;if(f==="uint8array"?b=l.applyCanBeUsed.uint8array:f==="nodebuffer"&&(b=l.applyCanBeUsed.nodebuffer),b)for(;1<g;)try{return l.stringifyByChunk(p,f,g)}catch{g=Math.floor(g/2)}return l.stringifyByChar(p)}function d(p,g){for(var f=0;f<p.length;f++)g[f]=p[f];return g}r.applyFromCharCode=h;var m={};m.string={string:a,array:function(p){return c(p,new Array(p.length))},arraybuffer:function(p){return m.string.uint8array(p).buffer},uint8array:function(p){return c(p,new Uint8Array(p.length))},nodebuffer:function(p){return c(p,o.allocBuffer(p.length))}},m.array={string:h,array:a,arraybuffer:function(p){return new Uint8Array(p).buffer},uint8array:function(p){return new Uint8Array(p)},nodebuffer:function(p){return o.newBufferFrom(p)}},m.arraybuffer={string:function(p){return h(new Uint8Array(p))},array:function(p){return d(new Uint8Array(p),new Array(p.byteLength))},arraybuffer:a,uint8array:function(p){return new Uint8Array(p)},nodebuffer:function(p){return o.newBufferFrom(new Uint8Array(p))}},m.uint8array={string:h,array:function(p){return d(p,new Array(p.length))},arraybuffer:function(p){return p.buffer},uint8array:a,nodebuffer:function(p){return o.newBufferFrom(p)}},m.nodebuffer={string:h,array:function(p){return d(p,new Array(p.length))},arraybuffer:function(p){return m.nodebuffer.uint8array(p).buffer},uint8array:function(p){return d(p,new Uint8Array(p.length))},nodebuffer:a},r.transformTo=function(p,g){if(g=g||"",!p)return g;r.checkSupport(p);var f=r.getTypeOf(g);return m[f][p](g)},r.resolve=function(p){for(var g=p.split("/"),f=[],b=0;b<g.length;b++){var _=g[b];_==="."||_===""&&b!==0&&b!==g.length-1||(_===".."?f.pop():f.push(_))}return f.join("/")},r.getTypeOf=function(p){return typeof p=="string"?"string":Object.prototype.toString.call(p)==="[object Array]"?"array":n.nodebuffer&&o.isBuffer(p)?"nodebuffer":n.uint8array&&p instanceof Uint8Array?"uint8array":n.arraybuffer&&p instanceof ArrayBuffer?"arraybuffer":void 0},r.checkSupport=function(p){if(!n[p.toLowerCase()])throw new Error(p+" is not supported by this platform")},r.MAX_VALUE_16BITS=65535,r.MAX_VALUE_32BITS=-1,r.pretty=function(p){var g,f,b="";for(f=0;f<(p||"").length;f++)b+="\\x"+((g=p.charCodeAt(f))<16?"0":"")+g.toString(16).toUpperCase();return b},r.delay=function(p,g,f){setImmediate(function(){p.apply(f||null,g||[])})},r.inherits=function(p,g){function f(){}f.prototype=g.prototype,p.prototype=new f},r.extend=function(){var p,g,f={};for(p=0;p<arguments.length;p++)for(g in arguments[p])Object.prototype.hasOwnProperty.call(arguments[p],g)&&f[g]===void 0&&(f[g]=arguments[p][g]);return f},r.prepareContent=function(p,g,f,b,_){return s.Promise.resolve(g).then(function(x){return n.blob&&(x instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(x))!==-1)&&typeof FileReader<"u"?new s.Promise(function(k,P){var C=new FileReader;C.onload=function(A){k(A.target.result)},C.onerror=function(A){P(A.target.error)},C.readAsArrayBuffer(x)}):x}).then(function(x){var k=r.getTypeOf(x);return k?(k==="arraybuffer"?x=r.transformTo("uint8array",x):k==="string"&&(_?x=i.decode(x):f&&b!==!0&&(x=(function(P){return c(P,n.uint8array?new Uint8Array(P.length):new Array(P.length))})(x))),x):s.Promise.reject(new Error("Can't read the data of '"+p+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),i=e("./utils"),o=e("./signature"),s=e("./zipEntry"),a=e("./support");function c(l){this.files=[],this.loadOptions=l}c.prototype={checkSignature:function(l){if(!this.reader.readAndCheckSignature(l)){this.reader.index-=4;var h=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(h)+", expected "+i.pretty(l)+")")}},isSignature:function(l,h){var d=this.reader.index;this.reader.setIndex(l);var m=this.reader.readString(4)===h;return this.reader.setIndex(d),m},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var l=this.reader.readData(this.zipCommentLength),h=a.uint8array?"uint8array":"array",d=i.transformTo(h,l);this.zipComment=this.loadOptions.decodeFileName(d)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var l,h,d,m=this.zip64EndOfCentralSize-44;0<m;)l=this.reader.readInt(2),h=this.reader.readInt(4),d=this.reader.readData(h),this.zip64ExtensibleData[l]={id:l,length:h,value:d}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var l,h;for(l=0;l<this.files.length;l++)h=this.files[l],this.reader.setIndex(h.localHeaderOffset),this.checkSignature(o.LOCAL_FILE_HEADER),h.readLocalPart(this.reader),h.handleUTF8(),h.processAttributes()},readCentralDir:function(){var l;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(o.CENTRAL_FILE_HEADER);)(l=new s({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(l);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var l=this.reader.lastIndexOfSignature(o.CENTRAL_DIRECTORY_END);if(l<0)throw this.isSignature(0,o.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(l);var h=l;if(this.checkSignature(o.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(l=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(l),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,o.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var d=this.centralDirOffset+this.centralDirSize;this.zip64&&(d+=20,d+=12+this.zip64EndOfCentralSize);var m=h-d;if(0<m)this.isSignature(h,o.CENTRAL_FILE_HEADER)||(this.reader.zero=m);else if(m<0)throw new Error("Corrupted zip: missing "+Math.abs(m)+" bytes.")},prepareReader:function(l){this.reader=n(l)},load:function(l){this.prepareReader(l),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=c},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),i=e("./utils"),o=e("./compressedObject"),s=e("./crc32"),a=e("./utf8"),c=e("./compressions"),l=e("./support");function h(d,m){this.options=d,this.loadOptions=m}h.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(d){var m,p;if(d.skip(22),this.fileNameLength=d.readInt(2),p=d.readInt(2),this.fileName=d.readData(this.fileNameLength),d.skip(p),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((m=(function(g){for(var f in c)if(Object.prototype.hasOwnProperty.call(c,f)&&c[f].magic===g)return c[f];return null})(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");this.decompressed=new o(this.compressedSize,this.uncompressedSize,this.crc32,m,d.readData(this.compressedSize))},readCentralPart:function(d){this.versionMadeBy=d.readInt(2),d.skip(2),this.bitFlag=d.readInt(2),this.compressionMethod=d.readString(2),this.date=d.readDate(),this.crc32=d.readInt(4),this.compressedSize=d.readInt(4),this.uncompressedSize=d.readInt(4);var m=d.readInt(2);if(this.extraFieldsLength=d.readInt(2),this.fileCommentLength=d.readInt(2),this.diskNumberStart=d.readInt(2),this.internalFileAttributes=d.readInt(2),this.externalFileAttributes=d.readInt(4),this.localHeaderOffset=d.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");d.skip(m),this.readExtraFields(d),this.parseZIP64ExtraField(d),this.fileComment=d.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var d=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),d==0&&(this.dosPermissions=63&this.externalFileAttributes),d==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var d=n(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=d.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=d.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=d.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=d.readInt(4))}},readExtraFields:function(d){var m,p,g,f=d.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});d.index+4<f;)m=d.readInt(2),p=d.readInt(2),g=d.readData(p),this.extraFields[m]={id:m,length:p,value:g};d.setIndex(f)},handleUTF8:function(){var d=l.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else{var m=this.findExtraFieldUnicodePath();if(m!==null)this.fileNameStr=m;else{var p=i.transformTo(d,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(p)}var g=this.findExtraFieldUnicodeComment();if(g!==null)this.fileCommentStr=g;else{var f=i.transformTo(d,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(f)}}},findExtraFieldUnicodePath:function(){var d=this.extraFields[28789];if(d){var m=n(d.value);return m.readInt(1)!==1||s(this.fileName)!==m.readInt(4)?null:a.utf8decode(m.readData(d.length-5))}return null},findExtraFieldUnicodeComment:function(){var d=this.extraFields[25461];if(d){var m=n(d.value);return m.readInt(1)!==1||s(this.fileComment)!==m.readInt(4)?null:a.utf8decode(m.readData(d.length-5))}return null}},t.exports=h},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){"use strict";function n(m,p,g){this.name=m,this.dir=g.dir,this.date=g.date,this.comment=g.comment,this.unixPermissions=g.unixPermissions,this.dosPermissions=g.dosPermissions,this._data=p,this._dataBinary=g.binary,this.options={compression:g.compression,compressionOptions:g.compressionOptions}}var i=e("./stream/StreamHelper"),o=e("./stream/DataWorker"),s=e("./utf8"),a=e("./compressedObject"),c=e("./stream/GenericWorker");n.prototype={internalStream:function(m){var p=null,g="string";try{if(!m)throw new Error("No output type specified.");var f=(g=m.toLowerCase())==="string"||g==="text";g!=="binarystring"&&g!=="text"||(g="string"),p=this._decompressWorker();var b=!this._dataBinary;b&&!f&&(p=p.pipe(new s.Utf8EncodeWorker)),!b&&f&&(p=p.pipe(new s.Utf8DecodeWorker))}catch(_){(p=new c("error")).error(_)}return new i(p,g,"")},async:function(m,p){return this.internalStream(m).accumulate(p)},nodeStream:function(m,p){return this.internalStream(m||"nodebuffer").toNodejsStream(p)},_compressWorker:function(m,p){if(this._data instanceof a&&this._data.compression.magic===m.magic)return this._data.getCompressedWorker();var g=this._decompressWorker();return this._dataBinary||(g=g.pipe(new s.Utf8EncodeWorker)),a.createWorkerFrom(g,m,p)},_decompressWorker:function(){return this._data instanceof a?this._data.getContentWorker():this._data instanceof c?this._data:new o(this._data)}};for(var l=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],h=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},d=0;d<l.length;d++)n.prototype[l[d]]=h;t.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,t,r){(function(n){"use strict";var i,o,s=n.MutationObserver||n.WebKitMutationObserver;if(s){var a=0,c=new s(m),l=n.document.createTextNode("");c.observe(l,{characterData:!0}),i=function(){l.data=a=++a%2}}else if(n.setImmediate||n.MessageChannel===void 0)i="document"in n&&"onreadystatechange"in n.document.createElement("script")?function(){var p=n.document.createElement("script");p.onreadystatechange=function(){m(),p.onreadystatechange=null,p.parentNode.removeChild(p),p=null},n.document.documentElement.appendChild(p)}:function(){setTimeout(m,0)};else{var h=new n.MessageChannel;h.port1.onmessage=m,i=function(){h.port2.postMessage(0)}}var d=[];function m(){var p,g;o=!0;for(var f=d.length;f;){for(g=d,d=[],p=-1;++p<f;)g[p]();f=d.length}o=!1}t.exports=function(p){d.push(p)!==1||o||i()}}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(e,t,r){"use strict";var n=e("immediate");function i(){}var o={},s=["REJECTED"],a=["FULFILLED"],c=["PENDING"];function l(f){if(typeof f!="function")throw new TypeError("resolver must be a function");this.state=c,this.queue=[],this.outcome=void 0,f!==i&&p(this,f)}function h(f,b,_){this.promise=f,typeof b=="function"&&(this.onFulfilled=b,this.callFulfilled=this.otherCallFulfilled),typeof _=="function"&&(this.onRejected=_,this.callRejected=this.otherCallRejected)}function d(f,b,_){n(function(){var x;try{x=b(_)}catch(k){return o.reject(f,k)}x===f?o.reject(f,new TypeError("Cannot resolve promise with itself")):o.resolve(f,x)})}function m(f){var b=f&&f.then;if(f&&(typeof f=="object"||typeof f=="function")&&typeof b=="function")return function(){b.apply(f,arguments)}}function p(f,b){var _=!1;function x(C){_||(_=!0,o.reject(f,C))}function k(C){_||(_=!0,o.resolve(f,C))}var P=g(function(){b(k,x)});P.status==="error"&&x(P.value)}function g(f,b){var _={};try{_.value=f(b),_.status="success"}catch(x){_.status="error",_.value=x}return _}(t.exports=l).prototype.finally=function(f){if(typeof f!="function")return this;var b=this.constructor;return this.then(function(_){return b.resolve(f()).then(function(){return _})},function(_){return b.resolve(f()).then(function(){throw _})})},l.prototype.catch=function(f){return this.then(null,f)},l.prototype.then=function(f,b){if(typeof f!="function"&&this.state===a||typeof b!="function"&&this.state===s)return this;var _=new this.constructor(i);return this.state!==c?d(_,this.state===a?f:b,this.outcome):this.queue.push(new h(_,f,b)),_},h.prototype.callFulfilled=function(f){o.resolve(this.promise,f)},h.prototype.otherCallFulfilled=function(f){d(this.promise,this.onFulfilled,f)},h.prototype.callRejected=function(f){o.reject(this.promise,f)},h.prototype.otherCallRejected=function(f){d(this.promise,this.onRejected,f)},o.resolve=function(f,b){var _=g(m,b);if(_.status==="error")return o.reject(f,_.value);var x=_.value;if(x)p(f,x);else{f.state=a,f.outcome=b;for(var k=-1,P=f.queue.length;++k<P;)f.queue[k].callFulfilled(b)}return f},o.reject=function(f,b){f.state=s,f.outcome=b;for(var _=-1,x=f.queue.length;++_<x;)f.queue[_].callRejected(b);return f},l.resolve=function(f){return f instanceof this?f:o.resolve(new this(i),f)},l.reject=function(f){var b=new this(i);return o.reject(b,f)},l.all=function(f){var b=this;if(Object.prototype.toString.call(f)!=="[object Array]")return this.reject(new TypeError("must be an array"));var _=f.length,x=!1;if(!_)return this.resolve([]);for(var k=new Array(_),P=0,C=-1,A=new this(i);++C<_;)R(f[C],C);return A;function R(N,J){b.resolve(N).then(function(S){k[J]=S,++P!==_||x||(x=!0,o.resolve(A,k))},function(S){x||(x=!0,o.reject(A,S))})}},l.race=function(f){var b=this;if(Object.prototype.toString.call(f)!=="[object Array]")return this.reject(new TypeError("must be an array"));var _=f.length,x=!1;if(!_)return this.resolve([]);for(var k=-1,P=new this(i);++k<_;)C=f[k],b.resolve(C).then(function(A){x||(x=!0,o.resolve(P,A))},function(A){x||(x=!0,o.reject(P,A))});var C;return P}},{immediate:36}],38:[function(e,t,r){"use strict";var n={};(0,e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){"use strict";var n=e("./zlib/deflate"),i=e("./utils/common"),o=e("./utils/strings"),s=e("./zlib/messages"),a=e("./zlib/zstream"),c=Object.prototype.toString,l=0,h=-1,d=0,m=8;function p(f){if(!(this instanceof p))return new p(f);this.options=i.assign({level:h,method:m,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:""},f||{});var b=this.options;b.raw&&0<b.windowBits?b.windowBits=-b.windowBits:b.gzip&&0<b.windowBits&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var _=n.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(_!==l)throw new Error(s[_]);if(b.header&&n.deflateSetHeader(this.strm,b.header),b.dictionary){var x;if(x=typeof b.dictionary=="string"?o.string2buf(b.dictionary):c.call(b.dictionary)==="[object ArrayBuffer]"?new Uint8Array(b.dictionary):b.dictionary,(_=n.deflateSetDictionary(this.strm,x))!==l)throw new Error(s[_]);this._dict_set=!0}}function g(f,b){var _=new p(b);if(_.push(f,!0),_.err)throw _.msg||s[_.err];return _.result}p.prototype.push=function(f,b){var _,x,k=this.strm,P=this.options.chunkSize;if(this.ended)return!1;x=b===~~b?b:b===!0?4:0,typeof f=="string"?k.input=o.string2buf(f):c.call(f)==="[object ArrayBuffer]"?k.input=new Uint8Array(f):k.input=f,k.next_in=0,k.avail_in=k.input.length;do{if(k.avail_out===0&&(k.output=new i.Buf8(P),k.next_out=0,k.avail_out=P),(_=n.deflate(k,x))!==1&&_!==l)return this.onEnd(_),!(this.ended=!0);k.avail_out!==0&&(k.avail_in!==0||x!==4&&x!==2)||(this.options.to==="string"?this.onData(o.buf2binstring(i.shrinkBuf(k.output,k.next_out))):this.onData(i.shrinkBuf(k.output,k.next_out)))}while((0<k.avail_in||k.avail_out===0)&&_!==1);return x===4?(_=n.deflateEnd(this.strm),this.onEnd(_),this.ended=!0,_===l):x!==2||(this.onEnd(l),!(k.avail_out=0))},p.prototype.onData=function(f){this.chunks.push(f)},p.prototype.onEnd=function(f){f===l&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=f,this.msg=this.strm.msg},r.Deflate=p,r.deflate=g,r.deflateRaw=function(f,b){return(b=b||{}).raw=!0,g(f,b)},r.gzip=function(f,b){return(b=b||{}).gzip=!0,g(f,b)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){"use strict";var n=e("./zlib/inflate"),i=e("./utils/common"),o=e("./utils/strings"),s=e("./zlib/constants"),a=e("./zlib/messages"),c=e("./zlib/zstream"),l=e("./zlib/gzheader"),h=Object.prototype.toString;function d(p){if(!(this instanceof d))return new d(p);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},p||{});var g=this.options;g.raw&&0<=g.windowBits&&g.windowBits<16&&(g.windowBits=-g.windowBits,g.windowBits===0&&(g.windowBits=-15)),!(0<=g.windowBits&&g.windowBits<16)||p&&p.windowBits||(g.windowBits+=32),15<g.windowBits&&g.windowBits<48&&(15&g.windowBits)==0&&(g.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new c,this.strm.avail_out=0;var f=n.inflateInit2(this.strm,g.windowBits);if(f!==s.Z_OK)throw new Error(a[f]);this.header=new l,n.inflateGetHeader(this.strm,this.header)}function m(p,g){var f=new d(g);if(f.push(p,!0),f.err)throw f.msg||a[f.err];return f.result}d.prototype.push=function(p,g){var f,b,_,x,k,P,C=this.strm,A=this.options.chunkSize,R=this.options.dictionary,N=!1;if(this.ended)return!1;b=g===~~g?g:g===!0?s.Z_FINISH:s.Z_NO_FLUSH,typeof p=="string"?C.input=o.binstring2buf(p):h.call(p)==="[object ArrayBuffer]"?C.input=new Uint8Array(p):C.input=p,C.next_in=0,C.avail_in=C.input.length;do{if(C.avail_out===0&&(C.output=new i.Buf8(A),C.next_out=0,C.avail_out=A),(f=n.inflate(C,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&R&&(P=typeof R=="string"?o.string2buf(R):h.call(R)==="[object ArrayBuffer]"?new Uint8Array(R):R,f=n.inflateSetDictionary(this.strm,P)),f===s.Z_BUF_ERROR&&N===!0&&(f=s.Z_OK,N=!1),f!==s.Z_STREAM_END&&f!==s.Z_OK)return this.onEnd(f),!(this.ended=!0);C.next_out&&(C.avail_out!==0&&f!==s.Z_STREAM_END&&(C.avail_in!==0||b!==s.Z_FINISH&&b!==s.Z_SYNC_FLUSH)||(this.options.to==="string"?(_=o.utf8border(C.output,C.next_out),x=C.next_out-_,k=o.buf2string(C.output,_),C.next_out=x,C.avail_out=A-x,x&&i.arraySet(C.output,C.output,_,x,0),this.onData(k)):this.onData(i.shrinkBuf(C.output,C.next_out)))),C.avail_in===0&&C.avail_out===0&&(N=!0)}while((0<C.avail_in||C.avail_out===0)&&f!==s.Z_STREAM_END);return f===s.Z_STREAM_END&&(b=s.Z_FINISH),b===s.Z_FINISH?(f=n.inflateEnd(this.strm),this.onEnd(f),this.ended=!0,f===s.Z_OK):b!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),!(C.avail_out=0))},d.prototype.onData=function(p){this.chunks.push(p)},d.prototype.onEnd=function(p){p===s.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=p,this.msg=this.strm.msg},r.Inflate=d,r.inflate=m,r.inflateRaw=function(p,g){return(g=g||{}).raw=!0,m(p,g)},r.ungzip=m},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){"use strict";var n=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";r.assign=function(s){for(var a=Array.prototype.slice.call(arguments,1);a.length;){var c=a.shift();if(c){if(typeof c!="object")throw new TypeError(c+"must be non-object");for(var l in c)c.hasOwnProperty(l)&&(s[l]=c[l])}}return s},r.shrinkBuf=function(s,a){return s.length===a?s:s.subarray?s.subarray(0,a):(s.length=a,s)};var i={arraySet:function(s,a,c,l,h){if(a.subarray&&s.subarray)s.set(a.subarray(c,c+l),h);else for(var d=0;d<l;d++)s[h+d]=a[c+d]},flattenChunks:function(s){var a,c,l,h,d,m;for(a=l=0,c=s.length;a<c;a++)l+=s[a].length;for(m=new Uint8Array(l),a=h=0,c=s.length;a<c;a++)d=s[a],m.set(d,h),h+=d.length;return m}},o={arraySet:function(s,a,c,l,h){for(var d=0;d<l;d++)s[h+d]=a[c+d]},flattenChunks:function(s){return[].concat.apply([],s)}};r.setTyped=function(s){s?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,o))},r.setTyped(n)},{}],42:[function(e,t,r){"use strict";var n=e("./common"),i=!0,o=!0;try{String.fromCharCode.apply(null,[0])}catch{i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{o=!1}for(var s=new n.Buf8(256),a=0;a<256;a++)s[a]=252<=a?6:248<=a?5:240<=a?4:224<=a?3:192<=a?2:1;function c(l,h){if(h<65537&&(l.subarray&&o||!l.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(l,h));for(var d="",m=0;m<h;m++)d+=String.fromCharCode(l[m]);return d}s[254]=s[254]=1,r.string2buf=function(l){var h,d,m,p,g,f=l.length,b=0;for(p=0;p<f;p++)(64512&(d=l.charCodeAt(p)))==55296&&p+1<f&&(64512&(m=l.charCodeAt(p+1)))==56320&&(d=65536+(d-55296<<10)+(m-56320),p++),b+=d<128?1:d<2048?2:d<65536?3:4;for(h=new n.Buf8(b),p=g=0;g<b;p++)(64512&(d=l.charCodeAt(p)))==55296&&p+1<f&&(64512&(m=l.charCodeAt(p+1)))==56320&&(d=65536+(d-55296<<10)+(m-56320),p++),d<128?h[g++]=d:(d<2048?h[g++]=192|d>>>6:(d<65536?h[g++]=224|d>>>12:(h[g++]=240|d>>>18,h[g++]=128|d>>>12&63),h[g++]=128|d>>>6&63),h[g++]=128|63&d);return h},r.buf2binstring=function(l){return c(l,l.length)},r.binstring2buf=function(l){for(var h=new n.Buf8(l.length),d=0,m=h.length;d<m;d++)h[d]=l.charCodeAt(d);return h},r.buf2string=function(l,h){var d,m,p,g,f=h||l.length,b=new Array(2*f);for(d=m=0;d<f;)if((p=l[d++])<128)b[m++]=p;else if(4<(g=s[p]))b[m++]=65533,d+=g-1;else{for(p&=g===2?31:g===3?15:7;1<g&&d<f;)p=p<<6|63&l[d++],g--;1<g?b[m++]=65533:p<65536?b[m++]=p:(p-=65536,b[m++]=55296|p>>10&1023,b[m++]=56320|1023&p)}return c(b,m)},r.utf8border=function(l,h){var d;for((h=h||l.length)>l.length&&(h=l.length),d=h-1;0<=d&&(192&l[d])==128;)d--;return d<0||d===0?h:d+s[l[d]]>h?d:h}},{"./common":41}],43:[function(e,t,r){"use strict";t.exports=function(n,i,o,s){for(var a=65535&n|0,c=n>>>16&65535|0,l=0;o!==0;){for(o-=l=2e3<o?2e3:o;c=c+(a=a+i[s++]|0)|0,--l;);a%=65521,c%=65521}return a|c<<16|0}},{}],44:[function(e,t,r){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){"use strict";var n=(function(){for(var i,o=[],s=0;s<256;s++){i=s;for(var a=0;a<8;a++)i=1&i?3988292384^i>>>1:i>>>1;o[s]=i}return o})();t.exports=function(i,o,s,a){var c=n,l=a+s;i^=-1;for(var h=a;h<l;h++)i=i>>>8^c[255&(i^o[h])];return-1^i}},{}],46:[function(e,t,r){"use strict";var n,i=e("../utils/common"),o=e("./trees"),s=e("./adler32"),a=e("./crc32"),c=e("./messages"),l=0,h=4,d=0,m=-2,p=-1,g=4,f=2,b=8,_=9,x=286,k=30,P=19,C=2*x+1,A=15,R=3,N=258,J=N+R+1,S=42,O=113,y=1,M=2,ae=3,V=4;function ce(u,L){return u.msg=c[L],L}function H(u){return(u<<1)-(4<u?9:0)}function oe(u){for(var L=u.length;0<=--L;)u[L]=0}function B(u){var L=u.state,U=L.pending;U>u.avail_out&&(U=u.avail_out),U!==0&&(i.arraySet(u.output,L.pending_buf,L.pending_out,U,u.next_out),u.next_out+=U,L.pending_out+=U,u.total_out+=U,u.avail_out-=U,L.pending-=U,L.pending===0&&(L.pending_out=0))}function D(u,L){o._tr_flush_block(u,0<=u.block_start?u.block_start:-1,u.strstart-u.block_start,L),u.block_start=u.strstart,B(u.strm)}function te(u,L){u.pending_buf[u.pending++]=L}function q(u,L){u.pending_buf[u.pending++]=L>>>8&255,u.pending_buf[u.pending++]=255&L}function G(u,L){var U,w,v=u.max_chain_length,E=u.strstart,z=u.prev_length,j=u.nice_match,T=u.strstart>u.w_size-J?u.strstart-(u.w_size-J):0,$=u.window,K=u.w_mask,W=u.prev,re=u.strstart+N,ke=$[E+z-1],ue=$[E+z];u.prev_length>=u.good_match&&(v>>=2),j>u.lookahead&&(j=u.lookahead);do if($[(U=L)+z]===ue&&$[U+z-1]===ke&&$[U]===$[E]&&$[++U]===$[E+1]){E+=2,U++;do;while($[++E]===$[++U]&&$[++E]===$[++U]&&$[++E]===$[++U]&&$[++E]===$[++U]&&$[++E]===$[++U]&&$[++E]===$[++U]&&$[++E]===$[++U]&&$[++E]===$[++U]&&E<re);if(w=N-(re-E),E=re-N,z<w){if(u.match_start=L,j<=(z=w))break;ke=$[E+z-1],ue=$[E+z]}}while((L=W[L&K])>T&&--v!=0);return z<=u.lookahead?z:u.lookahead}function Ee(u){var L,U,w,v,E,z,j,T,$,K,W=u.w_size;do{if(v=u.window_size-u.lookahead-u.strstart,u.strstart>=W+(W-J)){for(i.arraySet(u.window,u.window,W,W,0),u.match_start-=W,u.strstart-=W,u.block_start-=W,L=U=u.hash_size;w=u.head[--L],u.head[L]=W<=w?w-W:0,--U;);for(L=U=W;w=u.prev[--L],u.prev[L]=W<=w?w-W:0,--U;);v+=W}if(u.strm.avail_in===0)break;if(z=u.strm,j=u.window,T=u.strstart+u.lookahead,$=v,K=void 0,K=z.avail_in,$<K&&(K=$),U=K===0?0:(z.avail_in-=K,i.arraySet(j,z.input,z.next_in,K,T),z.state.wrap===1?z.adler=s(z.adler,j,K,T):z.state.wrap===2&&(z.adler=a(z.adler,j,K,T)),z.next_in+=K,z.total_in+=K,K),u.lookahead+=U,u.lookahead+u.insert>=R)for(E=u.strstart-u.insert,u.ins_h=u.window[E],u.ins_h=(u.ins_h<<u.hash_shift^u.window[E+1])&u.hash_mask;u.insert&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[E+R-1])&u.hash_mask,u.prev[E&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=E,E++,u.insert--,!(u.lookahead+u.insert<R)););}while(u.lookahead<J&&u.strm.avail_in!==0)}function Ke(u,L){for(var U,w;;){if(u.lookahead<J){if(Ee(u),u.lookahead<J&&L===l)return y;if(u.lookahead===0)break}if(U=0,u.lookahead>=R&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+R-1])&u.hash_mask,U=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),U!==0&&u.strstart-U<=u.w_size-J&&(u.match_length=G(u,U)),u.match_length>=R)if(w=o._tr_tally(u,u.strstart-u.match_start,u.match_length-R),u.lookahead-=u.match_length,u.match_length<=u.max_lazy_match&&u.lookahead>=R){for(u.match_length--;u.strstart++,u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+R-1])&u.hash_mask,U=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart,--u.match_length!=0;);u.strstart++}else u.strstart+=u.match_length,u.match_length=0,u.ins_h=u.window[u.strstart],u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+1])&u.hash_mask;else w=o._tr_tally(u,0,u.window[u.strstart]),u.lookahead--,u.strstart++;if(w&&(D(u,!1),u.strm.avail_out===0))return y}return u.insert=u.strstart<R-1?u.strstart:R-1,L===h?(D(u,!0),u.strm.avail_out===0?ae:V):u.last_lit&&(D(u,!1),u.strm.avail_out===0)?y:M}function de(u,L){for(var U,w,v;;){if(u.lookahead<J){if(Ee(u),u.lookahead<J&&L===l)return y;if(u.lookahead===0)break}if(U=0,u.lookahead>=R&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+R-1])&u.hash_mask,U=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),u.prev_length=u.match_length,u.prev_match=u.match_start,u.match_length=R-1,U!==0&&u.prev_length<u.max_lazy_match&&u.strstart-U<=u.w_size-J&&(u.match_length=G(u,U),u.match_length<=5&&(u.strategy===1||u.match_length===R&&4096<u.strstart-u.match_start)&&(u.match_length=R-1)),u.prev_length>=R&&u.match_length<=u.prev_length){for(v=u.strstart+u.lookahead-R,w=o._tr_tally(u,u.strstart-1-u.prev_match,u.prev_length-R),u.lookahead-=u.prev_length-1,u.prev_length-=2;++u.strstart<=v&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+R-1])&u.hash_mask,U=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),--u.prev_length!=0;);if(u.match_available=0,u.match_length=R-1,u.strstart++,w&&(D(u,!1),u.strm.avail_out===0))return y}else if(u.match_available){if((w=o._tr_tally(u,0,u.window[u.strstart-1]))&&D(u,!1),u.strstart++,u.lookahead--,u.strm.avail_out===0)return y}else u.match_available=1,u.strstart++,u.lookahead--}return u.match_available&&(w=o._tr_tally(u,0,u.window[u.strstart-1]),u.match_available=0),u.insert=u.strstart<R-1?u.strstart:R-1,L===h?(D(u,!0),u.strm.avail_out===0?ae:V):u.last_lit&&(D(u,!1),u.strm.avail_out===0)?y:M}function ge(u,L,U,w,v){this.good_length=u,this.max_lazy=L,this.nice_length=U,this.max_chain=w,this.func=v}function Xe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=b,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*C),this.dyn_dtree=new i.Buf16(2*(2*k+1)),this.bl_tree=new i.Buf16(2*(2*P+1)),oe(this.dyn_ltree),oe(this.dyn_dtree),oe(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(A+1),this.heap=new i.Buf16(2*x+1),oe(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(2*x+1),oe(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ve(u){var L;return u&&u.state?(u.total_in=u.total_out=0,u.data_type=f,(L=u.state).pending=0,L.pending_out=0,L.wrap<0&&(L.wrap=-L.wrap),L.status=L.wrap?S:O,u.adler=L.wrap===2?0:1,L.last_flush=l,o._tr_init(L),d):ce(u,m)}function it(u){var L=ve(u);return L===d&&(function(U){U.window_size=2*U.w_size,oe(U.head),U.max_lazy_match=n[U.level].max_lazy,U.good_match=n[U.level].good_length,U.nice_match=n[U.level].nice_length,U.max_chain_length=n[U.level].max_chain,U.strstart=0,U.block_start=0,U.lookahead=0,U.insert=0,U.match_length=U.prev_length=R-1,U.match_available=0,U.ins_h=0})(u.state),L}function ut(u,L,U,w,v,E){if(!u)return m;var z=1;if(L===p&&(L=6),w<0?(z=0,w=-w):15<w&&(z=2,w-=16),v<1||_<v||U!==b||w<8||15<w||L<0||9<L||E<0||g<E)return ce(u,m);w===8&&(w=9);var j=new Xe;return(u.state=j).strm=u,j.wrap=z,j.gzhead=null,j.w_bits=w,j.w_size=1<<j.w_bits,j.w_mask=j.w_size-1,j.hash_bits=v+7,j.hash_size=1<<j.hash_bits,j.hash_mask=j.hash_size-1,j.hash_shift=~~((j.hash_bits+R-1)/R),j.window=new i.Buf8(2*j.w_size),j.head=new i.Buf16(j.hash_size),j.prev=new i.Buf16(j.w_size),j.lit_bufsize=1<<v+6,j.pending_buf_size=4*j.lit_bufsize,j.pending_buf=new i.Buf8(j.pending_buf_size),j.d_buf=1*j.lit_bufsize,j.l_buf=3*j.lit_bufsize,j.level=L,j.strategy=E,j.method=U,it(u)}n=[new ge(0,0,0,0,function(u,L){var U=65535;for(U>u.pending_buf_size-5&&(U=u.pending_buf_size-5);;){if(u.lookahead<=1){if(Ee(u),u.lookahead===0&&L===l)return y;if(u.lookahead===0)break}u.strstart+=u.lookahead,u.lookahead=0;var w=u.block_start+U;if((u.strstart===0||u.strstart>=w)&&(u.lookahead=u.strstart-w,u.strstart=w,D(u,!1),u.strm.avail_out===0)||u.strstart-u.block_start>=u.w_size-J&&(D(u,!1),u.strm.avail_out===0))return y}return u.insert=0,L===h?(D(u,!0),u.strm.avail_out===0?ae:V):(u.strstart>u.block_start&&(D(u,!1),u.strm.avail_out),y)}),new ge(4,4,8,4,Ke),new ge(4,5,16,8,Ke),new ge(4,6,32,32,Ke),new ge(4,4,16,16,de),new ge(8,16,32,32,de),new ge(8,16,128,128,de),new ge(8,32,128,256,de),new ge(32,128,258,1024,de),new ge(32,258,258,4096,de)],r.deflateInit=function(u,L){return ut(u,L,b,15,8,0)},r.deflateInit2=ut,r.deflateReset=it,r.deflateResetKeep=ve,r.deflateSetHeader=function(u,L){return u&&u.state?u.state.wrap!==2?m:(u.state.gzhead=L,d):m},r.deflate=function(u,L){var U,w,v,E;if(!u||!u.state||5<L||L<0)return u?ce(u,m):m;if(w=u.state,!u.output||!u.input&&u.avail_in!==0||w.status===666&&L!==h)return ce(u,u.avail_out===0?-5:m);if(w.strm=u,U=w.last_flush,w.last_flush=L,w.status===S)if(w.wrap===2)u.adler=0,te(w,31),te(w,139),te(w,8),w.gzhead?(te(w,(w.gzhead.text?1:0)+(w.gzhead.hcrc?2:0)+(w.gzhead.extra?4:0)+(w.gzhead.name?8:0)+(w.gzhead.comment?16:0)),te(w,255&w.gzhead.time),te(w,w.gzhead.time>>8&255),te(w,w.gzhead.time>>16&255),te(w,w.gzhead.time>>24&255),te(w,w.level===9?2:2<=w.strategy||w.level<2?4:0),te(w,255&w.gzhead.os),w.gzhead.extra&&w.gzhead.extra.length&&(te(w,255&w.gzhead.extra.length),te(w,w.gzhead.extra.length>>8&255)),w.gzhead.hcrc&&(u.adler=a(u.adler,w.pending_buf,w.pending,0)),w.gzindex=0,w.status=69):(te(w,0),te(w,0),te(w,0),te(w,0),te(w,0),te(w,w.level===9?2:2<=w.strategy||w.level<2?4:0),te(w,3),w.status=O);else{var z=b+(w.w_bits-8<<4)<<8;z|=(2<=w.strategy||w.level<2?0:w.level<6?1:w.level===6?2:3)<<6,w.strstart!==0&&(z|=32),z+=31-z%31,w.status=O,q(w,z),w.strstart!==0&&(q(w,u.adler>>>16),q(w,65535&u.adler)),u.adler=1}if(w.status===69)if(w.gzhead.extra){for(v=w.pending;w.gzindex<(65535&w.gzhead.extra.length)&&(w.pending!==w.pending_buf_size||(w.gzhead.hcrc&&w.pending>v&&(u.adler=a(u.adler,w.pending_buf,w.pending-v,v)),B(u),v=w.pending,w.pending!==w.pending_buf_size));)te(w,255&w.gzhead.extra[w.gzindex]),w.gzindex++;w.gzhead.hcrc&&w.pending>v&&(u.adler=a(u.adler,w.pending_buf,w.pending-v,v)),w.gzindex===w.gzhead.extra.length&&(w.gzindex=0,w.status=73)}else w.status=73;if(w.status===73)if(w.gzhead.name){v=w.pending;do{if(w.pending===w.pending_buf_size&&(w.gzhead.hcrc&&w.pending>v&&(u.adler=a(u.adler,w.pending_buf,w.pending-v,v)),B(u),v=w.pending,w.pending===w.pending_buf_size)){E=1;break}E=w.gzindex<w.gzhead.name.length?255&w.gzhead.name.charCodeAt(w.gzindex++):0,te(w,E)}while(E!==0);w.gzhead.hcrc&&w.pending>v&&(u.adler=a(u.adler,w.pending_buf,w.pending-v,v)),E===0&&(w.gzindex=0,w.status=91)}else w.status=91;if(w.status===91)if(w.gzhead.comment){v=w.pending;do{if(w.pending===w.pending_buf_size&&(w.gzhead.hcrc&&w.pending>v&&(u.adler=a(u.adler,w.pending_buf,w.pending-v,v)),B(u),v=w.pending,w.pending===w.pending_buf_size)){E=1;break}E=w.gzindex<w.gzhead.comment.length?255&w.gzhead.comment.charCodeAt(w.gzindex++):0,te(w,E)}while(E!==0);w.gzhead.hcrc&&w.pending>v&&(u.adler=a(u.adler,w.pending_buf,w.pending-v,v)),E===0&&(w.status=103)}else w.status=103;if(w.status===103&&(w.gzhead.hcrc?(w.pending+2>w.pending_buf_size&&B(u),w.pending+2<=w.pending_buf_size&&(te(w,255&u.adler),te(w,u.adler>>8&255),u.adler=0,w.status=O)):w.status=O),w.pending!==0){if(B(u),u.avail_out===0)return w.last_flush=-1,d}else if(u.avail_in===0&&H(L)<=H(U)&&L!==h)return ce(u,-5);if(w.status===666&&u.avail_in!==0)return ce(u,-5);if(u.avail_in!==0||w.lookahead!==0||L!==l&&w.status!==666){var j=w.strategy===2?(function(T,$){for(var K;;){if(T.lookahead===0&&(Ee(T),T.lookahead===0)){if($===l)return y;break}if(T.match_length=0,K=o._tr_tally(T,0,T.window[T.strstart]),T.lookahead--,T.strstart++,K&&(D(T,!1),T.strm.avail_out===0))return y}return T.insert=0,$===h?(D(T,!0),T.strm.avail_out===0?ae:V):T.last_lit&&(D(T,!1),T.strm.avail_out===0)?y:M})(w,L):w.strategy===3?(function(T,$){for(var K,W,re,ke,ue=T.window;;){if(T.lookahead<=N){if(Ee(T),T.lookahead<=N&&$===l)return y;if(T.lookahead===0)break}if(T.match_length=0,T.lookahead>=R&&0<T.strstart&&(W=ue[re=T.strstart-1])===ue[++re]&&W===ue[++re]&&W===ue[++re]){ke=T.strstart+N;do;while(W===ue[++re]&&W===ue[++re]&&W===ue[++re]&&W===ue[++re]&&W===ue[++re]&&W===ue[++re]&&W===ue[++re]&&W===ue[++re]&&re<ke);T.match_length=N-(ke-re),T.match_length>T.lookahead&&(T.match_length=T.lookahead)}if(T.match_length>=R?(K=o._tr_tally(T,1,T.match_length-R),T.lookahead-=T.match_length,T.strstart+=T.match_length,T.match_length=0):(K=o._tr_tally(T,0,T.window[T.strstart]),T.lookahead--,T.strstart++),K&&(D(T,!1),T.strm.avail_out===0))return y}return T.insert=0,$===h?(D(T,!0),T.strm.avail_out===0?ae:V):T.last_lit&&(D(T,!1),T.strm.avail_out===0)?y:M})(w,L):n[w.level].func(w,L);if(j!==ae&&j!==V||(w.status=666),j===y||j===ae)return u.avail_out===0&&(w.last_flush=-1),d;if(j===M&&(L===1?o._tr_align(w):L!==5&&(o._tr_stored_block(w,0,0,!1),L===3&&(oe(w.head),w.lookahead===0&&(w.strstart=0,w.block_start=0,w.insert=0))),B(u),u.avail_out===0))return w.last_flush=-1,d}return L!==h?d:w.wrap<=0?1:(w.wrap===2?(te(w,255&u.adler),te(w,u.adler>>8&255),te(w,u.adler>>16&255),te(w,u.adler>>24&255),te(w,255&u.total_in),te(w,u.total_in>>8&255),te(w,u.total_in>>16&255),te(w,u.total_in>>24&255)):(q(w,u.adler>>>16),q(w,65535&u.adler)),B(u),0<w.wrap&&(w.wrap=-w.wrap),w.pending!==0?d:1)},r.deflateEnd=function(u){var L;return u&&u.state?(L=u.state.status)!==S&&L!==69&&L!==73&&L!==91&&L!==103&&L!==O&&L!==666?ce(u,m):(u.state=null,L===O?ce(u,-3):d):m},r.deflateSetDictionary=function(u,L){var U,w,v,E,z,j,T,$,K=L.length;if(!u||!u.state||(E=(U=u.state).wrap)===2||E===1&&U.status!==S||U.lookahead)return m;for(E===1&&(u.adler=s(u.adler,L,K,0)),U.wrap=0,K>=U.w_size&&(E===0&&(oe(U.head),U.strstart=0,U.block_start=0,U.insert=0),$=new i.Buf8(U.w_size),i.arraySet($,L,K-U.w_size,U.w_size,0),L=$,K=U.w_size),z=u.avail_in,j=u.next_in,T=u.input,u.avail_in=K,u.next_in=0,u.input=L,Ee(U);U.lookahead>=R;){for(w=U.strstart,v=U.lookahead-(R-1);U.ins_h=(U.ins_h<<U.hash_shift^U.window[w+R-1])&U.hash_mask,U.prev[w&U.w_mask]=U.head[U.ins_h],U.head[U.ins_h]=w,w++,--v;);U.strstart=w,U.lookahead=R-1,Ee(U)}return U.strstart+=U.lookahead,U.block_start=U.strstart,U.insert=U.lookahead,U.lookahead=0,U.match_length=U.prev_length=R-1,U.match_available=0,u.next_in=j,u.input=T,u.avail_in=z,U.wrap=E,d},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){"use strict";t.exports=function(n,i){var o,s,a,c,l,h,d,m,p,g,f,b,_,x,k,P,C,A,R,N,J,S,O,y,M;o=n.state,s=n.next_in,y=n.input,a=s+(n.avail_in-5),c=n.next_out,M=n.output,l=c-(i-n.avail_out),h=c+(n.avail_out-257),d=o.dmax,m=o.wsize,p=o.whave,g=o.wnext,f=o.window,b=o.hold,_=o.bits,x=o.lencode,k=o.distcode,P=(1<<o.lenbits)-1,C=(1<<o.distbits)-1;e:do{_<15&&(b+=y[s++]<<_,_+=8,b+=y[s++]<<_,_+=8),A=x[b&P];t:for(;;){if(b>>>=R=A>>>24,_-=R,(R=A>>>16&255)===0)M[c++]=65535&A;else{if(!(16&R)){if((64&R)==0){A=x[(65535&A)+(b&(1<<R)-1)];continue t}if(32&R){o.mode=12;break e}n.msg="invalid literal/length code",o.mode=30;break e}N=65535&A,(R&=15)&&(_<R&&(b+=y[s++]<<_,_+=8),N+=b&(1<<R)-1,b>>>=R,_-=R),_<15&&(b+=y[s++]<<_,_+=8,b+=y[s++]<<_,_+=8),A=k[b&C];r:for(;;){if(b>>>=R=A>>>24,_-=R,!(16&(R=A>>>16&255))){if((64&R)==0){A=k[(65535&A)+(b&(1<<R)-1)];continue r}n.msg="invalid distance code",o.mode=30;break e}if(J=65535&A,_<(R&=15)&&(b+=y[s++]<<_,(_+=8)<R&&(b+=y[s++]<<_,_+=8)),d<(J+=b&(1<<R)-1)){n.msg="invalid distance too far back",o.mode=30;break e}if(b>>>=R,_-=R,(R=c-l)<J){if(p<(R=J-R)&&o.sane){n.msg="invalid distance too far back",o.mode=30;break e}if(O=f,(S=0)===g){if(S+=m-R,R<N){for(N-=R;M[c++]=f[S++],--R;);S=c-J,O=M}}else if(g<R){if(S+=m+g-R,(R-=g)<N){for(N-=R;M[c++]=f[S++],--R;);if(S=0,g<N){for(N-=R=g;M[c++]=f[S++],--R;);S=c-J,O=M}}}else if(S+=g-R,R<N){for(N-=R;M[c++]=f[S++],--R;);S=c-J,O=M}for(;2<N;)M[c++]=O[S++],M[c++]=O[S++],M[c++]=O[S++],N-=3;N&&(M[c++]=O[S++],1<N&&(M[c++]=O[S++]))}else{for(S=c-J;M[c++]=M[S++],M[c++]=M[S++],M[c++]=M[S++],2<(N-=3););N&&(M[c++]=M[S++],1<N&&(M[c++]=M[S++]))}break}}break}}while(s<a&&c<h);s-=N=_>>3,b&=(1<<(_-=N<<3))-1,n.next_in=s,n.next_out=c,n.avail_in=s<a?a-s+5:5-(s-a),n.avail_out=c<h?h-c+257:257-(c-h),o.hold=b,o.bits=_}},{}],49:[function(e,t,r){"use strict";var n=e("../utils/common"),i=e("./adler32"),o=e("./crc32"),s=e("./inffast"),a=e("./inftrees"),c=1,l=2,h=0,d=-2,m=1,p=852,g=592;function f(S){return(S>>>24&255)+(S>>>8&65280)+((65280&S)<<8)+((255&S)<<24)}function b(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function _(S){var O;return S&&S.state?(O=S.state,S.total_in=S.total_out=O.total=0,S.msg="",O.wrap&&(S.adler=1&O.wrap),O.mode=m,O.last=0,O.havedict=0,O.dmax=32768,O.head=null,O.hold=0,O.bits=0,O.lencode=O.lendyn=new n.Buf32(p),O.distcode=O.distdyn=new n.Buf32(g),O.sane=1,O.back=-1,h):d}function x(S){var O;return S&&S.state?((O=S.state).wsize=0,O.whave=0,O.wnext=0,_(S)):d}function k(S,O){var y,M;return S&&S.state?(M=S.state,O<0?(y=0,O=-O):(y=1+(O>>4),O<48&&(O&=15)),O&&(O<8||15<O)?d:(M.window!==null&&M.wbits!==O&&(M.window=null),M.wrap=y,M.wbits=O,x(S))):d}function P(S,O){var y,M;return S?(M=new b,(S.state=M).window=null,(y=k(S,O))!==h&&(S.state=null),y):d}var C,A,R=!0;function N(S){if(R){var O;for(C=new n.Buf32(512),A=new n.Buf32(32),O=0;O<144;)S.lens[O++]=8;for(;O<256;)S.lens[O++]=9;for(;O<280;)S.lens[O++]=7;for(;O<288;)S.lens[O++]=8;for(a(c,S.lens,0,288,C,0,S.work,{bits:9}),O=0;O<32;)S.lens[O++]=5;a(l,S.lens,0,32,A,0,S.work,{bits:5}),R=!1}S.lencode=C,S.lenbits=9,S.distcode=A,S.distbits=5}function J(S,O,y,M){var ae,V=S.state;return V.window===null&&(V.wsize=1<<V.wbits,V.wnext=0,V.whave=0,V.window=new n.Buf8(V.wsize)),M>=V.wsize?(n.arraySet(V.window,O,y-V.wsize,V.wsize,0),V.wnext=0,V.whave=V.wsize):(M<(ae=V.wsize-V.wnext)&&(ae=M),n.arraySet(V.window,O,y-M,ae,V.wnext),(M-=ae)?(n.arraySet(V.window,O,y-M,M,0),V.wnext=M,V.whave=V.wsize):(V.wnext+=ae,V.wnext===V.wsize&&(V.wnext=0),V.whave<V.wsize&&(V.whave+=ae))),0}r.inflateReset=x,r.inflateReset2=k,r.inflateResetKeep=_,r.inflateInit=function(S){return P(S,15)},r.inflateInit2=P,r.inflate=function(S,O){var y,M,ae,V,ce,H,oe,B,D,te,q,G,Ee,Ke,de,ge,Xe,ve,it,ut,u,L,U,w,v=0,E=new n.Buf8(4),z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!S||!S.state||!S.output||!S.input&&S.avail_in!==0)return d;(y=S.state).mode===12&&(y.mode=13),ce=S.next_out,ae=S.output,oe=S.avail_out,V=S.next_in,M=S.input,H=S.avail_in,B=y.hold,D=y.bits,te=H,q=oe,L=h;e:for(;;)switch(y.mode){case m:if(y.wrap===0){y.mode=13;break}for(;D<16;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(2&y.wrap&&B===35615){E[y.check=0]=255&B,E[1]=B>>>8&255,y.check=o(y.check,E,2,0),D=B=0,y.mode=2;break}if(y.flags=0,y.head&&(y.head.done=!1),!(1&y.wrap)||(((255&B)<<8)+(B>>8))%31){S.msg="incorrect header check",y.mode=30;break}if((15&B)!=8){S.msg="unknown compression method",y.mode=30;break}if(D-=4,u=8+(15&(B>>>=4)),y.wbits===0)y.wbits=u;else if(u>y.wbits){S.msg="invalid window size",y.mode=30;break}y.dmax=1<<u,S.adler=y.check=1,y.mode=512&B?10:12,D=B=0;break;case 2:for(;D<16;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(y.flags=B,(255&y.flags)!=8){S.msg="unknown compression method",y.mode=30;break}if(57344&y.flags){S.msg="unknown header flags set",y.mode=30;break}y.head&&(y.head.text=B>>8&1),512&y.flags&&(E[0]=255&B,E[1]=B>>>8&255,y.check=o(y.check,E,2,0)),D=B=0,y.mode=3;case 3:for(;D<32;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}y.head&&(y.head.time=B),512&y.flags&&(E[0]=255&B,E[1]=B>>>8&255,E[2]=B>>>16&255,E[3]=B>>>24&255,y.check=o(y.check,E,4,0)),D=B=0,y.mode=4;case 4:for(;D<16;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}y.head&&(y.head.xflags=255&B,y.head.os=B>>8),512&y.flags&&(E[0]=255&B,E[1]=B>>>8&255,y.check=o(y.check,E,2,0)),D=B=0,y.mode=5;case 5:if(1024&y.flags){for(;D<16;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}y.length=B,y.head&&(y.head.extra_len=B),512&y.flags&&(E[0]=255&B,E[1]=B>>>8&255,y.check=o(y.check,E,2,0)),D=B=0}else y.head&&(y.head.extra=null);y.mode=6;case 6:if(1024&y.flags&&(H<(G=y.length)&&(G=H),G&&(y.head&&(u=y.head.extra_len-y.length,y.head.extra||(y.head.extra=new Array(y.head.extra_len)),n.arraySet(y.head.extra,M,V,G,u)),512&y.flags&&(y.check=o(y.check,M,G,V)),H-=G,V+=G,y.length-=G),y.length))break e;y.length=0,y.mode=7;case 7:if(2048&y.flags){if(H===0)break e;for(G=0;u=M[V+G++],y.head&&u&&y.length<65536&&(y.head.name+=String.fromCharCode(u)),u&&G<H;);if(512&y.flags&&(y.check=o(y.check,M,G,V)),H-=G,V+=G,u)break e}else y.head&&(y.head.name=null);y.length=0,y.mode=8;case 8:if(4096&y.flags){if(H===0)break e;for(G=0;u=M[V+G++],y.head&&u&&y.length<65536&&(y.head.comment+=String.fromCharCode(u)),u&&G<H;);if(512&y.flags&&(y.check=o(y.check,M,G,V)),H-=G,V+=G,u)break e}else y.head&&(y.head.comment=null);y.mode=9;case 9:if(512&y.flags){for(;D<16;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(B!==(65535&y.check)){S.msg="header crc mismatch",y.mode=30;break}D=B=0}y.head&&(y.head.hcrc=y.flags>>9&1,y.head.done=!0),S.adler=y.check=0,y.mode=12;break;case 10:for(;D<32;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}S.adler=y.check=f(B),D=B=0,y.mode=11;case 11:if(y.havedict===0)return S.next_out=ce,S.avail_out=oe,S.next_in=V,S.avail_in=H,y.hold=B,y.bits=D,2;S.adler=y.check=1,y.mode=12;case 12:if(O===5||O===6)break e;case 13:if(y.last){B>>>=7&D,D-=7&D,y.mode=27;break}for(;D<3;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}switch(y.last=1&B,D-=1,3&(B>>>=1)){case 0:y.mode=14;break;case 1:if(N(y),y.mode=20,O!==6)break;B>>>=2,D-=2;break e;case 2:y.mode=17;break;case 3:S.msg="invalid block type",y.mode=30}B>>>=2,D-=2;break;case 14:for(B>>>=7&D,D-=7&D;D<32;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if((65535&B)!=(B>>>16^65535)){S.msg="invalid stored block lengths",y.mode=30;break}if(y.length=65535&B,D=B=0,y.mode=15,O===6)break e;case 15:y.mode=16;case 16:if(G=y.length){if(H<G&&(G=H),oe<G&&(G=oe),G===0)break e;n.arraySet(ae,M,V,G,ce),H-=G,V+=G,oe-=G,ce+=G,y.length-=G;break}y.mode=12;break;case 17:for(;D<14;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(y.nlen=257+(31&B),B>>>=5,D-=5,y.ndist=1+(31&B),B>>>=5,D-=5,y.ncode=4+(15&B),B>>>=4,D-=4,286<y.nlen||30<y.ndist){S.msg="too many length or distance symbols",y.mode=30;break}y.have=0,y.mode=18;case 18:for(;y.have<y.ncode;){for(;D<3;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}y.lens[z[y.have++]]=7&B,B>>>=3,D-=3}for(;y.have<19;)y.lens[z[y.have++]]=0;if(y.lencode=y.lendyn,y.lenbits=7,U={bits:y.lenbits},L=a(0,y.lens,0,19,y.lencode,0,y.work,U),y.lenbits=U.bits,L){S.msg="invalid code lengths set",y.mode=30;break}y.have=0,y.mode=19;case 19:for(;y.have<y.nlen+y.ndist;){for(;ge=(v=y.lencode[B&(1<<y.lenbits)-1])>>>16&255,Xe=65535&v,!((de=v>>>24)<=D);){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(Xe<16)B>>>=de,D-=de,y.lens[y.have++]=Xe;else{if(Xe===16){for(w=de+2;D<w;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(B>>>=de,D-=de,y.have===0){S.msg="invalid bit length repeat",y.mode=30;break}u=y.lens[y.have-1],G=3+(3&B),B>>>=2,D-=2}else if(Xe===17){for(w=de+3;D<w;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}D-=de,u=0,G=3+(7&(B>>>=de)),B>>>=3,D-=3}else{for(w=de+7;D<w;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}D-=de,u=0,G=11+(127&(B>>>=de)),B>>>=7,D-=7}if(y.have+G>y.nlen+y.ndist){S.msg="invalid bit length repeat",y.mode=30;break}for(;G--;)y.lens[y.have++]=u}}if(y.mode===30)break;if(y.lens[256]===0){S.msg="invalid code -- missing end-of-block",y.mode=30;break}if(y.lenbits=9,U={bits:y.lenbits},L=a(c,y.lens,0,y.nlen,y.lencode,0,y.work,U),y.lenbits=U.bits,L){S.msg="invalid literal/lengths set",y.mode=30;break}if(y.distbits=6,y.distcode=y.distdyn,U={bits:y.distbits},L=a(l,y.lens,y.nlen,y.ndist,y.distcode,0,y.work,U),y.distbits=U.bits,L){S.msg="invalid distances set",y.mode=30;break}if(y.mode=20,O===6)break e;case 20:y.mode=21;case 21:if(6<=H&&258<=oe){S.next_out=ce,S.avail_out=oe,S.next_in=V,S.avail_in=H,y.hold=B,y.bits=D,s(S,q),ce=S.next_out,ae=S.output,oe=S.avail_out,V=S.next_in,M=S.input,H=S.avail_in,B=y.hold,D=y.bits,y.mode===12&&(y.back=-1);break}for(y.back=0;ge=(v=y.lencode[B&(1<<y.lenbits)-1])>>>16&255,Xe=65535&v,!((de=v>>>24)<=D);){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(ge&&(240&ge)==0){for(ve=de,it=ge,ut=Xe;ge=(v=y.lencode[ut+((B&(1<<ve+it)-1)>>ve)])>>>16&255,Xe=65535&v,!(ve+(de=v>>>24)<=D);){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}B>>>=ve,D-=ve,y.back+=ve}if(B>>>=de,D-=de,y.back+=de,y.length=Xe,ge===0){y.mode=26;break}if(32&ge){y.back=-1,y.mode=12;break}if(64&ge){S.msg="invalid literal/length code",y.mode=30;break}y.extra=15&ge,y.mode=22;case 22:if(y.extra){for(w=y.extra;D<w;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}y.length+=B&(1<<y.extra)-1,B>>>=y.extra,D-=y.extra,y.back+=y.extra}y.was=y.length,y.mode=23;case 23:for(;ge=(v=y.distcode[B&(1<<y.distbits)-1])>>>16&255,Xe=65535&v,!((de=v>>>24)<=D);){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if((240&ge)==0){for(ve=de,it=ge,ut=Xe;ge=(v=y.distcode[ut+((B&(1<<ve+it)-1)>>ve)])>>>16&255,Xe=65535&v,!(ve+(de=v>>>24)<=D);){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}B>>>=ve,D-=ve,y.back+=ve}if(B>>>=de,D-=de,y.back+=de,64&ge){S.msg="invalid distance code",y.mode=30;break}y.offset=Xe,y.extra=15&ge,y.mode=24;case 24:if(y.extra){for(w=y.extra;D<w;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}y.offset+=B&(1<<y.extra)-1,B>>>=y.extra,D-=y.extra,y.back+=y.extra}if(y.offset>y.dmax){S.msg="invalid distance too far back",y.mode=30;break}y.mode=25;case 25:if(oe===0)break e;if(G=q-oe,y.offset>G){if((G=y.offset-G)>y.whave&&y.sane){S.msg="invalid distance too far back",y.mode=30;break}Ee=G>y.wnext?(G-=y.wnext,y.wsize-G):y.wnext-G,G>y.length&&(G=y.length),Ke=y.window}else Ke=ae,Ee=ce-y.offset,G=y.length;for(oe<G&&(G=oe),oe-=G,y.length-=G;ae[ce++]=Ke[Ee++],--G;);y.length===0&&(y.mode=21);break;case 26:if(oe===0)break e;ae[ce++]=y.length,oe--,y.mode=21;break;case 27:if(y.wrap){for(;D<32;){if(H===0)break e;H--,B|=M[V++]<<D,D+=8}if(q-=oe,S.total_out+=q,y.total+=q,q&&(S.adler=y.check=y.flags?o(y.check,ae,q,ce-q):i(y.check,ae,q,ce-q)),q=oe,(y.flags?B:f(B))!==y.check){S.msg="incorrect data check",y.mode=30;break}D=B=0}y.mode=28;case 28:if(y.wrap&&y.flags){for(;D<32;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(B!==(4294967295&y.total)){S.msg="incorrect length check",y.mode=30;break}D=B=0}y.mode=29;case 29:L=1;break e;case 30:L=-3;break e;case 31:return-4;case 32:default:return d}return S.next_out=ce,S.avail_out=oe,S.next_in=V,S.avail_in=H,y.hold=B,y.bits=D,(y.wsize||q!==S.avail_out&&y.mode<30&&(y.mode<27||O!==4))&&J(S,S.output,S.next_out,q-S.avail_out)?(y.mode=31,-4):(te-=S.avail_in,q-=S.avail_out,S.total_in+=te,S.total_out+=q,y.total+=q,y.wrap&&q&&(S.adler=y.check=y.flags?o(y.check,ae,q,S.next_out-q):i(y.check,ae,q,S.next_out-q)),S.data_type=y.bits+(y.last?64:0)+(y.mode===12?128:0)+(y.mode===20||y.mode===15?256:0),(te==0&&q===0||O===4)&&L===h&&(L=-5),L)},r.inflateEnd=function(S){if(!S||!S.state)return d;var O=S.state;return O.window&&(O.window=null),S.state=null,h},r.inflateGetHeader=function(S,O){var y;return S&&S.state?(2&(y=S.state).wrap)==0?d:((y.head=O).done=!1,h):d},r.inflateSetDictionary=function(S,O){var y,M=O.length;return S&&S.state?(y=S.state).wrap!==0&&y.mode!==11?d:y.mode===11&&i(1,O,M,0)!==y.check?-3:J(S,O,M,M)?(y.mode=31,-4):(y.havedict=1,h):d},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){"use strict";var n=e("../utils/common"),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(c,l,h,d,m,p,g,f){var b,_,x,k,P,C,A,R,N,J=f.bits,S=0,O=0,y=0,M=0,ae=0,V=0,ce=0,H=0,oe=0,B=0,D=null,te=0,q=new n.Buf16(16),G=new n.Buf16(16),Ee=null,Ke=0;for(S=0;S<=15;S++)q[S]=0;for(O=0;O<d;O++)q[l[h+O]]++;for(ae=J,M=15;1<=M&&q[M]===0;M--);if(M<ae&&(ae=M),M===0)return m[p++]=20971520,m[p++]=20971520,f.bits=1,0;for(y=1;y<M&&q[y]===0;y++);for(ae<y&&(ae=y),S=H=1;S<=15;S++)if(H<<=1,(H-=q[S])<0)return-1;if(0<H&&(c===0||M!==1))return-1;for(G[1]=0,S=1;S<15;S++)G[S+1]=G[S]+q[S];for(O=0;O<d;O++)l[h+O]!==0&&(g[G[l[h+O]]++]=O);if(C=c===0?(D=Ee=g,19):c===1?(D=i,te-=257,Ee=o,Ke-=257,256):(D=s,Ee=a,-1),S=y,P=p,ce=O=B=0,x=-1,k=(oe=1<<(V=ae))-1,c===1&&852<oe||c===2&&592<oe)return 1;for(;;){for(A=S-ce,N=g[O]<C?(R=0,g[O]):g[O]>C?(R=Ee[Ke+g[O]],D[te+g[O]]):(R=96,0),b=1<<S-ce,y=_=1<<V;m[P+(B>>ce)+(_-=b)]=A<<24|R<<16|N|0,_!==0;);for(b=1<<S-1;B&b;)b>>=1;if(b!==0?(B&=b-1,B+=b):B=0,O++,--q[S]==0){if(S===M)break;S=l[h+g[O]]}if(ae<S&&(B&k)!==x){for(ce===0&&(ce=ae),P+=y,H=1<<(V=S-ce);V+ce<M&&!((H-=q[V+ce])<=0);)V++,H<<=1;if(oe+=1<<V,c===1&&852<oe||c===2&&592<oe)return 1;m[x=B&k]=ae<<24|V<<16|P-p|0}}return B!==0&&(m[P+B]=S-ce<<24|64<<16|0),f.bits=ae,0}},{"../utils/common":41}],51:[function(e,t,r){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,r){"use strict";var n=e("../utils/common"),i=0,o=1;function s(v){for(var E=v.length;0<=--E;)v[E]=0}var a=0,c=29,l=256,h=l+1+c,d=30,m=19,p=2*h+1,g=15,f=16,b=7,_=256,x=16,k=17,P=18,C=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],A=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],R=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],N=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],J=new Array(2*(h+2));s(J);var S=new Array(2*d);s(S);var O=new Array(512);s(O);var y=new Array(256);s(y);var M=new Array(c);s(M);var ae,V,ce,H=new Array(d);function oe(v,E,z,j,T){this.static_tree=v,this.extra_bits=E,this.extra_base=z,this.elems=j,this.max_length=T,this.has_stree=v&&v.length}function B(v,E){this.dyn_tree=v,this.max_code=0,this.stat_desc=E}function D(v){return v<256?O[v]:O[256+(v>>>7)]}function te(v,E){v.pending_buf[v.pending++]=255&E,v.pending_buf[v.pending++]=E>>>8&255}function q(v,E,z){v.bi_valid>f-z?(v.bi_buf|=E<<v.bi_valid&65535,te(v,v.bi_buf),v.bi_buf=E>>f-v.bi_valid,v.bi_valid+=z-f):(v.bi_buf|=E<<v.bi_valid&65535,v.bi_valid+=z)}function G(v,E,z){q(v,z[2*E],z[2*E+1])}function Ee(v,E){for(var z=0;z|=1&v,v>>>=1,z<<=1,0<--E;);return z>>>1}function Ke(v,E,z){var j,T,$=new Array(g+1),K=0;for(j=1;j<=g;j++)$[j]=K=K+z[j-1]<<1;for(T=0;T<=E;T++){var W=v[2*T+1];W!==0&&(v[2*T]=Ee($[W]++,W))}}function de(v){var E;for(E=0;E<h;E++)v.dyn_ltree[2*E]=0;for(E=0;E<d;E++)v.dyn_dtree[2*E]=0;for(E=0;E<m;E++)v.bl_tree[2*E]=0;v.dyn_ltree[2*_]=1,v.opt_len=v.static_len=0,v.last_lit=v.matches=0}function ge(v){8<v.bi_valid?te(v,v.bi_buf):0<v.bi_valid&&(v.pending_buf[v.pending++]=v.bi_buf),v.bi_buf=0,v.bi_valid=0}function Xe(v,E,z,j){var T=2*E,$=2*z;return v[T]<v[$]||v[T]===v[$]&&j[E]<=j[z]}function ve(v,E,z){for(var j=v.heap[z],T=z<<1;T<=v.heap_len&&(T<v.heap_len&&Xe(E,v.heap[T+1],v.heap[T],v.depth)&&T++,!Xe(E,j,v.heap[T],v.depth));)v.heap[z]=v.heap[T],z=T,T<<=1;v.heap[z]=j}function it(v,E,z){var j,T,$,K,W=0;if(v.last_lit!==0)for(;j=v.pending_buf[v.d_buf+2*W]<<8|v.pending_buf[v.d_buf+2*W+1],T=v.pending_buf[v.l_buf+W],W++,j===0?G(v,T,E):(G(v,($=y[T])+l+1,E),(K=C[$])!==0&&q(v,T-=M[$],K),G(v,$=D(--j),z),(K=A[$])!==0&&q(v,j-=H[$],K)),W<v.last_lit;);G(v,_,E)}function ut(v,E){var z,j,T,$=E.dyn_tree,K=E.stat_desc.static_tree,W=E.stat_desc.has_stree,re=E.stat_desc.elems,ke=-1;for(v.heap_len=0,v.heap_max=p,z=0;z<re;z++)$[2*z]!==0?(v.heap[++v.heap_len]=ke=z,v.depth[z]=0):$[2*z+1]=0;for(;v.heap_len<2;)$[2*(T=v.heap[++v.heap_len]=ke<2?++ke:0)]=1,v.depth[T]=0,v.opt_len--,W&&(v.static_len-=K[2*T+1]);for(E.max_code=ke,z=v.heap_len>>1;1<=z;z--)ve(v,$,z);for(T=re;z=v.heap[1],v.heap[1]=v.heap[v.heap_len--],ve(v,$,1),j=v.heap[1],v.heap[--v.heap_max]=z,v.heap[--v.heap_max]=j,$[2*T]=$[2*z]+$[2*j],v.depth[T]=(v.depth[z]>=v.depth[j]?v.depth[z]:v.depth[j])+1,$[2*z+1]=$[2*j+1]=T,v.heap[1]=T++,ve(v,$,1),2<=v.heap_len;);v.heap[--v.heap_max]=v.heap[1],(function(ue,kt){var Kt,Xt,Ar,Ie,Pn,ii,gt=kt.dyn_tree,gs=kt.max_code,Dn=kt.stat_desc.static_tree,ll=kt.stat_desc.has_stree,Bn=kt.stat_desc.extra_bits,ys=kt.stat_desc.extra_base,jr=kt.stat_desc.max_length,oi=0;for(Ie=0;Ie<=g;Ie++)ue.bl_count[Ie]=0;for(gt[2*ue.heap[ue.heap_max]+1]=0,Kt=ue.heap_max+1;Kt<p;Kt++)jr<(Ie=gt[2*gt[2*(Xt=ue.heap[Kt])+1]+1]+1)&&(Ie=jr,oi++),gt[2*Xt+1]=Ie,gs<Xt||(ue.bl_count[Ie]++,Pn=0,ys<=Xt&&(Pn=Bn[Xt-ys]),ii=gt[2*Xt],ue.opt_len+=ii*(Ie+Pn),ll&&(ue.static_len+=ii*(Dn[2*Xt+1]+Pn)));if(oi!==0){do{for(Ie=jr-1;ue.bl_count[Ie]===0;)Ie--;ue.bl_count[Ie]--,ue.bl_count[Ie+1]+=2,ue.bl_count[jr]--,oi-=2}while(0<oi);for(Ie=jr;Ie!==0;Ie--)for(Xt=ue.bl_count[Ie];Xt!==0;)gs<(Ar=ue.heap[--Kt])||(gt[2*Ar+1]!==Ie&&(ue.opt_len+=(Ie-gt[2*Ar+1])*gt[2*Ar],gt[2*Ar+1]=Ie),Xt--)}})(v,E),Ke($,ke,v.bl_count)}function u(v,E,z){var j,T,$=-1,K=E[1],W=0,re=7,ke=4;for(K===0&&(re=138,ke=3),E[2*(z+1)+1]=65535,j=0;j<=z;j++)T=K,K=E[2*(j+1)+1],++W<re&&T===K||(W<ke?v.bl_tree[2*T]+=W:T!==0?(T!==$&&v.bl_tree[2*T]++,v.bl_tree[2*x]++):W<=10?v.bl_tree[2*k]++:v.bl_tree[2*P]++,$=T,ke=(W=0)===K?(re=138,3):T===K?(re=6,3):(re=7,4))}function L(v,E,z){var j,T,$=-1,K=E[1],W=0,re=7,ke=4;for(K===0&&(re=138,ke=3),j=0;j<=z;j++)if(T=K,K=E[2*(j+1)+1],!(++W<re&&T===K)){if(W<ke)for(;G(v,T,v.bl_tree),--W!=0;);else T!==0?(T!==$&&(G(v,T,v.bl_tree),W--),G(v,x,v.bl_tree),q(v,W-3,2)):W<=10?(G(v,k,v.bl_tree),q(v,W-3,3)):(G(v,P,v.bl_tree),q(v,W-11,7));$=T,ke=(W=0)===K?(re=138,3):T===K?(re=6,3):(re=7,4)}}s(H);var U=!1;function w(v,E,z,j){q(v,(a<<1)+(j?1:0),3),(function(T,$,K,W){ge(T),W&&(te(T,K),te(T,~K)),n.arraySet(T.pending_buf,T.window,$,K,T.pending),T.pending+=K})(v,E,z,!0)}r._tr_init=function(v){U||((function(){var E,z,j,T,$,K=new Array(g+1);for(T=j=0;T<c-1;T++)for(M[T]=j,E=0;E<1<<C[T];E++)y[j++]=T;for(y[j-1]=T,T=$=0;T<16;T++)for(H[T]=$,E=0;E<1<<A[T];E++)O[$++]=T;for($>>=7;T<d;T++)for(H[T]=$<<7,E=0;E<1<<A[T]-7;E++)O[256+$++]=T;for(z=0;z<=g;z++)K[z]=0;for(E=0;E<=143;)J[2*E+1]=8,E++,K[8]++;for(;E<=255;)J[2*E+1]=9,E++,K[9]++;for(;E<=279;)J[2*E+1]=7,E++,K[7]++;for(;E<=287;)J[2*E+1]=8,E++,K[8]++;for(Ke(J,h+1,K),E=0;E<d;E++)S[2*E+1]=5,S[2*E]=Ee(E,5);ae=new oe(J,C,l+1,h,g),V=new oe(S,A,0,d,g),ce=new oe(new Array(0),R,0,m,b)})(),U=!0),v.l_desc=new B(v.dyn_ltree,ae),v.d_desc=new B(v.dyn_dtree,V),v.bl_desc=new B(v.bl_tree,ce),v.bi_buf=0,v.bi_valid=0,de(v)},r._tr_stored_block=w,r._tr_flush_block=function(v,E,z,j){var T,$,K=0;0<v.level?(v.strm.data_type===2&&(v.strm.data_type=(function(W){var re,ke=4093624447;for(re=0;re<=31;re++,ke>>>=1)if(1&ke&&W.dyn_ltree[2*re]!==0)return i;if(W.dyn_ltree[18]!==0||W.dyn_ltree[20]!==0||W.dyn_ltree[26]!==0)return o;for(re=32;re<l;re++)if(W.dyn_ltree[2*re]!==0)return o;return i})(v)),ut(v,v.l_desc),ut(v,v.d_desc),K=(function(W){var re;for(u(W,W.dyn_ltree,W.l_desc.max_code),u(W,W.dyn_dtree,W.d_desc.max_code),ut(W,W.bl_desc),re=m-1;3<=re&&W.bl_tree[2*N[re]+1]===0;re--);return W.opt_len+=3*(re+1)+5+5+4,re})(v),T=v.opt_len+3+7>>>3,($=v.static_len+3+7>>>3)<=T&&(T=$)):T=$=z+5,z+4<=T&&E!==-1?w(v,E,z,j):v.strategy===4||$===T?(q(v,2+(j?1:0),3),it(v,J,S)):(q(v,4+(j?1:0),3),(function(W,re,ke,ue){var kt;for(q(W,re-257,5),q(W,ke-1,5),q(W,ue-4,4),kt=0;kt<ue;kt++)q(W,W.bl_tree[2*N[kt]+1],3);L(W,W.dyn_ltree,re-1),L(W,W.dyn_dtree,ke-1)})(v,v.l_desc.max_code+1,v.d_desc.max_code+1,K+1),it(v,v.dyn_ltree,v.dyn_dtree)),de(v),j&&ge(v)},r._tr_tally=function(v,E,z){return v.pending_buf[v.d_buf+2*v.last_lit]=E>>>8&255,v.pending_buf[v.d_buf+2*v.last_lit+1]=255&E,v.pending_buf[v.l_buf+v.last_lit]=255&z,v.last_lit++,E===0?v.dyn_ltree[2*z]++:(v.matches++,E--,v.dyn_ltree[2*(y[z]+l+1)]++,v.dyn_dtree[2*D(E)]++),v.last_lit===v.lit_bufsize-1},r._tr_align=function(v){q(v,2,3),G(v,_,J),(function(E){E.bi_valid===16?(te(E,E.bi_buf),E.bi_buf=0,E.bi_valid=0):8<=E.bi_valid&&(E.pending_buf[E.pending++]=255&E.bi_buf,E.bi_buf>>=8,E.bi_valid-=8)})(v)}},{"../utils/common":41}],53:[function(e,t,r){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(n){(function(i,o){"use strict";if(!i.setImmediate){var s,a,c,l,h=1,d={},m=!1,p=i.document,g=Object.getPrototypeOf&&Object.getPrototypeOf(i);g=g&&g.setTimeout?g:i,s={}.toString.call(i.process)==="[object process]"?function(x){process.nextTick(function(){b(x)})}:(function(){if(i.postMessage&&!i.importScripts){var x=!0,k=i.onmessage;return i.onmessage=function(){x=!1},i.postMessage("","*"),i.onmessage=k,x}})()?(l="setImmediate$"+Math.random()+"$",i.addEventListener?i.addEventListener("message",_,!1):i.attachEvent("onmessage",_),function(x){i.postMessage(l+x,"*")}):i.MessageChannel?((c=new MessageChannel).port1.onmessage=function(x){b(x.data)},function(x){c.port2.postMessage(x)}):p&&"onreadystatechange"in p.createElement("script")?(a=p.documentElement,function(x){var k=p.createElement("script");k.onreadystatechange=function(){b(x),k.onreadystatechange=null,a.removeChild(k),k=null},a.appendChild(k)}):function(x){setTimeout(b,0,x)},g.setImmediate=function(x){typeof x!="function"&&(x=new Function(""+x));for(var k=new Array(arguments.length-1),P=0;P<k.length;P++)k[P]=arguments[P+1];var C={callback:x,args:k};return d[h]=C,s(h),h++},g.clearImmediate=f}function f(x){delete d[x]}function b(x){if(m)setTimeout(b,0,x);else{var k=d[x];if(k){m=!0;try{(function(P){var C=P.callback,A=P.args;switch(A.length){case 0:C();break;case 1:C(A[0]);break;case 2:C(A[0],A[1]);break;case 3:C(A[0],A[1],A[2]);break;default:C.apply(o,A)}})(k)}finally{f(x),m=!1}}}}function _(x){x.source===i&&typeof x.data=="string"&&x.data.indexOf(l)===0&&b(+x.data.slice(l.length))}})(typeof self>"u"?n===void 0?this:n:self)}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})});var kd=_e((SC,Ma)=>{(function(e,t){typeof define=="function"&&define.amd?define(t):typeof Ma<"u"&&Ma.exports?Ma.exports=t():window.ysFixWebmDuration=t()})("fix-webm-duration",function(){var e={172351395:{name:"EBML",type:"Container"},646:{name:"EBMLVersion",type:"Uint"},759:{name:"EBMLReadVersion",type:"Uint"},754:{name:"EBMLMaxIDLength",type:"Uint"},755:{name:"EBMLMaxSizeLength",type:"Uint"},642:{name:"DocType",type:"String"},647:{name:"DocTypeVersion",type:"Uint"},645:{name:"DocTypeReadVersion",type:"Uint"},108:{name:"Void",type:"Binary"},63:{name:"CRC-32",type:"Binary"},190023271:{name:"SignatureSlot",type:"Container"},16010:{name:"SignatureAlgo",type:"Uint"},16026:{name:"SignatureHash",type:"Uint"},16037:{name:"SignaturePublicKey",type:"Binary"},16053:{name:"Signature",type:"Binary"},15963:{name:"SignatureElements",type:"Container"},15995:{name:"SignatureElementList",type:"Container"},9522:{name:"SignedElement",type:"Binary"},139690087:{name:"Segment",type:"Container"},21863284:{name:"SeekHead",type:"Container"},3515:{name:"Seek",type:"Container"},5035:{name:"SeekID",type:"Binary"},5036:{name:"SeekPosition",type:"Uint"},88713574:{name:"Info",type:"Container"},13220:{name:"SegmentUID",type:"Binary"},13188:{name:"SegmentFilename",type:"String"},1882403:{name:"PrevUID",type:"Binary"},1868715:{name:"PrevFilename",type:"String"},2013475:{name:"NextUID",type:"Binary"},1999803:{name:"NextFilename",type:"String"},1092:{name:"SegmentFamily",type:"Binary"},10532:{name:"ChapterTranslate",type:"Container"},10748:{name:"ChapterTranslateEditionUID",type:"Uint"},10687:{name:"ChapterTranslateCodec",type:"Uint"},10661:{name:"ChapterTranslateID",type:"Binary"},710577:{name:"TimecodeScale",type:"Uint"},1161:{name:"Duration",type:"Float"},1121:{name:"DateUTC",type:"Date"},15273:{name:"Title",type:"String"},3456:{name:"MuxingApp",type:"String"},5953:{name:"WritingApp",type:"String"},103:{name:"Timecode",type:"Uint"},6228:{name:"SilentTracks",type:"Container"},6359:{name:"SilentTrackNumber",type:"Uint"},39:{name:"Position",type:"Uint"},43:{name:"PrevSize",type:"Uint"},35:{name:"SimpleBlock",type:"Binary"},32:{name:"BlockGroup",type:"Container"},33:{name:"Block",type:"Binary"},34:{name:"BlockVirtual",type:"Binary"},13729:{name:"BlockAdditions",type:"Container"},38:{name:"BlockMore",type:"Container"},110:{name:"BlockAddID",type:"Uint"},37:{name:"BlockAdditional",type:"Binary"},27:{name:"BlockDuration",type:"Uint"},122:{name:"ReferencePriority",type:"Uint"},123:{name:"ReferenceBlock",type:"Int"},125:{name:"ReferenceVirtual",type:"Int"},36:{name:"CodecState",type:"Binary"},13730:{name:"DiscardPadding",type:"Int"},14:{name:"Slices",type:"Container"},104:{name:"TimeSlice",type:"Container"},76:{name:"LaceNumber",type:"Uint"},77:{name:"FrameNumber",type:"Uint"},75:{name:"BlockAdditionID",type:"Uint"},78:{name:"Delay",type:"Uint"},79:{name:"SliceDuration",type:"Uint"},72:{name:"ReferenceFrame",type:"Container"},73:{name:"ReferenceOffset",type:"Uint"},74:{name:"ReferenceTimeCode",type:"Uint"},47:{name:"EncryptedBlock",type:"Binary"},106212971:{name:"Tracks",type:"Container"},46:{name:"TrackEntry",type:"Container"},87:{name:"TrackNumber",type:"Uint"},13253:{name:"TrackUID",type:"Uint"},3:{name:"TrackType",type:"Uint"},57:{name:"FlagEnabled",type:"Uint"},8:{name:"FlagDefault",type:"Uint"},5546:{name:"FlagForced",type:"Uint"},28:{name:"FlagLacing",type:"Uint"},11751:{name:"MinCache",type:"Uint"},11768:{name:"MaxCache",type:"Uint"},254851:{name:"DefaultDuration",type:"Uint"},216698:{name:"DefaultDecodedFieldDuration",type:"Uint"},209231:{name:"TrackTimecodeScale",type:"Float"},4991:{name:"TrackOffset",type:"Int"},5614:{name:"MaxBlockAdditionID",type:"Uint"},4974:{name:"Name",type:"String"},177564:{name:"Language",type:"String"},6:{name:"CodecID",type:"String"},9122:{name:"CodecPrivate",type:"Binary"},362120:{name:"CodecName",type:"String"},13382:{name:"AttachmentLink",type:"Uint"},1742487:{name:"CodecSettings",type:"String"},1785920:{name:"CodecInfoURL",type:"String"},438848:{name:"CodecDownloadURL",type:"String"},42:{name:"CodecDecodeAll",type:"Uint"},12203:{name:"TrackOverlay",type:"Uint"},5802:{name:"CodecDelay",type:"Uint"},5819:{name:"SeekPreRoll",type:"Uint"},9764:{name:"TrackTranslate",type:"Container"},9980:{name:"TrackTranslateEditionUID",type:"Uint"},9919:{name:"TrackTranslateCodec",type:"Uint"},9893:{name:"TrackTranslateTrackID",type:"Binary"},96:{name:"Video",type:"Container"},26:{name:"FlagInterlaced",type:"Uint"},5048:{name:"StereoMode",type:"Uint"},5056:{name:"AlphaMode",type:"Uint"},5049:{name:"OldStereoMode",type:"Uint"},48:{name:"PixelWidth",type:"Uint"},58:{name:"PixelHeight",type:"Uint"},5290:{name:"PixelCropBottom",type:"Uint"},5307:{name:"PixelCropTop",type:"Uint"},5324:{name:"PixelCropLeft",type:"Uint"},5341:{name:"PixelCropRight",type:"Uint"},5296:{name:"DisplayWidth",type:"Uint"},5306:{name:"DisplayHeight",type:"Uint"},5298:{name:"DisplayUnit",type:"Uint"},5299:{name:"AspectRatioType",type:"Uint"},963876:{name:"ColourSpace",type:"Binary"},1029411:{name:"GammaValue",type:"Float"},230371:{name:"FrameRate",type:"Float"},97:{name:"Audio",type:"Container"},53:{name:"SamplingFrequency",type:"Float"},14517:{name:"OutputSamplingFrequency",type:"Float"},31:{name:"Channels",type:"Uint"},15739:{name:"ChannelPositions",type:"Binary"},8804:{name:"BitDepth",type:"Uint"},98:{name:"TrackOperation",type:"Container"},99:{name:"TrackCombinePlanes",type:"Container"},100:{name:"TrackPlane",type:"Container"},101:{name:"TrackPlaneUID",type:"Uint"},102:{name:"TrackPlaneType",type:"Uint"},105:{name:"TrackJoinBlocks",type:"Container"},109:{name:"TrackJoinUID",type:"Uint"},64:{name:"TrickTrackUID",type:"Uint"},65:{name:"TrickTrackSegmentUID",type:"Binary"},70:{name:"TrickTrackFlag",type:"Uint"},71:{name:"TrickMasterTrackUID",type:"Uint"},68:{name:"TrickMasterTrackSegmentUID",type:"Binary"},11648:{name:"ContentEncodings",type:"Container"},8768:{name:"ContentEncoding",type:"Container"},4145:{name:"ContentEncodingOrder",type:"Uint"},4146:{name:"ContentEncodingScope",type:"Uint"},4147:{name:"ContentEncodingType",type:"Uint"},4148:{name:"ContentCompression",type:"Container"},596:{name:"ContentCompAlgo",type:"Uint"},597:{name:"ContentCompSettings",type:"Binary"},4149:{name:"ContentEncryption",type:"Container"},2017:{name:"ContentEncAlgo",type:"Uint"},2018:{name:"ContentEncKeyID",type:"Binary"},2019:{name:"ContentSignature",type:"Binary"},2020:{name:"ContentSigKeyID",type:"Binary"},2021:{name:"ContentSigAlgo",type:"Uint"},2022:{name:"ContentSigHashAlgo",type:"Uint"},206814059:{name:"Cues",type:"Container"},59:{name:"CuePoint",type:"Container"},51:{name:"CueTime",type:"Uint"},55:{name:"CueTrackPositions",type:"Container"},119:{name:"CueTrack",type:"Uint"},113:{name:"CueClusterPosition",type:"Uint"},112:{name:"CueRelativePosition",type:"Uint"},50:{name:"CueDuration",type:"Uint"},4984:{name:"CueBlockNumber",type:"Uint"},106:{name:"CueCodecState",type:"Uint"},91:{name:"CueReference",type:"Container"},22:{name:"CueRefTime",type:"Uint"},23:{name:"CueRefCluster",type:"Uint"},4959:{name:"CueRefNumber",type:"Uint"},107:{name:"CueRefCodecState",type:"Uint"},155296873:{name:"Attachments",type:"Container"},8615:{name:"AttachedFile",type:"Container"},1662:{name:"FileDescription",type:"String"},1646:{name:"FileName",type:"String"},1632:{name:"FileMimeType",type:"String"},1628:{name:"FileData",type:"Binary"},1710:{name:"FileUID",type:"Uint"},1653:{name:"FileReferral",type:"Binary"},1633:{name:"FileUsedStartTime",type:"Uint"},1634:{name:"FileUsedEndTime",type:"Uint"},4433776:{name:"Chapters",type:"Container"},1465:{name:"EditionEntry",type:"Container"},1468:{name:"EditionUID",type:"Uint"},1469:{name:"EditionFlagHidden",type:"Uint"},1499:{name:"EditionFlagDefault",type:"Uint"},1501:{name:"EditionFlagOrdered",type:"Uint"},54:{name:"ChapterAtom",type:"Container"},13252:{name:"ChapterUID",type:"Uint"},5716:{name:"ChapterStringUID",type:"String"},17:{name:"ChapterTimeStart",type:"Uint"},18:{name:"ChapterTimeEnd",type:"Uint"},24:{name:"ChapterFlagHidden",type:"Uint"},1432:{name:"ChapterFlagEnabled",type:"Uint"},11879:{name:"ChapterSegmentUID",type:"Binary"},11964:{name:"ChapterSegmentEditionUID",type:"Uint"},9155:{name:"ChapterPhysicalEquiv",type:"Uint"},15:{name:"ChapterTrack",type:"Container"},9:{name:"ChapterTrackNumber",type:"Uint"},0:{name:"ChapterDisplay",type:"Container"},5:{name:"ChapString",type:"String"},892:{name:"ChapLanguage",type:"String"},894:{name:"ChapCountry",type:"String"},10564:{name:"ChapProcess",type:"Container"},10581:{name:"ChapProcessCodecID",type:"Uint"},1293:{name:"ChapProcessPrivate",type:"Binary"},10513:{name:"ChapProcessCommand",type:"Container"},10530:{name:"ChapProcessTime",type:"Uint"},10547:{name:"ChapProcessData",type:"Binary"},39109479:{name:"Tags",type:"Container"},13171:{name:"Tag",type:"Container"},9152:{name:"Targets",type:"Container"},10442:{name:"TargetTypeValue",type:"Uint"},9162:{name:"TargetType",type:"String"},9157:{name:"TagTrackUID",type:"Uint"},9161:{name:"TagEditionUID",type:"Uint"},9156:{name:"TagChapterUID",type:"Uint"},9158:{name:"TagAttachmentUID",type:"Uint"},10184:{name:"SimpleTag",type:"Container"},1443:{name:"TagName",type:"String"},1146:{name:"TagLanguage",type:"String"},1156:{name:"TagDefault",type:"Uint"},1159:{name:"TagString",type:"String"},1157:{name:"TagBinary",type:"Binary"}};function t(l,h){l.prototype=Object.create(h.prototype),l.prototype.constructor=l}function r(l,h){this.name=l||"Unknown",this.type=h||"Unknown"}r.prototype.updateBySource=function(){},r.prototype.setSource=function(l){this.source=l,this.updateBySource()},r.prototype.updateByData=function(){},r.prototype.setData=function(l){this.data=l,this.updateByData()};function n(l,h){r.call(this,l,h||"Uint")}t(n,r);function i(l){return l.length%2===1?"0"+l:l}n.prototype.updateBySource=function(){this.data="";for(var l=0;l<this.source.length;l++){var h=this.source[l].toString(16);this.data+=i(h)}},n.prototype.updateByData=function(){var l=this.data.length/2;this.source=new Uint8Array(l);for(var h=0;h<l;h++){var d=this.data.substr(h*2,2);this.source[h]=parseInt(d,16)}},n.prototype.getValue=function(){return parseInt(this.data,16)},n.prototype.setValue=function(l){this.setData(i(l.toString(16)))};function o(l,h){r.call(this,l,h||"Float")}t(o,r),o.prototype.getFloatArrayType=function(){return this.source&&this.source.length===4?Float32Array:Float64Array},o.prototype.updateBySource=function(){var l=this.source.reverse(),h=this.getFloatArrayType(),d=new h(l.buffer);this.data=d[0]},o.prototype.updateByData=function(){var l=this.getFloatArrayType(),h=new l([this.data]),d=new Uint8Array(h.buffer);this.source=d.reverse()},o.prototype.getValue=function(){return this.data},o.prototype.setValue=function(l){this.setData(l)};function s(l,h){r.call(this,l,h||"Container")}t(s,r),s.prototype.readByte=function(){return this.source[this.offset++]},s.prototype.readUint=function(){for(var l=this.readByte(),h=8-l.toString(2).length,d=l-(1<<7-h),m=0;m<h;m++)d*=256,d+=this.readByte();return d},s.prototype.updateBySource=function(){for(this.data=[],this.offset=0;this.offset<this.source.length;this.offset=d){var l=this.readUint(),h=this.readUint(),d=Math.min(this.offset+h,this.source.length),m=this.source.slice(this.offset,d),p=e[l]||{name:"Unknown",type:"Unknown"},g=r;switch(p.type){case"Container":g=s;break;case"Uint":g=n;break;case"Float":g=o;break}var f=new g(p.name,p.type);f.setSource(m),this.data.push({id:l,idHex:l.toString(16),data:f})}},s.prototype.writeUint=function(l,h){for(var d=1,m=128;l>=m&&d<8;d++,m*=128);if(!h)for(var p=m+l,g=d-1;g>=0;g--){var f=p%256;this.source[this.offset+g]=f,p=(p-f)/256}this.offset+=d},s.prototype.writeSections=function(l){this.offset=0;for(var h=0;h<this.data.length;h++){var d=this.data[h],m=d.data.source,p=m.length;this.writeUint(d.id,l),this.writeUint(p,l),l||this.source.set(m,this.offset),this.offset+=p}return this.offset},s.prototype.updateByData=function(){var l=this.writeSections("draft");this.source=new Uint8Array(l),this.writeSections()},s.prototype.getSectionById=function(l){for(var h=0;h<this.data.length;h++){var d=this.data[h];if(d.id===l)return d.data}return null};function a(l){s.call(this,"File","File"),this.setSource(l)}t(a,s),a.prototype.fixDuration=function(l,h){var d=h&&h.logger;d===void 0?d=function(b){console.log(b)}:d||(d=function(){});var m=this.getSectionById(139690087);if(!m)return d("[fix-webm-duration] Segment section is missing"),!1;var p=m.getSectionById(88713574);if(!p)return d("[fix-webm-duration] Info section is missing"),!1;var g=p.getSectionById(710577);if(!g)return d("[fix-webm-duration] TimecodeScale section is missing"),!1;var f=p.getSectionById(1161);if(f)if(f.getValue()<=0)d(`[fix-webm-duration] Duration section is present, but the value is ${f.getValue()}`),f.setValue(l);else return d(`[fix-webm-duration] Duration section is present, and the value is ${f.getValue()}`),!1;else d("[fix-webm-duration] Duration section is missing"),f=new o("Duration","Float"),f.setValue(l),p.data.push({id:1161,data:f});return g.setValue(1e6),p.updateByData(),m.updateByData(),this.updateByData(),!0},a.prototype.toBlob=function(l){return new Blob([this.source.buffer],{type:l||"video/webm"})};function c(l,h,d,m){if(typeof d=="object"&&(m=d,d=void 0),!d)return new Promise(function(g){c(l,h,g,m)});try{var p=new FileReader;p.onloadend=function(){try{var g=new a(new Uint8Array(p.result));g.fixDuration(h,m)&&(l=g.toBlob(l.type))}catch{}d(l)},p.readAsArrayBuffer(l)}catch{d(l)}}return c.default=c,c})});var l0=_e((xd,Ed)=>{(function(e,t){typeof define=="function"&&define.amd?define([],t):typeof xd<"u"?t():(t(),e.FileSaver={})})(xd,function(){"use strict";function e(a,c){return typeof c>"u"?c={autoBom:!1}:typeof c!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),c={autoBom:!c}),c.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\uFEFF",a],{type:a.type}):a}function t(a,c,l){var h=new XMLHttpRequest;h.open("GET",a),h.responseType="blob",h.onload=function(){s(h.response,c,l)},h.onerror=function(){console.error("could not download file")},h.send()}function r(a){var c=new XMLHttpRequest;c.open("HEAD",a,!1);try{c.send()}catch{}return 200<=c.status&&299>=c.status}function n(a){try{a.dispatchEvent(new MouseEvent("click"))}catch{var c=document.createEvent("MouseEvents");c.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(c)}}var i=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,o=i.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=i.saveAs||(typeof window!="object"||window!==i?function(){}:"download"in HTMLAnchorElement.prototype&&!o?function(a,c,l){var h=i.URL||i.webkitURL,d=document.createElement("a");c=c||a.name||"download",d.download=c,d.rel="noopener",typeof a=="string"?(d.href=a,d.origin===location.origin?n(d):r(d.href)?t(a,c,l):n(d,d.target="_blank")):(d.href=h.createObjectURL(a),setTimeout(function(){h.revokeObjectURL(d.href)},4e4),setTimeout(function(){n(d)},0))}:"msSaveOrOpenBlob"in navigator?function(a,c,l){if(c=c||a.name||"download",typeof a!="string")navigator.msSaveOrOpenBlob(e(a,l),c);else if(r(a))t(a,c,l);else{var h=document.createElement("a");h.href=a,h.target="_blank",setTimeout(function(){n(h)})}}:function(a,c,l,h){if(h=h||open("","_blank"),h&&(h.document.title=h.document.body.innerText="downloading..."),typeof a=="string")return t(a,c,l);var d=a.type==="application/octet-stream",m=/constructor/i.test(i.HTMLElement)||i.safari,p=/CriOS\/[\d]+/.test(navigator.userAgent);if((p||d&&m||o)&&typeof FileReader<"u"){var g=new FileReader;g.onloadend=function(){var _=g.result;_=p?_:_.replace(/^data:[^;]*;/,"data:attachment/file;"),h?h.location.href=_:location=_,h=null},g.readAsDataURL(a)}else{var f=i.URL||i.webkitURL,b=f.createObjectURL(a);h?h.location=b:location.href=b,h=null,setTimeout(function(){f.revokeObjectURL(b)},4e4)}});i.saveAs=s.saveAs=s,typeof Ed<"u"&&(Ed.exports=s)})});var k2=_e((dT,S2)=>{S2.exports=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}});var An=_e(ei=>{var Iu,N3=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];ei.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};ei.getSymbolTotalCodewords=function(t){return N3[t]};ei.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};ei.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');Iu=t};ei.isKanjiModeEnabled=function(){return typeof Iu<"u"};ei.toSJIS=function(t){return Iu(t)}});var Xc=_e(dr=>{dr.L={bit:1};dr.M={bit:0};dr.Q={bit:3};dr.H={bit:2};function z3(e){if(typeof e!="string")throw new Error("Param is not a string");switch(e.toLowerCase()){case"l":case"low":return dr.L;case"m":case"medium":return dr.M;case"q":case"quartile":return dr.Q;case"h":case"high":return dr.H;default:throw new Error("Unknown EC Level: "+e)}}dr.isValid=function(t){return t&&typeof t.bit<"u"&&t.bit>=0&&t.bit<4};dr.from=function(t,r){if(dr.isValid(t))return t;try{return z3(t)}catch{return r}}});var C2=_e((fT,E2)=>{function x2(){this.buffer=[],this.length=0}x2.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let r=0;r<t;r++)this.putBit((e>>>t-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};E2.exports=x2});var T2=_e((mT,A2)=>{function as(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}as.prototype.set=function(e,t,r,n){let i=e*this.size+t;this.data[i]=r,n&&(this.reservedBit[i]=!0)};as.prototype.get=function(e,t){return this.data[e*this.size+t]};as.prototype.xor=function(e,t,r){this.data[e*this.size+t]^=r};as.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};A2.exports=as});var I2=_e(Jc=>{var j3=An().getSymbolSize;Jc.getRowColCoords=function(t){if(t===1)return[];let r=Math.floor(t/7)+2,n=j3(t),i=n===145?26:Math.ceil((n-13)/(2*r-2))*2,o=[n-7];for(let s=1;s<r-1;s++)o[s]=o[s-1]-i;return o.push(6),o.reverse()};Jc.getPositions=function(t){let r=[],n=Jc.getRowColCoords(t),i=n.length;for(let o=0;o<i;o++)for(let s=0;s<i;s++)o===0&&s===0||o===0&&s===i-1||o===i-1&&s===0||r.push([n[o],n[s]]);return r}});var D2=_e(P2=>{var V3=An().getSymbolSize,R2=7;P2.getPositions=function(t){let r=V3(t);return[[0,0],[r-R2,0],[0,r-R2]]}});var B2=_e(Be=>{Be.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var ti={N1:3,N2:3,N3:40,N4:10};Be.isValid=function(t){return t!=null&&t!==""&&!isNaN(t)&&t>=0&&t<=7};Be.from=function(t){return Be.isValid(t)?parseInt(t,10):void 0};Be.getPenaltyN1=function(t){let r=t.size,n=0,i=0,o=0,s=null,a=null;for(let c=0;c<r;c++){i=o=0,s=a=null;for(let l=0;l<r;l++){let h=t.get(c,l);h===s?i++:(i>=5&&(n+=ti.N1+(i-5)),s=h,i=1),h=t.get(l,c),h===a?o++:(o>=5&&(n+=ti.N1+(o-5)),a=h,o=1)}i>=5&&(n+=ti.N1+(i-5)),o>=5&&(n+=ti.N1+(o-5))}return n};Be.getPenaltyN2=function(t){let r=t.size,n=0;for(let i=0;i<r-1;i++)for(let o=0;o<r-1;o++){let s=t.get(i,o)+t.get(i,o+1)+t.get(i+1,o)+t.get(i+1,o+1);(s===4||s===0)&&n++}return n*ti.N2};Be.getPenaltyN3=function(t){let r=t.size,n=0,i=0,o=0;for(let s=0;s<r;s++){i=o=0;for(let a=0;a<r;a++)i=i<<1&2047|t.get(s,a),a>=10&&(i===1488||i===93)&&n++,o=o<<1&2047|t.get(a,s),a>=10&&(o===1488||o===93)&&n++}return n*ti.N3};Be.getPenaltyN4=function(t){let r=0,n=t.data.length;for(let o=0;o<n;o++)r+=t.data[o];return Math.abs(Math.ceil(r*100/n/5)-10)*ti.N4};function H3(e,t,r){switch(e){case Be.Patterns.PATTERN000:return(t+r)%2===0;case Be.Patterns.PATTERN001:return t%2===0;case Be.Patterns.PATTERN010:return r%3===0;case Be.Patterns.PATTERN011:return(t+r)%3===0;case Be.Patterns.PATTERN100:return(Math.floor(t/2)+Math.floor(r/3))%2===0;case Be.Patterns.PATTERN101:return t*r%2+t*r%3===0;case Be.Patterns.PATTERN110:return(t*r%2+t*r%3)%2===0;case Be.Patterns.PATTERN111:return(t*r%3+(t+r)%2)%2===0;default:throw new Error("bad maskPattern:"+e)}}Be.applyMask=function(t,r){let n=r.size;for(let i=0;i<n;i++)for(let o=0;o<n;o++)r.isReserved(o,i)||r.xor(o,i,H3(t,o,i))};Be.getBestMask=function(t,r){let n=Object.keys(Be.Patterns).length,i=0,o=1/0;for(let s=0;s<n;s++){r(s),Be.applyMask(s,t);let a=Be.getPenaltyN1(t)+Be.getPenaltyN2(t)+Be.getPenaltyN3(t)+Be.getPenaltyN4(t);Be.applyMask(s,t),a<o&&(o=a,i=s)}return i}});var Pu=_e(Ru=>{var Tn=Xc(),Yc=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],Zc=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];Ru.getBlocksCount=function(t,r){switch(r){case Tn.L:return Yc[(t-1)*4+0];case Tn.M:return Yc[(t-1)*4+1];case Tn.Q:return Yc[(t-1)*4+2];case Tn.H:return Yc[(t-1)*4+3];default:return}};Ru.getTotalCodewordsCount=function(t,r){switch(r){case Tn.L:return Zc[(t-1)*4+0];case Tn.M:return Zc[(t-1)*4+1];case Tn.Q:return Zc[(t-1)*4+2];case Tn.H:return Zc[(t-1)*4+3];default:return}}});var O2=_e(el=>{var cs=new Uint8Array(512),Qc=new Uint8Array(256);(function(){let t=1;for(let r=0;r<255;r++)cs[r]=t,Qc[t]=r,t<<=1,t&256&&(t^=285);for(let r=255;r<512;r++)cs[r]=cs[r-255]})();el.log=function(t){if(t<1)throw new Error("log("+t+")");return Qc[t]};el.exp=function(t){return cs[t]};el.mul=function(t,r){return t===0||r===0?0:cs[Qc[t]+Qc[r]]}});var U2=_e(ls=>{var Du=O2();ls.mul=function(t,r){let n=new Uint8Array(t.length+r.length-1);for(let i=0;i<t.length;i++)for(let o=0;o<r.length;o++)n[i+o]^=Du.mul(t[i],r[o]);return n};ls.mod=function(t,r){let n=new Uint8Array(t);for(;n.length-r.length>=0;){let i=n[0];for(let s=0;s<r.length;s++)n[s]^=Du.mul(r[s],i);let o=0;for(;o<n.length&&n[o]===0;)o++;n=n.slice(o)}return n};ls.generateECPolynomial=function(t){let r=new Uint8Array([1]);for(let n=0;n<t;n++)r=ls.mul(r,new Uint8Array([1,Du.exp(n)]));return r}});var M2=_e((ST,L2)=>{var F2=U2();function Bu(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}Bu.prototype.initialize=function(t){this.degree=t,this.genPoly=F2.generateECPolynomial(this.degree)};Bu.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");let r=new Uint8Array(t.length+this.degree);r.set(t);let n=F2.mod(r,this.genPoly),i=this.degree-n.length;if(i>0){let o=new Uint8Array(this.degree);return o.set(n,i),o}return n};L2.exports=Bu});var Ou=_e(N2=>{N2.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}});var Uu=_e(tn=>{var z2="[0-9]+",W3="[A-Z $%*+\\-./:]+",hs="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";hs=hs.replace(/u/g,"\\u");var $3="(?:(?![A-Z0-9 $%*+\\-./:]|"+hs+`)(?:.|[\r
3
- ]))+`;tn.KANJI=new RegExp(hs,"g");tn.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");tn.BYTE=new RegExp($3,"g");tn.NUMERIC=new RegExp(z2,"g");tn.ALPHANUMERIC=new RegExp(W3,"g");var G3=new RegExp("^"+hs+"$"),q3=new RegExp("^"+z2+"$"),K3=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");tn.testKanji=function(t){return G3.test(t)};tn.testNumeric=function(t){return q3.test(t)};tn.testAlphanumeric=function(t){return K3.test(t)}});var In=_e(nt=>{var X3=Ou(),Fu=Uu();nt.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]};nt.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]};nt.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]};nt.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]};nt.MIXED={bit:-1};nt.getCharCountIndicator=function(t,r){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!X3.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?t.ccBits[0]:r<27?t.ccBits[1]:t.ccBits[2]};nt.getBestModeForData=function(t){return Fu.testNumeric(t)?nt.NUMERIC:Fu.testAlphanumeric(t)?nt.ALPHANUMERIC:Fu.testKanji(t)?nt.KANJI:nt.BYTE};nt.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")};nt.isValid=function(t){return t&&t.bit&&t.ccBits};function J3(e){if(typeof e!="string")throw new Error("Param is not a string");switch(e.toLowerCase()){case"numeric":return nt.NUMERIC;case"alphanumeric":return nt.ALPHANUMERIC;case"kanji":return nt.KANJI;case"byte":return nt.BYTE;default:throw new Error("Unknown mode: "+e)}}nt.from=function(t,r){if(nt.isValid(t))return t;try{return J3(t)}catch{return r}}});var $2=_e(ri=>{var tl=An(),Y3=Pu(),j2=Xc(),Rn=In(),Lu=Ou(),H2=7973,V2=tl.getBCHDigit(H2);function Z3(e,t,r){for(let n=1;n<=40;n++)if(t<=ri.getCapacity(n,r,e))return n}function W2(e,t){return Rn.getCharCountIndicator(e,t)+4}function Q3(e,t){let r=0;return e.forEach(function(n){let i=W2(n.mode,t);r+=i+n.getBitsLength()}),r}function ew(e,t){for(let r=1;r<=40;r++)if(Q3(e,r)<=ri.getCapacity(r,t,Rn.MIXED))return r}ri.from=function(t,r){return Lu.isValid(t)?parseInt(t,10):r};ri.getCapacity=function(t,r,n){if(!Lu.isValid(t))throw new Error("Invalid QR Code version");typeof n>"u"&&(n=Rn.BYTE);let i=tl.getSymbolTotalCodewords(t),o=Y3.getTotalCodewordsCount(t,r),s=(i-o)*8;if(n===Rn.MIXED)return s;let a=s-W2(n,t);switch(n){case Rn.NUMERIC:return Math.floor(a/10*3);case Rn.ALPHANUMERIC:return Math.floor(a/11*2);case Rn.KANJI:return Math.floor(a/13);case Rn.BYTE:default:return Math.floor(a/8)}};ri.getBestVersionForData=function(t,r){let n,i=j2.from(r,j2.M);if(Array.isArray(t)){if(t.length>1)return ew(t,i);if(t.length===0)return 1;n=t[0]}else n=t;return Z3(n.mode,n.getLength(),i)};ri.getEncodedBits=function(t){if(!Lu.isValid(t)||t<7)throw new Error("Invalid QR Code version");let r=t<<12;for(;tl.getBCHDigit(r)-V2>=0;)r^=H2<<tl.getBCHDigit(r)-V2;return t<<12|r}});var X2=_e(K2=>{var Mu=An(),q2=1335,tw=21522,G2=Mu.getBCHDigit(q2);K2.getEncodedBits=function(t,r){let n=t.bit<<3|r,i=n<<10;for(;Mu.getBCHDigit(i)-G2>=0;)i^=q2<<Mu.getBCHDigit(i)-G2;return(n<<10|i)^tw}});var Y2=_e((TT,J2)=>{var rw=In();function oo(e){this.mode=rw.NUMERIC,this.data=e.toString()}oo.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)};oo.prototype.getLength=function(){return this.data.length};oo.prototype.getBitsLength=function(){return oo.getBitsLength(this.data.length)};oo.prototype.write=function(t){let r,n,i;for(r=0;r+3<=this.data.length;r+=3)n=this.data.substr(r,3),i=parseInt(n,10),t.put(i,10);let o=this.data.length-r;o>0&&(n=this.data.substr(r),i=parseInt(n,10),t.put(i,o*3+1))};J2.exports=oo});var Q2=_e((IT,Z2)=>{var nw=In(),Nu=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function so(e){this.mode=nw.ALPHANUMERIC,this.data=e}so.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};so.prototype.getLength=function(){return this.data.length};so.prototype.getBitsLength=function(){return so.getBitsLength(this.data.length)};so.prototype.write=function(t){let r;for(r=0;r+2<=this.data.length;r+=2){let n=Nu.indexOf(this.data[r])*45;n+=Nu.indexOf(this.data[r+1]),t.put(n,11)}this.data.length%2&&t.put(Nu.indexOf(this.data[r]),6)};Z2.exports=so});var ty=_e((RT,ey)=>{var iw=In();function ao(e){this.mode=iw.BYTE,typeof e=="string"?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}ao.getBitsLength=function(t){return t*8};ao.prototype.getLength=function(){return this.data.length};ao.prototype.getBitsLength=function(){return ao.getBitsLength(this.data.length)};ao.prototype.write=function(e){for(let t=0,r=this.data.length;t<r;t++)e.put(this.data[t],8)};ey.exports=ao});var ny=_e((PT,ry)=>{var ow=In(),sw=An();function co(e){this.mode=ow.KANJI,this.data=e}co.getBitsLength=function(t){return t*13};co.prototype.getLength=function(){return this.data.length};co.prototype.getBitsLength=function(){return co.getBitsLength(this.data.length)};co.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let r=sw.toSJIS(this.data[t]);if(r>=33088&&r<=40956)r-=33088;else if(r>=57408&&r<=60351)r-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+`
4
- Make sure your charset is UTF-8`);r=(r>>>8&255)*192+(r&255),e.put(r,13)}};ry.exports=co});var iy=_e((DT,zu)=>{"use strict";var ds={single_source_shortest_paths:function(e,t,r){var n={},i={};i[t]=0;var o=ds.PriorityQueue.make();o.push(t,0);for(var s,a,c,l,h,d,m,p,g;!o.empty();){s=o.pop(),a=s.value,l=s.cost,h=e[a]||{};for(c in h)h.hasOwnProperty(c)&&(d=h[c],m=l+d,p=i[c],g=typeof i[c]>"u",(g||p>m)&&(i[c]=m,o.push(c,m),n[c]=a))}if(typeof r<"u"&&typeof i[r]>"u"){var f=["Could not find a path from ",t," to ",r,"."].join("");throw new Error(f)}return n},extract_shortest_path_from_predecessor_list:function(e,t){for(var r=[],n=t,i;n;)r.push(n),i=e[n],n=e[n];return r.reverse(),r},find_path:function(e,t,r){var n=ds.single_source_shortest_paths(e,t,r);return ds.extract_shortest_path_from_predecessor_list(n,r)},PriorityQueue:{make:function(e){var t=ds.PriorityQueue,r={},n;e=e||{};for(n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);return r.queue=[],r.sorter=e.sorter||t.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var r={value:e,cost:t};this.queue.push(r),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};typeof zu<"u"&&(zu.exports=ds)});var uy=_e(lo=>{var Se=In(),ay=Y2(),cy=Q2(),ly=ty(),hy=ny(),us=Uu(),rl=An(),aw=iy();function oy(e){return unescape(encodeURIComponent(e)).length}function ps(e,t,r){let n=[],i;for(;(i=e.exec(r))!==null;)n.push({data:i[0],index:i.index,mode:t,length:i[0].length});return n}function dy(e){let t=ps(us.NUMERIC,Se.NUMERIC,e),r=ps(us.ALPHANUMERIC,Se.ALPHANUMERIC,e),n,i;return rl.isKanjiModeEnabled()?(n=ps(us.BYTE,Se.BYTE,e),i=ps(us.KANJI,Se.KANJI,e)):(n=ps(us.BYTE_KANJI,Se.BYTE,e),i=[]),t.concat(r,n,i).sort(function(s,a){return s.index-a.index}).map(function(s){return{data:s.data,mode:s.mode,length:s.length}})}function ju(e,t){switch(t){case Se.NUMERIC:return ay.getBitsLength(e);case Se.ALPHANUMERIC:return cy.getBitsLength(e);case Se.KANJI:return hy.getBitsLength(e);case Se.BYTE:return ly.getBitsLength(e)}}function cw(e){return e.reduce(function(t,r){let n=t.length-1>=0?t[t.length-1]:null;return n&&n.mode===r.mode?(t[t.length-1].data+=r.data,t):(t.push(r),t)},[])}function lw(e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];switch(n.mode){case Se.NUMERIC:t.push([n,{data:n.data,mode:Se.ALPHANUMERIC,length:n.length},{data:n.data,mode:Se.BYTE,length:n.length}]);break;case Se.ALPHANUMERIC:t.push([n,{data:n.data,mode:Se.BYTE,length:n.length}]);break;case Se.KANJI:t.push([n,{data:n.data,mode:Se.BYTE,length:oy(n.data)}]);break;case Se.BYTE:t.push([{data:n.data,mode:Se.BYTE,length:oy(n.data)}])}}return t}function hw(e,t){let r={},n={start:{}},i=["start"];for(let o=0;o<e.length;o++){let s=e[o],a=[];for(let c=0;c<s.length;c++){let l=s[c],h=""+o+c;a.push(h),r[h]={node:l,lastCount:0},n[h]={};for(let d=0;d<i.length;d++){let m=i[d];r[m]&&r[m].node.mode===l.mode?(n[m][h]=ju(r[m].lastCount+l.length,l.mode)-ju(r[m].lastCount,l.mode),r[m].lastCount+=l.length):(r[m]&&(r[m].lastCount=l.length),n[m][h]=ju(l.length,l.mode)+4+Se.getCharCountIndicator(l.mode,t))}}i=a}for(let o=0;o<i.length;o++)n[i[o]].end=0;return{map:n,table:r}}function sy(e,t){let r,n=Se.getBestModeForData(e);if(r=Se.from(t,n),r!==Se.BYTE&&r.bit<n.bit)throw new Error('"'+e+'" cannot be encoded with mode '+Se.toString(r)+`.
5
- Suggested mode is: `+Se.toString(n));switch(r===Se.KANJI&&!rl.isKanjiModeEnabled()&&(r=Se.BYTE),r){case Se.NUMERIC:return new ay(e);case Se.ALPHANUMERIC:return new cy(e);case Se.KANJI:return new hy(e);case Se.BYTE:return new ly(e)}}lo.fromArray=function(t){return t.reduce(function(r,n){return typeof n=="string"?r.push(sy(n,null)):n.data&&r.push(sy(n.data,n.mode)),r},[])};lo.fromString=function(t,r){let n=dy(t,rl.isKanjiModeEnabled()),i=lw(n),o=hw(i,r),s=aw.find_path(o.map,"start","end"),a=[];for(let c=1;c<s.length-1;c++)a.push(o.table[s[c]].node);return lo.fromArray(cw(a))};lo.rawSplit=function(t){return lo.fromArray(dy(t,rl.isKanjiModeEnabled()))}});var fy=_e(py=>{var il=An(),Vu=Xc(),dw=C2(),uw=T2(),pw=I2(),fw=D2(),$u=B2(),Gu=Pu(),mw=M2(),nl=$2(),gw=X2(),yw=In(),Hu=uy();function bw(e,t){let r=e.size,n=fw.getPositions(t);for(let i=0;i<n.length;i++){let o=n[i][0],s=n[i][1];for(let a=-1;a<=7;a++)if(!(o+a<=-1||r<=o+a))for(let c=-1;c<=7;c++)s+c<=-1||r<=s+c||(a>=0&&a<=6&&(c===0||c===6)||c>=0&&c<=6&&(a===0||a===6)||a>=2&&a<=4&&c>=2&&c<=4?e.set(o+a,s+c,!0,!0):e.set(o+a,s+c,!1,!0))}}function vw(e){let t=e.size;for(let r=8;r<t-8;r++){let n=r%2===0;e.set(r,6,n,!0),e.set(6,r,n,!0)}}function _w(e,t){let r=pw.getPositions(t);for(let n=0;n<r.length;n++){let i=r[n][0],o=r[n][1];for(let s=-2;s<=2;s++)for(let a=-2;a<=2;a++)s===-2||s===2||a===-2||a===2||s===0&&a===0?e.set(i+s,o+a,!0,!0):e.set(i+s,o+a,!1,!0)}}function ww(e,t){let r=e.size,n=nl.getEncodedBits(t),i,o,s;for(let a=0;a<18;a++)i=Math.floor(a/3),o=a%3+r-8-3,s=(n>>a&1)===1,e.set(i,o,s,!0),e.set(o,i,s,!0)}function Wu(e,t,r){let n=e.size,i=gw.getEncodedBits(t,r),o,s;for(o=0;o<15;o++)s=(i>>o&1)===1,o<6?e.set(o,8,s,!0):o<8?e.set(o+1,8,s,!0):e.set(n-15+o,8,s,!0),o<8?e.set(8,n-o-1,s,!0):o<9?e.set(8,15-o-1+1,s,!0):e.set(8,15-o-1,s,!0);e.set(n-8,8,1,!0)}function Sw(e,t){let r=e.size,n=-1,i=r-1,o=7,s=0;for(let a=r-1;a>0;a-=2)for(a===6&&a--;;){for(let c=0;c<2;c++)if(!e.isReserved(i,a-c)){let l=!1;s<t.length&&(l=(t[s]>>>o&1)===1),e.set(i,a-c,l),o--,o===-1&&(s++,o=7)}if(i+=n,i<0||r<=i){i-=n,n=-n;break}}}function kw(e,t,r){let n=new dw;r.forEach(function(c){n.put(c.mode.bit,4),n.put(c.getLength(),yw.getCharCountIndicator(c.mode,e)),c.write(n)});let i=il.getSymbolTotalCodewords(e),o=Gu.getTotalCodewordsCount(e,t),s=(i-o)*8;for(n.getLengthInBits()+4<=s&&n.put(0,4);n.getLengthInBits()%8!==0;)n.putBit(0);let a=(s-n.getLengthInBits())/8;for(let c=0;c<a;c++)n.put(c%2?17:236,8);return xw(n,e,t)}function xw(e,t,r){let n=il.getSymbolTotalCodewords(t),i=Gu.getTotalCodewordsCount(t,r),o=n-i,s=Gu.getBlocksCount(t,r),a=n%s,c=s-a,l=Math.floor(n/s),h=Math.floor(o/s),d=h+1,m=l-h,p=new mw(m),g=0,f=new Array(s),b=new Array(s),_=0,x=new Uint8Array(e.buffer);for(let R=0;R<s;R++){let N=R<c?h:d;f[R]=x.slice(g,g+N),b[R]=p.encode(f[R]),g+=N,_=Math.max(_,N)}let k=new Uint8Array(n),P=0,C,A;for(C=0;C<_;C++)for(A=0;A<s;A++)C<f[A].length&&(k[P++]=f[A][C]);for(C=0;C<m;C++)for(A=0;A<s;A++)k[P++]=b[A][C];return k}function Ew(e,t,r,n){let i;if(Array.isArray(e))i=Hu.fromArray(e);else if(typeof e=="string"){let l=t;if(!l){let h=Hu.rawSplit(e);l=nl.getBestVersionForData(h,r)}i=Hu.fromString(e,l||40)}else throw new Error("Invalid data");let o=nl.getBestVersionForData(i,r);if(!o)throw new Error("The amount of data is too big to be stored in a QR Code");if(!t)t=o;else if(t<o)throw new Error(`
1
+ "use strict";(()=>{var Py=Object.create;var pl=Object.defineProperty;var Dy=Object.getOwnPropertyDescriptor;var By=Object.getOwnPropertyNames;var Oy=Object.getPrototypeOf,Uy=Object.prototype.hasOwnProperty;var ur=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var _e=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Fy=(e,t)=>{for(var r in t)pl(e,r,{get:t[r],enumerable:!0})},Ly=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of By(t))!Uy.call(e,i)&&i!==r&&pl(e,i,{get:()=>t[i],enumerable:!(n=Dy(t,i))||n.enumerable});return e};var fl=(e,t,r)=>(r=e!=null?Py(Oy(e)):{},Ly(t||!e||!e.__esModule?pl(r,"default",{value:e,enumerable:!0}):r,e));var l0=_e((c0,Cd)=>{(function(e){typeof c0=="object"&&typeof Cd<"u"?Cd.exports=e():typeof define=="function"&&define.amd?define([],e):(typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:this).JSZip=e()})(function(){return(function e(t,r,n){function i(a,c){if(!r[a]){if(!t[a]){var l=typeof ur=="function"&&ur;if(!c&&l)return l(a,!0);if(o)return o(a,!0);var h=new Error("Cannot find module '"+a+"'");throw h.code="MODULE_NOT_FOUND",h}var d=r[a]={exports:{}};t[a][0].call(d.exports,function(g){var p=t[a][1][g];return i(p||g)},d,d.exports,e,t,r,n)}return r[a].exports}for(var o=typeof ur=="function"&&ur,s=0;s<n.length;s++)i(n[s]);return i})({1:[function(e,t,r){"use strict";var n=e("./utils"),i=e("./support"),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(s){for(var a,c,l,h,d,g,p,m=[],u=0,b=s.length,_=b,E=n.getTypeOf(s)!=="string";u<s.length;)_=b-u,l=E?(a=s[u++],c=u<b?s[u++]:0,u<b?s[u++]:0):(a=s.charCodeAt(u++),c=u<b?s.charCodeAt(u++):0,u<b?s.charCodeAt(u++):0),h=a>>2,d=(3&a)<<4|c>>4,g=1<_?(15&c)<<2|l>>6:64,p=2<_?63&l:64,m.push(o.charAt(h)+o.charAt(d)+o.charAt(g)+o.charAt(p));return m.join("")},r.decode=function(s){var a,c,l,h,d,g,p=0,m=0,u="data:";if(s.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var b,_=3*(s=s.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(s.charAt(s.length-1)===o.charAt(64)&&_--,s.charAt(s.length-2)===o.charAt(64)&&_--,_%1!=0)throw new Error("Invalid base64 input, bad content length.");for(b=i.uint8array?new Uint8Array(0|_):new Array(0|_);p<s.length;)a=o.indexOf(s.charAt(p++))<<2|(h=o.indexOf(s.charAt(p++)))>>4,c=(15&h)<<4|(d=o.indexOf(s.charAt(p++)))>>2,l=(3&d)<<6|(g=o.indexOf(s.charAt(p++))),b[m++]=a,d!==64&&(b[m++]=c),g!==64&&(b[m++]=l);return b}},{"./support":30,"./utils":32}],2:[function(e,t,r){"use strict";var n=e("./external"),i=e("./stream/DataWorker"),o=e("./stream/Crc32Probe"),s=e("./stream/DataLengthProbe");function a(c,l,h,d,g){this.compressedSize=c,this.uncompressedSize=l,this.crc32=h,this.compression=d,this.compressedContent=g}a.prototype={getContentWorker:function(){var c=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new s("data_length")),l=this;return c.on("end",function(){if(this.streamInfo.data_length!==l.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),c},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(c,l,h){return c.pipe(new o).pipe(new s("uncompressedSize")).pipe(l.compressWorker(h)).pipe(new s("compressedSize")).withStreamInfo("compression",l)},t.exports=a},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){"use strict";var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){"use strict";var n=e("./utils"),i=(function(){for(var o,s=[],a=0;a<256;a++){o=a;for(var c=0;c<8;c++)o=1&o?3988292384^o>>>1:o>>>1;s[a]=o}return s})();t.exports=function(o,s){return o!==void 0&&o.length?n.getTypeOf(o)!=="string"?(function(a,c,l,h){var d=i,g=h+l;a^=-1;for(var p=h;p<g;p++)a=a>>>8^d[255&(a^c[p])];return-1^a})(0|s,o,o.length,0):(function(a,c,l,h){var d=i,g=h+l;a^=-1;for(var p=h;p<g;p++)a=a>>>8^d[255&(a^c.charCodeAt(p))];return-1^a})(0|s,o,o.length,0):0}},{"./utils":32}],5:[function(e,t,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){"use strict";var n=null;n=typeof Promise<"u"?Promise:e("lie"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){"use strict";var n=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",i=e("pako"),o=e("./utils"),s=e("./stream/GenericWorker"),a=n?"uint8array":"array";function c(l,h){s.call(this,"FlateWorker/"+l),this._pako=null,this._pakoAction=l,this._pakoOptions=h,this.meta={}}r.magic="\b\0",o.inherits(c,s),c.prototype.processChunk=function(l){this.meta=l.meta,this._pako===null&&this._createPako(),this._pako.push(o.transformTo(a,l.data),!1)},c.prototype.flush=function(){s.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},c.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},c.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var l=this;this._pako.onData=function(h){l.push({data:h,meta:l.meta})}},r.compressWorker=function(l){return new c("Deflate",l)},r.uncompressWorker=function(){return new c("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){"use strict";function n(d,g){var p,m="";for(p=0;p<g;p++)m+=String.fromCharCode(255&d),d>>>=8;return m}function i(d,g,p,m,u,b){var _,E,k=d.file,P=d.compression,x=b!==a.utf8encode,A=o.transformTo("string",b(k.name)),R=o.transformTo("string",a.utf8encode(k.name)),N=k.comment,J=o.transformTo("string",b(N)),S=o.transformTo("string",a.utf8encode(N)),O=R.length!==k.name.length,y=S.length!==N.length,M="",ae="",V="",ce=k.dir,H=k.date,oe={crc32:0,compressedSize:0,uncompressedSize:0};g&&!p||(oe.crc32=d.crc32,oe.compressedSize=d.compressedSize,oe.uncompressedSize=d.uncompressedSize);var B=0;g&&(B|=8),x||!O&&!y||(B|=2048);var D=0,te=0;ce&&(D|=16),u==="UNIX"?(te=798,D|=(function(G,Ce){var Ke=G;return G||(Ke=Ce?16893:33204),(65535&Ke)<<16})(k.unixPermissions,ce)):(te=20,D|=(function(G){return 63&(G||0)})(k.dosPermissions)),_=H.getUTCHours(),_<<=6,_|=H.getUTCMinutes(),_<<=5,_|=H.getUTCSeconds()/2,E=H.getUTCFullYear()-1980,E<<=4,E|=H.getUTCMonth()+1,E<<=5,E|=H.getUTCDate(),O&&(ae=n(1,1)+n(c(A),4)+R,M+="up"+n(ae.length,2)+ae),y&&(V=n(1,1)+n(c(J),4)+S,M+="uc"+n(V.length,2)+V);var q="";return q+=`
2
+ \0`,q+=n(B,2),q+=P.magic,q+=n(_,2),q+=n(E,2),q+=n(oe.crc32,4),q+=n(oe.compressedSize,4),q+=n(oe.uncompressedSize,4),q+=n(A.length,2),q+=n(M.length,2),{fileRecord:l.LOCAL_FILE_HEADER+q+A+M,dirRecord:l.CENTRAL_FILE_HEADER+n(te,2)+q+n(J.length,2)+"\0\0\0\0"+n(D,4)+n(m,4)+A+M+J}}var o=e("../utils"),s=e("../stream/GenericWorker"),a=e("../utf8"),c=e("../crc32"),l=e("../signature");function h(d,g,p,m){s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=g,this.zipPlatform=p,this.encodeFileName=m,this.streamFiles=d,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}o.inherits(h,s),h.prototype.push=function(d){var g=d.meta.percent||0,p=this.entriesCount,m=this._sources.length;this.accumulate?this.contentBuffer.push(d):(this.bytesWritten+=d.data.length,s.prototype.push.call(this,{data:d.data,meta:{currentFile:this.currentFile,percent:p?(g+100*(p-m-1))/p:100}}))},h.prototype.openedSource=function(d){this.currentSourceOffset=this.bytesWritten,this.currentFile=d.file.name;var g=this.streamFiles&&!d.file.dir;if(g){var p=i(d,g,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:p.fileRecord,meta:{percent:0}})}else this.accumulate=!0},h.prototype.closedSource=function(d){this.accumulate=!1;var g=this.streamFiles&&!d.file.dir,p=i(d,g,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(p.dirRecord),g)this.push({data:(function(m){return l.DATA_DESCRIPTOR+n(m.crc32,4)+n(m.compressedSize,4)+n(m.uncompressedSize,4)})(d),meta:{percent:100}});else for(this.push({data:p.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},h.prototype.flush=function(){for(var d=this.bytesWritten,g=0;g<this.dirRecords.length;g++)this.push({data:this.dirRecords[g],meta:{percent:100}});var p=this.bytesWritten-d,m=(function(u,b,_,E,k){var P=o.transformTo("string",k(E));return l.CENTRAL_DIRECTORY_END+"\0\0\0\0"+n(u,2)+n(u,2)+n(b,4)+n(_,4)+n(P.length,2)+P})(this.dirRecords.length,p,d,this.zipComment,this.encodeFileName);this.push({data:m,meta:{percent:100}})},h.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},h.prototype.registerPrevious=function(d){this._sources.push(d);var g=this;return d.on("data",function(p){g.processChunk(p)}),d.on("end",function(){g.closedSource(g.previous.streamInfo),g._sources.length?g.prepareNextSource():g.end()}),d.on("error",function(p){g.error(p)}),this},h.prototype.resume=function(){return!!s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},h.prototype.error=function(d){var g=this._sources;if(!s.prototype.error.call(this,d))return!1;for(var p=0;p<g.length;p++)try{g[p].error(d)}catch{}return!0},h.prototype.lock=function(){s.prototype.lock.call(this);for(var d=this._sources,g=0;g<d.length;g++)d[g].lock()},t.exports=h},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){"use strict";var n=e("../compressions"),i=e("./ZipFileWorker");r.generateWorker=function(o,s,a){var c=new i(s.streamFiles,a,s.platform,s.encodeFileName),l=0;try{o.forEach(function(h,d){l++;var g=(function(b,_){var E=b||_,k=n[E];if(!k)throw new Error(E+" is not a valid compression method !");return k})(d.options.compression,s.compression),p=d.options.compressionOptions||s.compressionOptions||{},m=d.dir,u=d.date;d._compressWorker(g,p).withStreamInfo("file",{name:h,dir:m,date:u,comment:d.comment||"",unixPermissions:d.unixPermissions,dosPermissions:d.dosPermissions}).pipe(c)}),c.entriesCount=l}catch(h){c.error(h)}return c}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var i=new n;for(var o in this)typeof this[o]!="function"&&(i[o]=this[o]);return i}}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.10.1",n.loadAsync=function(i,o){return new n().loadAsync(i,o)},n.external=e("./external"),t.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){"use strict";var n=e("./utils"),i=e("./external"),o=e("./utf8"),s=e("./zipEntries"),a=e("./stream/Crc32Probe"),c=e("./nodejsUtils");function l(h){return new i.Promise(function(d,g){var p=h.decompressed.getContentWorker().pipe(new a);p.on("error",function(m){g(m)}).on("end",function(){p.streamInfo.crc32!==h.decompressed.crc32?g(new Error("Corrupted zip : CRC32 mismatch")):d()}).resume()})}t.exports=function(h,d){var g=this;return d=n.extend(d||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),c.isNode&&c.isStream(h)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",h,!0,d.optimizedBinaryString,d.base64).then(function(p){var m=new s(d);return m.load(p),m}).then(function(p){var m=[i.Promise.resolve(p)],u=p.files;if(d.checkCRC32)for(var b=0;b<u.length;b++)m.push(l(u[b]));return i.Promise.all(m)}).then(function(p){for(var m=p.shift(),u=m.files,b=0;b<u.length;b++){var _=u[b],E=_.fileNameStr,k=n.resolve(_.fileNameStr);g.file(k,_.decompressed,{binary:!0,optimizedBinaryString:!0,date:_.date,dir:_.dir,comment:_.fileCommentStr.length?_.fileCommentStr:null,unixPermissions:_.unixPermissions,dosPermissions:_.dosPermissions,createFolders:d.createFolders}),_.dir||(g.file(k).unsafeOriginalName=E)}return m.zipComment.length&&(g.comment=m.zipComment),g})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../stream/GenericWorker");function o(s,a){i.call(this,"Nodejs stream input adapter for "+s),this._upstreamEnded=!1,this._bindStream(a)}n.inherits(o,i),o.prototype._bindStream=function(s){var a=this;(this._stream=s).pause(),s.on("data",function(c){a.push({data:c,meta:{percent:0}})}).on("error",function(c){a.isPaused?this.generatedError=c:a.error(c)}).on("end",function(){a.isPaused?a._upstreamEnded=!0:a.end()})},o.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},o.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=o},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){"use strict";var n=e("readable-stream").Readable;function i(o,s,a){n.call(this,s),this._helper=o;var c=this;o.on("data",function(l,h){c.push(l)||c._helper.pause(),a&&a(h)}).on("error",function(l){c.emit("error",l)}).on("end",function(){c.push(null)})}e("../utils").inherits(i,n),i.prototype._read=function(){this._helper.resume()},t.exports=i},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){"use strict";t.exports={isNode:typeof Buffer<"u",newBufferFrom:function(n,i){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(n,i);if(typeof n=="number")throw new Error('The "data" argument must not be a number');return new Buffer(n,i)},allocBuffer:function(n){if(Buffer.alloc)return Buffer.alloc(n);var i=new Buffer(n);return i.fill(0),i},isBuffer:function(n){return Buffer.isBuffer(n)},isStream:function(n){return n&&typeof n.on=="function"&&typeof n.pause=="function"&&typeof n.resume=="function"}}},{}],15:[function(e,t,r){"use strict";function n(k,P,x){var A,R=o.getTypeOf(P),N=o.extend(x||{},c);N.date=N.date||new Date,N.compression!==null&&(N.compression=N.compression.toUpperCase()),typeof N.unixPermissions=="string"&&(N.unixPermissions=parseInt(N.unixPermissions,8)),N.unixPermissions&&16384&N.unixPermissions&&(N.dir=!0),N.dosPermissions&&16&N.dosPermissions&&(N.dir=!0),N.dir&&(k=u(k)),N.createFolders&&(A=m(k))&&b.call(this,A,!0);var J=R==="string"&&N.binary===!1&&N.base64===!1;x&&x.binary!==void 0||(N.binary=!J),(P instanceof l&&P.uncompressedSize===0||N.dir||!P||P.length===0)&&(N.base64=!1,N.binary=!0,P="",N.compression="STORE",R="string");var S=null;S=P instanceof l||P instanceof s?P:g.isNode&&g.isStream(P)?new p(k,P):o.prepareContent(k,P,N.binary,N.optimizedBinaryString,N.base64);var O=new h(k,S,N);this.files[k]=O}var i=e("./utf8"),o=e("./utils"),s=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),c=e("./defaults"),l=e("./compressedObject"),h=e("./zipObject"),d=e("./generate"),g=e("./nodejsUtils"),p=e("./nodejs/NodejsStreamInputAdapter"),m=function(k){k.slice(-1)==="/"&&(k=k.substring(0,k.length-1));var P=k.lastIndexOf("/");return 0<P?k.substring(0,P):""},u=function(k){return k.slice(-1)!=="/"&&(k+="/"),k},b=function(k,P){return P=P!==void 0?P:c.createFolders,k=u(k),this.files[k]||n.call(this,k,null,{dir:!0,createFolders:P}),this.files[k]};function _(k){return Object.prototype.toString.call(k)==="[object RegExp]"}var E={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(k){var P,x,A;for(P in this.files)A=this.files[P],(x=P.slice(this.root.length,P.length))&&P.slice(0,this.root.length)===this.root&&k(x,A)},filter:function(k){var P=[];return this.forEach(function(x,A){k(x,A)&&P.push(A)}),P},file:function(k,P,x){if(arguments.length!==1)return k=this.root+k,n.call(this,k,P,x),this;if(_(k)){var A=k;return this.filter(function(N,J){return!J.dir&&A.test(N)})}var R=this.files[this.root+k];return R&&!R.dir?R:null},folder:function(k){if(!k)return this;if(_(k))return this.filter(function(R,N){return N.dir&&k.test(R)});var P=this.root+k,x=b.call(this,P),A=this.clone();return A.root=x.name,A},remove:function(k){k=this.root+k;var P=this.files[k];if(P||(k.slice(-1)!=="/"&&(k+="/"),P=this.files[k]),P&&!P.dir)delete this.files[k];else for(var x=this.filter(function(R,N){return N.name.slice(0,k.length)===k}),A=0;A<x.length;A++)delete this.files[x[A].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(k){var P,x={};try{if((x=o.extend(k||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=x.type.toLowerCase(),x.compression=x.compression.toUpperCase(),x.type==="binarystring"&&(x.type="string"),!x.type)throw new Error("No output type specified.");o.checkSupport(x.type),x.platform!=="darwin"&&x.platform!=="freebsd"&&x.platform!=="linux"&&x.platform!=="sunos"||(x.platform="UNIX"),x.platform==="win32"&&(x.platform="DOS");var A=x.comment||this.comment||"";P=d.generateWorker(this,x,A)}catch(R){(P=new s("error")).error(R)}return new a(P,x.type||"string",x.mimeType)},generateAsync:function(k,P){return this.generateInternalStream(k).accumulate(P)},generateNodeStream:function(k,P){return(k=k||{}).type||(k.type="nodebuffer"),this.generateInternalStream(k).toNodejsStream(P)}};t.exports=E},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){"use strict";t.exports=e("stream")},{stream:void 0}],17:[function(e,t,r){"use strict";var n=e("./DataReader");function i(o){n.call(this,o);for(var s=0;s<this.data.length;s++)o[s]=255&o[s]}e("../utils").inherits(i,n),i.prototype.byteAt=function(o){return this.data[this.zero+o]},i.prototype.lastIndexOfSignature=function(o){for(var s=o.charCodeAt(0),a=o.charCodeAt(1),c=o.charCodeAt(2),l=o.charCodeAt(3),h=this.length-4;0<=h;--h)if(this.data[h]===s&&this.data[h+1]===a&&this.data[h+2]===c&&this.data[h+3]===l)return h-this.zero;return-1},i.prototype.readAndCheckSignature=function(o){var s=o.charCodeAt(0),a=o.charCodeAt(1),c=o.charCodeAt(2),l=o.charCodeAt(3),h=this.readData(4);return s===h[0]&&a===h[1]&&c===h[2]&&l===h[3]},i.prototype.readData=function(o){if(this.checkOffset(o),o===0)return[];var s=this.data.slice(this.zero+this.index,this.zero+this.index+o);return this.index+=o,s},t.exports=i},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){"use strict";var n=e("../utils");function i(o){this.data=o,this.length=o.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(o){this.checkIndex(this.index+o)},checkIndex:function(o){if(this.length<this.zero+o||o<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+o+"). Corrupted zip ?")},setIndex:function(o){this.checkIndex(o),this.index=o},skip:function(o){this.setIndex(this.index+o)},byteAt:function(){},readInt:function(o){var s,a=0;for(this.checkOffset(o),s=this.index+o-1;s>=this.index;s--)a=(a<<8)+this.byteAt(s);return this.index+=o,a},readString:function(o){return n.transformTo("string",this.readData(o))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var o=this.readInt(4);return new Date(Date.UTC(1980+(o>>25&127),(o>>21&15)-1,o>>16&31,o>>11&31,o>>5&63,(31&o)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,r){"use strict";var n=e("./Uint8ArrayReader");function i(o){n.call(this,o)}e("../utils").inherits(i,n),i.prototype.readData=function(o){this.checkOffset(o);var s=this.data.slice(this.zero+this.index,this.zero+this.index+o);return this.index+=o,s},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){"use strict";var n=e("./DataReader");function i(o){n.call(this,o)}e("../utils").inherits(i,n),i.prototype.byteAt=function(o){return this.data.charCodeAt(this.zero+o)},i.prototype.lastIndexOfSignature=function(o){return this.data.lastIndexOf(o)-this.zero},i.prototype.readAndCheckSignature=function(o){return o===this.readData(4)},i.prototype.readData=function(o){this.checkOffset(o);var s=this.data.slice(this.zero+this.index,this.zero+this.index+o);return this.index+=o,s},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){"use strict";var n=e("./ArrayReader");function i(o){n.call(this,o)}e("../utils").inherits(i,n),i.prototype.readData=function(o){if(this.checkOffset(o),o===0)return new Uint8Array(0);var s=this.data.subarray(this.zero+this.index,this.zero+this.index+o);return this.index+=o,s},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../support"),o=e("./ArrayReader"),s=e("./StringReader"),a=e("./NodeBufferReader"),c=e("./Uint8ArrayReader");t.exports=function(l){var h=n.getTypeOf(l);return n.checkSupport(h),h!=="string"||i.uint8array?h==="nodebuffer"?new a(l):i.uint8array?new c(n.transformTo("uint8array",l)):new o(n.transformTo("array",l)):new s(l)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../utils");function o(s){n.call(this,"ConvertWorker to "+s),this.destType=s}i.inherits(o,n),o.prototype.processChunk=function(s){this.push({data:i.transformTo(this.destType,s.data),meta:s.meta})},t.exports=o},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../crc32");function o(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(o,n),o.prototype.processChunk=function(s){this.streamInfo.crc32=i(s.data,this.streamInfo.crc32||0),this.push(s)},t.exports=o},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function o(s){i.call(this,"DataLengthProbe for "+s),this.propName=s,this.withStreamInfo(s,0)}n.inherits(o,i),o.prototype.processChunk=function(s){if(s){var a=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=a+s.data.length}i.prototype.processChunk.call(this,s)},t.exports=o},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function o(s){i.call(this,"DataWorker");var a=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,s.then(function(c){a.dataIsReady=!0,a.data=c,a.max=c&&c.length||0,a.type=n.getTypeOf(c),a.isPaused||a._tickAndRepeat()},function(c){a.error(c)})}n.inherits(o,i),o.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},o.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},o.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},o.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var s=null,a=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":s=this.data.substring(this.index,a);break;case"uint8array":s=this.data.subarray(this.index,a);break;case"array":case"nodebuffer":s=this.data.slice(this.index,a)}return this.index=a,this.push({data:s,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=o},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){"use strict";function n(i){this.name=i||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(i){this.emit("data",i)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(i){this.emit("error",i)}return!0},error:function(i){return!this.isFinished&&(this.isPaused?this.generatedError=i:(this.isFinished=!0,this.emit("error",i),this.previous&&this.previous.error(i),this.cleanUp()),!0)},on:function(i,o){return this._listeners[i].push(o),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(i,o){if(this._listeners[i])for(var s=0;s<this._listeners[i].length;s++)this._listeners[i][s].call(this,o)},pipe:function(i){return i.registerPrevious(this)},registerPrevious:function(i){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=i.streamInfo,this.mergeStreamInfo(),this.previous=i;var o=this;return i.on("data",function(s){o.processChunk(s)}),i.on("end",function(){o.end()}),i.on("error",function(s){o.error(s)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var i=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),i=!0),this.previous&&this.previous.resume(),!i},flush:function(){},processChunk:function(i){this.push(i)},withStreamInfo:function(i,o){return this.extraStreamInfo[i]=o,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var i in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,i)&&(this.streamInfo[i]=this.extraStreamInfo[i])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var i="Worker "+this.name;return this.previous?this.previous+" -> "+i:i}},t.exports=n},{}],29:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./ConvertWorker"),o=e("./GenericWorker"),s=e("../base64"),a=e("../support"),c=e("../external"),l=null;if(a.nodestream)try{l=e("../nodejs/NodejsStreamOutputAdapter")}catch{}function h(g,p){return new c.Promise(function(m,u){var b=[],_=g._internalType,E=g._outputType,k=g._mimeType;g.on("data",function(P,x){b.push(P),p&&p(x)}).on("error",function(P){b=[],u(P)}).on("end",function(){try{var P=(function(x,A,R){switch(x){case"blob":return n.newBlob(n.transformTo("arraybuffer",A),R);case"base64":return s.encode(A);default:return n.transformTo(x,A)}})(E,(function(x,A){var R,N=0,J=null,S=0;for(R=0;R<A.length;R++)S+=A[R].length;switch(x){case"string":return A.join("");case"array":return Array.prototype.concat.apply([],A);case"uint8array":for(J=new Uint8Array(S),R=0;R<A.length;R++)J.set(A[R],N),N+=A[R].length;return J;case"nodebuffer":return Buffer.concat(A);default:throw new Error("concat : unsupported type '"+x+"'")}})(_,b),k);m(P)}catch(x){u(x)}b=[]}).resume()})}function d(g,p,m){var u=p;switch(p){case"blob":case"arraybuffer":u="uint8array";break;case"base64":u="string"}try{this._internalType=u,this._outputType=p,this._mimeType=m,n.checkSupport(u),this._worker=g.pipe(new i(u)),g.lock()}catch(b){this._worker=new o("error"),this._worker.error(b)}}d.prototype={accumulate:function(g){return h(this,g)},on:function(g,p){var m=this;return g==="data"?this._worker.on(g,function(u){p.call(m,u.data,u.meta)}):this._worker.on(g,function(){n.delay(p,arguments,m)}),this},resume:function(){return n.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(g){if(n.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new l(this,{objectMode:this._outputType!=="nodebuffer"},g)}},t.exports=d},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",r.nodebuffer=typeof Buffer<"u",r.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=new Blob([n],{type:"application/zip"}).size===0}catch{try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=i.getBlob("application/zip").size===0}catch{r.blob=!1}}}try{r.nodestream=!!e("readable-stream").Readable}catch{r.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,r){"use strict";for(var n=e("./utils"),i=e("./support"),o=e("./nodejsUtils"),s=e("./stream/GenericWorker"),a=new Array(256),c=0;c<256;c++)a[c]=252<=c?6:248<=c?5:240<=c?4:224<=c?3:192<=c?2:1;a[254]=a[254]=1;function l(){s.call(this,"utf-8 decode"),this.leftOver=null}function h(){s.call(this,"utf-8 encode")}r.utf8encode=function(d){return i.nodebuffer?o.newBufferFrom(d,"utf-8"):(function(g){var p,m,u,b,_,E=g.length,k=0;for(b=0;b<E;b++)(64512&(m=g.charCodeAt(b)))==55296&&b+1<E&&(64512&(u=g.charCodeAt(b+1)))==56320&&(m=65536+(m-55296<<10)+(u-56320),b++),k+=m<128?1:m<2048?2:m<65536?3:4;for(p=i.uint8array?new Uint8Array(k):new Array(k),b=_=0;_<k;b++)(64512&(m=g.charCodeAt(b)))==55296&&b+1<E&&(64512&(u=g.charCodeAt(b+1)))==56320&&(m=65536+(m-55296<<10)+(u-56320),b++),m<128?p[_++]=m:(m<2048?p[_++]=192|m>>>6:(m<65536?p[_++]=224|m>>>12:(p[_++]=240|m>>>18,p[_++]=128|m>>>12&63),p[_++]=128|m>>>6&63),p[_++]=128|63&m);return p})(d)},r.utf8decode=function(d){return i.nodebuffer?n.transformTo("nodebuffer",d).toString("utf-8"):(function(g){var p,m,u,b,_=g.length,E=new Array(2*_);for(p=m=0;p<_;)if((u=g[p++])<128)E[m++]=u;else if(4<(b=a[u]))E[m++]=65533,p+=b-1;else{for(u&=b===2?31:b===3?15:7;1<b&&p<_;)u=u<<6|63&g[p++],b--;1<b?E[m++]=65533:u<65536?E[m++]=u:(u-=65536,E[m++]=55296|u>>10&1023,E[m++]=56320|1023&u)}return E.length!==m&&(E.subarray?E=E.subarray(0,m):E.length=m),n.applyFromCharCode(E)})(d=n.transformTo(i.uint8array?"uint8array":"array",d))},n.inherits(l,s),l.prototype.processChunk=function(d){var g=n.transformTo(i.uint8array?"uint8array":"array",d.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var p=g;(g=new Uint8Array(p.length+this.leftOver.length)).set(this.leftOver,0),g.set(p,this.leftOver.length)}else g=this.leftOver.concat(g);this.leftOver=null}var m=(function(b,_){var E;for((_=_||b.length)>b.length&&(_=b.length),E=_-1;0<=E&&(192&b[E])==128;)E--;return E<0||E===0?_:E+a[b[E]]>_?E:_})(g),u=g;m!==g.length&&(i.uint8array?(u=g.subarray(0,m),this.leftOver=g.subarray(m,g.length)):(u=g.slice(0,m),this.leftOver=g.slice(m,g.length))),this.push({data:r.utf8decode(u),meta:d.meta})},l.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:r.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},r.Utf8DecodeWorker=l,n.inherits(h,s),h.prototype.processChunk=function(d){this.push({data:r.utf8encode(d.data),meta:d.meta})},r.Utf8EncodeWorker=h},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,r){"use strict";var n=e("./support"),i=e("./base64"),o=e("./nodejsUtils"),s=e("./external");function a(p){return p}function c(p,m){for(var u=0;u<p.length;++u)m[u]=255&p.charCodeAt(u);return m}e("setimmediate"),r.newBlob=function(p,m){r.checkSupport("blob");try{return new Blob([p],{type:m})}catch{try{var u=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return u.append(p),u.getBlob(m)}catch{throw new Error("Bug : can't construct the Blob.")}}};var l={stringifyByChunk:function(p,m,u){var b=[],_=0,E=p.length;if(E<=u)return String.fromCharCode.apply(null,p);for(;_<E;)m==="array"||m==="nodebuffer"?b.push(String.fromCharCode.apply(null,p.slice(_,Math.min(_+u,E)))):b.push(String.fromCharCode.apply(null,p.subarray(_,Math.min(_+u,E)))),_+=u;return b.join("")},stringifyByChar:function(p){for(var m="",u=0;u<p.length;u++)m+=String.fromCharCode(p[u]);return m},applyCanBeUsed:{uint8array:(function(){try{return n.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}})(),nodebuffer:(function(){try{return n.nodebuffer&&String.fromCharCode.apply(null,o.allocBuffer(1)).length===1}catch{return!1}})()}};function h(p){var m=65536,u=r.getTypeOf(p),b=!0;if(u==="uint8array"?b=l.applyCanBeUsed.uint8array:u==="nodebuffer"&&(b=l.applyCanBeUsed.nodebuffer),b)for(;1<m;)try{return l.stringifyByChunk(p,u,m)}catch{m=Math.floor(m/2)}return l.stringifyByChar(p)}function d(p,m){for(var u=0;u<p.length;u++)m[u]=p[u];return m}r.applyFromCharCode=h;var g={};g.string={string:a,array:function(p){return c(p,new Array(p.length))},arraybuffer:function(p){return g.string.uint8array(p).buffer},uint8array:function(p){return c(p,new Uint8Array(p.length))},nodebuffer:function(p){return c(p,o.allocBuffer(p.length))}},g.array={string:h,array:a,arraybuffer:function(p){return new Uint8Array(p).buffer},uint8array:function(p){return new Uint8Array(p)},nodebuffer:function(p){return o.newBufferFrom(p)}},g.arraybuffer={string:function(p){return h(new Uint8Array(p))},array:function(p){return d(new Uint8Array(p),new Array(p.byteLength))},arraybuffer:a,uint8array:function(p){return new Uint8Array(p)},nodebuffer:function(p){return o.newBufferFrom(new Uint8Array(p))}},g.uint8array={string:h,array:function(p){return d(p,new Array(p.length))},arraybuffer:function(p){return p.buffer},uint8array:a,nodebuffer:function(p){return o.newBufferFrom(p)}},g.nodebuffer={string:h,array:function(p){return d(p,new Array(p.length))},arraybuffer:function(p){return g.nodebuffer.uint8array(p).buffer},uint8array:function(p){return d(p,new Uint8Array(p.length))},nodebuffer:a},r.transformTo=function(p,m){if(m=m||"",!p)return m;r.checkSupport(p);var u=r.getTypeOf(m);return g[u][p](m)},r.resolve=function(p){for(var m=p.split("/"),u=[],b=0;b<m.length;b++){var _=m[b];_==="."||_===""&&b!==0&&b!==m.length-1||(_===".."?u.pop():u.push(_))}return u.join("/")},r.getTypeOf=function(p){return typeof p=="string"?"string":Object.prototype.toString.call(p)==="[object Array]"?"array":n.nodebuffer&&o.isBuffer(p)?"nodebuffer":n.uint8array&&p instanceof Uint8Array?"uint8array":n.arraybuffer&&p instanceof ArrayBuffer?"arraybuffer":void 0},r.checkSupport=function(p){if(!n[p.toLowerCase()])throw new Error(p+" is not supported by this platform")},r.MAX_VALUE_16BITS=65535,r.MAX_VALUE_32BITS=-1,r.pretty=function(p){var m,u,b="";for(u=0;u<(p||"").length;u++)b+="\\x"+((m=p.charCodeAt(u))<16?"0":"")+m.toString(16).toUpperCase();return b},r.delay=function(p,m,u){setImmediate(function(){p.apply(u||null,m||[])})},r.inherits=function(p,m){function u(){}u.prototype=m.prototype,p.prototype=new u},r.extend=function(){var p,m,u={};for(p=0;p<arguments.length;p++)for(m in arguments[p])Object.prototype.hasOwnProperty.call(arguments[p],m)&&u[m]===void 0&&(u[m]=arguments[p][m]);return u},r.prepareContent=function(p,m,u,b,_){return s.Promise.resolve(m).then(function(E){return n.blob&&(E instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(E))!==-1)&&typeof FileReader<"u"?new s.Promise(function(k,P){var x=new FileReader;x.onload=function(A){k(A.target.result)},x.onerror=function(A){P(A.target.error)},x.readAsArrayBuffer(E)}):E}).then(function(E){var k=r.getTypeOf(E);return k?(k==="arraybuffer"?E=r.transformTo("uint8array",E):k==="string"&&(_?E=i.decode(E):u&&b!==!0&&(E=(function(P){return c(P,n.uint8array?new Uint8Array(P.length):new Array(P.length))})(E))),E):s.Promise.reject(new Error("Can't read the data of '"+p+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),i=e("./utils"),o=e("./signature"),s=e("./zipEntry"),a=e("./support");function c(l){this.files=[],this.loadOptions=l}c.prototype={checkSignature:function(l){if(!this.reader.readAndCheckSignature(l)){this.reader.index-=4;var h=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(h)+", expected "+i.pretty(l)+")")}},isSignature:function(l,h){var d=this.reader.index;this.reader.setIndex(l);var g=this.reader.readString(4)===h;return this.reader.setIndex(d),g},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var l=this.reader.readData(this.zipCommentLength),h=a.uint8array?"uint8array":"array",d=i.transformTo(h,l);this.zipComment=this.loadOptions.decodeFileName(d)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var l,h,d,g=this.zip64EndOfCentralSize-44;0<g;)l=this.reader.readInt(2),h=this.reader.readInt(4),d=this.reader.readData(h),this.zip64ExtensibleData[l]={id:l,length:h,value:d}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var l,h;for(l=0;l<this.files.length;l++)h=this.files[l],this.reader.setIndex(h.localHeaderOffset),this.checkSignature(o.LOCAL_FILE_HEADER),h.readLocalPart(this.reader),h.handleUTF8(),h.processAttributes()},readCentralDir:function(){var l;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(o.CENTRAL_FILE_HEADER);)(l=new s({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(l);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var l=this.reader.lastIndexOfSignature(o.CENTRAL_DIRECTORY_END);if(l<0)throw this.isSignature(0,o.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(l);var h=l;if(this.checkSignature(o.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(l=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(l),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,o.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var d=this.centralDirOffset+this.centralDirSize;this.zip64&&(d+=20,d+=12+this.zip64EndOfCentralSize);var g=h-d;if(0<g)this.isSignature(h,o.CENTRAL_FILE_HEADER)||(this.reader.zero=g);else if(g<0)throw new Error("Corrupted zip: missing "+Math.abs(g)+" bytes.")},prepareReader:function(l){this.reader=n(l)},load:function(l){this.prepareReader(l),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=c},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),i=e("./utils"),o=e("./compressedObject"),s=e("./crc32"),a=e("./utf8"),c=e("./compressions"),l=e("./support");function h(d,g){this.options=d,this.loadOptions=g}h.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(d){var g,p;if(d.skip(22),this.fileNameLength=d.readInt(2),p=d.readInt(2),this.fileName=d.readData(this.fileNameLength),d.skip(p),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((g=(function(m){for(var u in c)if(Object.prototype.hasOwnProperty.call(c,u)&&c[u].magic===m)return c[u];return null})(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");this.decompressed=new o(this.compressedSize,this.uncompressedSize,this.crc32,g,d.readData(this.compressedSize))},readCentralPart:function(d){this.versionMadeBy=d.readInt(2),d.skip(2),this.bitFlag=d.readInt(2),this.compressionMethod=d.readString(2),this.date=d.readDate(),this.crc32=d.readInt(4),this.compressedSize=d.readInt(4),this.uncompressedSize=d.readInt(4);var g=d.readInt(2);if(this.extraFieldsLength=d.readInt(2),this.fileCommentLength=d.readInt(2),this.diskNumberStart=d.readInt(2),this.internalFileAttributes=d.readInt(2),this.externalFileAttributes=d.readInt(4),this.localHeaderOffset=d.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");d.skip(g),this.readExtraFields(d),this.parseZIP64ExtraField(d),this.fileComment=d.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var d=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),d==0&&(this.dosPermissions=63&this.externalFileAttributes),d==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var d=n(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=d.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=d.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=d.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=d.readInt(4))}},readExtraFields:function(d){var g,p,m,u=d.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});d.index+4<u;)g=d.readInt(2),p=d.readInt(2),m=d.readData(p),this.extraFields[g]={id:g,length:p,value:m};d.setIndex(u)},handleUTF8:function(){var d=l.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else{var g=this.findExtraFieldUnicodePath();if(g!==null)this.fileNameStr=g;else{var p=i.transformTo(d,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(p)}var m=this.findExtraFieldUnicodeComment();if(m!==null)this.fileCommentStr=m;else{var u=i.transformTo(d,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(u)}}},findExtraFieldUnicodePath:function(){var d=this.extraFields[28789];if(d){var g=n(d.value);return g.readInt(1)!==1||s(this.fileName)!==g.readInt(4)?null:a.utf8decode(g.readData(d.length-5))}return null},findExtraFieldUnicodeComment:function(){var d=this.extraFields[25461];if(d){var g=n(d.value);return g.readInt(1)!==1||s(this.fileComment)!==g.readInt(4)?null:a.utf8decode(g.readData(d.length-5))}return null}},t.exports=h},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){"use strict";function n(g,p,m){this.name=g,this.dir=m.dir,this.date=m.date,this.comment=m.comment,this.unixPermissions=m.unixPermissions,this.dosPermissions=m.dosPermissions,this._data=p,this._dataBinary=m.binary,this.options={compression:m.compression,compressionOptions:m.compressionOptions}}var i=e("./stream/StreamHelper"),o=e("./stream/DataWorker"),s=e("./utf8"),a=e("./compressedObject"),c=e("./stream/GenericWorker");n.prototype={internalStream:function(g){var p=null,m="string";try{if(!g)throw new Error("No output type specified.");var u=(m=g.toLowerCase())==="string"||m==="text";m!=="binarystring"&&m!=="text"||(m="string"),p=this._decompressWorker();var b=!this._dataBinary;b&&!u&&(p=p.pipe(new s.Utf8EncodeWorker)),!b&&u&&(p=p.pipe(new s.Utf8DecodeWorker))}catch(_){(p=new c("error")).error(_)}return new i(p,m,"")},async:function(g,p){return this.internalStream(g).accumulate(p)},nodeStream:function(g,p){return this.internalStream(g||"nodebuffer").toNodejsStream(p)},_compressWorker:function(g,p){if(this._data instanceof a&&this._data.compression.magic===g.magic)return this._data.getCompressedWorker();var m=this._decompressWorker();return this._dataBinary||(m=m.pipe(new s.Utf8EncodeWorker)),a.createWorkerFrom(m,g,p)},_decompressWorker:function(){return this._data instanceof a?this._data.getContentWorker():this._data instanceof c?this._data:new o(this._data)}};for(var l=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],h=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},d=0;d<l.length;d++)n.prototype[l[d]]=h;t.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,t,r){(function(n){"use strict";var i,o,s=n.MutationObserver||n.WebKitMutationObserver;if(s){var a=0,c=new s(g),l=n.document.createTextNode("");c.observe(l,{characterData:!0}),i=function(){l.data=a=++a%2}}else if(n.setImmediate||n.MessageChannel===void 0)i="document"in n&&"onreadystatechange"in n.document.createElement("script")?function(){var p=n.document.createElement("script");p.onreadystatechange=function(){g(),p.onreadystatechange=null,p.parentNode.removeChild(p),p=null},n.document.documentElement.appendChild(p)}:function(){setTimeout(g,0)};else{var h=new n.MessageChannel;h.port1.onmessage=g,i=function(){h.port2.postMessage(0)}}var d=[];function g(){var p,m;o=!0;for(var u=d.length;u;){for(m=d,d=[],p=-1;++p<u;)m[p]();u=d.length}o=!1}t.exports=function(p){d.push(p)!==1||o||i()}}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(e,t,r){"use strict";var n=e("immediate");function i(){}var o={},s=["REJECTED"],a=["FULFILLED"],c=["PENDING"];function l(u){if(typeof u!="function")throw new TypeError("resolver must be a function");this.state=c,this.queue=[],this.outcome=void 0,u!==i&&p(this,u)}function h(u,b,_){this.promise=u,typeof b=="function"&&(this.onFulfilled=b,this.callFulfilled=this.otherCallFulfilled),typeof _=="function"&&(this.onRejected=_,this.callRejected=this.otherCallRejected)}function d(u,b,_){n(function(){var E;try{E=b(_)}catch(k){return o.reject(u,k)}E===u?o.reject(u,new TypeError("Cannot resolve promise with itself")):o.resolve(u,E)})}function g(u){var b=u&&u.then;if(u&&(typeof u=="object"||typeof u=="function")&&typeof b=="function")return function(){b.apply(u,arguments)}}function p(u,b){var _=!1;function E(x){_||(_=!0,o.reject(u,x))}function k(x){_||(_=!0,o.resolve(u,x))}var P=m(function(){b(k,E)});P.status==="error"&&E(P.value)}function m(u,b){var _={};try{_.value=u(b),_.status="success"}catch(E){_.status="error",_.value=E}return _}(t.exports=l).prototype.finally=function(u){if(typeof u!="function")return this;var b=this.constructor;return this.then(function(_){return b.resolve(u()).then(function(){return _})},function(_){return b.resolve(u()).then(function(){throw _})})},l.prototype.catch=function(u){return this.then(null,u)},l.prototype.then=function(u,b){if(typeof u!="function"&&this.state===a||typeof b!="function"&&this.state===s)return this;var _=new this.constructor(i);return this.state!==c?d(_,this.state===a?u:b,this.outcome):this.queue.push(new h(_,u,b)),_},h.prototype.callFulfilled=function(u){o.resolve(this.promise,u)},h.prototype.otherCallFulfilled=function(u){d(this.promise,this.onFulfilled,u)},h.prototype.callRejected=function(u){o.reject(this.promise,u)},h.prototype.otherCallRejected=function(u){d(this.promise,this.onRejected,u)},o.resolve=function(u,b){var _=m(g,b);if(_.status==="error")return o.reject(u,_.value);var E=_.value;if(E)p(u,E);else{u.state=a,u.outcome=b;for(var k=-1,P=u.queue.length;++k<P;)u.queue[k].callFulfilled(b)}return u},o.reject=function(u,b){u.state=s,u.outcome=b;for(var _=-1,E=u.queue.length;++_<E;)u.queue[_].callRejected(b);return u},l.resolve=function(u){return u instanceof this?u:o.resolve(new this(i),u)},l.reject=function(u){var b=new this(i);return o.reject(b,u)},l.all=function(u){var b=this;if(Object.prototype.toString.call(u)!=="[object Array]")return this.reject(new TypeError("must be an array"));var _=u.length,E=!1;if(!_)return this.resolve([]);for(var k=new Array(_),P=0,x=-1,A=new this(i);++x<_;)R(u[x],x);return A;function R(N,J){b.resolve(N).then(function(S){k[J]=S,++P!==_||E||(E=!0,o.resolve(A,k))},function(S){E||(E=!0,o.reject(A,S))})}},l.race=function(u){var b=this;if(Object.prototype.toString.call(u)!=="[object Array]")return this.reject(new TypeError("must be an array"));var _=u.length,E=!1;if(!_)return this.resolve([]);for(var k=-1,P=new this(i);++k<_;)x=u[k],b.resolve(x).then(function(A){E||(E=!0,o.resolve(P,A))},function(A){E||(E=!0,o.reject(P,A))});var x;return P}},{immediate:36}],38:[function(e,t,r){"use strict";var n={};(0,e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){"use strict";var n=e("./zlib/deflate"),i=e("./utils/common"),o=e("./utils/strings"),s=e("./zlib/messages"),a=e("./zlib/zstream"),c=Object.prototype.toString,l=0,h=-1,d=0,g=8;function p(u){if(!(this instanceof p))return new p(u);this.options=i.assign({level:h,method:g,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:""},u||{});var b=this.options;b.raw&&0<b.windowBits?b.windowBits=-b.windowBits:b.gzip&&0<b.windowBits&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var _=n.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(_!==l)throw new Error(s[_]);if(b.header&&n.deflateSetHeader(this.strm,b.header),b.dictionary){var E;if(E=typeof b.dictionary=="string"?o.string2buf(b.dictionary):c.call(b.dictionary)==="[object ArrayBuffer]"?new Uint8Array(b.dictionary):b.dictionary,(_=n.deflateSetDictionary(this.strm,E))!==l)throw new Error(s[_]);this._dict_set=!0}}function m(u,b){var _=new p(b);if(_.push(u,!0),_.err)throw _.msg||s[_.err];return _.result}p.prototype.push=function(u,b){var _,E,k=this.strm,P=this.options.chunkSize;if(this.ended)return!1;E=b===~~b?b:b===!0?4:0,typeof u=="string"?k.input=o.string2buf(u):c.call(u)==="[object ArrayBuffer]"?k.input=new Uint8Array(u):k.input=u,k.next_in=0,k.avail_in=k.input.length;do{if(k.avail_out===0&&(k.output=new i.Buf8(P),k.next_out=0,k.avail_out=P),(_=n.deflate(k,E))!==1&&_!==l)return this.onEnd(_),!(this.ended=!0);k.avail_out!==0&&(k.avail_in!==0||E!==4&&E!==2)||(this.options.to==="string"?this.onData(o.buf2binstring(i.shrinkBuf(k.output,k.next_out))):this.onData(i.shrinkBuf(k.output,k.next_out)))}while((0<k.avail_in||k.avail_out===0)&&_!==1);return E===4?(_=n.deflateEnd(this.strm),this.onEnd(_),this.ended=!0,_===l):E!==2||(this.onEnd(l),!(k.avail_out=0))},p.prototype.onData=function(u){this.chunks.push(u)},p.prototype.onEnd=function(u){u===l&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=u,this.msg=this.strm.msg},r.Deflate=p,r.deflate=m,r.deflateRaw=function(u,b){return(b=b||{}).raw=!0,m(u,b)},r.gzip=function(u,b){return(b=b||{}).gzip=!0,m(u,b)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){"use strict";var n=e("./zlib/inflate"),i=e("./utils/common"),o=e("./utils/strings"),s=e("./zlib/constants"),a=e("./zlib/messages"),c=e("./zlib/zstream"),l=e("./zlib/gzheader"),h=Object.prototype.toString;function d(p){if(!(this instanceof d))return new d(p);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},p||{});var m=this.options;m.raw&&0<=m.windowBits&&m.windowBits<16&&(m.windowBits=-m.windowBits,m.windowBits===0&&(m.windowBits=-15)),!(0<=m.windowBits&&m.windowBits<16)||p&&p.windowBits||(m.windowBits+=32),15<m.windowBits&&m.windowBits<48&&(15&m.windowBits)==0&&(m.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new c,this.strm.avail_out=0;var u=n.inflateInit2(this.strm,m.windowBits);if(u!==s.Z_OK)throw new Error(a[u]);this.header=new l,n.inflateGetHeader(this.strm,this.header)}function g(p,m){var u=new d(m);if(u.push(p,!0),u.err)throw u.msg||a[u.err];return u.result}d.prototype.push=function(p,m){var u,b,_,E,k,P,x=this.strm,A=this.options.chunkSize,R=this.options.dictionary,N=!1;if(this.ended)return!1;b=m===~~m?m:m===!0?s.Z_FINISH:s.Z_NO_FLUSH,typeof p=="string"?x.input=o.binstring2buf(p):h.call(p)==="[object ArrayBuffer]"?x.input=new Uint8Array(p):x.input=p,x.next_in=0,x.avail_in=x.input.length;do{if(x.avail_out===0&&(x.output=new i.Buf8(A),x.next_out=0,x.avail_out=A),(u=n.inflate(x,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&R&&(P=typeof R=="string"?o.string2buf(R):h.call(R)==="[object ArrayBuffer]"?new Uint8Array(R):R,u=n.inflateSetDictionary(this.strm,P)),u===s.Z_BUF_ERROR&&N===!0&&(u=s.Z_OK,N=!1),u!==s.Z_STREAM_END&&u!==s.Z_OK)return this.onEnd(u),!(this.ended=!0);x.next_out&&(x.avail_out!==0&&u!==s.Z_STREAM_END&&(x.avail_in!==0||b!==s.Z_FINISH&&b!==s.Z_SYNC_FLUSH)||(this.options.to==="string"?(_=o.utf8border(x.output,x.next_out),E=x.next_out-_,k=o.buf2string(x.output,_),x.next_out=E,x.avail_out=A-E,E&&i.arraySet(x.output,x.output,_,E,0),this.onData(k)):this.onData(i.shrinkBuf(x.output,x.next_out)))),x.avail_in===0&&x.avail_out===0&&(N=!0)}while((0<x.avail_in||x.avail_out===0)&&u!==s.Z_STREAM_END);return u===s.Z_STREAM_END&&(b=s.Z_FINISH),b===s.Z_FINISH?(u=n.inflateEnd(this.strm),this.onEnd(u),this.ended=!0,u===s.Z_OK):b!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),!(x.avail_out=0))},d.prototype.onData=function(p){this.chunks.push(p)},d.prototype.onEnd=function(p){p===s.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=p,this.msg=this.strm.msg},r.Inflate=d,r.inflate=g,r.inflateRaw=function(p,m){return(m=m||{}).raw=!0,g(p,m)},r.ungzip=g},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){"use strict";var n=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";r.assign=function(s){for(var a=Array.prototype.slice.call(arguments,1);a.length;){var c=a.shift();if(c){if(typeof c!="object")throw new TypeError(c+"must be non-object");for(var l in c)c.hasOwnProperty(l)&&(s[l]=c[l])}}return s},r.shrinkBuf=function(s,a){return s.length===a?s:s.subarray?s.subarray(0,a):(s.length=a,s)};var i={arraySet:function(s,a,c,l,h){if(a.subarray&&s.subarray)s.set(a.subarray(c,c+l),h);else for(var d=0;d<l;d++)s[h+d]=a[c+d]},flattenChunks:function(s){var a,c,l,h,d,g;for(a=l=0,c=s.length;a<c;a++)l+=s[a].length;for(g=new Uint8Array(l),a=h=0,c=s.length;a<c;a++)d=s[a],g.set(d,h),h+=d.length;return g}},o={arraySet:function(s,a,c,l,h){for(var d=0;d<l;d++)s[h+d]=a[c+d]},flattenChunks:function(s){return[].concat.apply([],s)}};r.setTyped=function(s){s?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,o))},r.setTyped(n)},{}],42:[function(e,t,r){"use strict";var n=e("./common"),i=!0,o=!0;try{String.fromCharCode.apply(null,[0])}catch{i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{o=!1}for(var s=new n.Buf8(256),a=0;a<256;a++)s[a]=252<=a?6:248<=a?5:240<=a?4:224<=a?3:192<=a?2:1;function c(l,h){if(h<65537&&(l.subarray&&o||!l.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(l,h));for(var d="",g=0;g<h;g++)d+=String.fromCharCode(l[g]);return d}s[254]=s[254]=1,r.string2buf=function(l){var h,d,g,p,m,u=l.length,b=0;for(p=0;p<u;p++)(64512&(d=l.charCodeAt(p)))==55296&&p+1<u&&(64512&(g=l.charCodeAt(p+1)))==56320&&(d=65536+(d-55296<<10)+(g-56320),p++),b+=d<128?1:d<2048?2:d<65536?3:4;for(h=new n.Buf8(b),p=m=0;m<b;p++)(64512&(d=l.charCodeAt(p)))==55296&&p+1<u&&(64512&(g=l.charCodeAt(p+1)))==56320&&(d=65536+(d-55296<<10)+(g-56320),p++),d<128?h[m++]=d:(d<2048?h[m++]=192|d>>>6:(d<65536?h[m++]=224|d>>>12:(h[m++]=240|d>>>18,h[m++]=128|d>>>12&63),h[m++]=128|d>>>6&63),h[m++]=128|63&d);return h},r.buf2binstring=function(l){return c(l,l.length)},r.binstring2buf=function(l){for(var h=new n.Buf8(l.length),d=0,g=h.length;d<g;d++)h[d]=l.charCodeAt(d);return h},r.buf2string=function(l,h){var d,g,p,m,u=h||l.length,b=new Array(2*u);for(d=g=0;d<u;)if((p=l[d++])<128)b[g++]=p;else if(4<(m=s[p]))b[g++]=65533,d+=m-1;else{for(p&=m===2?31:m===3?15:7;1<m&&d<u;)p=p<<6|63&l[d++],m--;1<m?b[g++]=65533:p<65536?b[g++]=p:(p-=65536,b[g++]=55296|p>>10&1023,b[g++]=56320|1023&p)}return c(b,g)},r.utf8border=function(l,h){var d;for((h=h||l.length)>l.length&&(h=l.length),d=h-1;0<=d&&(192&l[d])==128;)d--;return d<0||d===0?h:d+s[l[d]]>h?d:h}},{"./common":41}],43:[function(e,t,r){"use strict";t.exports=function(n,i,o,s){for(var a=65535&n|0,c=n>>>16&65535|0,l=0;o!==0;){for(o-=l=2e3<o?2e3:o;c=c+(a=a+i[s++]|0)|0,--l;);a%=65521,c%=65521}return a|c<<16|0}},{}],44:[function(e,t,r){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){"use strict";var n=(function(){for(var i,o=[],s=0;s<256;s++){i=s;for(var a=0;a<8;a++)i=1&i?3988292384^i>>>1:i>>>1;o[s]=i}return o})();t.exports=function(i,o,s,a){var c=n,l=a+s;i^=-1;for(var h=a;h<l;h++)i=i>>>8^c[255&(i^o[h])];return-1^i}},{}],46:[function(e,t,r){"use strict";var n,i=e("../utils/common"),o=e("./trees"),s=e("./adler32"),a=e("./crc32"),c=e("./messages"),l=0,h=4,d=0,g=-2,p=-1,m=4,u=2,b=8,_=9,E=286,k=30,P=19,x=2*E+1,A=15,R=3,N=258,J=N+R+1,S=42,O=113,y=1,M=2,ae=3,V=4;function ce(f,L){return f.msg=c[L],L}function H(f){return(f<<1)-(4<f?9:0)}function oe(f){for(var L=f.length;0<=--L;)f[L]=0}function B(f){var L=f.state,U=L.pending;U>f.avail_out&&(U=f.avail_out),U!==0&&(i.arraySet(f.output,L.pending_buf,L.pending_out,U,f.next_out),f.next_out+=U,L.pending_out+=U,f.total_out+=U,f.avail_out-=U,L.pending-=U,L.pending===0&&(L.pending_out=0))}function D(f,L){o._tr_flush_block(f,0<=f.block_start?f.block_start:-1,f.strstart-f.block_start,L),f.block_start=f.strstart,B(f.strm)}function te(f,L){f.pending_buf[f.pending++]=L}function q(f,L){f.pending_buf[f.pending++]=L>>>8&255,f.pending_buf[f.pending++]=255&L}function G(f,L){var U,w,v=f.max_chain_length,C=f.strstart,z=f.prev_length,j=f.nice_match,T=f.strstart>f.w_size-J?f.strstart-(f.w_size-J):0,$=f.window,K=f.w_mask,W=f.prev,re=f.strstart+N,ke=$[C+z-1],pe=$[C+z];f.prev_length>=f.good_match&&(v>>=2),j>f.lookahead&&(j=f.lookahead);do if($[(U=L)+z]===pe&&$[U+z-1]===ke&&$[U]===$[C]&&$[++U]===$[C+1]){C+=2,U++;do;while($[++C]===$[++U]&&$[++C]===$[++U]&&$[++C]===$[++U]&&$[++C]===$[++U]&&$[++C]===$[++U]&&$[++C]===$[++U]&&$[++C]===$[++U]&&$[++C]===$[++U]&&C<re);if(w=N-(re-C),C=re-N,z<w){if(f.match_start=L,j<=(z=w))break;ke=$[C+z-1],pe=$[C+z]}}while((L=W[L&K])>T&&--v!=0);return z<=f.lookahead?z:f.lookahead}function Ce(f){var L,U,w,v,C,z,j,T,$,K,W=f.w_size;do{if(v=f.window_size-f.lookahead-f.strstart,f.strstart>=W+(W-J)){for(i.arraySet(f.window,f.window,W,W,0),f.match_start-=W,f.strstart-=W,f.block_start-=W,L=U=f.hash_size;w=f.head[--L],f.head[L]=W<=w?w-W:0,--U;);for(L=U=W;w=f.prev[--L],f.prev[L]=W<=w?w-W:0,--U;);v+=W}if(f.strm.avail_in===0)break;if(z=f.strm,j=f.window,T=f.strstart+f.lookahead,$=v,K=void 0,K=z.avail_in,$<K&&(K=$),U=K===0?0:(z.avail_in-=K,i.arraySet(j,z.input,z.next_in,K,T),z.state.wrap===1?z.adler=s(z.adler,j,K,T):z.state.wrap===2&&(z.adler=a(z.adler,j,K,T)),z.next_in+=K,z.total_in+=K,K),f.lookahead+=U,f.lookahead+f.insert>=R)for(C=f.strstart-f.insert,f.ins_h=f.window[C],f.ins_h=(f.ins_h<<f.hash_shift^f.window[C+1])&f.hash_mask;f.insert&&(f.ins_h=(f.ins_h<<f.hash_shift^f.window[C+R-1])&f.hash_mask,f.prev[C&f.w_mask]=f.head[f.ins_h],f.head[f.ins_h]=C,C++,f.insert--,!(f.lookahead+f.insert<R)););}while(f.lookahead<J&&f.strm.avail_in!==0)}function Ke(f,L){for(var U,w;;){if(f.lookahead<J){if(Ce(f),f.lookahead<J&&L===l)return y;if(f.lookahead===0)break}if(U=0,f.lookahead>=R&&(f.ins_h=(f.ins_h<<f.hash_shift^f.window[f.strstart+R-1])&f.hash_mask,U=f.prev[f.strstart&f.w_mask]=f.head[f.ins_h],f.head[f.ins_h]=f.strstart),U!==0&&f.strstart-U<=f.w_size-J&&(f.match_length=G(f,U)),f.match_length>=R)if(w=o._tr_tally(f,f.strstart-f.match_start,f.match_length-R),f.lookahead-=f.match_length,f.match_length<=f.max_lazy_match&&f.lookahead>=R){for(f.match_length--;f.strstart++,f.ins_h=(f.ins_h<<f.hash_shift^f.window[f.strstart+R-1])&f.hash_mask,U=f.prev[f.strstart&f.w_mask]=f.head[f.ins_h],f.head[f.ins_h]=f.strstart,--f.match_length!=0;);f.strstart++}else f.strstart+=f.match_length,f.match_length=0,f.ins_h=f.window[f.strstart],f.ins_h=(f.ins_h<<f.hash_shift^f.window[f.strstart+1])&f.hash_mask;else w=o._tr_tally(f,0,f.window[f.strstart]),f.lookahead--,f.strstart++;if(w&&(D(f,!1),f.strm.avail_out===0))return y}return f.insert=f.strstart<R-1?f.strstart:R-1,L===h?(D(f,!0),f.strm.avail_out===0?ae:V):f.last_lit&&(D(f,!1),f.strm.avail_out===0)?y:M}function ue(f,L){for(var U,w,v;;){if(f.lookahead<J){if(Ce(f),f.lookahead<J&&L===l)return y;if(f.lookahead===0)break}if(U=0,f.lookahead>=R&&(f.ins_h=(f.ins_h<<f.hash_shift^f.window[f.strstart+R-1])&f.hash_mask,U=f.prev[f.strstart&f.w_mask]=f.head[f.ins_h],f.head[f.ins_h]=f.strstart),f.prev_length=f.match_length,f.prev_match=f.match_start,f.match_length=R-1,U!==0&&f.prev_length<f.max_lazy_match&&f.strstart-U<=f.w_size-J&&(f.match_length=G(f,U),f.match_length<=5&&(f.strategy===1||f.match_length===R&&4096<f.strstart-f.match_start)&&(f.match_length=R-1)),f.prev_length>=R&&f.match_length<=f.prev_length){for(v=f.strstart+f.lookahead-R,w=o._tr_tally(f,f.strstart-1-f.prev_match,f.prev_length-R),f.lookahead-=f.prev_length-1,f.prev_length-=2;++f.strstart<=v&&(f.ins_h=(f.ins_h<<f.hash_shift^f.window[f.strstart+R-1])&f.hash_mask,U=f.prev[f.strstart&f.w_mask]=f.head[f.ins_h],f.head[f.ins_h]=f.strstart),--f.prev_length!=0;);if(f.match_available=0,f.match_length=R-1,f.strstart++,w&&(D(f,!1),f.strm.avail_out===0))return y}else if(f.match_available){if((w=o._tr_tally(f,0,f.window[f.strstart-1]))&&D(f,!1),f.strstart++,f.lookahead--,f.strm.avail_out===0)return y}else f.match_available=1,f.strstart++,f.lookahead--}return f.match_available&&(w=o._tr_tally(f,0,f.window[f.strstart-1]),f.match_available=0),f.insert=f.strstart<R-1?f.strstart:R-1,L===h?(D(f,!0),f.strm.avail_out===0?ae:V):f.last_lit&&(D(f,!1),f.strm.avail_out===0)?y:M}function ge(f,L,U,w,v){this.good_length=f,this.max_lazy=L,this.nice_length=U,this.max_chain=w,this.func=v}function Xe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=b,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*x),this.dyn_dtree=new i.Buf16(2*(2*k+1)),this.bl_tree=new i.Buf16(2*(2*P+1)),oe(this.dyn_ltree),oe(this.dyn_dtree),oe(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(A+1),this.heap=new i.Buf16(2*E+1),oe(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(2*E+1),oe(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ve(f){var L;return f&&f.state?(f.total_in=f.total_out=0,f.data_type=u,(L=f.state).pending=0,L.pending_out=0,L.wrap<0&&(L.wrap=-L.wrap),L.status=L.wrap?S:O,f.adler=L.wrap===2?0:1,L.last_flush=l,o._tr_init(L),d):ce(f,g)}function it(f){var L=ve(f);return L===d&&(function(U){U.window_size=2*U.w_size,oe(U.head),U.max_lazy_match=n[U.level].max_lazy,U.good_match=n[U.level].good_length,U.nice_match=n[U.level].nice_length,U.max_chain_length=n[U.level].max_chain,U.strstart=0,U.block_start=0,U.lookahead=0,U.insert=0,U.match_length=U.prev_length=R-1,U.match_available=0,U.ins_h=0})(f.state),L}function ut(f,L,U,w,v,C){if(!f)return g;var z=1;if(L===p&&(L=6),w<0?(z=0,w=-w):15<w&&(z=2,w-=16),v<1||_<v||U!==b||w<8||15<w||L<0||9<L||C<0||m<C)return ce(f,g);w===8&&(w=9);var j=new Xe;return(f.state=j).strm=f,j.wrap=z,j.gzhead=null,j.w_bits=w,j.w_size=1<<j.w_bits,j.w_mask=j.w_size-1,j.hash_bits=v+7,j.hash_size=1<<j.hash_bits,j.hash_mask=j.hash_size-1,j.hash_shift=~~((j.hash_bits+R-1)/R),j.window=new i.Buf8(2*j.w_size),j.head=new i.Buf16(j.hash_size),j.prev=new i.Buf16(j.w_size),j.lit_bufsize=1<<v+6,j.pending_buf_size=4*j.lit_bufsize,j.pending_buf=new i.Buf8(j.pending_buf_size),j.d_buf=1*j.lit_bufsize,j.l_buf=3*j.lit_bufsize,j.level=L,j.strategy=C,j.method=U,it(f)}n=[new ge(0,0,0,0,function(f,L){var U=65535;for(U>f.pending_buf_size-5&&(U=f.pending_buf_size-5);;){if(f.lookahead<=1){if(Ce(f),f.lookahead===0&&L===l)return y;if(f.lookahead===0)break}f.strstart+=f.lookahead,f.lookahead=0;var w=f.block_start+U;if((f.strstart===0||f.strstart>=w)&&(f.lookahead=f.strstart-w,f.strstart=w,D(f,!1),f.strm.avail_out===0)||f.strstart-f.block_start>=f.w_size-J&&(D(f,!1),f.strm.avail_out===0))return y}return f.insert=0,L===h?(D(f,!0),f.strm.avail_out===0?ae:V):(f.strstart>f.block_start&&(D(f,!1),f.strm.avail_out),y)}),new ge(4,4,8,4,Ke),new ge(4,5,16,8,Ke),new ge(4,6,32,32,Ke),new ge(4,4,16,16,ue),new ge(8,16,32,32,ue),new ge(8,16,128,128,ue),new ge(8,32,128,256,ue),new ge(32,128,258,1024,ue),new ge(32,258,258,4096,ue)],r.deflateInit=function(f,L){return ut(f,L,b,15,8,0)},r.deflateInit2=ut,r.deflateReset=it,r.deflateResetKeep=ve,r.deflateSetHeader=function(f,L){return f&&f.state?f.state.wrap!==2?g:(f.state.gzhead=L,d):g},r.deflate=function(f,L){var U,w,v,C;if(!f||!f.state||5<L||L<0)return f?ce(f,g):g;if(w=f.state,!f.output||!f.input&&f.avail_in!==0||w.status===666&&L!==h)return ce(f,f.avail_out===0?-5:g);if(w.strm=f,U=w.last_flush,w.last_flush=L,w.status===S)if(w.wrap===2)f.adler=0,te(w,31),te(w,139),te(w,8),w.gzhead?(te(w,(w.gzhead.text?1:0)+(w.gzhead.hcrc?2:0)+(w.gzhead.extra?4:0)+(w.gzhead.name?8:0)+(w.gzhead.comment?16:0)),te(w,255&w.gzhead.time),te(w,w.gzhead.time>>8&255),te(w,w.gzhead.time>>16&255),te(w,w.gzhead.time>>24&255),te(w,w.level===9?2:2<=w.strategy||w.level<2?4:0),te(w,255&w.gzhead.os),w.gzhead.extra&&w.gzhead.extra.length&&(te(w,255&w.gzhead.extra.length),te(w,w.gzhead.extra.length>>8&255)),w.gzhead.hcrc&&(f.adler=a(f.adler,w.pending_buf,w.pending,0)),w.gzindex=0,w.status=69):(te(w,0),te(w,0),te(w,0),te(w,0),te(w,0),te(w,w.level===9?2:2<=w.strategy||w.level<2?4:0),te(w,3),w.status=O);else{var z=b+(w.w_bits-8<<4)<<8;z|=(2<=w.strategy||w.level<2?0:w.level<6?1:w.level===6?2:3)<<6,w.strstart!==0&&(z|=32),z+=31-z%31,w.status=O,q(w,z),w.strstart!==0&&(q(w,f.adler>>>16),q(w,65535&f.adler)),f.adler=1}if(w.status===69)if(w.gzhead.extra){for(v=w.pending;w.gzindex<(65535&w.gzhead.extra.length)&&(w.pending!==w.pending_buf_size||(w.gzhead.hcrc&&w.pending>v&&(f.adler=a(f.adler,w.pending_buf,w.pending-v,v)),B(f),v=w.pending,w.pending!==w.pending_buf_size));)te(w,255&w.gzhead.extra[w.gzindex]),w.gzindex++;w.gzhead.hcrc&&w.pending>v&&(f.adler=a(f.adler,w.pending_buf,w.pending-v,v)),w.gzindex===w.gzhead.extra.length&&(w.gzindex=0,w.status=73)}else w.status=73;if(w.status===73)if(w.gzhead.name){v=w.pending;do{if(w.pending===w.pending_buf_size&&(w.gzhead.hcrc&&w.pending>v&&(f.adler=a(f.adler,w.pending_buf,w.pending-v,v)),B(f),v=w.pending,w.pending===w.pending_buf_size)){C=1;break}C=w.gzindex<w.gzhead.name.length?255&w.gzhead.name.charCodeAt(w.gzindex++):0,te(w,C)}while(C!==0);w.gzhead.hcrc&&w.pending>v&&(f.adler=a(f.adler,w.pending_buf,w.pending-v,v)),C===0&&(w.gzindex=0,w.status=91)}else w.status=91;if(w.status===91)if(w.gzhead.comment){v=w.pending;do{if(w.pending===w.pending_buf_size&&(w.gzhead.hcrc&&w.pending>v&&(f.adler=a(f.adler,w.pending_buf,w.pending-v,v)),B(f),v=w.pending,w.pending===w.pending_buf_size)){C=1;break}C=w.gzindex<w.gzhead.comment.length?255&w.gzhead.comment.charCodeAt(w.gzindex++):0,te(w,C)}while(C!==0);w.gzhead.hcrc&&w.pending>v&&(f.adler=a(f.adler,w.pending_buf,w.pending-v,v)),C===0&&(w.status=103)}else w.status=103;if(w.status===103&&(w.gzhead.hcrc?(w.pending+2>w.pending_buf_size&&B(f),w.pending+2<=w.pending_buf_size&&(te(w,255&f.adler),te(w,f.adler>>8&255),f.adler=0,w.status=O)):w.status=O),w.pending!==0){if(B(f),f.avail_out===0)return w.last_flush=-1,d}else if(f.avail_in===0&&H(L)<=H(U)&&L!==h)return ce(f,-5);if(w.status===666&&f.avail_in!==0)return ce(f,-5);if(f.avail_in!==0||w.lookahead!==0||L!==l&&w.status!==666){var j=w.strategy===2?(function(T,$){for(var K;;){if(T.lookahead===0&&(Ce(T),T.lookahead===0)){if($===l)return y;break}if(T.match_length=0,K=o._tr_tally(T,0,T.window[T.strstart]),T.lookahead--,T.strstart++,K&&(D(T,!1),T.strm.avail_out===0))return y}return T.insert=0,$===h?(D(T,!0),T.strm.avail_out===0?ae:V):T.last_lit&&(D(T,!1),T.strm.avail_out===0)?y:M})(w,L):w.strategy===3?(function(T,$){for(var K,W,re,ke,pe=T.window;;){if(T.lookahead<=N){if(Ce(T),T.lookahead<=N&&$===l)return y;if(T.lookahead===0)break}if(T.match_length=0,T.lookahead>=R&&0<T.strstart&&(W=pe[re=T.strstart-1])===pe[++re]&&W===pe[++re]&&W===pe[++re]){ke=T.strstart+N;do;while(W===pe[++re]&&W===pe[++re]&&W===pe[++re]&&W===pe[++re]&&W===pe[++re]&&W===pe[++re]&&W===pe[++re]&&W===pe[++re]&&re<ke);T.match_length=N-(ke-re),T.match_length>T.lookahead&&(T.match_length=T.lookahead)}if(T.match_length>=R?(K=o._tr_tally(T,1,T.match_length-R),T.lookahead-=T.match_length,T.strstart+=T.match_length,T.match_length=0):(K=o._tr_tally(T,0,T.window[T.strstart]),T.lookahead--,T.strstart++),K&&(D(T,!1),T.strm.avail_out===0))return y}return T.insert=0,$===h?(D(T,!0),T.strm.avail_out===0?ae:V):T.last_lit&&(D(T,!1),T.strm.avail_out===0)?y:M})(w,L):n[w.level].func(w,L);if(j!==ae&&j!==V||(w.status=666),j===y||j===ae)return f.avail_out===0&&(w.last_flush=-1),d;if(j===M&&(L===1?o._tr_align(w):L!==5&&(o._tr_stored_block(w,0,0,!1),L===3&&(oe(w.head),w.lookahead===0&&(w.strstart=0,w.block_start=0,w.insert=0))),B(f),f.avail_out===0))return w.last_flush=-1,d}return L!==h?d:w.wrap<=0?1:(w.wrap===2?(te(w,255&f.adler),te(w,f.adler>>8&255),te(w,f.adler>>16&255),te(w,f.adler>>24&255),te(w,255&f.total_in),te(w,f.total_in>>8&255),te(w,f.total_in>>16&255),te(w,f.total_in>>24&255)):(q(w,f.adler>>>16),q(w,65535&f.adler)),B(f),0<w.wrap&&(w.wrap=-w.wrap),w.pending!==0?d:1)},r.deflateEnd=function(f){var L;return f&&f.state?(L=f.state.status)!==S&&L!==69&&L!==73&&L!==91&&L!==103&&L!==O&&L!==666?ce(f,g):(f.state=null,L===O?ce(f,-3):d):g},r.deflateSetDictionary=function(f,L){var U,w,v,C,z,j,T,$,K=L.length;if(!f||!f.state||(C=(U=f.state).wrap)===2||C===1&&U.status!==S||U.lookahead)return g;for(C===1&&(f.adler=s(f.adler,L,K,0)),U.wrap=0,K>=U.w_size&&(C===0&&(oe(U.head),U.strstart=0,U.block_start=0,U.insert=0),$=new i.Buf8(U.w_size),i.arraySet($,L,K-U.w_size,U.w_size,0),L=$,K=U.w_size),z=f.avail_in,j=f.next_in,T=f.input,f.avail_in=K,f.next_in=0,f.input=L,Ce(U);U.lookahead>=R;){for(w=U.strstart,v=U.lookahead-(R-1);U.ins_h=(U.ins_h<<U.hash_shift^U.window[w+R-1])&U.hash_mask,U.prev[w&U.w_mask]=U.head[U.ins_h],U.head[U.ins_h]=w,w++,--v;);U.strstart=w,U.lookahead=R-1,Ce(U)}return U.strstart+=U.lookahead,U.block_start=U.strstart,U.insert=U.lookahead,U.lookahead=0,U.match_length=U.prev_length=R-1,U.match_available=0,f.next_in=j,f.input=T,f.avail_in=z,U.wrap=C,d},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){"use strict";t.exports=function(n,i){var o,s,a,c,l,h,d,g,p,m,u,b,_,E,k,P,x,A,R,N,J,S,O,y,M;o=n.state,s=n.next_in,y=n.input,a=s+(n.avail_in-5),c=n.next_out,M=n.output,l=c-(i-n.avail_out),h=c+(n.avail_out-257),d=o.dmax,g=o.wsize,p=o.whave,m=o.wnext,u=o.window,b=o.hold,_=o.bits,E=o.lencode,k=o.distcode,P=(1<<o.lenbits)-1,x=(1<<o.distbits)-1;e:do{_<15&&(b+=y[s++]<<_,_+=8,b+=y[s++]<<_,_+=8),A=E[b&P];t:for(;;){if(b>>>=R=A>>>24,_-=R,(R=A>>>16&255)===0)M[c++]=65535&A;else{if(!(16&R)){if((64&R)==0){A=E[(65535&A)+(b&(1<<R)-1)];continue t}if(32&R){o.mode=12;break e}n.msg="invalid literal/length code",o.mode=30;break e}N=65535&A,(R&=15)&&(_<R&&(b+=y[s++]<<_,_+=8),N+=b&(1<<R)-1,b>>>=R,_-=R),_<15&&(b+=y[s++]<<_,_+=8,b+=y[s++]<<_,_+=8),A=k[b&x];r:for(;;){if(b>>>=R=A>>>24,_-=R,!(16&(R=A>>>16&255))){if((64&R)==0){A=k[(65535&A)+(b&(1<<R)-1)];continue r}n.msg="invalid distance code",o.mode=30;break e}if(J=65535&A,_<(R&=15)&&(b+=y[s++]<<_,(_+=8)<R&&(b+=y[s++]<<_,_+=8)),d<(J+=b&(1<<R)-1)){n.msg="invalid distance too far back",o.mode=30;break e}if(b>>>=R,_-=R,(R=c-l)<J){if(p<(R=J-R)&&o.sane){n.msg="invalid distance too far back",o.mode=30;break e}if(O=u,(S=0)===m){if(S+=g-R,R<N){for(N-=R;M[c++]=u[S++],--R;);S=c-J,O=M}}else if(m<R){if(S+=g+m-R,(R-=m)<N){for(N-=R;M[c++]=u[S++],--R;);if(S=0,m<N){for(N-=R=m;M[c++]=u[S++],--R;);S=c-J,O=M}}}else if(S+=m-R,R<N){for(N-=R;M[c++]=u[S++],--R;);S=c-J,O=M}for(;2<N;)M[c++]=O[S++],M[c++]=O[S++],M[c++]=O[S++],N-=3;N&&(M[c++]=O[S++],1<N&&(M[c++]=O[S++]))}else{for(S=c-J;M[c++]=M[S++],M[c++]=M[S++],M[c++]=M[S++],2<(N-=3););N&&(M[c++]=M[S++],1<N&&(M[c++]=M[S++]))}break}}break}}while(s<a&&c<h);s-=N=_>>3,b&=(1<<(_-=N<<3))-1,n.next_in=s,n.next_out=c,n.avail_in=s<a?a-s+5:5-(s-a),n.avail_out=c<h?h-c+257:257-(c-h),o.hold=b,o.bits=_}},{}],49:[function(e,t,r){"use strict";var n=e("../utils/common"),i=e("./adler32"),o=e("./crc32"),s=e("./inffast"),a=e("./inftrees"),c=1,l=2,h=0,d=-2,g=1,p=852,m=592;function u(S){return(S>>>24&255)+(S>>>8&65280)+((65280&S)<<8)+((255&S)<<24)}function b(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function _(S){var O;return S&&S.state?(O=S.state,S.total_in=S.total_out=O.total=0,S.msg="",O.wrap&&(S.adler=1&O.wrap),O.mode=g,O.last=0,O.havedict=0,O.dmax=32768,O.head=null,O.hold=0,O.bits=0,O.lencode=O.lendyn=new n.Buf32(p),O.distcode=O.distdyn=new n.Buf32(m),O.sane=1,O.back=-1,h):d}function E(S){var O;return S&&S.state?((O=S.state).wsize=0,O.whave=0,O.wnext=0,_(S)):d}function k(S,O){var y,M;return S&&S.state?(M=S.state,O<0?(y=0,O=-O):(y=1+(O>>4),O<48&&(O&=15)),O&&(O<8||15<O)?d:(M.window!==null&&M.wbits!==O&&(M.window=null),M.wrap=y,M.wbits=O,E(S))):d}function P(S,O){var y,M;return S?(M=new b,(S.state=M).window=null,(y=k(S,O))!==h&&(S.state=null),y):d}var x,A,R=!0;function N(S){if(R){var O;for(x=new n.Buf32(512),A=new n.Buf32(32),O=0;O<144;)S.lens[O++]=8;for(;O<256;)S.lens[O++]=9;for(;O<280;)S.lens[O++]=7;for(;O<288;)S.lens[O++]=8;for(a(c,S.lens,0,288,x,0,S.work,{bits:9}),O=0;O<32;)S.lens[O++]=5;a(l,S.lens,0,32,A,0,S.work,{bits:5}),R=!1}S.lencode=x,S.lenbits=9,S.distcode=A,S.distbits=5}function J(S,O,y,M){var ae,V=S.state;return V.window===null&&(V.wsize=1<<V.wbits,V.wnext=0,V.whave=0,V.window=new n.Buf8(V.wsize)),M>=V.wsize?(n.arraySet(V.window,O,y-V.wsize,V.wsize,0),V.wnext=0,V.whave=V.wsize):(M<(ae=V.wsize-V.wnext)&&(ae=M),n.arraySet(V.window,O,y-M,ae,V.wnext),(M-=ae)?(n.arraySet(V.window,O,y-M,M,0),V.wnext=M,V.whave=V.wsize):(V.wnext+=ae,V.wnext===V.wsize&&(V.wnext=0),V.whave<V.wsize&&(V.whave+=ae))),0}r.inflateReset=E,r.inflateReset2=k,r.inflateResetKeep=_,r.inflateInit=function(S){return P(S,15)},r.inflateInit2=P,r.inflate=function(S,O){var y,M,ae,V,ce,H,oe,B,D,te,q,G,Ce,Ke,ue,ge,Xe,ve,it,ut,f,L,U,w,v=0,C=new n.Buf8(4),z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!S||!S.state||!S.output||!S.input&&S.avail_in!==0)return d;(y=S.state).mode===12&&(y.mode=13),ce=S.next_out,ae=S.output,oe=S.avail_out,V=S.next_in,M=S.input,H=S.avail_in,B=y.hold,D=y.bits,te=H,q=oe,L=h;e:for(;;)switch(y.mode){case g:if(y.wrap===0){y.mode=13;break}for(;D<16;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(2&y.wrap&&B===35615){C[y.check=0]=255&B,C[1]=B>>>8&255,y.check=o(y.check,C,2,0),D=B=0,y.mode=2;break}if(y.flags=0,y.head&&(y.head.done=!1),!(1&y.wrap)||(((255&B)<<8)+(B>>8))%31){S.msg="incorrect header check",y.mode=30;break}if((15&B)!=8){S.msg="unknown compression method",y.mode=30;break}if(D-=4,f=8+(15&(B>>>=4)),y.wbits===0)y.wbits=f;else if(f>y.wbits){S.msg="invalid window size",y.mode=30;break}y.dmax=1<<f,S.adler=y.check=1,y.mode=512&B?10:12,D=B=0;break;case 2:for(;D<16;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(y.flags=B,(255&y.flags)!=8){S.msg="unknown compression method",y.mode=30;break}if(57344&y.flags){S.msg="unknown header flags set",y.mode=30;break}y.head&&(y.head.text=B>>8&1),512&y.flags&&(C[0]=255&B,C[1]=B>>>8&255,y.check=o(y.check,C,2,0)),D=B=0,y.mode=3;case 3:for(;D<32;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}y.head&&(y.head.time=B),512&y.flags&&(C[0]=255&B,C[1]=B>>>8&255,C[2]=B>>>16&255,C[3]=B>>>24&255,y.check=o(y.check,C,4,0)),D=B=0,y.mode=4;case 4:for(;D<16;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}y.head&&(y.head.xflags=255&B,y.head.os=B>>8),512&y.flags&&(C[0]=255&B,C[1]=B>>>8&255,y.check=o(y.check,C,2,0)),D=B=0,y.mode=5;case 5:if(1024&y.flags){for(;D<16;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}y.length=B,y.head&&(y.head.extra_len=B),512&y.flags&&(C[0]=255&B,C[1]=B>>>8&255,y.check=o(y.check,C,2,0)),D=B=0}else y.head&&(y.head.extra=null);y.mode=6;case 6:if(1024&y.flags&&(H<(G=y.length)&&(G=H),G&&(y.head&&(f=y.head.extra_len-y.length,y.head.extra||(y.head.extra=new Array(y.head.extra_len)),n.arraySet(y.head.extra,M,V,G,f)),512&y.flags&&(y.check=o(y.check,M,G,V)),H-=G,V+=G,y.length-=G),y.length))break e;y.length=0,y.mode=7;case 7:if(2048&y.flags){if(H===0)break e;for(G=0;f=M[V+G++],y.head&&f&&y.length<65536&&(y.head.name+=String.fromCharCode(f)),f&&G<H;);if(512&y.flags&&(y.check=o(y.check,M,G,V)),H-=G,V+=G,f)break e}else y.head&&(y.head.name=null);y.length=0,y.mode=8;case 8:if(4096&y.flags){if(H===0)break e;for(G=0;f=M[V+G++],y.head&&f&&y.length<65536&&(y.head.comment+=String.fromCharCode(f)),f&&G<H;);if(512&y.flags&&(y.check=o(y.check,M,G,V)),H-=G,V+=G,f)break e}else y.head&&(y.head.comment=null);y.mode=9;case 9:if(512&y.flags){for(;D<16;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(B!==(65535&y.check)){S.msg="header crc mismatch",y.mode=30;break}D=B=0}y.head&&(y.head.hcrc=y.flags>>9&1,y.head.done=!0),S.adler=y.check=0,y.mode=12;break;case 10:for(;D<32;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}S.adler=y.check=u(B),D=B=0,y.mode=11;case 11:if(y.havedict===0)return S.next_out=ce,S.avail_out=oe,S.next_in=V,S.avail_in=H,y.hold=B,y.bits=D,2;S.adler=y.check=1,y.mode=12;case 12:if(O===5||O===6)break e;case 13:if(y.last){B>>>=7&D,D-=7&D,y.mode=27;break}for(;D<3;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}switch(y.last=1&B,D-=1,3&(B>>>=1)){case 0:y.mode=14;break;case 1:if(N(y),y.mode=20,O!==6)break;B>>>=2,D-=2;break e;case 2:y.mode=17;break;case 3:S.msg="invalid block type",y.mode=30}B>>>=2,D-=2;break;case 14:for(B>>>=7&D,D-=7&D;D<32;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if((65535&B)!=(B>>>16^65535)){S.msg="invalid stored block lengths",y.mode=30;break}if(y.length=65535&B,D=B=0,y.mode=15,O===6)break e;case 15:y.mode=16;case 16:if(G=y.length){if(H<G&&(G=H),oe<G&&(G=oe),G===0)break e;n.arraySet(ae,M,V,G,ce),H-=G,V+=G,oe-=G,ce+=G,y.length-=G;break}y.mode=12;break;case 17:for(;D<14;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(y.nlen=257+(31&B),B>>>=5,D-=5,y.ndist=1+(31&B),B>>>=5,D-=5,y.ncode=4+(15&B),B>>>=4,D-=4,286<y.nlen||30<y.ndist){S.msg="too many length or distance symbols",y.mode=30;break}y.have=0,y.mode=18;case 18:for(;y.have<y.ncode;){for(;D<3;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}y.lens[z[y.have++]]=7&B,B>>>=3,D-=3}for(;y.have<19;)y.lens[z[y.have++]]=0;if(y.lencode=y.lendyn,y.lenbits=7,U={bits:y.lenbits},L=a(0,y.lens,0,19,y.lencode,0,y.work,U),y.lenbits=U.bits,L){S.msg="invalid code lengths set",y.mode=30;break}y.have=0,y.mode=19;case 19:for(;y.have<y.nlen+y.ndist;){for(;ge=(v=y.lencode[B&(1<<y.lenbits)-1])>>>16&255,Xe=65535&v,!((ue=v>>>24)<=D);){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(Xe<16)B>>>=ue,D-=ue,y.lens[y.have++]=Xe;else{if(Xe===16){for(w=ue+2;D<w;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(B>>>=ue,D-=ue,y.have===0){S.msg="invalid bit length repeat",y.mode=30;break}f=y.lens[y.have-1],G=3+(3&B),B>>>=2,D-=2}else if(Xe===17){for(w=ue+3;D<w;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}D-=ue,f=0,G=3+(7&(B>>>=ue)),B>>>=3,D-=3}else{for(w=ue+7;D<w;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}D-=ue,f=0,G=11+(127&(B>>>=ue)),B>>>=7,D-=7}if(y.have+G>y.nlen+y.ndist){S.msg="invalid bit length repeat",y.mode=30;break}for(;G--;)y.lens[y.have++]=f}}if(y.mode===30)break;if(y.lens[256]===0){S.msg="invalid code -- missing end-of-block",y.mode=30;break}if(y.lenbits=9,U={bits:y.lenbits},L=a(c,y.lens,0,y.nlen,y.lencode,0,y.work,U),y.lenbits=U.bits,L){S.msg="invalid literal/lengths set",y.mode=30;break}if(y.distbits=6,y.distcode=y.distdyn,U={bits:y.distbits},L=a(l,y.lens,y.nlen,y.ndist,y.distcode,0,y.work,U),y.distbits=U.bits,L){S.msg="invalid distances set",y.mode=30;break}if(y.mode=20,O===6)break e;case 20:y.mode=21;case 21:if(6<=H&&258<=oe){S.next_out=ce,S.avail_out=oe,S.next_in=V,S.avail_in=H,y.hold=B,y.bits=D,s(S,q),ce=S.next_out,ae=S.output,oe=S.avail_out,V=S.next_in,M=S.input,H=S.avail_in,B=y.hold,D=y.bits,y.mode===12&&(y.back=-1);break}for(y.back=0;ge=(v=y.lencode[B&(1<<y.lenbits)-1])>>>16&255,Xe=65535&v,!((ue=v>>>24)<=D);){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(ge&&(240&ge)==0){for(ve=ue,it=ge,ut=Xe;ge=(v=y.lencode[ut+((B&(1<<ve+it)-1)>>ve)])>>>16&255,Xe=65535&v,!(ve+(ue=v>>>24)<=D);){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}B>>>=ve,D-=ve,y.back+=ve}if(B>>>=ue,D-=ue,y.back+=ue,y.length=Xe,ge===0){y.mode=26;break}if(32&ge){y.back=-1,y.mode=12;break}if(64&ge){S.msg="invalid literal/length code",y.mode=30;break}y.extra=15&ge,y.mode=22;case 22:if(y.extra){for(w=y.extra;D<w;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}y.length+=B&(1<<y.extra)-1,B>>>=y.extra,D-=y.extra,y.back+=y.extra}y.was=y.length,y.mode=23;case 23:for(;ge=(v=y.distcode[B&(1<<y.distbits)-1])>>>16&255,Xe=65535&v,!((ue=v>>>24)<=D);){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if((240&ge)==0){for(ve=ue,it=ge,ut=Xe;ge=(v=y.distcode[ut+((B&(1<<ve+it)-1)>>ve)])>>>16&255,Xe=65535&v,!(ve+(ue=v>>>24)<=D);){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}B>>>=ve,D-=ve,y.back+=ve}if(B>>>=ue,D-=ue,y.back+=ue,64&ge){S.msg="invalid distance code",y.mode=30;break}y.offset=Xe,y.extra=15&ge,y.mode=24;case 24:if(y.extra){for(w=y.extra;D<w;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}y.offset+=B&(1<<y.extra)-1,B>>>=y.extra,D-=y.extra,y.back+=y.extra}if(y.offset>y.dmax){S.msg="invalid distance too far back",y.mode=30;break}y.mode=25;case 25:if(oe===0)break e;if(G=q-oe,y.offset>G){if((G=y.offset-G)>y.whave&&y.sane){S.msg="invalid distance too far back",y.mode=30;break}Ce=G>y.wnext?(G-=y.wnext,y.wsize-G):y.wnext-G,G>y.length&&(G=y.length),Ke=y.window}else Ke=ae,Ce=ce-y.offset,G=y.length;for(oe<G&&(G=oe),oe-=G,y.length-=G;ae[ce++]=Ke[Ce++],--G;);y.length===0&&(y.mode=21);break;case 26:if(oe===0)break e;ae[ce++]=y.length,oe--,y.mode=21;break;case 27:if(y.wrap){for(;D<32;){if(H===0)break e;H--,B|=M[V++]<<D,D+=8}if(q-=oe,S.total_out+=q,y.total+=q,q&&(S.adler=y.check=y.flags?o(y.check,ae,q,ce-q):i(y.check,ae,q,ce-q)),q=oe,(y.flags?B:u(B))!==y.check){S.msg="incorrect data check",y.mode=30;break}D=B=0}y.mode=28;case 28:if(y.wrap&&y.flags){for(;D<32;){if(H===0)break e;H--,B+=M[V++]<<D,D+=8}if(B!==(4294967295&y.total)){S.msg="incorrect length check",y.mode=30;break}D=B=0}y.mode=29;case 29:L=1;break e;case 30:L=-3;break e;case 31:return-4;case 32:default:return d}return S.next_out=ce,S.avail_out=oe,S.next_in=V,S.avail_in=H,y.hold=B,y.bits=D,(y.wsize||q!==S.avail_out&&y.mode<30&&(y.mode<27||O!==4))&&J(S,S.output,S.next_out,q-S.avail_out)?(y.mode=31,-4):(te-=S.avail_in,q-=S.avail_out,S.total_in+=te,S.total_out+=q,y.total+=q,y.wrap&&q&&(S.adler=y.check=y.flags?o(y.check,ae,q,S.next_out-q):i(y.check,ae,q,S.next_out-q)),S.data_type=y.bits+(y.last?64:0)+(y.mode===12?128:0)+(y.mode===20||y.mode===15?256:0),(te==0&&q===0||O===4)&&L===h&&(L=-5),L)},r.inflateEnd=function(S){if(!S||!S.state)return d;var O=S.state;return O.window&&(O.window=null),S.state=null,h},r.inflateGetHeader=function(S,O){var y;return S&&S.state?(2&(y=S.state).wrap)==0?d:((y.head=O).done=!1,h):d},r.inflateSetDictionary=function(S,O){var y,M=O.length;return S&&S.state?(y=S.state).wrap!==0&&y.mode!==11?d:y.mode===11&&i(1,O,M,0)!==y.check?-3:J(S,O,M,M)?(y.mode=31,-4):(y.havedict=1,h):d},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){"use strict";var n=e("../utils/common"),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(c,l,h,d,g,p,m,u){var b,_,E,k,P,x,A,R,N,J=u.bits,S=0,O=0,y=0,M=0,ae=0,V=0,ce=0,H=0,oe=0,B=0,D=null,te=0,q=new n.Buf16(16),G=new n.Buf16(16),Ce=null,Ke=0;for(S=0;S<=15;S++)q[S]=0;for(O=0;O<d;O++)q[l[h+O]]++;for(ae=J,M=15;1<=M&&q[M]===0;M--);if(M<ae&&(ae=M),M===0)return g[p++]=20971520,g[p++]=20971520,u.bits=1,0;for(y=1;y<M&&q[y]===0;y++);for(ae<y&&(ae=y),S=H=1;S<=15;S++)if(H<<=1,(H-=q[S])<0)return-1;if(0<H&&(c===0||M!==1))return-1;for(G[1]=0,S=1;S<15;S++)G[S+1]=G[S]+q[S];for(O=0;O<d;O++)l[h+O]!==0&&(m[G[l[h+O]]++]=O);if(x=c===0?(D=Ce=m,19):c===1?(D=i,te-=257,Ce=o,Ke-=257,256):(D=s,Ce=a,-1),S=y,P=p,ce=O=B=0,E=-1,k=(oe=1<<(V=ae))-1,c===1&&852<oe||c===2&&592<oe)return 1;for(;;){for(A=S-ce,N=m[O]<x?(R=0,m[O]):m[O]>x?(R=Ce[Ke+m[O]],D[te+m[O]]):(R=96,0),b=1<<S-ce,y=_=1<<V;g[P+(B>>ce)+(_-=b)]=A<<24|R<<16|N|0,_!==0;);for(b=1<<S-1;B&b;)b>>=1;if(b!==0?(B&=b-1,B+=b):B=0,O++,--q[S]==0){if(S===M)break;S=l[h+m[O]]}if(ae<S&&(B&k)!==E){for(ce===0&&(ce=ae),P+=y,H=1<<(V=S-ce);V+ce<M&&!((H-=q[V+ce])<=0);)V++,H<<=1;if(oe+=1<<V,c===1&&852<oe||c===2&&592<oe)return 1;g[E=B&k]=ae<<24|V<<16|P-p|0}}return B!==0&&(g[P+B]=S-ce<<24|64<<16|0),u.bits=ae,0}},{"../utils/common":41}],51:[function(e,t,r){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,r){"use strict";var n=e("../utils/common"),i=0,o=1;function s(v){for(var C=v.length;0<=--C;)v[C]=0}var a=0,c=29,l=256,h=l+1+c,d=30,g=19,p=2*h+1,m=15,u=16,b=7,_=256,E=16,k=17,P=18,x=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],A=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],R=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],N=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],J=new Array(2*(h+2));s(J);var S=new Array(2*d);s(S);var O=new Array(512);s(O);var y=new Array(256);s(y);var M=new Array(c);s(M);var ae,V,ce,H=new Array(d);function oe(v,C,z,j,T){this.static_tree=v,this.extra_bits=C,this.extra_base=z,this.elems=j,this.max_length=T,this.has_stree=v&&v.length}function B(v,C){this.dyn_tree=v,this.max_code=0,this.stat_desc=C}function D(v){return v<256?O[v]:O[256+(v>>>7)]}function te(v,C){v.pending_buf[v.pending++]=255&C,v.pending_buf[v.pending++]=C>>>8&255}function q(v,C,z){v.bi_valid>u-z?(v.bi_buf|=C<<v.bi_valid&65535,te(v,v.bi_buf),v.bi_buf=C>>u-v.bi_valid,v.bi_valid+=z-u):(v.bi_buf|=C<<v.bi_valid&65535,v.bi_valid+=z)}function G(v,C,z){q(v,z[2*C],z[2*C+1])}function Ce(v,C){for(var z=0;z|=1&v,v>>>=1,z<<=1,0<--C;);return z>>>1}function Ke(v,C,z){var j,T,$=new Array(m+1),K=0;for(j=1;j<=m;j++)$[j]=K=K+z[j-1]<<1;for(T=0;T<=C;T++){var W=v[2*T+1];W!==0&&(v[2*T]=Ce($[W]++,W))}}function ue(v){var C;for(C=0;C<h;C++)v.dyn_ltree[2*C]=0;for(C=0;C<d;C++)v.dyn_dtree[2*C]=0;for(C=0;C<g;C++)v.bl_tree[2*C]=0;v.dyn_ltree[2*_]=1,v.opt_len=v.static_len=0,v.last_lit=v.matches=0}function ge(v){8<v.bi_valid?te(v,v.bi_buf):0<v.bi_valid&&(v.pending_buf[v.pending++]=v.bi_buf),v.bi_buf=0,v.bi_valid=0}function Xe(v,C,z,j){var T=2*C,$=2*z;return v[T]<v[$]||v[T]===v[$]&&j[C]<=j[z]}function ve(v,C,z){for(var j=v.heap[z],T=z<<1;T<=v.heap_len&&(T<v.heap_len&&Xe(C,v.heap[T+1],v.heap[T],v.depth)&&T++,!Xe(C,j,v.heap[T],v.depth));)v.heap[z]=v.heap[T],z=T,T<<=1;v.heap[z]=j}function it(v,C,z){var j,T,$,K,W=0;if(v.last_lit!==0)for(;j=v.pending_buf[v.d_buf+2*W]<<8|v.pending_buf[v.d_buf+2*W+1],T=v.pending_buf[v.l_buf+W],W++,j===0?G(v,T,C):(G(v,($=y[T])+l+1,C),(K=x[$])!==0&&q(v,T-=M[$],K),G(v,$=D(--j),z),(K=A[$])!==0&&q(v,j-=H[$],K)),W<v.last_lit;);G(v,_,C)}function ut(v,C){var z,j,T,$=C.dyn_tree,K=C.stat_desc.static_tree,W=C.stat_desc.has_stree,re=C.stat_desc.elems,ke=-1;for(v.heap_len=0,v.heap_max=p,z=0;z<re;z++)$[2*z]!==0?(v.heap[++v.heap_len]=ke=z,v.depth[z]=0):$[2*z+1]=0;for(;v.heap_len<2;)$[2*(T=v.heap[++v.heap_len]=ke<2?++ke:0)]=1,v.depth[T]=0,v.opt_len--,W&&(v.static_len-=K[2*T+1]);for(C.max_code=ke,z=v.heap_len>>1;1<=z;z--)ve(v,$,z);for(T=re;z=v.heap[1],v.heap[1]=v.heap[v.heap_len--],ve(v,$,1),j=v.heap[1],v.heap[--v.heap_max]=z,v.heap[--v.heap_max]=j,$[2*T]=$[2*z]+$[2*j],v.depth[T]=(v.depth[z]>=v.depth[j]?v.depth[z]:v.depth[j])+1,$[2*z+1]=$[2*j+1]=T,v.heap[1]=T++,ve(v,$,1),2<=v.heap_len;);v.heap[--v.heap_max]=v.heap[1],(function(pe,kt){var Kt,Xt,Tr,Ie,Rn,ii,gt=kt.dyn_tree,ys=kt.max_code,Pn=kt.stat_desc.static_tree,ul=kt.stat_desc.has_stree,Dn=kt.stat_desc.extra_bits,bs=kt.stat_desc.extra_base,jr=kt.stat_desc.max_length,oi=0;for(Ie=0;Ie<=m;Ie++)pe.bl_count[Ie]=0;for(gt[2*pe.heap[pe.heap_max]+1]=0,Kt=pe.heap_max+1;Kt<p;Kt++)jr<(Ie=gt[2*gt[2*(Xt=pe.heap[Kt])+1]+1]+1)&&(Ie=jr,oi++),gt[2*Xt+1]=Ie,ys<Xt||(pe.bl_count[Ie]++,Rn=0,bs<=Xt&&(Rn=Dn[Xt-bs]),ii=gt[2*Xt],pe.opt_len+=ii*(Ie+Rn),ul&&(pe.static_len+=ii*(Pn[2*Xt+1]+Rn)));if(oi!==0){do{for(Ie=jr-1;pe.bl_count[Ie]===0;)Ie--;pe.bl_count[Ie]--,pe.bl_count[Ie+1]+=2,pe.bl_count[jr]--,oi-=2}while(0<oi);for(Ie=jr;Ie!==0;Ie--)for(Xt=pe.bl_count[Ie];Xt!==0;)ys<(Tr=pe.heap[--Kt])||(gt[2*Tr+1]!==Ie&&(pe.opt_len+=(Ie-gt[2*Tr+1])*gt[2*Tr],gt[2*Tr+1]=Ie),Xt--)}})(v,C),Ke($,ke,v.bl_count)}function f(v,C,z){var j,T,$=-1,K=C[1],W=0,re=7,ke=4;for(K===0&&(re=138,ke=3),C[2*(z+1)+1]=65535,j=0;j<=z;j++)T=K,K=C[2*(j+1)+1],++W<re&&T===K||(W<ke?v.bl_tree[2*T]+=W:T!==0?(T!==$&&v.bl_tree[2*T]++,v.bl_tree[2*E]++):W<=10?v.bl_tree[2*k]++:v.bl_tree[2*P]++,$=T,ke=(W=0)===K?(re=138,3):T===K?(re=6,3):(re=7,4))}function L(v,C,z){var j,T,$=-1,K=C[1],W=0,re=7,ke=4;for(K===0&&(re=138,ke=3),j=0;j<=z;j++)if(T=K,K=C[2*(j+1)+1],!(++W<re&&T===K)){if(W<ke)for(;G(v,T,v.bl_tree),--W!=0;);else T!==0?(T!==$&&(G(v,T,v.bl_tree),W--),G(v,E,v.bl_tree),q(v,W-3,2)):W<=10?(G(v,k,v.bl_tree),q(v,W-3,3)):(G(v,P,v.bl_tree),q(v,W-11,7));$=T,ke=(W=0)===K?(re=138,3):T===K?(re=6,3):(re=7,4)}}s(H);var U=!1;function w(v,C,z,j){q(v,(a<<1)+(j?1:0),3),(function(T,$,K,W){ge(T),W&&(te(T,K),te(T,~K)),n.arraySet(T.pending_buf,T.window,$,K,T.pending),T.pending+=K})(v,C,z,!0)}r._tr_init=function(v){U||((function(){var C,z,j,T,$,K=new Array(m+1);for(T=j=0;T<c-1;T++)for(M[T]=j,C=0;C<1<<x[T];C++)y[j++]=T;for(y[j-1]=T,T=$=0;T<16;T++)for(H[T]=$,C=0;C<1<<A[T];C++)O[$++]=T;for($>>=7;T<d;T++)for(H[T]=$<<7,C=0;C<1<<A[T]-7;C++)O[256+$++]=T;for(z=0;z<=m;z++)K[z]=0;for(C=0;C<=143;)J[2*C+1]=8,C++,K[8]++;for(;C<=255;)J[2*C+1]=9,C++,K[9]++;for(;C<=279;)J[2*C+1]=7,C++,K[7]++;for(;C<=287;)J[2*C+1]=8,C++,K[8]++;for(Ke(J,h+1,K),C=0;C<d;C++)S[2*C+1]=5,S[2*C]=Ce(C,5);ae=new oe(J,x,l+1,h,m),V=new oe(S,A,0,d,m),ce=new oe(new Array(0),R,0,g,b)})(),U=!0),v.l_desc=new B(v.dyn_ltree,ae),v.d_desc=new B(v.dyn_dtree,V),v.bl_desc=new B(v.bl_tree,ce),v.bi_buf=0,v.bi_valid=0,ue(v)},r._tr_stored_block=w,r._tr_flush_block=function(v,C,z,j){var T,$,K=0;0<v.level?(v.strm.data_type===2&&(v.strm.data_type=(function(W){var re,ke=4093624447;for(re=0;re<=31;re++,ke>>>=1)if(1&ke&&W.dyn_ltree[2*re]!==0)return i;if(W.dyn_ltree[18]!==0||W.dyn_ltree[20]!==0||W.dyn_ltree[26]!==0)return o;for(re=32;re<l;re++)if(W.dyn_ltree[2*re]!==0)return o;return i})(v)),ut(v,v.l_desc),ut(v,v.d_desc),K=(function(W){var re;for(f(W,W.dyn_ltree,W.l_desc.max_code),f(W,W.dyn_dtree,W.d_desc.max_code),ut(W,W.bl_desc),re=g-1;3<=re&&W.bl_tree[2*N[re]+1]===0;re--);return W.opt_len+=3*(re+1)+5+5+4,re})(v),T=v.opt_len+3+7>>>3,($=v.static_len+3+7>>>3)<=T&&(T=$)):T=$=z+5,z+4<=T&&C!==-1?w(v,C,z,j):v.strategy===4||$===T?(q(v,2+(j?1:0),3),it(v,J,S)):(q(v,4+(j?1:0),3),(function(W,re,ke,pe){var kt;for(q(W,re-257,5),q(W,ke-1,5),q(W,pe-4,4),kt=0;kt<pe;kt++)q(W,W.bl_tree[2*N[kt]+1],3);L(W,W.dyn_ltree,re-1),L(W,W.dyn_dtree,ke-1)})(v,v.l_desc.max_code+1,v.d_desc.max_code+1,K+1),it(v,v.dyn_ltree,v.dyn_dtree)),ue(v),j&&ge(v)},r._tr_tally=function(v,C,z){return v.pending_buf[v.d_buf+2*v.last_lit]=C>>>8&255,v.pending_buf[v.d_buf+2*v.last_lit+1]=255&C,v.pending_buf[v.l_buf+v.last_lit]=255&z,v.last_lit++,C===0?v.dyn_ltree[2*z]++:(v.matches++,C--,v.dyn_ltree[2*(y[z]+l+1)]++,v.dyn_dtree[2*D(C)]++),v.last_lit===v.lit_bufsize-1},r._tr_align=function(v){q(v,2,3),G(v,_,J),(function(C){C.bi_valid===16?(te(C,C.bi_buf),C.bi_buf=0,C.bi_valid=0):8<=C.bi_valid&&(C.pending_buf[C.pending++]=255&C.bi_buf,C.bi_buf>>=8,C.bi_valid-=8)})(v)}},{"../utils/common":41}],53:[function(e,t,r){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(n){(function(i,o){"use strict";if(!i.setImmediate){var s,a,c,l,h=1,d={},g=!1,p=i.document,m=Object.getPrototypeOf&&Object.getPrototypeOf(i);m=m&&m.setTimeout?m:i,s={}.toString.call(i.process)==="[object process]"?function(E){process.nextTick(function(){b(E)})}:(function(){if(i.postMessage&&!i.importScripts){var E=!0,k=i.onmessage;return i.onmessage=function(){E=!1},i.postMessage("","*"),i.onmessage=k,E}})()?(l="setImmediate$"+Math.random()+"$",i.addEventListener?i.addEventListener("message",_,!1):i.attachEvent("onmessage",_),function(E){i.postMessage(l+E,"*")}):i.MessageChannel?((c=new MessageChannel).port1.onmessage=function(E){b(E.data)},function(E){c.port2.postMessage(E)}):p&&"onreadystatechange"in p.createElement("script")?(a=p.documentElement,function(E){var k=p.createElement("script");k.onreadystatechange=function(){b(E),k.onreadystatechange=null,a.removeChild(k),k=null},a.appendChild(k)}):function(E){setTimeout(b,0,E)},m.setImmediate=function(E){typeof E!="function"&&(E=new Function(""+E));for(var k=new Array(arguments.length-1),P=0;P<k.length;P++)k[P]=arguments[P+1];var x={callback:E,args:k};return d[h]=x,s(h),h++},m.clearImmediate=u}function u(E){delete d[E]}function b(E){if(g)setTimeout(b,0,E);else{var k=d[E];if(k){g=!0;try{(function(P){var x=P.callback,A=P.args;switch(A.length){case 0:x();break;case 1:x(A[0]);break;case 2:x(A[0],A[1]);break;case 3:x(A[0],A[1],A[2]);break;default:x.apply(o,A)}})(k)}finally{u(E),g=!1}}}}function _(E){E.source===i&&typeof E.data=="string"&&E.data.indexOf(l)===0&&b(+E.data.slice(l.length))}})(typeof self>"u"?n===void 0?this:n:self)}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})});var xd=_e((Px,za)=>{(function(e,t){typeof define=="function"&&define.amd?define(t):typeof za<"u"&&za.exports?za.exports=t():window.ysFixWebmDuration=t()})("fix-webm-duration",function(){var e={172351395:{name:"EBML",type:"Container"},646:{name:"EBMLVersion",type:"Uint"},759:{name:"EBMLReadVersion",type:"Uint"},754:{name:"EBMLMaxIDLength",type:"Uint"},755:{name:"EBMLMaxSizeLength",type:"Uint"},642:{name:"DocType",type:"String"},647:{name:"DocTypeVersion",type:"Uint"},645:{name:"DocTypeReadVersion",type:"Uint"},108:{name:"Void",type:"Binary"},63:{name:"CRC-32",type:"Binary"},190023271:{name:"SignatureSlot",type:"Container"},16010:{name:"SignatureAlgo",type:"Uint"},16026:{name:"SignatureHash",type:"Uint"},16037:{name:"SignaturePublicKey",type:"Binary"},16053:{name:"Signature",type:"Binary"},15963:{name:"SignatureElements",type:"Container"},15995:{name:"SignatureElementList",type:"Container"},9522:{name:"SignedElement",type:"Binary"},139690087:{name:"Segment",type:"Container"},21863284:{name:"SeekHead",type:"Container"},3515:{name:"Seek",type:"Container"},5035:{name:"SeekID",type:"Binary"},5036:{name:"SeekPosition",type:"Uint"},88713574:{name:"Info",type:"Container"},13220:{name:"SegmentUID",type:"Binary"},13188:{name:"SegmentFilename",type:"String"},1882403:{name:"PrevUID",type:"Binary"},1868715:{name:"PrevFilename",type:"String"},2013475:{name:"NextUID",type:"Binary"},1999803:{name:"NextFilename",type:"String"},1092:{name:"SegmentFamily",type:"Binary"},10532:{name:"ChapterTranslate",type:"Container"},10748:{name:"ChapterTranslateEditionUID",type:"Uint"},10687:{name:"ChapterTranslateCodec",type:"Uint"},10661:{name:"ChapterTranslateID",type:"Binary"},710577:{name:"TimecodeScale",type:"Uint"},1161:{name:"Duration",type:"Float"},1121:{name:"DateUTC",type:"Date"},15273:{name:"Title",type:"String"},3456:{name:"MuxingApp",type:"String"},5953:{name:"WritingApp",type:"String"},103:{name:"Timecode",type:"Uint"},6228:{name:"SilentTracks",type:"Container"},6359:{name:"SilentTrackNumber",type:"Uint"},39:{name:"Position",type:"Uint"},43:{name:"PrevSize",type:"Uint"},35:{name:"SimpleBlock",type:"Binary"},32:{name:"BlockGroup",type:"Container"},33:{name:"Block",type:"Binary"},34:{name:"BlockVirtual",type:"Binary"},13729:{name:"BlockAdditions",type:"Container"},38:{name:"BlockMore",type:"Container"},110:{name:"BlockAddID",type:"Uint"},37:{name:"BlockAdditional",type:"Binary"},27:{name:"BlockDuration",type:"Uint"},122:{name:"ReferencePriority",type:"Uint"},123:{name:"ReferenceBlock",type:"Int"},125:{name:"ReferenceVirtual",type:"Int"},36:{name:"CodecState",type:"Binary"},13730:{name:"DiscardPadding",type:"Int"},14:{name:"Slices",type:"Container"},104:{name:"TimeSlice",type:"Container"},76:{name:"LaceNumber",type:"Uint"},77:{name:"FrameNumber",type:"Uint"},75:{name:"BlockAdditionID",type:"Uint"},78:{name:"Delay",type:"Uint"},79:{name:"SliceDuration",type:"Uint"},72:{name:"ReferenceFrame",type:"Container"},73:{name:"ReferenceOffset",type:"Uint"},74:{name:"ReferenceTimeCode",type:"Uint"},47:{name:"EncryptedBlock",type:"Binary"},106212971:{name:"Tracks",type:"Container"},46:{name:"TrackEntry",type:"Container"},87:{name:"TrackNumber",type:"Uint"},13253:{name:"TrackUID",type:"Uint"},3:{name:"TrackType",type:"Uint"},57:{name:"FlagEnabled",type:"Uint"},8:{name:"FlagDefault",type:"Uint"},5546:{name:"FlagForced",type:"Uint"},28:{name:"FlagLacing",type:"Uint"},11751:{name:"MinCache",type:"Uint"},11768:{name:"MaxCache",type:"Uint"},254851:{name:"DefaultDuration",type:"Uint"},216698:{name:"DefaultDecodedFieldDuration",type:"Uint"},209231:{name:"TrackTimecodeScale",type:"Float"},4991:{name:"TrackOffset",type:"Int"},5614:{name:"MaxBlockAdditionID",type:"Uint"},4974:{name:"Name",type:"String"},177564:{name:"Language",type:"String"},6:{name:"CodecID",type:"String"},9122:{name:"CodecPrivate",type:"Binary"},362120:{name:"CodecName",type:"String"},13382:{name:"AttachmentLink",type:"Uint"},1742487:{name:"CodecSettings",type:"String"},1785920:{name:"CodecInfoURL",type:"String"},438848:{name:"CodecDownloadURL",type:"String"},42:{name:"CodecDecodeAll",type:"Uint"},12203:{name:"TrackOverlay",type:"Uint"},5802:{name:"CodecDelay",type:"Uint"},5819:{name:"SeekPreRoll",type:"Uint"},9764:{name:"TrackTranslate",type:"Container"},9980:{name:"TrackTranslateEditionUID",type:"Uint"},9919:{name:"TrackTranslateCodec",type:"Uint"},9893:{name:"TrackTranslateTrackID",type:"Binary"},96:{name:"Video",type:"Container"},26:{name:"FlagInterlaced",type:"Uint"},5048:{name:"StereoMode",type:"Uint"},5056:{name:"AlphaMode",type:"Uint"},5049:{name:"OldStereoMode",type:"Uint"},48:{name:"PixelWidth",type:"Uint"},58:{name:"PixelHeight",type:"Uint"},5290:{name:"PixelCropBottom",type:"Uint"},5307:{name:"PixelCropTop",type:"Uint"},5324:{name:"PixelCropLeft",type:"Uint"},5341:{name:"PixelCropRight",type:"Uint"},5296:{name:"DisplayWidth",type:"Uint"},5306:{name:"DisplayHeight",type:"Uint"},5298:{name:"DisplayUnit",type:"Uint"},5299:{name:"AspectRatioType",type:"Uint"},963876:{name:"ColourSpace",type:"Binary"},1029411:{name:"GammaValue",type:"Float"},230371:{name:"FrameRate",type:"Float"},97:{name:"Audio",type:"Container"},53:{name:"SamplingFrequency",type:"Float"},14517:{name:"OutputSamplingFrequency",type:"Float"},31:{name:"Channels",type:"Uint"},15739:{name:"ChannelPositions",type:"Binary"},8804:{name:"BitDepth",type:"Uint"},98:{name:"TrackOperation",type:"Container"},99:{name:"TrackCombinePlanes",type:"Container"},100:{name:"TrackPlane",type:"Container"},101:{name:"TrackPlaneUID",type:"Uint"},102:{name:"TrackPlaneType",type:"Uint"},105:{name:"TrackJoinBlocks",type:"Container"},109:{name:"TrackJoinUID",type:"Uint"},64:{name:"TrickTrackUID",type:"Uint"},65:{name:"TrickTrackSegmentUID",type:"Binary"},70:{name:"TrickTrackFlag",type:"Uint"},71:{name:"TrickMasterTrackUID",type:"Uint"},68:{name:"TrickMasterTrackSegmentUID",type:"Binary"},11648:{name:"ContentEncodings",type:"Container"},8768:{name:"ContentEncoding",type:"Container"},4145:{name:"ContentEncodingOrder",type:"Uint"},4146:{name:"ContentEncodingScope",type:"Uint"},4147:{name:"ContentEncodingType",type:"Uint"},4148:{name:"ContentCompression",type:"Container"},596:{name:"ContentCompAlgo",type:"Uint"},597:{name:"ContentCompSettings",type:"Binary"},4149:{name:"ContentEncryption",type:"Container"},2017:{name:"ContentEncAlgo",type:"Uint"},2018:{name:"ContentEncKeyID",type:"Binary"},2019:{name:"ContentSignature",type:"Binary"},2020:{name:"ContentSigKeyID",type:"Binary"},2021:{name:"ContentSigAlgo",type:"Uint"},2022:{name:"ContentSigHashAlgo",type:"Uint"},206814059:{name:"Cues",type:"Container"},59:{name:"CuePoint",type:"Container"},51:{name:"CueTime",type:"Uint"},55:{name:"CueTrackPositions",type:"Container"},119:{name:"CueTrack",type:"Uint"},113:{name:"CueClusterPosition",type:"Uint"},112:{name:"CueRelativePosition",type:"Uint"},50:{name:"CueDuration",type:"Uint"},4984:{name:"CueBlockNumber",type:"Uint"},106:{name:"CueCodecState",type:"Uint"},91:{name:"CueReference",type:"Container"},22:{name:"CueRefTime",type:"Uint"},23:{name:"CueRefCluster",type:"Uint"},4959:{name:"CueRefNumber",type:"Uint"},107:{name:"CueRefCodecState",type:"Uint"},155296873:{name:"Attachments",type:"Container"},8615:{name:"AttachedFile",type:"Container"},1662:{name:"FileDescription",type:"String"},1646:{name:"FileName",type:"String"},1632:{name:"FileMimeType",type:"String"},1628:{name:"FileData",type:"Binary"},1710:{name:"FileUID",type:"Uint"},1653:{name:"FileReferral",type:"Binary"},1633:{name:"FileUsedStartTime",type:"Uint"},1634:{name:"FileUsedEndTime",type:"Uint"},4433776:{name:"Chapters",type:"Container"},1465:{name:"EditionEntry",type:"Container"},1468:{name:"EditionUID",type:"Uint"},1469:{name:"EditionFlagHidden",type:"Uint"},1499:{name:"EditionFlagDefault",type:"Uint"},1501:{name:"EditionFlagOrdered",type:"Uint"},54:{name:"ChapterAtom",type:"Container"},13252:{name:"ChapterUID",type:"Uint"},5716:{name:"ChapterStringUID",type:"String"},17:{name:"ChapterTimeStart",type:"Uint"},18:{name:"ChapterTimeEnd",type:"Uint"},24:{name:"ChapterFlagHidden",type:"Uint"},1432:{name:"ChapterFlagEnabled",type:"Uint"},11879:{name:"ChapterSegmentUID",type:"Binary"},11964:{name:"ChapterSegmentEditionUID",type:"Uint"},9155:{name:"ChapterPhysicalEquiv",type:"Uint"},15:{name:"ChapterTrack",type:"Container"},9:{name:"ChapterTrackNumber",type:"Uint"},0:{name:"ChapterDisplay",type:"Container"},5:{name:"ChapString",type:"String"},892:{name:"ChapLanguage",type:"String"},894:{name:"ChapCountry",type:"String"},10564:{name:"ChapProcess",type:"Container"},10581:{name:"ChapProcessCodecID",type:"Uint"},1293:{name:"ChapProcessPrivate",type:"Binary"},10513:{name:"ChapProcessCommand",type:"Container"},10530:{name:"ChapProcessTime",type:"Uint"},10547:{name:"ChapProcessData",type:"Binary"},39109479:{name:"Tags",type:"Container"},13171:{name:"Tag",type:"Container"},9152:{name:"Targets",type:"Container"},10442:{name:"TargetTypeValue",type:"Uint"},9162:{name:"TargetType",type:"String"},9157:{name:"TagTrackUID",type:"Uint"},9161:{name:"TagEditionUID",type:"Uint"},9156:{name:"TagChapterUID",type:"Uint"},9158:{name:"TagAttachmentUID",type:"Uint"},10184:{name:"SimpleTag",type:"Container"},1443:{name:"TagName",type:"String"},1146:{name:"TagLanguage",type:"String"},1156:{name:"TagDefault",type:"Uint"},1159:{name:"TagString",type:"String"},1157:{name:"TagBinary",type:"Binary"}};function t(l,h){l.prototype=Object.create(h.prototype),l.prototype.constructor=l}function r(l,h){this.name=l||"Unknown",this.type=h||"Unknown"}r.prototype.updateBySource=function(){},r.prototype.setSource=function(l){this.source=l,this.updateBySource()},r.prototype.updateByData=function(){},r.prototype.setData=function(l){this.data=l,this.updateByData()};function n(l,h){r.call(this,l,h||"Uint")}t(n,r);function i(l){return l.length%2===1?"0"+l:l}n.prototype.updateBySource=function(){this.data="";for(var l=0;l<this.source.length;l++){var h=this.source[l].toString(16);this.data+=i(h)}},n.prototype.updateByData=function(){var l=this.data.length/2;this.source=new Uint8Array(l);for(var h=0;h<l;h++){var d=this.data.substr(h*2,2);this.source[h]=parseInt(d,16)}},n.prototype.getValue=function(){return parseInt(this.data,16)},n.prototype.setValue=function(l){this.setData(i(l.toString(16)))};function o(l,h){r.call(this,l,h||"Float")}t(o,r),o.prototype.getFloatArrayType=function(){return this.source&&this.source.length===4?Float32Array:Float64Array},o.prototype.updateBySource=function(){var l=this.source.reverse(),h=this.getFloatArrayType(),d=new h(l.buffer);this.data=d[0]},o.prototype.updateByData=function(){var l=this.getFloatArrayType(),h=new l([this.data]),d=new Uint8Array(h.buffer);this.source=d.reverse()},o.prototype.getValue=function(){return this.data},o.prototype.setValue=function(l){this.setData(l)};function s(l,h){r.call(this,l,h||"Container")}t(s,r),s.prototype.readByte=function(){return this.source[this.offset++]},s.prototype.readUint=function(){for(var l=this.readByte(),h=8-l.toString(2).length,d=l-(1<<7-h),g=0;g<h;g++)d*=256,d+=this.readByte();return d},s.prototype.updateBySource=function(){for(this.data=[],this.offset=0;this.offset<this.source.length;this.offset=d){var l=this.readUint(),h=this.readUint(),d=Math.min(this.offset+h,this.source.length),g=this.source.slice(this.offset,d),p=e[l]||{name:"Unknown",type:"Unknown"},m=r;switch(p.type){case"Container":m=s;break;case"Uint":m=n;break;case"Float":m=o;break}var u=new m(p.name,p.type);u.setSource(g),this.data.push({id:l,idHex:l.toString(16),data:u})}},s.prototype.writeUint=function(l,h){for(var d=1,g=128;l>=g&&d<8;d++,g*=128);if(!h)for(var p=g+l,m=d-1;m>=0;m--){var u=p%256;this.source[this.offset+m]=u,p=(p-u)/256}this.offset+=d},s.prototype.writeSections=function(l){this.offset=0;for(var h=0;h<this.data.length;h++){var d=this.data[h],g=d.data.source,p=g.length;this.writeUint(d.id,l),this.writeUint(p,l),l||this.source.set(g,this.offset),this.offset+=p}return this.offset},s.prototype.updateByData=function(){var l=this.writeSections("draft");this.source=new Uint8Array(l),this.writeSections()},s.prototype.getSectionById=function(l){for(var h=0;h<this.data.length;h++){var d=this.data[h];if(d.id===l)return d.data}return null};function a(l){s.call(this,"File","File"),this.setSource(l)}t(a,s),a.prototype.fixDuration=function(l,h){var d=h&&h.logger;d===void 0?d=function(b){console.log(b)}:d||(d=function(){});var g=this.getSectionById(139690087);if(!g)return d("[fix-webm-duration] Segment section is missing"),!1;var p=g.getSectionById(88713574);if(!p)return d("[fix-webm-duration] Info section is missing"),!1;var m=p.getSectionById(710577);if(!m)return d("[fix-webm-duration] TimecodeScale section is missing"),!1;var u=p.getSectionById(1161);if(u)if(u.getValue()<=0)d(`[fix-webm-duration] Duration section is present, but the value is ${u.getValue()}`),u.setValue(l);else return d(`[fix-webm-duration] Duration section is present, and the value is ${u.getValue()}`),!1;else d("[fix-webm-duration] Duration section is missing"),u=new o("Duration","Float"),u.setValue(l),p.data.push({id:1161,data:u});return m.setValue(1e6),p.updateByData(),g.updateByData(),this.updateByData(),!0},a.prototype.toBlob=function(l){return new Blob([this.source.buffer],{type:l||"video/webm"})};function c(l,h,d,g){if(typeof d=="object"&&(g=d,d=void 0),!d)return new Promise(function(m){c(l,h,m,g)});try{var p=new FileReader;p.onloadend=function(){try{var m=new a(new Uint8Array(p.result));m.fixDuration(h,g)&&(l=m.toBlob(l.type))}catch{}d(l)},p.readAsArrayBuffer(l)}catch{d(l)}}return c.default=c,c})});var f0=_e((Ad,Td)=>{(function(e,t){typeof define=="function"&&define.amd?define([],t):typeof Ad<"u"?t():(t(),e.FileSaver={})})(Ad,function(){"use strict";function e(a,c){return typeof c>"u"?c={autoBom:!1}:typeof c!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),c={autoBom:!c}),c.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\uFEFF",a],{type:a.type}):a}function t(a,c,l){var h=new XMLHttpRequest;h.open("GET",a),h.responseType="blob",h.onload=function(){s(h.response,c,l)},h.onerror=function(){console.error("could not download file")},h.send()}function r(a){var c=new XMLHttpRequest;c.open("HEAD",a,!1);try{c.send()}catch{}return 200<=c.status&&299>=c.status}function n(a){try{a.dispatchEvent(new MouseEvent("click"))}catch{var c=document.createEvent("MouseEvents");c.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(c)}}var i=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,o=i.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=i.saveAs||(typeof window!="object"||window!==i?function(){}:"download"in HTMLAnchorElement.prototype&&!o?function(a,c,l){var h=i.URL||i.webkitURL,d=document.createElement("a");c=c||a.name||"download",d.download=c,d.rel="noopener",typeof a=="string"?(d.href=a,d.origin===location.origin?n(d):r(d.href)?t(a,c,l):n(d,d.target="_blank")):(d.href=h.createObjectURL(a),setTimeout(function(){h.revokeObjectURL(d.href)},4e4),setTimeout(function(){n(d)},0))}:"msSaveOrOpenBlob"in navigator?function(a,c,l){if(c=c||a.name||"download",typeof a!="string")navigator.msSaveOrOpenBlob(e(a,l),c);else if(r(a))t(a,c,l);else{var h=document.createElement("a");h.href=a,h.target="_blank",setTimeout(function(){n(h)})}}:function(a,c,l,h){if(h=h||open("","_blank"),h&&(h.document.title=h.document.body.innerText="downloading..."),typeof a=="string")return t(a,c,l);var d=a.type==="application/octet-stream",g=/constructor/i.test(i.HTMLElement)||i.safari,p=/CriOS\/[\d]+/.test(navigator.userAgent);if((p||d&&g||o)&&typeof FileReader<"u"){var m=new FileReader;m.onloadend=function(){var _=m.result;_=p?_:_.replace(/^data:[^;]*;/,"data:attachment/file;"),h?h.location.href=_:location=_,h=null},m.readAsDataURL(a)}else{var u=i.URL||i.webkitURL,b=u.createObjectURL(a);h?h.location=b:location.href=b,h=null,setTimeout(function(){u.revokeObjectURL(b)},4e4)}});i.saveAs=s.saveAs=s,typeof Td<"u"&&(Td.exports=s)})});var I2=_e((ST,T2)=>{T2.exports=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}});var xn=_e(ei=>{var Du,Ww=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];ei.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};ei.getSymbolTotalCodewords=function(t){return Ww[t]};ei.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};ei.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');Du=t};ei.isKanjiModeEnabled=function(){return typeof Du<"u"};ei.toSJIS=function(t){return Du(t)}});var Zc=_e(dr=>{dr.L={bit:1};dr.M={bit:0};dr.Q={bit:3};dr.H={bit:2};function $w(e){if(typeof e!="string")throw new Error("Param is not a string");switch(e.toLowerCase()){case"l":case"low":return dr.L;case"m":case"medium":return dr.M;case"q":case"quartile":return dr.Q;case"h":case"high":return dr.H;default:throw new Error("Unknown EC Level: "+e)}}dr.isValid=function(t){return t&&typeof t.bit<"u"&&t.bit>=0&&t.bit<4};dr.from=function(t,r){if(dr.isValid(t))return t;try{return $w(t)}catch{return r}}});var D2=_e((CT,P2)=>{function R2(){this.buffer=[],this.length=0}R2.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let r=0;r<t;r++)this.putBit((e>>>t-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};P2.exports=R2});var O2=_e((xT,B2)=>{function cs(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}cs.prototype.set=function(e,t,r,n){let i=e*this.size+t;this.data[i]=r,n&&(this.reservedBit[i]=!0)};cs.prototype.get=function(e,t){return this.data[e*this.size+t]};cs.prototype.xor=function(e,t,r){this.data[e*this.size+t]^=r};cs.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};B2.exports=cs});var U2=_e(Qc=>{var Gw=xn().getSymbolSize;Qc.getRowColCoords=function(t){if(t===1)return[];let r=Math.floor(t/7)+2,n=Gw(t),i=n===145?26:Math.ceil((n-13)/(2*r-2))*2,o=[n-7];for(let s=1;s<r-1;s++)o[s]=o[s-1]-i;return o.push(6),o.reverse()};Qc.getPositions=function(t){let r=[],n=Qc.getRowColCoords(t),i=n.length;for(let o=0;o<i;o++)for(let s=0;s<i;s++)o===0&&s===0||o===0&&s===i-1||o===i-1&&s===0||r.push([n[o],n[s]]);return r}});var M2=_e(L2=>{var qw=xn().getSymbolSize,F2=7;L2.getPositions=function(t){let r=qw(t);return[[0,0],[r-F2,0],[0,r-F2]]}});var N2=_e(Be=>{Be.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var ti={N1:3,N2:3,N3:40,N4:10};Be.isValid=function(t){return t!=null&&t!==""&&!isNaN(t)&&t>=0&&t<=7};Be.from=function(t){return Be.isValid(t)?parseInt(t,10):void 0};Be.getPenaltyN1=function(t){let r=t.size,n=0,i=0,o=0,s=null,a=null;for(let c=0;c<r;c++){i=o=0,s=a=null;for(let l=0;l<r;l++){let h=t.get(c,l);h===s?i++:(i>=5&&(n+=ti.N1+(i-5)),s=h,i=1),h=t.get(l,c),h===a?o++:(o>=5&&(n+=ti.N1+(o-5)),a=h,o=1)}i>=5&&(n+=ti.N1+(i-5)),o>=5&&(n+=ti.N1+(o-5))}return n};Be.getPenaltyN2=function(t){let r=t.size,n=0;for(let i=0;i<r-1;i++)for(let o=0;o<r-1;o++){let s=t.get(i,o)+t.get(i,o+1)+t.get(i+1,o)+t.get(i+1,o+1);(s===4||s===0)&&n++}return n*ti.N2};Be.getPenaltyN3=function(t){let r=t.size,n=0,i=0,o=0;for(let s=0;s<r;s++){i=o=0;for(let a=0;a<r;a++)i=i<<1&2047|t.get(s,a),a>=10&&(i===1488||i===93)&&n++,o=o<<1&2047|t.get(a,s),a>=10&&(o===1488||o===93)&&n++}return n*ti.N3};Be.getPenaltyN4=function(t){let r=0,n=t.data.length;for(let o=0;o<n;o++)r+=t.data[o];return Math.abs(Math.ceil(r*100/n/5)-10)*ti.N4};function Kw(e,t,r){switch(e){case Be.Patterns.PATTERN000:return(t+r)%2===0;case Be.Patterns.PATTERN001:return t%2===0;case Be.Patterns.PATTERN010:return r%3===0;case Be.Patterns.PATTERN011:return(t+r)%3===0;case Be.Patterns.PATTERN100:return(Math.floor(t/2)+Math.floor(r/3))%2===0;case Be.Patterns.PATTERN101:return t*r%2+t*r%3===0;case Be.Patterns.PATTERN110:return(t*r%2+t*r%3)%2===0;case Be.Patterns.PATTERN111:return(t*r%3+(t+r)%2)%2===0;default:throw new Error("bad maskPattern:"+e)}}Be.applyMask=function(t,r){let n=r.size;for(let i=0;i<n;i++)for(let o=0;o<n;o++)r.isReserved(o,i)||r.xor(o,i,Kw(t,o,i))};Be.getBestMask=function(t,r){let n=Object.keys(Be.Patterns).length,i=0,o=1/0;for(let s=0;s<n;s++){r(s),Be.applyMask(s,t);let a=Be.getPenaltyN1(t)+Be.getPenaltyN2(t)+Be.getPenaltyN3(t)+Be.getPenaltyN4(t);Be.applyMask(s,t),a<o&&(o=a,i=s)}return i}});var Ou=_e(Bu=>{var An=Zc(),el=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],tl=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];Bu.getBlocksCount=function(t,r){switch(r){case An.L:return el[(t-1)*4+0];case An.M:return el[(t-1)*4+1];case An.Q:return el[(t-1)*4+2];case An.H:return el[(t-1)*4+3];default:return}};Bu.getTotalCodewordsCount=function(t,r){switch(r){case An.L:return tl[(t-1)*4+0];case An.M:return tl[(t-1)*4+1];case An.Q:return tl[(t-1)*4+2];case An.H:return tl[(t-1)*4+3];default:return}}});var z2=_e(nl=>{var ls=new Uint8Array(512),rl=new Uint8Array(256);(function(){let t=1;for(let r=0;r<255;r++)ls[r]=t,rl[t]=r,t<<=1,t&256&&(t^=285);for(let r=255;r<512;r++)ls[r]=ls[r-255]})();nl.log=function(t){if(t<1)throw new Error("log("+t+")");return rl[t]};nl.exp=function(t){return ls[t]};nl.mul=function(t,r){return t===0||r===0?0:ls[rl[t]+rl[r]]}});var j2=_e(hs=>{var Uu=z2();hs.mul=function(t,r){let n=new Uint8Array(t.length+r.length-1);for(let i=0;i<t.length;i++)for(let o=0;o<r.length;o++)n[i+o]^=Uu.mul(t[i],r[o]);return n};hs.mod=function(t,r){let n=new Uint8Array(t);for(;n.length-r.length>=0;){let i=n[0];for(let s=0;s<r.length;s++)n[s]^=Uu.mul(r[s],i);let o=0;for(;o<n.length&&n[o]===0;)o++;n=n.slice(o)}return n};hs.generateECPolynomial=function(t){let r=new Uint8Array([1]);for(let n=0;n<t;n++)r=hs.mul(r,new Uint8Array([1,Uu.exp(n)]));return r}});var W2=_e((BT,H2)=>{var V2=j2();function Fu(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}Fu.prototype.initialize=function(t){this.degree=t,this.genPoly=V2.generateECPolynomial(this.degree)};Fu.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");let r=new Uint8Array(t.length+this.degree);r.set(t);let n=V2.mod(r,this.genPoly),i=this.degree-n.length;if(i>0){let o=new Uint8Array(this.degree);return o.set(n,i),o}return n};H2.exports=Fu});var Lu=_e($2=>{$2.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}});var Mu=_e(tn=>{var G2="[0-9]+",Xw="[A-Z $%*+\\-./:]+",ds="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";ds=ds.replace(/u/g,"\\u");var Jw="(?:(?![A-Z0-9 $%*+\\-./:]|"+ds+`)(?:.|[\r
3
+ ]))+`;tn.KANJI=new RegExp(ds,"g");tn.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");tn.BYTE=new RegExp(Jw,"g");tn.NUMERIC=new RegExp(G2,"g");tn.ALPHANUMERIC=new RegExp(Xw,"g");var Yw=new RegExp("^"+ds+"$"),Zw=new RegExp("^"+G2+"$"),Qw=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");tn.testKanji=function(t){return Yw.test(t)};tn.testNumeric=function(t){return Zw.test(t)};tn.testAlphanumeric=function(t){return Qw.test(t)}});var Tn=_e(nt=>{var e3=Lu(),Nu=Mu();nt.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]};nt.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]};nt.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]};nt.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]};nt.MIXED={bit:-1};nt.getCharCountIndicator=function(t,r){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!e3.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?t.ccBits[0]:r<27?t.ccBits[1]:t.ccBits[2]};nt.getBestModeForData=function(t){return Nu.testNumeric(t)?nt.NUMERIC:Nu.testAlphanumeric(t)?nt.ALPHANUMERIC:Nu.testKanji(t)?nt.KANJI:nt.BYTE};nt.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")};nt.isValid=function(t){return t&&t.bit&&t.ccBits};function t3(e){if(typeof e!="string")throw new Error("Param is not a string");switch(e.toLowerCase()){case"numeric":return nt.NUMERIC;case"alphanumeric":return nt.ALPHANUMERIC;case"kanji":return nt.KANJI;case"byte":return nt.BYTE;default:throw new Error("Unknown mode: "+e)}}nt.from=function(t,r){if(nt.isValid(t))return t;try{return t3(t)}catch{return r}}});var Y2=_e(ri=>{var il=xn(),r3=Ou(),q2=Zc(),In=Tn(),zu=Lu(),X2=7973,K2=il.getBCHDigit(X2);function n3(e,t,r){for(let n=1;n<=40;n++)if(t<=ri.getCapacity(n,r,e))return n}function J2(e,t){return In.getCharCountIndicator(e,t)+4}function i3(e,t){let r=0;return e.forEach(function(n){let i=J2(n.mode,t);r+=i+n.getBitsLength()}),r}function o3(e,t){for(let r=1;r<=40;r++)if(i3(e,r)<=ri.getCapacity(r,t,In.MIXED))return r}ri.from=function(t,r){return zu.isValid(t)?parseInt(t,10):r};ri.getCapacity=function(t,r,n){if(!zu.isValid(t))throw new Error("Invalid QR Code version");typeof n>"u"&&(n=In.BYTE);let i=il.getSymbolTotalCodewords(t),o=r3.getTotalCodewordsCount(t,r),s=(i-o)*8;if(n===In.MIXED)return s;let a=s-J2(n,t);switch(n){case In.NUMERIC:return Math.floor(a/10*3);case In.ALPHANUMERIC:return Math.floor(a/11*2);case In.KANJI:return Math.floor(a/13);case In.BYTE:default:return Math.floor(a/8)}};ri.getBestVersionForData=function(t,r){let n,i=q2.from(r,q2.M);if(Array.isArray(t)){if(t.length>1)return o3(t,i);if(t.length===0)return 1;n=t[0]}else n=t;return n3(n.mode,n.getLength(),i)};ri.getEncodedBits=function(t){if(!zu.isValid(t)||t<7)throw new Error("Invalid QR Code version");let r=t<<12;for(;il.getBCHDigit(r)-K2>=0;)r^=X2<<il.getBCHDigit(r)-K2;return t<<12|r}});var ty=_e(ey=>{var ju=xn(),Q2=1335,s3=21522,Z2=ju.getBCHDigit(Q2);ey.getEncodedBits=function(t,r){let n=t.bit<<3|r,i=n<<10;for(;ju.getBCHDigit(i)-Z2>=0;)i^=Q2<<ju.getBCHDigit(i)-Z2;return(n<<10|i)^s3}});var ny=_e((NT,ry)=>{var a3=Tn();function so(e){this.mode=a3.NUMERIC,this.data=e.toString()}so.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)};so.prototype.getLength=function(){return this.data.length};so.prototype.getBitsLength=function(){return so.getBitsLength(this.data.length)};so.prototype.write=function(t){let r,n,i;for(r=0;r+3<=this.data.length;r+=3)n=this.data.substr(r,3),i=parseInt(n,10),t.put(i,10);let o=this.data.length-r;o>0&&(n=this.data.substr(r),i=parseInt(n,10),t.put(i,o*3+1))};ry.exports=so});var oy=_e((zT,iy)=>{var c3=Tn(),Vu=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function ao(e){this.mode=c3.ALPHANUMERIC,this.data=e}ao.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};ao.prototype.getLength=function(){return this.data.length};ao.prototype.getBitsLength=function(){return ao.getBitsLength(this.data.length)};ao.prototype.write=function(t){let r;for(r=0;r+2<=this.data.length;r+=2){let n=Vu.indexOf(this.data[r])*45;n+=Vu.indexOf(this.data[r+1]),t.put(n,11)}this.data.length%2&&t.put(Vu.indexOf(this.data[r]),6)};iy.exports=ao});var ay=_e((jT,sy)=>{var l3=Tn();function co(e){this.mode=l3.BYTE,typeof e=="string"?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}co.getBitsLength=function(t){return t*8};co.prototype.getLength=function(){return this.data.length};co.prototype.getBitsLength=function(){return co.getBitsLength(this.data.length)};co.prototype.write=function(e){for(let t=0,r=this.data.length;t<r;t++)e.put(this.data[t],8)};sy.exports=co});var ly=_e((VT,cy)=>{var h3=Tn(),d3=xn();function lo(e){this.mode=h3.KANJI,this.data=e}lo.getBitsLength=function(t){return t*13};lo.prototype.getLength=function(){return this.data.length};lo.prototype.getBitsLength=function(){return lo.getBitsLength(this.data.length)};lo.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let r=d3.toSJIS(this.data[t]);if(r>=33088&&r<=40956)r-=33088;else if(r>=57408&&r<=60351)r-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+`
4
+ Make sure your charset is UTF-8`);r=(r>>>8&255)*192+(r&255),e.put(r,13)}};cy.exports=lo});var hy=_e((HT,Hu)=>{"use strict";var us={single_source_shortest_paths:function(e,t,r){var n={},i={};i[t]=0;var o=us.PriorityQueue.make();o.push(t,0);for(var s,a,c,l,h,d,g,p,m;!o.empty();){s=o.pop(),a=s.value,l=s.cost,h=e[a]||{};for(c in h)h.hasOwnProperty(c)&&(d=h[c],g=l+d,p=i[c],m=typeof i[c]>"u",(m||p>g)&&(i[c]=g,o.push(c,g),n[c]=a))}if(typeof r<"u"&&typeof i[r]>"u"){var u=["Could not find a path from ",t," to ",r,"."].join("");throw new Error(u)}return n},extract_shortest_path_from_predecessor_list:function(e,t){for(var r=[],n=t,i;n;)r.push(n),i=e[n],n=e[n];return r.reverse(),r},find_path:function(e,t,r){var n=us.single_source_shortest_paths(e,t,r);return us.extract_shortest_path_from_predecessor_list(n,r)},PriorityQueue:{make:function(e){var t=us.PriorityQueue,r={},n;e=e||{};for(n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);return r.queue=[],r.sorter=e.sorter||t.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var r={value:e,cost:t};this.queue.push(r),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};typeof Hu<"u"&&(Hu.exports=us)});var by=_e(ho=>{var Se=Tn(),py=ny(),fy=oy(),my=ay(),gy=ly(),ps=Mu(),ol=xn(),u3=hy();function dy(e){return unescape(encodeURIComponent(e)).length}function fs(e,t,r){let n=[],i;for(;(i=e.exec(r))!==null;)n.push({data:i[0],index:i.index,mode:t,length:i[0].length});return n}function yy(e){let t=fs(ps.NUMERIC,Se.NUMERIC,e),r=fs(ps.ALPHANUMERIC,Se.ALPHANUMERIC,e),n,i;return ol.isKanjiModeEnabled()?(n=fs(ps.BYTE,Se.BYTE,e),i=fs(ps.KANJI,Se.KANJI,e)):(n=fs(ps.BYTE_KANJI,Se.BYTE,e),i=[]),t.concat(r,n,i).sort(function(s,a){return s.index-a.index}).map(function(s){return{data:s.data,mode:s.mode,length:s.length}})}function Wu(e,t){switch(t){case Se.NUMERIC:return py.getBitsLength(e);case Se.ALPHANUMERIC:return fy.getBitsLength(e);case Se.KANJI:return gy.getBitsLength(e);case Se.BYTE:return my.getBitsLength(e)}}function p3(e){return e.reduce(function(t,r){let n=t.length-1>=0?t[t.length-1]:null;return n&&n.mode===r.mode?(t[t.length-1].data+=r.data,t):(t.push(r),t)},[])}function f3(e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];switch(n.mode){case Se.NUMERIC:t.push([n,{data:n.data,mode:Se.ALPHANUMERIC,length:n.length},{data:n.data,mode:Se.BYTE,length:n.length}]);break;case Se.ALPHANUMERIC:t.push([n,{data:n.data,mode:Se.BYTE,length:n.length}]);break;case Se.KANJI:t.push([n,{data:n.data,mode:Se.BYTE,length:dy(n.data)}]);break;case Se.BYTE:t.push([{data:n.data,mode:Se.BYTE,length:dy(n.data)}])}}return t}function m3(e,t){let r={},n={start:{}},i=["start"];for(let o=0;o<e.length;o++){let s=e[o],a=[];for(let c=0;c<s.length;c++){let l=s[c],h=""+o+c;a.push(h),r[h]={node:l,lastCount:0},n[h]={};for(let d=0;d<i.length;d++){let g=i[d];r[g]&&r[g].node.mode===l.mode?(n[g][h]=Wu(r[g].lastCount+l.length,l.mode)-Wu(r[g].lastCount,l.mode),r[g].lastCount+=l.length):(r[g]&&(r[g].lastCount=l.length),n[g][h]=Wu(l.length,l.mode)+4+Se.getCharCountIndicator(l.mode,t))}}i=a}for(let o=0;o<i.length;o++)n[i[o]].end=0;return{map:n,table:r}}function uy(e,t){let r,n=Se.getBestModeForData(e);if(r=Se.from(t,n),r!==Se.BYTE&&r.bit<n.bit)throw new Error('"'+e+'" cannot be encoded with mode '+Se.toString(r)+`.
5
+ Suggested mode is: `+Se.toString(n));switch(r===Se.KANJI&&!ol.isKanjiModeEnabled()&&(r=Se.BYTE),r){case Se.NUMERIC:return new py(e);case Se.ALPHANUMERIC:return new fy(e);case Se.KANJI:return new gy(e);case Se.BYTE:return new my(e)}}ho.fromArray=function(t){return t.reduce(function(r,n){return typeof n=="string"?r.push(uy(n,null)):n.data&&r.push(uy(n.data,n.mode)),r},[])};ho.fromString=function(t,r){let n=yy(t,ol.isKanjiModeEnabled()),i=f3(n),o=m3(i,r),s=u3.find_path(o.map,"start","end"),a=[];for(let c=1;c<s.length-1;c++)a.push(o.table[s[c]].node);return ho.fromArray(p3(a))};ho.rawSplit=function(t){return ho.fromArray(yy(t,ol.isKanjiModeEnabled()))}});var _y=_e(vy=>{var al=xn(),$u=Zc(),g3=D2(),y3=O2(),b3=U2(),v3=M2(),Ku=N2(),Xu=Ou(),_3=W2(),sl=Y2(),w3=ty(),S3=Tn(),Gu=by();function k3(e,t){let r=e.size,n=v3.getPositions(t);for(let i=0;i<n.length;i++){let o=n[i][0],s=n[i][1];for(let a=-1;a<=7;a++)if(!(o+a<=-1||r<=o+a))for(let c=-1;c<=7;c++)s+c<=-1||r<=s+c||(a>=0&&a<=6&&(c===0||c===6)||c>=0&&c<=6&&(a===0||a===6)||a>=2&&a<=4&&c>=2&&c<=4?e.set(o+a,s+c,!0,!0):e.set(o+a,s+c,!1,!0))}}function E3(e){let t=e.size;for(let r=8;r<t-8;r++){let n=r%2===0;e.set(r,6,n,!0),e.set(6,r,n,!0)}}function C3(e,t){let r=b3.getPositions(t);for(let n=0;n<r.length;n++){let i=r[n][0],o=r[n][1];for(let s=-2;s<=2;s++)for(let a=-2;a<=2;a++)s===-2||s===2||a===-2||a===2||s===0&&a===0?e.set(i+s,o+a,!0,!0):e.set(i+s,o+a,!1,!0)}}function x3(e,t){let r=e.size,n=sl.getEncodedBits(t),i,o,s;for(let a=0;a<18;a++)i=Math.floor(a/3),o=a%3+r-8-3,s=(n>>a&1)===1,e.set(i,o,s,!0),e.set(o,i,s,!0)}function qu(e,t,r){let n=e.size,i=w3.getEncodedBits(t,r),o,s;for(o=0;o<15;o++)s=(i>>o&1)===1,o<6?e.set(o,8,s,!0):o<8?e.set(o+1,8,s,!0):e.set(n-15+o,8,s,!0),o<8?e.set(8,n-o-1,s,!0):o<9?e.set(8,15-o-1+1,s,!0):e.set(8,15-o-1,s,!0);e.set(n-8,8,1,!0)}function A3(e,t){let r=e.size,n=-1,i=r-1,o=7,s=0;for(let a=r-1;a>0;a-=2)for(a===6&&a--;;){for(let c=0;c<2;c++)if(!e.isReserved(i,a-c)){let l=!1;s<t.length&&(l=(t[s]>>>o&1)===1),e.set(i,a-c,l),o--,o===-1&&(s++,o=7)}if(i+=n,i<0||r<=i){i-=n,n=-n;break}}}function T3(e,t,r){let n=new g3;r.forEach(function(c){n.put(c.mode.bit,4),n.put(c.getLength(),S3.getCharCountIndicator(c.mode,e)),c.write(n)});let i=al.getSymbolTotalCodewords(e),o=Xu.getTotalCodewordsCount(e,t),s=(i-o)*8;for(n.getLengthInBits()+4<=s&&n.put(0,4);n.getLengthInBits()%8!==0;)n.putBit(0);let a=(s-n.getLengthInBits())/8;for(let c=0;c<a;c++)n.put(c%2?17:236,8);return I3(n,e,t)}function I3(e,t,r){let n=al.getSymbolTotalCodewords(t),i=Xu.getTotalCodewordsCount(t,r),o=n-i,s=Xu.getBlocksCount(t,r),a=n%s,c=s-a,l=Math.floor(n/s),h=Math.floor(o/s),d=h+1,g=l-h,p=new _3(g),m=0,u=new Array(s),b=new Array(s),_=0,E=new Uint8Array(e.buffer);for(let R=0;R<s;R++){let N=R<c?h:d;u[R]=E.slice(m,m+N),b[R]=p.encode(u[R]),m+=N,_=Math.max(_,N)}let k=new Uint8Array(n),P=0,x,A;for(x=0;x<_;x++)for(A=0;A<s;A++)x<u[A].length&&(k[P++]=u[A][x]);for(x=0;x<g;x++)for(A=0;A<s;A++)k[P++]=b[A][x];return k}function R3(e,t,r,n){let i;if(Array.isArray(e))i=Gu.fromArray(e);else if(typeof e=="string"){let l=t;if(!l){let h=Gu.rawSplit(e);l=sl.getBestVersionForData(h,r)}i=Gu.fromString(e,l||40)}else throw new Error("Invalid data");let o=sl.getBestVersionForData(i,r);if(!o)throw new Error("The amount of data is too big to be stored in a QR Code");if(!t)t=o;else if(t<o)throw new Error(`
6
6
  The chosen QR Code version cannot contain this amount of data.
7
7
  Minimum version required to store current data is: `+o+`.
8
- `);let s=kw(t,r,i),a=il.getSymbolSize(t),c=new uw(a);return bw(c,t),vw(c),_w(c,t),Wu(c,r,0),t>=7&&ww(c,t),Sw(c,s),isNaN(n)&&(n=$u.getBestMask(c,Wu.bind(null,c,r))),$u.applyMask(n,c),Wu(c,r,n),{modules:c,version:t,errorCorrectionLevel:r,maskPattern:n,segments:i}}py.create=function(t,r){if(typeof t>"u"||t==="")throw new Error("No input text");let n=Vu.M,i,o;return typeof r<"u"&&(n=Vu.from(r.errorCorrectionLevel,Vu.M),i=nl.from(r.version),o=$u.from(r.maskPattern),r.toSJISFunc&&il.setToSJISFunction(r.toSJISFunc)),Ew(t,i,n,o)}});var qu=_e(ni=>{function my(e){if(typeof e=="number"&&(e=e.toString()),typeof e!="string")throw new Error("Color should be defined as hex string");let t=e.slice().replace("#","").split("");if(t.length<3||t.length===5||t.length>8)throw new Error("Invalid hex color: "+e);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(n){return[n,n]}))),t.length===6&&t.push("F","F");let r=parseInt(t.join(""),16);return{r:r>>24&255,g:r>>16&255,b:r>>8&255,a:r&255,hex:"#"+t.slice(0,6).join("")}}ni.getOptions=function(t){t||(t={}),t.color||(t.color={});let r=typeof t.margin>"u"||t.margin===null||t.margin<0?4:t.margin,n=t.width&&t.width>=21?t.width:void 0,i=t.scale||4;return{width:n,scale:n?4:i,margin:r,color:{dark:my(t.color.dark||"#000000ff"),light:my(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}};ni.getScale=function(t,r){return r.width&&r.width>=t+r.margin*2?r.width/(t+r.margin*2):r.scale};ni.getImageWidth=function(t,r){let n=ni.getScale(t,r);return Math.floor((t+r.margin*2)*n)};ni.qrToImageData=function(t,r,n){let i=r.modules.size,o=r.modules.data,s=ni.getScale(i,n),a=Math.floor((i+n.margin*2)*s),c=n.margin*s,l=[n.color.light,n.color.dark];for(let h=0;h<a;h++)for(let d=0;d<a;d++){let m=(h*a+d)*4,p=n.color.light;if(h>=c&&d>=c&&h<a-c&&d<a-c){let g=Math.floor((h-c)/s),f=Math.floor((d-c)/s);p=l[o[g*i+f]?1:0]}t[m++]=p.r,t[m++]=p.g,t[m++]=p.b,t[m]=p.a}}});var gy=_e(ol=>{var Ku=qu();function Cw(e,t,r){e.clearRect(0,0,t.width,t.height),t.style||(t.style={}),t.height=r,t.width=r,t.style.height=r+"px",t.style.width=r+"px"}function Aw(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}ol.render=function(t,r,n){let i=n,o=r;typeof i>"u"&&(!r||!r.getContext)&&(i=r,r=void 0),r||(o=Aw()),i=Ku.getOptions(i);let s=Ku.getImageWidth(t.modules.size,i),a=o.getContext("2d"),c=a.createImageData(s,s);return Ku.qrToImageData(c.data,t,i),Cw(a,o,s),a.putImageData(c,0,0),o};ol.renderToDataURL=function(t,r,n){let i=n;typeof i>"u"&&(!r||!r.getContext)&&(i=r,r=void 0),i||(i={});let o=ol.render(t,r,i),s=i.type||"image/png",a=i.rendererOpts||{};return o.toDataURL(s,a.quality)}});var vy=_e(by=>{var Tw=qu();function yy(e,t){let r=e.a/255,n=t+'="'+e.hex+'"';return r<1?n+" "+t+'-opacity="'+r.toFixed(2).slice(1)+'"':n}function Xu(e,t,r){let n=e+t;return typeof r<"u"&&(n+=" "+r),n}function Iw(e,t,r){let n="",i=0,o=!1,s=0;for(let a=0;a<e.length;a++){let c=Math.floor(a%t),l=Math.floor(a/t);!c&&!o&&(o=!0),e[a]?(s++,a>0&&c>0&&e[a-1]||(n+=o?Xu("M",c+r,.5+l+r):Xu("m",i,0),i=0,o=!1),c+1<t&&e[a+1]||(n+=Xu("h",s),s=0)):i++}return n}by.render=function(t,r,n){let i=Tw.getOptions(r),o=t.modules.size,s=t.modules.data,a=o+i.margin*2,c=i.color.light.a?"<path "+yy(i.color.light,"fill")+' d="M0 0h'+a+"v"+a+'H0z"/>':"",l="<path "+yy(i.color.dark,"stroke")+' d="'+Iw(s,o,i.margin)+'"/>',h='viewBox="0 0 '+a+" "+a+'"',m='<svg xmlns="http://www.w3.org/2000/svg" '+(i.width?'width="'+i.width+'" height="'+i.width+'" ':"")+h+' shape-rendering="crispEdges">'+c+l+`</svg>
9
- `;return typeof n=="function"&&n(null,m),m}});var wy=_e(fs=>{var Rw=k2(),Ju=fy(),_y=gy(),Pw=vy();function Yu(e,t,r,n,i){let o=[].slice.call(arguments,1),s=o.length,a=typeof o[s-1]=="function";if(!a&&!Rw())throw new Error("Callback required as last argument");if(a){if(s<2)throw new Error("Too few arguments provided");s===2?(i=r,r=t,t=n=void 0):s===3&&(t.getContext&&typeof i>"u"?(i=n,n=void 0):(i=n,n=r,r=t,t=void 0))}else{if(s<1)throw new Error("Too few arguments provided");return s===1?(r=t,t=n=void 0):s===2&&!t.getContext&&(n=r,r=t,t=void 0),new Promise(function(c,l){try{let h=Ju.create(r,n);c(e(h,t,n))}catch(h){l(h)}})}try{let c=Ju.create(r,n);i(null,e(c,t,n))}catch(c){i(c)}}fs.create=Ju.create;fs.toCanvas=Yu.bind(null,_y.render);fs.toDataURL=Yu.bind(null,_y.renderToDataURL);fs.toString=Yu.bind(null,function(e,t,r){return Pw.render(e,r)})});async function bs(){if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia)return!1;try{let e={audio:!0,video:!0};return(await navigator.mediaDevices.getUserMedia(e)).getTracks().forEach(r=>{r.stop()}),!0}catch{return!1}}async function vs(){return new Promise((e,t)=>{let r=window.screen.isExtended;if(r)e(r);else if(navigator.userAgent.indexOf("Firefox")>-1)e(!1);else{let i=[];window.getScreenDetails().then(function(o){i=o,e(i.screens.length>=2)})}})}async function pr(){let e=["OBS","ManyCam","Snap Camera","Virtual"],r=(await navigator.mediaDevices.enumerateDevices()).filter(i=>!e.some(o=>i.deviceId.includes(o)||i.label.includes(o)));return{cameras:r.filter(i=>i.kind=="videoinput"&&i.deviceId).map(i=>({label:i.label||"Generic Device",id:i.deviceId})),microphones:r.filter(i=>i.kind=="audioinput"&&i.deviceId).map(i=>({label:i.label||"Generic Device",id:i.deviceId}))}}var Nn=typeof self<"u"?self:{};function Un(){throw Error("Invalid UTF8")}function tp(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}var _s,ul,Dy=typeof TextDecoder<"u",By,Oy=typeof TextEncoder<"u";function ff(e){if(Oy)e=(By||=new TextEncoder).encode(e);else{let r=0,n=new Uint8Array(3*e.length);for(let i=0;i<e.length;i++){var t=e.charCodeAt(i);if(t<128)n[r++]=t;else{if(t<2048)n[r++]=t>>6|192;else{if(t>=55296&&t<=57343){if(t<=56319&&i<e.length){let o=e.charCodeAt(++i);if(o>=56320&&o<=57343){t=1024*(t-55296)+o-56320+65536,n[r++]=t>>18|240,n[r++]=t>>12&63|128,n[r++]=t>>6&63|128,n[r++]=63&t|128;continue}i--}t=65533}n[r++]=t>>12|224,n[r++]=t>>6&63|128}n[r++]=63&t|128}}e=r===n.length?n:n.subarray(0,r)}return e}var $l,Bs;e:{for(pl=["CLOSURE_FLAGS"],ws=Nn,Ss=0;Ss<pl.length;Ss++)if((ws=ws[pl[Ss]])==null){Bs=null;break e}Bs=ws}var pl,ws,Ss,_o,rp=Bs&&Bs[610401301];$l=rp!=null&&rp;var np=Nn.navigator;function El(e){return!!$l&&!!_o&&_o.brands.some((({brand:t})=>t&&t.indexOf(e)!=-1))}function Yt(e){var t;return(t=Nn.navigator)&&(t=t.userAgent)||(t=""),t.indexOf(e)!=-1}function on(){return!!$l&&!!_o&&_o.brands.length>0}function fl(){return on()?El("Chromium"):(Yt("Chrome")||Yt("CriOS"))&&!(!on()&&Yt("Edge"))||Yt("Silk")}function Gl(e){return Gl[" "](e),e}_o=np&&np.userAgentData||null,Gl[" "]=function(){};var Uy=!on()&&(Yt("Trident")||Yt("MSIE"));!Yt("Android")||fl(),fl(),Yt("Safari")&&(fl()||!on()&&Yt("Coast")||!on()&&Yt("Opera")||!on()&&Yt("Edge")||(on()?El("Microsoft Edge"):Yt("Edg/"))||on()&&El("Opera"));var mf={},fo=null;function Fy(e){let t=e.length,r=3*t/4;r%3?r=Math.floor(r):"=.".indexOf(e[t-1])!=-1&&(r="=.".indexOf(e[t-2])!=-1?r-2:r-1);let n=new Uint8Array(r),i=0;return(function(o,s){function a(l){for(;c<o.length;){let h=o.charAt(c++),d=fo[h];if(d!=null)return d;if(!/^[\s\xa0]*$/.test(h))throw Error("Unknown base64 encoding at char: "+h)}return l}gf();let c=0;for(;;){let l=a(-1),h=a(0),d=a(64),m=a(64);if(m===64&&l===-1)break;s(l<<2|h>>4),d!=64&&(s(h<<4&240|d>>2),m!=64&&s(d<<6&192|m))}})(e,(function(o){n[i++]=o})),i!==r?n.subarray(0,i):n}function gf(){if(!fo){fo={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){let n=e.concat(t[r].split(""));mf[r]=n;for(let i=0;i<n.length;i++){let o=n[i];fo[o]===void 0&&(fo[o]=i)}}}}var yf=typeof Uint8Array<"u",bf=!Uy&&typeof btoa=="function";function ip(e){if(!bf){var t;t===void 0&&(t=0),gf(),t=mf[t];var r=Array(Math.floor(e.length/3)),n=t[64]||"";let c=0,l=0;for(;c<e.length-2;c+=3){var i=e[c],o=e[c+1],s=e[c+2],a=t[i>>2];i=t[(3&i)<<4|o>>4],o=t[(15&o)<<2|s>>6],s=t[63&s],r[l++]=a+i+o+s}switch(a=0,s=n,e.length-c){case 2:s=t[(15&(a=e[c+1]))<<2]||n;case 1:e=e[c],r[l]=t[e>>2]+t[(3&e)<<4|a>>4]+s+n}return r.join("")}for(t="",r=0,n=e.length-10240;r<n;)t+=String.fromCharCode.apply(null,e.subarray(r,r+=10240));return t+=String.fromCharCode.apply(null,r?e.subarray(r):e),btoa(t)}var op=/[-_.]/g,Ly={"-":"+",_:"/",".":"="};function My(e){return Ly[e]||""}function vf(e){if(!bf)return Fy(e);op.test(e)&&(e=e.replace(op,My)),e=atob(e);let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function Eo(e){return yf&&e!=null&&e instanceof Uint8Array}var fi={};function zn(){return Ny||=new Gr(null,fi)}function ql(e){_f(fi);var t=e.g;return(t=t==null||Eo(t)?t:typeof t=="string"?vf(t):null)==null?t:e.g=t}var Gr=class{h(){return new Uint8Array(ql(this)||0)}constructor(e,t){if(_f(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}},Ny,zy;function _f(e){if(e!==fi)throw Error("illegal external caller")}function wf(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function Cl(e){return wf(e=Error(e),"warning"),e}var Hs=typeof Symbol=="function"&&typeof Symbol()=="symbol",jy=new Set;function Co(e,t,r=!1,n=!1){return e=typeof Symbol=="function"&&typeof Symbol()=="symbol"?n&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t,r&&jy.add(e),e}var Vy=Co("jas",void 0,!0,!0),sp=Co(void 0,"0di"),ml=Co(void 0,"2ex"),ho=Co(void 0,"1oa",!0),mi=Co(void 0,Symbol(),!0),ee=Hs?Vy:"Ga",Sf={Ga:{value:0,configurable:!0,writable:!0,enumerable:!1}},kf=Object.defineProperties;function Ws(e,t){Hs||ee in e||kf(e,Sf),e[ee]|=t}function Qe(e,t){Hs||ee in e||kf(e,Sf),e[ee]=t}function xi(e){return Ws(e,34),e}function Hy(e,t){Qe(t,-30975&(0|e))}function Al(e,t){Qe(t,-30941&(34|e))}function Kl(){return typeof BigInt=="function"}function Tt(e){return Array.prototype.slice.call(e)}var Xl,Ao={},xf={};function ap(e){return!(!e||typeof e!="object"||e.Ia!==xf)}function Jl(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&e.constructor===Object}function Yl(e,t){if(e!=null){if(typeof e=="string")e=e?new Gr(e,fi):zn();else if(e.constructor!==Gr)if(Eo(e))e=e.length?new Gr(new Uint8Array(e),fi):zn();else{if(!t)throw Error();e=void 0}}return e}function Os(e){return!(!Array.isArray(e)||e.length)&&!!(1&(0|e[ee]))}var cp=[];function un(e){if(2&e)throw Error()}Qe(cp,55),Xl=Object.freeze(cp);var Us=class e{constructor(t,r,n){this.l=0,this.g=t,this.h=r,this.m=n}next(){if(this.l<this.g.length){let t=this.g[this.l++];return{done:!1,value:this.h?this.h.call(this.m,t):t}}return{done:!0,value:void 0}}[Symbol.iterator](){return new e(this.g,this.h,this.m)}};function Zl(e){return mi?e[mi]:void 0}var Wy=Object.freeze({});function $s(e){return e.Qa=!0,e}var $y=$s((e=>typeof e=="number")),lp=$s((e=>typeof e=="string")),Gy=$s((e=>typeof e=="boolean")),Gs=typeof Nn.BigInt=="function"&&typeof Nn.BigInt(0)=="bigint",Tl=$s((e=>Gs?e>=Ky&&e<=Jy:e[0]==="-"?hp(e,qy):hp(e,Xy))),qy=Number.MIN_SAFE_INTEGER.toString(),Ky=Gs?BigInt(Number.MIN_SAFE_INTEGER):void 0,Xy=Number.MAX_SAFE_INTEGER.toString(),Jy=Gs?BigInt(Number.MAX_SAFE_INTEGER):void 0;function hp(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(let r=0;r<e.length;r++){let n=e[r],i=t[r];if(n>i)return!1;if(n<i)return!0}}var Yy=typeof Uint8Array.prototype.slice=="function",Ef,Ae=0,We=0;function dp(e){let t=e>>>0;Ae=t,We=(e-t)/4294967296>>>0}function gi(e){if(e<0){dp(-e);let[t,r]=rh(Ae,We);Ae=t>>>0,We=r>>>0}else dp(e)}function Ql(e){let t=Ef||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),We=0,Ae=t.getUint32(0,!0)}function eh(e,t){let r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:wo(e,t)}function th(e,t){let r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=eh(e,t))=="number"?r?-e:e:r?"-"+e:e}function wo(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else Kl()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+up(r)+up(e));return r}function up(e){return e=String(e),"0000000".slice(e.length)+e}function qs(e){if(e.length<16)gi(Number(e));else if(Kl())e=BigInt(e),Ae=Number(e&BigInt(4294967295))>>>0,We=Number(e>>BigInt(32)&BigInt(4294967295));else{let t=+(e[0]==="-");We=Ae=0;let r=e.length;for(let n=t,i=(r-t)%6+t;i<=r;n=i,i+=6){let o=Number(e.slice(n,i));We*=1e6,Ae=1e6*Ae+o,Ae>=4294967296&&(We+=Math.trunc(Ae/4294967296),We>>>=0,Ae>>>=0)}if(t){let[n,i]=rh(Ae,We);Ae=n,We=i}}}function rh(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}var nh=typeof BigInt=="function"?BigInt.asIntN:void 0,Zy=typeof BigInt=="function"?BigInt.asUintN:void 0,li=Number.isSafeInteger,Ks=Number.isFinite,Fs=Math.trunc;function pn(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function Cf(e){return e==null||typeof e=="boolean"?e:typeof e=="number"?!!e:void 0}var Qy=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Xs(e){switch(typeof e){case"bigint":return!0;case"number":return Ks(e);case"string":return Qy.test(e);default:return!1}}function Ei(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return Ks(e)?0|e:void 0}function Af(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return Ks(e)?e>>>0:void 0}function pp(e){if(e[0]==="-")return!1;let t=e.length;return t<20||t===20&&Number(e.substring(0,6))<184467}function ih(e){return e=Fs(e),li(e)||(gi(e),e=th(Ae,We)),e}function oh(e){var t=Fs(Number(e));if(li(t))return String(t);if((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),t=e.length,!(e[0]==="-"?t<20||t===20&&Number(e.substring(0,7))>-922337:t<19||t===19&&Number(e.substring(0,6))<922337))if(qs(e),e=Ae,2147483648&(t=We))if(Kl())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{let[r,n]=rh(e,t);e="-"+wo(r,n)}else e=wo(e,t);return e}function Ls(e){return e==null?e:typeof e=="bigint"?(Tl(e)?e=Number(e):(e=nh(64,e),e=Tl(e)?Number(e):String(e)),e):Xs(e)?typeof e=="number"?ih(e):oh(e):void 0}function eb(e){if(e==null)return e;var t=typeof e;if(t==="bigint")return String(Zy(64,e));if(Xs(e)){if(t==="string")return t=Fs(Number(e)),li(t)&&t>=0?e=String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),pp(e)||(qs(e),e=wo(Ae,We))),e;if(t==="number")return(e=Fs(e))>=0&&li(e)?e:(function(r){if(r<0){gi(r);var n=wo(Ae,We);return r=Number(n),li(r)?r:n}return pp(n=String(r))?n:(gi(r),eh(Ae,We))})(e)}}function Tf(e){if(typeof e!="string")throw Error();return e}function Ci(e){if(e!=null&&typeof e!="string")throw Error();return e}function yi(e){return e==null||typeof e=="string"?e:void 0}function sh(e,t,r,n){if(e!=null&&typeof e=="object"&&e.W===Ao)return e;if(!Array.isArray(e))return r?2&n?((e=t[sp])||(xi((e=new t).u),e=t[sp]=e),t=e):t=new t:t=void 0,t;let i=r=0|e[ee];return i===0&&(i|=32&n),i|=2&n,i!==r&&Qe(e,i),new t(e)}function tb(e,t,r){if(t)e:{if(!Xs(t=e))throw Cl("int64");switch(typeof t){case"string":t=oh(t);break e;case"bigint":if(e=t=nh(64,t),lp(e)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(e))throw Error(String(e))}else if($y(e)&&!Number.isSafeInteger(e))throw Error(String(e));t=Gs?BigInt(t):Gy(t)?t?"1":"0":lp(t)?t.trim()||"0":String(t);break e;default:t=ih(t)}}else t=Ls(e);return typeof(r=(e=t)==null?r?0:void 0:e)=="string"&&li(t=+r)?t:r}var rb={},nb=(function(){try{return Gl(new class extends Map{constructor(){super()}}),!1}catch{return!0}})(),go=class{constructor(){this.g=new Map}get(t){return this.g.get(t)}set(t,r){return this.g.set(t,r),this.size=this.g.size,this}delete(t){return t=this.g.delete(t),this.size=this.g.size,t}clear(){this.g.clear(),this.size=this.g.size}has(t){return this.g.has(t)}entries(){return this.g.entries()}keys(){return this.g.keys()}values(){return this.g.values()}forEach(t,r){return this.g.forEach(t,r)}[Symbol.iterator](){return this.entries()}},ib=nb?(Object.setPrototypeOf(go.prototype,Map.prototype),Object.defineProperties(go.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),go):class extends Map{constructor(){super()}};function fp(e){return e}function gl(e){if(2&e.L)throw Error("Cannot mutate an immutable Map")}var Qt=class extends ib{constructor(e,t,r=fp,n=fp){super();let i=0|e[ee];i|=64,Qe(e,i),this.L=i,this.S=t,this.R=r,this.Y=this.S?ob:n;for(let o=0;o<e.length;o++){let s=e[o],a=r(s[0],!1,!0),c=s[1];t?c===void 0&&(c=null):c=n(s[1],!1,!0,void 0,void 0,i),super.set(a,c)}}na(e=mp){if(this.size!==0)return this.X(e)}X(e=mp){let t=[],r=super.entries();for(var n;!(n=r.next()).done;)(n=n.value)[0]=e(n[0]),n[1]=e(n[1]),t.push(n);return t}clear(){gl(this),super.clear()}delete(e){return gl(this),super.delete(this.R(e,!0,!1))}entries(){var e=this.ma();return new Us(e,sb,this)}keys(){return this.Ha()}values(){var e=this.ma();return new Us(e,Qt.prototype.get,this)}forEach(e,t){super.forEach(((r,n)=>{e.call(t,this.get(n),n,this)}))}set(e,t){return gl(this),(e=this.R(e,!0,!1))==null?this:t==null?(super.delete(e),this):super.set(e,this.Y(t,!0,!0,this.S,!1,this.L))}Na(e){let t=this.R(e[0],!1,!0);e=e[1],e=this.S?e===void 0?null:e:this.Y(e,!1,!0,void 0,!1,this.L),super.set(t,e)}has(e){return super.has(this.R(e,!1,!1))}get(e){e=this.R(e,!1,!1);let t=super.get(e);if(t!==void 0){var r=this.S;return r?((r=this.Y(t,!1,!0,r,this.ra,this.L))!==t&&super.set(e,r),r):t}}ma(){return Array.from(super.keys())}Ha(){return super.keys()}[Symbol.iterator](){return this.entries()}};function ob(e,t,r,n,i,o){return e=sh(e,n,r,o),i&&(e=Ys(e)),e}function mp(e){return e}function sb(e){return[e,this.get(e)]}var ab,If,cb;function gp(){return ab||=new Qt(xi([]),void 0,void 0,void 0,rb)}function ah(e,t,r,n,i){if(e!=null){if(Array.isArray(e))e=Os(e)?void 0:i&&2&(0|e[ee])?e:ch(e,t,r,n!==void 0,i);else if(Jl(e)){let o={};for(let s in e)o[s]=ah(e[s],t,r,n,i);e=o}else e=t(e,n);return e}}function ch(e,t,r,n,i){let o=n||r?0|e[ee]:0,s=n?!!(32&o):void 0;n=Tt(e);for(let a=0;a<n.length;a++)n[a]=ah(n[a],t,r,s,i);return r&&((e=Zl(e))&&(n[mi]=Tt(e)),r(o,n)),n}function lb(e){return ah(e,Rf,void 0,void 0,!1)}function Rf(e){return e.W===Ao?e.toJSON():e instanceof Qt?e.na(lb):(function(t){switch(typeof t){case"number":return isFinite(t)?t:String(t);case"bigint":return Tl(t)?Number(t):String(t);case"boolean":return t?1:0;case"object":if(t)if(Array.isArray(t)){if(Os(t))return}else{if(Eo(t))return ip(t);if(t instanceof Gr){let r=t.g;return r==null?"":typeof r=="string"?r:t.g=ip(r)}if(t instanceof Qt)return t.na()}}return t})(e)}function Pf(e){return ch(e,Rf,void 0,void 0,!1)}function an(e,t,r){return e=Df(e,t[0],t[1],r?1:2),t!==If&&r&&Ws(e,16384),e}function Df(e,t,r,n){if(e==null){var i=96;r?(e=[r],i|=512):e=[],t&&(i=-33521665&i|(1023&t)<<15)}else{if(!Array.isArray(e))throw Error("narr");if(2048&(i=0|e[ee]))throw Error("farr");if(64&i)return e;if(n===1||n===2||(i|=64),r&&(i|=512,r!==e[0]))throw Error("mid");e:{if(n=(r=e).length){let o=n-1;if(Jl(r[o])){if((t=o-(512&(i|=256)?0:-1))>=1024)throw Error("pvtlmt");i=-33521665&i|(1023&t)<<15;break e}}if(t){if((t=Math.max(t,n-(512&i?0:-1)))>1024)throw Error("spvt");i=-33521665&i|(1023&t)<<15}}}return Qe(e,i),e}function Il(e,t,r=Al){if(e!=null){if(yf&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){var n=0|e[ee];return 2&n?e:(t&&=n===0||!!(32&n)&&!(64&n||!(16&n)),t?(Qe(e,-12293&(34|n)),e):ch(e,Il,4&n?Al:r,!0,!0))}return e.W===Ao?e=2&(n=0|(r=e.u)[ee])?e:new e.constructor(Js(r,n,!0)):e instanceof Qt&&!(2&e.L)&&(r=xi(e.X(Il)),e=new Qt(r,e.S,e.R,e.Y)),e}}function Js(e,t,r){let n=r||2&t?Al:Hy,i=!!(32&t);return e=(function(o,s,a){let c=Tt(o);var l=c.length;let h=256&s?c[l-1]:void 0;for(l+=h?-1:0,s=512&s?1:0;s<l;s++)c[s]=a(c[s]);if(h){s=c[s]={};for(let d in h)s[d]=a(h[d])}return(o=Zl(o))&&(c[mi]=Tt(o)),c})(e,t,(o=>Il(o,i,n))),Ws(e,32|(r?2:0)),e}function Ys(e){let t=e.u,r=0|t[ee];return 2&r?new e.constructor(Js(t,r,!1)):e}function bi(e,t){return Jr(e=e.u,0|e[ee],t)}function Jr(e,t,r,n){if(r===-1)return null;var i=r+(512&t?0:-1);let o=e.length-1;return i>=o&&256&t?e[o][r]:n&&256&t&&(t=e[o][r])!=null?(e[i]!=null&&ml!=null&&((i=(e=zy??={})[ml]||0)>=4||(e[ml]=i+1,wf(e=Error(),"incident"),(function(s){Nn.setTimeout((()=>{throw s}),0)})(e))),t):i<=o?e[i]:void 0}function Re(e,t,r){let n=e.u,i=0|n[ee];return un(i),ze(n,i,t,r),e}function ze(e,t,r,n){let i=512&t?0:-1,o=r+i;var s=e.length-1;return o>=s&&256&t?(e[s][r]=n,t):o<=s?(e[o]=n,256&t&&r in(e=e[s])&&delete e[r],t):(n!==void 0&&(r>=(s=t>>15&1023||536870912)?n!=null&&(e[s+i]={[r]:n},Qe(e,t|=256)):e[o]=n),t)}function As(e,t){let r=0|(e=e.u)[ee],n=Jr(e,r,t),i=pn(n);return i!=null&&i!==n&&ze(e,r,t,i),i}function Bf(e){let t=0|(e=e.u)[ee],r=Jr(e,t,1),n=Yl(r,!0);return n!=null&&n!==r&&ze(e,t,1,n),n}function Fn(){return Wy===void 0?2:4}function Ln(e,t,r,n,i){let o=e.u,s=2&(e=0|o[ee])?1:n;i=!!i;let a=0|(n=lh(o,e,t))[ee];if(!(4&a)){4&a&&(n=Tt(n),a=qr(a,e),e=ze(o,e,t,n));let c=0,l=0;for(;c<n.length;c++){let h=r(n[c]);h!=null&&(n[l++]=h)}l<c&&(n.length=l),a=hh(a,e),r=-4097&(20|a),a=r&=-8193,Qe(n,a),2&a&&Object.freeze(n)}return s===1||s===4&&32&a?$r(a)||(i=a,a|=2,a!==i&&Qe(n,a),Object.freeze(n)):(s===2&&$r(a)&&(n=Tt(n),a=qr(a,e),a=cn(a,e,i),Qe(n,a),e=ze(o,e,t,n)),$r(a)||(t=a,a=cn(a,e,i),a!==t&&Qe(n,a))),n}function lh(e,t,r,n){return e=Jr(e,t,r,n),Array.isArray(e)?e:Xl}function hh(e,t){return e===0&&(e=qr(e,t)),1|e}function $r(e){return!!(2&e)&&!!(4&e)||!!(2048&e)}function Of(e){e=Tt(e);for(let t=0;t<e.length;t++){let r=e[t]=Tt(e[t]);Array.isArray(r[1])&&(r[1]=xi(r[1]))}return e}function Rl(e,t,r,n){let i=0|(e=e.u)[ee];un(i),ze(e,i,t,(n==="0"?Number(r)===0:r===n)?void 0:r)}function Ai(e,t,r,n,i){un(t);var o=!(!(64&t)&&16384&t);let s=(i=lh(e,t,r,i))!==Xl;if(o||!s){let a=o=s?0|i[ee]:0;(!s||2&a||$r(a)||4&a&&!(32&a))&&(i=Tt(i),a=qr(a,t),t=ze(e,t,r,i)),a=-13&hh(a,t),a=cn(n?-17&a:16|a,t,!0),a!==o&&Qe(i,a)}return i}function yl(e,t){var r=km;return uh(dh(e=e.u),e,0|e[ee],r)===t?t:-1}function dh(e){if(Hs)return e[ho]??(e[ho]=new Map);if(ho in e)return e[ho];let t=new Map;return Object.defineProperty(e,ho,{value:t}),t}function Uf(e,t,r,n){let i=dh(e),o=uh(i,e,t,r);return o!==n&&(o&&(t=ze(e,t,o)),i.set(r,n)),t}function uh(e,t,r,n){let i=e.get(n);if(i!=null)return i;i=0;for(let o=0;o<n.length;o++){let s=n[o];Jr(t,r,s)!=null&&(i!==0&&(r=ze(t,r,i)),i=s)}return e.set(n,i),i}function ph(e,t,r,n){let i,o=0|e[ee];if((n=Jr(e,o,r,n))!=null&&n.W===Ao)return(t=Ys(n))!==n&&ze(e,o,r,t),t.u;if(Array.isArray(n)){let s=0|n[ee];i=2&s?an(Js(n,s,!1),t,!0):64&s?n:an(i,t,!0)}else i=an(void 0,t,!0);return i!==n&&ze(e,o,r,i),i}function Ff(e,t,r,n){let i=0|(e=e.u)[ee];return(t=sh(n=Jr(e,i,r,n),t,!1,i))!==n&&t!=null&&ze(e,i,r,t),t}function ye(e,t,r,n=!1){if((t=Ff(e,t,r,n))==null)return t;if(!(2&(n=0|(e=e.u)[ee]))){let i=Ys(t);i!==t&&ze(e,n,r,t=i)}return t}function Lf(e,t,r,n,i,o,s){e=e.u;var a=!!(2&t);let c=a?1:i;o=!!o,s&&=!a;var l=0|(i=lh(e,t,n))[ee];if(!(a=!!(4&l))){var h=i,d=t;let m=!!(2&(l=hh(l,t)));m&&(d|=2);let p=!m,g=!0,f=0,b=0;for(;f<h.length;f++){let _=sh(h[f],r,!1,d);if(_ instanceof r){if(!m){let x=!!(2&(0|_.u[ee]));p&&=!x,g&&=x}h[b++]=_}}b<f&&(h.length=b),l|=4,l=g?16|l:-17&l,Qe(h,l=p?8|l:-9&l),m&&Object.freeze(h)}if(s&&!(8&l||!i.length&&(c===1||c===4&&32&l))){for($r(l)&&(i=Tt(i),l=qr(l,t),t=ze(e,t,n,i)),r=i,s=l,h=0;h<r.length;h++)(l=r[h])!==(d=Ys(l))&&(r[h]=d);s|=8,Qe(r,s=r.length?-17&s:16|s),l=s}return c===1||c===4&&32&l?$r(l)||(t=l,(l|=!i.length||16&l&&(!a||32&l)?2:2048)!==t&&Qe(i,l),Object.freeze(i)):(c===2&&$r(l)&&(Qe(i=Tt(i),l=cn(l=qr(l,t),t,o)),t=ze(e,t,n,i)),$r(l)||(n=l,(l=cn(l,t,o))!==n&&Qe(i,l))),i}function Kr(e,t,r){let n=0|e.u[ee];return Lf(e,n,t,r,Fn(),!1,!(2&n))}function ne(e,t,r,n){return n==null&&(n=void 0),Re(e,r,n)}function yo(e,t,r,n){n==null&&(n=void 0);e:{let i=0|(e=e.u)[ee];if(un(i),n==null){let o=dh(e);if(uh(o,e,i,r)!==t)break e;o.set(r,0)}else i=Uf(e,i,r,t);ze(e,i,t,n)}}function qr(e,t){return-2049&(e=32|(2&t?2|e:-3&e))}function cn(e,t,r){return 32&t&&r||(e&=-33),e}function Ms(e,t,r,n){let i=0|e.u[ee];un(i),e=Lf(e,i,r,t,2,!0),n=n??new r,e.push(n),e[ee]=2&(0|n.u[ee])?-9&e[ee]:-17&e[ee]}function Zt(e,t){return Ei(bi(e,t))}function er(e,t){return yi(bi(e,t))}function Je(e,t){return As(e,t)??0}function So(e,t,r){if(r!=null&&typeof r!="boolean")throw e=typeof r,Error(`Expected boolean but got ${e!="object"?e:r?Array.isArray(r)?"array":e:"null"}: ${r}`);Re(e,t,r)}function Dr(e,t,r){if(r!=null){if(typeof r!="number"||!Ks(r))throw Cl("int32");r|=0}Re(e,t,r)}function Z(e,t,r){if(r!=null&&typeof r!="number")throw Error(`Value of float/double field must be a number, found ${typeof r}: ${r}`);Re(e,t,r)}function Ns(e,t,r){{let s=e.u,a=0|s[ee];if(un(a),r==null)ze(s,a,t);else{var n=e=0|r[ee],i=$r(e),o=i||Object.isFrozen(r);for(i||(e=0),o||(r=Tt(r),n=0,e=cn(e=qr(e,a),a,!0),o=!1),e|=21,i=0;i<r.length;i++){let c=r[i],l=Tf(c);Object.is(c,l)||(o&&(r=Tt(r),n=0,e=cn(e=qr(e,a),a,!0),o=!1),r[i]=l)}e!==n&&(o&&(r=Tt(r),e=cn(e=qr(e,a),a,!0)),Qe(r,e)),ze(s,a,t,r)}}}function Zs(e,t,r){un(0|e.u[ee]),Ln(e,t,yi,2,!0).push(Tf(r))}function Mf(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function fh(){return Error("Failed to read varint, encoding is invalid.")}function Nf(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function mh(e){if(typeof e=="string")return{buffer:vf(e),N:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),N:!1};if(e.constructor===Uint8Array)return{buffer:e,N:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),N:!1};if(e.constructor===Gr)return{buffer:ql(e)||new Uint8Array(0),N:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),N:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function gh(e,t){let r,n=0,i=0,o=0,s=e.h,a=e.g;do r=s[a++],n|=(127&r)<<o,o+=7;while(o<32&&128&r);for(o>32&&(i|=(127&r)>>4),o=3;o<32&&128&r;o+=7)r=s[a++],i|=(127&r)<<o;if(Mn(e,a),r<128)return t(n>>>0,i>>>0);throw fh()}function yh(e){let t=0,r=e.g,n=r+10,i=e.h;for(;r<n;){let o=i[r++];if(t|=o,(128&o)==0)return Mn(e,r),!!(127&t)}throw fh()}function ln(e){let t=e.h,r=e.g,n=t[r++],i=127&n;if(128&n&&(n=t[r++],i|=(127&n)<<7,128&n&&(n=t[r++],i|=(127&n)<<14,128&n&&(n=t[r++],i|=(127&n)<<21,128&n&&(n=t[r++],i|=n<<28,128&n&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw fh();return Mn(e,r),i}function Xr(e){return ln(e)>>>0}function Pl(e){var t=e.h;let r=e.g,n=t[r],i=t[r+1],o=t[r+2];return t=t[r+3],Mn(e,e.g+4),(n<<0|i<<8|o<<16|t<<24)>>>0}function Dl(e){var t=Pl(e);e=2*(t>>31)+1;let r=t>>>23&255;return t&=8388607,r==255?t?NaN:e*(1/0):r==0?1401298464324817e-60*e*t:e*Math.pow(2,r-150)*(t+8388608)}function hb(e){return ln(e)}function bl(e,t,{ba:r=!1}={}){e.ba=r,t&&(t=mh(t),e.h=t.buffer,e.m=t.N,e.j=0,e.l=e.h.length,e.g=e.j)}function Mn(e,t){if(e.g=t,t>e.l)throw Nf(e.l,t)}function zf(e,t){if(t<0)throw Error(`Tried to read a negative byte length: ${t}`);let r=e.g,n=r+t;if(n>e.l)throw Nf(t,e.l-r);return e.g=n,r}function jf(e,t){if(t==0)return zn();var r=zf(e,t);return e.ba&&e.m?r=e.h.subarray(r,r+t):(e=e.h,r=r===(t=r+t)?new Uint8Array(0):Yy?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?zn():new Gr(r,fi)}Qt.prototype.toJSON=void 0,Qt.prototype.Ia=xf;var yp=[];function Vf(e){var t=e.g;if(t.g==t.l)return!1;e.l=e.g.g;var r=Xr(e.g);if(t=r>>>3,!((r&=7)>=0&&r<=5))throw Mf(r,e.l);if(t<1)throw Error(`Invalid field number: ${t} (at position ${e.l})`);return e.m=t,e.h=r,!0}function Ts(e){switch(e.h){case 0:e.h!=0?Ts(e):yh(e.g);break;case 1:Mn(e=e.g,e.g+8);break;case 2:if(e.h!=2)Ts(e);else{var t=Xr(e.g);Mn(e=e.g,e.g+t)}break;case 5:Mn(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!Vf(e))throw Error("Unmatched start-group tag: stream EOF");if(e.h==4){if(e.m!=t)throw Error("Unmatched end-group tag");break}Ts(e)}break;default:throw Mf(e.h,e.l)}}function To(e,t,r){let n=e.g.l,i=Xr(e.g),o=e.g.g+i,s=o-n;if(s<=0&&(e.g.l=o,r(t,e,void 0,void 0,void 0),s=o-e.g.g),s)throw Error(`Message parsing ended unexpectedly. Expected to read ${i} bytes, instead read ${i-s} bytes, either the data ended unexpectedly or the message misreported its own length`);return e.g.g=o,e.g.l=n,t}function bh(e){var t=Xr(e.g),r=zf(e=e.g,t);if(e=e.h,Dy){var n,i=e;(n=ul)||(n=ul=new TextDecoder("utf-8",{fatal:!0})),t=r+t,i=r===0&&t===i.length?i:i.subarray(r,t);try{var o=n.decode(i)}catch(a){if(_s===void 0){try{n.decode(new Uint8Array([128]))}catch{}try{n.decode(new Uint8Array([97])),_s=!0}catch{_s=!1}}throw!_s&&(ul=void 0),a}}else{t=(o=r)+t,r=[];let a,c=null;for(;o<t;){var s=e[o++];s<128?r.push(s):s<224?o>=t?Un():(a=e[o++],s<194||(192&a)!=128?(o--,Un()):r.push((31&s)<<6|63&a)):s<240?o>=t-1?Un():(a=e[o++],(192&a)!=128||s===224&&a<160||s===237&&a>=160||(192&(n=e[o++]))!=128?(o--,Un()):r.push((15&s)<<12|(63&a)<<6|63&n)):s<=244?o>=t-2?Un():(a=e[o++],(192&a)!=128||a-144+(s<<28)>>30!=0||(192&(n=e[o++]))!=128||(192&(i=e[o++]))!=128?(o--,Un()):(s=(7&s)<<18|(63&a)<<12|(63&n)<<6|63&i,s-=65536,r.push(55296+(s>>10&1023),56320+(1023&s)))):Un(),r.length>=8192&&(c=tp(c,r),r.length=0)}o=tp(c,r)}return o}function Hf(e){let t=Xr(e.g);return jf(e.g,t)}function Qs(e,t,r){var n=Xr(e.g);for(n=e.g.g+n;e.g.g<n;)r.push(t(e.g))}var ks=[];function db(e){return e}var hi;function fr(e,t,r){t.g?t.m(e,t.g,t.h,r):t.m(e,t.h,r)}var Y=class{constructor(e,t){this.u=Df(e,t)}toJSON(){let e=!hi;try{return e&&(hi=Pf),Wf(this)}finally{e&&(hi=void 0)}}l(){var e=Gb;return e.g?e.l(this,e.g,e.h,!0):e.l(this,e.h,e.defaultValue,!0)}clone(){let e=this.u;return new this.constructor(Js(e,0|e[ee],!1))}N(){return!!(2&(0|this.u[ee]))}};function Wf(e){var t=e.u;{t=(e=hi(t))!==t;let l=e.length;if(l){var r=e[l-1],n=Jl(r);n?l--:r=void 0;var i=e;if(n){e:{var o,s=r,a=!1;if(s)for(let h in s)isNaN(+h)?(o??={})[h]=s[h]:(n=s[h],Array.isArray(n)&&(Os(n)||ap(n)&&n.size===0)&&(n=null),n==null&&(a=!0),n!=null&&((o??={})[h]=n));if(a||(o=s),o)for(let h in o){a=o;break e}a=null}s=a==null?r!=null:a!==r}for(;l>0&&((o=i[l-1])==null||Os(o)||ap(o)&&o.size===0);l--)var c=!0;(i!==e||s||c)&&(t?(c||s||a)&&(i.length=l):i=Array.prototype.slice.call(i,0,l),a&&i.push(a)),c=i}else c=e}return c}function bp(e){return e?/^\d+$/.test(e)?(qs(e),new Bl(Ae,We)):null:ub||=new Bl(0,0)}Y.prototype.W=Ao,Y.prototype.toString=function(){try{return hi=db,Wf(this).toString()}finally{hi=void 0}};var Bl=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}},ub;function vp(e){return e?/^-?\d+$/.test(e)?(qs(e),new Ol(Ae,We)):null:pb||=new Ol(0,0)}var Ol=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}},pb;function di(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function Ti(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function ea(e,t){if(t>=0)Ti(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function ko(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function vi(e,t){t.length!==0&&(e.l.push(t),e.h+=t.length)}function zt(e,t,r){Ti(e.g,8*t+r)}function vh(e,t){return zt(e,t,2),t=e.g.end(),vi(e,t),t.push(e.h),t}function _h(e,t){var r=t.pop();for(r=e.h+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.h++;t.push(r),e.h++}function ta(e,t,r){zt(e,t,2),Ti(e.g,r.length),vi(e,e.g.end()),vi(e,r)}function zs(e,t,r,n){r!=null&&(t=vh(e,t),n(r,e),_h(e,t))}function mr(){let e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var wh=mr(),$f=mr(),Sh=mr(),kh=mr(),Gf=mr(),qf=mr(),xh=mr(),Kf=mr(),Xf=mr(),Ii=class{constructor(e,t,r){this.g=e,this.h=t,e=wh,this.l=!!e&&r===e||!1}};function ra(e,t){return new Ii(e,t,wh)}function Jf(e,t,r,n,i){zs(e,r,em(t,n),i)}var fb=ra((function(e,t,r,n,i){return e.h===2&&(To(e,ph(t,n,r),i),!0)}),Jf),mb=ra((function(e,t,r,n,i){return e.h===2&&(To(e,ph(t,n,r,!0),i),!0)}),Jf),na=Symbol(),Eh=Symbol(),_p=Symbol(),wp=Symbol(),Yf,Zf;function jn(e,t,r,n){var i=n[e];if(i)return i;(i={}).Pa=n,i.V=(function(d){switch(typeof d){case"boolean":return If||=[0,void 0,!0];case"number":return d>0?void 0:d===0?cb||=[0,void 0]:[-d,void 0];case"string":return[0,d];case"object":return d}})(n[0]);var o=n[1];let s=1;o&&o.constructor===Object&&(i.ga=o,typeof(o=n[++s])=="function"&&(i.la=!0,Yf??=o,Zf??=n[s+1],o=n[s+=2]));let a={};for(;o&&Array.isArray(o)&&o.length&&typeof o[0]=="number"&&o[0]>0;){for(var c=0;c<o.length;c++)a[o[c]]=o;o=n[++s]}for(c=1;o!==void 0;){let d;typeof o=="number"&&(c+=o,o=n[++s]);var l=void 0;if(o instanceof Ii?d=o:(d=fb,s--),d?.l){o=n[++s],l=n;var h=s;typeof o=="function"&&(o=o(),l[h]=o),l=o}for(h=c+1,typeof(o=n[++s])=="number"&&o<0&&(h-=o,o=n[++s]);c<h;c++){let m=a[c];l?r(i,c,d,l,m):t(i,c,d,m)}}return n[e]=i}function Qf(e){return Array.isArray(e)?e[0]instanceof Ii?e:[mb,e]:[e,void 0]}function em(e,t){return e instanceof Y?e.u:Array.isArray(e)?an(e,t,!1):void 0}function Ch(e,t,r,n){let i=r.g;e[t]=n?(o,s,a)=>i(o,s,a,n):i}function Ah(e,t,r,n,i){let o=r.g,s,a;e[t]=(c,l,h)=>o(c,l,h,a||=jn(Eh,Ch,Ah,n).V,s||=Th(n),i)}function Th(e){let t=e[_p];if(t!=null)return t;let r=jn(Eh,Ch,Ah,e);return t=r.la?(n,i)=>Yf(n,i,r):(n,i)=>{let o=0|n[ee];for(;Vf(i)&&i.h!=4;){var s=i.m,a=r[s];if(a==null){var c=r.ga;c&&(c=c[s])&&(c=gb(c))!=null&&(a=r[s]=c)}a!=null&&a(i,n,s)||(s=(a=i).l,Ts(a),a.fa?a=void 0:(c=a.g.g-s,a.g.g=s,a=jf(a.g,c)),s=n,a&&((c=s[mi])?c.push(a):s[mi]=[a]))}return 16384&o&&xi(n),!0},e[_p]=t}function gb(e){let t=(e=Qf(e))[0].g;if(e=e[1]){let r=Th(e),n=jn(Eh,Ch,Ah,e).V;return(i,o,s)=>t(i,o,s,n,r)}return t}function ia(e,t,r){e[t]=r.h}function oa(e,t,r,n){let i,o,s=r.h;e[t]=(a,c,l)=>s(a,c,l,o||=jn(na,ia,oa,n).V,i||=tm(n))}function tm(e){let t=e[wp];if(!t){let r=jn(na,ia,oa,e);t=(n,i)=>rm(n,i,r),e[wp]=t}return t}function rm(e,t,r){for(var n=0|e[ee],i=512&n?0:-1,o=e.length,s=512&n?1:0,a=o+(256&n?-1:0);s<a;s++){let c=e[s];if(c==null)continue;let l=s-i,h=Sp(r,l);h&&h(t,c,l)}if(256&n){n=e[o-1];for(let c in n)i=+c,Number.isNaN(i)||(o=n[i])!=null&&(a=Sp(r,i))&&a(t,o,i)}if(e=Zl(e))for(vi(t,t.g.end()),r=0;r<e.length;r++)vi(t,ql(e[r])||new Uint8Array(0))}function Sp(e,t){var r=e[t];if(r)return r;if((r=e.ga)&&(r=r[t])){var n=(r=Qf(r))[0].h;if(r=r[1]){let i=tm(r),o=jn(na,ia,oa,r).V;r=e.la?Zf(o,i):(s,a,c)=>n(s,a,c,o,i)}else r=n;return e[t]=r}}function Ri(e,t){if(Array.isArray(t)){var r=0|t[ee];if(4&r)return t;for(var n=0,i=0;n<t.length;n++){let o=e(t[n]);o!=null&&(t[i++]=o)}return i<n&&(t.length=i),Qe(t,-12289&(5|r)),2&r&&Object.freeze(t),t}}function vt(e,t,r){return new Ii(e,t,r)}function Pi(e,t,r){return new Ii(e,t,r)}function _t(e,t,r){ze(e,0|e[ee],t,r)}var yb=ra((function(e,t,r,n,i){return e.h===2&&(e=To(e,an([void 0,void 0],n,!0),i),un(n=0|t[ee]),(i=Jr(t,n,r))instanceof Qt?(2&i.L)!=0?((i=i.X()).push(e),ze(t,n,r,i)):i.Na(e):Array.isArray(i)?(2&(0|i[ee])&&ze(t,n,r,i=Of(i)),i.push(e)):ze(t,n,r,[e]),!0)}),(function(e,t,r,n,i){if(t instanceof Qt)t.forEach(((o,s)=>{zs(e,r,an([s,o],n,!1),i)}));else if(Array.isArray(t))for(let o=0;o<t.length;o++){let s=t[o];Array.isArray(s)&&zs(e,r,an(s,n,!1),i)}}));function nm(e,t,r){if(t=(function(n){if(n==null)return n;let i=typeof n;if(i==="bigint")return String(nh(64,n));if(Xs(n)){if(i==="string")return oh(n);if(i==="number")return ih(n)}})(t),t!=null&&(typeof t=="string"&&vp(t),t!=null))switch(zt(e,r,0),typeof t){case"number":e=e.g,gi(t),di(e,Ae,We);break;case"bigint":r=BigInt.asUintN(64,t),r=new Ol(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),di(e.g,r.h,r.g);break;default:r=vp(t),di(e.g,r.h,r.g)}}function im(e,t,r){(t=Ei(t))!=null&&t!=null&&(zt(e,r,0),ea(e.g,t))}function om(e,t,r){(t=Cf(t))!=null&&(zt(e,r,0),e.g.g.push(t?1:0))}function sm(e,t,r){(t=yi(t))!=null&&ta(e,r,ff(t))}function am(e,t,r,n,i){zs(e,r,em(t,n),i)}function cm(e,t,r){(t=t==null||typeof t=="string"||Eo(t)||t instanceof Gr?t:void 0)!=null&&ta(e,r,mh(t).buffer)}function lm(e,t,r){return(e.h===5||e.h===2)&&(t=Ai(t,0|t[ee],r,!1,!1),e.h==2?Qs(e,Dl,t):t.push(Dl(e.g)),!0)}var Hr=vt((function(e,t,r){if(e.h!==1)return!1;var n=e.g;e=Pl(n);let i=Pl(n);n=2*(i>>31)+1;let o=i>>>20&2047;return e=4294967296*(1048575&i)+e,_t(t,r,o==2047?e?NaN:n*(1/0):o==0?5e-324*n*e:n*Math.pow(2,o-1075)*(e+4503599627370496)),!0}),(function(e,t,r){(t=pn(t))!=null&&(zt(e,r,1),e=e.g,(r=Ef||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),Ae=r.getUint32(0,!0),We=r.getUint32(4,!0),ko(e,Ae),ko(e,We))}),mr()),et=vt((function(e,t,r){return e.h===5&&(_t(t,r,Dl(e.g)),!0)}),(function(e,t,r){(t=pn(t))!=null&&(zt(e,r,5),e=e.g,Ql(t),ko(e,Ae))}),xh),bb=Pi(lm,(function(e,t,r){if((t=Ri(pn,t))!=null)for(let s=0;s<t.length;s++){var n=e,i=r,o=t[s];o!=null&&(zt(n,i,5),n=n.g,Ql(o),ko(n,Ae))}}),xh),Ih=Pi(lm,(function(e,t,r){if((t=Ri(pn,t))!=null&&t.length){zt(e,r,2),Ti(e.g,4*t.length);for(let n=0;n<t.length;n++)r=e.g,Ql(t[n]),ko(r,Ae)}}),xh),hn=vt((function(e,t,r){return e.h===0&&(_t(t,r,gh(e.g,th)),!0)}),nm,qf),vl=vt((function(e,t,r){return e.h===0&&(_t(t,r,(e=gh(e.g,th))===0?void 0:e),!0)}),nm,qf),vb=vt((function(e,t,r){return e.h===0&&(_t(t,r,gh(e.g,eh)),!0)}),(function(e,t,r){if((t=eb(t))!=null&&(typeof t=="string"&&bp(t),t!=null))switch(zt(e,r,0),typeof t){case"number":e=e.g,gi(t),di(e,Ae,We);break;case"bigint":r=BigInt.asUintN(64,t),r=new Bl(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),di(e.g,r.h,r.g);break;default:r=bp(t),di(e.g,r.h,r.g)}}),mr()),$e=vt((function(e,t,r){return e.h===0&&(_t(t,r,ln(e.g)),!0)}),im,kh),sa=Pi((function(e,t,r){return(e.h===0||e.h===2)&&(t=Ai(t,0|t[ee],r,!1,!1),e.h==2?Qs(e,ln,t):t.push(ln(e.g)),!0)}),(function(e,t,r){if((t=Ri(Ei,t))!=null&&t.length){r=vh(e,r);for(let n=0;n<t.length;n++)ea(e.g,t[n]);_h(e,r)}}),kh),ci=vt((function(e,t,r){return e.h===0&&(_t(t,r,(e=ln(e.g))===0?void 0:e),!0)}),im,kh),Fe=vt((function(e,t,r){return e.h===0&&(_t(t,r,yh(e.g)),!0)}),om,$f),ui=vt((function(e,t,r){return e.h===0&&(_t(t,r,(e=yh(e.g))===!1?void 0:e),!0)}),om,$f),mt=Pi((function(e,t,r){return e.h===2&&(e=bh(e),Ai(t,0|t[ee],r,!1).push(e),!0)}),(function(e,t,r){if((t=Ri(yi,t))!=null)for(let s=0;s<t.length;s++){var n=e,i=r,o=t[s];o!=null&&ta(n,i,ff(o))}}),Sh),sn=vt((function(e,t,r){return e.h===2&&(_t(t,r,(e=bh(e))===""?void 0:e),!0)}),sm,Sh),we=vt((function(e,t,r){return e.h===2&&(_t(t,r,bh(e)),!0)}),sm,Sh),st=(function(e,t,r=wh){return new Ii(e,t,r)})((function(e,t,r,n,i){return e.h===2&&(n=an(void 0,n,!0),Ai(t,0|t[ee],r,!0).push(n),To(e,n,i),!0)}),(function(e,t,r,n,i){if(Array.isArray(t))for(let o=0;o<t.length;o++)am(e,t[o],r,n,i)})),xe=ra((function(e,t,r,n,i,o){return e.h===2&&(Uf(t,0|t[ee],o,r),To(e,t=ph(t,n,r),i),!0)}),am),hm=vt((function(e,t,r){return e.h===2&&(_t(t,r,Hf(e)),!0)}),cm,Kf),_b=Pi((function(e,t,r){return(e.h===0||e.h===2)&&(t=Ai(t,0|t[ee],r,!1,!1),e.h==2?Qs(e,Xr,t):t.push(Xr(e.g)),!0)}),(function(e,t,r){if((t=Ri(Af,t))!=null)for(let s=0;s<t.length;s++){var n=e,i=r,o=t[s];o!=null&&(zt(n,i,0),Ti(n.g,o))}}),Gf),wb=vt((function(e,t,r){return e.h===0&&(_t(t,r,(e=Xr(e.g))===0?void 0:e),!0)}),(function(e,t,r){(t=Af(t))!=null&&t!=null&&(zt(e,r,0),Ti(e.g,t))}),Gf),tr=vt((function(e,t,r){return e.h===0&&(_t(t,r,ln(e.g)),!0)}),(function(e,t,r){(t=Ei(t))!=null&&(t=parseInt(t,10),zt(e,r,0),ea(e.g,t))}),Xf),Ul=class{constructor(t,r){this.h=t,this.g=r,this.l=ye,this.m=ne,this.defaultValue=void 0}};function gr(e,t){return new Ul(e,t)}function fn(e,t){return(r,n)=>{if(ks.length){let o=ks.pop();o.o(n),bl(o.g,r,n),r=o}else r=new class{constructor(o,s){if(yp.length){let a=yp.pop();bl(a,o,s),o=a}else o=new class{constructor(a,c){this.h=null,this.m=!1,this.g=this.l=this.j=0,bl(this,a,c)}clear(){this.h=null,this.m=!1,this.g=this.l=this.j=0,this.ba=!1}}(o,s);this.g=o,this.l=this.g.g,this.h=this.m=-1,this.o(s)}o({fa:o=!1}={}){this.fa=o}}(r,n);try{let o=new e,s=o.u;Th(t)(s,r);var i=o}finally{r.g.clear(),r.m=-1,r.h=-1,ks.length<100&&ks.push(r)}return i}}function aa(e){return function(){let t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){let s=this.g;return this.g=[],s}}}};rm(this.u,t,jn(na,ia,oa,e)),vi(t,t.g.end());let r=new Uint8Array(t.h),n=t.l,i=n.length,o=0;for(let s=0;s<i;s++){let a=n[s];r.set(a,o),o+=a.length}return t.l=[r],r}}var kp=class extends Y{constructor(e){super(e)}},xp=[0,sn,vt((function(e,t,r){return e.h===2&&(_t(t,r,(e=Hf(e))===zn()?void 0:e),!0)}),(function(e,t,r){if(t!=null){if(t instanceof Y){let n=t.Ra;return void(n&&(t=n(t),t!=null&&ta(e,r,mh(t).buffer)))}if(Array.isArray(t))return}cm(e,t,r)}),Kf)],_l,Ep=globalThis.trustedTypes;function Cp(e){_l===void 0&&(_l=(function(){let r=null;if(!Ep)return r;try{let n=i=>i;r=Ep.createPolicy("goog#html",{createHTML:n,createScript:n,createScriptURL:n})}catch{}return r})());var t=_l;return new class{constructor(r){this.g=r}toString(){return this.g+""}}(t?t.createScriptURL(e):e)}function Sb(e,...t){if(t.length===0)return Cp(e[0]);let r=e[0];for(let n=0;n<t.length;n++)r+=encodeURIComponent(t[n])+e[n+1];return Cp(r)}var dm=[0,$e,tr,Fe,-1,sa,tr,-1],kb=class extends Y{constructor(e){super(e)}},um=[0,Fe,we,Fe,tr,-1,Pi((function(e,t,r){return(e.h===0||e.h===2)&&(t=Ai(t,0|t[ee],r,!1,!1),e.h==2?Qs(e,hb,t):t.push(ln(e.g)),!0)}),(function(e,t,r){if((t=Ri(Ei,t))!=null&&t.length){r=vh(e,r);for(let n=0;n<t.length;n++)ea(e.g,t[n]);_h(e,r)}}),Xf),we,-1,[0,Fe,-1],tr,Fe,-1],pm=[0,we,-2],Ap=class extends Y{constructor(e){super(e)}},fm=[0],mm=[0,$e,Fe,1,Fe,-3],Nt=class extends Y{constructor(e){super(e,2)}},tt={};tt[336783863]=[0,we,Fe,-1,$e,[0,[1,2,3,4,5,6,7,8],xe,fm,xe,um,xe,pm,xe,mm,xe,dm,xe,[0,we,-2],xe,[0,we,tr],xe,[0,tr,we]],[0,we],Fe,[0,[1,3],[2,4],xe,[0,sa],-1,xe,[0,mt],-1,st,[0,we,-1]],we];var Tp=[0,vl,-1,ui,-3,vl,sa,sn,ci,vl,-1,ui,ci,ui,-2,sn];function jt(e,t){Rl(e,2,Ci(t),"")}function Pe(e,t){Zs(e,3,t)}function fe(e,t){Zs(e,4,t)}var bt=class extends Y{constructor(e){super(e,500)}o(e){return ne(this,0,7,e)}},bo=[-1,{}],Ip=[0,we,1,bo],Rp=[0,we,mt,bo];function Vt(e,t){Ms(e,1,bt,t)}function Oe(e,t){Zs(e,10,t)}function be(e,t){Zs(e,15,t)}var Rt=class extends Y{constructor(e){super(e,500)}o(e){return ne(this,0,1001,e)}},gm=[-500,st,[-500,sn,-1,mt,-3,[-2,tt,Fe],st,xp,ci,-1,Ip,Rp,st,[0,sn,ui],sn,Tp,ci,mt,987,mt],4,st,[-500,we,-1,[-1,{}],998,we],st,[-500,we,mt,-1,[-2,{},Fe],997,mt,-1],ci,st,[-500,we,mt,bo,998,mt],mt,ci,Ip,Rp,st,[0,sn,-1,bo],mt,-2,Tp,sn,-1,ui,[0,ui,wb],978,bo,st,xp];Rt.prototype.g=aa(gm);var xb=fn(Rt,gm),Eb=class extends Y{constructor(e){super(e)}},ym=class extends Y{constructor(e){super(e)}g(){return Kr(this,Eb,1)}},bm=[0,st,[0,$e,et,we,-1]],ca=fn(ym,bm),Cb=class extends Y{constructor(e){super(e)}},Ab=class extends Y{constructor(e){super(e)}},wl=class extends Y{constructor(e){super(e)}h(){return ye(this,Cb,2)}g(){return Kr(this,Ab,5)}},vm=fn(class extends Y{constructor(e){super(e)}},[0,mt,sa,Ih,[0,tr,[0,$e,-3],[0,et,-3],[0,$e,-1,[0,st,[0,$e,-2]]],st,[0,et,-1,we,et]],we,-1,hn,st,[0,$e,et],mt,hn]),_m=class extends Y{constructor(e){super(e)}},pi=fn(class extends Y{constructor(e){super(e)}},[0,st,[0,et,-4]]),wm=class extends Y{constructor(e){super(e)}},Io=fn(class extends Y{constructor(e){super(e)}},[0,st,[0,et,-4]]),Tb=class extends Y{constructor(e){super(e)}},Ib=[0,$e,-1,Ih,tr],Sm=class extends Y{constructor(e){super(e)}};Sm.prototype.g=aa([0,et,-4,hn]);var Rb=class extends Y{constructor(e){super(e)}},Pb=fn(class extends Y{constructor(e){super(e)}},[0,st,[0,1,$e,we,bm],hn]),Pp=class extends Y{constructor(e){super(e)}},Db=class extends Y{constructor(e){super(e)}oa(){let e=Bf(this);return e??zn()}},Bb=class extends Y{constructor(e){super(e)}},km=[1,2],Ob=fn(class extends Y{constructor(e){super(e)}},[0,st,[0,km,xe,[0,Ih],xe,[0,hm],$e,we],hn]),Rh=class extends Y{constructor(e){super(e)}},xm=[0,we,$e,et,mt,-1],Dp=class extends Y{constructor(e){super(e)}},Ub=[0,Fe,-1],Bp=class extends Y{constructor(e){super(e)}},Is=[1,2,3,4,5],js=class extends Y{constructor(e){super(e)}g(){return Bf(this)!=null}h(){return er(this,2)!=null}},Le=class extends Y{constructor(e){super(e)}g(){return Cf(bi(this,2))??!1}},Em=[0,hm,we,[0,$e,hn,-1],[0,vb,hn]],Ye=[0,Em,Fe,[0,Is,xe,mm,xe,um,xe,dm,xe,fm,xe,pm],tr],la=class extends Y{constructor(e){super(e)}},Ph=[0,Ye,et,-1,$e],Fb=gr(502141897,la);tt[502141897]=Ph;var Lb=fn(class extends Y{constructor(e){super(e)}},[0,[0,tr,-1,bb,_b],Ib]),Cm=class extends Y{constructor(e){super(e)}},Am=class extends Y{constructor(e){super(e)}},Dh=[0,Ye,et,[0,Ye],Fe],Tm=[0,Ye,Ph,Dh,et,[0,[0,Em]]],Mb=gr(508968150,Am);tt[508968150]=Tm,tt[508968149]=Dh;var Im=class extends Y{constructor(e){super(e)}},Nb=gr(513916220,Im);tt[513916220]=[0,Ye,Tm,$e];var si=class extends Y{constructor(e){super(e)}h(){return ye(this,Rh,2)}g(){Re(this,2)}},Rm=[0,Ye,xm];tt[478825465]=Rm;var zb=class extends Y{constructor(e){super(e)}},Pm=class extends Y{constructor(e){super(e)}},Bh=class extends Y{constructor(e){super(e)}},Oh=class extends Y{constructor(e){super(e)}},Dm=class extends Y{constructor(e){super(e)}},Op=[0,Ye,[0,Ye],Rm,-1],Bm=[0,Ye,et,$e],Uh=[0,Ye,et],Om=[0,Ye,Bm,Uh,et],jb=gr(479097054,Dm);tt[479097054]=[0,Ye,Om,Op],tt[463370452]=Op,tt[464864288]=Bm;var Vb=gr(462713202,Oh);tt[462713202]=Om,tt[474472470]=Uh;var Hb=class extends Y{constructor(e){super(e)}},Um=class extends Y{constructor(e){super(e)}},Fm=class extends Y{constructor(e){super(e)}},Lm=class extends Y{constructor(e){super(e)}},Fh=[0,Ye,et,-1,$e],Fl=[0,Ye,et,Fe];Lm.prototype.g=aa([0,Ye,Uh,[0,Ye],Ph,Dh,Fh,Fl]);var Mm=class extends Y{constructor(e){super(e)}},Wb=gr(456383383,Mm);tt[456383383]=[0,Ye,xm];var Nm=class extends Y{constructor(e){super(e)}},$b=gr(476348187,Nm);tt[476348187]=[0,Ye,Ub];var zm=class extends Y{constructor(e){super(e)}},Up=class extends Y{constructor(e){super(e)}},jm=[0,tr,-1],Gb=gr(458105876,class extends Y{constructor(e){super(e)}g(){var e=this.u;let t=0|e[ee],r=2&t;return e=(function(n,i,o){var s=Up;let a=2&i,c=!1;if(o==null){if(a)return gp();o=[]}else if(o.constructor===Qt){if((2&o.L)==0||a)return o;o=o.X()}else Array.isArray(o)?c=!!(2&(0|o[ee])):o=[];if(a){if(!o.length)return gp();c||(c=!0,xi(o))}else c&&(c=!1,o=Of(o));return c||(64&(0|o[ee])?o[ee]&=-33:32&i&&Ws(o,32)),ze(n,i,2,s=new Qt(o,s,tb,void 0)),s})(e,t,Jr(e,t,2)),!r&&Up&&(e.ra=!0),e}});tt[458105876]=[0,jm,yb,[!0,hn,[0,we,-1,mt]]];var Lh=class extends Y{constructor(e){super(e)}},Vm=gr(458105758,Lh);tt[458105758]=[0,Ye,we,jm];var Hm=class extends Y{constructor(e){super(e)}},qb=gr(443442058,Hm);tt[443442058]=[0,Ye,we,$e,et,mt,-1,Fe,et],tt[514774813]=Fh;var Wm=class extends Y{constructor(e){super(e)}},Kb=gr(516587230,Wm);function Ll(e,t){return t=t?t.clone():new Rh,e.displayNamesLocale!==void 0?Re(t,1,Ci(e.displayNamesLocale)):e.displayNamesLocale===void 0&&Re(t,1),e.maxResults!==void 0?Dr(t,2,e.maxResults):"maxResults"in e&&Re(t,2),e.scoreThreshold!==void 0?Z(t,3,e.scoreThreshold):"scoreThreshold"in e&&Re(t,3),e.categoryAllowlist!==void 0?Ns(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&Re(t,4),e.categoryDenylist!==void 0?Ns(t,5,e.categoryDenylist):"categoryDenylist"in e&&Re(t,5),t}function Mh(e,t=-1,r=""){return{categories:e.map((n=>({index:Zt(n,1)??0??-1,score:Je(n,2)??0,categoryName:er(n,3)??""??"",displayName:er(n,4)??""??""}))),headIndex:t,headName:r}}function $m(e){var t=Ln(e,3,pn,Fn()),r=Ln(e,2,Ei,Fn()),n=Ln(e,1,yi,Fn()),i=Ln(e,9,yi,Fn());let o={categories:[],keypoints:[]};for(let s=0;s<t.length;s++)o.categories.push({score:t[s],index:r[s]??-1,categoryName:n[s]??"",displayName:i[s]??""});if((t=ye(e,wl,4)?.h())&&(o.boundingBox={originX:Zt(t,1)??0,originY:Zt(t,2)??0,width:Zt(t,3)??0,height:Zt(t,4)??0,angle:0}),ye(e,wl,4)?.g().length)for(let s of ye(e,wl,4).g())o.keypoints.push({x:As(s,1)??0,y:As(s,2)??0,score:As(s,4)??0,label:er(s,3)??""});return o}function ha(e){let t=[];for(let r of Kr(e,wm,1))t.push({x:Je(r,1)??0,y:Je(r,2)??0,z:Je(r,3)??0,visibility:Je(r,4)??0});return t}function vo(e){let t=[];for(let r of Kr(e,_m,1))t.push({x:Je(r,1)??0,y:Je(r,2)??0,z:Je(r,3)??0,visibility:Je(r,4)??0});return t}function Fp(e){return Array.from(e,(t=>t>127?t-256:t))}function Lp(e,t){if(e.length!==t.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${e.length} vs. ${t.length}).`);let r=0,n=0,i=0;for(let o=0;o<e.length;o++)r+=e[o]*t[o],n+=e[o]*e[o],i+=t[o]*t[o];if(n<=0||i<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return r/Math.sqrt(n*i)}var xs;tt[516587230]=[0,Ye,Fh,Fl,et],tt[518928384]=Fl;var Xb=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function Gm(){if(xs===void 0)try{await WebAssembly.instantiate(Xb),xs=!0}catch{xs=!1}return xs}async function uo(e,t=Sb``){let r=await Gm()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var nn=class{};function qm(){var e=navigator;return typeof OffscreenCanvas<"u"&&(!(function(t=navigator){return(t=t.userAgent).includes("Safari")&&!t.includes("Chrome")})(e)||!!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}async function Mp(e){if(typeof importScripts!="function"){let t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise(((r,n)=>{t.addEventListener("load",(()=>{r()}),!1),t.addEventListener("error",(i=>{n(i)}),!1),document.body.appendChild(t)}))}importScripts(e.toString())}function Km(e){return e.videoWidth!==void 0?[e.videoWidth,e.videoHeight]:e.naturalWidth!==void 0?[e.naturalWidth,e.naturalHeight]:e.displayWidth!==void 0?[e.displayWidth,e.displayHeight]:[e.width,e.height]}function Q(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function Np(e,t,r){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(r?e.i._bindTextureToStream(r):e.i._bindTextureToCanvas(),!(r=e.i.canvas.getContext("webgl2")||e.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);let[n,i]=Km(t);return!e.l||n===e.i.canvas.width&&i===e.i.canvas.height||(e.i.canvas.width=n,e.i.canvas.height=i),[n,i]}function zp(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");let n=new Uint32Array(t.length);for(let i=0;i<t.length;i++)n[i]=e.i.stringToNewUTF8(t[i]);t=e.i._malloc(4*n.length),e.i.HEAPU32.set(n,t>>2),r(t);for(let i of n)e.i._free(i);e.i._free(t)}function Tr(e,t,r){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=r}function rn(e,t,r){let n=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(i,o,s)=>{o?(r(n,s),n=[]):n.push(i)}}nn.forVisionTasks=function(e){return uo("vision",e)},nn.forTextTasks=function(e){return uo("text",e)},nn.forGenAiExperimentalTasks=function(e){return uo("genai_experimental",e)},nn.forGenAiTasks=function(e){return uo("genai",e)},nn.forAudioTasks=function(e){return uo("audio",e)},nn.isSimdSupported=function(){return Gm()};async function Jb(e,t,r,n){return e=await(async(i,o,s,a,c)=>{if(o&&await Mp(o),!self.ModuleFactory||s&&(await Mp(s),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&c&&((o=self.Module).locateFile=c.locateFile,c.mainScriptUrlOrBlob&&(o.mainScriptUrlOrBlob=c.mainScriptUrlOrBlob)),c=await self.ModuleFactory(self.Module||c),self.ModuleFactory=self.Module=void 0,new i(c,a)})(e,r.wasmLoaderPath,r.assetLoaderPath,t,{locateFile:i=>i.endsWith(".wasm")?r.wasmBinaryPath.toString():r.assetBinaryPath&&i.endsWith(".data")?r.assetBinaryPath.toString():i}),await e.o(n),e}function Sl(e,t){let r=ye(e.baseOptions,js,1)||new js;typeof t=="string"?(Re(r,2,Ci(t)),Re(r,1)):t instanceof Uint8Array&&(Re(r,1,Yl(t,!1)),Re(r,2)),ne(e.baseOptions,0,1,r)}function jp(e){try{let t=e.G.length;if(t===1)throw Error(e.G[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.G.map((r=>r.message)).join(", "))}finally{e.G=[]}}function X(e,t){e.B=Math.max(e.B,t)}function da(e,t){e.A=new bt,jt(e.A,"PassThroughCalculator"),Pe(e.A,"free_memory"),fe(e.A,"free_memory_unused_out"),Oe(t,"free_memory"),Vt(t,e.A)}function _i(e,t){Pe(e.A,t),fe(e.A,t+"_unused_out")}function ua(e){e.g.addBoolToStream(!0,"free_memory",e.B)}var Rs=class{constructor(e){this.g=e,this.G=[],this.B=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){if(t){let r=e.baseOptions||{};if(e.baseOptions?.modelAssetBuffer&&e.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(ye(this.baseOptions,js,1)?.g()||ye(this.baseOptions,js,1)?.h()||e.baseOptions?.modelAssetBuffer||e.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if((function(n,i){let o=ye(n.baseOptions,Bp,3);if(!o){var s=o=new Bp,a=new Ap;yo(s,4,Is,a)}"delegate"in i&&(i.delegate==="GPU"?(i=o,s=new kb,yo(i,2,Is,s)):(i=o,s=new Ap,yo(i,4,Is,s))),ne(n.baseOptions,0,3,o)})(this,r),r.modelAssetPath)return fetch(r.modelAssetPath.toString()).then((n=>{if(n.ok)return n.arrayBuffer();throw Error(`Failed to fetch model: ${r.modelAssetPath} (${n.status})`)})).then((n=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(n),!0,!1,!1),Sl(this,"/model.dat"),this.m(),this.I()}));if(r.modelAssetBuffer instanceof Uint8Array)Sl(this,r.modelAssetBuffer);else if(r.modelAssetBuffer)return(async function(n){let i=[];for(var o=0;;){let{done:s,value:a}=await n.read();if(s)break;i.push(a),o+=a.length}if(i.length===0)return new Uint8Array(0);if(i.length===1)return i[0];n=new Uint8Array(o),o=0;for(let s of i)n.set(s,o),o+=s.length;return n})(r.modelAssetBuffer).then((n=>{Sl(this,n),this.m(),this.I()}))}return this.m(),this.I(),Promise.resolve()}I(){}da(){let e;if(this.g.da((t=>{e=xb(t)})),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener(((r,n)=>{this.G.push(Error(n))})),this.g.La(),this.g.setGraph(e,t),this.A=void 0,jp(this)}finishProcessing(){this.g.finishProcessing(),jp(this)}close(){this.A=void 0,this.g.closeGraph()}};function yt(e,t){if(!e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}Rs.prototype.close=Rs.prototype.close,(function(e,t){e=e.split(".");var r,n=Nn;for((e[0]in n)||n.execScript===void 0||n.execScript("var "+e[0]);e.length&&(r=e.shift());)e.length||t===void 0?n=n[r]&&n[r]!==Object.prototype[r]?n[r]:n[r]={}:n[r]=t})("TaskRunner",Rs);var Ml=class{constructor(t,r,n,i){this.g=t,this.h=r,this.m=n,this.l=i}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}};function Vp(e,t,r){let n=e.g;if(r=yt(n.createShader(r),"Failed to create WebGL shader"),n.shaderSource(r,t),n.compileShader(r),!n.getShaderParameter(r,n.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${n.getShaderInfoLog(r)}`);return n.attachShader(e.h,r),r}function Hp(e,t){let r=e.g,n=yt(r.createVertexArray(),"Failed to create vertex array");r.bindVertexArray(n);let i=yt(r.createBuffer(),"Failed to create buffer");r.bindBuffer(r.ARRAY_BUFFER,i),r.enableVertexAttribArray(e.O),r.vertexAttribPointer(e.O,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),r.STATIC_DRAW);let o=yt(r.createBuffer(),"Failed to create buffer");return r.bindBuffer(r.ARRAY_BUFFER,o),r.enableVertexAttribArray(e.I),r.vertexAttribPointer(e.I,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),r.STATIC_DRAW),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindVertexArray(null),new Ml(r,n,i,o)}function Nh(e,t){if(e.g){if(t!==e.g)throw Error("Cannot change GL context once initialized")}else e.g=t}function Ro(e,t,r,n){return Nh(e,t),e.h||(e.m(),e.C()),r?(e.s||(e.s=Hp(e,!0)),r=e.s):(e.v||(e.v=Hp(e,!1)),r=e.v),t.useProgram(e.h),r.bind(),e.l(),e=n(),r.g.bindVertexArray(null),e}function dn(e,t,r){return Nh(e,t),e=yt(t.createTexture(),"Failed to create texture"),t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,r??t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,r??t.LINEAR),t.bindTexture(t.TEXTURE_2D,null),e}function pa(e,t,r){Nh(e,t),e.A||(e.A=yt(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.A),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}function zh(e){e.g?.bindFramebuffer(e.g.FRAMEBUFFER,null)}var Di=class{G(){return`
8
+ `);let s=T3(t,r,i),a=al.getSymbolSize(t),c=new y3(a);return k3(c,t),E3(c),C3(c,t),qu(c,r,0),t>=7&&x3(c,t),A3(c,s),isNaN(n)&&(n=Ku.getBestMask(c,qu.bind(null,c,r))),Ku.applyMask(n,c),qu(c,r,n),{modules:c,version:t,errorCorrectionLevel:r,maskPattern:n,segments:i}}vy.create=function(t,r){if(typeof t>"u"||t==="")throw new Error("No input text");let n=$u.M,i,o;return typeof r<"u"&&(n=$u.from(r.errorCorrectionLevel,$u.M),i=sl.from(r.version),o=Ku.from(r.maskPattern),r.toSJISFunc&&al.setToSJISFunction(r.toSJISFunc)),R3(t,i,n,o)}});var Ju=_e(ni=>{function wy(e){if(typeof e=="number"&&(e=e.toString()),typeof e!="string")throw new Error("Color should be defined as hex string");let t=e.slice().replace("#","").split("");if(t.length<3||t.length===5||t.length>8)throw new Error("Invalid hex color: "+e);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(n){return[n,n]}))),t.length===6&&t.push("F","F");let r=parseInt(t.join(""),16);return{r:r>>24&255,g:r>>16&255,b:r>>8&255,a:r&255,hex:"#"+t.slice(0,6).join("")}}ni.getOptions=function(t){t||(t={}),t.color||(t.color={});let r=typeof t.margin>"u"||t.margin===null||t.margin<0?4:t.margin,n=t.width&&t.width>=21?t.width:void 0,i=t.scale||4;return{width:n,scale:n?4:i,margin:r,color:{dark:wy(t.color.dark||"#000000ff"),light:wy(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}};ni.getScale=function(t,r){return r.width&&r.width>=t+r.margin*2?r.width/(t+r.margin*2):r.scale};ni.getImageWidth=function(t,r){let n=ni.getScale(t,r);return Math.floor((t+r.margin*2)*n)};ni.qrToImageData=function(t,r,n){let i=r.modules.size,o=r.modules.data,s=ni.getScale(i,n),a=Math.floor((i+n.margin*2)*s),c=n.margin*s,l=[n.color.light,n.color.dark];for(let h=0;h<a;h++)for(let d=0;d<a;d++){let g=(h*a+d)*4,p=n.color.light;if(h>=c&&d>=c&&h<a-c&&d<a-c){let m=Math.floor((h-c)/s),u=Math.floor((d-c)/s);p=l[o[m*i+u]?1:0]}t[g++]=p.r,t[g++]=p.g,t[g++]=p.b,t[g]=p.a}}});var Sy=_e(cl=>{var Yu=Ju();function P3(e,t,r){e.clearRect(0,0,t.width,t.height),t.style||(t.style={}),t.height=r,t.width=r,t.style.height=r+"px",t.style.width=r+"px"}function D3(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}cl.render=function(t,r,n){let i=n,o=r;typeof i>"u"&&(!r||!r.getContext)&&(i=r,r=void 0),r||(o=D3()),i=Yu.getOptions(i);let s=Yu.getImageWidth(t.modules.size,i),a=o.getContext("2d"),c=a.createImageData(s,s);return Yu.qrToImageData(c.data,t,i),P3(a,o,s),a.putImageData(c,0,0),o};cl.renderToDataURL=function(t,r,n){let i=n;typeof i>"u"&&(!r||!r.getContext)&&(i=r,r=void 0),i||(i={});let o=cl.render(t,r,i),s=i.type||"image/png",a=i.rendererOpts||{};return o.toDataURL(s,a.quality)}});var Cy=_e(Ey=>{var B3=Ju();function ky(e,t){let r=e.a/255,n=t+'="'+e.hex+'"';return r<1?n+" "+t+'-opacity="'+r.toFixed(2).slice(1)+'"':n}function Zu(e,t,r){let n=e+t;return typeof r<"u"&&(n+=" "+r),n}function O3(e,t,r){let n="",i=0,o=!1,s=0;for(let a=0;a<e.length;a++){let c=Math.floor(a%t),l=Math.floor(a/t);!c&&!o&&(o=!0),e[a]?(s++,a>0&&c>0&&e[a-1]||(n+=o?Zu("M",c+r,.5+l+r):Zu("m",i,0),i=0,o=!1),c+1<t&&e[a+1]||(n+=Zu("h",s),s=0)):i++}return n}Ey.render=function(t,r,n){let i=B3.getOptions(r),o=t.modules.size,s=t.modules.data,a=o+i.margin*2,c=i.color.light.a?"<path "+ky(i.color.light,"fill")+' d="M0 0h'+a+"v"+a+'H0z"/>':"",l="<path "+ky(i.color.dark,"stroke")+' d="'+O3(s,o,i.margin)+'"/>',h='viewBox="0 0 '+a+" "+a+'"',g='<svg xmlns="http://www.w3.org/2000/svg" '+(i.width?'width="'+i.width+'" height="'+i.width+'" ':"")+h+' shape-rendering="crispEdges">'+c+l+`</svg>
9
+ `;return typeof n=="function"&&n(null,g),g}});var Ay=_e(ms=>{var U3=I2(),Qu=_y(),xy=Sy(),F3=Cy();function ep(e,t,r,n,i){let o=[].slice.call(arguments,1),s=o.length,a=typeof o[s-1]=="function";if(!a&&!U3())throw new Error("Callback required as last argument");if(a){if(s<2)throw new Error("Too few arguments provided");s===2?(i=r,r=t,t=n=void 0):s===3&&(t.getContext&&typeof i>"u"?(i=n,n=void 0):(i=n,n=r,r=t,t=void 0))}else{if(s<1)throw new Error("Too few arguments provided");return s===1?(r=t,t=n=void 0):s===2&&!t.getContext&&(n=r,r=t,t=void 0),new Promise(function(c,l){try{let h=Qu.create(r,n);c(e(h,t,n))}catch(h){l(h)}})}try{let c=Qu.create(r,n);i(null,e(c,t,n))}catch(c){i(c)}}ms.create=Qu.create;ms.toCanvas=ep.bind(null,xy.render);ms.toDataURL=ep.bind(null,xy.renderToDataURL);ms.toString=ep.bind(null,function(e,t,r){return F3.render(e,r)})});async function vs(){if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia)return!1;try{let e={audio:!0,video:!0};return(await navigator.mediaDevices.getUserMedia(e)).getTracks().forEach(r=>{r.stop()}),!0}catch{return!1}}async function _s(){return new Promise((e,t)=>{let r=window.screen.isExtended;if(r)e(r);else if(navigator.userAgent.indexOf("Firefox")>-1)e(!1);else{let i=[];window.getScreenDetails().then(function(o){i=o,e(i.screens.length>=2)})}})}async function pr(){let e=["OBS","ManyCam","Snap Camera","Virtual"],r=(await navigator.mediaDevices.enumerateDevices()).filter(i=>!e.some(o=>i.deviceId.includes(o)||i.label.includes(o)));return{cameras:r.filter(i=>i.kind=="videoinput"&&i.deviceId).map(i=>({label:i.label||"Generic Device",id:i.deviceId})),microphones:r.filter(i=>i.kind=="audioinput"&&i.deviceId).map(i=>({label:i.label||"Generic Device",id:i.deviceId}))}}var Mn=typeof self<"u"?self:{};function On(){throw Error("Invalid UTF8")}function ip(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}var ws,ml,My=typeof TextDecoder<"u",Ny,zy=typeof TextEncoder<"u";function yf(e){if(zy)e=(Ny||=new TextEncoder).encode(e);else{let r=0,n=new Uint8Array(3*e.length);for(let i=0;i<e.length;i++){var t=e.charCodeAt(i);if(t<128)n[r++]=t;else{if(t<2048)n[r++]=t>>6|192;else{if(t>=55296&&t<=57343){if(t<=56319&&i<e.length){let o=e.charCodeAt(++i);if(o>=56320&&o<=57343){t=1024*(t-55296)+o-56320+65536,n[r++]=t>>18|240,n[r++]=t>>12&63|128,n[r++]=t>>6&63|128,n[r++]=63&t|128;continue}i--}t=65533}n[r++]=t>>12|224,n[r++]=t>>6&63|128}n[r++]=63&t|128}}e=r===n.length?n:n.subarray(0,r)}return e}var Kl,Os;e:{for(gl=["CLOSURE_FLAGS"],Ss=Mn,ks=0;ks<gl.length;ks++)if((Ss=Ss[gl[ks]])==null){Os=null;break e}Os=Ss}var gl,Ss,ks,wo,op=Os&&Os[610401301];Kl=op!=null&&op;var sp=Mn.navigator;function Tl(e){return!!Kl&&!!wo&&wo.brands.some((({brand:t})=>t&&t.indexOf(e)!=-1))}function Yt(e){var t;return(t=Mn.navigator)&&(t=t.userAgent)||(t=""),t.indexOf(e)!=-1}function on(){return!!Kl&&!!wo&&wo.brands.length>0}function yl(){return on()?Tl("Chromium"):(Yt("Chrome")||Yt("CriOS"))&&!(!on()&&Yt("Edge"))||Yt("Silk")}function Xl(e){return Xl[" "](e),e}wo=sp&&sp.userAgentData||null,Xl[" "]=function(){};var jy=!on()&&(Yt("Trident")||Yt("MSIE"));!Yt("Android")||yl(),yl(),Yt("Safari")&&(yl()||!on()&&Yt("Coast")||!on()&&Yt("Opera")||!on()&&Yt("Edge")||(on()?Tl("Microsoft Edge"):Yt("Edg/"))||on()&&Tl("Opera"));var bf={},mo=null;function Vy(e){let t=e.length,r=3*t/4;r%3?r=Math.floor(r):"=.".indexOf(e[t-1])!=-1&&(r="=.".indexOf(e[t-2])!=-1?r-2:r-1);let n=new Uint8Array(r),i=0;return(function(o,s){function a(l){for(;c<o.length;){let h=o.charAt(c++),d=mo[h];if(d!=null)return d;if(!/^[\s\xa0]*$/.test(h))throw Error("Unknown base64 encoding at char: "+h)}return l}vf();let c=0;for(;;){let l=a(-1),h=a(0),d=a(64),g=a(64);if(g===64&&l===-1)break;s(l<<2|h>>4),d!=64&&(s(h<<4&240|d>>2),g!=64&&s(d<<6&192|g))}})(e,(function(o){n[i++]=o})),i!==r?n.subarray(0,i):n}function vf(){if(!mo){mo={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){let n=e.concat(t[r].split(""));bf[r]=n;for(let i=0;i<n.length;i++){let o=n[i];mo[o]===void 0&&(mo[o]=i)}}}}var _f=typeof Uint8Array<"u",wf=!jy&&typeof btoa=="function";function ap(e){if(!wf){var t;t===void 0&&(t=0),vf(),t=bf[t];var r=Array(Math.floor(e.length/3)),n=t[64]||"";let c=0,l=0;for(;c<e.length-2;c+=3){var i=e[c],o=e[c+1],s=e[c+2],a=t[i>>2];i=t[(3&i)<<4|o>>4],o=t[(15&o)<<2|s>>6],s=t[63&s],r[l++]=a+i+o+s}switch(a=0,s=n,e.length-c){case 2:s=t[(15&(a=e[c+1]))<<2]||n;case 1:e=e[c],r[l]=t[e>>2]+t[(3&e)<<4|a>>4]+s+n}return r.join("")}for(t="",r=0,n=e.length-10240;r<n;)t+=String.fromCharCode.apply(null,e.subarray(r,r+=10240));return t+=String.fromCharCode.apply(null,r?e.subarray(r):e),btoa(t)}var cp=/[-_.]/g,Hy={"-":"+",_:"/",".":"="};function Wy(e){return Hy[e]||""}function Sf(e){if(!wf)return Vy(e);cp.test(e)&&(e=e.replace(cp,Wy)),e=atob(e);let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function xo(e){return _f&&e!=null&&e instanceof Uint8Array}var fi={};function Nn(){return $y||=new Gr(null,fi)}function Jl(e){kf(fi);var t=e.g;return(t=t==null||xo(t)?t:typeof t=="string"?Sf(t):null)==null?t:e.g=t}var Gr=class{h(){return new Uint8Array(Jl(this)||0)}constructor(e,t){if(kf(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}},$y,Gy;function kf(e){if(e!==fi)throw Error("illegal external caller")}function Ef(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function Il(e){return Ef(e=Error(e),"warning"),e}var Ws=typeof Symbol=="function"&&typeof Symbol()=="symbol",qy=new Set;function Ao(e,t,r=!1,n=!1){return e=typeof Symbol=="function"&&typeof Symbol()=="symbol"?n&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t,r&&qy.add(e),e}var Ky=Ao("jas",void 0,!0,!0),lp=Ao(void 0,"0di"),bl=Ao(void 0,"2ex"),uo=Ao(void 0,"1oa",!0),mi=Ao(void 0,Symbol(),!0),ee=Ws?Ky:"Ga",Cf={Ga:{value:0,configurable:!0,writable:!0,enumerable:!1}},xf=Object.defineProperties;function $s(e,t){Ws||ee in e||xf(e,Cf),e[ee]|=t}function Qe(e,t){Ws||ee in e||xf(e,Cf),e[ee]=t}function Ei(e){return $s(e,34),e}function Xy(e,t){Qe(t,-30975&(0|e))}function Rl(e,t){Qe(t,-30941&(34|e))}function Yl(){return typeof BigInt=="function"}function Tt(e){return Array.prototype.slice.call(e)}var Zl,To={},Af={};function hp(e){return!(!e||typeof e!="object"||e.Ia!==Af)}function Ql(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&e.constructor===Object}function eh(e,t){if(e!=null){if(typeof e=="string")e=e?new Gr(e,fi):Nn();else if(e.constructor!==Gr)if(xo(e))e=e.length?new Gr(new Uint8Array(e),fi):Nn();else{if(!t)throw Error();e=void 0}}return e}function Us(e){return!(!Array.isArray(e)||e.length)&&!!(1&(0|e[ee]))}var dp=[];function un(e){if(2&e)throw Error()}Qe(dp,55),Zl=Object.freeze(dp);var Fs=class e{constructor(t,r,n){this.l=0,this.g=t,this.h=r,this.m=n}next(){if(this.l<this.g.length){let t=this.g[this.l++];return{done:!1,value:this.h?this.h.call(this.m,t):t}}return{done:!0,value:void 0}}[Symbol.iterator](){return new e(this.g,this.h,this.m)}};function th(e){return mi?e[mi]:void 0}var Jy=Object.freeze({});function Gs(e){return e.Qa=!0,e}var Yy=Gs((e=>typeof e=="number")),up=Gs((e=>typeof e=="string")),Zy=Gs((e=>typeof e=="boolean")),qs=typeof Mn.BigInt=="function"&&typeof Mn.BigInt(0)=="bigint",Pl=Gs((e=>qs?e>=eb&&e<=rb:e[0]==="-"?pp(e,Qy):pp(e,tb))),Qy=Number.MIN_SAFE_INTEGER.toString(),eb=qs?BigInt(Number.MIN_SAFE_INTEGER):void 0,tb=Number.MAX_SAFE_INTEGER.toString(),rb=qs?BigInt(Number.MAX_SAFE_INTEGER):void 0;function pp(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(let r=0;r<e.length;r++){let n=e[r],i=t[r];if(n>i)return!1;if(n<i)return!0}}var nb=typeof Uint8Array.prototype.slice=="function",Tf,Ae=0,We=0;function fp(e){let t=e>>>0;Ae=t,We=(e-t)/4294967296>>>0}function gi(e){if(e<0){fp(-e);let[t,r]=oh(Ae,We);Ae=t>>>0,We=r>>>0}else fp(e)}function rh(e){let t=Tf||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),We=0,Ae=t.getUint32(0,!0)}function nh(e,t){let r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:So(e,t)}function ih(e,t){let r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=nh(e,t))=="number"?r?-e:e:r?"-"+e:e}function So(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else Yl()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+mp(r)+mp(e));return r}function mp(e){return e=String(e),"0000000".slice(e.length)+e}function Ks(e){if(e.length<16)gi(Number(e));else if(Yl())e=BigInt(e),Ae=Number(e&BigInt(4294967295))>>>0,We=Number(e>>BigInt(32)&BigInt(4294967295));else{let t=+(e[0]==="-");We=Ae=0;let r=e.length;for(let n=t,i=(r-t)%6+t;i<=r;n=i,i+=6){let o=Number(e.slice(n,i));We*=1e6,Ae=1e6*Ae+o,Ae>=4294967296&&(We+=Math.trunc(Ae/4294967296),We>>>=0,Ae>>>=0)}if(t){let[n,i]=oh(Ae,We);Ae=n,We=i}}}function oh(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}var sh=typeof BigInt=="function"?BigInt.asIntN:void 0,ib=typeof BigInt=="function"?BigInt.asUintN:void 0,li=Number.isSafeInteger,Xs=Number.isFinite,Ls=Math.trunc;function pn(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function If(e){return e==null||typeof e=="boolean"?e:typeof e=="number"?!!e:void 0}var ob=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Js(e){switch(typeof e){case"bigint":return!0;case"number":return Xs(e);case"string":return ob.test(e);default:return!1}}function Ci(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return Xs(e)?0|e:void 0}function Rf(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return Xs(e)?e>>>0:void 0}function gp(e){if(e[0]==="-")return!1;let t=e.length;return t<20||t===20&&Number(e.substring(0,6))<184467}function ah(e){return e=Ls(e),li(e)||(gi(e),e=ih(Ae,We)),e}function ch(e){var t=Ls(Number(e));if(li(t))return String(t);if((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),t=e.length,!(e[0]==="-"?t<20||t===20&&Number(e.substring(0,7))>-922337:t<19||t===19&&Number(e.substring(0,6))<922337))if(Ks(e),e=Ae,2147483648&(t=We))if(Yl())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{let[r,n]=oh(e,t);e="-"+So(r,n)}else e=So(e,t);return e}function Ms(e){return e==null?e:typeof e=="bigint"?(Pl(e)?e=Number(e):(e=sh(64,e),e=Pl(e)?Number(e):String(e)),e):Js(e)?typeof e=="number"?ah(e):ch(e):void 0}function sb(e){if(e==null)return e;var t=typeof e;if(t==="bigint")return String(ib(64,e));if(Js(e)){if(t==="string")return t=Ls(Number(e)),li(t)&&t>=0?e=String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),gp(e)||(Ks(e),e=So(Ae,We))),e;if(t==="number")return(e=Ls(e))>=0&&li(e)?e:(function(r){if(r<0){gi(r);var n=So(Ae,We);return r=Number(n),li(r)?r:n}return gp(n=String(r))?n:(gi(r),nh(Ae,We))})(e)}}function Pf(e){if(typeof e!="string")throw Error();return e}function xi(e){if(e!=null&&typeof e!="string")throw Error();return e}function yi(e){return e==null||typeof e=="string"?e:void 0}function lh(e,t,r,n){if(e!=null&&typeof e=="object"&&e.W===To)return e;if(!Array.isArray(e))return r?2&n?((e=t[lp])||(Ei((e=new t).u),e=t[lp]=e),t=e):t=new t:t=void 0,t;let i=r=0|e[ee];return i===0&&(i|=32&n),i|=2&n,i!==r&&Qe(e,i),new t(e)}function ab(e,t,r){if(t)e:{if(!Js(t=e))throw Il("int64");switch(typeof t){case"string":t=ch(t);break e;case"bigint":if(e=t=sh(64,t),up(e)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(e))throw Error(String(e))}else if(Yy(e)&&!Number.isSafeInteger(e))throw Error(String(e));t=qs?BigInt(t):Zy(t)?t?"1":"0":up(t)?t.trim()||"0":String(t);break e;default:t=ah(t)}}else t=Ms(e);return typeof(r=(e=t)==null?r?0:void 0:e)=="string"&&li(t=+r)?t:r}var cb={},lb=(function(){try{return Xl(new class extends Map{constructor(){super()}}),!1}catch{return!0}})(),yo=class{constructor(){this.g=new Map}get(t){return this.g.get(t)}set(t,r){return this.g.set(t,r),this.size=this.g.size,this}delete(t){return t=this.g.delete(t),this.size=this.g.size,t}clear(){this.g.clear(),this.size=this.g.size}has(t){return this.g.has(t)}entries(){return this.g.entries()}keys(){return this.g.keys()}values(){return this.g.values()}forEach(t,r){return this.g.forEach(t,r)}[Symbol.iterator](){return this.entries()}},hb=lb?(Object.setPrototypeOf(yo.prototype,Map.prototype),Object.defineProperties(yo.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),yo):class extends Map{constructor(){super()}};function yp(e){return e}function vl(e){if(2&e.L)throw Error("Cannot mutate an immutable Map")}var Qt=class extends hb{constructor(e,t,r=yp,n=yp){super();let i=0|e[ee];i|=64,Qe(e,i),this.L=i,this.S=t,this.R=r,this.Y=this.S?db:n;for(let o=0;o<e.length;o++){let s=e[o],a=r(s[0],!1,!0),c=s[1];t?c===void 0&&(c=null):c=n(s[1],!1,!0,void 0,void 0,i),super.set(a,c)}}na(e=bp){if(this.size!==0)return this.X(e)}X(e=bp){let t=[],r=super.entries();for(var n;!(n=r.next()).done;)(n=n.value)[0]=e(n[0]),n[1]=e(n[1]),t.push(n);return t}clear(){vl(this),super.clear()}delete(e){return vl(this),super.delete(this.R(e,!0,!1))}entries(){var e=this.ma();return new Fs(e,ub,this)}keys(){return this.Ha()}values(){var e=this.ma();return new Fs(e,Qt.prototype.get,this)}forEach(e,t){super.forEach(((r,n)=>{e.call(t,this.get(n),n,this)}))}set(e,t){return vl(this),(e=this.R(e,!0,!1))==null?this:t==null?(super.delete(e),this):super.set(e,this.Y(t,!0,!0,this.S,!1,this.L))}Na(e){let t=this.R(e[0],!1,!0);e=e[1],e=this.S?e===void 0?null:e:this.Y(e,!1,!0,void 0,!1,this.L),super.set(t,e)}has(e){return super.has(this.R(e,!1,!1))}get(e){e=this.R(e,!1,!1);let t=super.get(e);if(t!==void 0){var r=this.S;return r?((r=this.Y(t,!1,!0,r,this.ra,this.L))!==t&&super.set(e,r),r):t}}ma(){return Array.from(super.keys())}Ha(){return super.keys()}[Symbol.iterator](){return this.entries()}};function db(e,t,r,n,i,o){return e=lh(e,n,r,o),i&&(e=Zs(e)),e}function bp(e){return e}function ub(e){return[e,this.get(e)]}var pb,Df,fb;function vp(){return pb||=new Qt(Ei([]),void 0,void 0,void 0,cb)}function hh(e,t,r,n,i){if(e!=null){if(Array.isArray(e))e=Us(e)?void 0:i&&2&(0|e[ee])?e:dh(e,t,r,n!==void 0,i);else if(Ql(e)){let o={};for(let s in e)o[s]=hh(e[s],t,r,n,i);e=o}else e=t(e,n);return e}}function dh(e,t,r,n,i){let o=n||r?0|e[ee]:0,s=n?!!(32&o):void 0;n=Tt(e);for(let a=0;a<n.length;a++)n[a]=hh(n[a],t,r,s,i);return r&&((e=th(e))&&(n[mi]=Tt(e)),r(o,n)),n}function mb(e){return hh(e,Bf,void 0,void 0,!1)}function Bf(e){return e.W===To?e.toJSON():e instanceof Qt?e.na(mb):(function(t){switch(typeof t){case"number":return isFinite(t)?t:String(t);case"bigint":return Pl(t)?Number(t):String(t);case"boolean":return t?1:0;case"object":if(t)if(Array.isArray(t)){if(Us(t))return}else{if(xo(t))return ap(t);if(t instanceof Gr){let r=t.g;return r==null?"":typeof r=="string"?r:t.g=ap(r)}if(t instanceof Qt)return t.na()}}return t})(e)}function Of(e){return dh(e,Bf,void 0,void 0,!1)}function an(e,t,r){return e=Uf(e,t[0],t[1],r?1:2),t!==Df&&r&&$s(e,16384),e}function Uf(e,t,r,n){if(e==null){var i=96;r?(e=[r],i|=512):e=[],t&&(i=-33521665&i|(1023&t)<<15)}else{if(!Array.isArray(e))throw Error("narr");if(2048&(i=0|e[ee]))throw Error("farr");if(64&i)return e;if(n===1||n===2||(i|=64),r&&(i|=512,r!==e[0]))throw Error("mid");e:{if(n=(r=e).length){let o=n-1;if(Ql(r[o])){if((t=o-(512&(i|=256)?0:-1))>=1024)throw Error("pvtlmt");i=-33521665&i|(1023&t)<<15;break e}}if(t){if((t=Math.max(t,n-(512&i?0:-1)))>1024)throw Error("spvt");i=-33521665&i|(1023&t)<<15}}}return Qe(e,i),e}function Dl(e,t,r=Rl){if(e!=null){if(_f&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){var n=0|e[ee];return 2&n?e:(t&&=n===0||!!(32&n)&&!(64&n||!(16&n)),t?(Qe(e,-12293&(34|n)),e):dh(e,Dl,4&n?Rl:r,!0,!0))}return e.W===To?e=2&(n=0|(r=e.u)[ee])?e:new e.constructor(Ys(r,n,!0)):e instanceof Qt&&!(2&e.L)&&(r=Ei(e.X(Dl)),e=new Qt(r,e.S,e.R,e.Y)),e}}function Ys(e,t,r){let n=r||2&t?Rl:Xy,i=!!(32&t);return e=(function(o,s,a){let c=Tt(o);var l=c.length;let h=256&s?c[l-1]:void 0;for(l+=h?-1:0,s=512&s?1:0;s<l;s++)c[s]=a(c[s]);if(h){s=c[s]={};for(let d in h)s[d]=a(h[d])}return(o=th(o))&&(c[mi]=Tt(o)),c})(e,t,(o=>Dl(o,i,n))),$s(e,32|(r?2:0)),e}function Zs(e){let t=e.u,r=0|t[ee];return 2&r?new e.constructor(Ys(t,r,!1)):e}function bi(e,t){return Jr(e=e.u,0|e[ee],t)}function Jr(e,t,r,n){if(r===-1)return null;var i=r+(512&t?0:-1);let o=e.length-1;return i>=o&&256&t?e[o][r]:n&&256&t&&(t=e[o][r])!=null?(e[i]!=null&&bl!=null&&((i=(e=Gy??={})[bl]||0)>=4||(e[bl]=i+1,Ef(e=Error(),"incident"),(function(s){Mn.setTimeout((()=>{throw s}),0)})(e))),t):i<=o?e[i]:void 0}function Re(e,t,r){let n=e.u,i=0|n[ee];return un(i),ze(n,i,t,r),e}function ze(e,t,r,n){let i=512&t?0:-1,o=r+i;var s=e.length-1;return o>=s&&256&t?(e[s][r]=n,t):o<=s?(e[o]=n,256&t&&r in(e=e[s])&&delete e[r],t):(n!==void 0&&(r>=(s=t>>15&1023||536870912)?n!=null&&(e[s+i]={[r]:n},Qe(e,t|=256)):e[o]=n),t)}function Ts(e,t){let r=0|(e=e.u)[ee],n=Jr(e,r,t),i=pn(n);return i!=null&&i!==n&&ze(e,r,t,i),i}function Ff(e){let t=0|(e=e.u)[ee],r=Jr(e,t,1),n=eh(r,!0);return n!=null&&n!==r&&ze(e,t,1,n),n}function Un(){return Jy===void 0?2:4}function Fn(e,t,r,n,i){let o=e.u,s=2&(e=0|o[ee])?1:n;i=!!i;let a=0|(n=uh(o,e,t))[ee];if(!(4&a)){4&a&&(n=Tt(n),a=qr(a,e),e=ze(o,e,t,n));let c=0,l=0;for(;c<n.length;c++){let h=r(n[c]);h!=null&&(n[l++]=h)}l<c&&(n.length=l),a=ph(a,e),r=-4097&(20|a),a=r&=-8193,Qe(n,a),2&a&&Object.freeze(n)}return s===1||s===4&&32&a?$r(a)||(i=a,a|=2,a!==i&&Qe(n,a),Object.freeze(n)):(s===2&&$r(a)&&(n=Tt(n),a=qr(a,e),a=cn(a,e,i),Qe(n,a),e=ze(o,e,t,n)),$r(a)||(t=a,a=cn(a,e,i),a!==t&&Qe(n,a))),n}function uh(e,t,r,n){return e=Jr(e,t,r,n),Array.isArray(e)?e:Zl}function ph(e,t){return e===0&&(e=qr(e,t)),1|e}function $r(e){return!!(2&e)&&!!(4&e)||!!(2048&e)}function Lf(e){e=Tt(e);for(let t=0;t<e.length;t++){let r=e[t]=Tt(e[t]);Array.isArray(r[1])&&(r[1]=Ei(r[1]))}return e}function Bl(e,t,r,n){let i=0|(e=e.u)[ee];un(i),ze(e,i,t,(n==="0"?Number(r)===0:r===n)?void 0:r)}function Ai(e,t,r,n,i){un(t);var o=!(!(64&t)&&16384&t);let s=(i=uh(e,t,r,i))!==Zl;if(o||!s){let a=o=s?0|i[ee]:0;(!s||2&a||$r(a)||4&a&&!(32&a))&&(i=Tt(i),a=qr(a,t),t=ze(e,t,r,i)),a=-13&ph(a,t),a=cn(n?-17&a:16|a,t,!0),a!==o&&Qe(i,a)}return i}function _l(e,t){var r=xm;return mh(fh(e=e.u),e,0|e[ee],r)===t?t:-1}function fh(e){if(Ws)return e[uo]??(e[uo]=new Map);if(uo in e)return e[uo];let t=new Map;return Object.defineProperty(e,uo,{value:t}),t}function Mf(e,t,r,n){let i=fh(e),o=mh(i,e,t,r);return o!==n&&(o&&(t=ze(e,t,o)),i.set(r,n)),t}function mh(e,t,r,n){let i=e.get(n);if(i!=null)return i;i=0;for(let o=0;o<n.length;o++){let s=n[o];Jr(t,r,s)!=null&&(i!==0&&(r=ze(t,r,i)),i=s)}return e.set(n,i),i}function gh(e,t,r,n){let i,o=0|e[ee];if((n=Jr(e,o,r,n))!=null&&n.W===To)return(t=Zs(n))!==n&&ze(e,o,r,t),t.u;if(Array.isArray(n)){let s=0|n[ee];i=2&s?an(Ys(n,s,!1),t,!0):64&s?n:an(i,t,!0)}else i=an(void 0,t,!0);return i!==n&&ze(e,o,r,i),i}function Nf(e,t,r,n){let i=0|(e=e.u)[ee];return(t=lh(n=Jr(e,i,r,n),t,!1,i))!==n&&t!=null&&ze(e,i,r,t),t}function ye(e,t,r,n=!1){if((t=Nf(e,t,r,n))==null)return t;if(!(2&(n=0|(e=e.u)[ee]))){let i=Zs(t);i!==t&&ze(e,n,r,t=i)}return t}function zf(e,t,r,n,i,o,s){e=e.u;var a=!!(2&t);let c=a?1:i;o=!!o,s&&=!a;var l=0|(i=uh(e,t,n))[ee];if(!(a=!!(4&l))){var h=i,d=t;let g=!!(2&(l=ph(l,t)));g&&(d|=2);let p=!g,m=!0,u=0,b=0;for(;u<h.length;u++){let _=lh(h[u],r,!1,d);if(_ instanceof r){if(!g){let E=!!(2&(0|_.u[ee]));p&&=!E,m&&=E}h[b++]=_}}b<u&&(h.length=b),l|=4,l=m?16|l:-17&l,Qe(h,l=p?8|l:-9&l),g&&Object.freeze(h)}if(s&&!(8&l||!i.length&&(c===1||c===4&&32&l))){for($r(l)&&(i=Tt(i),l=qr(l,t),t=ze(e,t,n,i)),r=i,s=l,h=0;h<r.length;h++)(l=r[h])!==(d=Zs(l))&&(r[h]=d);s|=8,Qe(r,s=r.length?-17&s:16|s),l=s}return c===1||c===4&&32&l?$r(l)||(t=l,(l|=!i.length||16&l&&(!a||32&l)?2:2048)!==t&&Qe(i,l),Object.freeze(i)):(c===2&&$r(l)&&(Qe(i=Tt(i),l=cn(l=qr(l,t),t,o)),t=ze(e,t,n,i)),$r(l)||(n=l,(l=cn(l,t,o))!==n&&Qe(i,l))),i}function Kr(e,t,r){let n=0|e.u[ee];return zf(e,n,t,r,Un(),!1,!(2&n))}function ne(e,t,r,n){return n==null&&(n=void 0),Re(e,r,n)}function bo(e,t,r,n){n==null&&(n=void 0);e:{let i=0|(e=e.u)[ee];if(un(i),n==null){let o=fh(e);if(mh(o,e,i,r)!==t)break e;o.set(r,0)}else i=Mf(e,i,r,t);ze(e,i,t,n)}}function qr(e,t){return-2049&(e=32|(2&t?2|e:-3&e))}function cn(e,t,r){return 32&t&&r||(e&=-33),e}function Ns(e,t,r,n){let i=0|e.u[ee];un(i),e=zf(e,i,r,t,2,!0),n=n??new r,e.push(n),e[ee]=2&(0|n.u[ee])?-9&e[ee]:-17&e[ee]}function Zt(e,t){return Ci(bi(e,t))}function er(e,t){return yi(bi(e,t))}function Je(e,t){return Ts(e,t)??0}function ko(e,t,r){if(r!=null&&typeof r!="boolean")throw e=typeof r,Error(`Expected boolean but got ${e!="object"?e:r?Array.isArray(r)?"array":e:"null"}: ${r}`);Re(e,t,r)}function Br(e,t,r){if(r!=null){if(typeof r!="number"||!Xs(r))throw Il("int32");r|=0}Re(e,t,r)}function Z(e,t,r){if(r!=null&&typeof r!="number")throw Error(`Value of float/double field must be a number, found ${typeof r}: ${r}`);Re(e,t,r)}function zs(e,t,r){{let s=e.u,a=0|s[ee];if(un(a),r==null)ze(s,a,t);else{var n=e=0|r[ee],i=$r(e),o=i||Object.isFrozen(r);for(i||(e=0),o||(r=Tt(r),n=0,e=cn(e=qr(e,a),a,!0),o=!1),e|=21,i=0;i<r.length;i++){let c=r[i],l=Pf(c);Object.is(c,l)||(o&&(r=Tt(r),n=0,e=cn(e=qr(e,a),a,!0),o=!1),r[i]=l)}e!==n&&(o&&(r=Tt(r),e=cn(e=qr(e,a),a,!0)),Qe(r,e)),ze(s,a,t,r)}}}function Qs(e,t,r){un(0|e.u[ee]),Fn(e,t,yi,2,!0).push(Pf(r))}function jf(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function yh(){return Error("Failed to read varint, encoding is invalid.")}function Vf(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function bh(e){if(typeof e=="string")return{buffer:Sf(e),N:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),N:!1};if(e.constructor===Uint8Array)return{buffer:e,N:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),N:!1};if(e.constructor===Gr)return{buffer:Jl(e)||new Uint8Array(0),N:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),N:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function vh(e,t){let r,n=0,i=0,o=0,s=e.h,a=e.g;do r=s[a++],n|=(127&r)<<o,o+=7;while(o<32&&128&r);for(o>32&&(i|=(127&r)>>4),o=3;o<32&&128&r;o+=7)r=s[a++],i|=(127&r)<<o;if(Ln(e,a),r<128)return t(n>>>0,i>>>0);throw yh()}function _h(e){let t=0,r=e.g,n=r+10,i=e.h;for(;r<n;){let o=i[r++];if(t|=o,(128&o)==0)return Ln(e,r),!!(127&t)}throw yh()}function ln(e){let t=e.h,r=e.g,n=t[r++],i=127&n;if(128&n&&(n=t[r++],i|=(127&n)<<7,128&n&&(n=t[r++],i|=(127&n)<<14,128&n&&(n=t[r++],i|=(127&n)<<21,128&n&&(n=t[r++],i|=n<<28,128&n&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw yh();return Ln(e,r),i}function Xr(e){return ln(e)>>>0}function Ol(e){var t=e.h;let r=e.g,n=t[r],i=t[r+1],o=t[r+2];return t=t[r+3],Ln(e,e.g+4),(n<<0|i<<8|o<<16|t<<24)>>>0}function Ul(e){var t=Ol(e);e=2*(t>>31)+1;let r=t>>>23&255;return t&=8388607,r==255?t?NaN:e*(1/0):r==0?1401298464324817e-60*e*t:e*Math.pow(2,r-150)*(t+8388608)}function gb(e){return ln(e)}function wl(e,t,{ba:r=!1}={}){e.ba=r,t&&(t=bh(t),e.h=t.buffer,e.m=t.N,e.j=0,e.l=e.h.length,e.g=e.j)}function Ln(e,t){if(e.g=t,t>e.l)throw Vf(e.l,t)}function Hf(e,t){if(t<0)throw Error(`Tried to read a negative byte length: ${t}`);let r=e.g,n=r+t;if(n>e.l)throw Vf(t,e.l-r);return e.g=n,r}function Wf(e,t){if(t==0)return Nn();var r=Hf(e,t);return e.ba&&e.m?r=e.h.subarray(r,r+t):(e=e.h,r=r===(t=r+t)?new Uint8Array(0):nb?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?Nn():new Gr(r,fi)}Qt.prototype.toJSON=void 0,Qt.prototype.Ia=Af;var _p=[];function $f(e){var t=e.g;if(t.g==t.l)return!1;e.l=e.g.g;var r=Xr(e.g);if(t=r>>>3,!((r&=7)>=0&&r<=5))throw jf(r,e.l);if(t<1)throw Error(`Invalid field number: ${t} (at position ${e.l})`);return e.m=t,e.h=r,!0}function Is(e){switch(e.h){case 0:e.h!=0?Is(e):_h(e.g);break;case 1:Ln(e=e.g,e.g+8);break;case 2:if(e.h!=2)Is(e);else{var t=Xr(e.g);Ln(e=e.g,e.g+t)}break;case 5:Ln(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!$f(e))throw Error("Unmatched start-group tag: stream EOF");if(e.h==4){if(e.m!=t)throw Error("Unmatched end-group tag");break}Is(e)}break;default:throw jf(e.h,e.l)}}function Io(e,t,r){let n=e.g.l,i=Xr(e.g),o=e.g.g+i,s=o-n;if(s<=0&&(e.g.l=o,r(t,e,void 0,void 0,void 0),s=o-e.g.g),s)throw Error(`Message parsing ended unexpectedly. Expected to read ${i} bytes, instead read ${i-s} bytes, either the data ended unexpectedly or the message misreported its own length`);return e.g.g=o,e.g.l=n,t}function wh(e){var t=Xr(e.g),r=Hf(e=e.g,t);if(e=e.h,My){var n,i=e;(n=ml)||(n=ml=new TextDecoder("utf-8",{fatal:!0})),t=r+t,i=r===0&&t===i.length?i:i.subarray(r,t);try{var o=n.decode(i)}catch(a){if(ws===void 0){try{n.decode(new Uint8Array([128]))}catch{}try{n.decode(new Uint8Array([97])),ws=!0}catch{ws=!1}}throw!ws&&(ml=void 0),a}}else{t=(o=r)+t,r=[];let a,c=null;for(;o<t;){var s=e[o++];s<128?r.push(s):s<224?o>=t?On():(a=e[o++],s<194||(192&a)!=128?(o--,On()):r.push((31&s)<<6|63&a)):s<240?o>=t-1?On():(a=e[o++],(192&a)!=128||s===224&&a<160||s===237&&a>=160||(192&(n=e[o++]))!=128?(o--,On()):r.push((15&s)<<12|(63&a)<<6|63&n)):s<=244?o>=t-2?On():(a=e[o++],(192&a)!=128||a-144+(s<<28)>>30!=0||(192&(n=e[o++]))!=128||(192&(i=e[o++]))!=128?(o--,On()):(s=(7&s)<<18|(63&a)<<12|(63&n)<<6|63&i,s-=65536,r.push(55296+(s>>10&1023),56320+(1023&s)))):On(),r.length>=8192&&(c=ip(c,r),r.length=0)}o=ip(c,r)}return o}function Gf(e){let t=Xr(e.g);return Wf(e.g,t)}function ea(e,t,r){var n=Xr(e.g);for(n=e.g.g+n;e.g.g<n;)r.push(t(e.g))}var Es=[];function yb(e){return e}var hi;function fr(e,t,r){t.g?t.m(e,t.g,t.h,r):t.m(e,t.h,r)}var Y=class{constructor(e,t){this.u=Uf(e,t)}toJSON(){let e=!hi;try{return e&&(hi=Of),qf(this)}finally{e&&(hi=void 0)}}l(){var e=Zb;return e.g?e.l(this,e.g,e.h,!0):e.l(this,e.h,e.defaultValue,!0)}clone(){let e=this.u;return new this.constructor(Ys(e,0|e[ee],!1))}N(){return!!(2&(0|this.u[ee]))}};function qf(e){var t=e.u;{t=(e=hi(t))!==t;let l=e.length;if(l){var r=e[l-1],n=Ql(r);n?l--:r=void 0;var i=e;if(n){e:{var o,s=r,a=!1;if(s)for(let h in s)isNaN(+h)?(o??={})[h]=s[h]:(n=s[h],Array.isArray(n)&&(Us(n)||hp(n)&&n.size===0)&&(n=null),n==null&&(a=!0),n!=null&&((o??={})[h]=n));if(a||(o=s),o)for(let h in o){a=o;break e}a=null}s=a==null?r!=null:a!==r}for(;l>0&&((o=i[l-1])==null||Us(o)||hp(o)&&o.size===0);l--)var c=!0;(i!==e||s||c)&&(t?(c||s||a)&&(i.length=l):i=Array.prototype.slice.call(i,0,l),a&&i.push(a)),c=i}else c=e}return c}function wp(e){return e?/^\d+$/.test(e)?(Ks(e),new Fl(Ae,We)):null:bb||=new Fl(0,0)}Y.prototype.W=To,Y.prototype.toString=function(){try{return hi=yb,qf(this).toString()}finally{hi=void 0}};var Fl=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}},bb;function Sp(e){return e?/^-?\d+$/.test(e)?(Ks(e),new Ll(Ae,We)):null:vb||=new Ll(0,0)}var Ll=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}},vb;function di(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function Ti(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function ta(e,t){if(t>=0)Ti(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function Eo(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function vi(e,t){t.length!==0&&(e.l.push(t),e.h+=t.length)}function zt(e,t,r){Ti(e.g,8*t+r)}function Sh(e,t){return zt(e,t,2),t=e.g.end(),vi(e,t),t.push(e.h),t}function kh(e,t){var r=t.pop();for(r=e.h+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.h++;t.push(r),e.h++}function ra(e,t,r){zt(e,t,2),Ti(e.g,r.length),vi(e,e.g.end()),vi(e,r)}function js(e,t,r,n){r!=null&&(t=Sh(e,t),n(r,e),kh(e,t))}function mr(){let e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var Eh=mr(),Kf=mr(),Ch=mr(),xh=mr(),Xf=mr(),Jf=mr(),Ah=mr(),Yf=mr(),Zf=mr(),Ii=class{constructor(e,t,r){this.g=e,this.h=t,e=Eh,this.l=!!e&&r===e||!1}};function na(e,t){return new Ii(e,t,Eh)}function Qf(e,t,r,n,i){js(e,r,nm(t,n),i)}var _b=na((function(e,t,r,n,i){return e.h===2&&(Io(e,gh(t,n,r),i),!0)}),Qf),wb=na((function(e,t,r,n,i){return e.h===2&&(Io(e,gh(t,n,r,!0),i),!0)}),Qf),ia=Symbol(),Th=Symbol(),kp=Symbol(),Ep=Symbol(),em,tm;function zn(e,t,r,n){var i=n[e];if(i)return i;(i={}).Pa=n,i.V=(function(d){switch(typeof d){case"boolean":return Df||=[0,void 0,!0];case"number":return d>0?void 0:d===0?fb||=[0,void 0]:[-d,void 0];case"string":return[0,d];case"object":return d}})(n[0]);var o=n[1];let s=1;o&&o.constructor===Object&&(i.ga=o,typeof(o=n[++s])=="function"&&(i.la=!0,em??=o,tm??=n[s+1],o=n[s+=2]));let a={};for(;o&&Array.isArray(o)&&o.length&&typeof o[0]=="number"&&o[0]>0;){for(var c=0;c<o.length;c++)a[o[c]]=o;o=n[++s]}for(c=1;o!==void 0;){let d;typeof o=="number"&&(c+=o,o=n[++s]);var l=void 0;if(o instanceof Ii?d=o:(d=_b,s--),d?.l){o=n[++s],l=n;var h=s;typeof o=="function"&&(o=o(),l[h]=o),l=o}for(h=c+1,typeof(o=n[++s])=="number"&&o<0&&(h-=o,o=n[++s]);c<h;c++){let g=a[c];l?r(i,c,d,l,g):t(i,c,d,g)}}return n[e]=i}function rm(e){return Array.isArray(e)?e[0]instanceof Ii?e:[wb,e]:[e,void 0]}function nm(e,t){return e instanceof Y?e.u:Array.isArray(e)?an(e,t,!1):void 0}function Ih(e,t,r,n){let i=r.g;e[t]=n?(o,s,a)=>i(o,s,a,n):i}function Rh(e,t,r,n,i){let o=r.g,s,a;e[t]=(c,l,h)=>o(c,l,h,a||=zn(Th,Ih,Rh,n).V,s||=Ph(n),i)}function Ph(e){let t=e[kp];if(t!=null)return t;let r=zn(Th,Ih,Rh,e);return t=r.la?(n,i)=>em(n,i,r):(n,i)=>{let o=0|n[ee];for(;$f(i)&&i.h!=4;){var s=i.m,a=r[s];if(a==null){var c=r.ga;c&&(c=c[s])&&(c=Sb(c))!=null&&(a=r[s]=c)}a!=null&&a(i,n,s)||(s=(a=i).l,Is(a),a.fa?a=void 0:(c=a.g.g-s,a.g.g=s,a=Wf(a.g,c)),s=n,a&&((c=s[mi])?c.push(a):s[mi]=[a]))}return 16384&o&&Ei(n),!0},e[kp]=t}function Sb(e){let t=(e=rm(e))[0].g;if(e=e[1]){let r=Ph(e),n=zn(Th,Ih,Rh,e).V;return(i,o,s)=>t(i,o,s,n,r)}return t}function oa(e,t,r){e[t]=r.h}function sa(e,t,r,n){let i,o,s=r.h;e[t]=(a,c,l)=>s(a,c,l,o||=zn(ia,oa,sa,n).V,i||=im(n))}function im(e){let t=e[Ep];if(!t){let r=zn(ia,oa,sa,e);t=(n,i)=>om(n,i,r),e[Ep]=t}return t}function om(e,t,r){for(var n=0|e[ee],i=512&n?0:-1,o=e.length,s=512&n?1:0,a=o+(256&n?-1:0);s<a;s++){let c=e[s];if(c==null)continue;let l=s-i,h=Cp(r,l);h&&h(t,c,l)}if(256&n){n=e[o-1];for(let c in n)i=+c,Number.isNaN(i)||(o=n[i])!=null&&(a=Cp(r,i))&&a(t,o,i)}if(e=th(e))for(vi(t,t.g.end()),r=0;r<e.length;r++)vi(t,Jl(e[r])||new Uint8Array(0))}function Cp(e,t){var r=e[t];if(r)return r;if((r=e.ga)&&(r=r[t])){var n=(r=rm(r))[0].h;if(r=r[1]){let i=im(r),o=zn(ia,oa,sa,r).V;r=e.la?tm(o,i):(s,a,c)=>n(s,a,c,o,i)}else r=n;return e[t]=r}}function Ri(e,t){if(Array.isArray(t)){var r=0|t[ee];if(4&r)return t;for(var n=0,i=0;n<t.length;n++){let o=e(t[n]);o!=null&&(t[i++]=o)}return i<n&&(t.length=i),Qe(t,-12289&(5|r)),2&r&&Object.freeze(t),t}}function vt(e,t,r){return new Ii(e,t,r)}function Pi(e,t,r){return new Ii(e,t,r)}function _t(e,t,r){ze(e,0|e[ee],t,r)}var kb=na((function(e,t,r,n,i){return e.h===2&&(e=Io(e,an([void 0,void 0],n,!0),i),un(n=0|t[ee]),(i=Jr(t,n,r))instanceof Qt?(2&i.L)!=0?((i=i.X()).push(e),ze(t,n,r,i)):i.Na(e):Array.isArray(i)?(2&(0|i[ee])&&ze(t,n,r,i=Lf(i)),i.push(e)):ze(t,n,r,[e]),!0)}),(function(e,t,r,n,i){if(t instanceof Qt)t.forEach(((o,s)=>{js(e,r,an([s,o],n,!1),i)}));else if(Array.isArray(t))for(let o=0;o<t.length;o++){let s=t[o];Array.isArray(s)&&js(e,r,an(s,n,!1),i)}}));function sm(e,t,r){if(t=(function(n){if(n==null)return n;let i=typeof n;if(i==="bigint")return String(sh(64,n));if(Js(n)){if(i==="string")return ch(n);if(i==="number")return ah(n)}})(t),t!=null&&(typeof t=="string"&&Sp(t),t!=null))switch(zt(e,r,0),typeof t){case"number":e=e.g,gi(t),di(e,Ae,We);break;case"bigint":r=BigInt.asUintN(64,t),r=new Ll(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),di(e.g,r.h,r.g);break;default:r=Sp(t),di(e.g,r.h,r.g)}}function am(e,t,r){(t=Ci(t))!=null&&t!=null&&(zt(e,r,0),ta(e.g,t))}function cm(e,t,r){(t=If(t))!=null&&(zt(e,r,0),e.g.g.push(t?1:0))}function lm(e,t,r){(t=yi(t))!=null&&ra(e,r,yf(t))}function hm(e,t,r,n,i){js(e,r,nm(t,n),i)}function dm(e,t,r){(t=t==null||typeof t=="string"||xo(t)||t instanceof Gr?t:void 0)!=null&&ra(e,r,bh(t).buffer)}function um(e,t,r){return(e.h===5||e.h===2)&&(t=Ai(t,0|t[ee],r,!1,!1),e.h==2?ea(e,Ul,t):t.push(Ul(e.g)),!0)}var Hr=vt((function(e,t,r){if(e.h!==1)return!1;var n=e.g;e=Ol(n);let i=Ol(n);n=2*(i>>31)+1;let o=i>>>20&2047;return e=4294967296*(1048575&i)+e,_t(t,r,o==2047?e?NaN:n*(1/0):o==0?5e-324*n*e:n*Math.pow(2,o-1075)*(e+4503599627370496)),!0}),(function(e,t,r){(t=pn(t))!=null&&(zt(e,r,1),e=e.g,(r=Tf||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),Ae=r.getUint32(0,!0),We=r.getUint32(4,!0),Eo(e,Ae),Eo(e,We))}),mr()),et=vt((function(e,t,r){return e.h===5&&(_t(t,r,Ul(e.g)),!0)}),(function(e,t,r){(t=pn(t))!=null&&(zt(e,r,5),e=e.g,rh(t),Eo(e,Ae))}),Ah),Eb=Pi(um,(function(e,t,r){if((t=Ri(pn,t))!=null)for(let s=0;s<t.length;s++){var n=e,i=r,o=t[s];o!=null&&(zt(n,i,5),n=n.g,rh(o),Eo(n,Ae))}}),Ah),Dh=Pi(um,(function(e,t,r){if((t=Ri(pn,t))!=null&&t.length){zt(e,r,2),Ti(e.g,4*t.length);for(let n=0;n<t.length;n++)r=e.g,rh(t[n]),Eo(r,Ae)}}),Ah),hn=vt((function(e,t,r){return e.h===0&&(_t(t,r,vh(e.g,ih)),!0)}),sm,Jf),Sl=vt((function(e,t,r){return e.h===0&&(_t(t,r,(e=vh(e.g,ih))===0?void 0:e),!0)}),sm,Jf),Cb=vt((function(e,t,r){return e.h===0&&(_t(t,r,vh(e.g,nh)),!0)}),(function(e,t,r){if((t=sb(t))!=null&&(typeof t=="string"&&wp(t),t!=null))switch(zt(e,r,0),typeof t){case"number":e=e.g,gi(t),di(e,Ae,We);break;case"bigint":r=BigInt.asUintN(64,t),r=new Fl(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),di(e.g,r.h,r.g);break;default:r=wp(t),di(e.g,r.h,r.g)}}),mr()),$e=vt((function(e,t,r){return e.h===0&&(_t(t,r,ln(e.g)),!0)}),am,xh),aa=Pi((function(e,t,r){return(e.h===0||e.h===2)&&(t=Ai(t,0|t[ee],r,!1,!1),e.h==2?ea(e,ln,t):t.push(ln(e.g)),!0)}),(function(e,t,r){if((t=Ri(Ci,t))!=null&&t.length){r=Sh(e,r);for(let n=0;n<t.length;n++)ta(e.g,t[n]);kh(e,r)}}),xh),ci=vt((function(e,t,r){return e.h===0&&(_t(t,r,(e=ln(e.g))===0?void 0:e),!0)}),am,xh),Fe=vt((function(e,t,r){return e.h===0&&(_t(t,r,_h(e.g)),!0)}),cm,Kf),ui=vt((function(e,t,r){return e.h===0&&(_t(t,r,(e=_h(e.g))===!1?void 0:e),!0)}),cm,Kf),mt=Pi((function(e,t,r){return e.h===2&&(e=wh(e),Ai(t,0|t[ee],r,!1).push(e),!0)}),(function(e,t,r){if((t=Ri(yi,t))!=null)for(let s=0;s<t.length;s++){var n=e,i=r,o=t[s];o!=null&&ra(n,i,yf(o))}}),Ch),sn=vt((function(e,t,r){return e.h===2&&(_t(t,r,(e=wh(e))===""?void 0:e),!0)}),lm,Ch),we=vt((function(e,t,r){return e.h===2&&(_t(t,r,wh(e)),!0)}),lm,Ch),st=(function(e,t,r=Eh){return new Ii(e,t,r)})((function(e,t,r,n,i){return e.h===2&&(n=an(void 0,n,!0),Ai(t,0|t[ee],r,!0).push(n),Io(e,n,i),!0)}),(function(e,t,r,n,i){if(Array.isArray(t))for(let o=0;o<t.length;o++)hm(e,t[o],r,n,i)})),Ee=na((function(e,t,r,n,i,o){return e.h===2&&(Mf(t,0|t[ee],o,r),Io(e,t=gh(t,n,r),i),!0)}),hm),pm=vt((function(e,t,r){return e.h===2&&(_t(t,r,Gf(e)),!0)}),dm,Yf),xb=Pi((function(e,t,r){return(e.h===0||e.h===2)&&(t=Ai(t,0|t[ee],r,!1,!1),e.h==2?ea(e,Xr,t):t.push(Xr(e.g)),!0)}),(function(e,t,r){if((t=Ri(Rf,t))!=null)for(let s=0;s<t.length;s++){var n=e,i=r,o=t[s];o!=null&&(zt(n,i,0),Ti(n.g,o))}}),Xf),Ab=vt((function(e,t,r){return e.h===0&&(_t(t,r,(e=Xr(e.g))===0?void 0:e),!0)}),(function(e,t,r){(t=Rf(t))!=null&&t!=null&&(zt(e,r,0),Ti(e.g,t))}),Xf),tr=vt((function(e,t,r){return e.h===0&&(_t(t,r,ln(e.g)),!0)}),(function(e,t,r){(t=Ci(t))!=null&&(t=parseInt(t,10),zt(e,r,0),ta(e.g,t))}),Zf),Ml=class{constructor(t,r){this.h=t,this.g=r,this.l=ye,this.m=ne,this.defaultValue=void 0}};function gr(e,t){return new Ml(e,t)}function fn(e,t){return(r,n)=>{if(Es.length){let o=Es.pop();o.o(n),wl(o.g,r,n),r=o}else r=new class{constructor(o,s){if(_p.length){let a=_p.pop();wl(a,o,s),o=a}else o=new class{constructor(a,c){this.h=null,this.m=!1,this.g=this.l=this.j=0,wl(this,a,c)}clear(){this.h=null,this.m=!1,this.g=this.l=this.j=0,this.ba=!1}}(o,s);this.g=o,this.l=this.g.g,this.h=this.m=-1,this.o(s)}o({fa:o=!1}={}){this.fa=o}}(r,n);try{let o=new e,s=o.u;Ph(t)(s,r);var i=o}finally{r.g.clear(),r.m=-1,r.h=-1,Es.length<100&&Es.push(r)}return i}}function ca(e){return function(){let t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){let s=this.g;return this.g=[],s}}}};om(this.u,t,zn(ia,oa,sa,e)),vi(t,t.g.end());let r=new Uint8Array(t.h),n=t.l,i=n.length,o=0;for(let s=0;s<i;s++){let a=n[s];r.set(a,o),o+=a.length}return t.l=[r],r}}var xp=class extends Y{constructor(e){super(e)}},Ap=[0,sn,vt((function(e,t,r){return e.h===2&&(_t(t,r,(e=Gf(e))===Nn()?void 0:e),!0)}),(function(e,t,r){if(t!=null){if(t instanceof Y){let n=t.Ra;return void(n&&(t=n(t),t!=null&&ra(e,r,bh(t).buffer)))}if(Array.isArray(t))return}dm(e,t,r)}),Yf)],kl,Tp=globalThis.trustedTypes;function Ip(e){kl===void 0&&(kl=(function(){let r=null;if(!Tp)return r;try{let n=i=>i;r=Tp.createPolicy("goog#html",{createHTML:n,createScript:n,createScriptURL:n})}catch{}return r})());var t=kl;return new class{constructor(r){this.g=r}toString(){return this.g+""}}(t?t.createScriptURL(e):e)}function Tb(e,...t){if(t.length===0)return Ip(e[0]);let r=e[0];for(let n=0;n<t.length;n++)r+=encodeURIComponent(t[n])+e[n+1];return Ip(r)}var fm=[0,$e,tr,Fe,-1,aa,tr,-1],Ib=class extends Y{constructor(e){super(e)}},mm=[0,Fe,we,Fe,tr,-1,Pi((function(e,t,r){return(e.h===0||e.h===2)&&(t=Ai(t,0|t[ee],r,!1,!1),e.h==2?ea(e,gb,t):t.push(ln(e.g)),!0)}),(function(e,t,r){if((t=Ri(Ci,t))!=null&&t.length){r=Sh(e,r);for(let n=0;n<t.length;n++)ta(e.g,t[n]);kh(e,r)}}),Zf),we,-1,[0,Fe,-1],tr,Fe,-1],gm=[0,we,-2],Rp=class extends Y{constructor(e){super(e)}},ym=[0],bm=[0,$e,Fe,1,Fe,-3],Nt=class extends Y{constructor(e){super(e,2)}},tt={};tt[336783863]=[0,we,Fe,-1,$e,[0,[1,2,3,4,5,6,7,8],Ee,ym,Ee,mm,Ee,gm,Ee,bm,Ee,fm,Ee,[0,we,-2],Ee,[0,we,tr],Ee,[0,tr,we]],[0,we],Fe,[0,[1,3],[2,4],Ee,[0,aa],-1,Ee,[0,mt],-1,st,[0,we,-1]],we];var Pp=[0,Sl,-1,ui,-3,Sl,aa,sn,ci,Sl,-1,ui,ci,ui,-2,sn];function jt(e,t){Bl(e,2,xi(t),"")}function Pe(e,t){Qs(e,3,t)}function me(e,t){Qs(e,4,t)}var bt=class extends Y{constructor(e){super(e,500)}o(e){return ne(this,0,7,e)}},vo=[-1,{}],Dp=[0,we,1,vo],Bp=[0,we,mt,vo];function Vt(e,t){Ns(e,1,bt,t)}function Oe(e,t){Qs(e,10,t)}function be(e,t){Qs(e,15,t)}var Rt=class extends Y{constructor(e){super(e,500)}o(e){return ne(this,0,1001,e)}},vm=[-500,st,[-500,sn,-1,mt,-3,[-2,tt,Fe],st,Ap,ci,-1,Dp,Bp,st,[0,sn,ui],sn,Pp,ci,mt,987,mt],4,st,[-500,we,-1,[-1,{}],998,we],st,[-500,we,mt,-1,[-2,{},Fe],997,mt,-1],ci,st,[-500,we,mt,vo,998,mt],mt,ci,Dp,Bp,st,[0,sn,-1,vo],mt,-2,Pp,sn,-1,ui,[0,ui,Ab],978,vo,st,Ap];Rt.prototype.g=ca(vm);var Rb=fn(Rt,vm),Pb=class extends Y{constructor(e){super(e)}},_m=class extends Y{constructor(e){super(e)}g(){return Kr(this,Pb,1)}},wm=[0,st,[0,$e,et,we,-1]],la=fn(_m,wm),Db=class extends Y{constructor(e){super(e)}},Bb=class extends Y{constructor(e){super(e)}},El=class extends Y{constructor(e){super(e)}h(){return ye(this,Db,2)}g(){return Kr(this,Bb,5)}},Sm=fn(class extends Y{constructor(e){super(e)}},[0,mt,aa,Dh,[0,tr,[0,$e,-3],[0,et,-3],[0,$e,-1,[0,st,[0,$e,-2]]],st,[0,et,-1,we,et]],we,-1,hn,st,[0,$e,et],mt,hn]),km=class extends Y{constructor(e){super(e)}},pi=fn(class extends Y{constructor(e){super(e)}},[0,st,[0,et,-4]]),Em=class extends Y{constructor(e){super(e)}},Ro=fn(class extends Y{constructor(e){super(e)}},[0,st,[0,et,-4]]),Ob=class extends Y{constructor(e){super(e)}},Ub=[0,$e,-1,Dh,tr],Cm=class extends Y{constructor(e){super(e)}};Cm.prototype.g=ca([0,et,-4,hn]);var Fb=class extends Y{constructor(e){super(e)}},Lb=fn(class extends Y{constructor(e){super(e)}},[0,st,[0,1,$e,we,wm],hn]),Op=class extends Y{constructor(e){super(e)}},Mb=class extends Y{constructor(e){super(e)}oa(){let e=Ff(this);return e??Nn()}},Nb=class extends Y{constructor(e){super(e)}},xm=[1,2],zb=fn(class extends Y{constructor(e){super(e)}},[0,st,[0,xm,Ee,[0,Dh],Ee,[0,pm],$e,we],hn]),Bh=class extends Y{constructor(e){super(e)}},Am=[0,we,$e,et,mt,-1],Up=class extends Y{constructor(e){super(e)}},jb=[0,Fe,-1],Fp=class extends Y{constructor(e){super(e)}},Rs=[1,2,3,4,5],Vs=class extends Y{constructor(e){super(e)}g(){return Ff(this)!=null}h(){return er(this,2)!=null}},Le=class extends Y{constructor(e){super(e)}g(){return If(bi(this,2))??!1}},Tm=[0,pm,we,[0,$e,hn,-1],[0,Cb,hn]],Ye=[0,Tm,Fe,[0,Rs,Ee,bm,Ee,mm,Ee,fm,Ee,ym,Ee,gm],tr],ha=class extends Y{constructor(e){super(e)}},Oh=[0,Ye,et,-1,$e],Vb=gr(502141897,ha);tt[502141897]=Oh;var Hb=fn(class extends Y{constructor(e){super(e)}},[0,[0,tr,-1,Eb,xb],Ub]),Im=class extends Y{constructor(e){super(e)}},Rm=class extends Y{constructor(e){super(e)}},Uh=[0,Ye,et,[0,Ye],Fe],Pm=[0,Ye,Oh,Uh,et,[0,[0,Tm]]],Wb=gr(508968150,Rm);tt[508968150]=Pm,tt[508968149]=Uh;var Dm=class extends Y{constructor(e){super(e)}},$b=gr(513916220,Dm);tt[513916220]=[0,Ye,Pm,$e];var si=class extends Y{constructor(e){super(e)}h(){return ye(this,Bh,2)}g(){Re(this,2)}},Bm=[0,Ye,Am];tt[478825465]=Bm;var Gb=class extends Y{constructor(e){super(e)}},Om=class extends Y{constructor(e){super(e)}},Fh=class extends Y{constructor(e){super(e)}},Lh=class extends Y{constructor(e){super(e)}},Um=class extends Y{constructor(e){super(e)}},Lp=[0,Ye,[0,Ye],Bm,-1],Fm=[0,Ye,et,$e],Mh=[0,Ye,et],Lm=[0,Ye,Fm,Mh,et],qb=gr(479097054,Um);tt[479097054]=[0,Ye,Lm,Lp],tt[463370452]=Lp,tt[464864288]=Fm;var Kb=gr(462713202,Lh);tt[462713202]=Lm,tt[474472470]=Mh;var Xb=class extends Y{constructor(e){super(e)}},Mm=class extends Y{constructor(e){super(e)}},Nm=class extends Y{constructor(e){super(e)}},zm=class extends Y{constructor(e){super(e)}},Nh=[0,Ye,et,-1,$e],Nl=[0,Ye,et,Fe];zm.prototype.g=ca([0,Ye,Mh,[0,Ye],Oh,Uh,Nh,Nl]);var jm=class extends Y{constructor(e){super(e)}},Jb=gr(456383383,jm);tt[456383383]=[0,Ye,Am];var Vm=class extends Y{constructor(e){super(e)}},Yb=gr(476348187,Vm);tt[476348187]=[0,Ye,jb];var Hm=class extends Y{constructor(e){super(e)}},Mp=class extends Y{constructor(e){super(e)}},Wm=[0,tr,-1],Zb=gr(458105876,class extends Y{constructor(e){super(e)}g(){var e=this.u;let t=0|e[ee],r=2&t;return e=(function(n,i,o){var s=Mp;let a=2&i,c=!1;if(o==null){if(a)return vp();o=[]}else if(o.constructor===Qt){if((2&o.L)==0||a)return o;o=o.X()}else Array.isArray(o)?c=!!(2&(0|o[ee])):o=[];if(a){if(!o.length)return vp();c||(c=!0,Ei(o))}else c&&(c=!1,o=Lf(o));return c||(64&(0|o[ee])?o[ee]&=-33:32&i&&$s(o,32)),ze(n,i,2,s=new Qt(o,s,ab,void 0)),s})(e,t,Jr(e,t,2)),!r&&Mp&&(e.ra=!0),e}});tt[458105876]=[0,Wm,kb,[!0,hn,[0,we,-1,mt]]];var zh=class extends Y{constructor(e){super(e)}},$m=gr(458105758,zh);tt[458105758]=[0,Ye,we,Wm];var Gm=class extends Y{constructor(e){super(e)}},Qb=gr(443442058,Gm);tt[443442058]=[0,Ye,we,$e,et,mt,-1,Fe,et],tt[514774813]=Nh;var qm=class extends Y{constructor(e){super(e)}},ev=gr(516587230,qm);function zl(e,t){return t=t?t.clone():new Bh,e.displayNamesLocale!==void 0?Re(t,1,xi(e.displayNamesLocale)):e.displayNamesLocale===void 0&&Re(t,1),e.maxResults!==void 0?Br(t,2,e.maxResults):"maxResults"in e&&Re(t,2),e.scoreThreshold!==void 0?Z(t,3,e.scoreThreshold):"scoreThreshold"in e&&Re(t,3),e.categoryAllowlist!==void 0?zs(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&Re(t,4),e.categoryDenylist!==void 0?zs(t,5,e.categoryDenylist):"categoryDenylist"in e&&Re(t,5),t}function jh(e,t=-1,r=""){return{categories:e.map((n=>({index:Zt(n,1)??0??-1,score:Je(n,2)??0,categoryName:er(n,3)??""??"",displayName:er(n,4)??""??""}))),headIndex:t,headName:r}}function Km(e){var t=Fn(e,3,pn,Un()),r=Fn(e,2,Ci,Un()),n=Fn(e,1,yi,Un()),i=Fn(e,9,yi,Un());let o={categories:[],keypoints:[]};for(let s=0;s<t.length;s++)o.categories.push({score:t[s],index:r[s]??-1,categoryName:n[s]??"",displayName:i[s]??""});if((t=ye(e,El,4)?.h())&&(o.boundingBox={originX:Zt(t,1)??0,originY:Zt(t,2)??0,width:Zt(t,3)??0,height:Zt(t,4)??0,angle:0}),ye(e,El,4)?.g().length)for(let s of ye(e,El,4).g())o.keypoints.push({x:Ts(s,1)??0,y:Ts(s,2)??0,score:Ts(s,4)??0,label:er(s,3)??""});return o}function da(e){let t=[];for(let r of Kr(e,Em,1))t.push({x:Je(r,1)??0,y:Je(r,2)??0,z:Je(r,3)??0,visibility:Je(r,4)??0});return t}function _o(e){let t=[];for(let r of Kr(e,km,1))t.push({x:Je(r,1)??0,y:Je(r,2)??0,z:Je(r,3)??0,visibility:Je(r,4)??0});return t}function Np(e){return Array.from(e,(t=>t>127?t-256:t))}function zp(e,t){if(e.length!==t.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${e.length} vs. ${t.length}).`);let r=0,n=0,i=0;for(let o=0;o<e.length;o++)r+=e[o]*t[o],n+=e[o]*e[o],i+=t[o]*t[o];if(n<=0||i<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return r/Math.sqrt(n*i)}var Cs;tt[516587230]=[0,Ye,Nh,Nl,et],tt[518928384]=Nl;var tv=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function Xm(){if(Cs===void 0)try{await WebAssembly.instantiate(tv),Cs=!0}catch{Cs=!1}return Cs}async function po(e,t=Tb``){let r=await Xm()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var nn=class{};function Jm(){var e=navigator;return typeof OffscreenCanvas<"u"&&(!(function(t=navigator){return(t=t.userAgent).includes("Safari")&&!t.includes("Chrome")})(e)||!!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}async function jp(e){if(typeof importScripts!="function"){let t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise(((r,n)=>{t.addEventListener("load",(()=>{r()}),!1),t.addEventListener("error",(i=>{n(i)}),!1),document.body.appendChild(t)}))}importScripts(e.toString())}function Ym(e){return e.videoWidth!==void 0?[e.videoWidth,e.videoHeight]:e.naturalWidth!==void 0?[e.naturalWidth,e.naturalHeight]:e.displayWidth!==void 0?[e.displayWidth,e.displayHeight]:[e.width,e.height]}function Q(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function Vp(e,t,r){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(r?e.i._bindTextureToStream(r):e.i._bindTextureToCanvas(),!(r=e.i.canvas.getContext("webgl2")||e.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);let[n,i]=Ym(t);return!e.l||n===e.i.canvas.width&&i===e.i.canvas.height||(e.i.canvas.width=n,e.i.canvas.height=i),[n,i]}function Hp(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");let n=new Uint32Array(t.length);for(let i=0;i<t.length;i++)n[i]=e.i.stringToNewUTF8(t[i]);t=e.i._malloc(4*n.length),e.i.HEAPU32.set(n,t>>2),r(t);for(let i of n)e.i._free(i);e.i._free(t)}function Ir(e,t,r){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=r}function rn(e,t,r){let n=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(i,o,s)=>{o?(r(n,s),n=[]):n.push(i)}}nn.forVisionTasks=function(e){return po("vision",e)},nn.forTextTasks=function(e){return po("text",e)},nn.forGenAiExperimentalTasks=function(e){return po("genai_experimental",e)},nn.forGenAiTasks=function(e){return po("genai",e)},nn.forAudioTasks=function(e){return po("audio",e)},nn.isSimdSupported=function(){return Xm()};async function rv(e,t,r,n){return e=await(async(i,o,s,a,c)=>{if(o&&await jp(o),!self.ModuleFactory||s&&(await jp(s),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&c&&((o=self.Module).locateFile=c.locateFile,c.mainScriptUrlOrBlob&&(o.mainScriptUrlOrBlob=c.mainScriptUrlOrBlob)),c=await self.ModuleFactory(self.Module||c),self.ModuleFactory=self.Module=void 0,new i(c,a)})(e,r.wasmLoaderPath,r.assetLoaderPath,t,{locateFile:i=>i.endsWith(".wasm")?r.wasmBinaryPath.toString():r.assetBinaryPath&&i.endsWith(".data")?r.assetBinaryPath.toString():i}),await e.o(n),e}function Cl(e,t){let r=ye(e.baseOptions,Vs,1)||new Vs;typeof t=="string"?(Re(r,2,xi(t)),Re(r,1)):t instanceof Uint8Array&&(Re(r,1,eh(t,!1)),Re(r,2)),ne(e.baseOptions,0,1,r)}function Wp(e){try{let t=e.G.length;if(t===1)throw Error(e.G[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.G.map((r=>r.message)).join(", "))}finally{e.G=[]}}function X(e,t){e.B=Math.max(e.B,t)}function ua(e,t){e.A=new bt,jt(e.A,"PassThroughCalculator"),Pe(e.A,"free_memory"),me(e.A,"free_memory_unused_out"),Oe(t,"free_memory"),Vt(t,e.A)}function _i(e,t){Pe(e.A,t),me(e.A,t+"_unused_out")}function pa(e){e.g.addBoolToStream(!0,"free_memory",e.B)}var Ps=class{constructor(e){this.g=e,this.G=[],this.B=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){if(t){let r=e.baseOptions||{};if(e.baseOptions?.modelAssetBuffer&&e.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(ye(this.baseOptions,Vs,1)?.g()||ye(this.baseOptions,Vs,1)?.h()||e.baseOptions?.modelAssetBuffer||e.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if((function(n,i){let o=ye(n.baseOptions,Fp,3);if(!o){var s=o=new Fp,a=new Rp;bo(s,4,Rs,a)}"delegate"in i&&(i.delegate==="GPU"?(i=o,s=new Ib,bo(i,2,Rs,s)):(i=o,s=new Rp,bo(i,4,Rs,s))),ne(n.baseOptions,0,3,o)})(this,r),r.modelAssetPath)return fetch(r.modelAssetPath.toString()).then((n=>{if(n.ok)return n.arrayBuffer();throw Error(`Failed to fetch model: ${r.modelAssetPath} (${n.status})`)})).then((n=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(n),!0,!1,!1),Cl(this,"/model.dat"),this.m(),this.I()}));if(r.modelAssetBuffer instanceof Uint8Array)Cl(this,r.modelAssetBuffer);else if(r.modelAssetBuffer)return(async function(n){let i=[];for(var o=0;;){let{done:s,value:a}=await n.read();if(s)break;i.push(a),o+=a.length}if(i.length===0)return new Uint8Array(0);if(i.length===1)return i[0];n=new Uint8Array(o),o=0;for(let s of i)n.set(s,o),o+=s.length;return n})(r.modelAssetBuffer).then((n=>{Cl(this,n),this.m(),this.I()}))}return this.m(),this.I(),Promise.resolve()}I(){}da(){let e;if(this.g.da((t=>{e=Rb(t)})),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener(((r,n)=>{this.G.push(Error(n))})),this.g.La(),this.g.setGraph(e,t),this.A=void 0,Wp(this)}finishProcessing(){this.g.finishProcessing(),Wp(this)}close(){this.A=void 0,this.g.closeGraph()}};function yt(e,t){if(!e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}Ps.prototype.close=Ps.prototype.close,(function(e,t){e=e.split(".");var r,n=Mn;for((e[0]in n)||n.execScript===void 0||n.execScript("var "+e[0]);e.length&&(r=e.shift());)e.length||t===void 0?n=n[r]&&n[r]!==Object.prototype[r]?n[r]:n[r]={}:n[r]=t})("TaskRunner",Ps);var jl=class{constructor(t,r,n,i){this.g=t,this.h=r,this.m=n,this.l=i}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}};function $p(e,t,r){let n=e.g;if(r=yt(n.createShader(r),"Failed to create WebGL shader"),n.shaderSource(r,t),n.compileShader(r),!n.getShaderParameter(r,n.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${n.getShaderInfoLog(r)}`);return n.attachShader(e.h,r),r}function Gp(e,t){let r=e.g,n=yt(r.createVertexArray(),"Failed to create vertex array");r.bindVertexArray(n);let i=yt(r.createBuffer(),"Failed to create buffer");r.bindBuffer(r.ARRAY_BUFFER,i),r.enableVertexAttribArray(e.O),r.vertexAttribPointer(e.O,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),r.STATIC_DRAW);let o=yt(r.createBuffer(),"Failed to create buffer");return r.bindBuffer(r.ARRAY_BUFFER,o),r.enableVertexAttribArray(e.I),r.vertexAttribPointer(e.I,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),r.STATIC_DRAW),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindVertexArray(null),new jl(r,n,i,o)}function Vh(e,t){if(e.g){if(t!==e.g)throw Error("Cannot change GL context once initialized")}else e.g=t}function Po(e,t,r,n){return Vh(e,t),e.h||(e.m(),e.C()),r?(e.s||(e.s=Gp(e,!0)),r=e.s):(e.v||(e.v=Gp(e,!1)),r=e.v),t.useProgram(e.h),r.bind(),e.l(),e=n(),r.g.bindVertexArray(null),e}function dn(e,t,r){return Vh(e,t),e=yt(t.createTexture(),"Failed to create texture"),t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,r??t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,r??t.LINEAR),t.bindTexture(t.TEXTURE_2D,null),e}function fa(e,t,r){Vh(e,t),e.A||(e.A=yt(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.A),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}function Hh(e){e.g?.bindFramebuffer(e.g.FRAMEBUFFER,null)}var Di=class{G(){return`
10
10
  precision mediump float;
11
11
  varying vec2 vTex;
12
12
  uniform sampler2D inputTexture;
13
13
  void main() {
14
14
  gl_FragColor = texture2D(inputTexture, vTex);
15
15
  }
16
- `}m(){let e=this.g;if(this.h=yt(e.createProgram(),"Failed to create WebGL program"),this.aa=Vp(this,`
16
+ `}m(){let e=this.g;if(this.h=yt(e.createProgram(),"Failed to create WebGL program"),this.aa=$p(this,`
17
17
  attribute vec2 aVertex;
18
18
  attribute vec2 aTex;
19
19
  varying vec2 vTex;
20
20
  void main(void) {
21
21
  gl_Position = vec4(aVertex, 0.0, 1.0);
22
22
  vTex = aTex;
23
- }`,e.VERTEX_SHADER),this.Z=Vp(this,this.G(),e.FRAGMENT_SHADER),e.linkProgram(this.h),!e.getProgramParameter(this.h,e.LINK_STATUS))throw Error(`Error during program linking: ${e.getProgramInfoLog(this.h)}`);this.O=e.getAttribLocation(this.h,"aVertex"),this.I=e.getAttribLocation(this.h,"aTex")}C(){}l(){}close(){if(this.h){let e=this.g;e.deleteProgram(this.h),e.deleteShader(this.aa),e.deleteShader(this.Z)}this.A&&this.g.deleteFramebuffer(this.A),this.v&&this.v.close(),this.s&&this.s.close()}},Yb=class extends Di{G(){return`
23
+ }`,e.VERTEX_SHADER),this.Z=$p(this,this.G(),e.FRAGMENT_SHADER),e.linkProgram(this.h),!e.getProgramParameter(this.h,e.LINK_STATUS))throw Error(`Error during program linking: ${e.getProgramInfoLog(this.h)}`);this.O=e.getAttribLocation(this.h,"aVertex"),this.I=e.getAttribLocation(this.h,"aTex")}C(){}l(){}close(){if(this.h){let e=this.g;e.deleteProgram(this.h),e.deleteShader(this.aa),e.deleteShader(this.Z)}this.A&&this.g.deleteFramebuffer(this.A),this.v&&this.v.close(),this.s&&this.s.close()}},nv=class extends Di{G(){return`
24
24
  precision mediump float;
25
25
  uniform sampler2D backgroundTexture;
26
26
  uniform sampler2D maskTexture;
@@ -32,7 +32,7 @@ Minimum version required to store current data is: `+o+`.
32
32
  vec4 categoryColor = texture2D(colorMappingTexture, vec2(category, 0.0));
33
33
  gl_FragColor = mix(backgroundColor, categoryColor, categoryColor.a);
34
34
  }
35
- `}C(){let e=this.g;e.activeTexture(e.TEXTURE1),this.B=dn(this,e,e.LINEAR),e.activeTexture(e.TEXTURE2),this.j=dn(this,e,e.NEAREST)}m(){super.m();let e=this.g;this.K=yt(e.getUniformLocation(this.h,"backgroundTexture"),"Uniform location"),this.T=yt(e.getUniformLocation(this.h,"colorMappingTexture"),"Uniform location"),this.J=yt(e.getUniformLocation(this.h,"maskTexture"),"Uniform location")}l(){super.l();let e=this.g;e.uniform1i(this.J,0),e.uniform1i(this.K,1),e.uniform1i(this.T,2)}close(){this.B&&this.g.deleteTexture(this.B),this.j&&this.g.deleteTexture(this.j),super.close()}},Zb=class extends Di{G(){return`
35
+ `}C(){let e=this.g;e.activeTexture(e.TEXTURE1),this.B=dn(this,e,e.LINEAR),e.activeTexture(e.TEXTURE2),this.j=dn(this,e,e.NEAREST)}m(){super.m();let e=this.g;this.K=yt(e.getUniformLocation(this.h,"backgroundTexture"),"Uniform location"),this.T=yt(e.getUniformLocation(this.h,"colorMappingTexture"),"Uniform location"),this.J=yt(e.getUniformLocation(this.h,"maskTexture"),"Uniform location")}l(){super.l();let e=this.g;e.uniform1i(this.J,0),e.uniform1i(this.K,1),e.uniform1i(this.T,2)}close(){this.B&&this.g.deleteTexture(this.B),this.j&&this.g.deleteTexture(this.j),super.close()}},iv=class extends Di{G(){return`
36
36
  precision mediump float;
37
37
  uniform sampler2D maskTexture;
38
38
  uniform sampler2D defaultTexture;
@@ -46,7 +46,7 @@ Minimum version required to store current data is: `+o+`.
46
46
  overlayColor = mix(defaultColor, overlayColor, overlayColor.a);
47
47
  gl_FragColor = mix(defaultColor, overlayColor, confidence);
48
48
  }
49
- `}C(){let e=this.g;e.activeTexture(e.TEXTURE1),this.j=dn(this,e),e.activeTexture(e.TEXTURE2),this.B=dn(this,e)}m(){super.m();let e=this.g;this.J=yt(e.getUniformLocation(this.h,"defaultTexture"),"Uniform location"),this.K=yt(e.getUniformLocation(this.h,"overlayTexture"),"Uniform location"),this.H=yt(e.getUniformLocation(this.h,"maskTexture"),"Uniform location")}l(){super.l();let e=this.g;e.uniform1i(this.H,0),e.uniform1i(this.J,1),e.uniform1i(this.K,2)}close(){this.j&&this.g.deleteTexture(this.j),this.B&&this.g.deleteTexture(this.B),super.close()}};function Wr(e,t){switch(t){case 0:return e.g.find((r=>r instanceof Uint8Array));case 1:return e.g.find((r=>r instanceof Float32Array));case 2:return e.g.find((r=>typeof WebGLTexture<"u"&&r instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function Nl(e){var t=Wr(e,1);if(!t){if(t=Wr(e,0))t=new Float32Array(t).map((n=>n/255));else{t=new Float32Array(e.width*e.height);let n=wi(e);var r=jh(e);if(pa(r,n,Xm(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"document"in self&&"ontouchend"in self.document){r=new Float32Array(e.width*e.height*4),n.readPixels(0,0,e.width,e.height,n.RGBA,n.FLOAT,r);for(let i=0,o=0;i<t.length;++i,o+=4)t[i]=r[o]}else n.readPixels(0,0,e.width,e.height,n.RED,n.FLOAT,t)}e.g.push(t)}return t}function Xm(e){let t=Wr(e,2);if(!t){let r=wi(e);t=Ym(e);let n=Nl(e),i=Jm(e);r.texImage2D(r.TEXTURE_2D,0,i,e.width,e.height,0,r.RED,r.FLOAT,n),zl(e)}return t}function wi(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=yt(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Jm(e){if(e=wi(e),!Es)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))Es=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");Es=e.R16F}return Es}function jh(e){return e.l||(e.l=new Di),e.l}function Ym(e){let t=wi(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=Wr(e,2);return r||(r=dn(jh(e),t,e.m?t.LINEAR:t.NEAREST),e.g.push(r),e.j=!0),t.bindTexture(t.TEXTURE_2D,r),r}function zl(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var Es,ot=class{constructor(e,t,r,n,i,o,s){this.g=e,this.m=t,this.j=r,this.canvas=n,this.l=i,this.width=o,this.height=s,this.j&&--Wp===0&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}Fa(){return!!Wr(this,0)}ja(){return!!Wr(this,1)}P(){return!!Wr(this,2)}ia(){return(t=Wr(e=this,0))||(t=Nl(e),t=new Uint8Array(t.map((r=>255*r))),e.g.push(t)),t;var e,t}ha(){return Nl(this)}M(){return Xm(this)}clone(){let e=[];for(let t of this.g){let r;if(t instanceof Uint8Array)r=new Uint8Array(t);else if(t instanceof Float32Array)r=new Float32Array(t);else{if(!(t instanceof WebGLTexture))throw Error(`Type is not supported: ${t}`);{let n=wi(this),i=jh(this);n.activeTexture(n.TEXTURE1),r=dn(i,n,this.m?n.LINEAR:n.NEAREST),n.bindTexture(n.TEXTURE_2D,r);let o=Jm(this);n.texImage2D(n.TEXTURE_2D,0,o,this.width,this.height,0,n.RED,n.FLOAT,null),n.bindTexture(n.TEXTURE_2D,null),pa(i,n,r),Ro(i,n,!1,(()=>{Ym(this),n.clearColor(0,0,0,0),n.clear(n.COLOR_BUFFER_BIT),n.drawArrays(n.TRIANGLE_FAN,0,4),zl(this)})),zh(i),zl(this)}}e.push(r)}return new ot(e,this.m,this.P(),this.canvas,this.l,this.width,this.height)}close(){this.j&&wi(this).deleteTexture(Wr(this,2)),Wp=-1}};ot.prototype.close=ot.prototype.close,ot.prototype.clone=ot.prototype.clone,ot.prototype.getAsWebGLTexture=ot.prototype.M,ot.prototype.getAsFloat32Array=ot.prototype.ha,ot.prototype.getAsUint8Array=ot.prototype.ia,ot.prototype.hasWebGLTexture=ot.prototype.P,ot.prototype.hasFloat32Array=ot.prototype.ja,ot.prototype.hasUint8Array=ot.prototype.Fa;var Wp=250,Qb={color:"white",lineWidth:4,radius:6};function kl(e){return{...Qb,fillColor:(e=e||{}).color,...e}}function Vr(e,t){return e instanceof Function?e(t):e}function $p(e,t,r){return Math.max(Math.min(t,r),Math.min(Math.max(t,r),e))}function po(e){if(!e.l)throw Error("CPU rendering requested but CanvasRenderingContext2D not provided.");return e.l}function xo(e){if(!e.j)throw Error("GPU rendering requested but WebGL2RenderingContext not provided.");return e.j}function Gp(e,t,r){if(t.P())r(t.M());else{let n=t.ja()?t.ha():t.ia();e.m=e.m??new Di;let i=xo(e);r((e=new ot([n],t.m,!1,i.canvas,e.m,t.width,t.height)).M()),e.close()}}function qp(e,t,r,n){let i=(function(a){return a.g||(a.g=new Yb),a.g})(e),o=xo(e),s=Array.isArray(r)?new ImageData(new Uint8ClampedArray(r),1,1):r;Ro(i,o,!0,(()=>{(function(c,l,h,d){let m=c.g;if(m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,l),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,c.B),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,h),c.H&&(function(p,g){if(p!==g)return!1;p=p.entries(),g=g.entries();for(let[b,_]of p){p=b;let x=_;var f=g.next();if(f.done)return!1;let[k,P]=f.value;if(f=P,p!==k||x[0]!==f[0]||x[1]!==f[1]||x[2]!==f[2]||x[3]!==f[3])return!1}return!!g.next().done})(c.H,d))m.activeTexture(m.TEXTURE2),m.bindTexture(m.TEXTURE_2D,c.j);else{c.H=d;let p=Array(1024).fill(0);d.forEach(((g,f)=>{if(g.length!==4)throw Error(`Color at index ${f} is not a four-channel value.`);p[4*f]=g[0],p[4*f+1]=g[1],p[4*f+2]=g[2],p[4*f+3]=g[3]})),m.activeTexture(m.TEXTURE2),m.bindTexture(m.TEXTURE_2D,c.j),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,256,1,0,m.RGBA,m.UNSIGNED_BYTE,new Uint8Array(p))}})(i,t,s,n),o.clearColor(0,0,0,0),o.clear(o.COLOR_BUFFER_BIT),o.drawArrays(o.TRIANGLE_FAN,0,4);let a=i.g;a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,null),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,null),a.activeTexture(a.TEXTURE2),a.bindTexture(a.TEXTURE_2D,null)}))}function Kp(e,t,r,n){let i=xo(e),o=(function(c){return c.h||(c.h=new Zb),c.h})(e),s=Array.isArray(r)?new ImageData(new Uint8ClampedArray(r),1,1):r,a=Array.isArray(n)?new ImageData(new Uint8ClampedArray(n),1,1):n;Ro(o,i,!0,(()=>{var c=o.g;c.activeTexture(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,t),c.activeTexture(c.TEXTURE1),c.bindTexture(c.TEXTURE_2D,o.j),c.texImage2D(c.TEXTURE_2D,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,s),c.activeTexture(c.TEXTURE2),c.bindTexture(c.TEXTURE_2D,o.B),c.texImage2D(c.TEXTURE_2D,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,a),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),i.bindTexture(i.TEXTURE_2D,null),(c=o.g).activeTexture(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,null),c.activeTexture(c.TEXTURE1),c.bindTexture(c.TEXTURE_2D,null),c.activeTexture(c.TEXTURE2),c.bindTexture(c.TEXTURE_2D,null)}))}var xt=class{constructor(e,t){e instanceof CanvasRenderingContext2D||e instanceof OffscreenCanvasRenderingContext2D?(this.l=e,this.j=t):this.j=e}ya(e,t){if(e){var r=po(this);t=kl(t),r.save();var n=r.canvas,i=0;for(let o of e)r.fillStyle=Vr(t.fillColor,{index:i,from:o}),r.strokeStyle=Vr(t.color,{index:i,from:o}),r.lineWidth=Vr(t.lineWidth,{index:i,from:o}),(e=new Path2D).arc(o.x*n.width,o.y*n.height,Vr(t.radius,{index:i,from:o}),0,2*Math.PI),r.fill(e),r.stroke(e),++i;r.restore()}}xa(e,t,r){if(e&&t){var n=po(this);r=kl(r),n.save();var i=n.canvas,o=0;for(let s of t){n.beginPath(),t=e[s.start];let a=e[s.end];t&&a&&(n.strokeStyle=Vr(r.color,{index:o,from:t,to:a}),n.lineWidth=Vr(r.lineWidth,{index:o,from:t,to:a}),n.moveTo(t.x*i.width,t.y*i.height),n.lineTo(a.x*i.width,a.y*i.height)),++o,n.stroke()}n.restore()}}ua(e,t){let r=po(this);t=kl(t),r.save(),r.beginPath(),r.lineWidth=Vr(t.lineWidth,{}),r.strokeStyle=Vr(t.color,{}),r.fillStyle=Vr(t.fillColor,{}),r.moveTo(e.originX,e.originY),r.lineTo(e.originX+e.width,e.originY),r.lineTo(e.originX+e.width,e.originY+e.height),r.lineTo(e.originX,e.originY+e.height),r.lineTo(e.originX,e.originY),r.stroke(),r.fill(),r.restore()}va(e,t,r=[0,0,0,255]){this.l?(function(n,i,o,s){let a=xo(n);Gp(n,i,(c=>{qp(n,c,o,s),(c=po(n)).drawImage(a.canvas,0,0,c.canvas.width,c.canvas.height)}))})(this,e,r,t):qp(this,e.M(),r,t)}wa(e,t,r){this.l?(function(n,i,o,s){let a=xo(n);Gp(n,i,(c=>{Kp(n,c,o,s),(c=po(n)).drawImage(a.canvas,0,0,c.canvas.width,c.canvas.height)}))})(this,e,t,r):Kp(this,e.M(),t,r)}close(){this.g?.close(),this.g=void 0,this.h?.close(),this.h=void 0,this.m?.close(),this.m=void 0}};function Pr(e,t){switch(t){case 0:return e.g.find((r=>r instanceof ImageData));case 1:return e.g.find((r=>typeof ImageBitmap<"u"&&r instanceof ImageBitmap));case 2:return e.g.find((r=>typeof WebGLTexture<"u"&&r instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function Zm(e){var t=Pr(e,0);if(!t){t=Si(e);let r=fa(e),n=new Uint8Array(e.width*e.height*4);pa(r,t,Ps(e)),t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,n),zh(r),t=new ImageData(new Uint8ClampedArray(n.buffer),e.width,e.height),e.g.push(t)}return t}function Ps(e){let t=Pr(e,2);if(!t){let r=Si(e);t=Ds(e);let n=Pr(e,1)||Zm(e);r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,n),mo(e)}return t}function Si(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=yt(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function fa(e){return e.l||(e.l=new Di),e.l}function Ds(e){let t=Si(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=Pr(e,2);return r||(r=dn(fa(e),t),e.g.push(r),e.m=!0),t.bindTexture(t.TEXTURE_2D,r),r}function mo(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}function Xp(e){let t=Si(e);return Ro(fa(e),t,!0,(()=>(function(r,n){let i=r.canvas;if(i.width===r.width&&i.height===r.height)return n();let o=i.width,s=i.height;return i.width=r.width,i.height=r.height,r=n(),i.width=o,i.height=s,r})(e,(()=>{if(t.bindFramebuffer(t.FRAMEBUFFER,null),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4),!(e.canvas instanceof OffscreenCanvas))throw Error("Conversion to ImageBitmap requires that the MediaPipe Tasks is initialized with an OffscreenCanvas");return e.canvas.transferToImageBitmap()}))))}xt.prototype.close=xt.prototype.close,xt.prototype.drawConfidenceMask=xt.prototype.wa,xt.prototype.drawCategoryMask=xt.prototype.va,xt.prototype.drawBoundingBox=xt.prototype.ua,xt.prototype.drawConnectors=xt.prototype.xa,xt.prototype.drawLandmarks=xt.prototype.ya,xt.lerp=function(e,t,r,n,i){return $p(n*(1-(e-t)/(r-t))+i*(1-(r-e)/(r-t)),n,i)},xt.clamp=$p;var ht=class{constructor(e,t,r,n,i,o,s){this.g=e,this.j=t,this.m=r,this.canvas=n,this.l=i,this.width=o,this.height=s,(this.j||this.m)&&--Jp===0&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")}Ea(){return!!Pr(this,0)}ka(){return!!Pr(this,1)}P(){return!!Pr(this,2)}Ca(){return Zm(this)}Ba(){var e=Pr(this,1);return e||(Ps(this),Ds(this),e=Xp(this),mo(this),this.g.push(e),this.j=!0),e}M(){return Ps(this)}clone(){let e=[];for(let t of this.g){let r;if(t instanceof ImageData)r=new ImageData(t.data,this.width,this.height);else if(t instanceof WebGLTexture){let n=Si(this),i=fa(this);n.activeTexture(n.TEXTURE1),r=dn(i,n),n.bindTexture(n.TEXTURE_2D,r),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,this.width,this.height,0,n.RGBA,n.UNSIGNED_BYTE,null),n.bindTexture(n.TEXTURE_2D,null),pa(i,n,r),Ro(i,n,!1,(()=>{Ds(this),n.clearColor(0,0,0,0),n.clear(n.COLOR_BUFFER_BIT),n.drawArrays(n.TRIANGLE_FAN,0,4),mo(this)})),zh(i),mo(this)}else{if(!(t instanceof ImageBitmap))throw Error(`Type is not supported: ${t}`);Ps(this),Ds(this),r=Xp(this),mo(this)}e.push(r)}return new ht(e,this.ka(),this.P(),this.canvas,this.l,this.width,this.height)}close(){this.j&&Pr(this,1).close(),this.m&&Si(this).deleteTexture(Pr(this,2)),Jp=-1}};ht.prototype.close=ht.prototype.close,ht.prototype.clone=ht.prototype.clone,ht.prototype.getAsWebGLTexture=ht.prototype.M,ht.prototype.getAsImageBitmap=ht.prototype.Ba,ht.prototype.getAsImageData=ht.prototype.Ca,ht.prototype.hasWebGLTexture=ht.prototype.P,ht.prototype.hasImageBitmap=ht.prototype.ka,ht.prototype.hasImageData=ht.prototype.Ea;var Jp=250;function yr(...e){return e.map((([t,r])=>({start:t,end:r})))}var ev=(function(e){return class extends e{La(){this.i._registerModelResourcesGraphService()}}})((Yp=class{constructor(e,t){this.l=!0,this.i=e,this.g=null,this.h=0,this.m=typeof this.i._addIntToInputStream=="function",t!==void 0?this.i.canvas=t:qm()?this.i.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas"))}async initializeGraph(e){let t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph(new TextEncoder().encode(e),!1)}setGraph(e,t){let r=e.length,n=this.i._malloc(r);this.i.HEAPU8.set(e,n),t?this.i._changeBinaryGraph(r,n):this.i._changeTextGraph(r,n),this.i._free(n)}configureAudio(e,t,r,n,i){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),Q(this,n||"input_audio",(o=>{Q(this,i=i||"audio_header",(s=>{this.i._configureAudio(o,s,e,t??0,r)}))}))}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}da(e){Tr(this,"__graph_config__",(t=>{e(t)})),Q(this,"__graph_config__",(t=>{this.i._getGraphConfig(t,void 0)})),delete this.i.simpleListeners.__graph_config__}attachErrorListener(e){this.i.errorListener=e}attachEmptyPacketListener(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}addAudioToStream(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}addAudioToStreamWithShape(e,t,r,n,i){let o=4*e.length;this.h!==o&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(o),this.h=o),this.i.HEAPF32.set(e,this.g/4),Q(this,n,(s=>{this.i._addAudioToInputStream(this.g,t,r,s,i)}))}addGpuBufferToStream(e,t,r){Q(this,t,(n=>{let[i,o]=Np(this,e,n);this.i._addBoundTextureToStream(n,i,o,r)}))}addBoolToStream(e,t,r){Q(this,t,(n=>{this.i._addBoolToInputStream(e,n,r)}))}addDoubleToStream(e,t,r){Q(this,t,(n=>{this.i._addDoubleToInputStream(e,n,r)}))}addFloatToStream(e,t,r){Q(this,t,(n=>{this.i._addFloatToInputStream(e,n,r)}))}addIntToStream(e,t,r){Q(this,t,(n=>{this.i._addIntToInputStream(e,n,r)}))}addUintToStream(e,t,r){Q(this,t,(n=>{this.i._addUintToInputStream(e,n,r)}))}addStringToStream(e,t,r){Q(this,t,(n=>{Q(this,e,(i=>{this.i._addStringToInputStream(i,n,r)}))}))}addStringRecordToStream(e,t,r){Q(this,t,(n=>{zp(this,Object.keys(e),(i=>{zp(this,Object.values(e),(o=>{this.i._addFlatHashMapToInputStream(i,o,Object.keys(e).length,n,r)}))}))}))}addProtoToStream(e,t,r,n){Q(this,r,(i=>{Q(this,t,(o=>{let s=this.i._malloc(e.length);this.i.HEAPU8.set(e,s),this.i._addProtoToInputStream(s,e.length,o,i,n),this.i._free(s)}))}))}addEmptyPacketToStream(e,t){Q(this,e,(r=>{this.i._addEmptyPacketToInputStream(r,t)}))}addBoolVectorToStream(e,t,r){Q(this,t,(n=>{let i=this.i._allocateBoolVector(e.length);if(!i)throw Error("Unable to allocate new bool vector on heap.");for(let o of e)this.i._addBoolVectorEntry(i,o);this.i._addBoolVectorToInputStream(i,n,r)}))}addDoubleVectorToStream(e,t,r){Q(this,t,(n=>{let i=this.i._allocateDoubleVector(e.length);if(!i)throw Error("Unable to allocate new double vector on heap.");for(let o of e)this.i._addDoubleVectorEntry(i,o);this.i._addDoubleVectorToInputStream(i,n,r)}))}addFloatVectorToStream(e,t,r){Q(this,t,(n=>{let i=this.i._allocateFloatVector(e.length);if(!i)throw Error("Unable to allocate new float vector on heap.");for(let o of e)this.i._addFloatVectorEntry(i,o);this.i._addFloatVectorToInputStream(i,n,r)}))}addIntVectorToStream(e,t,r){Q(this,t,(n=>{let i=this.i._allocateIntVector(e.length);if(!i)throw Error("Unable to allocate new int vector on heap.");for(let o of e)this.i._addIntVectorEntry(i,o);this.i._addIntVectorToInputStream(i,n,r)}))}addUintVectorToStream(e,t,r){Q(this,t,(n=>{let i=this.i._allocateUintVector(e.length);if(!i)throw Error("Unable to allocate new unsigned int vector on heap.");for(let o of e)this.i._addUintVectorEntry(i,o);this.i._addUintVectorToInputStream(i,n,r)}))}addStringVectorToStream(e,t,r){Q(this,t,(n=>{let i=this.i._allocateStringVector(e.length);if(!i)throw Error("Unable to allocate new string vector on heap.");for(let o of e)Q(this,o,(s=>{this.i._addStringVectorEntry(i,s)}));this.i._addStringVectorToInputStream(i,n,r)}))}addBoolToInputSidePacket(e,t){Q(this,t,(r=>{this.i._addBoolToInputSidePacket(e,r)}))}addDoubleToInputSidePacket(e,t){Q(this,t,(r=>{this.i._addDoubleToInputSidePacket(e,r)}))}addFloatToInputSidePacket(e,t){Q(this,t,(r=>{this.i._addFloatToInputSidePacket(e,r)}))}addIntToInputSidePacket(e,t){Q(this,t,(r=>{this.i._addIntToInputSidePacket(e,r)}))}addUintToInputSidePacket(e,t){Q(this,t,(r=>{this.i._addUintToInputSidePacket(e,r)}))}addStringToInputSidePacket(e,t){Q(this,t,(r=>{Q(this,e,(n=>{this.i._addStringToInputSidePacket(n,r)}))}))}addProtoToInputSidePacket(e,t,r){Q(this,r,(n=>{Q(this,t,(i=>{let o=this.i._malloc(e.length);this.i.HEAPU8.set(e,o),this.i._addProtoToInputSidePacket(o,e.length,i,n),this.i._free(o)}))}))}addBoolVectorToInputSidePacket(e,t){Q(this,t,(r=>{let n=this.i._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(let i of e)this.i._addBoolVectorEntry(n,i);this.i._addBoolVectorToInputSidePacket(n,r)}))}addDoubleVectorToInputSidePacket(e,t){Q(this,t,(r=>{let n=this.i._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(let i of e)this.i._addDoubleVectorEntry(n,i);this.i._addDoubleVectorToInputSidePacket(n,r)}))}addFloatVectorToInputSidePacket(e,t){Q(this,t,(r=>{let n=this.i._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(let i of e)this.i._addFloatVectorEntry(n,i);this.i._addFloatVectorToInputSidePacket(n,r)}))}addIntVectorToInputSidePacket(e,t){Q(this,t,(r=>{let n=this.i._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(let i of e)this.i._addIntVectorEntry(n,i);this.i._addIntVectorToInputSidePacket(n,r)}))}addUintVectorToInputSidePacket(e,t){Q(this,t,(r=>{let n=this.i._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(let i of e)this.i._addUintVectorEntry(n,i);this.i._addUintVectorToInputSidePacket(n,r)}))}addStringVectorToInputSidePacket(e,t){Q(this,t,(r=>{let n=this.i._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(let i of e)Q(this,i,(o=>{this.i._addStringVectorEntry(n,o)}));this.i._addStringVectorToInputSidePacket(n,r)}))}attachBoolListener(e,t){Tr(this,e,t),Q(this,e,(r=>{this.i._attachBoolListener(r)}))}attachBoolVectorListener(e,t){rn(this,e,t),Q(this,e,(r=>{this.i._attachBoolVectorListener(r)}))}attachIntListener(e,t){Tr(this,e,t),Q(this,e,(r=>{this.i._attachIntListener(r)}))}attachIntVectorListener(e,t){rn(this,e,t),Q(this,e,(r=>{this.i._attachIntVectorListener(r)}))}attachUintListener(e,t){Tr(this,e,t),Q(this,e,(r=>{this.i._attachUintListener(r)}))}attachUintVectorListener(e,t){rn(this,e,t),Q(this,e,(r=>{this.i._attachUintVectorListener(r)}))}attachDoubleListener(e,t){Tr(this,e,t),Q(this,e,(r=>{this.i._attachDoubleListener(r)}))}attachDoubleVectorListener(e,t){rn(this,e,t),Q(this,e,(r=>{this.i._attachDoubleVectorListener(r)}))}attachFloatListener(e,t){Tr(this,e,t),Q(this,e,(r=>{this.i._attachFloatListener(r)}))}attachFloatVectorListener(e,t){rn(this,e,t),Q(this,e,(r=>{this.i._attachFloatVectorListener(r)}))}attachStringListener(e,t){Tr(this,e,t),Q(this,e,(r=>{this.i._attachStringListener(r)}))}attachStringVectorListener(e,t){rn(this,e,t),Q(this,e,(r=>{this.i._attachStringVectorListener(r)}))}attachProtoListener(e,t,r){Tr(this,e,t),Q(this,e,(n=>{this.i._attachProtoListener(n,r||!1)}))}attachProtoVectorListener(e,t,r){rn(this,e,t),Q(this,e,(n=>{this.i._attachProtoVectorListener(n,r||!1)}))}attachAudioListener(e,t,r){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),Tr(this,e,((n,i)=>{n=new Float32Array(n.buffer,n.byteOffset,n.length/4),t(n,i)})),Q(this,e,(n=>{this.i._attachAudioListener(n,r||!1)}))}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends Yp{get ea(){return this.i}qa(e,t,r){Q(this,t,(n=>{let[i,o]=Np(this,e,n);this.ea._addBoundTextureAsImageToStream(n,i,o,r)}))}U(e,t){Tr(this,e,t),Q(this,e,(r=>{this.ea._attachImageListener(r)}))}ca(e,t){rn(this,e,t),Q(this,e,(r=>{this.ea._attachImageVectorListener(r)}))}})),Yp,rr=class extends ev{};async function pe(e,t,r){return(async function(n,i,o,s){return Jb(n,i,o,s)})(e,r.canvas??(qm()?void 0:document.createElement("canvas")),t,r)}function Qm(e,t,r,n){if(e.T){let o=new Sm;if(r?.regionOfInterest){if(!e.pa)throw Error("This task doesn't support region-of-interest.");var i=r.regionOfInterest;if(i.left>=i.right||i.top>=i.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(i.left<0||i.top<0||i.right>1||i.bottom>1)throw Error("Expected RectF values to be in [0,1].");Z(o,1,(i.left+i.right)/2),Z(o,2,(i.top+i.bottom)/2),Z(o,4,i.right-i.left),Z(o,3,i.bottom-i.top)}else Z(o,1,.5),Z(o,2,.5),Z(o,4,1),Z(o,3,1);if(r?.rotationDegrees){if(r?.rotationDegrees%90!=0)throw Error("Expected rotation to be a multiple of 90\xB0.");if(Z(o,5,-Math.PI*r.rotationDegrees/180),r?.rotationDegrees%180!=0){let[s,a]=Km(t);r=Je(o,3)*a/s,i=Je(o,4)*s/a,Z(o,4,r),Z(o,3,i)}}e.g.addProtoToStream(o.g(),"mediapipe.NormalizedRect",e.T,n)}e.g.qa(t,e.aa,n??performance.now()),e.finishProcessing()}function nr(e,t,r){if(e.baseOptions?.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");Qm(e,t,r,e.B+1)}function Br(e,t,r,n){if(!e.baseOptions?.g())throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");Qm(e,t,r,n)}function ki(e,t,r,n){var i=t.data;let o=t.width,s=o*(t=t.height);if((i instanceof Uint8Array||i instanceof Float32Array)&&i.length!==s)throw Error("Unsupported channel count: "+i.length/s);return e=new ot([i],r,!1,e.g.i.canvas,e.O,o,t),n?e.clone():e}var It=class extends Rs{constructor(e,t,r,n){super(e),this.g=e,this.aa=t,this.T=r,this.pa=n,this.O=new Di}l(e,t=!0){if("runningMode"in e&&So(this.baseOptions,2,!!e.runningMode&&e.runningMode!=="IMAGE"),e.canvas!==void 0&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(e,t)}close(){this.O.close(),super.close()}};It.prototype.close=It.prototype.close;var Ct=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},ne(e=this.h=new la,0,1,t=new Le),Z(this.h,2,.5),Z(this.h,3,.3)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&Z(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&Z(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}D(e,t){return this.j={detections:[]},nr(this,e,t),this.j}F(e,t,r){return this.j={detections:[]},Br(this,e,r,t),this.j}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect_in"),be(e,"detections");let t=new Nt;fr(t,Fb,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect_in"),fe(r,"DETECTIONS:detections"),r.o(t),Vt(e,r),this.g.attachProtoVectorListener("detections",((n,i)=>{for(let o of n)n=vm(o),this.j.detections.push($m(n));X(this,i)})),this.g.attachEmptyPacketListener("detections",(n=>{X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ct.prototype.detectForVideo=Ct.prototype.F,Ct.prototype.detect=Ct.prototype.D,Ct.prototype.setOptions=Ct.prototype.o,Ct.createFromModelPath=async function(e,t){return pe(Ct,e,{baseOptions:{modelAssetPath:t}})},Ct.createFromModelBuffer=function(e,t){return pe(Ct,e,{baseOptions:{modelAssetBuffer:t}})},Ct.createFromOptions=function(e,t){return pe(Ct,e,t)};var Vh=yr([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),Hh=yr([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),Wh=yr([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),eg=yr([474,475],[475,476],[476,477],[477,474]),$h=yr([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),Gh=yr([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),tg=yr([469,470],[470,471],[471,472],[472,469]),qh=yr([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),rg=[...Vh,...Hh,...Wh,...$h,...Gh,...qh],ng=yr([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function Zp(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var He=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,ne(e=this.h=new Am,0,1,t=new Le),this.v=new Cm,ne(this.h,0,3,this.v),this.s=new la,ne(this.h,0,2,this.s),Dr(this.s,4,1),Z(this.s,2,.5),Z(this.v,2,.5),Z(this.h,4,.5)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return"numFaces"in e&&Dr(this.s,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&Z(this.s,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&Z(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&Z(this.v,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}D(e,t){return Zp(this),nr(this,e,t),this.j}F(e,t,r){return Zp(this),Br(this,e,r,t),this.j}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect"),be(e,"face_landmarks");let t=new Nt;fr(t,Mb,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),fe(r,"NORM_LANDMARKS:face_landmarks"),r.o(t),Vt(e,r),this.g.attachProtoVectorListener("face_landmarks",((n,i)=>{for(let o of n)n=Io(o),this.j.faceLandmarks.push(ha(n));X(this,i)})),this.g.attachEmptyPacketListener("face_landmarks",(n=>{X(this,n)})),this.outputFaceBlendshapes&&(be(e,"blendshapes"),fe(r,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",((n,i)=>{if(this.outputFaceBlendshapes)for(let o of n)n=ca(o),this.j.faceBlendshapes.push(Mh(n.g()??[]));X(this,i)})),this.g.attachEmptyPacketListener("blendshapes",(n=>{X(this,n)}))),this.outputFacialTransformationMatrixes&&(be(e,"face_geometry"),fe(r,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",((n,i)=>{if(this.outputFacialTransformationMatrixes)for(let o of n)(n=ye(Lb(o),Tb,2))&&this.j.facialTransformationMatrixes.push({rows:Zt(n,1)??0??0,columns:Zt(n,2)??0??0,data:Ln(n,3,pn,Fn()).slice()??[]});X(this,i)})),this.g.attachEmptyPacketListener("face_geometry",(n=>{X(this,n)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};He.prototype.detectForVideo=He.prototype.F,He.prototype.detect=He.prototype.D,He.prototype.setOptions=He.prototype.o,He.createFromModelPath=function(e,t){return pe(He,e,{baseOptions:{modelAssetPath:t}})},He.createFromModelBuffer=function(e,t){return pe(He,e,{baseOptions:{modelAssetBuffer:t}})},He.createFromOptions=function(e,t){return pe(He,e,t)},He.FACE_LANDMARKS_LIPS=Vh,He.FACE_LANDMARKS_LEFT_EYE=Hh,He.FACE_LANDMARKS_LEFT_EYEBROW=Wh,He.FACE_LANDMARKS_LEFT_IRIS=eg,He.FACE_LANDMARKS_RIGHT_EYE=$h,He.FACE_LANDMARKS_RIGHT_EYEBROW=Gh,He.FACE_LANDMARKS_RIGHT_IRIS=tg,He.FACE_LANDMARKS_FACE_OVAL=qh,He.FACE_LANDMARKS_CONTOURS=rg,He.FACE_LANDMARKS_TESSELATION=ng;var Ir=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!0),ne(e=this.j=new Im,0,1,t=new Le)}get baseOptions(){return ye(this.j,Le,1)}set baseOptions(e){ne(this.j,0,1,e)}o(e){return super.l(e)}Oa(e,t,r){let n=typeof t!="function"?t:{};if(this.h=typeof t=="function"?t:r,nr(this,e,n??{}),!this.h)return this.s}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect"),be(e,"stylized_image");let t=new Nt;fr(t,Nb,this.j);let r=new bt;jt(r,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),fe(r,"STYLIZED_IMAGE:stylized_image"),r.o(t),Vt(e,r),this.g.U("stylized_image",((n,i)=>{var o=!this.h,s=n.data,a=n.width;let c=a*(n=n.height);if(s instanceof Uint8Array)if(s.length===3*c){let l=new Uint8ClampedArray(4*c);for(let h=0;h<c;++h)l[4*h]=s[3*h],l[4*h+1]=s[3*h+1],l[4*h+2]=s[3*h+2],l[4*h+3]=255;s=new ImageData(l,a,n)}else{if(s.length!==4*c)throw Error("Unsupported channel count: "+s.length/c);s=new ImageData(new Uint8ClampedArray(s.buffer,s.byteOffset,s.length),a,n)}else if(!(s instanceof WebGLTexture))throw Error(`Unsupported format: ${s.constructor.name}`);a=new ht([s],!1,!1,this.g.i.canvas,this.O,a,n),this.s=o=o?a.clone():a,this.h&&this.h(o),X(this,i)})),this.g.attachEmptyPacketListener("stylized_image",(n=>{this.s=null,this.h&&this.h(null),X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ir.prototype.stylize=Ir.prototype.Oa,Ir.prototype.setOptions=Ir.prototype.o,Ir.createFromModelPath=function(e,t){return pe(Ir,e,{baseOptions:{modelAssetPath:t}})},Ir.createFromModelBuffer=function(e,t){return pe(Ir,e,{baseOptions:{modelAssetBuffer:t}})},Ir.createFromOptions=function(e,t){return pe(Ir,e,t)};var Kh=yr([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function Qp(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function ef(e){return e.gestures.length===0?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function tf(e,t=!0){let r=[];for(let i of e){var n=ca(i);e=[];for(let o of n.g())n=t&&Zt(o,1)!=null?Zt(o,1)??0:-1,e.push({score:Je(o,2)??0,index:n,categoryName:er(o,3)??""??"",displayName:er(o,4)??""??""});r.push(e)}return r}var Ut=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],ne(e=this.j=new Dm,0,1,t=new Le),this.s=new Oh,ne(this.j,0,2,this.s),this.C=new Bh,ne(this.s,0,3,this.C),this.v=new Pm,ne(this.s,0,2,this.v),this.h=new zb,ne(this.j,0,3,this.h),Z(this.v,2,.5),Z(this.s,4,.5),Z(this.C,2,.5)}get baseOptions(){return ye(this.j,Le,1)}set baseOptions(e){ne(this.j,0,1,e)}o(e){if(Dr(this.v,3,e.numHands??1),"minHandDetectionConfidence"in e&&Z(this.v,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&Z(this.s,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&Z(this.C,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new si,r=t,n=Ll(e.cannedGesturesClassifierOptions,ye(this.h,si,3)?.h());ne(r,0,2,n),ne(this.h,0,3,t)}else e.cannedGesturesClassifierOptions===void 0&&ye(this.h,si,3)?.g();return e.customGesturesClassifierOptions?(ne(r=t=new si,0,2,n=Ll(e.customGesturesClassifierOptions,ye(this.h,si,4)?.h())),ne(this.h,0,4,t)):e.customGesturesClassifierOptions===void 0&&ye(this.h,si,4)?.g(),this.l(e)}Ja(e,t){return Qp(this),nr(this,e,t),ef(this)}Ka(e,t,r){return Qp(this),Br(this,e,r,t),ef(this)}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect"),be(e,"hand_gestures"),be(e,"hand_landmarks"),be(e,"world_hand_landmarks"),be(e,"handedness");let t=new Nt;fr(t,jb,this.j);let r=new bt;jt(r,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),fe(r,"HAND_GESTURES:hand_gestures"),fe(r,"LANDMARKS:hand_landmarks"),fe(r,"WORLD_LANDMARKS:world_hand_landmarks"),fe(r,"HANDEDNESS:handedness"),r.o(t),Vt(e,r),this.g.attachProtoVectorListener("hand_landmarks",((n,i)=>{for(let o of n){n=Io(o);let s=[];for(let a of Kr(n,wm,1))s.push({x:Je(a,1)??0,y:Je(a,2)??0,z:Je(a,3)??0,visibility:Je(a,4)??0});this.landmarks.push(s)}X(this,i)})),this.g.attachEmptyPacketListener("hand_landmarks",(n=>{X(this,n)})),this.g.attachProtoVectorListener("world_hand_landmarks",((n,i)=>{for(let o of n){n=pi(o);let s=[];for(let a of Kr(n,_m,1))s.push({x:Je(a,1)??0,y:Je(a,2)??0,z:Je(a,3)??0,visibility:Je(a,4)??0});this.worldLandmarks.push(s)}X(this,i)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(n=>{X(this,n)})),this.g.attachProtoVectorListener("hand_gestures",((n,i)=>{this.gestures.push(...tf(n,!1)),X(this,i)})),this.g.attachEmptyPacketListener("hand_gestures",(n=>{X(this,n)})),this.g.attachProtoVectorListener("handedness",((n,i)=>{this.handedness.push(...tf(n)),X(this,i)})),this.g.attachEmptyPacketListener("handedness",(n=>{X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function rf(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Ut.prototype.recognizeForVideo=Ut.prototype.Ka,Ut.prototype.recognize=Ut.prototype.Ja,Ut.prototype.setOptions=Ut.prototype.o,Ut.createFromModelPath=function(e,t){return pe(Ut,e,{baseOptions:{modelAssetPath:t}})},Ut.createFromModelBuffer=function(e,t){return pe(Ut,e,{baseOptions:{modelAssetBuffer:t}})},Ut.createFromOptions=function(e,t){return pe(Ut,e,t)},Ut.HAND_CONNECTIONS=Kh;var Ft=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],ne(e=this.h=new Oh,0,1,t=new Le),this.s=new Bh,ne(this.h,0,3,this.s),this.j=new Pm,ne(this.h,0,2,this.j),Dr(this.j,3,1),Z(this.j,2,.5),Z(this.s,2,.5),Z(this.h,4,.5)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return"numHands"in e&&Dr(this.j,3,e.numHands??1),"minHandDetectionConfidence"in e&&Z(this.j,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&Z(this.h,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&Z(this.s,2,e.minHandPresenceConfidence??.5),this.l(e)}D(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],nr(this,e,t),rf(this)}F(e,t,r){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Br(this,e,r,t),rf(this)}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect"),be(e,"hand_landmarks"),be(e,"world_hand_landmarks"),be(e,"handedness");let t=new Nt;fr(t,Vb,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),fe(r,"LANDMARKS:hand_landmarks"),fe(r,"WORLD_LANDMARKS:world_hand_landmarks"),fe(r,"HANDEDNESS:handedness"),r.o(t),Vt(e,r),this.g.attachProtoVectorListener("hand_landmarks",((n,i)=>{for(let o of n)n=Io(o),this.landmarks.push(ha(n));X(this,i)})),this.g.attachEmptyPacketListener("hand_landmarks",(n=>{X(this,n)})),this.g.attachProtoVectorListener("world_hand_landmarks",((n,i)=>{for(let o of n)n=pi(o),this.worldLandmarks.push(vo(n));X(this,i)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(n=>{X(this,n)})),this.g.attachProtoVectorListener("handedness",((n,i)=>{var o=this.handedness,s=o.push;let a=[];for(let c of n){n=ca(c);let l=[];for(let h of n.g())l.push({score:Je(h,2)??0,index:Zt(h,1)??0??-1,categoryName:er(h,3)??""??"",displayName:er(h,4)??""??""});a.push(l)}s.call(o,...a),X(this,i)})),this.g.attachEmptyPacketListener("handedness",(n=>{X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ft.prototype.detectForVideo=Ft.prototype.F,Ft.prototype.detect=Ft.prototype.D,Ft.prototype.setOptions=Ft.prototype.o,Ft.createFromModelPath=function(e,t){return pe(Ft,e,{baseOptions:{modelAssetPath:t}})},Ft.createFromModelBuffer=function(e,t){return pe(Ft,e,{baseOptions:{modelAssetBuffer:t}})},Ft.createFromOptions=function(e,t){return pe(Ft,e,t)},Ft.HAND_CONNECTIONS=Kh;var ig=yr([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]);function nf(e){e.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]}}function of(e){try{if(!e.C)return e.h;e.C(e.h)}finally{ua(e)}}function Cs(e,t){e=Io(e),t.push(ha(e))}var Ue=class extends It{constructor(e,t){super(new rr(e,t),"input_frames_image",null,!1),this.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]},this.outputPoseSegmentationMasks=this.outputFaceBlendshapes=!1,ne(e=this.j=new Lm,0,1,t=new Le),this.J=new Bh,ne(this.j,0,2,this.J),this.Z=new Hb,ne(this.j,0,3,this.Z),this.s=new la,ne(this.j,0,4,this.s),this.H=new Cm,ne(this.j,0,5,this.H),this.v=new Um,ne(this.j,0,6,this.v),this.K=new Fm,ne(this.j,0,7,this.K),Z(this.s,2,.5),Z(this.s,3,.3),Z(this.H,2,.5),Z(this.v,2,.5),Z(this.v,3,.3),Z(this.K,2,.5),Z(this.J,2,.5)}get baseOptions(){return ye(this.j,Le,1)}set baseOptions(e){ne(this.j,0,1,e)}o(e){return"minFaceDetectionConfidence"in e&&Z(this.s,2,e.minFaceDetectionConfidence??.5),"minFaceSuppressionThreshold"in e&&Z(this.s,3,e.minFaceSuppressionThreshold??.3),"minFacePresenceConfidence"in e&&Z(this.H,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"minPoseDetectionConfidence"in e&&Z(this.v,2,e.minPoseDetectionConfidence??.5),"minPoseSuppressionThreshold"in e&&Z(this.v,3,e.minPoseSuppressionThreshold??.3),"minPosePresenceConfidence"in e&&Z(this.K,2,e.minPosePresenceConfidence??.5),"outputPoseSegmentationMasks"in e&&(this.outputPoseSegmentationMasks=!!e.outputPoseSegmentationMasks),"minHandLandmarksConfidence"in e&&Z(this.J,2,e.minHandLandmarksConfidence??.5),this.l(e)}D(e,t,r){let n=typeof t!="function"?t:{};return this.C=typeof t=="function"?t:r,nf(this),nr(this,e,n),of(this)}F(e,t,r,n){let i=typeof r!="function"?r:{};return this.C=typeof r=="function"?r:n,nf(this),Br(this,e,i,t),of(this)}m(){var e=new Rt;Oe(e,"input_frames_image"),be(e,"pose_landmarks"),be(e,"pose_world_landmarks"),be(e,"face_landmarks"),be(e,"left_hand_landmarks"),be(e,"left_hand_world_landmarks"),be(e,"right_hand_landmarks"),be(e,"right_hand_world_landmarks");let t=new Nt,r=new kp;Rl(r,1,Ci("type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions"),""),(function(i,o){if(o!=null)if(Array.isArray(o))Re(i,2,Pf(o));else{if(!(typeof o=="string"||o instanceof Gr||Eo(o)))throw Error("invalid value in Any.value field: "+o+" expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");Rl(i,2,Yl(o,!1),zn())}})(r,this.j.g());let n=new bt;jt(n,"mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph"),Ms(n,8,kp,r),Pe(n,"IMAGE:input_frames_image"),fe(n,"POSE_LANDMARKS:pose_landmarks"),fe(n,"POSE_WORLD_LANDMARKS:pose_world_landmarks"),fe(n,"FACE_LANDMARKS:face_landmarks"),fe(n,"LEFT_HAND_LANDMARKS:left_hand_landmarks"),fe(n,"LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),fe(n,"RIGHT_HAND_LANDMARKS:right_hand_landmarks"),fe(n,"RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),n.o(t),Vt(e,n),da(this,e),this.g.attachProtoListener("pose_landmarks",((i,o)=>{Cs(i,this.h.poseLandmarks),X(this,o)})),this.g.attachEmptyPacketListener("pose_landmarks",(i=>{X(this,i)})),this.g.attachProtoListener("pose_world_landmarks",((i,o)=>{var s=this.h.poseWorldLandmarks;i=pi(i),s.push(vo(i)),X(this,o)})),this.g.attachEmptyPacketListener("pose_world_landmarks",(i=>{X(this,i)})),this.outputPoseSegmentationMasks&&(fe(n,"POSE_SEGMENTATION_MASK:pose_segmentation_mask"),_i(this,"pose_segmentation_mask"),this.g.U("pose_segmentation_mask",((i,o)=>{this.h.poseSegmentationMasks=[ki(this,i,!0,!this.C)],X(this,o)})),this.g.attachEmptyPacketListener("pose_segmentation_mask",(i=>{this.h.poseSegmentationMasks=[],X(this,i)}))),this.g.attachProtoListener("face_landmarks",((i,o)=>{Cs(i,this.h.faceLandmarks),X(this,o)})),this.g.attachEmptyPacketListener("face_landmarks",(i=>{X(this,i)})),this.outputFaceBlendshapes&&(be(e,"extra_blendshapes"),fe(n,"FACE_BLENDSHAPES:extra_blendshapes"),this.g.attachProtoListener("extra_blendshapes",((i,o)=>{var s=this.h.faceBlendshapes;this.outputFaceBlendshapes&&(i=ca(i),s.push(Mh(i.g()??[]))),X(this,o)})),this.g.attachEmptyPacketListener("extra_blendshapes",(i=>{X(this,i)}))),this.g.attachProtoListener("left_hand_landmarks",((i,o)=>{Cs(i,this.h.leftHandLandmarks),X(this,o)})),this.g.attachEmptyPacketListener("left_hand_landmarks",(i=>{X(this,i)})),this.g.attachProtoListener("left_hand_world_landmarks",((i,o)=>{var s=this.h.leftHandWorldLandmarks;i=pi(i),s.push(vo(i)),X(this,o)})),this.g.attachEmptyPacketListener("left_hand_world_landmarks",(i=>{X(this,i)})),this.g.attachProtoListener("right_hand_landmarks",((i,o)=>{Cs(i,this.h.rightHandLandmarks),X(this,o)})),this.g.attachEmptyPacketListener("right_hand_landmarks",(i=>{X(this,i)})),this.g.attachProtoListener("right_hand_world_landmarks",((i,o)=>{var s=this.h.rightHandWorldLandmarks;i=pi(i),s.push(vo(i)),X(this,o)})),this.g.attachEmptyPacketListener("right_hand_world_landmarks",(i=>{X(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ue.prototype.detectForVideo=Ue.prototype.F,Ue.prototype.detect=Ue.prototype.D,Ue.prototype.setOptions=Ue.prototype.o,Ue.createFromModelPath=function(e,t){return pe(Ue,e,{baseOptions:{modelAssetPath:t}})},Ue.createFromModelBuffer=function(e,t){return pe(Ue,e,{baseOptions:{modelAssetBuffer:t}})},Ue.createFromOptions=function(e,t){return pe(Ue,e,t)},Ue.HAND_CONNECTIONS=Kh,Ue.POSE_CONNECTIONS=ig,Ue.FACE_LANDMARKS_LIPS=Vh,Ue.FACE_LANDMARKS_LEFT_EYE=Hh,Ue.FACE_LANDMARKS_LEFT_EYEBROW=Wh,Ue.FACE_LANDMARKS_LEFT_IRIS=eg,Ue.FACE_LANDMARKS_RIGHT_EYE=$h,Ue.FACE_LANDMARKS_RIGHT_EYEBROW=Gh,Ue.FACE_LANDMARKS_RIGHT_IRIS=tg,Ue.FACE_LANDMARKS_FACE_OVAL=qh,Ue.FACE_LANDMARKS_CONTOURS=rg,Ue.FACE_LANDMARKS_TESSELATION=ng;var Jt=class extends It{constructor(e,t){super(new rr(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},ne(e=this.h=new Mm,0,1,t=new Le)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return ne(this.h,0,2,Ll(e,ye(this.h,Rh,2))),this.l(e)}sa(e,t){return this.j={classifications:[]},nr(this,e,t),this.j}ta(e,t,r){return this.j={classifications:[]},Br(this,e,r,t),this.j}m(){var e=new Rt;Oe(e,"input_image"),Oe(e,"norm_rect"),be(e,"classifications");let t=new Nt;fr(t,Wb,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),Pe(r,"IMAGE:input_image"),Pe(r,"NORM_RECT:norm_rect"),fe(r,"CLASSIFICATIONS:classifications"),r.o(t),Vt(e,r),this.g.attachProtoListener("classifications",((n,i)=>{this.j=(function(o){let s={classifications:Kr(o,Rb,1).map((a=>Mh(ye(a,ym,4)?.g()??[],Zt(a,2)??0,er(a,3)??"")))};return Ls(bi(o,2))!=null&&(s.timestampMs=Ls(bi(o,2))??0),s})(Pb(n)),X(this,i)})),this.g.attachEmptyPacketListener("classifications",(n=>{X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Jt.prototype.classifyForVideo=Jt.prototype.ta,Jt.prototype.classify=Jt.prototype.sa,Jt.prototype.setOptions=Jt.prototype.o,Jt.createFromModelPath=function(e,t){return pe(Jt,e,{baseOptions:{modelAssetPath:t}})},Jt.createFromModelBuffer=function(e,t){return pe(Jt,e,{baseOptions:{modelAssetBuffer:t}})},Jt.createFromOptions=function(e,t){return pe(Jt,e,t)};var Lt=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!0),this.h=new Nm,this.embeddings={embeddings:[]},ne(e=this.h,0,1,t=new Le)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){var t=this.h,r=ye(this.h,Dp,2);return r=r?r.clone():new Dp,e.l2Normalize!==void 0?So(r,1,e.l2Normalize):"l2Normalize"in e&&Re(r,1),e.quantize!==void 0?So(r,2,e.quantize):"quantize"in e&&Re(r,2),ne(t,0,2,r),this.l(e)}za(e,t){return nr(this,e,t),this.embeddings}Aa(e,t,r){return Br(this,e,r,t),this.embeddings}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect"),be(e,"embeddings_out");let t=new Nt;fr(t,$b,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),fe(r,"EMBEDDINGS:embeddings_out"),r.o(t),Vt(e,r),this.g.attachProtoListener("embeddings_out",((n,i)=>{n=Ob(n),this.embeddings=(function(o){return{embeddings:Kr(o,Bb,1).map((s=>{let a={headIndex:Zt(s,3)??0??-1,headName:er(s,4)??""??""};if(Ff(s,Pp,yl(s,1))!==void 0)s=Ln(s=ye(s,Pp,yl(s,1)),1,pn,Fn()),a.floatEmbedding=s.slice();else{let c=new Uint8Array(0);a.quantizedEmbedding=ye(s,Db,yl(s,2))?.oa()?.h()??c}return a})),timestampMs:Ls(bi(o,2))??0}})(n),X(this,i)})),this.g.attachEmptyPacketListener("embeddings_out",(n=>{X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Lt.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=Lp(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=Lp(Fp(e.quantizedEmbedding),Fp(t.quantizedEmbedding))}return e},Lt.prototype.embedForVideo=Lt.prototype.Aa,Lt.prototype.embed=Lt.prototype.za,Lt.prototype.setOptions=Lt.prototype.o,Lt.createFromModelPath=function(e,t){return pe(Lt,e,{baseOptions:{modelAssetPath:t}})},Lt.createFromModelBuffer=function(e,t){return pe(Lt,e,{baseOptions:{modelAssetBuffer:t}})},Lt.createFromOptions=function(e,t){return pe(Lt,e,t)};var jl=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};function sf(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function af(e){try{let t=new jl(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{ua(e)}}jl.prototype.close=jl.prototype.close;var Et=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!1),this.s=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Lh,this.v=new zm,ne(this.h,0,3,this.v),ne(e=this.h,0,1,t=new Le)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?Re(this.h,2,Ci(e.displayNamesLocale)):"displayNamesLocale"in e&&Re(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}I(){(function(e){let t=Kr(e.da(),bt,1).filter((r=>(er(r,1)??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator")));if(e.s=[],t.length>1)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");t.length===1&&(ye(t[0],Nt,7)?.l()?.g()??new Map).forEach(((r,n)=>{e.s[Number(n)]=er(r,1)??""}))})(this)}segment(e,t,r){let n=typeof t!="function"?t:{};return this.j=typeof t=="function"?t:r,sf(this),nr(this,e,n),af(this)}Ma(e,t,r,n){let i=typeof r!="function"?r:{};return this.j=typeof r=="function"?r:n,sf(this),Br(this,e,i,t),af(this)}Da(){return this.s}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect");let t=new Nt;fr(t,Vm,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),r.o(t),Vt(e,r),da(this,e),this.outputConfidenceMasks&&(be(e,"confidence_masks"),fe(r,"CONFIDENCE_MASKS:confidence_masks"),_i(this,"confidence_masks"),this.g.ca("confidence_masks",((n,i)=>{this.confidenceMasks=n.map((o=>ki(this,o,!0,!this.j))),X(this,i)})),this.g.attachEmptyPacketListener("confidence_masks",(n=>{this.confidenceMasks=[],X(this,n)}))),this.outputCategoryMask&&(be(e,"category_mask"),fe(r,"CATEGORY_MASK:category_mask"),_i(this,"category_mask"),this.g.U("category_mask",((n,i)=>{this.categoryMask=ki(this,n,!1,!this.j),X(this,i)})),this.g.attachEmptyPacketListener("category_mask",(n=>{this.categoryMask=void 0,X(this,n)}))),be(e,"quality_scores"),fe(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((n,i)=>{this.qualityScores=n,X(this,i)})),this.g.attachEmptyPacketListener("quality_scores",(n=>{this.categoryMask=void 0,X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Et.prototype.getLabels=Et.prototype.Da,Et.prototype.segmentForVideo=Et.prototype.Ma,Et.prototype.segment=Et.prototype.segment,Et.prototype.setOptions=Et.prototype.o,Et.createFromModelPath=function(e,t){return pe(Et,e,{baseOptions:{modelAssetPath:t}})},Et.createFromModelBuffer=function(e,t){return pe(Et,e,{baseOptions:{modelAssetBuffer:t}})},Et.createFromOptions=function(e,t){return pe(Et,e,t)};var Vl=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};Vl.prototype.close=Vl.prototype.close;var tv=class extends Y{constructor(e){super(e)}},ai=[0,$e,-2],Vs=[0,Hr,-3,Fe,Hr,-1],cf=[0,Vs],lf=[0,Vs,$e,-1],xl=class extends Y{constructor(e){super(e)}},hf=[0,Hr,-1,Fe],rv=class extends Y{constructor(e){super(e)}},df=class extends Y{constructor(e){super(e)}},Hl=[1,2,3,4,5,6,7,8,9,10,14,15],og=class extends Y{constructor(e){super(e)}};og.prototype.g=aa([0,st,[0,Hl,xe,Vs,xe,[0,Vs,ai],xe,cf,xe,[0,cf,ai],xe,hf,xe,[0,Hr,-3,Fe,tr],xe,[0,Hr,-3,Fe],xe,[0,we,Hr,-2,Fe,$e,Fe,-1,2,Hr,ai],xe,lf,xe,[0,lf,ai],Hr,ai,we,xe,[0,Hr,-3,Fe,ai,-1],xe,[0,st,hf]],we,[0,we,$e,-1,Fe]]);var Rr=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Lh,this.s=new zm,ne(this.h,0,3,this.s),ne(e=this.h,0,1,t=new Le)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}segment(e,t,r,n){let i=typeof r!="function"?r:{};this.j=typeof r=="function"?r:n,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,r=this.B+1,n=new og;let o=new df;var s=new tv;if(Dr(s,1,255),ne(o,0,12,s),t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var a=new xl;So(a,3,!0),Z(a,1,t.keypoint.x),Z(a,2,t.keypoint.y),yo(o,5,Hl,a)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");for(a of(s=new rv,t.scribble))So(t=new xl,3,!0),Z(t,1,a.x),Z(t,2,a.y),Ms(s,1,xl,t);yo(o,15,Hl,s)}Ms(n,1,df,o),this.g.addProtoToStream(n.g(),"drishti.RenderData","roi_in",r),nr(this,e,i);e:{try{let l=new Vl(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var c=l;break e}this.j(l)}finally{ua(this)}c=void 0}return c}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"roi_in"),Oe(e,"norm_rect_in");let t=new Nt;fr(t,Vm,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"ROI:roi_in"),Pe(r,"NORM_RECT:norm_rect_in"),r.o(t),Vt(e,r),da(this,e),this.outputConfidenceMasks&&(be(e,"confidence_masks"),fe(r,"CONFIDENCE_MASKS:confidence_masks"),_i(this,"confidence_masks"),this.g.ca("confidence_masks",((n,i)=>{this.confidenceMasks=n.map((o=>ki(this,o,!0,!this.j))),X(this,i)})),this.g.attachEmptyPacketListener("confidence_masks",(n=>{this.confidenceMasks=[],X(this,n)}))),this.outputCategoryMask&&(be(e,"category_mask"),fe(r,"CATEGORY_MASK:category_mask"),_i(this,"category_mask"),this.g.U("category_mask",((n,i)=>{this.categoryMask=ki(this,n,!1,!this.j),X(this,i)})),this.g.attachEmptyPacketListener("category_mask",(n=>{this.categoryMask=void 0,X(this,n)}))),be(e,"quality_scores"),fe(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((n,i)=>{this.qualityScores=n,X(this,i)})),this.g.attachEmptyPacketListener("quality_scores",(n=>{this.categoryMask=void 0,X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Rr.prototype.segment=Rr.prototype.segment,Rr.prototype.setOptions=Rr.prototype.o,Rr.createFromModelPath=function(e,t){return pe(Rr,e,{baseOptions:{modelAssetPath:t}})},Rr.createFromModelBuffer=function(e,t){return pe(Rr,e,{baseOptions:{modelAssetBuffer:t}})},Rr.createFromOptions=function(e,t){return pe(Rr,e,t)};var At=class extends It{constructor(e,t){super(new rr(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},ne(e=this.h=new Hm,0,1,t=new Le)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?Re(this.h,2,Ci(e.displayNamesLocale)):"displayNamesLocale"in e&&Re(this.h,2),e.maxResults!==void 0?Dr(this.h,3,e.maxResults):"maxResults"in e&&Re(this.h,3),e.scoreThreshold!==void 0?Z(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&Re(this.h,4),e.categoryAllowlist!==void 0?Ns(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&Re(this.h,5),e.categoryDenylist!==void 0?Ns(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&Re(this.h,6),this.l(e)}D(e,t){return this.j={detections:[]},nr(this,e,t),this.j}F(e,t,r){return this.j={detections:[]},Br(this,e,r,t),this.j}m(){var e=new Rt;Oe(e,"input_frame_gpu"),Oe(e,"norm_rect"),be(e,"detections");let t=new Nt;fr(t,qb,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.ObjectDetectorGraph"),Pe(r,"IMAGE:input_frame_gpu"),Pe(r,"NORM_RECT:norm_rect"),fe(r,"DETECTIONS:detections"),r.o(t),Vt(e,r),this.g.attachProtoVectorListener("detections",((n,i)=>{for(let o of n)n=vm(o),this.j.detections.push($m(n));X(this,i)})),this.g.attachEmptyPacketListener("detections",(n=>{X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};At.prototype.detectForVideo=At.prototype.F,At.prototype.detect=At.prototype.D,At.prototype.setOptions=At.prototype.o,At.createFromModelPath=async function(e,t){return pe(At,e,{baseOptions:{modelAssetPath:t}})},At.createFromModelBuffer=function(e,t){return pe(At,e,{baseOptions:{modelAssetBuffer:t}})},At.createFromOptions=function(e,t){return pe(At,e,t)};var Wl=class{constructor(e,t,r){this.landmarks=e,this.worldLandmarks=t,this.segmentationMasks=r}close(){this.segmentationMasks?.forEach((e=>{e.close()}))}};function uf(e){e.landmarks=[],e.worldLandmarks=[],e.segmentationMasks=void 0}function pf(e){try{let t=new Wl(e.landmarks,e.worldLandmarks,e.segmentationMasks);if(!e.s)return t;e.s(t)}finally{ua(e)}}Wl.prototype.close=Wl.prototype.close;var Mt=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,ne(e=this.h=new Wm,0,1,t=new Le),this.v=new Fm,ne(this.h,0,3,this.v),this.j=new Um,ne(this.h,0,2,this.j),Dr(this.j,4,1),Z(this.j,2,.5),Z(this.v,2,.5),Z(this.h,4,.5)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return"numPoses"in e&&Dr(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&Z(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&Z(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&Z(this.v,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}D(e,t,r){let n=typeof t!="function"?t:{};return this.s=typeof t=="function"?t:r,uf(this),nr(this,e,n),pf(this)}F(e,t,r,n){let i=typeof r!="function"?r:{};return this.s=typeof r=="function"?r:n,uf(this),Br(this,e,i,t),pf(this)}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect"),be(e,"normalized_landmarks"),be(e,"world_landmarks"),be(e,"segmentation_masks");let t=new Nt;fr(t,Kb,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),fe(r,"NORM_LANDMARKS:normalized_landmarks"),fe(r,"WORLD_LANDMARKS:world_landmarks"),r.o(t),Vt(e,r),da(this,e),this.g.attachProtoVectorListener("normalized_landmarks",((n,i)=>{this.landmarks=[];for(let o of n)n=Io(o),this.landmarks.push(ha(n));X(this,i)})),this.g.attachEmptyPacketListener("normalized_landmarks",(n=>{this.landmarks=[],X(this,n)})),this.g.attachProtoVectorListener("world_landmarks",((n,i)=>{this.worldLandmarks=[];for(let o of n)n=pi(o),this.worldLandmarks.push(vo(n));X(this,i)})),this.g.attachEmptyPacketListener("world_landmarks",(n=>{this.worldLandmarks=[],X(this,n)})),this.outputSegmentationMasks&&(fe(r,"SEGMENTATION_MASK:segmentation_masks"),_i(this,"segmentation_masks"),this.g.ca("segmentation_masks",((n,i)=>{this.segmentationMasks=n.map((o=>ki(this,o,!0,!this.s))),X(this,i)})),this.g.attachEmptyPacketListener("segmentation_masks",(n=>{this.segmentationMasks=[],X(this,n)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Mt.prototype.detectForVideo=Mt.prototype.F,Mt.prototype.detect=Mt.prototype.D,Mt.prototype.setOptions=Mt.prototype.o,Mt.createFromModelPath=function(e,t){return pe(Mt,e,{baseOptions:{modelAssetPath:t}})},Mt.createFromModelBuffer=function(e,t){return pe(Mt,e,{baseOptions:{modelAssetBuffer:t}})},Mt.createFromOptions=function(e,t){return pe(Mt,e,t)},Mt.POSE_CONNECTIONS=ig;var Bi=class{constructor(t,r,n,i,o="videoPreviewFrameDetection",s="liveViewFrameDetection"){this.options={onRealtimeAlertsCallback:t=>{}};this.children=[];this.runningMode="VIDEO";this.detecting=!1;this.createdVideo=!1;this.lastVideoTime=-1;this.lastExecutionDate=Date.now();this.detectorType=t,this.modelAssetPath=r,this.classVideo=o,this.classDiv=s,i&&(this.paramsConfig=i),n&&(this.options=n)}async initializeDetector(){let t=await nn.forVisionTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.2/wasm");this.detector=await(this.detectorType==="FaceDetector"?Ct:At).createFromOptions(t,{baseOptions:{modelAssetPath:this.modelAssetPath,delegate:"CPU"},scoreThreshold:this.detectorType==="ObjectDetector"?.5:0,runningMode:this.runningMode})}stopDetection(){this.animationFrameId&&clearTimeout(this.animationFrameId),this.detecting=!1,this.liveView=document.getElementById(this.classDiv),this.liveView&&this.classDiv==="liveViewFrameDetection"&&document.body.removeChild(this.liveView),this.createdVideo&&this.video&&document.body.removeChild(this.video),this.createdVideo=!1}enableCam(t,r=1e4){if(!this.detector){console.log("Wait! Detector not loaded yet.");return}this.detecting=!0,this.error=document.getElementById("errorFrameDetection"),this.video=document.getElementById(this.classVideo),this.liveView=document.getElementById(this.classDiv),this.video||(this.video=document.createElement("video"),this.video.setAttribute("id",this.classVideo),this.video.setAttribute("style",`
49
+ `}C(){let e=this.g;e.activeTexture(e.TEXTURE1),this.j=dn(this,e),e.activeTexture(e.TEXTURE2),this.B=dn(this,e)}m(){super.m();let e=this.g;this.J=yt(e.getUniformLocation(this.h,"defaultTexture"),"Uniform location"),this.K=yt(e.getUniformLocation(this.h,"overlayTexture"),"Uniform location"),this.H=yt(e.getUniformLocation(this.h,"maskTexture"),"Uniform location")}l(){super.l();let e=this.g;e.uniform1i(this.H,0),e.uniform1i(this.J,1),e.uniform1i(this.K,2)}close(){this.j&&this.g.deleteTexture(this.j),this.B&&this.g.deleteTexture(this.B),super.close()}};function Wr(e,t){switch(t){case 0:return e.g.find((r=>r instanceof Uint8Array));case 1:return e.g.find((r=>r instanceof Float32Array));case 2:return e.g.find((r=>typeof WebGLTexture<"u"&&r instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function Vl(e){var t=Wr(e,1);if(!t){if(t=Wr(e,0))t=new Float32Array(t).map((n=>n/255));else{t=new Float32Array(e.width*e.height);let n=wi(e);var r=Wh(e);if(fa(r,n,Zm(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"document"in self&&"ontouchend"in self.document){r=new Float32Array(e.width*e.height*4),n.readPixels(0,0,e.width,e.height,n.RGBA,n.FLOAT,r);for(let i=0,o=0;i<t.length;++i,o+=4)t[i]=r[o]}else n.readPixels(0,0,e.width,e.height,n.RED,n.FLOAT,t)}e.g.push(t)}return t}function Zm(e){let t=Wr(e,2);if(!t){let r=wi(e);t=eg(e);let n=Vl(e),i=Qm(e);r.texImage2D(r.TEXTURE_2D,0,i,e.width,e.height,0,r.RED,r.FLOAT,n),Hl(e)}return t}function wi(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=yt(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Qm(e){if(e=wi(e),!xs)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))xs=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");xs=e.R16F}return xs}function Wh(e){return e.l||(e.l=new Di),e.l}function eg(e){let t=wi(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=Wr(e,2);return r||(r=dn(Wh(e),t,e.m?t.LINEAR:t.NEAREST),e.g.push(r),e.j=!0),t.bindTexture(t.TEXTURE_2D,r),r}function Hl(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var xs,ot=class{constructor(e,t,r,n,i,o,s){this.g=e,this.m=t,this.j=r,this.canvas=n,this.l=i,this.width=o,this.height=s,this.j&&--qp===0&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}Fa(){return!!Wr(this,0)}ja(){return!!Wr(this,1)}P(){return!!Wr(this,2)}ia(){return(t=Wr(e=this,0))||(t=Vl(e),t=new Uint8Array(t.map((r=>255*r))),e.g.push(t)),t;var e,t}ha(){return Vl(this)}M(){return Zm(this)}clone(){let e=[];for(let t of this.g){let r;if(t instanceof Uint8Array)r=new Uint8Array(t);else if(t instanceof Float32Array)r=new Float32Array(t);else{if(!(t instanceof WebGLTexture))throw Error(`Type is not supported: ${t}`);{let n=wi(this),i=Wh(this);n.activeTexture(n.TEXTURE1),r=dn(i,n,this.m?n.LINEAR:n.NEAREST),n.bindTexture(n.TEXTURE_2D,r);let o=Qm(this);n.texImage2D(n.TEXTURE_2D,0,o,this.width,this.height,0,n.RED,n.FLOAT,null),n.bindTexture(n.TEXTURE_2D,null),fa(i,n,r),Po(i,n,!1,(()=>{eg(this),n.clearColor(0,0,0,0),n.clear(n.COLOR_BUFFER_BIT),n.drawArrays(n.TRIANGLE_FAN,0,4),Hl(this)})),Hh(i),Hl(this)}}e.push(r)}return new ot(e,this.m,this.P(),this.canvas,this.l,this.width,this.height)}close(){this.j&&wi(this).deleteTexture(Wr(this,2)),qp=-1}};ot.prototype.close=ot.prototype.close,ot.prototype.clone=ot.prototype.clone,ot.prototype.getAsWebGLTexture=ot.prototype.M,ot.prototype.getAsFloat32Array=ot.prototype.ha,ot.prototype.getAsUint8Array=ot.prototype.ia,ot.prototype.hasWebGLTexture=ot.prototype.P,ot.prototype.hasFloat32Array=ot.prototype.ja,ot.prototype.hasUint8Array=ot.prototype.Fa;var qp=250,ov={color:"white",lineWidth:4,radius:6};function xl(e){return{...ov,fillColor:(e=e||{}).color,...e}}function Vr(e,t){return e instanceof Function?e(t):e}function Kp(e,t,r){return Math.max(Math.min(t,r),Math.min(Math.max(t,r),e))}function fo(e){if(!e.l)throw Error("CPU rendering requested but CanvasRenderingContext2D not provided.");return e.l}function Co(e){if(!e.j)throw Error("GPU rendering requested but WebGL2RenderingContext not provided.");return e.j}function Xp(e,t,r){if(t.P())r(t.M());else{let n=t.ja()?t.ha():t.ia();e.m=e.m??new Di;let i=Co(e);r((e=new ot([n],t.m,!1,i.canvas,e.m,t.width,t.height)).M()),e.close()}}function Jp(e,t,r,n){let i=(function(a){return a.g||(a.g=new nv),a.g})(e),o=Co(e),s=Array.isArray(r)?new ImageData(new Uint8ClampedArray(r),1,1):r;Po(i,o,!0,(()=>{(function(c,l,h,d){let g=c.g;if(g.activeTexture(g.TEXTURE0),g.bindTexture(g.TEXTURE_2D,l),g.activeTexture(g.TEXTURE1),g.bindTexture(g.TEXTURE_2D,c.B),g.texImage2D(g.TEXTURE_2D,0,g.RGBA,g.RGBA,g.UNSIGNED_BYTE,h),c.H&&(function(p,m){if(p!==m)return!1;p=p.entries(),m=m.entries();for(let[b,_]of p){p=b;let E=_;var u=m.next();if(u.done)return!1;let[k,P]=u.value;if(u=P,p!==k||E[0]!==u[0]||E[1]!==u[1]||E[2]!==u[2]||E[3]!==u[3])return!1}return!!m.next().done})(c.H,d))g.activeTexture(g.TEXTURE2),g.bindTexture(g.TEXTURE_2D,c.j);else{c.H=d;let p=Array(1024).fill(0);d.forEach(((m,u)=>{if(m.length!==4)throw Error(`Color at index ${u} is not a four-channel value.`);p[4*u]=m[0],p[4*u+1]=m[1],p[4*u+2]=m[2],p[4*u+3]=m[3]})),g.activeTexture(g.TEXTURE2),g.bindTexture(g.TEXTURE_2D,c.j),g.texImage2D(g.TEXTURE_2D,0,g.RGBA,256,1,0,g.RGBA,g.UNSIGNED_BYTE,new Uint8Array(p))}})(i,t,s,n),o.clearColor(0,0,0,0),o.clear(o.COLOR_BUFFER_BIT),o.drawArrays(o.TRIANGLE_FAN,0,4);let a=i.g;a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,null),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,null),a.activeTexture(a.TEXTURE2),a.bindTexture(a.TEXTURE_2D,null)}))}function Yp(e,t,r,n){let i=Co(e),o=(function(c){return c.h||(c.h=new iv),c.h})(e),s=Array.isArray(r)?new ImageData(new Uint8ClampedArray(r),1,1):r,a=Array.isArray(n)?new ImageData(new Uint8ClampedArray(n),1,1):n;Po(o,i,!0,(()=>{var c=o.g;c.activeTexture(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,t),c.activeTexture(c.TEXTURE1),c.bindTexture(c.TEXTURE_2D,o.j),c.texImage2D(c.TEXTURE_2D,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,s),c.activeTexture(c.TEXTURE2),c.bindTexture(c.TEXTURE_2D,o.B),c.texImage2D(c.TEXTURE_2D,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,a),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),i.bindTexture(i.TEXTURE_2D,null),(c=o.g).activeTexture(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,null),c.activeTexture(c.TEXTURE1),c.bindTexture(c.TEXTURE_2D,null),c.activeTexture(c.TEXTURE2),c.bindTexture(c.TEXTURE_2D,null)}))}var Et=class{constructor(e,t){e instanceof CanvasRenderingContext2D||e instanceof OffscreenCanvasRenderingContext2D?(this.l=e,this.j=t):this.j=e}ya(e,t){if(e){var r=fo(this);t=xl(t),r.save();var n=r.canvas,i=0;for(let o of e)r.fillStyle=Vr(t.fillColor,{index:i,from:o}),r.strokeStyle=Vr(t.color,{index:i,from:o}),r.lineWidth=Vr(t.lineWidth,{index:i,from:o}),(e=new Path2D).arc(o.x*n.width,o.y*n.height,Vr(t.radius,{index:i,from:o}),0,2*Math.PI),r.fill(e),r.stroke(e),++i;r.restore()}}xa(e,t,r){if(e&&t){var n=fo(this);r=xl(r),n.save();var i=n.canvas,o=0;for(let s of t){n.beginPath(),t=e[s.start];let a=e[s.end];t&&a&&(n.strokeStyle=Vr(r.color,{index:o,from:t,to:a}),n.lineWidth=Vr(r.lineWidth,{index:o,from:t,to:a}),n.moveTo(t.x*i.width,t.y*i.height),n.lineTo(a.x*i.width,a.y*i.height)),++o,n.stroke()}n.restore()}}ua(e,t){let r=fo(this);t=xl(t),r.save(),r.beginPath(),r.lineWidth=Vr(t.lineWidth,{}),r.strokeStyle=Vr(t.color,{}),r.fillStyle=Vr(t.fillColor,{}),r.moveTo(e.originX,e.originY),r.lineTo(e.originX+e.width,e.originY),r.lineTo(e.originX+e.width,e.originY+e.height),r.lineTo(e.originX,e.originY+e.height),r.lineTo(e.originX,e.originY),r.stroke(),r.fill(),r.restore()}va(e,t,r=[0,0,0,255]){this.l?(function(n,i,o,s){let a=Co(n);Xp(n,i,(c=>{Jp(n,c,o,s),(c=fo(n)).drawImage(a.canvas,0,0,c.canvas.width,c.canvas.height)}))})(this,e,r,t):Jp(this,e.M(),r,t)}wa(e,t,r){this.l?(function(n,i,o,s){let a=Co(n);Xp(n,i,(c=>{Yp(n,c,o,s),(c=fo(n)).drawImage(a.canvas,0,0,c.canvas.width,c.canvas.height)}))})(this,e,t,r):Yp(this,e.M(),t,r)}close(){this.g?.close(),this.g=void 0,this.h?.close(),this.h=void 0,this.m?.close(),this.m=void 0}};function Dr(e,t){switch(t){case 0:return e.g.find((r=>r instanceof ImageData));case 1:return e.g.find((r=>typeof ImageBitmap<"u"&&r instanceof ImageBitmap));case 2:return e.g.find((r=>typeof WebGLTexture<"u"&&r instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function tg(e){var t=Dr(e,0);if(!t){t=Si(e);let r=ma(e),n=new Uint8Array(e.width*e.height*4);fa(r,t,Ds(e)),t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,n),Hh(r),t=new ImageData(new Uint8ClampedArray(n.buffer),e.width,e.height),e.g.push(t)}return t}function Ds(e){let t=Dr(e,2);if(!t){let r=Si(e);t=Bs(e);let n=Dr(e,1)||tg(e);r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,n),go(e)}return t}function Si(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=yt(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function ma(e){return e.l||(e.l=new Di),e.l}function Bs(e){let t=Si(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=Dr(e,2);return r||(r=dn(ma(e),t),e.g.push(r),e.m=!0),t.bindTexture(t.TEXTURE_2D,r),r}function go(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}function Zp(e){let t=Si(e);return Po(ma(e),t,!0,(()=>(function(r,n){let i=r.canvas;if(i.width===r.width&&i.height===r.height)return n();let o=i.width,s=i.height;return i.width=r.width,i.height=r.height,r=n(),i.width=o,i.height=s,r})(e,(()=>{if(t.bindFramebuffer(t.FRAMEBUFFER,null),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4),!(e.canvas instanceof OffscreenCanvas))throw Error("Conversion to ImageBitmap requires that the MediaPipe Tasks is initialized with an OffscreenCanvas");return e.canvas.transferToImageBitmap()}))))}Et.prototype.close=Et.prototype.close,Et.prototype.drawConfidenceMask=Et.prototype.wa,Et.prototype.drawCategoryMask=Et.prototype.va,Et.prototype.drawBoundingBox=Et.prototype.ua,Et.prototype.drawConnectors=Et.prototype.xa,Et.prototype.drawLandmarks=Et.prototype.ya,Et.lerp=function(e,t,r,n,i){return Kp(n*(1-(e-t)/(r-t))+i*(1-(r-e)/(r-t)),n,i)},Et.clamp=Kp;var ht=class{constructor(e,t,r,n,i,o,s){this.g=e,this.j=t,this.m=r,this.canvas=n,this.l=i,this.width=o,this.height=s,(this.j||this.m)&&--Qp===0&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")}Ea(){return!!Dr(this,0)}ka(){return!!Dr(this,1)}P(){return!!Dr(this,2)}Ca(){return tg(this)}Ba(){var e=Dr(this,1);return e||(Ds(this),Bs(this),e=Zp(this),go(this),this.g.push(e),this.j=!0),e}M(){return Ds(this)}clone(){let e=[];for(let t of this.g){let r;if(t instanceof ImageData)r=new ImageData(t.data,this.width,this.height);else if(t instanceof WebGLTexture){let n=Si(this),i=ma(this);n.activeTexture(n.TEXTURE1),r=dn(i,n),n.bindTexture(n.TEXTURE_2D,r),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,this.width,this.height,0,n.RGBA,n.UNSIGNED_BYTE,null),n.bindTexture(n.TEXTURE_2D,null),fa(i,n,r),Po(i,n,!1,(()=>{Bs(this),n.clearColor(0,0,0,0),n.clear(n.COLOR_BUFFER_BIT),n.drawArrays(n.TRIANGLE_FAN,0,4),go(this)})),Hh(i),go(this)}else{if(!(t instanceof ImageBitmap))throw Error(`Type is not supported: ${t}`);Ds(this),Bs(this),r=Zp(this),go(this)}e.push(r)}return new ht(e,this.ka(),this.P(),this.canvas,this.l,this.width,this.height)}close(){this.j&&Dr(this,1).close(),this.m&&Si(this).deleteTexture(Dr(this,2)),Qp=-1}};ht.prototype.close=ht.prototype.close,ht.prototype.clone=ht.prototype.clone,ht.prototype.getAsWebGLTexture=ht.prototype.M,ht.prototype.getAsImageBitmap=ht.prototype.Ba,ht.prototype.getAsImageData=ht.prototype.Ca,ht.prototype.hasWebGLTexture=ht.prototype.P,ht.prototype.hasImageBitmap=ht.prototype.ka,ht.prototype.hasImageData=ht.prototype.Ea;var Qp=250;function yr(...e){return e.map((([t,r])=>({start:t,end:r})))}var sv=(function(e){return class extends e{La(){this.i._registerModelResourcesGraphService()}}})((ef=class{constructor(e,t){this.l=!0,this.i=e,this.g=null,this.h=0,this.m=typeof this.i._addIntToInputStream=="function",t!==void 0?this.i.canvas=t:Jm()?this.i.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas"))}async initializeGraph(e){let t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph(new TextEncoder().encode(e),!1)}setGraph(e,t){let r=e.length,n=this.i._malloc(r);this.i.HEAPU8.set(e,n),t?this.i._changeBinaryGraph(r,n):this.i._changeTextGraph(r,n),this.i._free(n)}configureAudio(e,t,r,n,i){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),Q(this,n||"input_audio",(o=>{Q(this,i=i||"audio_header",(s=>{this.i._configureAudio(o,s,e,t??0,r)}))}))}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}da(e){Ir(this,"__graph_config__",(t=>{e(t)})),Q(this,"__graph_config__",(t=>{this.i._getGraphConfig(t,void 0)})),delete this.i.simpleListeners.__graph_config__}attachErrorListener(e){this.i.errorListener=e}attachEmptyPacketListener(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}addAudioToStream(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}addAudioToStreamWithShape(e,t,r,n,i){let o=4*e.length;this.h!==o&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(o),this.h=o),this.i.HEAPF32.set(e,this.g/4),Q(this,n,(s=>{this.i._addAudioToInputStream(this.g,t,r,s,i)}))}addGpuBufferToStream(e,t,r){Q(this,t,(n=>{let[i,o]=Vp(this,e,n);this.i._addBoundTextureToStream(n,i,o,r)}))}addBoolToStream(e,t,r){Q(this,t,(n=>{this.i._addBoolToInputStream(e,n,r)}))}addDoubleToStream(e,t,r){Q(this,t,(n=>{this.i._addDoubleToInputStream(e,n,r)}))}addFloatToStream(e,t,r){Q(this,t,(n=>{this.i._addFloatToInputStream(e,n,r)}))}addIntToStream(e,t,r){Q(this,t,(n=>{this.i._addIntToInputStream(e,n,r)}))}addUintToStream(e,t,r){Q(this,t,(n=>{this.i._addUintToInputStream(e,n,r)}))}addStringToStream(e,t,r){Q(this,t,(n=>{Q(this,e,(i=>{this.i._addStringToInputStream(i,n,r)}))}))}addStringRecordToStream(e,t,r){Q(this,t,(n=>{Hp(this,Object.keys(e),(i=>{Hp(this,Object.values(e),(o=>{this.i._addFlatHashMapToInputStream(i,o,Object.keys(e).length,n,r)}))}))}))}addProtoToStream(e,t,r,n){Q(this,r,(i=>{Q(this,t,(o=>{let s=this.i._malloc(e.length);this.i.HEAPU8.set(e,s),this.i._addProtoToInputStream(s,e.length,o,i,n),this.i._free(s)}))}))}addEmptyPacketToStream(e,t){Q(this,e,(r=>{this.i._addEmptyPacketToInputStream(r,t)}))}addBoolVectorToStream(e,t,r){Q(this,t,(n=>{let i=this.i._allocateBoolVector(e.length);if(!i)throw Error("Unable to allocate new bool vector on heap.");for(let o of e)this.i._addBoolVectorEntry(i,o);this.i._addBoolVectorToInputStream(i,n,r)}))}addDoubleVectorToStream(e,t,r){Q(this,t,(n=>{let i=this.i._allocateDoubleVector(e.length);if(!i)throw Error("Unable to allocate new double vector on heap.");for(let o of e)this.i._addDoubleVectorEntry(i,o);this.i._addDoubleVectorToInputStream(i,n,r)}))}addFloatVectorToStream(e,t,r){Q(this,t,(n=>{let i=this.i._allocateFloatVector(e.length);if(!i)throw Error("Unable to allocate new float vector on heap.");for(let o of e)this.i._addFloatVectorEntry(i,o);this.i._addFloatVectorToInputStream(i,n,r)}))}addIntVectorToStream(e,t,r){Q(this,t,(n=>{let i=this.i._allocateIntVector(e.length);if(!i)throw Error("Unable to allocate new int vector on heap.");for(let o of e)this.i._addIntVectorEntry(i,o);this.i._addIntVectorToInputStream(i,n,r)}))}addUintVectorToStream(e,t,r){Q(this,t,(n=>{let i=this.i._allocateUintVector(e.length);if(!i)throw Error("Unable to allocate new unsigned int vector on heap.");for(let o of e)this.i._addUintVectorEntry(i,o);this.i._addUintVectorToInputStream(i,n,r)}))}addStringVectorToStream(e,t,r){Q(this,t,(n=>{let i=this.i._allocateStringVector(e.length);if(!i)throw Error("Unable to allocate new string vector on heap.");for(let o of e)Q(this,o,(s=>{this.i._addStringVectorEntry(i,s)}));this.i._addStringVectorToInputStream(i,n,r)}))}addBoolToInputSidePacket(e,t){Q(this,t,(r=>{this.i._addBoolToInputSidePacket(e,r)}))}addDoubleToInputSidePacket(e,t){Q(this,t,(r=>{this.i._addDoubleToInputSidePacket(e,r)}))}addFloatToInputSidePacket(e,t){Q(this,t,(r=>{this.i._addFloatToInputSidePacket(e,r)}))}addIntToInputSidePacket(e,t){Q(this,t,(r=>{this.i._addIntToInputSidePacket(e,r)}))}addUintToInputSidePacket(e,t){Q(this,t,(r=>{this.i._addUintToInputSidePacket(e,r)}))}addStringToInputSidePacket(e,t){Q(this,t,(r=>{Q(this,e,(n=>{this.i._addStringToInputSidePacket(n,r)}))}))}addProtoToInputSidePacket(e,t,r){Q(this,r,(n=>{Q(this,t,(i=>{let o=this.i._malloc(e.length);this.i.HEAPU8.set(e,o),this.i._addProtoToInputSidePacket(o,e.length,i,n),this.i._free(o)}))}))}addBoolVectorToInputSidePacket(e,t){Q(this,t,(r=>{let n=this.i._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(let i of e)this.i._addBoolVectorEntry(n,i);this.i._addBoolVectorToInputSidePacket(n,r)}))}addDoubleVectorToInputSidePacket(e,t){Q(this,t,(r=>{let n=this.i._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(let i of e)this.i._addDoubleVectorEntry(n,i);this.i._addDoubleVectorToInputSidePacket(n,r)}))}addFloatVectorToInputSidePacket(e,t){Q(this,t,(r=>{let n=this.i._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(let i of e)this.i._addFloatVectorEntry(n,i);this.i._addFloatVectorToInputSidePacket(n,r)}))}addIntVectorToInputSidePacket(e,t){Q(this,t,(r=>{let n=this.i._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(let i of e)this.i._addIntVectorEntry(n,i);this.i._addIntVectorToInputSidePacket(n,r)}))}addUintVectorToInputSidePacket(e,t){Q(this,t,(r=>{let n=this.i._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(let i of e)this.i._addUintVectorEntry(n,i);this.i._addUintVectorToInputSidePacket(n,r)}))}addStringVectorToInputSidePacket(e,t){Q(this,t,(r=>{let n=this.i._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(let i of e)Q(this,i,(o=>{this.i._addStringVectorEntry(n,o)}));this.i._addStringVectorToInputSidePacket(n,r)}))}attachBoolListener(e,t){Ir(this,e,t),Q(this,e,(r=>{this.i._attachBoolListener(r)}))}attachBoolVectorListener(e,t){rn(this,e,t),Q(this,e,(r=>{this.i._attachBoolVectorListener(r)}))}attachIntListener(e,t){Ir(this,e,t),Q(this,e,(r=>{this.i._attachIntListener(r)}))}attachIntVectorListener(e,t){rn(this,e,t),Q(this,e,(r=>{this.i._attachIntVectorListener(r)}))}attachUintListener(e,t){Ir(this,e,t),Q(this,e,(r=>{this.i._attachUintListener(r)}))}attachUintVectorListener(e,t){rn(this,e,t),Q(this,e,(r=>{this.i._attachUintVectorListener(r)}))}attachDoubleListener(e,t){Ir(this,e,t),Q(this,e,(r=>{this.i._attachDoubleListener(r)}))}attachDoubleVectorListener(e,t){rn(this,e,t),Q(this,e,(r=>{this.i._attachDoubleVectorListener(r)}))}attachFloatListener(e,t){Ir(this,e,t),Q(this,e,(r=>{this.i._attachFloatListener(r)}))}attachFloatVectorListener(e,t){rn(this,e,t),Q(this,e,(r=>{this.i._attachFloatVectorListener(r)}))}attachStringListener(e,t){Ir(this,e,t),Q(this,e,(r=>{this.i._attachStringListener(r)}))}attachStringVectorListener(e,t){rn(this,e,t),Q(this,e,(r=>{this.i._attachStringVectorListener(r)}))}attachProtoListener(e,t,r){Ir(this,e,t),Q(this,e,(n=>{this.i._attachProtoListener(n,r||!1)}))}attachProtoVectorListener(e,t,r){rn(this,e,t),Q(this,e,(n=>{this.i._attachProtoVectorListener(n,r||!1)}))}attachAudioListener(e,t,r){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),Ir(this,e,((n,i)=>{n=new Float32Array(n.buffer,n.byteOffset,n.length/4),t(n,i)})),Q(this,e,(n=>{this.i._attachAudioListener(n,r||!1)}))}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends ef{get ea(){return this.i}qa(e,t,r){Q(this,t,(n=>{let[i,o]=Vp(this,e,n);this.ea._addBoundTextureAsImageToStream(n,i,o,r)}))}U(e,t){Ir(this,e,t),Q(this,e,(r=>{this.ea._attachImageListener(r)}))}ca(e,t){rn(this,e,t),Q(this,e,(r=>{this.ea._attachImageVectorListener(r)}))}})),ef,rr=class extends sv{};async function fe(e,t,r){return(async function(n,i,o,s){return rv(n,i,o,s)})(e,r.canvas??(Jm()?void 0:document.createElement("canvas")),t,r)}function rg(e,t,r,n){if(e.T){let o=new Cm;if(r?.regionOfInterest){if(!e.pa)throw Error("This task doesn't support region-of-interest.");var i=r.regionOfInterest;if(i.left>=i.right||i.top>=i.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(i.left<0||i.top<0||i.right>1||i.bottom>1)throw Error("Expected RectF values to be in [0,1].");Z(o,1,(i.left+i.right)/2),Z(o,2,(i.top+i.bottom)/2),Z(o,4,i.right-i.left),Z(o,3,i.bottom-i.top)}else Z(o,1,.5),Z(o,2,.5),Z(o,4,1),Z(o,3,1);if(r?.rotationDegrees){if(r?.rotationDegrees%90!=0)throw Error("Expected rotation to be a multiple of 90\xB0.");if(Z(o,5,-Math.PI*r.rotationDegrees/180),r?.rotationDegrees%180!=0){let[s,a]=Ym(t);r=Je(o,3)*a/s,i=Je(o,4)*s/a,Z(o,4,r),Z(o,3,i)}}e.g.addProtoToStream(o.g(),"mediapipe.NormalizedRect",e.T,n)}e.g.qa(t,e.aa,n??performance.now()),e.finishProcessing()}function nr(e,t,r){if(e.baseOptions?.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");rg(e,t,r,e.B+1)}function Or(e,t,r,n){if(!e.baseOptions?.g())throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");rg(e,t,r,n)}function ki(e,t,r,n){var i=t.data;let o=t.width,s=o*(t=t.height);if((i instanceof Uint8Array||i instanceof Float32Array)&&i.length!==s)throw Error("Unsupported channel count: "+i.length/s);return e=new ot([i],r,!1,e.g.i.canvas,e.O,o,t),n?e.clone():e}var It=class extends Ps{constructor(e,t,r,n){super(e),this.g=e,this.aa=t,this.T=r,this.pa=n,this.O=new Di}l(e,t=!0){if("runningMode"in e&&ko(this.baseOptions,2,!!e.runningMode&&e.runningMode!=="IMAGE"),e.canvas!==void 0&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(e,t)}close(){this.O.close(),super.close()}};It.prototype.close=It.prototype.close;var xt=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},ne(e=this.h=new ha,0,1,t=new Le),Z(this.h,2,.5),Z(this.h,3,.3)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&Z(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&Z(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}D(e,t){return this.j={detections:[]},nr(this,e,t),this.j}F(e,t,r){return this.j={detections:[]},Or(this,e,r,t),this.j}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect_in"),be(e,"detections");let t=new Nt;fr(t,Vb,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect_in"),me(r,"DETECTIONS:detections"),r.o(t),Vt(e,r),this.g.attachProtoVectorListener("detections",((n,i)=>{for(let o of n)n=Sm(o),this.j.detections.push(Km(n));X(this,i)})),this.g.attachEmptyPacketListener("detections",(n=>{X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};xt.prototype.detectForVideo=xt.prototype.F,xt.prototype.detect=xt.prototype.D,xt.prototype.setOptions=xt.prototype.o,xt.createFromModelPath=async function(e,t){return fe(xt,e,{baseOptions:{modelAssetPath:t}})},xt.createFromModelBuffer=function(e,t){return fe(xt,e,{baseOptions:{modelAssetBuffer:t}})},xt.createFromOptions=function(e,t){return fe(xt,e,t)};var $h=yr([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),Gh=yr([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),qh=yr([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),ng=yr([474,475],[475,476],[476,477],[477,474]),Kh=yr([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),Xh=yr([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),ig=yr([469,470],[470,471],[471,472],[472,469]),Jh=yr([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),og=[...$h,...Gh,...qh,...Kh,...Xh,...Jh],sg=yr([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function tf(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var He=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,ne(e=this.h=new Rm,0,1,t=new Le),this.v=new Im,ne(this.h,0,3,this.v),this.s=new ha,ne(this.h,0,2,this.s),Br(this.s,4,1),Z(this.s,2,.5),Z(this.v,2,.5),Z(this.h,4,.5)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return"numFaces"in e&&Br(this.s,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&Z(this.s,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&Z(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&Z(this.v,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}D(e,t){return tf(this),nr(this,e,t),this.j}F(e,t,r){return tf(this),Or(this,e,r,t),this.j}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect"),be(e,"face_landmarks");let t=new Nt;fr(t,Wb,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),me(r,"NORM_LANDMARKS:face_landmarks"),r.o(t),Vt(e,r),this.g.attachProtoVectorListener("face_landmarks",((n,i)=>{for(let o of n)n=Ro(o),this.j.faceLandmarks.push(da(n));X(this,i)})),this.g.attachEmptyPacketListener("face_landmarks",(n=>{X(this,n)})),this.outputFaceBlendshapes&&(be(e,"blendshapes"),me(r,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",((n,i)=>{if(this.outputFaceBlendshapes)for(let o of n)n=la(o),this.j.faceBlendshapes.push(jh(n.g()??[]));X(this,i)})),this.g.attachEmptyPacketListener("blendshapes",(n=>{X(this,n)}))),this.outputFacialTransformationMatrixes&&(be(e,"face_geometry"),me(r,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",((n,i)=>{if(this.outputFacialTransformationMatrixes)for(let o of n)(n=ye(Hb(o),Ob,2))&&this.j.facialTransformationMatrixes.push({rows:Zt(n,1)??0??0,columns:Zt(n,2)??0??0,data:Fn(n,3,pn,Un()).slice()??[]});X(this,i)})),this.g.attachEmptyPacketListener("face_geometry",(n=>{X(this,n)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};He.prototype.detectForVideo=He.prototype.F,He.prototype.detect=He.prototype.D,He.prototype.setOptions=He.prototype.o,He.createFromModelPath=function(e,t){return fe(He,e,{baseOptions:{modelAssetPath:t}})},He.createFromModelBuffer=function(e,t){return fe(He,e,{baseOptions:{modelAssetBuffer:t}})},He.createFromOptions=function(e,t){return fe(He,e,t)},He.FACE_LANDMARKS_LIPS=$h,He.FACE_LANDMARKS_LEFT_EYE=Gh,He.FACE_LANDMARKS_LEFT_EYEBROW=qh,He.FACE_LANDMARKS_LEFT_IRIS=ng,He.FACE_LANDMARKS_RIGHT_EYE=Kh,He.FACE_LANDMARKS_RIGHT_EYEBROW=Xh,He.FACE_LANDMARKS_RIGHT_IRIS=ig,He.FACE_LANDMARKS_FACE_OVAL=Jh,He.FACE_LANDMARKS_CONTOURS=og,He.FACE_LANDMARKS_TESSELATION=sg;var Rr=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!0),ne(e=this.j=new Dm,0,1,t=new Le)}get baseOptions(){return ye(this.j,Le,1)}set baseOptions(e){ne(this.j,0,1,e)}o(e){return super.l(e)}Oa(e,t,r){let n=typeof t!="function"?t:{};if(this.h=typeof t=="function"?t:r,nr(this,e,n??{}),!this.h)return this.s}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect"),be(e,"stylized_image");let t=new Nt;fr(t,$b,this.j);let r=new bt;jt(r,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),me(r,"STYLIZED_IMAGE:stylized_image"),r.o(t),Vt(e,r),this.g.U("stylized_image",((n,i)=>{var o=!this.h,s=n.data,a=n.width;let c=a*(n=n.height);if(s instanceof Uint8Array)if(s.length===3*c){let l=new Uint8ClampedArray(4*c);for(let h=0;h<c;++h)l[4*h]=s[3*h],l[4*h+1]=s[3*h+1],l[4*h+2]=s[3*h+2],l[4*h+3]=255;s=new ImageData(l,a,n)}else{if(s.length!==4*c)throw Error("Unsupported channel count: "+s.length/c);s=new ImageData(new Uint8ClampedArray(s.buffer,s.byteOffset,s.length),a,n)}else if(!(s instanceof WebGLTexture))throw Error(`Unsupported format: ${s.constructor.name}`);a=new ht([s],!1,!1,this.g.i.canvas,this.O,a,n),this.s=o=o?a.clone():a,this.h&&this.h(o),X(this,i)})),this.g.attachEmptyPacketListener("stylized_image",(n=>{this.s=null,this.h&&this.h(null),X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Rr.prototype.stylize=Rr.prototype.Oa,Rr.prototype.setOptions=Rr.prototype.o,Rr.createFromModelPath=function(e,t){return fe(Rr,e,{baseOptions:{modelAssetPath:t}})},Rr.createFromModelBuffer=function(e,t){return fe(Rr,e,{baseOptions:{modelAssetBuffer:t}})},Rr.createFromOptions=function(e,t){return fe(Rr,e,t)};var Yh=yr([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function rf(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function nf(e){return e.gestures.length===0?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function of(e,t=!0){let r=[];for(let i of e){var n=la(i);e=[];for(let o of n.g())n=t&&Zt(o,1)!=null?Zt(o,1)??0:-1,e.push({score:Je(o,2)??0,index:n,categoryName:er(o,3)??""??"",displayName:er(o,4)??""??""});r.push(e)}return r}var Ut=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],ne(e=this.j=new Um,0,1,t=new Le),this.s=new Lh,ne(this.j,0,2,this.s),this.C=new Fh,ne(this.s,0,3,this.C),this.v=new Om,ne(this.s,0,2,this.v),this.h=new Gb,ne(this.j,0,3,this.h),Z(this.v,2,.5),Z(this.s,4,.5),Z(this.C,2,.5)}get baseOptions(){return ye(this.j,Le,1)}set baseOptions(e){ne(this.j,0,1,e)}o(e){if(Br(this.v,3,e.numHands??1),"minHandDetectionConfidence"in e&&Z(this.v,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&Z(this.s,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&Z(this.C,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new si,r=t,n=zl(e.cannedGesturesClassifierOptions,ye(this.h,si,3)?.h());ne(r,0,2,n),ne(this.h,0,3,t)}else e.cannedGesturesClassifierOptions===void 0&&ye(this.h,si,3)?.g();return e.customGesturesClassifierOptions?(ne(r=t=new si,0,2,n=zl(e.customGesturesClassifierOptions,ye(this.h,si,4)?.h())),ne(this.h,0,4,t)):e.customGesturesClassifierOptions===void 0&&ye(this.h,si,4)?.g(),this.l(e)}Ja(e,t){return rf(this),nr(this,e,t),nf(this)}Ka(e,t,r){return rf(this),Or(this,e,r,t),nf(this)}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect"),be(e,"hand_gestures"),be(e,"hand_landmarks"),be(e,"world_hand_landmarks"),be(e,"handedness");let t=new Nt;fr(t,qb,this.j);let r=new bt;jt(r,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),me(r,"HAND_GESTURES:hand_gestures"),me(r,"LANDMARKS:hand_landmarks"),me(r,"WORLD_LANDMARKS:world_hand_landmarks"),me(r,"HANDEDNESS:handedness"),r.o(t),Vt(e,r),this.g.attachProtoVectorListener("hand_landmarks",((n,i)=>{for(let o of n){n=Ro(o);let s=[];for(let a of Kr(n,Em,1))s.push({x:Je(a,1)??0,y:Je(a,2)??0,z:Je(a,3)??0,visibility:Je(a,4)??0});this.landmarks.push(s)}X(this,i)})),this.g.attachEmptyPacketListener("hand_landmarks",(n=>{X(this,n)})),this.g.attachProtoVectorListener("world_hand_landmarks",((n,i)=>{for(let o of n){n=pi(o);let s=[];for(let a of Kr(n,km,1))s.push({x:Je(a,1)??0,y:Je(a,2)??0,z:Je(a,3)??0,visibility:Je(a,4)??0});this.worldLandmarks.push(s)}X(this,i)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(n=>{X(this,n)})),this.g.attachProtoVectorListener("hand_gestures",((n,i)=>{this.gestures.push(...of(n,!1)),X(this,i)})),this.g.attachEmptyPacketListener("hand_gestures",(n=>{X(this,n)})),this.g.attachProtoVectorListener("handedness",((n,i)=>{this.handedness.push(...of(n)),X(this,i)})),this.g.attachEmptyPacketListener("handedness",(n=>{X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function sf(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Ut.prototype.recognizeForVideo=Ut.prototype.Ka,Ut.prototype.recognize=Ut.prototype.Ja,Ut.prototype.setOptions=Ut.prototype.o,Ut.createFromModelPath=function(e,t){return fe(Ut,e,{baseOptions:{modelAssetPath:t}})},Ut.createFromModelBuffer=function(e,t){return fe(Ut,e,{baseOptions:{modelAssetBuffer:t}})},Ut.createFromOptions=function(e,t){return fe(Ut,e,t)},Ut.HAND_CONNECTIONS=Yh;var Ft=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],ne(e=this.h=new Lh,0,1,t=new Le),this.s=new Fh,ne(this.h,0,3,this.s),this.j=new Om,ne(this.h,0,2,this.j),Br(this.j,3,1),Z(this.j,2,.5),Z(this.s,2,.5),Z(this.h,4,.5)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return"numHands"in e&&Br(this.j,3,e.numHands??1),"minHandDetectionConfidence"in e&&Z(this.j,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&Z(this.h,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&Z(this.s,2,e.minHandPresenceConfidence??.5),this.l(e)}D(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],nr(this,e,t),sf(this)}F(e,t,r){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Or(this,e,r,t),sf(this)}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect"),be(e,"hand_landmarks"),be(e,"world_hand_landmarks"),be(e,"handedness");let t=new Nt;fr(t,Kb,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),me(r,"LANDMARKS:hand_landmarks"),me(r,"WORLD_LANDMARKS:world_hand_landmarks"),me(r,"HANDEDNESS:handedness"),r.o(t),Vt(e,r),this.g.attachProtoVectorListener("hand_landmarks",((n,i)=>{for(let o of n)n=Ro(o),this.landmarks.push(da(n));X(this,i)})),this.g.attachEmptyPacketListener("hand_landmarks",(n=>{X(this,n)})),this.g.attachProtoVectorListener("world_hand_landmarks",((n,i)=>{for(let o of n)n=pi(o),this.worldLandmarks.push(_o(n));X(this,i)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(n=>{X(this,n)})),this.g.attachProtoVectorListener("handedness",((n,i)=>{var o=this.handedness,s=o.push;let a=[];for(let c of n){n=la(c);let l=[];for(let h of n.g())l.push({score:Je(h,2)??0,index:Zt(h,1)??0??-1,categoryName:er(h,3)??""??"",displayName:er(h,4)??""??""});a.push(l)}s.call(o,...a),X(this,i)})),this.g.attachEmptyPacketListener("handedness",(n=>{X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ft.prototype.detectForVideo=Ft.prototype.F,Ft.prototype.detect=Ft.prototype.D,Ft.prototype.setOptions=Ft.prototype.o,Ft.createFromModelPath=function(e,t){return fe(Ft,e,{baseOptions:{modelAssetPath:t}})},Ft.createFromModelBuffer=function(e,t){return fe(Ft,e,{baseOptions:{modelAssetBuffer:t}})},Ft.createFromOptions=function(e,t){return fe(Ft,e,t)},Ft.HAND_CONNECTIONS=Yh;var ag=yr([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]);function af(e){e.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]}}function cf(e){try{if(!e.C)return e.h;e.C(e.h)}finally{pa(e)}}function As(e,t){e=Ro(e),t.push(da(e))}var Ue=class extends It{constructor(e,t){super(new rr(e,t),"input_frames_image",null,!1),this.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]},this.outputPoseSegmentationMasks=this.outputFaceBlendshapes=!1,ne(e=this.j=new zm,0,1,t=new Le),this.J=new Fh,ne(this.j,0,2,this.J),this.Z=new Xb,ne(this.j,0,3,this.Z),this.s=new ha,ne(this.j,0,4,this.s),this.H=new Im,ne(this.j,0,5,this.H),this.v=new Mm,ne(this.j,0,6,this.v),this.K=new Nm,ne(this.j,0,7,this.K),Z(this.s,2,.5),Z(this.s,3,.3),Z(this.H,2,.5),Z(this.v,2,.5),Z(this.v,3,.3),Z(this.K,2,.5),Z(this.J,2,.5)}get baseOptions(){return ye(this.j,Le,1)}set baseOptions(e){ne(this.j,0,1,e)}o(e){return"minFaceDetectionConfidence"in e&&Z(this.s,2,e.minFaceDetectionConfidence??.5),"minFaceSuppressionThreshold"in e&&Z(this.s,3,e.minFaceSuppressionThreshold??.3),"minFacePresenceConfidence"in e&&Z(this.H,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"minPoseDetectionConfidence"in e&&Z(this.v,2,e.minPoseDetectionConfidence??.5),"minPoseSuppressionThreshold"in e&&Z(this.v,3,e.minPoseSuppressionThreshold??.3),"minPosePresenceConfidence"in e&&Z(this.K,2,e.minPosePresenceConfidence??.5),"outputPoseSegmentationMasks"in e&&(this.outputPoseSegmentationMasks=!!e.outputPoseSegmentationMasks),"minHandLandmarksConfidence"in e&&Z(this.J,2,e.minHandLandmarksConfidence??.5),this.l(e)}D(e,t,r){let n=typeof t!="function"?t:{};return this.C=typeof t=="function"?t:r,af(this),nr(this,e,n),cf(this)}F(e,t,r,n){let i=typeof r!="function"?r:{};return this.C=typeof r=="function"?r:n,af(this),Or(this,e,i,t),cf(this)}m(){var e=new Rt;Oe(e,"input_frames_image"),be(e,"pose_landmarks"),be(e,"pose_world_landmarks"),be(e,"face_landmarks"),be(e,"left_hand_landmarks"),be(e,"left_hand_world_landmarks"),be(e,"right_hand_landmarks"),be(e,"right_hand_world_landmarks");let t=new Nt,r=new xp;Bl(r,1,xi("type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions"),""),(function(i,o){if(o!=null)if(Array.isArray(o))Re(i,2,Of(o));else{if(!(typeof o=="string"||o instanceof Gr||xo(o)))throw Error("invalid value in Any.value field: "+o+" expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");Bl(i,2,eh(o,!1),Nn())}})(r,this.j.g());let n=new bt;jt(n,"mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph"),Ns(n,8,xp,r),Pe(n,"IMAGE:input_frames_image"),me(n,"POSE_LANDMARKS:pose_landmarks"),me(n,"POSE_WORLD_LANDMARKS:pose_world_landmarks"),me(n,"FACE_LANDMARKS:face_landmarks"),me(n,"LEFT_HAND_LANDMARKS:left_hand_landmarks"),me(n,"LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),me(n,"RIGHT_HAND_LANDMARKS:right_hand_landmarks"),me(n,"RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),n.o(t),Vt(e,n),ua(this,e),this.g.attachProtoListener("pose_landmarks",((i,o)=>{As(i,this.h.poseLandmarks),X(this,o)})),this.g.attachEmptyPacketListener("pose_landmarks",(i=>{X(this,i)})),this.g.attachProtoListener("pose_world_landmarks",((i,o)=>{var s=this.h.poseWorldLandmarks;i=pi(i),s.push(_o(i)),X(this,o)})),this.g.attachEmptyPacketListener("pose_world_landmarks",(i=>{X(this,i)})),this.outputPoseSegmentationMasks&&(me(n,"POSE_SEGMENTATION_MASK:pose_segmentation_mask"),_i(this,"pose_segmentation_mask"),this.g.U("pose_segmentation_mask",((i,o)=>{this.h.poseSegmentationMasks=[ki(this,i,!0,!this.C)],X(this,o)})),this.g.attachEmptyPacketListener("pose_segmentation_mask",(i=>{this.h.poseSegmentationMasks=[],X(this,i)}))),this.g.attachProtoListener("face_landmarks",((i,o)=>{As(i,this.h.faceLandmarks),X(this,o)})),this.g.attachEmptyPacketListener("face_landmarks",(i=>{X(this,i)})),this.outputFaceBlendshapes&&(be(e,"extra_blendshapes"),me(n,"FACE_BLENDSHAPES:extra_blendshapes"),this.g.attachProtoListener("extra_blendshapes",((i,o)=>{var s=this.h.faceBlendshapes;this.outputFaceBlendshapes&&(i=la(i),s.push(jh(i.g()??[]))),X(this,o)})),this.g.attachEmptyPacketListener("extra_blendshapes",(i=>{X(this,i)}))),this.g.attachProtoListener("left_hand_landmarks",((i,o)=>{As(i,this.h.leftHandLandmarks),X(this,o)})),this.g.attachEmptyPacketListener("left_hand_landmarks",(i=>{X(this,i)})),this.g.attachProtoListener("left_hand_world_landmarks",((i,o)=>{var s=this.h.leftHandWorldLandmarks;i=pi(i),s.push(_o(i)),X(this,o)})),this.g.attachEmptyPacketListener("left_hand_world_landmarks",(i=>{X(this,i)})),this.g.attachProtoListener("right_hand_landmarks",((i,o)=>{As(i,this.h.rightHandLandmarks),X(this,o)})),this.g.attachEmptyPacketListener("right_hand_landmarks",(i=>{X(this,i)})),this.g.attachProtoListener("right_hand_world_landmarks",((i,o)=>{var s=this.h.rightHandWorldLandmarks;i=pi(i),s.push(_o(i)),X(this,o)})),this.g.attachEmptyPacketListener("right_hand_world_landmarks",(i=>{X(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ue.prototype.detectForVideo=Ue.prototype.F,Ue.prototype.detect=Ue.prototype.D,Ue.prototype.setOptions=Ue.prototype.o,Ue.createFromModelPath=function(e,t){return fe(Ue,e,{baseOptions:{modelAssetPath:t}})},Ue.createFromModelBuffer=function(e,t){return fe(Ue,e,{baseOptions:{modelAssetBuffer:t}})},Ue.createFromOptions=function(e,t){return fe(Ue,e,t)},Ue.HAND_CONNECTIONS=Yh,Ue.POSE_CONNECTIONS=ag,Ue.FACE_LANDMARKS_LIPS=$h,Ue.FACE_LANDMARKS_LEFT_EYE=Gh,Ue.FACE_LANDMARKS_LEFT_EYEBROW=qh,Ue.FACE_LANDMARKS_LEFT_IRIS=ng,Ue.FACE_LANDMARKS_RIGHT_EYE=Kh,Ue.FACE_LANDMARKS_RIGHT_EYEBROW=Xh,Ue.FACE_LANDMARKS_RIGHT_IRIS=ig,Ue.FACE_LANDMARKS_FACE_OVAL=Jh,Ue.FACE_LANDMARKS_CONTOURS=og,Ue.FACE_LANDMARKS_TESSELATION=sg;var Jt=class extends It{constructor(e,t){super(new rr(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},ne(e=this.h=new jm,0,1,t=new Le)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return ne(this.h,0,2,zl(e,ye(this.h,Bh,2))),this.l(e)}sa(e,t){return this.j={classifications:[]},nr(this,e,t),this.j}ta(e,t,r){return this.j={classifications:[]},Or(this,e,r,t),this.j}m(){var e=new Rt;Oe(e,"input_image"),Oe(e,"norm_rect"),be(e,"classifications");let t=new Nt;fr(t,Jb,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),Pe(r,"IMAGE:input_image"),Pe(r,"NORM_RECT:norm_rect"),me(r,"CLASSIFICATIONS:classifications"),r.o(t),Vt(e,r),this.g.attachProtoListener("classifications",((n,i)=>{this.j=(function(o){let s={classifications:Kr(o,Fb,1).map((a=>jh(ye(a,_m,4)?.g()??[],Zt(a,2)??0,er(a,3)??"")))};return Ms(bi(o,2))!=null&&(s.timestampMs=Ms(bi(o,2))??0),s})(Lb(n)),X(this,i)})),this.g.attachEmptyPacketListener("classifications",(n=>{X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Jt.prototype.classifyForVideo=Jt.prototype.ta,Jt.prototype.classify=Jt.prototype.sa,Jt.prototype.setOptions=Jt.prototype.o,Jt.createFromModelPath=function(e,t){return fe(Jt,e,{baseOptions:{modelAssetPath:t}})},Jt.createFromModelBuffer=function(e,t){return fe(Jt,e,{baseOptions:{modelAssetBuffer:t}})},Jt.createFromOptions=function(e,t){return fe(Jt,e,t)};var Lt=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!0),this.h=new Vm,this.embeddings={embeddings:[]},ne(e=this.h,0,1,t=new Le)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){var t=this.h,r=ye(this.h,Up,2);return r=r?r.clone():new Up,e.l2Normalize!==void 0?ko(r,1,e.l2Normalize):"l2Normalize"in e&&Re(r,1),e.quantize!==void 0?ko(r,2,e.quantize):"quantize"in e&&Re(r,2),ne(t,0,2,r),this.l(e)}za(e,t){return nr(this,e,t),this.embeddings}Aa(e,t,r){return Or(this,e,r,t),this.embeddings}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect"),be(e,"embeddings_out");let t=new Nt;fr(t,Yb,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),me(r,"EMBEDDINGS:embeddings_out"),r.o(t),Vt(e,r),this.g.attachProtoListener("embeddings_out",((n,i)=>{n=zb(n),this.embeddings=(function(o){return{embeddings:Kr(o,Nb,1).map((s=>{let a={headIndex:Zt(s,3)??0??-1,headName:er(s,4)??""??""};if(Nf(s,Op,_l(s,1))!==void 0)s=Fn(s=ye(s,Op,_l(s,1)),1,pn,Un()),a.floatEmbedding=s.slice();else{let c=new Uint8Array(0);a.quantizedEmbedding=ye(s,Mb,_l(s,2))?.oa()?.h()??c}return a})),timestampMs:Ms(bi(o,2))??0}})(n),X(this,i)})),this.g.attachEmptyPacketListener("embeddings_out",(n=>{X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Lt.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=zp(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=zp(Np(e.quantizedEmbedding),Np(t.quantizedEmbedding))}return e},Lt.prototype.embedForVideo=Lt.prototype.Aa,Lt.prototype.embed=Lt.prototype.za,Lt.prototype.setOptions=Lt.prototype.o,Lt.createFromModelPath=function(e,t){return fe(Lt,e,{baseOptions:{modelAssetPath:t}})},Lt.createFromModelBuffer=function(e,t){return fe(Lt,e,{baseOptions:{modelAssetBuffer:t}})},Lt.createFromOptions=function(e,t){return fe(Lt,e,t)};var Wl=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};function lf(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function hf(e){try{let t=new Wl(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{pa(e)}}Wl.prototype.close=Wl.prototype.close;var Ct=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!1),this.s=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new zh,this.v=new Hm,ne(this.h,0,3,this.v),ne(e=this.h,0,1,t=new Le)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?Re(this.h,2,xi(e.displayNamesLocale)):"displayNamesLocale"in e&&Re(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}I(){(function(e){let t=Kr(e.da(),bt,1).filter((r=>(er(r,1)??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator")));if(e.s=[],t.length>1)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");t.length===1&&(ye(t[0],Nt,7)?.l()?.g()??new Map).forEach(((r,n)=>{e.s[Number(n)]=er(r,1)??""}))})(this)}segment(e,t,r){let n=typeof t!="function"?t:{};return this.j=typeof t=="function"?t:r,lf(this),nr(this,e,n),hf(this)}Ma(e,t,r,n){let i=typeof r!="function"?r:{};return this.j=typeof r=="function"?r:n,lf(this),Or(this,e,i,t),hf(this)}Da(){return this.s}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect");let t=new Nt;fr(t,$m,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),r.o(t),Vt(e,r),ua(this,e),this.outputConfidenceMasks&&(be(e,"confidence_masks"),me(r,"CONFIDENCE_MASKS:confidence_masks"),_i(this,"confidence_masks"),this.g.ca("confidence_masks",((n,i)=>{this.confidenceMasks=n.map((o=>ki(this,o,!0,!this.j))),X(this,i)})),this.g.attachEmptyPacketListener("confidence_masks",(n=>{this.confidenceMasks=[],X(this,n)}))),this.outputCategoryMask&&(be(e,"category_mask"),me(r,"CATEGORY_MASK:category_mask"),_i(this,"category_mask"),this.g.U("category_mask",((n,i)=>{this.categoryMask=ki(this,n,!1,!this.j),X(this,i)})),this.g.attachEmptyPacketListener("category_mask",(n=>{this.categoryMask=void 0,X(this,n)}))),be(e,"quality_scores"),me(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((n,i)=>{this.qualityScores=n,X(this,i)})),this.g.attachEmptyPacketListener("quality_scores",(n=>{this.categoryMask=void 0,X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ct.prototype.getLabels=Ct.prototype.Da,Ct.prototype.segmentForVideo=Ct.prototype.Ma,Ct.prototype.segment=Ct.prototype.segment,Ct.prototype.setOptions=Ct.prototype.o,Ct.createFromModelPath=function(e,t){return fe(Ct,e,{baseOptions:{modelAssetPath:t}})},Ct.createFromModelBuffer=function(e,t){return fe(Ct,e,{baseOptions:{modelAssetBuffer:t}})},Ct.createFromOptions=function(e,t){return fe(Ct,e,t)};var $l=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};$l.prototype.close=$l.prototype.close;var av=class extends Y{constructor(e){super(e)}},ai=[0,$e,-2],Hs=[0,Hr,-3,Fe,Hr,-1],df=[0,Hs],uf=[0,Hs,$e,-1],Al=class extends Y{constructor(e){super(e)}},pf=[0,Hr,-1,Fe],cv=class extends Y{constructor(e){super(e)}},ff=class extends Y{constructor(e){super(e)}},Gl=[1,2,3,4,5,6,7,8,9,10,14,15],cg=class extends Y{constructor(e){super(e)}};cg.prototype.g=ca([0,st,[0,Gl,Ee,Hs,Ee,[0,Hs,ai],Ee,df,Ee,[0,df,ai],Ee,pf,Ee,[0,Hr,-3,Fe,tr],Ee,[0,Hr,-3,Fe],Ee,[0,we,Hr,-2,Fe,$e,Fe,-1,2,Hr,ai],Ee,uf,Ee,[0,uf,ai],Hr,ai,we,Ee,[0,Hr,-3,Fe,ai,-1],Ee,[0,st,pf]],we,[0,we,$e,-1,Fe]]);var Pr=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new zh,this.s=new Hm,ne(this.h,0,3,this.s),ne(e=this.h,0,1,t=new Le)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}segment(e,t,r,n){let i=typeof r!="function"?r:{};this.j=typeof r=="function"?r:n,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,r=this.B+1,n=new cg;let o=new ff;var s=new av;if(Br(s,1,255),ne(o,0,12,s),t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var a=new Al;ko(a,3,!0),Z(a,1,t.keypoint.x),Z(a,2,t.keypoint.y),bo(o,5,Gl,a)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");for(a of(s=new cv,t.scribble))ko(t=new Al,3,!0),Z(t,1,a.x),Z(t,2,a.y),Ns(s,1,Al,t);bo(o,15,Gl,s)}Ns(n,1,ff,o),this.g.addProtoToStream(n.g(),"drishti.RenderData","roi_in",r),nr(this,e,i);e:{try{let l=new $l(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var c=l;break e}this.j(l)}finally{pa(this)}c=void 0}return c}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"roi_in"),Oe(e,"norm_rect_in");let t=new Nt;fr(t,$m,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"ROI:roi_in"),Pe(r,"NORM_RECT:norm_rect_in"),r.o(t),Vt(e,r),ua(this,e),this.outputConfidenceMasks&&(be(e,"confidence_masks"),me(r,"CONFIDENCE_MASKS:confidence_masks"),_i(this,"confidence_masks"),this.g.ca("confidence_masks",((n,i)=>{this.confidenceMasks=n.map((o=>ki(this,o,!0,!this.j))),X(this,i)})),this.g.attachEmptyPacketListener("confidence_masks",(n=>{this.confidenceMasks=[],X(this,n)}))),this.outputCategoryMask&&(be(e,"category_mask"),me(r,"CATEGORY_MASK:category_mask"),_i(this,"category_mask"),this.g.U("category_mask",((n,i)=>{this.categoryMask=ki(this,n,!1,!this.j),X(this,i)})),this.g.attachEmptyPacketListener("category_mask",(n=>{this.categoryMask=void 0,X(this,n)}))),be(e,"quality_scores"),me(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((n,i)=>{this.qualityScores=n,X(this,i)})),this.g.attachEmptyPacketListener("quality_scores",(n=>{this.categoryMask=void 0,X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Pr.prototype.segment=Pr.prototype.segment,Pr.prototype.setOptions=Pr.prototype.o,Pr.createFromModelPath=function(e,t){return fe(Pr,e,{baseOptions:{modelAssetPath:t}})},Pr.createFromModelBuffer=function(e,t){return fe(Pr,e,{baseOptions:{modelAssetBuffer:t}})},Pr.createFromOptions=function(e,t){return fe(Pr,e,t)};var At=class extends It{constructor(e,t){super(new rr(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},ne(e=this.h=new Gm,0,1,t=new Le)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?Re(this.h,2,xi(e.displayNamesLocale)):"displayNamesLocale"in e&&Re(this.h,2),e.maxResults!==void 0?Br(this.h,3,e.maxResults):"maxResults"in e&&Re(this.h,3),e.scoreThreshold!==void 0?Z(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&Re(this.h,4),e.categoryAllowlist!==void 0?zs(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&Re(this.h,5),e.categoryDenylist!==void 0?zs(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&Re(this.h,6),this.l(e)}D(e,t){return this.j={detections:[]},nr(this,e,t),this.j}F(e,t,r){return this.j={detections:[]},Or(this,e,r,t),this.j}m(){var e=new Rt;Oe(e,"input_frame_gpu"),Oe(e,"norm_rect"),be(e,"detections");let t=new Nt;fr(t,Qb,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.ObjectDetectorGraph"),Pe(r,"IMAGE:input_frame_gpu"),Pe(r,"NORM_RECT:norm_rect"),me(r,"DETECTIONS:detections"),r.o(t),Vt(e,r),this.g.attachProtoVectorListener("detections",((n,i)=>{for(let o of n)n=Sm(o),this.j.detections.push(Km(n));X(this,i)})),this.g.attachEmptyPacketListener("detections",(n=>{X(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};At.prototype.detectForVideo=At.prototype.F,At.prototype.detect=At.prototype.D,At.prototype.setOptions=At.prototype.o,At.createFromModelPath=async function(e,t){return fe(At,e,{baseOptions:{modelAssetPath:t}})},At.createFromModelBuffer=function(e,t){return fe(At,e,{baseOptions:{modelAssetBuffer:t}})},At.createFromOptions=function(e,t){return fe(At,e,t)};var ql=class{constructor(e,t,r){this.landmarks=e,this.worldLandmarks=t,this.segmentationMasks=r}close(){this.segmentationMasks?.forEach((e=>{e.close()}))}};function mf(e){e.landmarks=[],e.worldLandmarks=[],e.segmentationMasks=void 0}function gf(e){try{let t=new ql(e.landmarks,e.worldLandmarks,e.segmentationMasks);if(!e.s)return t;e.s(t)}finally{pa(e)}}ql.prototype.close=ql.prototype.close;var Mt=class extends It{constructor(e,t){super(new rr(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,ne(e=this.h=new qm,0,1,t=new Le),this.v=new Nm,ne(this.h,0,3,this.v),this.j=new Mm,ne(this.h,0,2,this.j),Br(this.j,4,1),Z(this.j,2,.5),Z(this.v,2,.5),Z(this.h,4,.5)}get baseOptions(){return ye(this.h,Le,1)}set baseOptions(e){ne(this.h,0,1,e)}o(e){return"numPoses"in e&&Br(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&Z(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&Z(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&Z(this.v,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}D(e,t,r){let n=typeof t!="function"?t:{};return this.s=typeof t=="function"?t:r,mf(this),nr(this,e,n),gf(this)}F(e,t,r,n){let i=typeof r!="function"?r:{};return this.s=typeof r=="function"?r:n,mf(this),Or(this,e,i,t),gf(this)}m(){var e=new Rt;Oe(e,"image_in"),Oe(e,"norm_rect"),be(e,"normalized_landmarks"),be(e,"world_landmarks"),be(e,"segmentation_masks");let t=new Nt;fr(t,ev,this.h);let r=new bt;jt(r,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),Pe(r,"IMAGE:image_in"),Pe(r,"NORM_RECT:norm_rect"),me(r,"NORM_LANDMARKS:normalized_landmarks"),me(r,"WORLD_LANDMARKS:world_landmarks"),r.o(t),Vt(e,r),ua(this,e),this.g.attachProtoVectorListener("normalized_landmarks",((n,i)=>{this.landmarks=[];for(let o of n)n=Ro(o),this.landmarks.push(da(n));X(this,i)})),this.g.attachEmptyPacketListener("normalized_landmarks",(n=>{this.landmarks=[],X(this,n)})),this.g.attachProtoVectorListener("world_landmarks",((n,i)=>{this.worldLandmarks=[];for(let o of n)n=pi(o),this.worldLandmarks.push(_o(n));X(this,i)})),this.g.attachEmptyPacketListener("world_landmarks",(n=>{this.worldLandmarks=[],X(this,n)})),this.outputSegmentationMasks&&(me(r,"SEGMENTATION_MASK:segmentation_masks"),_i(this,"segmentation_masks"),this.g.ca("segmentation_masks",((n,i)=>{this.segmentationMasks=n.map((o=>ki(this,o,!0,!this.s))),X(this,i)})),this.g.attachEmptyPacketListener("segmentation_masks",(n=>{this.segmentationMasks=[],X(this,n)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Mt.prototype.detectForVideo=Mt.prototype.F,Mt.prototype.detect=Mt.prototype.D,Mt.prototype.setOptions=Mt.prototype.o,Mt.createFromModelPath=function(e,t){return fe(Mt,e,{baseOptions:{modelAssetPath:t}})},Mt.createFromModelBuffer=function(e,t){return fe(Mt,e,{baseOptions:{modelAssetBuffer:t}})},Mt.createFromOptions=function(e,t){return fe(Mt,e,t)},Mt.POSE_CONNECTIONS=ag;var Bi=class{constructor(t,r,n,i,o="videoPreviewFrameDetection",s="liveViewFrameDetection"){this.options={onRealtimeAlertsCallback:t=>{}};this.children=[];this.runningMode="VIDEO";this.detecting=!1;this.createdVideo=!1;this.lastVideoTime=-1;this.lastExecutionDate=Date.now();this.detectorType=t,this.modelAssetPath=r,this.classVideo=o,this.classDiv=s,i&&(this.paramsConfig=i),n&&(this.options=n)}async initializeDetector(){let t=await nn.forVisionTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.2/wasm");this.detector=await(this.detectorType==="FaceDetector"?xt:At).createFromOptions(t,{baseOptions:{modelAssetPath:this.modelAssetPath,delegate:"CPU"},scoreThreshold:this.detectorType==="ObjectDetector"?.5:0,runningMode:this.runningMode})}stopDetection(){this.animationFrameId&&clearTimeout(this.animationFrameId),this.detecting=!1,this.liveView=document.getElementById(this.classDiv),this.liveView&&this.classDiv==="liveViewFrameDetection"&&document.body.removeChild(this.liveView),this.createdVideo&&this.video&&document.body.removeChild(this.video),this.createdVideo=!1}enableCam(t,r=1e4){if(!this.detector){console.log("Wait! Detector not loaded yet.");return}this.detecting=!0,this.error=document.getElementById("errorFrameDetection"),this.video=document.getElementById(this.classVideo),this.liveView=document.getElementById(this.classDiv),this.video||(this.video=document.createElement("video"),this.video.setAttribute("id",this.classVideo),this.video.setAttribute("style",`
50
50
  width: 20rem;
51
51
  border-radius: 10px;
52
52
  position: absolute;
@@ -63,28 +63,31 @@ Minimum version required to store current data is: `+o+`.
63
63
  border-radius: 50%;
64
64
  display: block;
65
65
  }
66
- `,document.getElementsByTagName("head")[0].appendChild(i)}async predictWebcam(){if(this.detecting==!1)return;if(this.lastVideoTime===-1&&await this.detector.setOptions({runningMode:"VIDEO"}),Date.now()-this.lastExecutionDate>=1e3){let r=Date.now();if(this.lastExecutionDate=r,this.video.currentTime!==this.lastVideoTime){this.lastVideoTime=this.video.currentTime;let n=this.detector.detectForVideo(this.video,r);this.verify(n)}}this.animationFrameId=setTimeout(()=>{this.predictWebcam()},0)}handleAlert(t,r){this.options.onRealtimeAlertsCallback&&this.options.onRealtimeAlertsCallback({status:"ALERT",description:this.alertTranslate(t),type:r,category:t,begin:0,end:0}),this.options.onRealtimeAlertsCallback==null&&this.error&&(this.error.innerText=t)}handleOk(t,r){this.options.onRealtimeAlertsCallback&&this.options.onRealtimeAlertsCallback({status:"OK",description:this.alertTranslate(t),type:r,category:t,begin:0,end:0}),this.error&&(this.error.innerText="")}displayVideoDetections(t){}verify(t){}alertTranslate(t){switch(t){case"multiple_faces_detected":return"M\xFAltiplas faces detectadas";case"no_face_detected":return"Nenhuma face encontrada";case"multiple_persons_detected":return"M\xFAltiplas pessoas detectadas";case"no_person_detected":return"Nenhuma pessoa encontrada";case"cellphone_detected":return"Celular detectado";case"wrong_position_face_detected":return"Face na posi\xE7\xE3o errada";case"person_ok":return"Pessoa detectada";case"cellphone_ok":return"Nenhum celular detectado";case"face_ok":return"Face detectada";case"ok_position_face_detected":return"Face na posi\xE7\xE3o correta";case"wrong_face_size_detected":return"Face muito perto da c\xE2mera, afaste-se um pouco mais";case"wrong_face_position_edge_detected":return"Face muito pr\xF3xima da borda, mova-se para o centro da tela";case"wrong_face_position_move_right_detected":return"Face n\xE3o centralizada, mova-se para a direita";case"wrong_face_position_move_left_detected":return"Face n\xE3o centralizada, mova-se para a esquerda";case"wrong_face_position_move_top_detected":return"Face n\xE3o centralizada, mova-se para cima";case"wrong_face_position_move_bottom_detected":return"Face n\xE3o centralizada, mova-se para baixo";case"face_turned_left_detected":return"Face virada para a esquerda, centralize-a";case"face_turned_right_detected":return"Face virada para a direita, centralize-a";case"face_turned_up_detected":return"Face virada para cima, centralize-a";case"face_turned_down_detected":return"Face virada para baixo, centralize-a";default:return t}}};function sg(){let e=document.createElement("div");e.setAttribute("id","liveViewFrameDetection");let t=document.createElement("erro");t.setAttribute("id","errorFrameDetection");let r=document.createElement("video");r.setAttribute("id","videoPreviewFrameDetection"),r.muted=!0,e.style.width="320px",e.style.height="180px",e.style.position="fixed",e.style.bottom="30px",e.style.right="30px",e.style.display="none",r.style.width="100%",r.style.height="100%",r.style.background="#000",e.appendChild(t),e.appendChild(r),document.body.appendChild(e)}var Oi=class extends Bi{constructor(r,n,i="videoPreviewFrameDetection",o="liveViewFrameDetection"){super("FaceDetector","https://storage.googleapis.com/mediapipe-models/face_detector/blaze_face_short_range/float16/1/blaze_face_short_range.tflite",r,n,i,o);this.emmitedPositionAlert=!1;this.emmitedFaceAlert=!1;this.numFacesSent=-1}stopDetection(){super.stopDetection(),this.emmitedFaceAlert&&this.handleOk("face_stop","face_detection_on_stream")}displayVideoDetections(r){for(let s of this.children)this.liveView.removeChild(s);this.children.splice(0);let n=this.video;if(n.videoWidth===0||n.videoHeight===0)return;let i=n.offsetWidth/n.videoWidth,o=n.offsetHeight/n.videoHeight;for(let s of r.detections){let a=s.boundingBox,l=(n.videoWidth-a.originX-a.width)*i,h=a.originY*o,d=(a.width-10)*i,m=a.height*o,p=document.createElement("div");p.setAttribute("class","highlighter"),Object.assign(p.style,{right:`${l+20}px`,top:`${h}px`,width:`${d}px`,height:`${m-10}px`,zIndex:"1",position:"absolute",border:"1px dashed #fff",background:"rgba(0, 255, 0, 0.25)",transform:"scaleX(-1)"});let g=document.createElement("p"),f=s.categories[0].score?Math.round(parseFloat(s.categories[0].score)*100):0;if(g.innerText=`Confidence: ${f}%`,Object.assign(g.style,{right:`${l+20}px`,top:`${h-50}px`,width:`${d}px`,zIndex:"2",position:"absolute",margin:"0",fontSize:"12px",padding:"5px",color:"#fff",backgroundColor:"#007f8b",textAlign:"center",transform:"scaleX(-1)"}),this.liveView.appendChild(p),this.liveView.appendChild(g),this.children.push(p),this.children.push(g),s.keypoints)for(let b of s.keypoints){let _=document.createElement("span");_.className="key-point";let x=b.x<2?b.x*n.videoWidth:b.x,k=b.y<2?b.y*n.videoHeight:b.y,C=(n.videoWidth-x)*i,A=k*o;Object.assign(_.style,{right:`${C+20}px`,top:`${A-3}px`,position:"absolute",width:"6px",height:"6px",borderRadius:"50%",backgroundColor:"red",zIndex:"3"}),this.liveView.appendChild(_),this.children.push(_)}}}verify(r){if(this.paramsConfig.videoBehaviourParameters?.detectFace&&r.detections.length!==this.numFacesSent)if(this.numFacesSent=r.detections.length,r.detections.length===0){this.handleAlert("no_face_detected","face_detection_on_stream"),this.emmitedFaceAlert=!0;return}else if(r.detections.length>1){this.handleAlert("multiple_faces_detected","face_detection_on_stream"),this.emmitedFaceAlert=!0;return}else this.handleOk("face_ok","face_detection_on_stream"),this.emmitedFaceAlert=!1;if(r.detections.length===0)return;let n=!1,i=document.getElementById(this.classVideo),o=i.videoWidth,s=i.videoHeight,a=r.detections[0],c=a.boundingBox,l=a.keypoints,h=l[0],d=l[1],m=l[3],p=l[4],g=l[5],f=l[2];o>s&&(c.height/s>.7?(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_size_detected","position_detection_on_stream"),n=!0,this.emmitedPositionAlert=!0):c.width/o>.7&&(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_size_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0,n=!0));let b=[c.originX,c.originY],_=[c.originX+c.width,c.originY+c.height];(b[0]<.1*c.width||b[1]<.2*c.height||_[0]>o-.1*c.width||_[1]>s-5)&&(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_position_edge_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0,n=!0);let x=b[0],k=o-_[0],P=b[1],C=s-_[1];x>2*k&&(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_position_move_right_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0,n=!0),P>4*C&&(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_position_move_top_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0,n=!0),k>2*x&&(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_position_move_left_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0,n=!0),C>3*P&&(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_position_move_bottom_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0,n=!0),n==!1&&(this.emmitedPositionAlert&&this.handleOk("ok_position_face_detected","position_detection_on_stream"),this.emmitedPositionAlert=!1)}};function Po(e,t){return function(){return e.apply(t,arguments)}}var{toString:nv}=Object.prototype,{getPrototypeOf:Jh}=Object,ga=(e=>t=>{let r=nv.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),br=e=>(e=e.toLowerCase(),t=>ga(t)===e),ya=e=>t=>typeof t===e,{isArray:Ui}=Array,Do=ya("undefined");function iv(e){return e!==null&&!Do(e)&&e.constructor!==null&&!Do(e.constructor)&&Ht(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var cg=br("ArrayBuffer");function ov(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&cg(e.buffer),t}var sv=ya("string"),Ht=ya("function"),lg=ya("number"),ba=e=>e!==null&&typeof e=="object",av=e=>e===!0||e===!1,ma=e=>{if(ga(e)!=="object")return!1;let t=Jh(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},cv=br("Date"),lv=br("File"),hv=br("Blob"),dv=br("FileList"),uv=e=>ba(e)&&Ht(e.pipe),pv=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ht(e.append)&&((t=ga(e))==="formdata"||t==="object"&&Ht(e.toString)&&e.toString()==="[object FormData]"))},fv=br("URLSearchParams"),[mv,gv,yv,bv]=["ReadableStream","Request","Response","Headers"].map(br),vv=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Bo(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,i;if(typeof e!="object"&&(e=[e]),Ui(e))for(n=0,i=e.length;n<i;n++)t.call(null,e[n],n,e);else{let o=r?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length,a;for(n=0;n<s;n++)a=o[n],t.call(null,e[a],a,e)}}function hg(e,t){t=t.toLowerCase();let r=Object.keys(e),n=r.length,i;for(;n-- >0;)if(i=r[n],t===i.toLowerCase())return i;return null}var Vn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,dg=e=>!Do(e)&&e!==Vn;function Xh(){let{caseless:e}=dg(this)&&this||{},t={},r=(n,i)=>{let o=e&&hg(t,i)||i;ma(t[o])&&ma(n)?t[o]=Xh(t[o],n):ma(n)?t[o]=Xh({},n):Ui(n)?t[o]=n.slice():t[o]=n};for(let n=0,i=arguments.length;n<i;n++)arguments[n]&&Bo(arguments[n],r);return t}var _v=(e,t,r,{allOwnKeys:n}={})=>(Bo(t,(i,o)=>{r&&Ht(i)?e[o]=Po(i,r):e[o]=i},{allOwnKeys:n}),e),wv=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Sv=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},kv=(e,t,r,n)=>{let i,o,s,a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),o=i.length;o-- >0;)s=i[o],(!n||n(s,e,t))&&!a[s]&&(t[s]=e[s],a[s]=!0);e=r!==!1&&Jh(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},xv=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let n=e.indexOf(t,r);return n!==-1&&n===r},Ev=e=>{if(!e)return null;if(Ui(e))return e;let t=e.length;if(!lg(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},Cv=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Jh(Uint8Array)),Av=(e,t)=>{let n=(e&&e[Symbol.iterator]).call(e),i;for(;(i=n.next())&&!i.done;){let o=i.value;t.call(e,o[0],o[1])}},Tv=(e,t)=>{let r,n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},Iv=br("HTMLFormElement"),Rv=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,i){return n.toUpperCase()+i}),ag=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),Pv=br("RegExp"),ug=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),n={};Bo(r,(i,o)=>{let s;(s=t(i,o,e))!==!1&&(n[o]=s||i)}),Object.defineProperties(e,n)},Dv=e=>{ug(e,(t,r)=>{if(Ht(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=e[r];if(Ht(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},Bv=(e,t)=>{let r={},n=i=>{i.forEach(o=>{r[o]=!0})};return Ui(e)?n(e):n(String(e).split(t)),r},Ov=()=>{},Uv=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Fv(e){return!!(e&&Ht(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var Lv=e=>{let t=new Array(10),r=(n,i)=>{if(ba(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[i]=n;let o=Ui(n)?[]:{};return Bo(n,(s,a)=>{let c=r(s,i+1);!Do(c)&&(o[a]=c)}),t[i]=void 0,o}}return n};return r(e,0)},Mv=br("AsyncFunction"),Nv=e=>e&&(ba(e)||Ht(e))&&Ht(e.then)&&Ht(e.catch),pg=((e,t)=>e?setImmediate:t?((r,n)=>(Vn.addEventListener("message",({source:i,data:o})=>{i===Vn&&o===r&&n.length&&n.shift()()},!1),i=>{n.push(i),Vn.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",Ht(Vn.postMessage)),zv=typeof queueMicrotask<"u"?queueMicrotask.bind(Vn):typeof process<"u"&&process.nextTick||pg,I={isArray:Ui,isArrayBuffer:cg,isBuffer:iv,isFormData:pv,isArrayBufferView:ov,isString:sv,isNumber:lg,isBoolean:av,isObject:ba,isPlainObject:ma,isReadableStream:mv,isRequest:gv,isResponse:yv,isHeaders:bv,isUndefined:Do,isDate:cv,isFile:lv,isBlob:hv,isRegExp:Pv,isFunction:Ht,isStream:uv,isURLSearchParams:fv,isTypedArray:Cv,isFileList:dv,forEach:Bo,merge:Xh,extend:_v,trim:vv,stripBOM:wv,inherits:Sv,toFlatObject:kv,kindOf:ga,kindOfTest:br,endsWith:xv,toArray:Ev,forEachEntry:Av,matchAll:Tv,isHTMLForm:Iv,hasOwnProperty:ag,hasOwnProp:ag,reduceDescriptors:ug,freezeMethods:Dv,toObjectSet:Bv,toCamelCase:Rv,noop:Ov,toFiniteNumber:Uv,findKey:hg,global:Vn,isContextDefined:dg,isSpecCompliantForm:Fv,toJSONObject:Lv,isAsyncFn:Mv,isThenable:Nv,setImmediate:pg,asap:zv};function Fi(e,t,r,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i,this.status=i.status?i.status:null)}I.inherits(Fi,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:I.toJSONObject(this.config),code:this.code,status:this.status}}});var fg=Fi.prototype,mg={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{mg[e]={value:e}});Object.defineProperties(Fi,mg);Object.defineProperty(fg,"isAxiosError",{value:!0});Fi.from=(e,t,r,n,i,o)=>{let s=Object.create(fg);return I.toFlatObject(e,s,function(c){return c!==Error.prototype},a=>a!=="isAxiosError"),Fi.call(s,e.message,t,r,n,i),s.cause=e,s.name=e.name,o&&Object.assign(s,o),s};var le=Fi;var va=null;function Yh(e){return I.isPlainObject(e)||I.isArray(e)}function yg(e){return I.endsWith(e,"[]")?e.slice(0,-2):e}function gg(e,t,r){return e?e.concat(t).map(function(i,o){return i=yg(i),!r&&o?"["+i+"]":i}).join(r?".":""):t}function jv(e){return I.isArray(e)&&!e.some(Yh)}var Vv=I.toFlatObject(I,{},null,function(t){return/^is[A-Z]/.test(t)});function Hv(e,t,r){if(!I.isObject(e))throw new TypeError("target must be an object");t=t||new(va||FormData),r=I.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(f,b){return!I.isUndefined(b[f])});let n=r.metaTokens,i=r.visitor||h,o=r.dots,s=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&I.isSpecCompliantForm(t);if(!I.isFunction(i))throw new TypeError("visitor must be a function");function l(g){if(g===null)return"";if(I.isDate(g))return g.toISOString();if(!c&&I.isBlob(g))throw new le("Blob is not supported. Use a Buffer instead.");return I.isArrayBuffer(g)||I.isTypedArray(g)?c&&typeof Blob=="function"?new Blob([g]):Buffer.from(g):g}function h(g,f,b){let _=g;if(g&&!b&&typeof g=="object"){if(I.endsWith(f,"{}"))f=n?f:f.slice(0,-2),g=JSON.stringify(g);else if(I.isArray(g)&&jv(g)||(I.isFileList(g)||I.endsWith(f,"[]"))&&(_=I.toArray(g)))return f=yg(f),_.forEach(function(k,P){!(I.isUndefined(k)||k===null)&&t.append(s===!0?gg([f],P,o):s===null?f:f+"[]",l(k))}),!1}return Yh(g)?!0:(t.append(gg(b,f,o),l(g)),!1)}let d=[],m=Object.assign(Vv,{defaultVisitor:h,convertValue:l,isVisitable:Yh});function p(g,f){if(!I.isUndefined(g)){if(d.indexOf(g)!==-1)throw Error("Circular reference detected in "+f.join("."));d.push(g),I.forEach(g,function(_,x){(!(I.isUndefined(_)||_===null)&&i.call(t,_,I.isString(x)?x.trim():x,f,m))===!0&&p(_,f?f.concat(x):[x])}),d.pop()}}if(!I.isObject(e))throw new TypeError("data must be an object");return p(e),t}var mn=Hv;function bg(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function vg(e,t){this._pairs=[],e&&mn(e,this,t)}var _g=vg.prototype;_g.append=function(t,r){this._pairs.push([t,r])};_g.toString=function(t){let r=t?function(n){return t.call(this,n,bg)}:bg;return this._pairs.map(function(i){return r(i[0])+"="+r(i[1])},"").join("&")};var _a=vg;function Wv(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Oo(e,t,r){if(!t)return e;let n=r&&r.encode||Wv;I.isFunction(r)&&(r={serialize:r});let i=r&&r.serialize,o;if(i?o=i(t,r):o=I.isURLSearchParams(t)?t.toString():new _a(t,r).toString(n),o){let s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}var Zh=class{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){I.forEach(this.handlers,function(n){n!==null&&t(n)})}},Qh=Zh;var wa={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var wg=typeof URLSearchParams<"u"?URLSearchParams:_a;var Sg=typeof FormData<"u"?FormData:null;var kg=typeof Blob<"u"?Blob:null;var xg={isBrowser:!0,classes:{URLSearchParams:wg,FormData:Sg,Blob:kg},protocols:["http","https","file","blob","url","data"]};var rd={};Ry(rd,{hasBrowserEnv:()=>td,hasStandardBrowserEnv:()=>$v,hasStandardBrowserWebWorkerEnv:()=>Gv,navigator:()=>ed,origin:()=>qv});var td=typeof window<"u"&&typeof document<"u",ed=typeof navigator=="object"&&navigator||void 0,$v=td&&(!ed||["ReactNative","NativeScript","NS"].indexOf(ed.product)<0),Gv=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",qv=td&&window.location.href||"http://localhost";var je={...rd,...xg};function nd(e,t){return mn(e,new je.classes.URLSearchParams,Object.assign({visitor:function(r,n,i,o){return je.isNode&&I.isBuffer(r)?(this.append(n,r.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},t))}function Kv(e){return I.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Xv(e){let t={},r=Object.keys(e),n,i=r.length,o;for(n=0;n<i;n++)o=r[n],t[o]=e[o];return t}function Jv(e){function t(r,n,i,o){let s=r[o++];if(s==="__proto__")return!0;let a=Number.isFinite(+s),c=o>=r.length;return s=!s&&I.isArray(i)?i.length:s,c?(I.hasOwnProp(i,s)?i[s]=[i[s],n]:i[s]=n,!a):((!i[s]||!I.isObject(i[s]))&&(i[s]=[]),t(r,n,i[s],o)&&I.isArray(i[s])&&(i[s]=Xv(i[s])),!a)}if(I.isFormData(e)&&I.isFunction(e.entries)){let r={};return I.forEachEntry(e,(n,i)=>{t(Kv(n),i,r,0)}),r}return null}var Sa=Jv;function Yv(e,t,r){if(I.isString(e))try{return(t||JSON.parse)(e),I.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}var id={transitional:wa,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let n=r.getContentType()||"",i=n.indexOf("application/json")>-1,o=I.isObject(t);if(o&&I.isHTMLForm(t)&&(t=new FormData(t)),I.isFormData(t))return i?JSON.stringify(Sa(t)):t;if(I.isArrayBuffer(t)||I.isBuffer(t)||I.isStream(t)||I.isFile(t)||I.isBlob(t)||I.isReadableStream(t))return t;if(I.isArrayBufferView(t))return t.buffer;if(I.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return nd(t,this.formSerializer).toString();if((a=I.isFileList(t))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return mn(a?{"files[]":t}:t,c&&new c,this.formSerializer)}}return o||i?(r.setContentType("application/json",!1),Yv(t)):t}],transformResponse:[function(t){let r=this.transitional||id.transitional,n=r&&r.forcedJSONParsing,i=this.responseType==="json";if(I.isResponse(t)||I.isReadableStream(t))return t;if(t&&I.isString(t)&&(n&&!this.responseType||i)){let s=!(r&&r.silentJSONParsing)&&i;try{return JSON.parse(t)}catch(a){if(s)throw a.name==="SyntaxError"?le.from(a,le.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:je.classes.FormData,Blob:je.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};I.forEach(["delete","get","head","post","put","patch"],e=>{id.headers[e]={}});var Li=id;var Zv=I.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Eg=e=>{let t={},r,n,i;return e&&e.split(`
67
- `).forEach(function(s){i=s.indexOf(":"),r=s.substring(0,i).trim().toLowerCase(),n=s.substring(i+1).trim(),!(!r||t[r]&&Zv[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t};var Cg=Symbol("internals");function Uo(e){return e&&String(e).trim().toLowerCase()}function ka(e){return e===!1||e==null?e:I.isArray(e)?e.map(ka):String(e)}function Qv(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}var e_=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function od(e,t,r,n,i){if(I.isFunction(n))return n.call(this,t,r);if(i&&(t=r),!!I.isString(t)){if(I.isString(n))return t.indexOf(n)!==-1;if(I.isRegExp(n))return n.test(t)}}function t_(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function r_(e,t){let r=I.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(i,o,s){return this[n].call(this,t,i,o,s)},configurable:!0})})}var Mi=class{constructor(t){t&&this.set(t)}set(t,r,n){let i=this;function o(a,c,l){let h=Uo(c);if(!h)throw new Error("header name must be a non-empty string");let d=I.findKey(i,h);(!d||i[d]===void 0||l===!0||l===void 0&&i[d]!==!1)&&(i[d||c]=ka(a))}let s=(a,c)=>I.forEach(a,(l,h)=>o(l,h,c));if(I.isPlainObject(t)||t instanceof this.constructor)s(t,r);else if(I.isString(t)&&(t=t.trim())&&!e_(t))s(Eg(t),r);else if(I.isHeaders(t))for(let[a,c]of t.entries())o(c,a,n);else t!=null&&o(r,t,n);return this}get(t,r){if(t=Uo(t),t){let n=I.findKey(this,t);if(n){let i=this[n];if(!r)return i;if(r===!0)return Qv(i);if(I.isFunction(r))return r.call(this,i,n);if(I.isRegExp(r))return r.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=Uo(t),t){let n=I.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||od(this,this[n],n,r)))}return!1}delete(t,r){let n=this,i=!1;function o(s){if(s=Uo(s),s){let a=I.findKey(n,s);a&&(!r||od(n,n[a],a,r))&&(delete n[a],i=!0)}}return I.isArray(t)?t.forEach(o):o(t),i}clear(t){let r=Object.keys(this),n=r.length,i=!1;for(;n--;){let o=r[n];(!t||od(this,this[o],o,t,!0))&&(delete this[o],i=!0)}return i}normalize(t){let r=this,n={};return I.forEach(this,(i,o)=>{let s=I.findKey(n,o);if(s){r[s]=ka(i),delete r[o];return}let a=t?t_(o):String(o).trim();a!==o&&delete r[o],r[a]=ka(i),n[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return I.forEach(this,(n,i)=>{n!=null&&n!==!1&&(r[i]=t&&I.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
68
- `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let n=new this(t);return r.forEach(i=>n.set(i)),n}static accessor(t){let n=(this[Cg]=this[Cg]={accessors:{}}).accessors,i=this.prototype;function o(s){let a=Uo(s);n[a]||(r_(i,s),n[a]=!0)}return I.isArray(t)?t.forEach(o):o(t),this}};Mi.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);I.reduceDescriptors(Mi.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}});I.freezeMethods(Mi);var at=Mi;function Fo(e,t){let r=this||Li,n=t||r,i=at.from(n.headers),o=n.data;return I.forEach(e,function(a){o=a.call(r,o,i.normalize(),t?t.status:void 0)}),i.normalize(),o}function Lo(e){return!!(e&&e.__CANCEL__)}function Ag(e,t,r){le.call(this,e??"canceled",le.ERR_CANCELED,t,r),this.name="CanceledError"}I.inherits(Ag,le,{__CANCEL__:!0});var Or=Ag;function Mo(e,t,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new le("Request failed with status code "+r.status,[le.ERR_BAD_REQUEST,le.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function sd(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function n_(e,t){e=e||10;let r=new Array(e),n=new Array(e),i=0,o=0,s;return t=t!==void 0?t:1e3,function(c){let l=Date.now(),h=n[o];s||(s=l),r[i]=c,n[i]=l;let d=o,m=0;for(;d!==i;)m+=r[d++],d=d%e;if(i=(i+1)%e,i===o&&(o=(o+1)%e),l-s<t)return;let p=h&&l-h;return p?Math.round(m*1e3/p):void 0}}var Tg=n_;function i_(e,t){let r=0,n=1e3/t,i,o,s=(l,h=Date.now())=>{r=h,i=null,o&&(clearTimeout(o),o=null),e.apply(null,l)};return[(...l)=>{let h=Date.now(),d=h-r;d>=n?s(l,h):(i=l,o||(o=setTimeout(()=>{o=null,s(i)},n-d)))},()=>i&&s(i)]}var Ig=i_;var Ni=(e,t,r=3)=>{let n=0,i=Tg(50,250);return Ig(o=>{let s=o.loaded,a=o.lengthComputable?o.total:void 0,c=s-n,l=i(c),h=s<=a;n=s;let d={loaded:s,total:a,progress:a?s/a:void 0,bytes:c,rate:l||void 0,estimated:l&&a&&h?(a-s)/l:void 0,event:o,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(d)},r)},ad=(e,t)=>{let r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},cd=e=>(...t)=>I.asap(()=>e(...t));var Rg=je.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,je.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(je.origin),je.navigator&&/(msie|trident)/i.test(je.navigator.userAgent)):()=>!0;var Pg=je.hasStandardBrowserEnv?{write(e,t,r,n,i,o){let s=[e+"="+encodeURIComponent(t)];I.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),I.isString(n)&&s.push("path="+n),I.isString(i)&&s.push("domain="+i),o===!0&&s.push("secure"),document.cookie=s.join("; ")},read(e){let t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function ld(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function hd(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function No(e,t,r){let n=!ld(t);return e&&(n||r==!1)?hd(e,t):t}var Dg=e=>e instanceof at?{...e}:e;function vr(e,t){t=t||{};let r={};function n(l,h,d,m){return I.isPlainObject(l)&&I.isPlainObject(h)?I.merge.call({caseless:m},l,h):I.isPlainObject(h)?I.merge({},h):I.isArray(h)?h.slice():h}function i(l,h,d,m){if(I.isUndefined(h)){if(!I.isUndefined(l))return n(void 0,l,d,m)}else return n(l,h,d,m)}function o(l,h){if(!I.isUndefined(h))return n(void 0,h)}function s(l,h){if(I.isUndefined(h)){if(!I.isUndefined(l))return n(void 0,l)}else return n(void 0,h)}function a(l,h,d){if(d in t)return n(l,h);if(d in e)return n(void 0,l)}let c={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(l,h,d)=>i(Dg(l),Dg(h),d,!0)};return I.forEach(Object.keys(Object.assign({},e,t)),function(h){let d=c[h]||i,m=d(e[h],t[h],h);I.isUndefined(m)&&d!==a||(r[h]=m)}),r}var xa=e=>{let t=vr({},e),{data:r,withXSRFToken:n,xsrfHeaderName:i,xsrfCookieName:o,headers:s,auth:a}=t;t.headers=s=at.from(s),t.url=Oo(No(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let c;if(I.isFormData(r)){if(je.hasStandardBrowserEnv||je.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if((c=s.getContentType())!==!1){let[l,...h]=c?c.split(";").map(d=>d.trim()).filter(Boolean):[];s.setContentType([l||"multipart/form-data",...h].join("; "))}}if(je.hasStandardBrowserEnv&&(n&&I.isFunction(n)&&(n=n(t)),n||n!==!1&&Rg(t.url))){let l=i&&o&&Pg.read(o);l&&s.set(i,l)}return t};var o_=typeof XMLHttpRequest<"u",Bg=o_&&function(e){return new Promise(function(r,n){let i=xa(e),o=i.data,s=at.from(i.headers).normalize(),{responseType:a,onUploadProgress:c,onDownloadProgress:l}=i,h,d,m,p,g;function f(){p&&p(),g&&g(),i.cancelToken&&i.cancelToken.unsubscribe(h),i.signal&&i.signal.removeEventListener("abort",h)}let b=new XMLHttpRequest;b.open(i.method.toUpperCase(),i.url,!0),b.timeout=i.timeout;function _(){if(!b)return;let k=at.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),C={data:!a||a==="text"||a==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:k,config:e,request:b};Mo(function(R){r(R),f()},function(R){n(R),f()},C),b=null}"onloadend"in b?b.onloadend=_:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(_)},b.onabort=function(){b&&(n(new le("Request aborted",le.ECONNABORTED,e,b)),b=null)},b.onerror=function(){n(new le("Network Error",le.ERR_NETWORK,e,b)),b=null},b.ontimeout=function(){let P=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded",C=i.transitional||wa;i.timeoutErrorMessage&&(P=i.timeoutErrorMessage),n(new le(P,C.clarifyTimeoutError?le.ETIMEDOUT:le.ECONNABORTED,e,b)),b=null},o===void 0&&s.setContentType(null),"setRequestHeader"in b&&I.forEach(s.toJSON(),function(P,C){b.setRequestHeader(C,P)}),I.isUndefined(i.withCredentials)||(b.withCredentials=!!i.withCredentials),a&&a!=="json"&&(b.responseType=i.responseType),l&&([m,g]=Ni(l,!0),b.addEventListener("progress",m)),c&&b.upload&&([d,p]=Ni(c),b.upload.addEventListener("progress",d),b.upload.addEventListener("loadend",p)),(i.cancelToken||i.signal)&&(h=k=>{b&&(n(!k||k.type?new Or(null,e,b):k),b.abort(),b=null)},i.cancelToken&&i.cancelToken.subscribe(h),i.signal&&(i.signal.aborted?h():i.signal.addEventListener("abort",h)));let x=sd(i.url);if(x&&je.protocols.indexOf(x)===-1){n(new le("Unsupported protocol "+x+":",le.ERR_BAD_REQUEST,e));return}b.send(o||null)})};var s_=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let n=new AbortController,i,o=function(l){if(!i){i=!0,a();let h=l instanceof Error?l:this.reason;n.abort(h instanceof le?h:new Or(h instanceof Error?h.message:h))}},s=t&&setTimeout(()=>{s=null,o(new le(`timeout ${t} of ms exceeded`,le.ETIMEDOUT))},t),a=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(o):l.removeEventListener("abort",o)}),e=null)};e.forEach(l=>l.addEventListener("abort",o));let{signal:c}=n;return c.unsubscribe=()=>I.asap(a),c}},Og=s_;var a_=function*(e,t){let r=e.byteLength;if(!t||r<t){yield e;return}let n=0,i;for(;n<r;)i=n+t,yield e.slice(n,i),n=i},c_=async function*(e,t){for await(let r of l_(e))yield*a_(r,t)},l_=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:r,value:n}=await t.read();if(r)break;yield n}}finally{await t.cancel()}},dd=(e,t,r,n)=>{let i=c_(e,t),o=0,s,a=c=>{s||(s=!0,n&&n(c))};return new ReadableStream({async pull(c){try{let{done:l,value:h}=await i.next();if(l){a(),c.close();return}let d=h.byteLength;if(r){let m=o+=d;r(m)}c.enqueue(new Uint8Array(h))}catch(l){throw a(l),l}},cancel(c){return a(c),i.return()}},{highWaterMark:2})};var Ca=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Fg=Ca&&typeof ReadableStream=="function",h_=Ca&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Lg=(e,...t)=>{try{return!!e(...t)}catch{return!1}},d_=Fg&&Lg(()=>{let e=!1,t=new Request(je.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Ug=64*1024,ud=Fg&&Lg(()=>I.isReadableStream(new Response("").body)),Ea={stream:ud&&(e=>e.body)};Ca&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Ea[t]&&(Ea[t]=I.isFunction(e[t])?r=>r[t]():(r,n)=>{throw new le(`Response type '${t}' is not supported`,le.ERR_NOT_SUPPORT,n)})})})(new Response);var u_=async e=>{if(e==null)return 0;if(I.isBlob(e))return e.size;if(I.isSpecCompliantForm(e))return(await new Request(je.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(I.isArrayBufferView(e)||I.isArrayBuffer(e))return e.byteLength;if(I.isURLSearchParams(e)&&(e=e+""),I.isString(e))return(await h_(e)).byteLength},p_=async(e,t)=>{let r=I.toFiniteNumber(e.getContentLength());return r??u_(t)},Mg=Ca&&(async e=>{let{url:t,method:r,data:n,signal:i,cancelToken:o,timeout:s,onDownloadProgress:a,onUploadProgress:c,responseType:l,headers:h,withCredentials:d="same-origin",fetchOptions:m}=xa(e);l=l?(l+"").toLowerCase():"text";let p=Og([i,o&&o.toAbortSignal()],s),g,f=p&&p.unsubscribe&&(()=>{p.unsubscribe()}),b;try{if(c&&d_&&r!=="get"&&r!=="head"&&(b=await p_(h,n))!==0){let C=new Request(t,{method:"POST",body:n,duplex:"half"}),A;if(I.isFormData(n)&&(A=C.headers.get("content-type"))&&h.setContentType(A),C.body){let[R,N]=ad(b,Ni(cd(c)));n=dd(C.body,Ug,R,N)}}I.isString(d)||(d=d?"include":"omit");let _="credentials"in Request.prototype;g=new Request(t,{...m,signal:p,method:r.toUpperCase(),headers:h.normalize().toJSON(),body:n,duplex:"half",credentials:_?d:void 0});let x=await fetch(g),k=ud&&(l==="stream"||l==="response");if(ud&&(a||k&&f)){let C={};["status","statusText","headers"].forEach(J=>{C[J]=x[J]});let A=I.toFiniteNumber(x.headers.get("content-length")),[R,N]=a&&ad(A,Ni(cd(a),!0))||[];x=new Response(dd(x.body,Ug,R,()=>{N&&N(),f&&f()}),C)}l=l||"text";let P=await Ea[I.findKey(Ea,l)||"text"](x,e);return!k&&f&&f(),await new Promise((C,A)=>{Mo(C,A,{data:P,headers:at.from(x.headers),status:x.status,statusText:x.statusText,config:e,request:g})})}catch(_){throw f&&f(),_&&_.name==="TypeError"&&/fetch/i.test(_.message)?Object.assign(new le("Network Error",le.ERR_NETWORK,e,g),{cause:_.cause||_}):le.from(_,_&&_.code,e,g)}});var pd={http:va,xhr:Bg,fetch:Mg};I.forEach(pd,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var Ng=e=>`- ${e}`,f_=e=>I.isFunction(e)||e===null||e===!1,Aa={getAdapter:e=>{e=I.isArray(e)?e:[e];let{length:t}=e,r,n,i={};for(let o=0;o<t;o++){r=e[o];let s;if(n=r,!f_(r)&&(n=pd[(s=String(r)).toLowerCase()],n===void 0))throw new le(`Unknown adapter '${s}'`);if(n)break;i[s||"#"+o]=n}if(!n){let o=Object.entries(i).map(([a,c])=>`adapter ${a} `+(c===!1?"is not supported by the environment":"is not available in the build")),s=t?o.length>1?`since :
69
- `+o.map(Ng).join(`
70
- `):" "+Ng(o[0]):"as no adapter specified";throw new le("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return n},adapters:pd};function fd(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Or(null,e)}function Ta(e){return fd(e),e.headers=at.from(e.headers),e.data=Fo.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Aa.getAdapter(e.adapter||Li.adapter)(e).then(function(n){return fd(e),n.data=Fo.call(e,e.transformResponse,n),n.headers=at.from(n.headers),n},function(n){return Lo(n)||(fd(e),n&&n.response&&(n.response.data=Fo.call(e,e.transformResponse,n.response),n.response.headers=at.from(n.response.headers))),Promise.reject(n)})}var Ia="1.8.4";var Ra={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Ra[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});var zg={};Ra.transitional=function(t,r,n){function i(o,s){return"[Axios v"+Ia+"] Transitional option '"+o+"'"+s+(n?". "+n:"")}return(o,s,a)=>{if(t===!1)throw new le(i(s," has been removed"+(r?" in "+r:"")),le.ERR_DEPRECATED);return r&&!zg[s]&&(zg[s]=!0,console.warn(i(s," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(o,s,a):!0}};Ra.spelling=function(t){return(r,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function m_(e,t,r){if(typeof e!="object")throw new le("options must be an object",le.ERR_BAD_OPTION_VALUE);let n=Object.keys(e),i=n.length;for(;i-- >0;){let o=n[i],s=t[o];if(s){let a=e[o],c=a===void 0||s(a,o,e);if(c!==!0)throw new le("option "+o+" must be "+c,le.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new le("Unknown option "+o,le.ERR_BAD_OPTION)}}var zo={assertOptions:m_,validators:Ra};var Ur=zo.validators,zi=class{constructor(t){this.defaults=t,this.interceptors={request:new Qh,response:new Qh}}async request(t,r){try{return await this._request(t,r)}catch(n){if(n instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;let o=i.stack?i.stack.replace(/^.+\n/,""):"";try{n.stack?o&&!String(n.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(n.stack+=`
71
- `+o):n.stack=o}catch{}}throw n}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=vr(this.defaults,r);let{transitional:n,paramsSerializer:i,headers:o}=r;n!==void 0&&zo.assertOptions(n,{silentJSONParsing:Ur.transitional(Ur.boolean),forcedJSONParsing:Ur.transitional(Ur.boolean),clarifyTimeoutError:Ur.transitional(Ur.boolean)},!1),i!=null&&(I.isFunction(i)?r.paramsSerializer={serialize:i}:zo.assertOptions(i,{encode:Ur.function,serialize:Ur.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),zo.assertOptions(r,{baseUrl:Ur.spelling("baseURL"),withXsrfToken:Ur.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let s=o&&I.merge(o.common,o[r.method]);o&&I.forEach(["delete","get","head","post","put","patch","common"],g=>{delete o[g]}),r.headers=at.concat(s,o);let a=[],c=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(r)===!1||(c=c&&f.synchronous,a.unshift(f.fulfilled,f.rejected))});let l=[];this.interceptors.response.forEach(function(f){l.push(f.fulfilled,f.rejected)});let h,d=0,m;if(!c){let g=[Ta.bind(this),void 0];for(g.unshift.apply(g,a),g.push.apply(g,l),m=g.length,h=Promise.resolve(r);d<m;)h=h.then(g[d++],g[d++]);return h}m=a.length;let p=r;for(d=0;d<m;){let g=a[d++],f=a[d++];try{p=g(p)}catch(b){f.call(this,b);break}}try{h=Ta.call(this,p)}catch(g){return Promise.reject(g)}for(d=0,m=l.length;d<m;)h=h.then(l[d++],l[d++]);return h}getUri(t){t=vr(this.defaults,t);let r=No(t.baseURL,t.url,t.allowAbsoluteUrls);return Oo(r,t.params,t.paramsSerializer)}};I.forEach(["delete","get","head","options"],function(t){zi.prototype[t]=function(r,n){return this.request(vr(n||{},{method:t,url:r,data:(n||{}).data}))}});I.forEach(["post","put","patch"],function(t){function r(n){return function(o,s,a){return this.request(vr(a||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:o,data:s}))}}zi.prototype[t]=r(),zi.prototype[t+"Form"]=r(!0)});var jo=zi;var md=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(o){r=o});let n=this;this.promise.then(i=>{if(!n._listeners)return;let o=n._listeners.length;for(;o-- >0;)n._listeners[o](i);n._listeners=null}),this.promise.then=i=>{let o,s=new Promise(a=>{n.subscribe(a),o=a}).then(i);return s.cancel=function(){n.unsubscribe(o)},s},t(function(o,s,a){n.reason||(n.reason=new Or(o,s,a),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){let t=new AbortController,r=n=>{t.abort(n)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new e(function(i){t=i}),cancel:t}}},jg=md;function gd(e){return function(r){return e.apply(null,r)}}function yd(e){return I.isObject(e)&&e.isAxiosError===!0}var bd={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(bd).forEach(([e,t])=>{bd[t]=e});var Vg=bd;function Hg(e){let t=new jo(e),r=Po(jo.prototype.request,t);return I.extend(r,jo.prototype,t,{allOwnKeys:!0}),I.extend(r,t,null,{allOwnKeys:!0}),r.create=function(i){return Hg(vr(e,i))},r}var rt=Hg(Li);rt.Axios=jo;rt.CanceledError=Or;rt.CancelToken=jg;rt.isCancel=Lo;rt.VERSION=Ia;rt.toFormData=mn;rt.AxiosError=le;rt.Cancel=rt.CanceledError;rt.all=function(t){return Promise.all(t)};rt.spread=gd;rt.isAxiosError=yd;rt.mergeConfig=vr;rt.AxiosHeaders=at;rt.formToJSON=e=>Sa(I.isHTMLForm(e)?new FormData(e):e);rt.getAdapter=Aa.getAdapter;rt.HttpStatusCode=Vg;rt.default=rt;var Wt=rt;var{Axios:DE,AxiosError:BE,CanceledError:OE,isCancel:UE,CancelToken:FE,VERSION:LE,all:ME,Cancel:NE,isAxiosError:zE,spread:jE,toFormData:VE,AxiosHeaders:HE,HttpStatusCode:WE,formToJSON:$E,getAdapter:GE,mergeConfig:qE}=Wt;var g_="https://proctoring-api-dev.easyproctor.tech/api",y_="https://proctoring-api-hml.easyproctor.tech/api",Wg="https://proctoring-api.easyproctor.tech/api",b_="https://easyproctor-realtime-api-dev.easyproctor.tech/api",v_="https://easyproctor-realtime-api-hml.easyproctor.tech/api",__="https://easyproctor-realtime-api.easyproctor.tech/api",ir=class{constructor(t){this.options=t;this.baseUrl=this.selectBaseUrl(t.type,t.isRealtime),this.token=t.token}getBaseUrl(){return this.baseUrl}selectBaseUrl(t,r){return r?t==="dev"?b_:t==="homol"?v_:__:t==="dev"?g_:t==="homol"?y_:Wg}setRealtime(t){this.baseUrl=this.selectBaseUrl(this.options.type,t)}getSocketUrl(){return this.baseUrl.replace("/api","/hub/sockethub")}async loginAuth(t,r){return await this.makeRequest({path:"/Auth",method:"POST",body:{emailOrCpf:t,key:r}})}async externalCameraRegister(t){return await this.makeRequest({path:"/ExternalCamera/register",method:"POST",body:t,jwt:this.token})}async externalCameraCheckTransmission(t){return await this.makeRequest({path:`/ExternalCamera/send-action/${t}`,method:"POST",body:{command:"Check_Transmission"},jwt:this.token})}async externalCameraStartTransmission(t,r){return await this.makeRequest({path:`/ExternalCamera/start-transmission/${t}`,method:"POST",body:{proctoringId:r},jwt:this.token})}async externalCameraStartSession(){return await this.makeRequest({path:"/ExternalCamera/start-session",method:"POST",body:{},jwt:this.token})}async goToExternalCameraPositionStep(t){return await this.makeRequest({path:`/ExternalCamera/go-to-position-step/${t}`,method:"POST",body:{},jwt:this.token})}async externalCameraFinish(t){return await this.makeRequest({path:`/ExternalCamera/finish/${t}`,method:"POST",body:{},jwt:this.token})}async confirmStart(t,r,n,i){return await this.makeRequest({path:`/proctoring/start/${t.examId}`,method:"POST",body:{clientId:t.clientId,proctoringType:r.proctoringType,latitude:n,longitude:i,captureScreen:r.captureScreen},jwt:t.token})}async getParamsConfig(t){return(await this.makeRequestAxios({path:"/Client/params",method:"GET",jwt:t.token}).catch(n=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async getSignedUrlImage(t,r){return(await this.makeRequestAxios({path:"/upload/signed-url-batch",method:"POST",jwt:t,body:r})).data}async getSignedUrl(t,r,n){return(await this.makeRequestAxios({path:"/upload/signed-url",method:"POST",jwt:t,body:{objectName:`${n}/${r.name}`,contentType:r.type}})).data}async initiateUpload(t,r,n){return(await this.makeRequestAxios({path:"/upload/initiate-upload",method:"POST",jwt:t,body:{objectName:r,contentType:n}})).data}async saveAlerts(t,r){await this.makeRequest({path:"/proctoring/save-alerts",method:"POST",jwt:t.token,body:{proctoringId:r.id,alerts:r.alerts}})}async finishAndSendUrls(t){return await this.makeRequest({path:`/proctoring/finish/${t.examId}`,method:"POST",body:{endDate:new Date().toISOString(),videoCameraUrl:"",audioCameraUrl:"",videoScreenUrl:""},jwt:t.token})}async log(t,r){let n;return r?.success!==null&&r?.success!==void 0?n=r.success?"4":"1":n="4",await this.makeRequest({path:"/Log",method:"POST",body:{entryType:n,eventName:t,message:r},jwt:this.token})}async signTerm(){return await this.makeRequest({path:"/User/sign-terms",method:"PATCH",body:{},jwt:this.token})}async signTermUrl(){return(await this.makeRequestAxios({path:"/User/sign-terms-url",method:"GET",jwt:this.token})).data}async startChallenge(t){return(await this.makeRequestAxios({path:"/Challenge/start",method:"POST",jwt:this.token,body:t})).data}async stopChallenge(t,r){return(await this.makeRequestAxios({path:`/Challenge/stop/${t}`,method:"POST",jwt:this.token,body:r})).data}async startRealtimeAlert(t){return(await this.makeRequestAxios({path:"/Realtime/start-warning",method:"POST",jwt:this.token,body:t})).data}async stopRealtimeAlert(t){return(await this.makeRequestAxios({path:"/Realtime/stop-warning",method:"POST",jwt:this.token,body:t})).data}async verifyFace(t,r,n){return(await this.makeRequestAxios({path:"/Realtime/verify-face",method:"POST",jwt:this.token,body:{proctoringId:t,base64:r,retry:n}})).data}async checkUpload(t,r,n){try{return(await this.makeRequestAxios({path:"/Upload/check",method:"POST",jwt:t,body:{objectName:r,contentType:n}})).data===!0}catch{return!1}}async getServerHour(t){return await this.makeRequest({path:"/Proctoring/server-hour",method:"GET",jwt:t})}async makeRequest(t){let{path:r,method:n,body:i,jwt:o}=t,s=await fetch(this.baseUrl+r,{method:n,body:i!=null?JSON.stringify(i):void 0,headers:{Authorization:`Bearer ${o}`,"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";let a=s.headers.get("content-type");return(a?a.includes("application/json"):!1)?await s.json():null}async makeRequestAxios(t){let{path:r,method:n,body:i,jwt:o}=t,s=await Wt.request({url:this.baseUrl+r,method:n,headers:{Authorization:`Bearer ${o}`,"Access-Control-Allow-Origin":"*"},data:i});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";return s}async makeRequestPUT(t){let{url:r,method:n,body:i,jwt:o}=t,s=await fetch(r,{method:n,body:i!=null?JSON.stringify(i):void 0,headers:{Accept:"*/*","Accept-Encoding":"gzip, deflate, br",Connection:"keep-alive","aeg-event-type":"Notification","Content-Type":"application/json","Cache-Control":"no-cache","x-ms-blob-type":"BlockBlob"}});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";let a=s.headers.get("content-type");return(a?a.includes("application/json"):!1)?await s.json():null}};var Pa=class{constructor(){this.baseUrl="https://localhost:5080"}async isAlive(){return(await this.makeRequestAxios({path:"/api/usb-device-manager/is-alive",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async isPluggedIn(){return(await this.makeRequestAxios({path:"/api/usb-device-manager/is-plugged-in",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async ConnectAndScan(){return(await this.makeRequestAxios({path:"/api/usb-device-manager/connect-and-scan",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async Devices({deviceType:t,rssiThreshold:r,packageRateThreshold:n}){let i=[];return t&&i.push(`deviceType=${t}`),r&&i.push(`rssiThreshold=${r}`),n&&i.push(`packageRateThreshold=${n}`),(await this.makeRequestAxios({path:`/api/usb-device-manager/devices?${i.join("&")}`,method:"GET",jwt:this.token}).catch(s=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async makeRequestAxios(t){let{path:r,method:n,body:i,jwt:o}=t,s=await Wt.request({url:this.baseUrl+r,method:n,headers:{Authorization:`Bearer ${o}`,"Access-Control-Allow-Origin":"*"},data:i});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";return s}};var Hn=class{constructor(){this.sessionDuration=0;this.state="Created",this.startedAt=new Date,this.alerts=[],this.recordings=[]}get hasSomethingToUpload(){for(let t of this.recordings)if(!t.upload)return!0;return!1}start(){this.state="Recording",this.startedAt=new Date(Date.now())}pause(){this.state="Paused"}resume(){this.state="Recording"}stop(){this.state="Ended",this.sessionDuration=Date.now()-this.startedAt.getTime()}setProctoringId(t){this.id=t}setEndConfirmed(){this.state="EndConfirmed"}setUploaded(){this.state="Uploaded"}setUploadConfirmed(){this.state="UploadConfirmed"}addAlert(t){this.alerts.push(t)}addRecording(t){this.recordings.push(t)}};var ji=class{constructor(t,r){this.backendService=new Pa;this.scanInterval=5;this.options={};this.options=r,this.context=t,this.backend=new ir({type:t?.type||"prod",token:t.token,isRealtime:!1}),this.currentIsPlugged=!0}setProctoringId(t){this.proctoringId=t}async isPluggedIn(t=!1){try{let r=await this.backendService.isPluggedIn();if(this.proctoringId&&t)if(r)this.currentIsPlugged||this.options.onRealtimeAlertsCallback?.({type:"spycam",message:"Spycam disconnected",description:"Dispositivo de varredura conectado.",status:"OK"});else{let n=new Hn;n.setProctoringId(this.proctoringId),n.addAlert({begin:Date.now()-this.startTime.getTime(),end:0,alert:33,type:5}),await this.backend.saveAlerts(this.context,n),this.options.onRealtimeAlertsCallback?.({type:"spycam",message:"Spycam disconnected",description:"Nenhum dispositivo de varredura conectado.",status:"ALERT"})}return this.currentIsPlugged=r,this.currentIsPlugged}catch(r){throw r}}async isAlive(){try{return await this.backendService.isAlive()}catch(t){throw t}}connectAndScan(){return this.backendService.ConnectAndScan()}async devices({deviceType:t,rssiThreshold:r,packageRateThreshold:n}){let i=await this.backendService.Devices({deviceType:t,rssiThreshold:r,packageRateThreshold:n});if(i.length>0&&(this.options.onRealtimeAlertsCallback?.({type:"spycam",message:"Spycam detected",description:"Dispositivo espi\xE3o detectado.",data:i}),this.proctoringId)){let o=new Hn;o.setProctoringId(this.proctoringId),o.addAlert({begin:Date.now()-this.startTime.getTime(),end:0,alert:32,type:5}),await this.backend.saveAlerts(this.context,o)}return i}async startCheckSpyCam(t,{deviceType:r,rssiThreshold:n,packageRateThreshold:i}){this.scanInterval=t,this.startTime=new Date(Date.now()),await this.isPluggedIn(!0),this.checkSpyCam=setInterval(async()=>{await this.isPluggedIn(!0)&&await this.devices({deviceType:r,rssiThreshold:n,packageRateThreshold:i})},this.scanInterval*6e4)}stopCheckSpyCam(){clearInterval(this.checkSpyCam)}};var or={cameraId:void 0,microphoneId:void 0,allowMultipleMonitors:!1,allowOnlyFirstMonitor:!0,captureScreen:!0,noiseLimit:40,proctoringType:"IMAGE",insights:"",onBufferSizeError:!1,useGeolocation:!1,useSpyScan:!1,useExternalCamera:!1,useChallenge:!1,screenRecorderOptions:{width:1280,height:720}};function Da(e){return e.width&&e.height?{width:e.width,height:e.height,minWidth:e.minWidth,minHeight:e.minHeight}:{width:640,height:480}}var $g={width:1280,height:720,minWidth:640,minHeight:480};function Vi(){let e=window.navigator.userAgent.split("SEB/");return e.length>1?e[1]:"1.0.0.0"}function Gg(){let e=navigator.userAgent,t;return e.match(/chrome|chromium|crios/i)?t="chrome":e.match(/firefox|fxios/i)?t="firefox":e.match(/safari/i)?t="safari":e.match(/opr\//i)?t="opera":e.match(/edg/i)?t="edge":t="No browser detection",t}function Fr(){if("userAgentData"in navigator){let e=navigator.userAgentData,t=e.mobile||!1,r=e.platform||"";return t||/Android|iOS/i.test(r)}return/Android|iPhone|iPad|iPod/i.test(navigator.userAgent)}var w_;function Ba(e){w_=e}function Vo(e,t,r=!1,n,i=!1){let o,s,a,c;c=0;let l,h=0,d={mimeType:"video/webm",videoBitsPerSecond:128e3,audioBitsPerSecond:64*1e3};MediaRecorder.isTypeSupported("video/webm;codecs=vp9")?d.mimeType="video/webm;codecs=vp9":console.warn("vp9 codec not supported. Using default mimeType without vp9."),i&&(d={mimeType:"audio/webm",audioBitsPerSecond:64*1e3});function m(A,R){let N=A.getTracks();if(N.length==0)throw new Error("No tracks found");let J=N.find(O=>O.readyState!="live");if(J)throw new Error("Track not live: "+J.label);console.log("buildMediaRecorder tracks OK");let S=new MediaRecorder(A,R);return console.log("buildMediaRecorder mediaRecorder OK"),S.ondataavailable=O=>{c=c+O.data.size,O.data.size>0&&t.push(O.data)},S}let p=m(e,d);async function g(A){return new Promise((R,N)=>{let J=!1;A.onstart=()=>{J=!0,console.log("recorder onstart"),l=new Date(Date.now()),R()},A.onerror=S=>{if(console.error("Recorder error event:",S),e.getTracks().forEach(O=>console.log(O.readyState)),"error"in S){let O=S.error;console.error("Error name:",O?.name),console.error("Error message:",O?.message),N(O||S)}else console.warn("Evento sem propriedade error"),N(S)};try{console.log("State antes do start:",A.state),A.start(1e4),l=new Date(Date.now())}catch(S){return console.error("Recorder erro ao chamar start event:",S),console.error("Erro real:",S,S?.error,S?.error?.name,S?.error?.message),console.error("Erro real 2:",S,S?.message,S?.name),e.getTracks().forEach(O=>console.log(O.readyState)),N(S)}setTimeout(()=>{J||(console.error("Timeout ao iniciar o recorder"),N(new Error("Timeout ao iniciar o recorder")))},2e3)})}async function f(){try{if(await g(p),p.state==="recording"){c=0;return}else console.log("Recorder n\xE3o est\xE1 em estado recording ap\xF3s start")}catch(A){throw console.error("Erro ao iniciar o recorder:",A),await new Promise(R=>setTimeout(R,300)),A}}function b(){return new Promise(A=>{p.state=="recording"?(console.log("stopRecording Recorder est\xE1 em estado recording, iniciando stop"),o=A,p.onstop=()=>{console.log("recorder onstop"),h=Date.now()-l.getTime()||0,console.log("duration no onstop",h),e.getTracks().forEach(R=>{R.stop()}),o&&o()},p.stop(),h=Date.now()-l.getTime()||0,console.log("duration imediatamente ap\xF3s mediaRecorder.stop()",h)):(console.log("stopRecording Recorder n\xE3o est\xE1 em estado recording"),A()),e.getTracks().forEach(R=>{R.stop()})})}function _(){return new Promise(A=>{p.state=="recording"&&p.pause(),A()})}function x(){return new Promise(A=>{p.state=="paused"&&p.resume(),A()})}function k(){return c}function P(){return l}function C(){return h}return{startRecording:f,stopRecording:b,pauseRecording:_,resumeRecording:x,recorderOptions:d,getBufferSize:k,getStartTime:P,getDuration:C}}var Oa,qg=e=>(Oa=e,Oa),Pt={DEVICES_CHECKED:"devices_checked",START:"start",FINISH:"finish",ERROR:"error",UPLOAD:"upload",UPLOAD_FILE:"upload_file",DOWNLOAD_VIDEO:"download_video",BUFFER_SIZE:"buffer_size",ANOTHER_STREAM:"another_stream",CHANGE_DEVICE:"change_device",STOP_SHARING_SCREEN:"stop_sharing_screen",ERROR_RECORDER_RTC:"error_recorder_rtc",BROWSER_NOT_SUPPORTED:"browser_not_supported",SAVE_ON_SESSION:"save_on_session"},Dt=(e,t)=>Oa&&Oa.log(e,t),me={registerDevicesChecked:(e,t,r)=>Dt(Pt.DEVICES_CHECKED,{proctoringId:e,success:t,description:r}),registerStart:(e,t,r)=>Dt(Pt.START,{proctoringId:e,success:t,description:r}),registerFinish:(e,t,r)=>Dt(Pt.FINISH,{proctoringId:e,success:t,description:r}),registerError:(e,t)=>Dt(Pt.ERROR,{proctoringId:e,description:t}),registerBrowserNotSupported:(e,t)=>Dt(Pt.BROWSER_NOT_SUPPORTED,{proctoringId:e,description:t}),registerUpload:(e,t,r,n,i)=>Dt(Pt.UPLOAD,{proctoringId:e,success:t,description:r,serviceType:n,uploadTime:i}),registerUploadFile:(e,t,r)=>Dt(Pt.UPLOAD_FILE,{proctoringId:e,description:t,fileType:r}),registerChangeDevice:(e,t,r)=>Dt(Pt.CHANGE_DEVICE,{proctoringId:e,inOrOut:t,description:r}),registerStopSharingScreen:(e,t)=>Dt(Pt.STOP_SHARING_SCREEN,{proctoringId:e,description:t}),registerErrorRecorderRTC:(e,t)=>Dt(Pt.ERROR_RECORDER_RTC,{proctoringId:e,description:t}),registerDownloadFile:(e,t)=>Dt(Pt.DOWNLOAD_VIDEO,{proctoringId:e,description:t}),registerOnBufferSizeError:(e,t)=>Dt(Pt.BUFFER_SIZE,{proctoringId:e,description:t}),registerAnotherStream:(e,t)=>Dt(Pt.ANOTHER_STREAM,{proctoringId:e,description:t}),registerSaveOnSession:(e,t)=>Dt(Pt.SAVE_ON_SESSION,{proctoringId:e,description:t})};var Yr=class{constructor(t,r){this.backend=r;this.imageUrlPackage=[];this.imageBatchNum=0;this.contImages=0;this.proctoringId=t}async uploadPackage(t,r){let{file:n}=t;try{console.log("Upload service: uploadPackage");var i="";return await this.backend.getSignedUrl(r,n,this.proctoringId).then(o=>i=o).catch(o=>{throw o}),console.log("Upload service: uploadUrl",i),await Wt.request({url:i,method:"PUT",headers:{"Content-Type":n.type,"x-ms-blob-type":"BlockBlob"},data:n}).then(()=>!0).catch(o=>{throw o}),!0}catch(o){throw me.registerError(this.proctoringId,`Failed to upload package ${o}
66
+ `,document.getElementsByTagName("head")[0].appendChild(i)}async predictWebcam(){if(this.detecting==!1)return;if(this.lastVideoTime===-1&&await this.detector.setOptions({runningMode:"VIDEO"}),Date.now()-this.lastExecutionDate>=1e3){let r=Date.now();if(this.lastExecutionDate=r,this.video.currentTime!==this.lastVideoTime){this.lastVideoTime=this.video.currentTime;let n=this.detector.detectForVideo(this.video,r);this.verify(n)}}this.animationFrameId=setTimeout(()=>{this.predictWebcam()},0)}handleAlert(t,r){this.options.onRealtimeAlertsCallback&&this.options.onRealtimeAlertsCallback({status:"ALERT",description:this.alertTranslate(t),type:r,category:t,begin:0,end:0}),this.options.onRealtimeAlertsCallback==null&&this.error&&(this.error.innerText=t)}handleOk(t,r){this.options.onRealtimeAlertsCallback&&this.options.onRealtimeAlertsCallback({status:"OK",description:this.alertTranslate(t),type:r,category:t,begin:0,end:0}),this.error&&(this.error.innerText="")}displayVideoDetections(t){}verify(t){}alertTranslate(t){switch(t){case"multiple_faces_detected":return"M\xFAltiplas faces detectadas";case"no_face_detected":return"Nenhuma face encontrada";case"multiple_persons_detected":return"M\xFAltiplas pessoas detectadas";case"no_person_detected":return"Nenhuma pessoa encontrada";case"cellphone_detected":return"Celular detectado";case"wrong_position_face_detected":return"Face na posi\xE7\xE3o errada";case"person_ok":return"Pessoa detectada";case"cellphone_ok":return"Nenhum celular detectado";case"face_ok":return"Face detectada";case"ok_position_face_detected":return"Face na posi\xE7\xE3o correta";case"wrong_face_size_detected":return"Face muito perto da c\xE2mera, afaste-se um pouco mais";case"wrong_face_position_edge_detected":return"Face muito pr\xF3xima da borda, mova-se para o centro da tela";case"wrong_face_position_move_right_detected":return"Face n\xE3o centralizada, mova-se para a direita";case"wrong_face_position_move_left_detected":return"Face n\xE3o centralizada, mova-se para a esquerda";case"wrong_face_position_move_top_detected":return"Face n\xE3o centralizada, mova-se para cima";case"wrong_face_position_move_bottom_detected":return"Face n\xE3o centralizada, mova-se para baixo";case"face_turned_left_detected":return"Face virada para a esquerda, centralize-a";case"face_turned_right_detected":return"Face virada para a direita, centralize-a";case"face_turned_up_detected":return"Face virada para cima, centralize-a";case"face_turned_down_detected":return"Face virada para baixo, centralize-a";default:return t}}};function lg(){let e=document.createElement("div");e.setAttribute("id","liveViewFrameDetection");let t=document.createElement("erro");t.setAttribute("id","errorFrameDetection");let r=document.createElement("video");r.setAttribute("id","videoPreviewFrameDetection"),r.muted=!0,e.style.width="320px",e.style.height="180px",e.style.position="fixed",e.style.bottom="30px",e.style.right="30px",e.style.display="none",r.style.width="100%",r.style.height="100%",r.style.background="#000",e.appendChild(t),e.appendChild(r),document.body.appendChild(e)}var Oi=class extends Bi{constructor(r,n,i="videoPreviewFrameDetection",o="liveViewFrameDetection"){super("FaceDetector","https://storage.googleapis.com/mediapipe-models/face_detector/blaze_face_short_range/float16/1/blaze_face_short_range.tflite",r,n,i,o);this.emmitedPositionAlert=!1;this.emmitedFaceAlert=!1;this.numFacesSent=-1}stopDetection(){super.stopDetection(),this.emmitedFaceAlert&&this.handleOk("face_stop","face_detection_on_stream"),this.numFacesSent=-1,this.emmitedPositionAlert=!1,this.emmitedFaceAlert=!1}displayVideoDetections(r){for(let s of this.children)this.liveView.removeChild(s);this.children.splice(0);let n=this.video;if(n.videoWidth===0||n.videoHeight===0)return;let i=n.offsetWidth/n.videoWidth,o=n.offsetHeight/n.videoHeight;for(let s of r.detections){let a=s.boundingBox,l=(n.videoWidth-a.originX-a.width)*i,h=a.originY*o,d=(a.width-10)*i,g=a.height*o,p=document.createElement("div");p.setAttribute("class","highlighter"),Object.assign(p.style,{right:`${l+20}px`,top:`${h}px`,width:`${d}px`,height:`${g-10}px`,zIndex:"1",position:"absolute",border:"1px dashed #fff",background:"rgba(0, 255, 0, 0.25)",transform:"scaleX(-1)"});let m=document.createElement("p"),u=s.categories[0].score?Math.round(parseFloat(s.categories[0].score)*100):0;if(m.innerText=`Confidence: ${u}%`,Object.assign(m.style,{right:`${l+20}px`,top:`${h-50}px`,width:`${d}px`,zIndex:"2",position:"absolute",margin:"0",fontSize:"12px",padding:"5px",color:"#fff",backgroundColor:"#007f8b",textAlign:"center",transform:"scaleX(-1)"}),this.liveView.appendChild(p),this.liveView.appendChild(m),this.children.push(p),this.children.push(m),s.keypoints)for(let b of s.keypoints){let _=document.createElement("span");_.className="key-point";let E=b.x<2?b.x*n.videoWidth:b.x,k=b.y<2?b.y*n.videoHeight:b.y,x=(n.videoWidth-E)*i,A=k*o;Object.assign(_.style,{right:`${x+20}px`,top:`${A-3}px`,position:"absolute",width:"6px",height:"6px",borderRadius:"50%",backgroundColor:"red",zIndex:"3"}),this.liveView.appendChild(_),this.children.push(_)}}}verify(r){if(this.paramsConfig.videoBehaviourParameters?.detectFace&&r.detections.length!==this.numFacesSent)if(this.numFacesSent=r.detections.length,r.detections.length===0){this.handleAlert("no_face_detected","face_detection_on_stream"),this.emmitedFaceAlert=!0;return}else if(r.detections.length>1){this.handleAlert("multiple_faces_detected","face_detection_on_stream"),this.emmitedFaceAlert=!0;return}else this.handleOk("face_ok","face_detection_on_stream"),this.emmitedFaceAlert=!1;if(r.detections.length===0)return;let n=!1,i=document.getElementById(this.classVideo),o=i.videoWidth,s=i.videoHeight,a=r.detections[0],c=a.boundingBox,l=a.keypoints,h=l[0],d=l[1],g=l[3],p=l[4],m=l[5],u=l[2];o>s&&(c.height/s>.7?(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_size_detected","position_detection_on_stream"),n=!0,this.emmitedPositionAlert=!0):c.width/o>.7&&(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_size_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0,n=!0));let b=[c.originX,c.originY],_=[c.originX+c.width,c.originY+c.height];(b[0]<.1*c.width||b[1]<.2*c.height||_[0]>o-.1*c.width||_[1]>s-5)&&(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_position_edge_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0,n=!0);let E=b[0],k=o-_[0],P=b[1],x=s-_[1];E>2*k&&(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_position_move_right_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0,n=!0),P>4*x&&(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_position_move_top_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0,n=!0),k>2*E&&(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_position_move_left_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0,n=!0),x>3*P&&(!this.emmitedPositionAlert&&this.handleAlert("wrong_face_position_move_bottom_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0,n=!0),n==!1&&(this.emmitedPositionAlert&&this.handleOk("ok_position_face_detected","position_detection_on_stream"),this.emmitedPositionAlert=!1)}};function Do(e,t){return function(){return e.apply(t,arguments)}}var{toString:lv}=Object.prototype,{getPrototypeOf:Qh}=Object,ya=(e=>t=>{let r=lv.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),br=e=>(e=e.toLowerCase(),t=>ya(t)===e),ba=e=>t=>typeof t===e,{isArray:Ui}=Array,Bo=ba("undefined");function hv(e){return e!==null&&!Bo(e)&&e.constructor!==null&&!Bo(e.constructor)&&Ht(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var dg=br("ArrayBuffer");function dv(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&dg(e.buffer),t}var uv=ba("string"),Ht=ba("function"),ug=ba("number"),va=e=>e!==null&&typeof e=="object",pv=e=>e===!0||e===!1,ga=e=>{if(ya(e)!=="object")return!1;let t=Qh(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},fv=br("Date"),mv=br("File"),gv=br("Blob"),yv=br("FileList"),bv=e=>va(e)&&Ht(e.pipe),vv=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ht(e.append)&&((t=ya(e))==="formdata"||t==="object"&&Ht(e.toString)&&e.toString()==="[object FormData]"))},_v=br("URLSearchParams"),[wv,Sv,kv,Ev]=["ReadableStream","Request","Response","Headers"].map(br),Cv=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Oo(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,i;if(typeof e!="object"&&(e=[e]),Ui(e))for(n=0,i=e.length;n<i;n++)t.call(null,e[n],n,e);else{let o=r?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length,a;for(n=0;n<s;n++)a=o[n],t.call(null,e[a],a,e)}}function pg(e,t){t=t.toLowerCase();let r=Object.keys(e),n=r.length,i;for(;n-- >0;)if(i=r[n],t===i.toLowerCase())return i;return null}var jn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,fg=e=>!Bo(e)&&e!==jn;function Zh(){let{caseless:e}=fg(this)&&this||{},t={},r=(n,i)=>{let o=e&&pg(t,i)||i;ga(t[o])&&ga(n)?t[o]=Zh(t[o],n):ga(n)?t[o]=Zh({},n):Ui(n)?t[o]=n.slice():t[o]=n};for(let n=0,i=arguments.length;n<i;n++)arguments[n]&&Oo(arguments[n],r);return t}var xv=(e,t,r,{allOwnKeys:n}={})=>(Oo(t,(i,o)=>{r&&Ht(i)?e[o]=Do(i,r):e[o]=i},{allOwnKeys:n}),e),Av=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Tv=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},Iv=(e,t,r,n)=>{let i,o,s,a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),o=i.length;o-- >0;)s=i[o],(!n||n(s,e,t))&&!a[s]&&(t[s]=e[s],a[s]=!0);e=r!==!1&&Qh(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},Rv=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let n=e.indexOf(t,r);return n!==-1&&n===r},Pv=e=>{if(!e)return null;if(Ui(e))return e;let t=e.length;if(!ug(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},Dv=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Qh(Uint8Array)),Bv=(e,t)=>{let n=(e&&e[Symbol.iterator]).call(e),i;for(;(i=n.next())&&!i.done;){let o=i.value;t.call(e,o[0],o[1])}},Ov=(e,t)=>{let r,n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},Uv=br("HTMLFormElement"),Fv=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,i){return n.toUpperCase()+i}),hg=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),Lv=br("RegExp"),mg=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),n={};Oo(r,(i,o)=>{let s;(s=t(i,o,e))!==!1&&(n[o]=s||i)}),Object.defineProperties(e,n)},Mv=e=>{mg(e,(t,r)=>{if(Ht(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=e[r];if(Ht(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},Nv=(e,t)=>{let r={},n=i=>{i.forEach(o=>{r[o]=!0})};return Ui(e)?n(e):n(String(e).split(t)),r},zv=()=>{},jv=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Vv(e){return!!(e&&Ht(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var Hv=e=>{let t=new Array(10),r=(n,i)=>{if(va(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[i]=n;let o=Ui(n)?[]:{};return Oo(n,(s,a)=>{let c=r(s,i+1);!Bo(c)&&(o[a]=c)}),t[i]=void 0,o}}return n};return r(e,0)},Wv=br("AsyncFunction"),$v=e=>e&&(va(e)||Ht(e))&&Ht(e.then)&&Ht(e.catch),gg=((e,t)=>e?setImmediate:t?((r,n)=>(jn.addEventListener("message",({source:i,data:o})=>{i===jn&&o===r&&n.length&&n.shift()()},!1),i=>{n.push(i),jn.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",Ht(jn.postMessage)),Gv=typeof queueMicrotask<"u"?queueMicrotask.bind(jn):typeof process<"u"&&process.nextTick||gg,I={isArray:Ui,isArrayBuffer:dg,isBuffer:hv,isFormData:vv,isArrayBufferView:dv,isString:uv,isNumber:ug,isBoolean:pv,isObject:va,isPlainObject:ga,isReadableStream:wv,isRequest:Sv,isResponse:kv,isHeaders:Ev,isUndefined:Bo,isDate:fv,isFile:mv,isBlob:gv,isRegExp:Lv,isFunction:Ht,isStream:bv,isURLSearchParams:_v,isTypedArray:Dv,isFileList:yv,forEach:Oo,merge:Zh,extend:xv,trim:Cv,stripBOM:Av,inherits:Tv,toFlatObject:Iv,kindOf:ya,kindOfTest:br,endsWith:Rv,toArray:Pv,forEachEntry:Bv,matchAll:Ov,isHTMLForm:Uv,hasOwnProperty:hg,hasOwnProp:hg,reduceDescriptors:mg,freezeMethods:Mv,toObjectSet:Nv,toCamelCase:Fv,noop:zv,toFiniteNumber:jv,findKey:pg,global:jn,isContextDefined:fg,isSpecCompliantForm:Vv,toJSONObject:Hv,isAsyncFn:Wv,isThenable:$v,setImmediate:gg,asap:Gv};function Fi(e,t,r,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i,this.status=i.status?i.status:null)}I.inherits(Fi,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:I.toJSONObject(this.config),code:this.code,status:this.status}}});var yg=Fi.prototype,bg={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{bg[e]={value:e}});Object.defineProperties(Fi,bg);Object.defineProperty(yg,"isAxiosError",{value:!0});Fi.from=(e,t,r,n,i,o)=>{let s=Object.create(yg);return I.toFlatObject(e,s,function(c){return c!==Error.prototype},a=>a!=="isAxiosError"),Fi.call(s,e.message,t,r,n,i),s.cause=e,s.name=e.name,o&&Object.assign(s,o),s};var le=Fi;var _a=null;function ed(e){return I.isPlainObject(e)||I.isArray(e)}function _g(e){return I.endsWith(e,"[]")?e.slice(0,-2):e}function vg(e,t,r){return e?e.concat(t).map(function(i,o){return i=_g(i),!r&&o?"["+i+"]":i}).join(r?".":""):t}function qv(e){return I.isArray(e)&&!e.some(ed)}var Kv=I.toFlatObject(I,{},null,function(t){return/^is[A-Z]/.test(t)});function Xv(e,t,r){if(!I.isObject(e))throw new TypeError("target must be an object");t=t||new(_a||FormData),r=I.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(u,b){return!I.isUndefined(b[u])});let n=r.metaTokens,i=r.visitor||h,o=r.dots,s=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&I.isSpecCompliantForm(t);if(!I.isFunction(i))throw new TypeError("visitor must be a function");function l(m){if(m===null)return"";if(I.isDate(m))return m.toISOString();if(!c&&I.isBlob(m))throw new le("Blob is not supported. Use a Buffer instead.");return I.isArrayBuffer(m)||I.isTypedArray(m)?c&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function h(m,u,b){let _=m;if(m&&!b&&typeof m=="object"){if(I.endsWith(u,"{}"))u=n?u:u.slice(0,-2),m=JSON.stringify(m);else if(I.isArray(m)&&qv(m)||(I.isFileList(m)||I.endsWith(u,"[]"))&&(_=I.toArray(m)))return u=_g(u),_.forEach(function(k,P){!(I.isUndefined(k)||k===null)&&t.append(s===!0?vg([u],P,o):s===null?u:u+"[]",l(k))}),!1}return ed(m)?!0:(t.append(vg(b,u,o),l(m)),!1)}let d=[],g=Object.assign(Kv,{defaultVisitor:h,convertValue:l,isVisitable:ed});function p(m,u){if(!I.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+u.join("."));d.push(m),I.forEach(m,function(_,E){(!(I.isUndefined(_)||_===null)&&i.call(t,_,I.isString(E)?E.trim():E,u,g))===!0&&p(_,u?u.concat(E):[E])}),d.pop()}}if(!I.isObject(e))throw new TypeError("data must be an object");return p(e),t}var mn=Xv;function wg(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Sg(e,t){this._pairs=[],e&&mn(e,this,t)}var kg=Sg.prototype;kg.append=function(t,r){this._pairs.push([t,r])};kg.toString=function(t){let r=t?function(n){return t.call(this,n,wg)}:wg;return this._pairs.map(function(i){return r(i[0])+"="+r(i[1])},"").join("&")};var wa=Sg;function Jv(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Uo(e,t,r){if(!t)return e;let n=r&&r.encode||Jv;I.isFunction(r)&&(r={serialize:r});let i=r&&r.serialize,o;if(i?o=i(t,r):o=I.isURLSearchParams(t)?t.toString():new wa(t,r).toString(n),o){let s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}var td=class{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){I.forEach(this.handlers,function(n){n!==null&&t(n)})}},rd=td;var Sa={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var Eg=typeof URLSearchParams<"u"?URLSearchParams:wa;var Cg=typeof FormData<"u"?FormData:null;var xg=typeof Blob<"u"?Blob:null;var Ag={isBrowser:!0,classes:{URLSearchParams:Eg,FormData:Cg,Blob:xg},protocols:["http","https","file","blob","url","data"]};var od={};Fy(od,{hasBrowserEnv:()=>id,hasStandardBrowserEnv:()=>Yv,hasStandardBrowserWebWorkerEnv:()=>Zv,navigator:()=>nd,origin:()=>Qv});var id=typeof window<"u"&&typeof document<"u",nd=typeof navigator=="object"&&navigator||void 0,Yv=id&&(!nd||["ReactNative","NativeScript","NS"].indexOf(nd.product)<0),Zv=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Qv=id&&window.location.href||"http://localhost";var je={...od,...Ag};function sd(e,t){return mn(e,new je.classes.URLSearchParams,Object.assign({visitor:function(r,n,i,o){return je.isNode&&I.isBuffer(r)?(this.append(n,r.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},t))}function e_(e){return I.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function t_(e){let t={},r=Object.keys(e),n,i=r.length,o;for(n=0;n<i;n++)o=r[n],t[o]=e[o];return t}function r_(e){function t(r,n,i,o){let s=r[o++];if(s==="__proto__")return!0;let a=Number.isFinite(+s),c=o>=r.length;return s=!s&&I.isArray(i)?i.length:s,c?(I.hasOwnProp(i,s)?i[s]=[i[s],n]:i[s]=n,!a):((!i[s]||!I.isObject(i[s]))&&(i[s]=[]),t(r,n,i[s],o)&&I.isArray(i[s])&&(i[s]=t_(i[s])),!a)}if(I.isFormData(e)&&I.isFunction(e.entries)){let r={};return I.forEachEntry(e,(n,i)=>{t(e_(n),i,r,0)}),r}return null}var ka=r_;function n_(e,t,r){if(I.isString(e))try{return(t||JSON.parse)(e),I.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}var ad={transitional:Sa,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let n=r.getContentType()||"",i=n.indexOf("application/json")>-1,o=I.isObject(t);if(o&&I.isHTMLForm(t)&&(t=new FormData(t)),I.isFormData(t))return i?JSON.stringify(ka(t)):t;if(I.isArrayBuffer(t)||I.isBuffer(t)||I.isStream(t)||I.isFile(t)||I.isBlob(t)||I.isReadableStream(t))return t;if(I.isArrayBufferView(t))return t.buffer;if(I.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return sd(t,this.formSerializer).toString();if((a=I.isFileList(t))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return mn(a?{"files[]":t}:t,c&&new c,this.formSerializer)}}return o||i?(r.setContentType("application/json",!1),n_(t)):t}],transformResponse:[function(t){let r=this.transitional||ad.transitional,n=r&&r.forcedJSONParsing,i=this.responseType==="json";if(I.isResponse(t)||I.isReadableStream(t))return t;if(t&&I.isString(t)&&(n&&!this.responseType||i)){let s=!(r&&r.silentJSONParsing)&&i;try{return JSON.parse(t)}catch(a){if(s)throw a.name==="SyntaxError"?le.from(a,le.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:je.classes.FormData,Blob:je.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};I.forEach(["delete","get","head","post","put","patch"],e=>{ad.headers[e]={}});var Li=ad;var i_=I.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Tg=e=>{let t={},r,n,i;return e&&e.split(`
67
+ `).forEach(function(s){i=s.indexOf(":"),r=s.substring(0,i).trim().toLowerCase(),n=s.substring(i+1).trim(),!(!r||t[r]&&i_[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t};var Ig=Symbol("internals");function Fo(e){return e&&String(e).trim().toLowerCase()}function Ea(e){return e===!1||e==null?e:I.isArray(e)?e.map(Ea):String(e)}function o_(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}var s_=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function cd(e,t,r,n,i){if(I.isFunction(n))return n.call(this,t,r);if(i&&(t=r),!!I.isString(t)){if(I.isString(n))return t.indexOf(n)!==-1;if(I.isRegExp(n))return n.test(t)}}function a_(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function c_(e,t){let r=I.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(i,o,s){return this[n].call(this,t,i,o,s)},configurable:!0})})}var Mi=class{constructor(t){t&&this.set(t)}set(t,r,n){let i=this;function o(a,c,l){let h=Fo(c);if(!h)throw new Error("header name must be a non-empty string");let d=I.findKey(i,h);(!d||i[d]===void 0||l===!0||l===void 0&&i[d]!==!1)&&(i[d||c]=Ea(a))}let s=(a,c)=>I.forEach(a,(l,h)=>o(l,h,c));if(I.isPlainObject(t)||t instanceof this.constructor)s(t,r);else if(I.isString(t)&&(t=t.trim())&&!s_(t))s(Tg(t),r);else if(I.isHeaders(t))for(let[a,c]of t.entries())o(c,a,n);else t!=null&&o(r,t,n);return this}get(t,r){if(t=Fo(t),t){let n=I.findKey(this,t);if(n){let i=this[n];if(!r)return i;if(r===!0)return o_(i);if(I.isFunction(r))return r.call(this,i,n);if(I.isRegExp(r))return r.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=Fo(t),t){let n=I.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||cd(this,this[n],n,r)))}return!1}delete(t,r){let n=this,i=!1;function o(s){if(s=Fo(s),s){let a=I.findKey(n,s);a&&(!r||cd(n,n[a],a,r))&&(delete n[a],i=!0)}}return I.isArray(t)?t.forEach(o):o(t),i}clear(t){let r=Object.keys(this),n=r.length,i=!1;for(;n--;){let o=r[n];(!t||cd(this,this[o],o,t,!0))&&(delete this[o],i=!0)}return i}normalize(t){let r=this,n={};return I.forEach(this,(i,o)=>{let s=I.findKey(n,o);if(s){r[s]=Ea(i),delete r[o];return}let a=t?a_(o):String(o).trim();a!==o&&delete r[o],r[a]=Ea(i),n[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return I.forEach(this,(n,i)=>{n!=null&&n!==!1&&(r[i]=t&&I.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
68
+ `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let n=new this(t);return r.forEach(i=>n.set(i)),n}static accessor(t){let n=(this[Ig]=this[Ig]={accessors:{}}).accessors,i=this.prototype;function o(s){let a=Fo(s);n[a]||(c_(i,s),n[a]=!0)}return I.isArray(t)?t.forEach(o):o(t),this}};Mi.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);I.reduceDescriptors(Mi.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}});I.freezeMethods(Mi);var at=Mi;function Lo(e,t){let r=this||Li,n=t||r,i=at.from(n.headers),o=n.data;return I.forEach(e,function(a){o=a.call(r,o,i.normalize(),t?t.status:void 0)}),i.normalize(),o}function Mo(e){return!!(e&&e.__CANCEL__)}function Rg(e,t,r){le.call(this,e??"canceled",le.ERR_CANCELED,t,r),this.name="CanceledError"}I.inherits(Rg,le,{__CANCEL__:!0});var Ur=Rg;function No(e,t,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new le("Request failed with status code "+r.status,[le.ERR_BAD_REQUEST,le.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function ld(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function l_(e,t){e=e||10;let r=new Array(e),n=new Array(e),i=0,o=0,s;return t=t!==void 0?t:1e3,function(c){let l=Date.now(),h=n[o];s||(s=l),r[i]=c,n[i]=l;let d=o,g=0;for(;d!==i;)g+=r[d++],d=d%e;if(i=(i+1)%e,i===o&&(o=(o+1)%e),l-s<t)return;let p=h&&l-h;return p?Math.round(g*1e3/p):void 0}}var Pg=l_;function h_(e,t){let r=0,n=1e3/t,i,o,s=(l,h=Date.now())=>{r=h,i=null,o&&(clearTimeout(o),o=null),e.apply(null,l)};return[(...l)=>{let h=Date.now(),d=h-r;d>=n?s(l,h):(i=l,o||(o=setTimeout(()=>{o=null,s(i)},n-d)))},()=>i&&s(i)]}var Dg=h_;var Ni=(e,t,r=3)=>{let n=0,i=Pg(50,250);return Dg(o=>{let s=o.loaded,a=o.lengthComputable?o.total:void 0,c=s-n,l=i(c),h=s<=a;n=s;let d={loaded:s,total:a,progress:a?s/a:void 0,bytes:c,rate:l||void 0,estimated:l&&a&&h?(a-s)/l:void 0,event:o,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(d)},r)},hd=(e,t)=>{let r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},dd=e=>(...t)=>I.asap(()=>e(...t));var Bg=je.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,je.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(je.origin),je.navigator&&/(msie|trident)/i.test(je.navigator.userAgent)):()=>!0;var Og=je.hasStandardBrowserEnv?{write(e,t,r,n,i,o){let s=[e+"="+encodeURIComponent(t)];I.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),I.isString(n)&&s.push("path="+n),I.isString(i)&&s.push("domain="+i),o===!0&&s.push("secure"),document.cookie=s.join("; ")},read(e){let t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function ud(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function pd(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function zo(e,t,r){let n=!ud(t);return e&&(n||r==!1)?pd(e,t):t}var Ug=e=>e instanceof at?{...e}:e;function vr(e,t){t=t||{};let r={};function n(l,h,d,g){return I.isPlainObject(l)&&I.isPlainObject(h)?I.merge.call({caseless:g},l,h):I.isPlainObject(h)?I.merge({},h):I.isArray(h)?h.slice():h}function i(l,h,d,g){if(I.isUndefined(h)){if(!I.isUndefined(l))return n(void 0,l,d,g)}else return n(l,h,d,g)}function o(l,h){if(!I.isUndefined(h))return n(void 0,h)}function s(l,h){if(I.isUndefined(h)){if(!I.isUndefined(l))return n(void 0,l)}else return n(void 0,h)}function a(l,h,d){if(d in t)return n(l,h);if(d in e)return n(void 0,l)}let c={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(l,h,d)=>i(Ug(l),Ug(h),d,!0)};return I.forEach(Object.keys(Object.assign({},e,t)),function(h){let d=c[h]||i,g=d(e[h],t[h],h);I.isUndefined(g)&&d!==a||(r[h]=g)}),r}var Ca=e=>{let t=vr({},e),{data:r,withXSRFToken:n,xsrfHeaderName:i,xsrfCookieName:o,headers:s,auth:a}=t;t.headers=s=at.from(s),t.url=Uo(zo(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let c;if(I.isFormData(r)){if(je.hasStandardBrowserEnv||je.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if((c=s.getContentType())!==!1){let[l,...h]=c?c.split(";").map(d=>d.trim()).filter(Boolean):[];s.setContentType([l||"multipart/form-data",...h].join("; "))}}if(je.hasStandardBrowserEnv&&(n&&I.isFunction(n)&&(n=n(t)),n||n!==!1&&Bg(t.url))){let l=i&&o&&Og.read(o);l&&s.set(i,l)}return t};var d_=typeof XMLHttpRequest<"u",Fg=d_&&function(e){return new Promise(function(r,n){let i=Ca(e),o=i.data,s=at.from(i.headers).normalize(),{responseType:a,onUploadProgress:c,onDownloadProgress:l}=i,h,d,g,p,m;function u(){p&&p(),m&&m(),i.cancelToken&&i.cancelToken.unsubscribe(h),i.signal&&i.signal.removeEventListener("abort",h)}let b=new XMLHttpRequest;b.open(i.method.toUpperCase(),i.url,!0),b.timeout=i.timeout;function _(){if(!b)return;let k=at.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),x={data:!a||a==="text"||a==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:k,config:e,request:b};No(function(R){r(R),u()},function(R){n(R),u()},x),b=null}"onloadend"in b?b.onloadend=_:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(_)},b.onabort=function(){b&&(n(new le("Request aborted",le.ECONNABORTED,e,b)),b=null)},b.onerror=function(){n(new le("Network Error",le.ERR_NETWORK,e,b)),b=null},b.ontimeout=function(){let P=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded",x=i.transitional||Sa;i.timeoutErrorMessage&&(P=i.timeoutErrorMessage),n(new le(P,x.clarifyTimeoutError?le.ETIMEDOUT:le.ECONNABORTED,e,b)),b=null},o===void 0&&s.setContentType(null),"setRequestHeader"in b&&I.forEach(s.toJSON(),function(P,x){b.setRequestHeader(x,P)}),I.isUndefined(i.withCredentials)||(b.withCredentials=!!i.withCredentials),a&&a!=="json"&&(b.responseType=i.responseType),l&&([g,m]=Ni(l,!0),b.addEventListener("progress",g)),c&&b.upload&&([d,p]=Ni(c),b.upload.addEventListener("progress",d),b.upload.addEventListener("loadend",p)),(i.cancelToken||i.signal)&&(h=k=>{b&&(n(!k||k.type?new Ur(null,e,b):k),b.abort(),b=null)},i.cancelToken&&i.cancelToken.subscribe(h),i.signal&&(i.signal.aborted?h():i.signal.addEventListener("abort",h)));let E=ld(i.url);if(E&&je.protocols.indexOf(E)===-1){n(new le("Unsupported protocol "+E+":",le.ERR_BAD_REQUEST,e));return}b.send(o||null)})};var u_=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let n=new AbortController,i,o=function(l){if(!i){i=!0,a();let h=l instanceof Error?l:this.reason;n.abort(h instanceof le?h:new Ur(h instanceof Error?h.message:h))}},s=t&&setTimeout(()=>{s=null,o(new le(`timeout ${t} of ms exceeded`,le.ETIMEDOUT))},t),a=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(o):l.removeEventListener("abort",o)}),e=null)};e.forEach(l=>l.addEventListener("abort",o));let{signal:c}=n;return c.unsubscribe=()=>I.asap(a),c}},Lg=u_;var p_=function*(e,t){let r=e.byteLength;if(!t||r<t){yield e;return}let n=0,i;for(;n<r;)i=n+t,yield e.slice(n,i),n=i},f_=async function*(e,t){for await(let r of m_(e))yield*p_(r,t)},m_=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:r,value:n}=await t.read();if(r)break;yield n}}finally{await t.cancel()}},fd=(e,t,r,n)=>{let i=f_(e,t),o=0,s,a=c=>{s||(s=!0,n&&n(c))};return new ReadableStream({async pull(c){try{let{done:l,value:h}=await i.next();if(l){a(),c.close();return}let d=h.byteLength;if(r){let g=o+=d;r(g)}c.enqueue(new Uint8Array(h))}catch(l){throw a(l),l}},cancel(c){return a(c),i.return()}},{highWaterMark:2})};var Aa=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Ng=Aa&&typeof ReadableStream=="function",g_=Aa&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),zg=(e,...t)=>{try{return!!e(...t)}catch{return!1}},y_=Ng&&zg(()=>{let e=!1,t=new Request(je.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Mg=64*1024,md=Ng&&zg(()=>I.isReadableStream(new Response("").body)),xa={stream:md&&(e=>e.body)};Aa&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!xa[t]&&(xa[t]=I.isFunction(e[t])?r=>r[t]():(r,n)=>{throw new le(`Response type '${t}' is not supported`,le.ERR_NOT_SUPPORT,n)})})})(new Response);var b_=async e=>{if(e==null)return 0;if(I.isBlob(e))return e.size;if(I.isSpecCompliantForm(e))return(await new Request(je.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(I.isArrayBufferView(e)||I.isArrayBuffer(e))return e.byteLength;if(I.isURLSearchParams(e)&&(e=e+""),I.isString(e))return(await g_(e)).byteLength},v_=async(e,t)=>{let r=I.toFiniteNumber(e.getContentLength());return r??b_(t)},jg=Aa&&(async e=>{let{url:t,method:r,data:n,signal:i,cancelToken:o,timeout:s,onDownloadProgress:a,onUploadProgress:c,responseType:l,headers:h,withCredentials:d="same-origin",fetchOptions:g}=Ca(e);l=l?(l+"").toLowerCase():"text";let p=Lg([i,o&&o.toAbortSignal()],s),m,u=p&&p.unsubscribe&&(()=>{p.unsubscribe()}),b;try{if(c&&y_&&r!=="get"&&r!=="head"&&(b=await v_(h,n))!==0){let x=new Request(t,{method:"POST",body:n,duplex:"half"}),A;if(I.isFormData(n)&&(A=x.headers.get("content-type"))&&h.setContentType(A),x.body){let[R,N]=hd(b,Ni(dd(c)));n=fd(x.body,Mg,R,N)}}I.isString(d)||(d=d?"include":"omit");let _="credentials"in Request.prototype;m=new Request(t,{...g,signal:p,method:r.toUpperCase(),headers:h.normalize().toJSON(),body:n,duplex:"half",credentials:_?d:void 0});let E=await fetch(m),k=md&&(l==="stream"||l==="response");if(md&&(a||k&&u)){let x={};["status","statusText","headers"].forEach(J=>{x[J]=E[J]});let A=I.toFiniteNumber(E.headers.get("content-length")),[R,N]=a&&hd(A,Ni(dd(a),!0))||[];E=new Response(fd(E.body,Mg,R,()=>{N&&N(),u&&u()}),x)}l=l||"text";let P=await xa[I.findKey(xa,l)||"text"](E,e);return!k&&u&&u(),await new Promise((x,A)=>{No(x,A,{data:P,headers:at.from(E.headers),status:E.status,statusText:E.statusText,config:e,request:m})})}catch(_){throw u&&u(),_&&_.name==="TypeError"&&/fetch/i.test(_.message)?Object.assign(new le("Network Error",le.ERR_NETWORK,e,m),{cause:_.cause||_}):le.from(_,_&&_.code,e,m)}});var gd={http:_a,xhr:Fg,fetch:jg};I.forEach(gd,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var Vg=e=>`- ${e}`,__=e=>I.isFunction(e)||e===null||e===!1,Ta={getAdapter:e=>{e=I.isArray(e)?e:[e];let{length:t}=e,r,n,i={};for(let o=0;o<t;o++){r=e[o];let s;if(n=r,!__(r)&&(n=gd[(s=String(r)).toLowerCase()],n===void 0))throw new le(`Unknown adapter '${s}'`);if(n)break;i[s||"#"+o]=n}if(!n){let o=Object.entries(i).map(([a,c])=>`adapter ${a} `+(c===!1?"is not supported by the environment":"is not available in the build")),s=t?o.length>1?`since :
69
+ `+o.map(Vg).join(`
70
+ `):" "+Vg(o[0]):"as no adapter specified";throw new le("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return n},adapters:gd};function yd(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ur(null,e)}function Ia(e){return yd(e),e.headers=at.from(e.headers),e.data=Lo.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Ta.getAdapter(e.adapter||Li.adapter)(e).then(function(n){return yd(e),n.data=Lo.call(e,e.transformResponse,n),n.headers=at.from(n.headers),n},function(n){return Mo(n)||(yd(e),n&&n.response&&(n.response.data=Lo.call(e,e.transformResponse,n.response),n.response.headers=at.from(n.response.headers))),Promise.reject(n)})}var Ra="1.8.4";var Pa={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Pa[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});var Hg={};Pa.transitional=function(t,r,n){function i(o,s){return"[Axios v"+Ra+"] Transitional option '"+o+"'"+s+(n?". "+n:"")}return(o,s,a)=>{if(t===!1)throw new le(i(s," has been removed"+(r?" in "+r:"")),le.ERR_DEPRECATED);return r&&!Hg[s]&&(Hg[s]=!0,console.warn(i(s," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(o,s,a):!0}};Pa.spelling=function(t){return(r,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function w_(e,t,r){if(typeof e!="object")throw new le("options must be an object",le.ERR_BAD_OPTION_VALUE);let n=Object.keys(e),i=n.length;for(;i-- >0;){let o=n[i],s=t[o];if(s){let a=e[o],c=a===void 0||s(a,o,e);if(c!==!0)throw new le("option "+o+" must be "+c,le.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new le("Unknown option "+o,le.ERR_BAD_OPTION)}}var jo={assertOptions:w_,validators:Pa};var Fr=jo.validators,zi=class{constructor(t){this.defaults=t,this.interceptors={request:new rd,response:new rd}}async request(t,r){try{return await this._request(t,r)}catch(n){if(n instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;let o=i.stack?i.stack.replace(/^.+\n/,""):"";try{n.stack?o&&!String(n.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(n.stack+=`
71
+ `+o):n.stack=o}catch{}}throw n}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=vr(this.defaults,r);let{transitional:n,paramsSerializer:i,headers:o}=r;n!==void 0&&jo.assertOptions(n,{silentJSONParsing:Fr.transitional(Fr.boolean),forcedJSONParsing:Fr.transitional(Fr.boolean),clarifyTimeoutError:Fr.transitional(Fr.boolean)},!1),i!=null&&(I.isFunction(i)?r.paramsSerializer={serialize:i}:jo.assertOptions(i,{encode:Fr.function,serialize:Fr.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),jo.assertOptions(r,{baseUrl:Fr.spelling("baseURL"),withXsrfToken:Fr.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let s=o&&I.merge(o.common,o[r.method]);o&&I.forEach(["delete","get","head","post","put","patch","common"],m=>{delete o[m]}),r.headers=at.concat(s,o);let a=[],c=!0;this.interceptors.request.forEach(function(u){typeof u.runWhen=="function"&&u.runWhen(r)===!1||(c=c&&u.synchronous,a.unshift(u.fulfilled,u.rejected))});let l=[];this.interceptors.response.forEach(function(u){l.push(u.fulfilled,u.rejected)});let h,d=0,g;if(!c){let m=[Ia.bind(this),void 0];for(m.unshift.apply(m,a),m.push.apply(m,l),g=m.length,h=Promise.resolve(r);d<g;)h=h.then(m[d++],m[d++]);return h}g=a.length;let p=r;for(d=0;d<g;){let m=a[d++],u=a[d++];try{p=m(p)}catch(b){u.call(this,b);break}}try{h=Ia.call(this,p)}catch(m){return Promise.reject(m)}for(d=0,g=l.length;d<g;)h=h.then(l[d++],l[d++]);return h}getUri(t){t=vr(this.defaults,t);let r=zo(t.baseURL,t.url,t.allowAbsoluteUrls);return Uo(r,t.params,t.paramsSerializer)}};I.forEach(["delete","get","head","options"],function(t){zi.prototype[t]=function(r,n){return this.request(vr(n||{},{method:t,url:r,data:(n||{}).data}))}});I.forEach(["post","put","patch"],function(t){function r(n){return function(o,s,a){return this.request(vr(a||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:o,data:s}))}}zi.prototype[t]=r(),zi.prototype[t+"Form"]=r(!0)});var Vo=zi;var bd=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(o){r=o});let n=this;this.promise.then(i=>{if(!n._listeners)return;let o=n._listeners.length;for(;o-- >0;)n._listeners[o](i);n._listeners=null}),this.promise.then=i=>{let o,s=new Promise(a=>{n.subscribe(a),o=a}).then(i);return s.cancel=function(){n.unsubscribe(o)},s},t(function(o,s,a){n.reason||(n.reason=new Ur(o,s,a),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){let t=new AbortController,r=n=>{t.abort(n)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new e(function(i){t=i}),cancel:t}}},Wg=bd;function vd(e){return function(r){return e.apply(null,r)}}function _d(e){return I.isObject(e)&&e.isAxiosError===!0}var wd={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(wd).forEach(([e,t])=>{wd[t]=e});var $g=wd;function Gg(e){let t=new Vo(e),r=Do(Vo.prototype.request,t);return I.extend(r,Vo.prototype,t,{allOwnKeys:!0}),I.extend(r,t,null,{allOwnKeys:!0}),r.create=function(i){return Gg(vr(e,i))},r}var rt=Gg(Li);rt.Axios=Vo;rt.CanceledError=Ur;rt.CancelToken=Wg;rt.isCancel=Mo;rt.VERSION=Ra;rt.toFormData=mn;rt.AxiosError=le;rt.Cancel=rt.CanceledError;rt.all=function(t){return Promise.all(t)};rt.spread=vd;rt.isAxiosError=_d;rt.mergeConfig=vr;rt.AxiosHeaders=at;rt.formToJSON=e=>ka(I.isHTMLForm(e)?new FormData(e):e);rt.getAdapter=Ta.getAdapter;rt.HttpStatusCode=$g;rt.default=rt;var Wt=rt;var{Axios:LC,AxiosError:MC,CanceledError:NC,isCancel:zC,CancelToken:jC,VERSION:VC,all:HC,Cancel:WC,isAxiosError:$C,spread:GC,toFormData:qC,AxiosHeaders:KC,HttpStatusCode:XC,formToJSON:JC,getAdapter:YC,mergeConfig:ZC}=Wt;var S_="https://proctoring-api-dev.easyproctor.tech/api",k_="https://proctoring-api-hml.easyproctor.tech/api",qg="https://proctoring-api.easyproctor.tech/api",E_="https://easyproctor-realtime-api-dev.easyproctor.tech/api",C_="https://easyproctor-realtime-api-hml.easyproctor.tech/api",x_="https://easyproctor-realtime-api.easyproctor.tech/api",ir=class{constructor(t){this.options=t;this.baseUrl=this.selectBaseUrl(t.type,t.isRealtime),this.token=t.token}getBaseUrl(){return this.baseUrl}selectBaseUrl(t,r){return r?t==="dev"?E_:t==="homol"?C_:x_:t==="dev"?S_:t==="homol"?k_:qg}setRealtime(t){this.baseUrl=this.selectBaseUrl(this.options.type,t)}getSocketUrl(){return this.baseUrl.replace("/api","/hub/sockethub")}async loginAuth(t,r){return await this.makeRequest({path:"/Auth",method:"POST",body:{emailOrCpf:t,key:r}})}async externalCameraRegister(t){return await this.makeRequest({path:"/ExternalCamera/register",method:"POST",body:t,jwt:this.token})}async externalCameraCheckTransmission(t){return await this.makeRequest({path:`/ExternalCamera/send-action/${t}`,method:"POST",body:{command:"Check_Transmission"},jwt:this.token})}async externalCameraStartTransmission(t,r){return await this.makeRequest({path:`/ExternalCamera/start-transmission/${t}`,method:"POST",body:{proctoringId:r},jwt:this.token})}async externalCameraStartSession(){return await this.makeRequest({path:"/ExternalCamera/start-session",method:"POST",body:{},jwt:this.token})}async goToExternalCameraPositionStep(t){return await this.makeRequest({path:`/ExternalCamera/go-to-position-step/${t}`,method:"POST",body:{},jwt:this.token})}async externalCameraFinish(t){return await this.makeRequest({path:`/ExternalCamera/finish/${t}`,method:"POST",body:{},jwt:this.token})}async confirmStart(t,r,n,i){return await this.makeRequest({path:`/proctoring/start/${t.examId}`,method:"POST",body:{clientId:t.clientId,proctoringType:r.proctoringType,latitude:n,longitude:i,captureScreen:r.captureScreen},jwt:t.token})}async getParamsConfig(t){return(await this.makeRequestAxios({path:"/Client/params",method:"GET",jwt:t.token}).catch(n=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async getSignedUrlImage(t,r){return(await this.makeRequestAxios({path:"/upload/signed-url-batch",method:"POST",jwt:t,body:r})).data}async getSignedUrl(t,r,n){return(await this.makeRequestAxios({path:"/upload/signed-url",method:"POST",jwt:t,body:{objectName:`${n}/${r.name}`,contentType:r.type}})).data}async initiateUpload(t,r,n){return(await this.makeRequestAxios({path:"/upload/initiate-upload",method:"POST",jwt:t,body:{objectName:r,contentType:n}})).data}async saveAlerts(t,r){await this.makeRequest({path:"/proctoring/save-alerts",method:"POST",jwt:t.token,body:{proctoringId:r.id,alerts:r.alerts}})}async finishAndSendUrls(t){return await this.makeRequest({path:`/proctoring/finish/${t.examId}`,method:"POST",body:{endDate:new Date().toISOString(),videoCameraUrl:"",audioCameraUrl:"",videoScreenUrl:""},jwt:t.token})}async log(t,r){let n;return r?.success!==null&&r?.success!==void 0?n=r.success?"4":"1":n="4",await this.makeRequest({path:"/Log",method:"POST",body:{entryType:n,eventName:t,message:r},jwt:this.token})}async signTerm(){return await this.makeRequest({path:"/User/sign-terms",method:"PATCH",body:{},jwt:this.token})}async signTermUrl(){return(await this.makeRequestAxios({path:"/User/sign-terms-url",method:"GET",jwt:this.token})).data}async startChallenge(t){return(await this.makeRequestAxios({path:"/Challenge/start",method:"POST",jwt:this.token,body:t})).data}async stopChallenge(t,r){return(await this.makeRequestAxios({path:`/Challenge/stop/${t}`,method:"POST",jwt:this.token,body:r})).data}async startRealtimeAlert(t){return(await this.makeRequestAxios({path:"/Realtime/start-warning",method:"POST",jwt:this.token,body:t})).data}async stopRealtimeAlert(t){return(await this.makeRequestAxios({path:"/Realtime/stop-warning",method:"POST",jwt:this.token,body:t})).data}async verifyFace(t,r,n){return(await this.makeRequestAxios({path:"/Realtime/verify-face",method:"POST",jwt:this.token,body:{proctoringId:t,base64:r,retry:n}})).data}async checkUpload(t,r,n){try{return(await this.makeRequestAxios({path:"/Upload/check",method:"POST",jwt:t,body:{objectName:r,contentType:n}})).data===!0}catch{return!1}}async getServerHour(t){return await this.makeRequest({path:"/Proctoring/server-hour",method:"GET",jwt:t})}async makeRequest(t){let{path:r,method:n,body:i,jwt:o}=t,s=await fetch(this.baseUrl+r,{method:n,body:i!=null?JSON.stringify(i):void 0,headers:{Authorization:`Bearer ${o}`,"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";let a=s.headers.get("content-type");return(a?a.includes("application/json"):!1)?await s.json():null}async makeRequestAxios(t){let{path:r,method:n,body:i,jwt:o}=t,s=await Wt.request({url:this.baseUrl+r,method:n,headers:{Authorization:`Bearer ${o}`,"Access-Control-Allow-Origin":"*"},data:i});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";return s}async makeRequestPUT(t){let{url:r,method:n,body:i,jwt:o}=t,s=await fetch(r,{method:n,body:i!=null?JSON.stringify(i):void 0,headers:{Accept:"*/*","Accept-Encoding":"gzip, deflate, br",Connection:"keep-alive","aeg-event-type":"Notification","Content-Type":"application/json","Cache-Control":"no-cache","x-ms-blob-type":"BlockBlob"}});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";let a=s.headers.get("content-type");return(a?a.includes("application/json"):!1)?await s.json():null}};var Da=class{constructor(){this.baseUrl="https://localhost:5080"}async isAlive(){return(await this.makeRequestAxios({path:"/api/usb-device-manager/is-alive",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async isPluggedIn(){return(await this.makeRequestAxios({path:"/api/usb-device-manager/is-plugged-in",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async ConnectAndScan(){return(await this.makeRequestAxios({path:"/api/usb-device-manager/connect-and-scan",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async Devices({deviceType:t,rssiThreshold:r,packageRateThreshold:n}){let i=[];return t&&i.push(`deviceType=${t}`),r&&i.push(`rssiThreshold=${r}`),n&&i.push(`packageRateThreshold=${n}`),(await this.makeRequestAxios({path:`/api/usb-device-manager/devices?${i.join("&")}`,method:"GET",jwt:this.token}).catch(s=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async makeRequestAxios(t){let{path:r,method:n,body:i,jwt:o}=t,s=await Wt.request({url:this.baseUrl+r,method:n,headers:{Authorization:`Bearer ${o}`,"Access-Control-Allow-Origin":"*"},data:i});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";return s}};var Vn=class{constructor(){this.sessionDuration=0;this.state="Created",this.startedAt=new Date,this.alerts=[],this.recordings=[]}get hasSomethingToUpload(){for(let t of this.recordings)if(!t.upload)return!0;return!1}start(){this.state="Recording",this.startedAt=new Date(Date.now())}pause(){this.state="Paused"}resume(){this.state="Recording"}stop(){this.state="Ended",this.sessionDuration=Date.now()-this.startedAt.getTime()}setProctoringId(t){this.id=t}setEndConfirmed(){this.state="EndConfirmed"}setUploaded(){this.state="Uploaded"}setUploadConfirmed(){this.state="UploadConfirmed"}addAlert(t){this.alerts.push(t)}addRecording(t){this.recordings.push(t)}};var ji=class{constructor(t,r){this.backendService=new Da;this.scanInterval=5;this.options={};this.options=r,this.context=t,this.backend=new ir({type:t?.type||"prod",token:t.token,isRealtime:!1}),this.currentIsPlugged=!0}setProctoringId(t){this.proctoringId=t}async isPluggedIn(t=!1){try{let r=await this.backendService.isPluggedIn();if(this.proctoringId&&t)if(r)this.currentIsPlugged||this.options.onRealtimeAlertsCallback?.({type:"spycam",message:"Spycam disconnected",description:"Dispositivo de varredura conectado.",status:"OK"});else{let n=new Vn;n.setProctoringId(this.proctoringId),n.addAlert({begin:Date.now()-this.startTime.getTime(),end:0,alert:33,type:5}),await this.backend.saveAlerts(this.context,n),this.options.onRealtimeAlertsCallback?.({type:"spycam",message:"Spycam disconnected",description:"Nenhum dispositivo de varredura conectado.",status:"ALERT"})}return this.currentIsPlugged=r,this.currentIsPlugged}catch(r){throw r}}async isAlive(){try{return await this.backendService.isAlive()}catch(t){throw t}}connectAndScan(){return this.backendService.ConnectAndScan()}async devices({deviceType:t,rssiThreshold:r,packageRateThreshold:n}){let i=await this.backendService.Devices({deviceType:t,rssiThreshold:r,packageRateThreshold:n});if(i.length>0&&(this.options.onRealtimeAlertsCallback?.({type:"spycam",message:"Spycam detected",description:"Dispositivo espi\xE3o detectado.",data:i}),this.proctoringId)){let o=new Vn;o.setProctoringId(this.proctoringId),o.addAlert({begin:Date.now()-this.startTime.getTime(),end:0,alert:32,type:5}),await this.backend.saveAlerts(this.context,o)}return i}async startCheckSpyCam(t,{deviceType:r,rssiThreshold:n,packageRateThreshold:i}){this.scanInterval=t,this.startTime=new Date(Date.now()),await this.isPluggedIn(!0),this.checkSpyCam=setInterval(async()=>{await this.isPluggedIn(!0)&&await this.devices({deviceType:r,rssiThreshold:n,packageRateThreshold:i})},this.scanInterval*6e4)}stopCheckSpyCam(){clearInterval(this.checkSpyCam)}};var or={cameraId:void 0,microphoneId:void 0,allowMultipleMonitors:!1,allowOnlyFirstMonitor:!0,captureScreen:!0,noiseLimit:40,proctoringType:"IMAGE",insights:"",onBufferSizeError:!1,useGeolocation:!1,useSpyScan:!1,useExternalCamera:!1,useChallenge:!1,screenRecorderOptions:{width:1280,height:720},auto:!1};function Ba(e){return e.width&&e.height?{width:e.width,height:e.height,minWidth:e.minWidth,minHeight:e.minHeight}:{width:640,height:480}}var Kg={width:1280,height:720,minWidth:640,minHeight:480};function Hn(){let e=window.navigator.userAgent.split("SEB/");return e.length>1?e[1]:"1.0.0.0"}function Xg(){let e=navigator.userAgent,t;return e.match(/chrome|chromium|crios/i)?t="chrome":e.match(/firefox|fxios/i)?t="firefox":e.match(/safari/i)?t="safari":e.match(/opr\//i)?t="opera":e.match(/edg/i)?t="edge":t="No browser detection",t}function _r(){if("userAgentData"in navigator){let e=navigator.userAgentData,t=e.mobile||!1,r=e.platform||"";return t||/Android|iOS/i.test(r)}return/Android|iPhone|iPad|iPod/i.test(navigator.userAgent)}function Jg(){return Hn()!=="1.0.0.0"}var A_;function Oa(e){A_=e}function Ho(e,t,r=!1,n,i=!1){let o,s,a,c;c=0;let l,h=0,d={mimeType:"video/webm",videoBitsPerSecond:128e3,audioBitsPerSecond:64*1e3};MediaRecorder.isTypeSupported("video/webm;codecs=vp9")?d.mimeType="video/webm;codecs=vp9":console.warn("vp9 codec not supported. Using default mimeType without vp9."),i&&(d={mimeType:"audio/webm",audioBitsPerSecond:64*1e3});function g(A,R){let N=A.getTracks();if(N.length==0)throw new Error("No tracks found");let J=N.find(O=>O.readyState!="live");if(J)throw new Error("Track not live: "+J.label);console.log("buildMediaRecorder tracks OK");let S=new MediaRecorder(A,R);return console.log("buildMediaRecorder mediaRecorder OK"),S.ondataavailable=O=>{c=c+O.data.size,O.data.size>0&&t.push(O.data)},S}let p=g(e,d);async function m(A){return new Promise((R,N)=>{let J=!1;A.onstart=()=>{J=!0,console.log("recorder onstart"),l=new Date(Date.now()),R()},A.onerror=S=>{if(console.error("Recorder error event:",S),e.getTracks().forEach(O=>console.log(O.readyState)),"error"in S){let O=S.error;console.error("Error name:",O?.name),console.error("Error message:",O?.message),N(O||S)}else console.warn("Evento sem propriedade error"),N(S)};try{console.log("State antes do start:",A.state),A.start(1e4),l=new Date(Date.now())}catch(S){return console.error("Recorder erro ao chamar start event:",S),console.error("Erro real:",S,S?.error,S?.error?.name,S?.error?.message),console.error("Erro real 2:",S,S?.message,S?.name),e.getTracks().forEach(O=>console.log(O.readyState)),N(S)}setTimeout(()=>{J||(console.error("Timeout ao iniciar o recorder"),N(new Error("Timeout ao iniciar o recorder")))},2e3)})}async function u(){try{if(await m(p),p.state==="recording"){c=0;return}else console.log("Recorder n\xE3o est\xE1 em estado recording ap\xF3s start")}catch(A){throw console.error("Erro ao iniciar o recorder:",A),await new Promise(R=>setTimeout(R,300)),A}}function b(){return new Promise(A=>{p.state=="recording"?(console.log("stopRecording Recorder est\xE1 em estado recording, iniciando stop"),o=A,p.onstop=()=>{console.log("recorder onstop"),h=Date.now()-l.getTime()||0,console.log("duration no onstop",h),e.getTracks().forEach(R=>{R.stop()}),o&&o()},p.stop(),h=Date.now()-l.getTime()||0,console.log("duration imediatamente ap\xF3s mediaRecorder.stop()",h)):(console.log("stopRecording Recorder n\xE3o est\xE1 em estado recording"),A()),e.getTracks().forEach(R=>{R.stop()})})}function _(){return new Promise(A=>{p.state=="recording"&&p.pause(),A()})}function E(){return new Promise(A=>{p.state=="paused"&&p.resume(),A()})}function k(){return c}function P(){return l}function x(){return h}return{startRecording:u,stopRecording:b,pauseRecording:_,resumeRecording:E,recorderOptions:d,getBufferSize:k,getStartTime:P,getDuration:x}}var Ua,Yg=e=>(Ua=e,Ua),Pt={DEVICES_CHECKED:"devices_checked",START:"start",FINISH:"finish",ERROR:"error",UPLOAD:"upload",UPLOAD_FILE:"upload_file",DOWNLOAD_VIDEO:"download_video",BUFFER_SIZE:"buffer_size",ANOTHER_STREAM:"another_stream",CHANGE_DEVICE:"change_device",STOP_SHARING_SCREEN:"stop_sharing_screen",ERROR_RECORDER_RTC:"error_recorder_rtc",BROWSER_NOT_SUPPORTED:"browser_not_supported",SAVE_ON_SESSION:"save_on_session"},Dt=(e,t)=>Ua&&Ua.log(e,t),de={registerDevicesChecked:(e,t,r)=>Dt(Pt.DEVICES_CHECKED,{proctoringId:e,success:t,description:r}),registerStart:(e,t,r)=>Dt(Pt.START,{proctoringId:e,success:t,description:r}),registerFinish:(e,t,r)=>Dt(Pt.FINISH,{proctoringId:e,success:t,description:r}),registerError:(e,t)=>Dt(Pt.ERROR,{proctoringId:e,description:t}),registerBrowserNotSupported:(e,t)=>Dt(Pt.BROWSER_NOT_SUPPORTED,{proctoringId:e,description:t}),registerUpload:(e,t,r,n,i)=>Dt(Pt.UPLOAD,{proctoringId:e,success:t,description:r,serviceType:n,uploadTime:i}),registerUploadFile:(e,t,r)=>Dt(Pt.UPLOAD_FILE,{proctoringId:e,description:t,fileType:r}),registerChangeDevice:(e,t,r)=>Dt(Pt.CHANGE_DEVICE,{proctoringId:e,inOrOut:t,description:r}),registerStopSharingScreen:(e,t)=>Dt(Pt.STOP_SHARING_SCREEN,{proctoringId:e,description:t}),registerErrorRecorderRTC:(e,t)=>Dt(Pt.ERROR_RECORDER_RTC,{proctoringId:e,description:t}),registerDownloadFile:(e,t)=>Dt(Pt.DOWNLOAD_VIDEO,{proctoringId:e,description:t}),registerOnBufferSizeError:(e,t)=>Dt(Pt.BUFFER_SIZE,{proctoringId:e,description:t}),registerAnotherStream:(e,t)=>Dt(Pt.ANOTHER_STREAM,{proctoringId:e,description:t}),registerSaveOnSession:(e,t)=>Dt(Pt.SAVE_ON_SESSION,{proctoringId:e,description:t})};var Yr=class{constructor(t,r){this.backend=r;this.imageUrlPackage=[];this.imageBatchNum=0;this.contImages=0;this.proctoringId=t}async uploadPackage(t,r){let{file:n}=t;try{console.log("Upload service: uploadPackage");var i="";return await this.backend.getSignedUrl(r,n,this.proctoringId).then(o=>i=o).catch(o=>{throw o}),console.log("Upload service: uploadUrl",i),await Wt.request({url:i,method:"PUT",headers:{"Content-Type":n.type,"x-ms-blob-type":"BlockBlob"},data:n}).then(()=>!0).catch(o=>{throw o}),!0}catch(o){throw de.registerError(this.proctoringId,`Failed to upload package ${o}
72
72
  File name: ${n.name}
73
73
  File type: ${n.type}
74
- File size: ${n.size}`),o}}async uploadImages(t,r,n){let{file:i,onProgress:o}=t;try{let s=l=>{let h=l.loadedBytes/i.size*100;o&&o(Math.round(h))},a;if(this.imageBatchNum===this.contImages){let l=[];for(let d=this.imageBatchNum;d<this.imageBatchNum+60;d++){let m=`${this.proctoringId}/${this.proctoringId}_${d+1}.jpg`;(d+1)%n==0&&(m=`${this.proctoringId}/${this.proctoringId}_${d+1}_realtime.jpg`),l.push({objectName:m,contentType:"image/jpeg"})}(await this.backend.getSignedUrlImage(r,l)).map(d=>{this.imageUrlPackage.push(d)}),this.imageBatchNum+=60}let c=!1;return c=await Wt.request({url:this.imageUrlPackage[this.contImages],method:"PUT",headers:{"Content-Type":i.type,"x-ms-blob-type":"BlockBlob"},data:i,onUploadProgress:l=>{s({loadedBytes:l.loaded})}}).then(l=>l.status==200||l.status==201?(this.contImages++,!0):!1).catch(()=>!1).finally(()=>{}),{storage:"upload",url:a,uploaded:c}}catch{throw me.registerError(this.proctoringId,`Failed to upload to AWS
74
+ File size: ${n.size}`),o}}async uploadImages(t,r,n){let{file:i,onProgress:o}=t;try{let s=l=>{let h=l.loadedBytes/i.size*100;o&&o(Math.round(h))},a;if(this.imageBatchNum===this.contImages){let l=[];for(let d=this.imageBatchNum;d<this.imageBatchNum+60;d++){let g=`${this.proctoringId}/${this.proctoringId}_${d+1}.jpg`;(d+1)%n==0&&(g=`${this.proctoringId}/${this.proctoringId}_${d+1}_realtime.jpg`),l.push({objectName:g,contentType:"image/jpeg"})}(await this.backend.getSignedUrlImage(r,l)).map(d=>{this.imageUrlPackage.push(d)}),this.imageBatchNum+=60}let c=!1;return c=await Wt.request({url:this.imageUrlPackage[this.contImages],method:"PUT",headers:{"Content-Type":i.type,"x-ms-blob-type":"BlockBlob"},data:i,onUploadProgress:l=>{s({loadedBytes:l.loaded})}}).then(l=>l.status==200||l.status==201?(this.contImages++,!0):!1).catch(()=>!1).finally(()=>{}),{storage:"upload",url:a,uploaded:c}}catch{throw de.registerError(this.proctoringId,`Failed to upload to AWS
75
75
  File name: ${i.name}
76
76
  File type: ${i.type}
77
- File size: ${i.size}`),new Error("Failed to upload to AWS")}}async upload(t,r,n){let{file:i,onProgress:o}=t;try{let s=l=>{let h=l.loadedBytes/i.size*100;o&&o(Math.round(h))},a;if(n){if(this.imageBatchNum===this.contImages){let l=[];for(let d=this.imageBatchNum;d<this.imageBatchNum+20;d++)l.push({objectName:`${this.proctoringId}/${this.proctoringId}_${d+1}.jpg`,contentType:"image/jpeg"});(await this.backend.getSignedUrlImage(r,l)).map(d=>{this.imageUrlPackage.push(d)}),this.imageBatchNum+=20}}else a=await this.backend.getSignedUrl(r,i,this.proctoringId);let c=!1;return n?c=await Wt.request({url:this.imageUrlPackage[this.contImages],method:"PUT",headers:{"Content-Type":i.type,"x-ms-blob-type":"BlockBlob"},data:i,onUploadProgress:l=>{s({loadedBytes:l.loaded})}}).then(()=>!0).catch(()=>!1).finally(()=>{this.contImages++}):c=await Wt.request({url:a,method:"PUT",headers:{"Content-Type":i.type,"x-ms-blob-type":"BlockBlob"},data:i,onUploadProgress:l=>{s({loadedBytes:l.loaded})}}).then(()=>!0).catch(()=>!1),{storage:"upload",url:a,uploaded:c}}catch{throw me.registerError(this.proctoringId,`Failed to upload to AWS
77
+ File size: ${i.size}`),new Error("Failed to upload to AWS")}}async upload(t,r,n){let{file:i,onProgress:o}=t;try{let s=l=>{let h=l.loadedBytes/i.size*100;o&&o(Math.round(h))},a;if(n){if(this.imageBatchNum===this.contImages){let l=[];for(let d=this.imageBatchNum;d<this.imageBatchNum+20;d++)l.push({objectName:`${this.proctoringId}/${this.proctoringId}_${d+1}.jpg`,contentType:"image/jpeg"});(await this.backend.getSignedUrlImage(r,l)).map(d=>{this.imageUrlPackage.push(d)}),this.imageBatchNum+=20}}else a=await this.backend.getSignedUrl(r,i,this.proctoringId);let c=!1;return n?c=await Wt.request({url:this.imageUrlPackage[this.contImages],method:"PUT",headers:{"Content-Type":i.type,"x-ms-blob-type":"BlockBlob"},data:i,onUploadProgress:l=>{s({loadedBytes:l.loaded})}}).then(()=>!0).catch(()=>!1).finally(()=>{this.contImages++}):c=await Wt.request({url:a,method:"PUT",headers:{"Content-Type":i.type,"x-ms-blob-type":"BlockBlob"},data:i,onUploadProgress:l=>{s({loadedBytes:l.loaded})}}).then(()=>!0).catch(()=>!1),{storage:"upload",url:a,uploaded:c}}catch{throw de.registerError(this.proctoringId,`Failed to upload to AWS
78
78
  File name: ${i.name}
79
79
  File type: ${i.type}
80
- File size: ${i.size}`),new Error("Failed to upload to AWS")}}};var Kg="not_shared_first_screen",Xg="not_shared_screen",Ua="multiple_monitors_detected",Jg="proctoring_already_started",Fa="proctoring_not_started";var Yg="another_stream_active",Zg="stream_under_minimum_permitted",Qg="browser_not_supported",e0="token_missing",t0="credentials_missing";var r0="spy_scan_api_not_found",wd="safe_browser_api_not_found";var n0="external_camera_not_started";var La=class extends Bi{constructor(t,r,n="videoPreviewFrameDetection",i="liveViewFrameDetection"){super("ObjectDetector","https://storage.googleapis.com/mediapipe-models/object_detector/efficientdet_lite0/float16/1/efficientdet_lite0.tflite",t,r,n,i)}stopDetection(){super.stopDetection(),this.numPersonsSent>0&&this.handleOk("person_ok","person_detection_on_stream")}displayVideoDetections(t){for(let r of this.children)this.liveView.removeChild(r);this.children.splice(0);for(let r of t.detections){let n=window.innerWidth,i=window.innerHeight,o=this.video.offsetWidth,s=this.video.offsetHeight,a=o/n,c=s/i,l=o-r.boundingBox.width*a-r.boundingBox.originX*a,h=r.boundingBox.originY*c,d=(r.boundingBox.width-10)*a,m=r.boundingBox.height*c,p=document.createElement("p");p.innerText=r.categories[0].categoryName+" - with "+Math.round(parseFloat(r.categories[0].score)*100)+"% confidence.",p.style.right=l-20+"px",p.style.top=h+"px",p.style.width=d+"px";let g={zIndex:"2",position:"absolute",border:"1px dashed #fff"};Object.assign(p.style,{...g,margin:"0",fontSize:"9px",paddingBottom:"5px",paddingTop:"5px",color:"#fff",backgroundColor:"#007f8b"});let f=document.createElement("div");f.setAttribute("class","highlighter"),f.style.right=l-20+"px",f.style.top=h+"px",f.style.width=d+"px",f.style.height=m-20+"px",Object.assign(f.style,{...g,zIndex:"1",background:"rgba(0, 255, 0, 0.25)"}),this.liveView.appendChild(f),this.liveView.appendChild(p),this.children.push(f),this.children.push(p)}}verify(t){let r=t.detections.filter(i=>i.categories.some(o=>o.categoryName==="person")).length,n=t.detections.filter(i=>i.categories.some(o=>o.categoryName==="cell phone")).length;this.paramsConfig.videoBehaviourParameters?.detectPerson&&r!==this.numPersonsSent&&(r===0?(this.handleAlert("no_person_detected","person_detection_on_stream"),this.numPersonsSent=r):r>1?(this.handleAlert("multiple_persons_detected","person_detection_on_stream"),this.numPersonsSent=r):(this.handleOk("person_ok","person_detection_on_stream"),this.numPersonsSent=r)),this.paramsConfig.videoBehaviourParameters?.detectCellPhone&&n!==this.numCellphoneSent&&(n>0?(this.handleAlert("cellphone_detected","mobile_detection_on_stream"),this.numCellphoneSent=n):(this.handleOk("cellphone_ok","mobile_detection_on_stream"),this.numCellphoneSent=n))}};var gn=class{constructor(t){this.volume=null;this.animationFrameId=null;this.stream=t}async start(t={}){return new Promise((r,n)=>{try{this.audioContext=new AudioContext,this.analyser=this.audioContext.createAnalyser(),this.microphone=this.audioContext.createMediaStreamSource(this.stream),this.analyser.smoothingTimeConstant=.8,this.analyser.fftSize=1024,this.microphone.connect(this.analyser);let i=()=>{let o=new Uint8Array(this.analyser.frequencyBinCount);this.analyser.getByteFrequencyData(o);let a=o.reduce((c,l)=>c+l,0)/o.length;this.setVolume(a),t.setVolume&&t.setVolume(a),this.animationFrameId=requestAnimationFrame(i)};this.animationFrameId=requestAnimationFrame(i),r(!0)}catch(i){this.stop(),n(`Error: ${i}`)}})}stop(){this.animationFrameId!==null&&cancelAnimationFrame(this.animationFrameId),this.audioContext?.close(),this.microphone?.disconnect(),this.analyser?.disconnect()}getVolume(){return this.volume}setVolume(t){this.volume=t}};var c0=dl(o0()),s0=kd(),k_=s0.default||s0,Zr=class{constructor(t,r,n,i,o){this.blobs=[];this.paramsConfig={audioBehaviourParameters:{recordingBitrate:128,noiseLimit:40},imageBehaviourParameters:{useUploadImage:!0,uploadInterval:20,saveVideo:!0},videoBehaviourParameters:{detectPerson:!1,detectFace:!1,detectCellPhone:!1}};this.options={cameraId:void 0,microphoneId:void 0,onBufferSizeError:!1,onBufferSizeErrorCallback:t=>{},proctoringType:"IMAGE",onChangeDevicesCallback:t=>{},onRealtimeAlertsCallback:t=>{}};this.videoOptions={width:640,height:480,minWidth:0,minHeight:0};this.blobsRTC=[];this.imageCount=0;this.filesToUpload=[];this.pendingPackages=[];this.animationFrameId=null;this.isCanvasLoopActive=!1;this.hardwareStream=null;this.internalClonedStream=null;this.videoElement=null;this.duration=0;this.stopped=!1;this.currentRetries=0;this.packageCount=0;this.failedUploads=0;this.noiseWait=20;this.options=t,this.videoOptions=r,this.backend=i,this.backendToken=o,n&&(this.paramsConfig=n)}setProctoringId(t){this.proctoringId=t,this.proctoringId&&this.backend&&(this.upload=new Yr(this.proctoringId,this.backend)),Ba(t)}async initializeDetectors(){sg(),(this.paramsConfig.videoBehaviourParameters?.detectPerson||this.paramsConfig.videoBehaviourParameters?.detectCellPhone)&&(this.objectDetection=new La({onRealtimeAlertsCallback:t=>{t.begin=Date.now()-(this.getStartTime()?.getTime()||0),t.end=Date.now()-(this.getStartTime()?.getTime()||0),this.options.onRealtimeAlertsCallback(t)}},this.paramsConfig),await this.objectDetection.initializeDetector()),this.paramsConfig.videoBehaviourParameters?.detectFace&&(this.faceDetection=new Oi({onRealtimeAlertsCallback:t=>{t.begin=Date.now()-(this.getStartTime()?.getTime()||0),t.end=Date.now()-(this.getStartTime()?.getTime()||0),this.options.onRealtimeAlertsCallback(t)}},this.paramsConfig),await this.faceDetection.initializeDetector())}configImageCapture(){this.video=document.createElement("video"),this.canvas=document.createElement("canvas"),this.video.srcObject=this.cameraStream,this.video.play(),this.video.muted=!0,screen.orientation?.type.includes("portrait")&&Fr()?(console.log("configurando canvas em portrait"),this.canvas.width=this.videoOptions.height/2,this.canvas.height=this.videoOptions.width/2):(this.canvas.width=this.videoOptions.width/2,this.canvas.height=this.videoOptions.height/2)}async bufferError(t){console.log("buffer error Camera Recorder params ");let r=this.paramsConfig.videoBehaviourParameters?.retryEnabled||!1,n=this.paramsConfig.videoBehaviourParameters?.maxRetries||3;r&&this.currentRetries<n?(await this.recordingStop(),await this.startRecording(),this.currentRetries++,this.options.onBufferSizeErrorCallback&&this.options.onBufferSizeErrorCallback(this.cameraStream)):this.options.onBufferSizeErrorCallback&&this.options.onBufferSizeErrorCallback()}async startStream(){let{cameraId:t,microphoneId:r,onBufferSizeErrorCallback:n}=this.options,i={audio:{deviceId:r},video:{deviceId:t,width:this.videoOptions.width,height:this.videoOptions.height,frameRate:15}};try{this.hardwareStream=await navigator.mediaDevices.getUserMedia(i)}catch(h){throw h.toString()=="NotReadableError: Could not start video source"?"N\xE3o foi poss\xEDvel conectar a camera, ela pode estar sendo utilizada por outro programa":h}this.cameraStream=this.hardwareStream;let s=this.cameraStream.getVideoTracks()[0].getSettings(),{width:a=0,height:c=0}=s;if(screen.orientation?.type.includes("portrait")&&Fr()&&this.videoOptions.width==c&&this.videoOptions.height==a&&([a,c]=[c,a]),this.videoOptions.minWidth>a||this.videoOptions.minHeight>c)throw Zg;if(this.videoOptions.width!==a||this.videoOptions.height!==c)throw me.registerAnotherStream(this.proctoringId,`Maybe have another stream active
80
+ File size: ${i.size}`),new Error("Failed to upload to AWS")}}};var Zg="not_shared_first_screen",Qg="not_shared_screen",Fa="multiple_monitors_detected",e0="proctoring_already_started",La="proctoring_not_started";var t0="another_stream_active",r0="stream_under_minimum_permitted",n0="browser_not_supported",i0="token_missing",o0="credentials_missing";var s0="spy_scan_api_not_found",Ed="safe_browser_api_not_found";var a0="external_camera_not_started";var Ma=class extends Bi{constructor(t,r,n="videoPreviewFrameDetection",i="liveViewFrameDetection"){super("ObjectDetector","https://storage.googleapis.com/mediapipe-models/object_detector/efficientdet_lite0/float16/1/efficientdet_lite0.tflite",t,r,n,i)}stopDetection(){super.stopDetection(),this.numPersonsSent>0&&this.handleOk("person_ok","person_detection_on_stream")}displayVideoDetections(t){for(let r of this.children)this.liveView.removeChild(r);this.children.splice(0);for(let r of t.detections){let n=window.innerWidth,i=window.innerHeight,o=this.video.offsetWidth,s=this.video.offsetHeight,a=o/n,c=s/i,l=o-r.boundingBox.width*a-r.boundingBox.originX*a,h=r.boundingBox.originY*c,d=(r.boundingBox.width-10)*a,g=r.boundingBox.height*c,p=document.createElement("p");p.innerText=r.categories[0].categoryName+" - with "+Math.round(parseFloat(r.categories[0].score)*100)+"% confidence.",p.style.right=l-20+"px",p.style.top=h+"px",p.style.width=d+"px";let m={zIndex:"2",position:"absolute",border:"1px dashed #fff"};Object.assign(p.style,{...m,margin:"0",fontSize:"9px",paddingBottom:"5px",paddingTop:"5px",color:"#fff",backgroundColor:"#007f8b"});let u=document.createElement("div");u.setAttribute("class","highlighter"),u.style.right=l-20+"px",u.style.top=h+"px",u.style.width=d+"px",u.style.height=g-20+"px",Object.assign(u.style,{...m,zIndex:"1",background:"rgba(0, 255, 0, 0.25)"}),this.liveView.appendChild(u),this.liveView.appendChild(p),this.children.push(u),this.children.push(p)}}verify(t){let r=t.detections.filter(i=>i.categories.some(o=>o.categoryName==="person")).length,n=t.detections.filter(i=>i.categories.some(o=>o.categoryName==="cell phone")).length;this.paramsConfig.videoBehaviourParameters?.detectPerson&&r!==this.numPersonsSent&&(r===0?(this.handleAlert("no_person_detected","person_detection_on_stream"),this.numPersonsSent=r):r>1?(this.handleAlert("multiple_persons_detected","person_detection_on_stream"),this.numPersonsSent=r):(this.handleOk("person_ok","person_detection_on_stream"),this.numPersonsSent=r)),this.paramsConfig.videoBehaviourParameters?.detectCellPhone&&n!==this.numCellphoneSent&&(n>0?(this.handleAlert("cellphone_detected","mobile_detection_on_stream"),this.numCellphoneSent=n):(this.handleOk("cellphone_ok","mobile_detection_on_stream"),this.numCellphoneSent=n))}};var p0=fl(l0());var Vi=class e{constructor(){this.db=null}static{this.DB_NAME="EasyProctorChunksDb"}static{this.DB_VERSION=3}static{this.STORE_NAME="chunks"}async connect(){return this.db?this.db:new Promise((t,r)=>{let n=window.indexedDB.open(e.DB_NAME,e.DB_VERSION);n.onerror=()=>{r(new Error("N\xE3o foi poss\xEDvel conectar ao IndexedDB para chunks."))},n.onupgradeneeded=()=>{let i=n.result;i.objectStoreNames.contains(e.STORE_NAME)&&i.deleteObjectStore(e.STORE_NAME);let o=i.createObjectStore(e.STORE_NAME,{keyPath:"id",autoIncrement:!0});o.createIndex("proctoringId","proctoringId",{unique:!1}),o.createIndex("uploaded","uploaded",{unique:!1}),o.createIndex("proctoringId_uploaded",["proctoringId","uploaded"],{unique:!1})},n.onsuccess=()=>{this.db=n.result,t(this.db)}})}async saveChunk(t){let r=await this.connect();return new Promise((n,i)=>{let a=r.transaction(e.STORE_NAME,"readwrite").objectStore(e.STORE_NAME).add(t);a.onsuccess=()=>{n(a.result)},a.onerror=()=>{i(new Error(`Erro ao salvar chunk no IndexedDB: ${a.error?.message}`))}})}async getPendingChunks(t){let r=await this.connect();return new Promise((n,i)=>{let a=r.transaction(e.STORE_NAME,"readonly").objectStore(e.STORE_NAME).index("proctoringId_uploaded"),c=IDBKeyRange.only([t,0]),l=a.getAll(c);l.onsuccess=()=>{let h=l.result.sort((d,g)=>d.chunkIndex-g.chunkIndex);n(h)},l.onerror=()=>{i(new Error(`Erro ao buscar chunks pendentes: ${l.error?.message}`))}})}async getAllChunks(t){let r=await this.connect();return new Promise((n,i)=>{let a=r.transaction(e.STORE_NAME,"readonly").objectStore(e.STORE_NAME).index("proctoringId"),c=IDBKeyRange.only(t),l=a.getAll(c);l.onsuccess=()=>{let h=l.result.sort((d,g)=>d.chunkIndex-g.chunkIndex);n(h)},l.onerror=()=>{i(new Error(`Erro ao buscar todos os chunks: ${l.error?.message}`))}})}async markAsUploaded(t){let r=await this.connect();return new Promise((n,i)=>{let s=r.transaction(e.STORE_NAME,"readwrite").objectStore(e.STORE_NAME),a=s.get(t);a.onsuccess=()=>{let c=a.result;if(!c){n();return}c.uploaded=1;let l=s.put(c);l.onsuccess=()=>n(),l.onerror=()=>i(new Error(`Erro ao marcar chunk como enviado: ${l.error?.message}`))},a.onerror=()=>i(new Error(`Erro ao buscar chunk para marcar: ${a.error?.message}`))})}async clearUploadedChunks(t){let r=await this.connect();return new Promise((n,i)=>{let a=r.transaction(e.STORE_NAME,"readwrite").objectStore(e.STORE_NAME).index("proctoringId_uploaded"),c=IDBKeyRange.only([t,1]),l=a.openCursor(c);l.onsuccess=()=>{let h=l.result;h?(h.delete(),h.continue()):n()},l.onerror=()=>i(new Error(`Erro ao limpar chunks enviados: ${l.error?.message}`))})}async clearAllChunks(t){let r=await this.connect();return new Promise((n,i)=>{let a=r.transaction(e.STORE_NAME,"readwrite").objectStore(e.STORE_NAME).index("proctoringId"),c=IDBKeyRange.only(t),l=a.openCursor(c);l.onsuccess=()=>{let h=l.result;h?(h.delete(),h.continue()):n()},l.onerror=()=>i(new Error(`Erro ao limpar todos os chunks: ${l.error?.message}`))})}async hasAnyPendingChunks(){let t=await this.connect();return new Promise((r,n)=>{let s=t.transaction(e.STORE_NAME,"readonly").objectStore(e.STORE_NAME).index("uploaded"),a=IDBKeyRange.only(0),c=s.count(a);c.onsuccess=()=>{r(c.result>0)},c.onerror=()=>n(new Error(`Erro ao verificar chunks pendentes: ${c.error?.message}`))})}async getPendingProctoringIds(){let t=await this.connect();return new Promise((r,n)=>{let s=t.transaction(e.STORE_NAME,"readonly").objectStore(e.STORE_NAME).index("uploaded"),a=IDBKeyRange.only(0),c=s.getAll(a);c.onsuccess=()=>{let l=c.result,h=[...new Set(l.map(d=>d.proctoringId))];r(h)},c.onerror=()=>n(new Error(`Erro ao buscar proctoringIds pendentes: ${c.error?.message}`))})}close(){this.db&&(this.db.close(),this.db=null)}};var I_={pollInterval:5e3,maxRetries:5,baseRetryDelay:2e3,cleanAfterUpload:!0},Na=class e{constructor(t,r,n,i,o){this.pollTimer=null;this.isProcessing=!1;this.isRunning=!1;this.retryCount=new Map;this.sessionUrl=null;this.currentOffset=0;this.totalBytesPurged=0;this.STORAGE_KEY_PREFIX="ep_upload_session_";this.GCS_CHUNK_SIZE=256*1024;this.proctoringId=t.trim(),this.token=r,this.backend=n,this.chunkStorage=i,this.config={...I_,...o},this.loadSessionState()}loadSessionState(){try{let t=localStorage.getItem(`${this.STORAGE_KEY_PREFIX}${this.proctoringId}`);if(t){let{sessionUrl:r,currentOffset:n,totalBytesPurged:i}=JSON.parse(t);this.sessionUrl=r,this.currentOffset=n,this.totalBytesPurged=i||0}}catch(t){console.warn("[BackgroundUpload] Erro ao carregar estado da sess\xE3o:",t)}}saveSessionState(){try{localStorage.setItem(`${this.STORAGE_KEY_PREFIX}${this.proctoringId}`,JSON.stringify({sessionUrl:this.sessionUrl,currentOffset:this.currentOffset,totalBytesPurged:this.totalBytesPurged}))}catch(t){console.warn("[BackgroundUpload] Erro ao salvar estado da sess\xE3o:",t)}}clearSessionState(){try{localStorage.removeItem(`${this.STORAGE_KEY_PREFIX}${this.proctoringId}`),this.sessionUrl=null,this.currentOffset=0,this.totalBytesPurged=0}catch(t){console.warn("[BackgroundUpload] Erro ao limpar estado da sess\xE3o:",t)}}start(){this.isRunning||(this.isRunning=!0,console.log(`[BackgroundUpload] Iniciando servi\xE7o para proctoringId: ${this.proctoringId}`),this.processQueue(),this.pollTimer=setInterval(()=>{this.processQueue(!1)},this.config.pollInterval))}stop(){this.isRunning=!1,this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null),console.log(`[BackgroundUpload] Servi\xE7o parado para proctoringId: ${this.proctoringId}`)}async flush(){console.log("[BackgroundUpload] Flush: enviando todos os chunks pendentes e finalizando...");let t=0;for(;this.isProcessing&&t<10;)await this.sleep(1e3),t++;let r=0,n=3;for(;r<n;)try{await this.processQueue(!0),console.log("[BackgroundUpload] Flush completado com sucesso.");return}catch(i){r++,console.error(`[BackgroundUpload] Erro no flush (tentativa ${r}/${n}):`,i),r<n&&await this.sleep(2e3)}throw new Error(`[BackgroundUpload] Falha ao finalizar upload ap\xF3s ${n} tentativas.`)}async syncOffset(){if(!this.sessionUrl)return 0;try{console.log("[BackgroundUpload] Sincronizando offset com GCS...");let t=await fetch(this.sessionUrl,{method:"PUT",headers:{"Content-Range":"bytes */*"}});if(console.log(`[BackgroundUpload] Status da sincroniza\xE7\xE3o (syncOffset): ${t.status}`),t.status===308){let r=t.headers.get("Range");if(r){let n=parseInt(r.split("-")[1],10);this.currentOffset=n+1,this.saveSessionState(),console.log(`[BackgroundUpload] Offset sincronizado: ${this.currentOffset}`)}else this.currentOffset=0}else t.ok||t.status===201?(console.log("[BackgroundUpload] Sincroniza\xE7\xE3o indicou upload JA FINALIZADO."),this.currentOffset=-1):console.warn(`[BackgroundUpload] Status inesperado na sincroniza\xE7\xE3o: ${t.status}`)}catch(t){console.warn("[BackgroundUpload] Erro ao sincronizar offset:",t)}return this.currentOffset}async processQueue(t=!1){if(!this.isProcessing){this.isProcessing=!0;try{if(this.sessionUrl&&(await this.syncOffset(),this.currentOffset===-1)){console.log("[BackgroundUpload] Sess\xE3o j\xE1 finalizada no servidor."),this.clearSessionState(),this.isProcessing=!1;return}let r=await this.chunkStorage.getAllChunks(this.proctoringId),n=r.filter(m=>m.uploaded===0);if(n.length===0&&!t){this.isProcessing=!1;return}console.log(`[BackgroundUpload] ${n.length} chunks pendentes encontrados. Modo final: ${t}`);let i=this.totalBytesPurged,o=r.map(m=>{let u=i,b=m.arrayBuffer.byteLength,_=u+b-1;return i+=b,{chunk:m,start:u,end:_}}),s=[],a=null,c=0,l=n[0].mimeType;for(let m of o){if(this.currentOffset>m.end)continue;let u=Math.max(0,this.currentOffset-m.start),b=m.chunk.arrayBuffer.slice(u);s.push(new Blob([b])),a=m.chunk.id,c=m.chunk.chunkIndex}if(s.length===0&&!t){this.isProcessing=!1;return}let h=new Blob(s,{type:l}),d=h.size,g;if(t)g=i;else if(d=Math.floor(h.size/this.GCS_CHUNK_SIZE)*this.GCS_CHUNK_SIZE,d===0){console.log("[BackgroundUpload] Dados insuficientes para atingir 256KB. Aguardando novo chunk..."),this.isProcessing=!1;return}let p=h.slice(0,d);try{await this.uploadData(p,l,c,g);for(let m of o)m.chunk.uploaded===0&&m.end<this.currentOffset&&(await this.chunkStorage.markAsUploaded(m.chunk.id),this.retryCount.delete(m.chunk.id),this.onChunkUploaded?.(m.chunk.id,m.chunk.chunkIndex),console.log(`[BackgroundUpload] Chunk ${m.chunk.chunkIndex} marcado como enviado.`));if(this.config.cleanAfterUpload){let u=o.filter(b=>b.chunk.uploaded===1||b.chunk.uploaded===0&&b.end<this.currentOffset).reduce((b,_)=>b+_.chunk.arrayBuffer.byteLength,0);await this.chunkStorage.clearUploadedChunks(this.proctoringId),u>0&&(this.totalBytesPurged+=u,this.saveSessionState(),console.log(`[BackgroundUpload] ${u} bytes limpos do armazenamento local. Total purgado: ${this.totalBytesPurged}`))}t&&this.clearSessionState()}catch(m){console.error("[BackgroundUpload] Falha no upload:",m),this.onUploadError?.(a||0,m)}}catch(r){console.error("[BackgroundUpload] Erro ao processar fila:",r)}finally{this.isProcessing=!1}}}async uploadData(t,r,n,i){let o=`EP_${this.proctoringId}_camera_0.webm`;if(this.sessionUrl)console.log(`[BackgroundUpload] Usando sess\xE3o GCS existente: ${this.sessionUrl}`);else{let g=await this.backend.initiateUpload(this.token,`${this.proctoringId}/${o}`,r),p=await fetch(g,{method:"POST",headers:{"x-goog-resumable":"start","Content-Type":r}});if(!p.ok)throw new Error(`Falha ao iniciar: ${p.status}`);if(this.sessionUrl=p.headers.get("Location"),!this.sessionUrl)throw new Error("Location header ausente");try{let u=new URL(this.sessionUrl).pathname.split("/"),b=u[1],_=decodeURIComponent(u.slice(2).join("/"));if(u.includes("b")&&u.includes("o")){let E=u.indexOf("b")+1,k=u.indexOf("o")+1;b=u[E],_=decodeURIComponent(u.slice(k).join("/"))}console.log(`[BackgroundUpload] Sess\xE3o Iniciada -> Bucket: ${b}, Objeto: ${_}`)}catch{console.log(`[BackgroundUpload] Sess\xE3o Iniciada. URL: ${this.sessionUrl}`)}this.currentOffset=0,this.saveSessionState()}let s=this.currentOffset,a=s+t.size-1,c=i!==void 0?i.toString():"*",l=t.size===0&&i!==void 0?`bytes */${c}`:`bytes ${s}-${a}/${c}`;console.log(`[BackgroundUpload] Enviando ${t.size>0?"dados":"finaliza\xE7\xE3o"}: ${l} (Size: ${t.size})`);let h=await fetch(this.sessionUrl,{method:"PUT",headers:{"Content-Range":l},body:t.size>0?t:null});if(console.log(`[BackgroundUpload] Resposta GCS (uploadData): ${h.status}`),h.status!==200&&h.status!==201&&h.status!==308){let g=await h.text();throw console.error(`[BackgroundUpload] Erro GCS: ${g}`),new Error(`Status HTTP inesperado: ${h.status}`)}let d=h.headers.get("Range");if(d){let g=parseInt(d.split("-")[1],10);this.currentOffset=g+1}else this.currentOffset+=t.size;this.saveSessionState(),de.registerUploadFile(this.proctoringId,`GCS Stream Upload
81
+ Size: ${t.size}
82
+ Range: ${s}-${a}
83
+ Last Index: ${n}`,"CameraChunk")}static async recoverPendingUploads(t,r){let n=new Vi,i=[];try{let o=await n.getPendingProctoringIds();if(o.length===0)return console.log("[BackgroundUpload] Nenhum chunk pendente encontrado para recupera\xE7\xE3o."),i;console.log(`[BackgroundUpload] Recupera\xE7\xE3o p\xF3s-crash: ${o.length} sess\xE3o(\xF5es) com chunks pendentes.`);for(let s of o)try{await new e(s,r,t,n,{cleanAfterUpload:!0}).flush(),i.push(s),console.log(`[BackgroundUpload] Chunks da sess\xE3o ${s} recuperados com sucesso.`)}catch(a){console.error(`[BackgroundUpload] Erro ao recuperar chunks da sess\xE3o ${s}:`,a)}}catch(o){console.error("[BackgroundUpload] Erro geral na recupera\xE7\xE3o:",o)}return i}sleep(t){return new Promise(r=>setTimeout(r,t))}};var h0=xd(),d0=h0.default||h0,Zr=class e{constructor(t,r,n,i,o){this.blobs=[];this.paramsConfig={audioBehaviourParameters:{recordingBitrate:128,noiseLimit:40},imageBehaviourParameters:{useUploadImage:!0,uploadInterval:20,saveVideo:!0},videoBehaviourParameters:{detectPerson:!1,detectFace:!1,detectCellPhone:!1}};this.options={cameraId:void 0,microphoneId:void 0,onBufferSizeError:!1,onBufferSizeErrorCallback:t=>{},proctoringType:"IMAGE",onChangeDevicesCallback:t=>{},onRealtimeAlertsCallback:t=>{}};this.videoOptions={width:640,height:480,minWidth:0,minHeight:0};this.blobsRTC=[];this.imageCount=0;this.filesToUpload=[];this.pendingPackages=[];this.animationFrameId=null;this.isCanvasLoopActive=!1;this.hardwareStream=null;this.internalClonedStream=null;this.videoElement=null;this.duration=0;this.stopped=!1;this.backgroundUpload=null;this.chunkIndex=0;this.pendingChunkSaves=[];this.boundVisibilityHandler=null;this.boundPageHideHandler=null;this.currentRetries=0;this.packageCount=0;this.failedUploads=0;this.options=t,this.videoOptions=r,this.backend=i,this.backendToken=o,n&&(this.paramsConfig=n)}static{this.CHUNK_TIMESLICE_MS=6e4}static{this.LS_SESSION_KEY="ep_proctoring_session"}get isChunkEnabled(){return!!this.proctoringId&&this.options.proctoringType==="REALTIME"&&!Jg()}setProctoringId(t){this.proctoringId=t,this.proctoringId&&this.backend&&(this.upload=new Yr(this.proctoringId,this.backend)),Oa(t),this.isChunkEnabled?(this.chunkStorage=new Vi,this.backend&&this.backendToken&&(this.backgroundUpload=new Na(this.proctoringId,this.backendToken,this.backend,this.chunkStorage,{pollInterval:5e3,maxRetries:5,cleanAfterUpload:!0})),this.persistSessionState("IN_PROGRESS"),console.log(`[CameraRecorder] Chunk recording ATIVO (type: ${this.options.proctoringType}, mobile: ${_r()})`)):console.log(`[CameraRecorder] Chunk recording INATIVO (type: ${this.options.proctoringType}) \u2014 modo cl\xE1ssico.`)}persistSessionState(t){try{let r={proctoringId:this.proctoringId,status:t,timestamp:Date.now()};localStorage.setItem(e.LS_SESSION_KEY,JSON.stringify(r))}catch(r){console.warn("[CameraRecorder] N\xE3o foi poss\xEDvel salvar estado no localStorage:",r)}}clearSessionState(){try{localStorage.removeItem(e.LS_SESSION_KEY)}catch(t){console.warn("[CameraRecorder] N\xE3o foi poss\xEDvel limpar estado do localStorage:",t)}}static checkForActiveSession(){try{let t=localStorage.getItem(e.LS_SESSION_KEY);if(!t)return null;let r=JSON.parse(t);return r.status==="IN_PROGRESS"?r:null}catch{return null}}setupLifecycleListeners(){this.boundVisibilityHandler=()=>this.handleVisibilityChange(),this.boundPageHideHandler=()=>this.handlePageHide(),document.addEventListener("visibilitychange",this.boundVisibilityHandler),window.addEventListener("pagehide",this.boundPageHideHandler)}removeLifecycleListeners(){this.boundVisibilityHandler&&(document.removeEventListener("visibilitychange",this.boundVisibilityHandler),this.boundVisibilityHandler=null),this.boundPageHideHandler&&(window.removeEventListener("pagehide",this.boundPageHideHandler),this.boundPageHideHandler=null)}handleVisibilityChange(){document.visibilityState==="hidden"?(console.log("[CameraRecorder] P\xE1gina ficou invis\xEDvel \u2014 sess\xE3o potencialmente interrompida."),this.persistSessionState("INTERRUPTED"),this.proctoringId&&de.registerError(this.proctoringId,"Visibility API: P\xE1gina ficou oculta (hidden). Poss\xEDvel troca de app ou minimiza\xE7\xE3o.")):document.visibilityState==="visible"&&(console.log("[CameraRecorder] P\xE1gina vis\xEDvel novamente \u2014 verificando estado da grava\xE7\xE3o."),this.persistSessionState("IN_PROGRESS"),this.proctoringId&&de.registerError(this.proctoringId,"Visibility API: P\xE1gina voltou a ficar vis\xEDvel. Usu\xE1rio retornou."),this.onVisibilityRestored?.())}handlePageHide(){console.log("[CameraRecorder] pagehide detectado \u2014 persistindo estado."),this.persistSessionState("INTERRUPTED"),this.proctoringId&&de.registerError(this.proctoringId,"Page Lifecycle: pagehide event detectado. P\xE1gina est\xE1 sendo descarregada.")}async initializeDetectors(){lg(),(this.paramsConfig.videoBehaviourParameters?.detectPerson||this.paramsConfig.videoBehaviourParameters?.detectCellPhone)&&(this.objectDetection=new Ma({onRealtimeAlertsCallback:t=>{t.begin=Date.now()-(this.getStartTime()?.getTime()||0),t.end=Date.now()-(this.getStartTime()?.getTime()||0),this.options.onRealtimeAlertsCallback(t)}},this.paramsConfig),await this.objectDetection.initializeDetector()),this.paramsConfig.videoBehaviourParameters?.detectFace&&(this.faceDetection=new Oi({onRealtimeAlertsCallback:t=>{t.begin=Date.now()-(this.getStartTime()?.getTime()||0),t.end=Date.now()-(this.getStartTime()?.getTime()||0),this.options.onRealtimeAlertsCallback(t)}},this.paramsConfig),await this.faceDetection.initializeDetector())}configImageCapture(){this.video=document.createElement("video"),this.canvas=document.createElement("canvas"),this.video.srcObject=this.cameraStream,this.video.play(),this.video.muted=!0,screen.orientation?.type.includes("portrait")&&_r()?(console.log("configurando canvas em portrait"),this.canvas.width=this.videoOptions.height/2,this.canvas.height=this.videoOptions.width/2):(this.canvas.width=this.videoOptions.width/2,this.canvas.height=this.videoOptions.height/2)}async bufferError(t){console.log("buffer error Camera Recorder params ");let r=this.paramsConfig.videoBehaviourParameters?.retryEnabled||!1,n=this.paramsConfig.videoBehaviourParameters?.maxRetries||3;r&&this.currentRetries<n?(await this.recordingStop(),await this.startRecording(),this.currentRetries++,this.options.onBufferSizeErrorCallback&&this.options.onBufferSizeErrorCallback(this.cameraStream)):this.options.onBufferSizeErrorCallback&&this.options.onBufferSizeErrorCallback()}async startStream(){let{cameraId:t,microphoneId:r,onBufferSizeErrorCallback:n}=this.options,i={audio:{deviceId:r},video:{deviceId:t,width:this.videoOptions.width,height:this.videoOptions.height,frameRate:15}};try{this.hardwareStream=await navigator.mediaDevices.getUserMedia(i)}catch(h){throw h.toString()=="NotReadableError: Could not start video source"?"N\xE3o foi poss\xEDvel conectar a camera, ela pode estar sendo utilizada por outro programa":h}this.cameraStream=this.hardwareStream;let s=this.cameraStream.getVideoTracks()[0].getSettings(),{width:a=0,height:c=0}=s;if(screen.orientation?.type.includes("portrait")&&_r()&&this.videoOptions.width==c&&this.videoOptions.height==a&&([a,c]=[c,a]),this.videoOptions.minWidth>a||this.videoOptions.minHeight>c)throw r0;if(this.videoOptions.width!==a||this.videoOptions.height!==c)throw de.registerAnotherStream(this.proctoringId,`Maybe have another stream active
81
84
  Video Options: ${JSON.stringify(this.videoOptions,null,2)}
82
- Setting: ${JSON.stringify(s,null,2)}`),Yg}async stopStream(){this.cameraStream&&this.cameraStream.getTracks().forEach(t=>t.stop()),this.internalClonedStream&&(this.internalClonedStream.getTracks().forEach(t=>t.stop()),this.internalClonedStream=null),this.hardwareStream&&(this.hardwareStream.getTracks().forEach(t=>t.stop()),this.hardwareStream=null)}async waitForVideoFlow(){return new Promise(t=>{let r=()=>{if(this.videoElement&&this.videoElement?.readyState>=3)return t();requestAnimationFrame(r)};r()})}async attachAndWarmup(t){this.videoElement=document.createElement("video"),this.videoElement.srcObject=t,this.videoElement.muted=!0,await this.videoElement.play().catch(r=>{}),await new Promise(r=>{if(this.videoElement&&this.videoElement?.readyState>=1)return r();this.videoElement&&(this.videoElement.onloadedmetadata=()=>r())}),console.log("CameraRecorder checking metadata ok"),await this.waitForVideoFlow(),console.log("CameraRecorder waiting for video flow ok"),await new Promise(r=>setTimeout(r,300))}async startRecording(){await this.startStream(),await this.attachAndWarmup(this.cameraStream);let{startRecording:t,stopRecording:r,pauseRecording:n,resumeRecording:i,recorderOptions:o,getBufferSize:s,getStartTime:a,getDuration:c}=Vo(this.cameraStream,this.blobs,this.options.onBufferSizeError,l=>this.bufferError(l),!1);this.recordingStart=t,this.recordingStop=r,this.recordingPause=n,this.recordingResume=i,this.recorderOptions=o,this.getBufferSize=s,this.getStartTime=a,this.getDuration=c;try{await new Promise(l=>setTimeout(l,500)),await this.recordingStart()}catch(l){console.log("Camera Recorder error",l),this.stopRecording();let h=this.paramsConfig.videoBehaviourParameters?.maxRetries||3;if(this.currentRetries<h)console.log("Camera Recorder retry",this.currentRetries),this.currentRetries++,await this.startRecording();else throw l}this.stopped=!1,(this.paramsConfig.videoBehaviourParameters?.detectPerson||this.paramsConfig.videoBehaviourParameters?.detectCellPhone||this.paramsConfig.videoBehaviourParameters?.detectFace)&&await this.initializeDetectors(),this.paramsConfig.videoBehaviourParameters?.detectFace&&await this.faceDetection.enableCam(this.cameraStream),(this.paramsConfig.videoBehaviourParameters?.detectPerson||this.paramsConfig.videoBehaviourParameters?.detectCellPhone)&&await this.objectDetection.enableCam(this.cameraStream),this.filesToUpload=[],this.pendingPackages=[],this.options.proctoringType=="REALTIME"&&await this.startRealtimeCapture(),this.packageCount=0,console.log("Camera Recorder started OK")}async stopRecording(){console.log("Camera Recorder stopRecording"),this.stopped=!0,this.isCanvasLoopActive=!1,this.faceDetection&&this.faceDetection.detecting&&this.faceDetection.stopDetection(),this.objectDetection&&this.objectDetection.detecting&&this.objectDetection.stopDetection(),clearInterval(this.imageInterval),clearInterval(this.sendFrameInterval),this.volumeMeter&&this.volumeMeter.stop(),this.intervalNoiseDetection&&clearInterval(this.intervalNoiseDetection),this.recordingStop&&await this.recordingStop(),this.duration=this.getDuration?this.getDuration():0,await new Promise(t=>setTimeout(t,200));try{this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.cameraStream&&this.cameraStream.getTracks().forEach(t=>t.stop()),this.internalClonedStream&&(this.internalClonedStream.getTracks().forEach(t=>t.stop()),this.internalClonedStream=null),this.hardwareStream&&(this.hardwareStream.getTracks().forEach(t=>t.stop()),this.hardwareStream=null),this.videoElement&&(this.videoElement?.remove(),this.videoElement=null),this.video&&this.video?.remove(),this.canvas&&this.canvas?.remove()}catch{console.error("Erro ao parar os streams de m\xEDdia.")}this.options.proctoringType=="REALTIME"&&this.upload&&this.backendToken&&(this.pendingPackages.push(this.filesToUpload.slice(0,this.filesToUpload.length)),await this.sendPackage(),await this.filesToUpload.splice(0,this.filesToUpload.length))}async pauseRecording(){await this.recordingPause()}async resumeRecording(){await this.recordingResume()}async getCurrentImageBase64(){return!this.video||!this.canvas?this.configImageCapture():this.video.srcObject!==this.cameraStream&&(this.video.srcObject=this.cameraStream,await this.video.play()),this.video.paused&&await this.video.play(),await new Promise(t=>{if(this.video.readyState>=2){t();return}let r=()=>{this.video.removeEventListener("loadedmetadata",r),setTimeout(()=>t(),50)};this.video.addEventListener("loadedmetadata",r),setTimeout(()=>{this.video.removeEventListener("loadedmetadata",r),t()},500)}),this.canvas.getContext("2d").drawImage(this.video,0,0,this.canvas.width,this.canvas.height),this.canvas.toDataURL("image/jpeg")}async captureFrame(){let t,r=this.paramsConfig.videoBehaviourParameters?.realtimePackageSize;this.canvas.getContext("2d").drawImage(this.video,0,0,this.canvas.width,this.canvas.height);let n=this.canvas.toDataURL("image/jpeg");if(this.proctoringId==null)return;r==this.imageCount&&(this.imageCount=0,this.pendingPackages.push(this.filesToUpload.slice(0,r)),this.sendPackage(),await this.filesToUpload.splice(0,r));let i=`${this.proctoringId}_${this.imageCount+1}.jpg`;t=await this.getFile(n,i,"image/jpeg"),t&&t.size>10&&r>0&&(this.filesToUpload.push(t),this.imageCount++)}async startRealtimeCapture(){this.configImageCapture(),this.imageCount=0,this.pendingPackages=[],await this.captureFrame(),this.imageInterval=setInterval(async()=>{await this.captureFrame()},this.paramsConfig.videoBehaviourParameters?.realtimeCaptureInterval*1e3)}async sendPackage(){let t=this.paramsConfig.videoBehaviourParameters?.realtimePackageSize,r=this.paramsConfig.videoBehaviourParameters?.realtimeCaptureInterval;if(this.upload&&this.backendToken&&this.pendingPackages.length>0){let n=[],i=0;for(let o of this.pendingPackages){let s=new c0.default;for(let h of o)s.file(h.name,h);let a=await s.generateAsync({type:"blob"}),c="realtime_package_"+t*r*this.packageCount+".zip",l=new File([a],c,{type:"application/zip"});try{await this.upload.uploadPackage({file:l},this.backendToken)==!0&&(this.packageCount++,this.failedUploads=0,n.push(i++))}catch{this.failedUploads++,this.failedUploads>=2&&this.options.onRealtimeAlertsCallback({status:"ALERT",description:"Realtime n\xE3o est\xE1 enviando pacotes",type:"error_upload_package",category:"error_upload_package",begin:0,end:0});break}}for(let o of n)await this.pendingPackages.splice(o,1)}}download(t){let r=URL.createObjectURL(t),n=document.createElement("a");document.body.appendChild(n),n.style.display="none",n.href=r,n.download=t.name,n.click(),window.URL.revokeObjectURL(r)}async saveOnSession(t){this.blobs!=null&&me.registerSaveOnSession(this.proctoringId,`Blobs Length: ${this.blobs.length} Buffer Size: ${this.getBufferSize()} `);let r=this.cameraStream.getVideoTracks()[0].getSettings(),n=this.cameraStream.getAudioTracks()[0].getSettings();if(this.options.proctoringType=="VIDEO"||this.options.proctoringType=="REALTIME"||this.options.proctoringType=="IMAGE"&&this.paramsConfig.imageBehaviourParameters?.saveVideo){let i=new Blob(this.blobs,{type:this.recorderOptions?.mimeType||"video/webm"}),s=await(await k_(i,this.duration)).arrayBuffer();t.addRecording({device:`Audio
85
+ Setting: ${JSON.stringify(s,null,2)}`),t0}async stopStream(){this.cameraStream&&this.cameraStream.getTracks().forEach(t=>t.stop()),this.internalClonedStream&&(this.internalClonedStream.getTracks().forEach(t=>t.stop()),this.internalClonedStream=null),this.hardwareStream&&(this.hardwareStream.getTracks().forEach(t=>t.stop()),this.hardwareStream=null)}async waitForVideoFlow(){return new Promise(t=>{let r=()=>{if(this.videoElement&&this.videoElement?.readyState>=3)return t();requestAnimationFrame(r)};r()})}async attachAndWarmup(t){this.videoElement=document.createElement("video"),this.videoElement.srcObject=t,this.videoElement.muted=!0,await this.videoElement.play().catch(r=>{}),await new Promise(r=>{if(this.videoElement&&this.videoElement?.readyState>=1)return r();this.videoElement&&(this.videoElement.onloadedmetadata=()=>r())}),console.log("CameraRecorder checking metadata ok"),await this.waitForVideoFlow(),console.log("CameraRecorder waiting for video flow ok"),await new Promise(r=>setTimeout(r,300))}async startRecording(){await this.startStream(),await this.attachAndWarmup(this.cameraStream);let{startRecording:t,stopRecording:r,pauseRecording:n,resumeRecording:i,recorderOptions:o,getBufferSize:s,getStartTime:a,getDuration:c}=Ho(this.cameraStream,this.blobs,this.options.onBufferSizeError,l=>this.bufferError(l),!1);this.recordingStart=t,this.recordingStop=r,this.recordingPause=n,this.recordingResume=i,this.recorderOptions=o,this.getBufferSize=s,this.getStartTime=a,this.getDuration=c;try{await new Promise(l=>setTimeout(l,500)),await this.recordingStart()}catch(l){console.log("Camera Recorder error",l),this.stopRecording();let h=this.paramsConfig.videoBehaviourParameters?.maxRetries||3;if(this.currentRetries<h)console.log("Camera Recorder retry",this.currentRetries),this.currentRetries++,await this.startRecording();else throw l}this.stopped=!1,(this.paramsConfig.videoBehaviourParameters?.detectPerson||this.paramsConfig.videoBehaviourParameters?.detectCellPhone||this.paramsConfig.videoBehaviourParameters?.detectFace)&&await this.initializeDetectors(),this.paramsConfig.videoBehaviourParameters?.detectFace&&await this.faceDetection.enableCam(this.cameraStream),(this.paramsConfig.videoBehaviourParameters?.detectPerson||this.paramsConfig.videoBehaviourParameters?.detectCellPhone)&&await this.objectDetection.enableCam(this.cameraStream),this.filesToUpload=[],this.pendingPackages=[],this.options.proctoringType=="REALTIME"&&await this.startRealtimeCapture(),this.packageCount=0,console.log("Camera Recorder started OK")}async stopRecording(){console.log("Camera Recorder stopRecording"),this.stopped=!0,this.isCanvasLoopActive=!1,this.faceDetection&&this.faceDetection.detecting&&this.faceDetection.stopDetection(),this.objectDetection&&this.objectDetection.detecting&&this.objectDetection.stopDetection(),clearInterval(this.imageInterval),clearInterval(this.sendFrameInterval),this.volumeMeter&&this.volumeMeter.stop(),this.intervalNoiseDetection&&clearInterval(this.intervalNoiseDetection),this.recordingStop&&await this.recordingStop(),this.duration=this.getDuration?this.getDuration():0,await new Promise(t=>setTimeout(t,200));try{this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.cameraStream&&this.cameraStream.getTracks().forEach(t=>t.stop()),this.internalClonedStream&&(this.internalClonedStream.getTracks().forEach(t=>t.stop()),this.internalClonedStream=null),this.hardwareStream&&(this.hardwareStream.getTracks().forEach(t=>t.stop()),this.hardwareStream=null),this.videoElement&&(this.videoElement?.remove(),this.videoElement=null),this.video&&this.video?.remove(),this.canvas&&this.canvas?.remove()}catch{console.error("Erro ao parar os streams de m\xEDdia.")}if(this.options.proctoringType=="REALTIME"&&this.upload&&this.backendToken&&(this.pendingPackages.push(this.filesToUpload.slice(0,this.filesToUpload.length)),await this.sendPackage(),await this.filesToUpload.splice(0,this.filesToUpload.length)),this.isChunkEnabled){if(this.backgroundUpload){try{this.pendingChunkSaves.length>0&&(console.log(`[CameraRecorder] Aguardando ${this.pendingChunkSaves.length} salvamentos de chunks pendentes...`),await Promise.all(this.pendingChunkSaves)),await this.backgroundUpload.flush()}catch(t){console.warn("[CameraRecorder] Erro ao fazer flush dos chunks:",t)}this.backgroundUpload.stop()}this.removeLifecycleListeners(),this.persistSessionState("FINISHED")}}async handleNewChunk(t,r){if(!this.proctoringId||!this.chunkStorage)return;let n=(async()=>{try{let i=await t.arrayBuffer();await this.chunkStorage.saveChunk({proctoringId:this.proctoringId,chunkIndex:this.chunkIndex,arrayBuffer:i,timestamp:Date.now(),uploaded:0,mimeType:this.recorderOptions?.mimeType||"video/webm"}),this.chunkIndex++,console.log(`[CameraRecorder] Chunk ${this.chunkIndex-1} salvo no IndexedDB.`)}catch(i){console.error("[CameraRecorder] Erro ao salvar chunk no IndexedDB:",i)}})();this.pendingChunkSaves.push(n),n.finally(()=>{this.pendingChunkSaves=this.pendingChunkSaves.filter(i=>i!==n)})}async pauseRecording(){await this.recordingPause()}async resumeRecording(){await this.recordingResume()}async getCurrentImageBase64(){return!this.video||!this.canvas?this.configImageCapture():this.video.srcObject!==this.cameraStream&&(this.video.srcObject=this.cameraStream,await this.video.play()),this.video.paused&&await this.video.play(),await new Promise(t=>{if(this.video.readyState>=2){t();return}let r=()=>{this.video.removeEventListener("loadedmetadata",r),setTimeout(()=>t(),50)};this.video.addEventListener("loadedmetadata",r),setTimeout(()=>{this.video.removeEventListener("loadedmetadata",r),t()},500)}),this.canvas.getContext("2d").drawImage(this.video,0,0,this.canvas.width,this.canvas.height),this.canvas.toDataURL("image/jpeg")}async captureFrame(){let t,r=this.paramsConfig.videoBehaviourParameters?.realtimePackageSize;this.canvas.getContext("2d").drawImage(this.video,0,0,this.canvas.width,this.canvas.height);let n=this.canvas.toDataURL("image/jpeg");if(this.proctoringId==null)return;r==this.imageCount&&(this.imageCount=0,this.pendingPackages.push(this.filesToUpload.slice(0,r)),this.sendPackage(),await this.filesToUpload.splice(0,r));let i=`${this.proctoringId}_${this.imageCount+1}.jpg`;t=await this.getFile(n,i,"image/jpeg"),t&&t.size>10&&r>0&&(this.filesToUpload.push(t),this.imageCount++)}async startRealtimeCapture(){this.configImageCapture(),this.imageCount=0,this.pendingPackages=[],await this.captureFrame(),this.imageInterval=setInterval(async()=>{await this.captureFrame()},this.paramsConfig.videoBehaviourParameters?.realtimeCaptureInterval*1e3)}async sendPackage(){let t=this.paramsConfig.videoBehaviourParameters?.realtimePackageSize,r=this.paramsConfig.videoBehaviourParameters?.realtimeCaptureInterval;if(this.upload&&this.backendToken&&this.pendingPackages.length>0){let n=[],i=0;for(let o of this.pendingPackages){let s=new p0.default;for(let h of o)s.file(h.name,h);let a=await s.generateAsync({type:"blob"}),c="realtime_package_"+t*r*this.packageCount+".zip",l=new File([a],c,{type:"application/zip"});try{await this.upload.uploadPackage({file:l},this.backendToken)==!0&&(this.packageCount++,this.failedUploads=0,n.push(i++))}catch{this.failedUploads++,this.failedUploads>=2&&this.options.onRealtimeAlertsCallback({status:"ALERT",description:"Realtime n\xE3o est\xE1 enviando pacotes",type:"error_upload_package",category:"error_upload_package",begin:0,end:0});break}}for(let o of n)await this.pendingPackages.splice(o,1)}}download(t){let r=URL.createObjectURL(t),n=document.createElement("a");document.body.appendChild(n),n.style.display="none",n.href=r,n.download=t.name,n.click(),window.URL.revokeObjectURL(r)}async saveOnSession(t){this.blobs!=null&&de.registerSaveOnSession(this.proctoringId,`Blobs Length: ${this.blobs.length} Buffer Size: ${this.getBufferSize()} `);let r=this.cameraStream.getVideoTracks()[0].getSettings(),n=this.cameraStream.getAudioTracks()[0].getSettings();if(this.options.proctoringType=="VIDEO"||this.options.proctoringType=="REALTIME"||this.options.proctoringType=="IMAGE"&&this.paramsConfig.imageBehaviourParameters?.saveVideo){let i=!1;if(this.isChunkEnabled&&this.backend&&this.backendToken&&this.proctoringId){let o=`EP_${this.proctoringId}_camera_0.webm`,s=`${this.proctoringId}/${o}`;i=await this.backend.checkUpload(this.backendToken,s,"video/webm"),this.chunkStorage&&await this.chunkStorage.clearAllChunks(t.id)}if(!i){let o=new Blob(this.blobs,{type:this.recorderOptions?.mimeType||"video/webm"}),s=o;typeof d0=="function"?s=await d0(o,this.duration):console.warn("fixWebmDuration n\xE3o dispon\xEDvel"),t.addRecording({device:`Audio
83
86
  Sample Rate: ${n.sampleRate}
84
87
  Sample Size: ${n.sampleSize}
85
88
 
86
89
  Video:
87
- ${JSON.stringify(this.recorderOptions)}`,arrayBuffer:s,origin:"Camera"})}}async getFile(t,r,n){return new Promise((i,o)=>{t.length>5&&fetch(t).then(s=>s.blob()).then(s=>{let a=new File([s],r,{type:n});i(a)}).catch(s=>{o(s)})})}onNoiseDetected(){if(this.options.proctoringType==="REALTIME")return;!this.volumeMeter&&this.cameraStream&&(this.volumeMeter=new gn(this.cameraStream),this.volumeMeter.start().catch(r=>{console.log(r),this.volumeMeter=void 0})),(this.volumeMeter?.getVolume()??0)>=(this.paramsConfig.audioBehaviourParameters?.noiseLimit||40)&&this.noiseWait>=20&&(this.options.onRealtimeAlertsCallback({status:"ALERT",description:"Barulho detectado",type:"audio_detection_on_stream"}),this.noiseWait=0),this.noiseWait++}};var Na=class{constructor(t=or,r){this.videoOptions={width:1080,height:720,minWidth:0,minHeight:0};this.options={...or,...t,captureScreen:!1,allowMultipleMonitors:!0,allowOnlyFirstMonitor:!1},this.videoOptions={...this.videoOptions,...r}}checkDevicesInterface(){this.addStyleMask();let t=document.createElement("style");t.type="text/css",t.innerHTML=`
90
+ ${JSON.stringify(this.recorderOptions)}`,arrayBuffer:await s.arrayBuffer(),origin:"Camera"})}}}async getFile(t,r,n){return new Promise((i,o)=>{t.length>5&&fetch(t).then(s=>s.blob()).then(s=>{let a=new File([s],r,{type:n});i(a)}).catch(s=>{o(s)})})}};var Hi=class{constructor(t){this.volume=null;this.animationFrameId=null;this.stream=t}async start(t={}){return new Promise((r,n)=>{try{this.audioContext=new AudioContext,this.analyser=this.audioContext.createAnalyser(),this.microphone=this.audioContext.createMediaStreamSource(this.stream),this.analyser.smoothingTimeConstant=.8,this.analyser.fftSize=1024,this.microphone.connect(this.analyser);let i=()=>{let o=new Uint8Array(this.analyser.frequencyBinCount);this.analyser.getByteFrequencyData(o);let a=o.reduce((c,l)=>c+l,0)/o.length;this.setVolume(a),t.setVolume&&t.setVolume(a),this.animationFrameId=requestAnimationFrame(i)};this.animationFrameId=requestAnimationFrame(i),r(!0)}catch(i){this.stop(),n(`Error: ${i}`)}})}stop(){this.animationFrameId!==null&&cancelAnimationFrame(this.animationFrameId),this.audioContext?.close(),this.microphone?.disconnect(),this.analyser?.disconnect()}getVolume(){return this.volume}setVolume(t){this.volume=t}};var ja=class{constructor(t=or,r){this.videoOptions={width:1080,height:720,minWidth:0,minHeight:0};this.autoConfirmTimer=null;this.autoConfirmSeconds=5;this.options={...or,...t,captureScreen:!1,allowMultipleMonitors:!0,allowOnlyFirstMonitor:!1},this.videoOptions={...this.videoOptions,...r}}checkDevicesInterface(){this.addStyleMask();let t=document.createElement("style");t.type="text/css",t.innerHTML=`
88
91
  .alert-div {
89
92
  display: flex;
90
93
  align-items: center;
@@ -364,7 +367,7 @@ Setting: ${JSON.stringify(s,null,2)}`),Yg}async stopStream(){this.cameraStream&&
364
367
  height: 50px !important;
365
368
  }
366
369
  }
367
- `,document.getElementsByTagName("head")[0].appendChild(t);let r=document.createElement("div");r.setAttribute("id","checkDevices");let n={backgroundColor:"rgba(0,0,0,0.4)",zIndex:"1000",position:"fixed",top:"0",left:"0",height:"100vh",width:"100%",maxWidth:"100vw",display:"flex",alignItems:"center",justifyContent:"center",overflow:"auto",boxSizing:"border-box"};this.applyStyles(r,n);let i=document.createElement("div");i.setAttribute("class","modal-responsive");let o={backgroundColor:"#fff",zIndex:"1001",width:"90%",maxWidth:"600px",borderRadius:"10px",display:"flex",flexDirection:"column",alignItems:"center",boxSizing:"border-box",overflow:"hidden"};this.applyStyles(i,o);let s=document.createElement("h3");s.innerText="Checagem de dispositivos";let a={color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"20px",marginBottom:"15px",padding:"20px 0px",borderBottom:"2px solid rgba(0, 0, 0, .1)",width:"100%",textAlign:"center"};this.applyStyles(s,a),i.appendChild(s);let c=document.createElement("div");c.setAttribute("class","camera-header-responsive");let l=document.createElement("h3"),h=document.createElement("select");h.setAttribute("id","cameraSelect");let d={padding:"0 20px",width:"100%",display:"flex",justifyContent:"space-between",marginBottom:"15px"};this.applyStyles(c,d),l.innerText="C\xE2mera";let m={color:"rgba(0, 0, 0, .75)",fontWeight:"bold",fontSize:"16px"};this.applyStyles(l,m),h.style.maxWidth="400px",h.style.minWidth="150px",h.style.width="100%",h.style.boxSizing="border-box",c.appendChild(l),c.appendChild(h),i.appendChild(c);let p=document.createElement("div");p.setAttribute("id","liveCheckDevices"),p.setAttribute("class","camera-container-responsive");let g=document.createElement("div");g.setAttribute("class","video-responsive");let f=document.createElement("video"),b=document.createElement("div");f.setAttribute("id","cameraStream"),f.muted=!0;let _={width:"100%",display:"flex",justifyContent:"space-between",gap:"20px",borderBottom:"2px solid rgba(0, 0, 0, .1)",paddingBottom:"15px",paddingLeft:"20px",paddingRight:"20px",boxSizing:"border-box",transform:"rotateY(180deg)"};this.applyStyles(p,_);let x={width:"100%",maxWidth:"320px",height:"auto",maxHeight:"240px",objectFit:"contain",backgroundColor:"#000",borderRadius:"10px",marginBottom:"15px"};this.applyStyles(f,x),this.applyStyles(g,{position:"relative",width:"100%",maxWidth:"320px",maxHeight:"240px",boxSizing:"border-box"});let k=document.createElement("div");k.setAttribute("class","alert-div"),k.setAttribute("id","alertDivResolution");let P=document.createElement("error");P.setAttribute("id","resolutionAlert"),P.innerText="Resolu\xE7\xE3o m\xEDnima",P.style.marginLeft="10px",P.style.marginRight="5px";let C=document.createElement("span"),A=document.createElement("div"),R=document.createElement("div");C.setAttribute("id","checkmark_resolution"),A.setAttribute("id","checkmark_stem_resolution"),R.setAttribute("id","checkmark_kick_resolution"),C.appendChild(A),C.appendChild(R);let N=document.createElement("span"),J=document.createElement("div"),S=document.createElement("div");N.setAttribute("class","info"),N.setAttribute("id","info_resolution"),J.setAttribute("class","info_stem"),S.setAttribute("class","info_kick"),N.appendChild(J),N.appendChild(S),k.appendChild(C),k.appendChild(P),k.appendChild(N);let O=document.createElement("div");O.setAttribute("class","alert-div"),O.setAttribute("id","alertDivFacePosition");let y=document.createElement("error");y.setAttribute("id","facePositionAlert"),y.innerText="Posicionamento da face",y.style.marginLeft="10px";let M=document.createElement("span"),ae=document.createElement("div"),V=document.createElement("div");M.setAttribute("id","checkmark_FacePosition"),ae.setAttribute("id","checkmark_stem_FacePosition"),V.setAttribute("id","checkmark_kick_FacePosition"),M.appendChild(ae),M.appendChild(V);let ce=document.createElement("span"),H=document.createElement("div"),oe=document.createElement("div");ce.style.marginLeft="10px",ce.setAttribute("class","info"),ce.setAttribute("id","info_FacePosition"),ce.style.display="none",H.setAttribute("class","info_stem"),oe.setAttribute("class","info_kick"),ce.appendChild(H),ce.appendChild(oe),O.appendChild(M),O.appendChild(y),O.appendChild(ce);let B=document.createElement("div");B.setAttribute("class","alert-div"),B.setAttribute("id","alertDivAmbientVerify");let D=document.createElement("error");D.setAttribute("id","ambientVerifyAlert"),D.innerText="Verifica\xE7\xE3o do ambiente",D.style.marginLeft="10px";let te=document.createElement("span"),q=document.createElement("div"),G=document.createElement("div");te.setAttribute("id","checkmark_AmbientVerify"),q.setAttribute("id","checkmark_stem_AmbientVerify"),G.setAttribute("id","checkmark_kick_AmbientVerify"),te.appendChild(q),te.appendChild(G),B.appendChild(te),B.appendChild(D);let Ee=document.createElement("div");Ee.setAttribute("class","alert-div"),Ee.setAttribute("id","alertDivSpyCam"),Ee.style.display="none";let Ke=document.createElement("error");Ke.setAttribute("id","SpyCamAlert"),Ke.innerText="Verifica\xE7\xE3o de Spy Cam",Ke.style.marginLeft="10px";let de=document.createElement("span"),ge=document.createElement("div"),Xe=document.createElement("div");de.setAttribute("id","checkmark_SpyCam"),ge.setAttribute("id","checkmark_stem_SpyCam"),Xe.setAttribute("id","checkmark_kick_SpyCam"),de.appendChild(ge),de.appendChild(Xe),Ee.appendChild(de),Ee.appendChild(Ke),b.style.transform="rotateY(180deg)",b.style.display="flex",b.style.flexDirection="column",b.style.flex="1",b.style.minWidth="0",b.appendChild(k),b.appendChild(O),b.appendChild(B),b.appendChild(Ee),p.appendChild(b),g.appendChild(f),g.style.flexShrink="0",p.appendChild(g);let ve=document.createElement("div");ve.setAttribute("class","facial-biometry__mask"),ve.style.width="100%",ve.style.height="100%",ve.style.position="absolute",ve.style.top="0px",ve.style.left="0px",ve.style.backgroundColor="#fff",ve.style.opacity="0.6";let it=document.createElement("div");it.setAttribute("class","biometry__frame"),it.style.width="100%",it.style.height="100%",it.style.position="absolute",it.style.top="0px",it.style.left="0px",it.style.zIndex="10",g.appendChild(ve),g.appendChild(it),i.appendChild(p);let ut=document.createElement("div");ut.setAttribute("class","mic-header-responsive");let u=document.createElement("h3"),L=document.createElement("select");L.setAttribute("id","micSelect");let U={padding:"0 20px",width:"100%",display:"flex",justifyContent:"space-between",margin:"15px 0"};this.applyStyles(ut,U),u.innerText="Microfone";let w={color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"16px"};this.applyStyles(u,w),L.style.maxWidth="400px",L.style.minWidth="150px",L.style.width="100%",L.style.boxSizing="border-box",ut.appendChild(u),ut.appendChild(L),i.appendChild(ut);let v=document.createElement("div");v.setAttribute("class","mic-container-responsive");let E={width:"100%",padding:"0px 20px",display:"flex",boxSizing:"border-box"};this.applyStyles(v,E);let z=document.createElement("div");z.setAttribute("class","mic-meter-responsive");let j={display:"flex",flexDirection:"column",justifyContent:"space-between",paddingBottom:"15px"};this.applyStyles(z,j);let T=document.createElement("div");T.setAttribute("id","audioStream");let $={display:"flex",marginBottom:"15px"};this.applyStyles(T,$);let K={height:"16px",width:"5px",marginRight:"5px",borderRadius:"10px",backgroundColor:"rgba(0, 0, 0, .3)"};for(let Qu=0;Qu<25;Qu++){let ep=document.createElement("div");this.applyStyles(ep,K),T.appendChild(ep)}let W=document.createElement("div");W.setAttribute("class","range-responsive");let re=document.createElement("p"),ke=document.createElement("p"),ue=document.createElement("p"),kt={width:"100%",maxWidth:"250px",display:"flex",justifyContent:"space-between",boxSizing:"border-box"};this.applyStyles(W,kt),re.innerText="0",ke.innerText="50",ue.innerText="100",W.appendChild(re),W.appendChild(ke),W.appendChild(ue);let Kt=document.createElement("div");Kt.setAttribute("class","alert-div"),Kt.setAttribute("id","alertDivMicrophone");let Xt={display:"flex",alignItems:"center",justifyContent:"center",width:"100%"};this.applyStyles(Kt,Xt);let Ar=document.createElement("error");Ar.setAttribute("id","microphoneAlert"),Ar.innerText="Teste de funcionamento",Ar.style.marginLeft="10px";let Ie=document.createElement("span"),Pn=document.createElement("div"),ii=document.createElement("div");Ie.setAttribute("id","checkmark_microphone"),Pn.setAttribute("id","checkmark_stem_microphone"),ii.setAttribute("id","checkmark_kick_microphone"),Ie.appendChild(Pn),Ie.appendChild(ii),Kt.appendChild(Ie),Kt.appendChild(Ar),z.appendChild(T),z.appendChild(W);let gt=document.createElement("p");gt.setAttribute("class","pronounce-responsive"),gt.innerText='Pronuncie em voz alta: "Testando..."',gt.style.textAlign="start";let gs={width:"calc(100% - 40px)",marginLeft:"20px",marginRight:"20px",marginBottom:"15px",boxSizing:"border-box",padding:"0 10px"};this.applyStyles(gt,gs),v.appendChild(z),v.appendChild(Kt),i.appendChild(gt),i.appendChild(v);let Dn=document.createElement("div"),ll={width:"100%",display:"flex",alignItems:"center",justifyContent:"center",borderTop:"2px solid rgba(0, 0, 0, .1)",boxSizing:"border-box"};this.applyStyles(Dn,ll);let Bn=document.createElement("button");Bn.setAttribute("id","cancelBtn"),Bn.setAttribute("class","button-responsive"),Bn.innerText="Cancelar";let ys={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px"};this.applyStyles(Bn,ys);let jr=document.createElement("span");jr.setAttribute("class","divider-responsive");let oi={width:"3px",height:"70px",margin:"0px 2px",background:"rgba(0, 0, 0, .1)"};this.applyStyles(jr,oi);let On=document.createElement("button");On.innerText="Continuar",On.setAttribute("id","confirmBtn"),On.setAttribute("class","button-responsive");let xy={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px"};this.applyStyles(On,xy),this.options.useSpyScan&&(On.style.cursor="not-allowed",On.setAttribute("disabled","true")),Dn.appendChild(Bn),Dn.appendChild(jr),Dn.appendChild(On),i.appendChild(Dn),r.appendChild(i),document.body.appendChild(r)}async setSelectOption(t,r){let n=document.querySelector("#cameraSelect"),i=document.querySelector("#micSelect"),o=await pr();n&&(n.value=t.cameraId||"default"),i&&(i.value=t.microphoneId||"default");let s=(a,c)=>{let l=document.createElement("option");return l.setAttribute("value",c),l.innerHTML=a,l};o.cameras.forEach(a=>{let c=s(a.label,a.id);n?.appendChild(c)}),o.microphones.forEach(a=>{let c=s(a.label,a.id);i?.appendChild(c)}),this.onSelectOptionChange(a=>r(a))}async onSelectOptionChange(t){let r=document.querySelector("#cameraSelect"),n=document.querySelector("#micSelect");r?.addEventListener("change",()=>t({cameraId:r?.value,microphoneId:n?.value})),n?.addEventListener("change",()=>t({cameraId:r?.value,microphoneId:n?.value}))}closeModal(){document.querySelector("#checkDevices")?.remove()}modalActions(t){let r=document.getElementById("cancelBtn"),n=document.getElementById("confirmBtn"),i=document.getElementById("cameraSelect"),o=document.getElementById("micSelect");return new Promise((s,a)=>{r?.addEventListener("click",()=>{t(),this.closeModal(),a({result:!1})}),n?.addEventListener("click",()=>{n.disabled||(t(),this.closeModal(),s({cameraId:i?.value,microphoneId:o?.value,result:!0}))})})}realtimeAlertsUI(t){let r=document.getElementById("facePositionAlert"),n=document.getElementById("ambientVerifyAlert"),i=document.getElementById("alertDivFacePosition"),o=document.getElementById("info_FacePosition"),s=document.getElementById("checkmark_FacePosition"),a=document.getElementById("checkmark_stem_FacePosition"),c=document.getElementById("checkmark_kick_FacePosition"),l=document.getElementById("alertDivAmbientVerify"),h=document.getElementById("checkmark_AmbientVerify"),d=document.getElementById("checkmark_stem_AmbientVerify"),m=document.getElementById("checkmark_kick_AmbientVerify");t.status==="OK"?(r&&(r.style.color="#16A34A"),n&&(n.style.color="#16A34A"),i&&i.setAttribute("title",""),o&&(o.style.display="none"),l&&l.setAttribute("title",""),s&&(s.setAttribute("class","checkmark"),a.setAttribute("class","checkmark_stem"),c.setAttribute("class","checkmark_kick")),h&&(h.setAttribute("class","checkmark"),d.setAttribute("class","checkmark_stem"),m.setAttribute("class","checkmark_kick"))):(s&&(t.type==="position_detection_on_stream"||t.type==="face_detection_on_stream")&&(r&&(r.style.color="#FF0000"),o&&(o.style.display="block"),i&&i.setAttribute("title",t.description),s.setAttribute("class","checkmark_error"),a.setAttribute("class","checkmark_stem_error"),c.setAttribute("class","checkmark_kick_error")),h&&t.description==="M\xFAltiplas faces detectadas"&&(n&&(n.style.color="#FF0000"),l&&l.setAttribute("title",`${t.description}`),h.setAttribute("class","checkmark_error"),d.setAttribute("class","checkmark_stem_error"),m.setAttribute("class","checkmark_kick_error")))}waitingSpyDevices(t){let r=document.getElementById("SpyCamAlert"),n=document.getElementById("alertDivSpyCam");if(n&&(n.style.display="flex"),t){r&&(r.style.color="#c7c7c7"),r&&(r.innerText="Verificando Spy Cam...");let i=document.getElementById("confirmBtn");i&&i.setAttribute("disabled","true"),i&&(i.style.cursor="not-allowed")}else{r&&(r.style.color="#16A34A"),r&&(r.innerText="Verifica\xE7\xE3o de Spy Cam");let i=document.getElementById("confirmBtn");i&&i.setAttribute("disabled","false"),i&&(i.style.cursor="pointer")}}isSpyDevicesUI(t){let r=document.getElementById("SpyCamAlert"),n=document.getElementById("confirmBtn"),i=document.getElementById("alertDivSpyCam");i&&(i.style.display="flex");let o=document.getElementById("checkmark_SpyCam"),s=document.getElementById("checkmark_stem_SpyCam"),a=document.getElementById("checkmark_kick_SpyCam");t?(r&&(r.style.color="#16A34A"),o&&(o.setAttribute("class","checkmark"),s.setAttribute("class","checkmark_stem"),a.setAttribute("class","checkmark_kick"))):o&&(r&&(r.style.color="#FF0000"),o.setAttribute("class","checkmark_error"),s.setAttribute("class","checkmark_stem_error"),a.setAttribute("class","checkmark_kick_error")),this.options.useSpyScan&&n?.removeAttribute("disabled"),n&&(n.style.cursor="pointer")}isUnderResolutionUI(t){let r=document.getElementById("resolutionAlert"),n=document.getElementById("alertDivResolution"),i=document.getElementById("info_resolution"),o=document.getElementById("checkmark_resolution"),s=document.getElementById("checkmark_stem_resolution"),a=document.getElementById("checkmark_kick_resolution");t?(r.style.color="#16A34A",i&&(i.style.display="none"),r.setAttribute("title",""),o.setAttribute("class","checkmark"),s.setAttribute("class","checkmark_stem"),a.setAttribute("class","checkmark_kick")):(r.style.color="#FF0000",i&&(i.style.display="block"),n.setAttribute("title",`A c\xE2mera n\xE3o satisfaz a resolu\xE7\xE3o m\xEDnima exigida (${this.videoOptions.minWidth}x${this.videoOptions.minHeight}).
370
+ `,document.getElementsByTagName("head")[0].appendChild(t);let r=document.createElement("div");r.setAttribute("id","checkDevices");let n={backgroundColor:"rgba(0,0,0,0.4)",zIndex:"1000",position:"fixed",top:"0",left:"0",height:"100vh",width:"100%",maxWidth:"100vw",display:"flex",alignItems:"center",justifyContent:"center",overflow:"auto",boxSizing:"border-box"};this.applyStyles(r,n);let i=document.createElement("div");i.setAttribute("class","modal-responsive");let o={backgroundColor:"#fff",zIndex:"1001",width:"90%",maxWidth:"600px",borderRadius:"10px",display:"flex",flexDirection:"column",alignItems:"center",boxSizing:"border-box",overflow:"hidden"};this.applyStyles(i,o);let s=document.createElement("h3");s.innerText="Checagem de dispositivos";let a={color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"20px",marginBottom:"15px",padding:"20px 0px",borderBottom:"2px solid rgba(0, 0, 0, .1)",width:"100%",textAlign:"center"};this.applyStyles(s,a),i.appendChild(s);let c=document.createElement("div");c.setAttribute("class","camera-header-responsive");let l=document.createElement("h3"),h=document.createElement("select");h.setAttribute("id","cameraSelect");let d={padding:"0 20px",width:"100%",display:"flex",justifyContent:"space-between",marginBottom:"15px"};this.applyStyles(c,d),l.innerText="C\xE2mera";let g={color:"rgba(0, 0, 0, .75)",fontWeight:"bold",fontSize:"16px"};this.applyStyles(l,g),h.style.maxWidth="400px",h.style.minWidth="150px",h.style.width="100%",h.style.boxSizing="border-box",c.appendChild(l),c.appendChild(h),i.appendChild(c);let p=document.createElement("div");p.setAttribute("id","liveCheckDevices"),p.setAttribute("class","camera-container-responsive");let m=document.createElement("div");m.setAttribute("class","video-responsive");let u=document.createElement("video"),b=document.createElement("div");u.setAttribute("id","cameraStream"),u.muted=!0;let _={width:"100%",display:"flex",justifyContent:"space-between",gap:"20px",borderBottom:"2px solid rgba(0, 0, 0, .1)",paddingBottom:"15px",paddingLeft:"20px",paddingRight:"20px",boxSizing:"border-box",transform:"rotateY(180deg)"};this.applyStyles(p,_);let E={width:"100%",maxWidth:"320px",height:"auto",maxHeight:"240px",objectFit:"contain",backgroundColor:"#000",borderRadius:"10px",marginBottom:"15px"};this.applyStyles(u,E),this.applyStyles(m,{position:"relative",width:"100%",maxWidth:"320px",maxHeight:"240px",boxSizing:"border-box"});let k=document.createElement("div");k.setAttribute("class","alert-div"),k.setAttribute("id","alertDivResolution");let P=document.createElement("error");P.setAttribute("id","resolutionAlert"),P.innerText="Resolu\xE7\xE3o m\xEDnima",P.style.marginLeft="10px",P.style.marginRight="5px";let x=document.createElement("span"),A=document.createElement("div"),R=document.createElement("div");x.setAttribute("id","checkmark_resolution"),A.setAttribute("id","checkmark_stem_resolution"),R.setAttribute("id","checkmark_kick_resolution"),x.appendChild(A),x.appendChild(R);let N=document.createElement("span"),J=document.createElement("div"),S=document.createElement("div");N.setAttribute("class","info"),N.setAttribute("id","info_resolution"),J.setAttribute("class","info_stem"),S.setAttribute("class","info_kick"),N.appendChild(J),N.appendChild(S),k.appendChild(x),k.appendChild(P),k.appendChild(N);let O=document.createElement("div");O.setAttribute("class","alert-div"),O.setAttribute("id","alertDivFacePosition");let y=document.createElement("error");y.setAttribute("id","facePositionAlert"),y.innerText="Posicionamento da face",y.style.marginLeft="10px";let M=document.createElement("span"),ae=document.createElement("div"),V=document.createElement("div");M.setAttribute("id","checkmark_FacePosition"),ae.setAttribute("id","checkmark_stem_FacePosition"),V.setAttribute("id","checkmark_kick_FacePosition"),M.appendChild(ae),M.appendChild(V);let ce=document.createElement("span"),H=document.createElement("div"),oe=document.createElement("div");ce.style.marginLeft="10px",ce.setAttribute("class","info"),ce.setAttribute("id","info_FacePosition"),ce.style.display="none",H.setAttribute("class","info_stem"),oe.setAttribute("class","info_kick"),ce.appendChild(H),ce.appendChild(oe),O.appendChild(M),O.appendChild(y),O.appendChild(ce);let B=document.createElement("div");B.setAttribute("class","alert-div"),B.setAttribute("id","alertDivAmbientVerify");let D=document.createElement("error");D.setAttribute("id","ambientVerifyAlert"),D.innerText="Verifica\xE7\xE3o do ambiente",D.style.marginLeft="10px";let te=document.createElement("span"),q=document.createElement("div"),G=document.createElement("div");te.setAttribute("id","checkmark_AmbientVerify"),q.setAttribute("id","checkmark_stem_AmbientVerify"),G.setAttribute("id","checkmark_kick_AmbientVerify"),te.appendChild(q),te.appendChild(G),B.appendChild(te),B.appendChild(D);let Ce=document.createElement("div");Ce.setAttribute("class","alert-div"),Ce.setAttribute("id","alertDivSpyCam"),Ce.style.display="none";let Ke=document.createElement("error");Ke.setAttribute("id","SpyCamAlert"),Ke.innerText="Verifica\xE7\xE3o de Spy Cam",Ke.style.marginLeft="10px";let ue=document.createElement("span"),ge=document.createElement("div"),Xe=document.createElement("div");ue.setAttribute("id","checkmark_SpyCam"),ge.setAttribute("id","checkmark_stem_SpyCam"),Xe.setAttribute("id","checkmark_kick_SpyCam"),ue.appendChild(ge),ue.appendChild(Xe),Ce.appendChild(ue),Ce.appendChild(Ke),b.style.transform="rotateY(180deg)",b.style.display="flex",b.style.flexDirection="column",b.style.flex="1",b.style.minWidth="0",b.appendChild(k),b.appendChild(O),b.appendChild(B),b.appendChild(Ce),p.appendChild(b),m.appendChild(u),m.style.flexShrink="0",p.appendChild(m);let ve=document.createElement("div");ve.setAttribute("class","facial-biometry__mask"),ve.style.width="100%",ve.style.height="100%",ve.style.position="absolute",ve.style.top="0px",ve.style.left="0px",ve.style.backgroundColor="#fff",ve.style.opacity="0.6";let it=document.createElement("div");it.setAttribute("class","biometry__frame"),it.style.width="100%",it.style.height="100%",it.style.position="absolute",it.style.top="0px",it.style.left="0px",it.style.zIndex="10",m.appendChild(ve),m.appendChild(it),i.appendChild(p);let ut=document.createElement("div");ut.setAttribute("class","mic-header-responsive");let f=document.createElement("h3"),L=document.createElement("select");L.setAttribute("id","micSelect");let U={padding:"0 20px",width:"100%",display:"flex",justifyContent:"space-between",margin:"15px 0"};this.applyStyles(ut,U),f.innerText="Microfone";let w={color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"16px"};this.applyStyles(f,w),L.style.maxWidth="400px",L.style.minWidth="150px",L.style.width="100%",L.style.boxSizing="border-box",ut.appendChild(f),ut.appendChild(L),i.appendChild(ut);let v=document.createElement("div");v.setAttribute("class","mic-container-responsive");let C={width:"100%",padding:"0px 20px",display:"flex",boxSizing:"border-box"};this.applyStyles(v,C);let z=document.createElement("div");z.setAttribute("class","mic-meter-responsive");let j={display:"flex",flexDirection:"column",justifyContent:"space-between",paddingBottom:"15px"};this.applyStyles(z,j);let T=document.createElement("div");T.setAttribute("id","audioStream");let $={display:"flex",marginBottom:"15px"};this.applyStyles(T,$);let K={height:"16px",width:"5px",marginRight:"5px",borderRadius:"10px",backgroundColor:"rgba(0, 0, 0, .3)"};for(let rp=0;rp<25;rp++){let np=document.createElement("div");this.applyStyles(np,K),T.appendChild(np)}let W=document.createElement("div");W.setAttribute("class","range-responsive");let re=document.createElement("p"),ke=document.createElement("p"),pe=document.createElement("p"),kt={width:"100%",maxWidth:"250px",display:"flex",justifyContent:"space-between",boxSizing:"border-box"};this.applyStyles(W,kt),re.innerText="0",ke.innerText="50",pe.innerText="100",W.appendChild(re),W.appendChild(ke),W.appendChild(pe);let Kt=document.createElement("div");Kt.setAttribute("class","alert-div"),Kt.setAttribute("id","alertDivMicrophone");let Xt={display:"flex",alignItems:"center",justifyContent:"center",width:"100%"};this.applyStyles(Kt,Xt);let Tr=document.createElement("error");Tr.setAttribute("id","microphoneAlert"),Tr.innerText="Teste de funcionamento",Tr.style.marginLeft="10px";let Ie=document.createElement("span"),Rn=document.createElement("div"),ii=document.createElement("div");Ie.setAttribute("id","checkmark_microphone"),Rn.setAttribute("id","checkmark_stem_microphone"),ii.setAttribute("id","checkmark_kick_microphone"),Ie.appendChild(Rn),Ie.appendChild(ii),Kt.appendChild(Ie),Kt.appendChild(Tr),z.appendChild(T),z.appendChild(W);let gt=document.createElement("p");gt.setAttribute("class","pronounce-responsive"),gt.innerText='Pronuncie em voz alta: "Testando..."',gt.style.textAlign="start";let ys={width:"calc(100% - 40px)",marginLeft:"20px",marginRight:"20px",marginBottom:"15px",boxSizing:"border-box",padding:"0 10px"};this.applyStyles(gt,ys),v.appendChild(z),v.appendChild(Kt),i.appendChild(gt),i.appendChild(v);let Pn=document.createElement("div"),ul={width:"100%",display:"flex",alignItems:"center",justifyContent:"center",borderTop:"2px solid rgba(0, 0, 0, .1)",boxSizing:"border-box"};this.applyStyles(Pn,ul);let Dn=document.createElement("button");Dn.setAttribute("id","cancelBtn"),Dn.setAttribute("class","button-responsive"),Dn.innerText="Cancelar";let bs={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px"};this.applyStyles(Dn,bs);let jr=document.createElement("span");jr.setAttribute("class","divider-responsive");let oi={width:"3px",height:"70px",margin:"0px 2px",background:"rgba(0, 0, 0, .1)"};this.applyStyles(jr,oi);let Bn=document.createElement("button");Bn.innerText="Continuar",Bn.setAttribute("id","confirmBtn"),Bn.setAttribute("class","button-responsive");let Ry={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px"};this.applyStyles(Bn,Ry),this.options.useSpyScan&&(Bn.style.cursor="not-allowed",Bn.setAttribute("disabled","true")),Pn.appendChild(Dn),Pn.appendChild(jr),Pn.appendChild(Bn),i.appendChild(Pn),r.appendChild(i),document.body.appendChild(r)}async setSelectOption(t,r){let n=document.querySelector("#cameraSelect"),i=document.querySelector("#micSelect"),o=await pr();n&&(n.value=t.cameraId||"default"),i&&(i.value=t.microphoneId||"default");let s=(a,c)=>{let l=document.createElement("option");return l.setAttribute("value",c),l.innerHTML=a,l};o.cameras.forEach(a=>{let c=s(a.label,a.id);n?.appendChild(c)}),o.microphones.forEach(a=>{let c=s(a.label,a.id);i?.appendChild(c)}),this.onSelectOptionChange(a=>r(a))}async onSelectOptionChange(t){let r=document.querySelector("#cameraSelect"),n=document.querySelector("#micSelect");r?.addEventListener("change",()=>t({cameraId:r?.value,microphoneId:n?.value})),n?.addEventListener("change",()=>t({cameraId:r?.value,microphoneId:n?.value}))}closeModal(){this.stopAutoConfirm(),document.querySelector("#checkDevices")?.remove()}verifyAutoConfirm(t){if(!this.options?.auto)return;let r=t.allowedResolution&&t.allowedPositionFace&&t.allowedAmbient&&t.allowedMicrophone;this.options.useSpyScan&&(r=r&&t.allowedSpyScan===!0),r?this.autoConfirmTimer||this.startAutoConfirm():this.autoConfirmTimer&&this.stopAutoConfirm()}startAutoConfirm(){this.autoConfirmSeconds=5;let t=document.getElementById("confirmBtn");t&&!t.disabled&&(t.innerText=`Continuando em ${this.autoConfirmSeconds}s...`,this.autoConfirmTimer=setInterval(()=>{this.autoConfirmSeconds--,this.autoConfirmSeconds<=0?(this.stopAutoConfirm(),t.click()):t.innerText=`Continuando em ${this.autoConfirmSeconds}s...`},1e3))}stopAutoConfirm(){this.autoConfirmTimer&&(clearInterval(this.autoConfirmTimer),this.autoConfirmTimer=null);let t=document.getElementById("confirmBtn");t&&(t.innerText="Continuar")}modalActions(t){let r=document.getElementById("cancelBtn"),n=document.getElementById("confirmBtn"),i=document.getElementById("cameraSelect"),o=document.getElementById("micSelect");return new Promise((s,a)=>{r?.addEventListener("click",()=>{t(),this.closeModal(),a({result:!1})}),n?.addEventListener("click",()=>{n.disabled||(t(),this.closeModal(),s({cameraId:i?.value,microphoneId:o?.value,result:!0}))})})}realtimeAlertsUI(t){let r=document.getElementById("facePositionAlert"),n=document.getElementById("ambientVerifyAlert"),i=document.getElementById("alertDivFacePosition"),o=document.getElementById("info_FacePosition"),s=document.getElementById("checkmark_FacePosition"),a=document.getElementById("checkmark_stem_FacePosition"),c=document.getElementById("checkmark_kick_FacePosition"),l=document.getElementById("alertDivAmbientVerify"),h=document.getElementById("checkmark_AmbientVerify"),d=document.getElementById("checkmark_stem_AmbientVerify"),g=document.getElementById("checkmark_kick_AmbientVerify");t.status==="OK"?(r&&(r.style.color="#16A34A"),n&&(n.style.color="#16A34A"),i&&i.setAttribute("title",""),o&&(o.style.display="none"),l&&l.setAttribute("title",""),s&&(s.setAttribute("class","checkmark"),a.setAttribute("class","checkmark_stem"),c.setAttribute("class","checkmark_kick")),h&&(h.setAttribute("class","checkmark"),d.setAttribute("class","checkmark_stem"),g.setAttribute("class","checkmark_kick"))):(s&&(t.type==="position_detection_on_stream"||t.type==="face_detection_on_stream")&&(r&&(r.style.color="#FF0000"),o&&(o.style.display="block"),i&&i.setAttribute("title",t.description),s.setAttribute("class","checkmark_error"),a.setAttribute("class","checkmark_stem_error"),c.setAttribute("class","checkmark_kick_error")),h&&t.description==="M\xFAltiplas faces detectadas"&&(n&&(n.style.color="#FF0000"),l&&l.setAttribute("title",`${t.description}`),h.setAttribute("class","checkmark_error"),d.setAttribute("class","checkmark_stem_error"),g.setAttribute("class","checkmark_kick_error")))}waitingSpyDevices(t){let r=document.getElementById("SpyCamAlert"),n=document.getElementById("alertDivSpyCam");if(n&&(n.style.display="flex"),t){r&&(r.style.color="#c7c7c7"),r&&(r.innerText="Verificando Spy Cam...");let i=document.getElementById("confirmBtn");i&&i.setAttribute("disabled","true"),i&&(i.style.cursor="not-allowed")}else{r&&(r.style.color="#16A34A"),r&&(r.innerText="Verifica\xE7\xE3o de Spy Cam");let i=document.getElementById("confirmBtn");i&&i.setAttribute("disabled","false"),i&&(i.style.cursor="pointer")}}isSpyDevicesUI(t){let r=document.getElementById("SpyCamAlert"),n=document.getElementById("confirmBtn"),i=document.getElementById("alertDivSpyCam");i&&(i.style.display="flex");let o=document.getElementById("checkmark_SpyCam"),s=document.getElementById("checkmark_stem_SpyCam"),a=document.getElementById("checkmark_kick_SpyCam");t?(r&&(r.style.color="#16A34A"),o&&(o.setAttribute("class","checkmark"),s.setAttribute("class","checkmark_stem"),a.setAttribute("class","checkmark_kick"))):o&&(r&&(r.style.color="#FF0000"),o.setAttribute("class","checkmark_error"),s.setAttribute("class","checkmark_stem_error"),a.setAttribute("class","checkmark_kick_error")),this.options.useSpyScan&&n?.removeAttribute("disabled"),n&&(n.style.cursor="pointer")}isUnderResolutionUI(t){let r=document.getElementById("resolutionAlert"),n=document.getElementById("alertDivResolution"),i=document.getElementById("info_resolution"),o=document.getElementById("checkmark_resolution"),s=document.getElementById("checkmark_stem_resolution"),a=document.getElementById("checkmark_kick_resolution");t?(r.style.color="#16A34A",i&&(i.style.display="none"),r.setAttribute("title",""),o.setAttribute("class","checkmark"),s.setAttribute("class","checkmark_stem"),a.setAttribute("class","checkmark_kick")):(r.style.color="#FF0000",i&&(i.style.display="block"),n.setAttribute("title",`A c\xE2mera n\xE3o satisfaz a resolu\xE7\xE3o m\xEDnima exigida (${this.videoOptions.minWidth}x${this.videoOptions.minHeight}).
368
371
  Para iniciar um exame utilize uma outra c\xE2mera.`),o.setAttribute("class","checkmark_error"),s.setAttribute("class","checkmark_stem_error"),a.setAttribute("class","checkmark_kick_error"))}videoDeviceInterfaceUI(t){let r=document.querySelector("#cameraStream");r&&(r.srcObject=t,r.play().catch(n=>{console.warn("Erro ao iniciar preview de v\xEDdeo:",n)}))}audioDeviceInterfaceUIAllowedAmbient(t){let r=document.getElementById("ambientVerifyAlert"),n=document.getElementById("alertDivAmbientVerify"),i=document.getElementById("checkmark_AmbientVerify"),o=document.getElementById("checkmark_stem_AmbientVerify"),s=document.getElementById("checkmark_kick_AmbientVerify");t?(r&&(r.style.color="#16A34A"),n&&n.setAttribute("title",""),i.setAttribute("class","checkmark"),o.setAttribute("class","checkmark_stem"),s.setAttribute("class","checkmark_kick")):(r&&(r.style.color="#FF0000"),n&&n.setAttribute("title","Ambiente apresentando muito ru\xEDdo!"),i.setAttribute("class","checkmark_error"),o.setAttribute("class","checkmark_stem_error"),s.setAttribute("class","checkmark_kick_error"))}audioDeviceInterfaceUIMicrophoneWorks(t){let r=document.getElementById("microphoneAlert"),n=document.getElementById("alertDivMicrophone"),i=document.getElementById("checkmark_microphone"),o=document.getElementById("checkmark_stem_microphone"),s=document.getElementById("checkmark_kick_microphone");t?(r&&(r.style.color="#16A34A"),n&&n.setAttribute("title",""),i&&i.setAttribute("class","checkmark"),o&&o.setAttribute("class","checkmark_stem"),s&&s.setAttribute("class","checkmark_kick")):(r&&(r.style.color="#FF0000"),n&&n.setAttribute("title","Microfone n\xE3o est\xE1 funcionando corretamente!"),i&&i.setAttribute("class","checkmark_error"),o&&o.setAttribute("class","checkmark_stem_error"),s&&s.setAttribute("class","checkmark_kick_error"))}audioDeviceInterfaceUIErrorExec(){let t=document.getElementById("microphoneAlert"),r=document.getElementById("checkmark_microphone"),n=document.getElementById("checkmark_stem_microphone"),i=document.getElementById("checkmark_kick_microphone");t&&(t.style.color="#FF0000"),r&&r.setAttribute("class","checkmark_error"),n&&n.setAttribute("class","checkmark_stem_error"),i&&i.setAttribute("class","checkmark_kick_error")}audioDeviceInterfaceUIPills(t){let n=document.querySelector("#audioStream")?.querySelectorAll("div"),i=document.querySelector("#audioText"),o=t/4;n?.forEach((s,a)=>{a<Math.ceil(o)?s.style.backgroundColor="rgb(22, 163, 74)":s.style.backgroundColor="rgba(0, 0, 0, .3)"}),i&&(i.innerText=t.toFixed(0).toString())}async addStyleMask(){let t=`
369
372
  .facial-biometry__mask {
370
373
  mask-image: url('https://iarisprod.blob.core.windows.net/imagens/square.svg'), url('https://iarisprod.blob.core.windows.net/imagens/face-mask.svg');
@@ -394,7 +397,7 @@ Para iniciar um exame utilize uma outra c\xE2mera.`),o.setAttribute("class","che
394
397
  // -webkit-mask-position: center;
395
398
  // -webkit-mask-repeat: no-repeat;
396
399
  }
397
- `,r=document.createElement("style");r.innerHTML=t,document.head.appendChild(r)}applyStyles(t,r){for(let[n,i]of Object.entries(r))t.style[n]=i}};var za=class e{constructor(t){this.deviceCheckResult=null;this.videoOptions={width:1080,height:720,minWidth:0,minHeight:0};this.volumeMedia=0;this.volumeSum=0;this.volumeCounter=0;this.microphoneMinThreshold=5;this.allowedResolution=!0;this.allowedAmbient=!0;this.allowedPositionFace=!0;this.allowedMicrophone=!1;this.allowedSpyScan=null;this.noiseLimit=0;this.faceDetection=new Oi({onRealtimeAlertsCallback:r=>this.realtimeAlerts(r)},{videoBehaviourParameters:{detectFace:!0}},"cameraStream","liveCheckDevices"),this.context=t,this.backend=new ir({type:t?.type||"prod",token:t.token,isRealtime:!1})}static{this.isModalOpen=!1}getDeviceCheckResult(){return this.deviceCheckResult}async runCheckDevicesFlow(t,r,n,i,o){if(e.isModalOpen)return Promise.reject("Modal j\xE1 est\xE1 aberto");this.options={...or,...t,captureScreen:!1,allowMultipleMonitors:!0,allowOnlyFirstMonitor:!1},e.isModalOpen=!0;try{await this.faceDetection.initializeDetector();let{cameraStream:s}=await this.startCheckDevices(t,r);this.options?.useSpyScan&&await this.checkSpyScan();let a={cameraStream:this.cameraRecorder.cameraStream};this.onUpdateCb=l=>o(l);let c=new Promise((l,h)=>{n(()=>{this.closeCheckDevices(),l({result:!0,cameraId:t.cameraId||"default",microphoneId:t.microphoneId||"default",volumeRange:this.volumeMedia,allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan,faceDetectionAlerts:this.faceDetectionAlerts}),e.isModalOpen=!1}),i(()=>{this.closeCheckDevices(),l({result:!1}),e.isModalOpen=!1})});return this.deviceCheckResult={...a,result:c},{...a,result:c}}catch(s){throw this.closeCheckDevices(),e.isModalOpen=!1,s}}onUpdateCallback(){typeof this.onUpdateCb=="function"&&this.onUpdateCb({allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan,faceDetectionAlerts:this.faceDetectionAlerts})}async checkDevices(t=or,r=$g){if(e.isModalOpen)return Promise.reject();this.allowedAmbient=!1,this.allowedMicrophone=!1,this.allowedAmbient=!1,this.allowedPositionFace=!1,e.isModalOpen=!0,this.DeviceCheckerUI=new Na(t,r);try{this.options={...or,...t,captureScreen:!1,allowMultipleMonitors:!0,allowOnlyFirstMonitor:!1},this.videoOptions={...this.videoOptions,...r};let n=await this.backend.getParamsConfig(this.context);this.noiseLimit=n.audioBehaviourParameters?.noiseLimit||40,await this.faceDetection.initializeDetector(),this.DeviceCheckerUI.checkDevicesInterface(),this.startCheckDevices(t,r),await this.checkSpyScan();let{cameraId:i,microphoneId:o,result:s}=await this.DeviceCheckerUI.modalActions(()=>this.closeCheckDevices());return new Promise(a=>{let c={result:s,cameraId:i,microphoneId:o,volumeRange:this.volumeMedia,allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan,faceDetectionAlerts:this.faceDetectionAlerts};this.deviceCheckResult=c,a(c)})}catch(n){return this.DeviceCheckerUI&&this.DeviceCheckerUI.closeModal(),this.closeCheckDevices(),Promise.reject(n)}}isUnderResolution(){let t=this.cameraRecorder.cameraStream.getVideoTracks()[0].getSettings(),{width:r=0,height:n=0}=t;screen.orientation?.type.includes("portrait")&&Fr()&&this.videoOptions.width==n&&this.videoOptions.height==r&&([r,n]=[n,r]),this.videoOptions.minWidth>r||this.videoOptions.minHeight>n?this.allowedResolution=!1:this.allowedResolution=!0,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.isUnderResolutionUI(this.allowedResolution)}realtimeAlerts(t){this.faceDetectionAlerts=t,t.status==="OK"?(this.allowedPositionFace=!0,this.allowedAmbient=!0):(this.allowedPositionFace=!1,this.allowedAmbient=!1),this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.realtimeAlertsUI(t)}videoDeviceInterface(t){this.DeviceCheckerUI&&this.DeviceCheckerUI.videoDeviceInterfaceUI(t),this.isUnderResolution(),this.faceDetection.enableCam(t,1e3)}audioDeviceInterface(t){this.volumeMeter=new gn(this.cameraRecorder.cameraStream),this.volumeMeter.start({setVolume:r=>{this.volumeCounter++,this.volumeSum+=r,!this.allowedMicrophone&&r>this.microphoneMinThreshold?(this.allowedMicrophone=!0,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIMicrophoneWorks(!0)):this.allowedMicrophone||this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIMicrophoneWorks(!1),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIPills(r),r>this.noiseLimit?(this.allowedAmbient=!1,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIAllowedAmbient(!1)):(this.allowedAmbient=!0,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIAllowedAmbient(!0))}}).catch(r=>{console.log(r),this.volumeMeter=void 0,this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIErrorExec()})}async changeSelectedDevice({cameraId:t,microphoneId:r}){return this.cameraRecorder.stopStream&&await this.cameraRecorder.stopStream(),this.volumeMeter?.stop(),this.faceDetection.stopDetection(),this.cameraRecorder=new Zr({cameraId:t,microphoneId:r,onBufferSizeError:!1,onBufferSizeErrorCallback:()=>{}},{width:this.videoOptions.width,height:this.videoOptions.height}),await this.cameraRecorder.startStream(),this.videoDeviceInterface(this.cameraRecorder.cameraStream),this.audioDeviceInterface(this.cameraRecorder.cameraStream),{cameraStream:this.cameraRecorder.cameraStream}}async startCheckDevices(t=or,r){if(this.allowedAmbient=!1,this.allowedMicrophone=!1,this.allowedAmbient=!1,this.allowedPositionFace=!1,this.DeviceCheckerUI&&this.DeviceCheckerUI.setSelectOption(t,n=>this.changeSelectedDevice(n)),this.videoOptions=Da(r),await bs(),this.cameraRecorder=new Zr({cameraId:t.cameraId,microphoneId:t.microphoneId,onBufferSizeError:!1,onBufferSizeErrorCallback:()=>{}},{width:this.videoOptions.width,height:this.videoOptions.height}),await this.cameraRecorder.startStream(),this.videoDeviceInterface(this.cameraRecorder.cameraStream),this.audioDeviceInterface(this.cameraRecorder.cameraStream),this.DeviceCheckerUI){let n=document.querySelector("#confirmBtn");!this.options.useSpyScan&&(n.disabled=!1)}return{cameraStream:this.cameraRecorder.cameraStream}}async closeCheckDevices(){e.isModalOpen=!1,this.faceDetection.stopDetection(),this.volumeMeter?.stop(),this.volumeMedia=Math.ceil(this.volumeSum/this.volumeCounter),this.cameraRecorder.stopStream&&await this.cameraRecorder.stopStream(),this.DeviceCheckerUI=void 0,this.onUpdateCb=void 0}async checkSpyScan(){if(this.spycam=new ji(this.context,{}),this.allowedSpyScan=null,this.options.useSpyScan){this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!0);try{await this.spycam.isPluggedIn()?await this.spycam.devices({deviceType:3}).then(r=>{r?.length>0?this.allowedSpyScan=!1:this.allowedSpyScan=!0}).finally(()=>{this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!1),this.DeviceCheckerUI&&this.allowedSpyScan!=null&&this.DeviceCheckerUI.isSpyDevicesUI(this.allowedSpyScan)}):(this.allowedSpyScan=!1,this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!1),this.DeviceCheckerUI&&this.DeviceCheckerUI.isSpyDevicesUI(this.allowedSpyScan))}catch(t){this.allowedSpyScan=!1,this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!1),this.DeviceCheckerUI&&this.DeviceCheckerUI.isSpyDevicesUI(this.allowedSpyScan),console.log(t)}}}};var Hi=class{constructor(){}async takePicture(t,r,n={width:1080,height:720}){return this.resolution=n,await this.takePictureInterface(t,r)}async startCapture(t="default"){let r=document.querySelector("#cameraStream"),n={audio:!1,video:{facingMode:"user",aspectRatio:1.777777778,width:{min:640,ideal:640,max:1920},height:{min:400,ideal:480},deviceId:t}};this.cameraRecorder=new Zr({cameraId:t,onBufferSizeErrorCallback:()=>{}},{...this.resolution}),await this.cameraRecorder.startStream(),r.srcObject=this.cameraRecorder.cameraStream,r.play()}shot(){let t=document.querySelector("#cameraStream"),r=document.querySelector("#canvas"),n=document.querySelector("#image");r.width=t.videoWidth,r.height=t.videoHeight,r.getContext("2d").drawImage(t,0,0,t.videoWidth,t.videoHeight),n.src=r.toDataURL("image/jpg"),this.base64=r.toDataURL("image/jpg")}takePictureInterface(t,r){return new Promise((n,i)=>{let o=document.createElement("div");o.setAttribute("id","authPhoto"),o.style.backgroundColor="rgba(0,0,0,0.4)",o.style.zIndex="1000",o.style.position="fixed",o.style.top="0",o.style.left="0",o.style.height="100vh",o.style.width="100%",o.style.display="flex",o.style.alignItems="center",o.style.justifyContent="center";let s=document.createElement("div");s.style.backgroundColor="#fff",s.style.zIndex="1001",s.style.position="fixed",s.style.top="0",s.style.left="0",s.style.height="100vh",s.style.width="100%",s.style.borderRadius="10px",s.style.display="flex",s.style.flexDirection="column",s.style.alignItems="center",s.style.boxSizing="border-box";let a=document.createElement("h3");a.innerText=t||"Biometria Facial",a.style.color="rgba(0, 0, 0, .7)",a.style.fontWeight="bold",a.style.fontSize="20px",a.style.marginTop="0px",a.style.marginBottom="15px",a.style.padding="20px 0px 0px",a.style.width="100%",a.style.textAlign="center",a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.zIndex="1010",s.appendChild(a);let c=document.createElement("p");c.innerText=r||"Encaixe seu rosto no formato e clique no bot\xE3o abaixo",c.style.color="rgba(0, 0, 0, .7)",c.style.fontWeight="normal",c.style.fontSize="16px",c.style.marginBottom="15px",c.style.padding="0px 0px 20px",c.style.width="100%",c.style.textAlign="center",c.style.position="fixed",c.style.top="55px",c.style.left="0",c.style.zIndex="1011",s.appendChild(c);let l=document.createElement("div"),h=document.createElement("h3"),d=document.createElement("select");d.setAttribute("id","cameraSelect"),l.style.padding="0 20px",l.style.width="100%",l.style.display="flex",l.style.justifyContent="space-between",l.style.marginBottom="15px",h.innerText="C\xE2mera",h.style.color="rgba(0, 0, 0, .75)",h.style.fontWeight="bold",h.style.fontSize="16px",l.appendChild(h),l.appendChild(d);let m=document.createElement("div"),p=document.createElement("video");p.setAttribute("id","cameraStream"),p.muted=!0,m.style.position="fixed",m.style.top="0",m.style.left="0",m.style.height="100vh",m.style.width="100%",m.style.display="flex",m.style.justifyContent="center",p.style.backgroundColor="#000",p.style.borderRadius="10px",p.style.width="auto",p.style.height="auto",p.style.minHeight="100%",m.appendChild(p);let g=document.createElement("canvas");g.setAttribute("id","canvas"),g.style.display="none",g.style.width="100%",g.style.height="100%";let f=document.createElement("img");f.setAttribute("id","image"),f.style.objectFit="contain",f.style.display="none",f.style.borderRadius="8px",m.appendChild(g),m.appendChild(f);let b=document.createElement("div");b.setAttribute("class","facial-biometry__mask"),b.style.width="100%",b.style.height="100%",b.style.position="absolute",b.style.top="0px",b.style.left="0px",b.style.backgroundColor="#fff",b.style.opacity="0.8";let _=document.createElement("div");_.setAttribute("class","biometry__frame"),_.style.width="100%",_.style.height="100%",_.style.position="absolute",_.style.top="0px",_.style.left="0px",_.style.zIndex="10",m.appendChild(b),m.appendChild(_),s.appendChild(m),this.addStyleMask();let x=document.createElement("button"),k=document.createElement("div");x.setAttribute("id","confirmBtn"),k.style.position="fixed",k.style.bottom="0",k.style.left="0",k.style.width="100%",k.style.display="flex",k.style.alignItems="center",k.style.justifyContent="center",x.style.background="url('https://iarisprod.blob.core.windows.net/imagens/camera.svg') no-repeat center",x.style.width="70px",x.style.height="70px",x.style.borderRadius="70px",x.style.border="none",x.style.backgroundColor="#16a34a",x.style.margin="20px";let P=document.createElement("button");P.setAttribute("id","closeModal"),P.style.background="url('https://iarisprod.blob.core.windows.net/imagens/close.svg') no-repeat center",P.style.width="70px",P.style.height="70px",P.style.borderRadius="70px",P.style.border="none",P.style.backgroundColor="#e74141",P.style.margin="20px",k.appendChild(P),k.appendChild(x),s.appendChild(k);let C=document.createElement("button");C.style.background="url('https://easyproctor-public.s3.us-east-2.amazonaws.com/images/retry.svg') no-repeat center",C.style.width="70px",C.style.height="70px",C.style.borderRadius="70px",C.style.border="none",C.style.backgroundColor="#e74141",C.style.margin="20px 20px";let A=document.createElement("button");A.style.background="url('https://iarisprod.blob.core.windows.net/imagens/check.svg') no-repeat center",A.style.width="70px",A.style.height="70px",A.style.borderRadius="70px",A.style.border="none",A.style.backgroundColor="#16a34a",A.style.margin="20px 20px",o.appendChild(s),document.body.appendChild(o),this.setSelectOption(),this.startCapture(),x.addEventListener("click",()=>{k.removeChild(x),k.removeChild(P),k.appendChild(C),k.appendChild(A),this.shot(),this.closeInterface(),n({base64:this.base64})}),C.addEventListener("click",()=>{k.appendChild(P),k.appendChild(x),k.removeChild(C),k.removeChild(A)}),A.addEventListener("click",()=>{this.closeInterface(),n({base64:this.base64})}),P.addEventListener("click",()=>{this.closeInterface(),i(new Error("User does not captured photo"))})})}async setSelectOption(){let t=document.querySelector("#cameraSelect"),r=await pr();t&&(t.value="default");let n=(i,o)=>{let s=document.createElement("option");return s.setAttribute("value",o),s.innerHTML=i,s};r.cameras.forEach(i=>{let o=n(i.label,i.id);t?.appendChild(o)}),this.onSelectOptionChange()}async onSelectOptionChange(){let t=document.querySelector("#cameraSelect");t?.addEventListener("change",async()=>{this.startCapture(t?.value)})}async closeInterface(){await this.cameraRecorder.stopStream(),document.querySelector("#authPhoto")?.remove()}async addStyleMask(){let t=`
400
+ `,r=document.createElement("style");r.innerHTML=t,document.head.appendChild(r)}applyStyles(t,r){for(let[n,i]of Object.entries(r))t.style[n]=i}};var Va=class e{constructor(t){this.deviceCheckResult=null;this.videoOptions={width:1080,height:720,minWidth:0,minHeight:0};this.volumeMedia=0;this.volumeSum=0;this.volumeCounter=0;this.microphoneMinThreshold=5;this.allowedResolution=!0;this.allowedAmbient=!0;this.allowedPositionFace=!0;this.allowedMicrophone=!1;this.allowedSpyScan=null;this.noiseLimit=0;this.faceDetection=new Oi({onRealtimeAlertsCallback:r=>this.realtimeAlerts(r)},{videoBehaviourParameters:{detectFace:!0}},"cameraStream","liveCheckDevices"),this.context=t,this.backend=new ir({type:t?.type||"prod",token:t.token,isRealtime:!1})}static{this.isModalOpen=!1}getDeviceCheckResult(){return this.deviceCheckResult}async runCheckDevicesFlow(t,r,n,i,o){if(e.isModalOpen)return Promise.reject("Modal j\xE1 est\xE1 aberto");this.options={...or,...t,captureScreen:!1,allowMultipleMonitors:!0,allowOnlyFirstMonitor:!1},e.isModalOpen=!0;try{await this.faceDetection.initializeDetector();let{cameraStream:s}=await this.startCheckDevices(t,r);this.options?.useSpyScan&&await this.checkSpyScan();let a={cameraStream:this.cameraRecorder.cameraStream};this.onUpdateCb=l=>o(l);let c=new Promise((l,h)=>{n(()=>{this.closeCheckDevices(),l({result:!0,cameraId:t.cameraId||"default",microphoneId:t.microphoneId||"default",volumeRange:this.volumeMedia,allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan,faceDetectionAlerts:this.faceDetectionAlerts}),e.isModalOpen=!1}),i(()=>{this.closeCheckDevices(),l({result:!1}),e.isModalOpen=!1})});return this.deviceCheckResult={...a,result:c},{...a,result:c}}catch(s){throw this.closeCheckDevices(),e.isModalOpen=!1,s}}onUpdateCallback(){typeof this.onUpdateCb=="function"&&this.onUpdateCb({allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan,faceDetectionAlerts:this.faceDetectionAlerts}),this.options?.auto&&this.DeviceCheckerUI&&this.DeviceCheckerUI.verifyAutoConfirm({allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan})}async checkDevices(t=or,r=Kg){if(e.isModalOpen)return Promise.reject();this.allowedAmbient=!1,this.allowedMicrophone=!1,this.allowedAmbient=!1,this.allowedPositionFace=!1,e.isModalOpen=!0,this.DeviceCheckerUI=new ja(t,r);try{this.options={...or,...t,captureScreen:!1,allowMultipleMonitors:!0,allowOnlyFirstMonitor:!1},this.videoOptions={...this.videoOptions,...r};let n=await this.backend.getParamsConfig(this.context);this.noiseLimit=n.audioBehaviourParameters?.noiseLimit||40,await this.faceDetection.initializeDetector(),this.DeviceCheckerUI.checkDevicesInterface(),this.startCheckDevices(t,r),await this.checkSpyScan();let{cameraId:i,microphoneId:o,result:s}=await this.DeviceCheckerUI.modalActions(()=>this.closeCheckDevices());return new Promise(a=>{let c={result:s,cameraId:i,microphoneId:o,volumeRange:this.volumeMedia,allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan,faceDetectionAlerts:this.faceDetectionAlerts};this.deviceCheckResult=c,a(c)})}catch(n){return this.DeviceCheckerUI&&this.DeviceCheckerUI.closeModal(),this.closeCheckDevices(),Promise.reject(n)}}isUnderResolution(){let t=this.cameraRecorder.cameraStream.getVideoTracks()[0].getSettings(),{width:r=0,height:n=0}=t;screen.orientation?.type.includes("portrait")&&_r()&&this.videoOptions.width==n&&this.videoOptions.height==r&&([r,n]=[n,r]),this.videoOptions.minWidth>r||this.videoOptions.minHeight>n?this.allowedResolution=!1:this.allowedResolution=!0,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.isUnderResolutionUI(this.allowedResolution)}realtimeAlerts(t){this.faceDetectionAlerts=t,t.status==="OK"?(this.allowedPositionFace=!0,this.allowedAmbient=!0):(this.allowedPositionFace=!1,this.allowedAmbient=!1),this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.realtimeAlertsUI(t)}videoDeviceInterface(t){this.DeviceCheckerUI&&this.DeviceCheckerUI.videoDeviceInterfaceUI(t),this.isUnderResolution(),this.faceDetection.enableCam(t,1e3)}audioDeviceInterface(t){this.volumeMeter=new Hi(this.cameraRecorder.cameraStream),this.volumeMeter.start({setVolume:r=>{this.volumeCounter++,this.volumeSum+=r,!this.allowedMicrophone&&r>this.microphoneMinThreshold?(this.allowedMicrophone=!0,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIMicrophoneWorks(!0)):this.allowedMicrophone||this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIMicrophoneWorks(!1),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIPills(r),r>this.noiseLimit?(this.allowedAmbient=!1,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIAllowedAmbient(!1)):(this.allowedAmbient=!0,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIAllowedAmbient(!0))}}).catch(r=>{console.log(r),this.volumeMeter=void 0,this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIErrorExec()})}async changeSelectedDevice({cameraId:t,microphoneId:r}){return this.cameraRecorder.stopStream&&await this.cameraRecorder.stopStream(),this.volumeMeter?.stop(),this.faceDetection.stopDetection(),this.cameraRecorder=new Zr({cameraId:t,microphoneId:r,onBufferSizeError:!1,onBufferSizeErrorCallback:()=>{}},{width:this.videoOptions.width,height:this.videoOptions.height}),await this.cameraRecorder.startStream(),this.videoDeviceInterface(this.cameraRecorder.cameraStream),this.audioDeviceInterface(this.cameraRecorder.cameraStream),{cameraStream:this.cameraRecorder.cameraStream}}async startCheckDevices(t=or,r){if(this.allowedAmbient=!1,this.allowedMicrophone=!1,this.allowedAmbient=!1,this.allowedPositionFace=!1,this.DeviceCheckerUI&&this.DeviceCheckerUI.setSelectOption(t,n=>this.changeSelectedDevice(n)),this.videoOptions=Ba(r),await vs(),this.cameraRecorder=new Zr({cameraId:t.cameraId,microphoneId:t.microphoneId,onBufferSizeError:!1,onBufferSizeErrorCallback:()=>{}},{width:this.videoOptions.width,height:this.videoOptions.height}),await this.cameraRecorder.startStream(),this.videoDeviceInterface(this.cameraRecorder.cameraStream),this.audioDeviceInterface(this.cameraRecorder.cameraStream),this.DeviceCheckerUI){let n=document.querySelector("#confirmBtn");!this.options.useSpyScan&&(n.disabled=!1)}return{cameraStream:this.cameraRecorder.cameraStream}}async closeCheckDevices(){e.isModalOpen=!1,this.faceDetection.stopDetection(),this.volumeMeter?.stop(),this.volumeMedia=Math.ceil(this.volumeSum/this.volumeCounter),this.cameraRecorder.stopStream&&await this.cameraRecorder.stopStream(),this.DeviceCheckerUI=void 0,this.onUpdateCb=void 0}async checkSpyScan(){if(this.spycam=new ji(this.context,{}),this.allowedSpyScan=null,this.options.useSpyScan){this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!0);try{await this.spycam.isPluggedIn()?await this.spycam.devices({deviceType:3}).then(r=>{r?.length>0?this.allowedSpyScan=!1:this.allowedSpyScan=!0}).finally(()=>{this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!1),this.DeviceCheckerUI&&this.allowedSpyScan!=null&&this.DeviceCheckerUI.isSpyDevicesUI(this.allowedSpyScan),this.onUpdateCallback()}):(this.allowedSpyScan=!1,this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!1),this.DeviceCheckerUI&&this.DeviceCheckerUI.isSpyDevicesUI(this.allowedSpyScan),this.onUpdateCallback())}catch(t){this.allowedSpyScan=!1,this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!1),this.DeviceCheckerUI&&this.DeviceCheckerUI.isSpyDevicesUI(this.allowedSpyScan),this.onUpdateCallback(),console.log(t)}}}};var Wi=class{constructor(){}async takePicture(t,r,n={width:1080,height:720}){return this.resolution=n,await this.takePictureInterface(t,r)}async startCapture(t="default"){let r=document.querySelector("#cameraStream"),n={audio:!1,video:{facingMode:"user",aspectRatio:1.777777778,width:{min:640,ideal:640,max:1920},height:{min:400,ideal:480},deviceId:t}};this.cameraRecorder=new Zr({cameraId:t,onBufferSizeErrorCallback:()=>{}},{...this.resolution}),await this.cameraRecorder.startStream(),r.srcObject=this.cameraRecorder.cameraStream,r.play()}shot(){let t=document.querySelector("#cameraStream"),r=document.querySelector("#canvas"),n=document.querySelector("#image");r.width=t.videoWidth,r.height=t.videoHeight,r.getContext("2d").drawImage(t,0,0,t.videoWidth,t.videoHeight),n.src=r.toDataURL("image/jpg"),this.base64=r.toDataURL("image/jpg")}takePictureInterface(t,r){return new Promise((n,i)=>{let o=document.createElement("div");o.setAttribute("id","authPhoto"),o.style.backgroundColor="rgba(0,0,0,0.4)",o.style.zIndex="1000",o.style.position="fixed",o.style.top="0",o.style.left="0",o.style.height="100vh",o.style.width="100%",o.style.display="flex",o.style.alignItems="center",o.style.justifyContent="center";let s=document.createElement("div");s.style.backgroundColor="#fff",s.style.zIndex="1001",s.style.position="fixed",s.style.top="0",s.style.left="0",s.style.height="100vh",s.style.width="100%",s.style.borderRadius="10px",s.style.display="flex",s.style.flexDirection="column",s.style.alignItems="center",s.style.boxSizing="border-box";let a=document.createElement("h3");a.innerText=t||"Biometria Facial",a.style.color="rgba(0, 0, 0, .7)",a.style.fontWeight="bold",a.style.fontSize="20px",a.style.marginTop="0px",a.style.marginBottom="15px",a.style.padding="20px 0px 0px",a.style.width="100%",a.style.textAlign="center",a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.zIndex="1010",s.appendChild(a);let c=document.createElement("p");c.innerText=r||"Encaixe seu rosto no formato e clique no bot\xE3o abaixo",c.style.color="rgba(0, 0, 0, .7)",c.style.fontWeight="normal",c.style.fontSize="16px",c.style.marginBottom="15px",c.style.padding="0px 0px 20px",c.style.width="100%",c.style.textAlign="center",c.style.position="fixed",c.style.top="55px",c.style.left="0",c.style.zIndex="1011",s.appendChild(c);let l=document.createElement("div"),h=document.createElement("h3"),d=document.createElement("select");d.setAttribute("id","cameraSelect"),l.style.padding="0 20px",l.style.width="100%",l.style.display="flex",l.style.justifyContent="space-between",l.style.marginBottom="15px",h.innerText="C\xE2mera",h.style.color="rgba(0, 0, 0, .75)",h.style.fontWeight="bold",h.style.fontSize="16px",l.appendChild(h),l.appendChild(d);let g=document.createElement("div"),p=document.createElement("video");p.setAttribute("id","cameraStream"),p.muted=!0,g.style.position="fixed",g.style.top="0",g.style.left="0",g.style.height="100vh",g.style.width="100%",g.style.display="flex",g.style.justifyContent="center",p.style.backgroundColor="#000",p.style.borderRadius="10px",p.style.width="auto",p.style.height="auto",p.style.minHeight="100%",g.appendChild(p);let m=document.createElement("canvas");m.setAttribute("id","canvas"),m.style.display="none",m.style.width="100%",m.style.height="100%";let u=document.createElement("img");u.setAttribute("id","image"),u.style.objectFit="contain",u.style.display="none",u.style.borderRadius="8px",g.appendChild(m),g.appendChild(u);let b=document.createElement("div");b.setAttribute("class","facial-biometry__mask"),b.style.width="100%",b.style.height="100%",b.style.position="absolute",b.style.top="0px",b.style.left="0px",b.style.backgroundColor="#fff",b.style.opacity="0.8";let _=document.createElement("div");_.setAttribute("class","biometry__frame"),_.style.width="100%",_.style.height="100%",_.style.position="absolute",_.style.top="0px",_.style.left="0px",_.style.zIndex="10",g.appendChild(b),g.appendChild(_),s.appendChild(g),this.addStyleMask();let E=document.createElement("button"),k=document.createElement("div");E.setAttribute("id","confirmBtn"),k.style.position="fixed",k.style.bottom="0",k.style.left="0",k.style.width="100%",k.style.display="flex",k.style.alignItems="center",k.style.justifyContent="center",E.style.background="url('https://iarisprod.blob.core.windows.net/imagens/camera.svg') no-repeat center",E.style.width="70px",E.style.height="70px",E.style.borderRadius="70px",E.style.border="none",E.style.backgroundColor="#16a34a",E.style.margin="20px";let P=document.createElement("button");P.setAttribute("id","closeModal"),P.style.background="url('https://iarisprod.blob.core.windows.net/imagens/close.svg') no-repeat center",P.style.width="70px",P.style.height="70px",P.style.borderRadius="70px",P.style.border="none",P.style.backgroundColor="#e74141",P.style.margin="20px",k.appendChild(P),k.appendChild(E),s.appendChild(k);let x=document.createElement("button");x.style.background="url('https://easyproctor-public.s3.us-east-2.amazonaws.com/images/retry.svg') no-repeat center",x.style.width="70px",x.style.height="70px",x.style.borderRadius="70px",x.style.border="none",x.style.backgroundColor="#e74141",x.style.margin="20px 20px";let A=document.createElement("button");A.style.background="url('https://iarisprod.blob.core.windows.net/imagens/check.svg') no-repeat center",A.style.width="70px",A.style.height="70px",A.style.borderRadius="70px",A.style.border="none",A.style.backgroundColor="#16a34a",A.style.margin="20px 20px",o.appendChild(s),document.body.appendChild(o),this.setSelectOption(),this.startCapture(),E.addEventListener("click",()=>{k.removeChild(E),k.removeChild(P),k.appendChild(x),k.appendChild(A),this.shot(),this.closeInterface(),n({base64:this.base64})}),x.addEventListener("click",()=>{k.appendChild(P),k.appendChild(E),k.removeChild(x),k.removeChild(A)}),A.addEventListener("click",()=>{this.closeInterface(),n({base64:this.base64})}),P.addEventListener("click",()=>{this.closeInterface(),i(new Error("User does not captured photo"))})})}async setSelectOption(){let t=document.querySelector("#cameraSelect"),r=await pr();t&&(t.value="default");let n=(i,o)=>{let s=document.createElement("option");return s.setAttribute("value",o),s.innerHTML=i,s};r.cameras.forEach(i=>{let o=n(i.label,i.id);t?.appendChild(o)}),this.onSelectOptionChange()}async onSelectOptionChange(){let t=document.querySelector("#cameraSelect");t?.addEventListener("change",async()=>{this.startCapture(t?.value)})}async closeInterface(){await this.cameraRecorder.stopStream(),document.querySelector("#authPhoto")?.remove()}async addStyleMask(){let t=`
398
401
  .facial-biometry__mask {
399
402
  mask-image: url('https://iarisprod.blob.core.windows.net/imagens/square.svg'), url('https://iarisprod.blob.core.windows.net/imagens/face-mask.svg');
400
403
  mask-size: cover, auto 65%;
@@ -423,19 +426,19 @@ Para iniciar um exame utilize uma outra c\xE2mera.`),o.setAttribute("class","che
423
426
  // -webkit-mask-position: center;
424
427
  // -webkit-mask-repeat: no-repeat;
425
428
  }
426
- `,r=document.createElement("style");r.innerHTML=t,document.head.appendChild(r)}};var ja=class{constructor(){this.hasExtension=!1;this.tryes=0;this.responseStart=!1}start(){let t;return new Promise((r,n)=>{window.postMessage({type:"easyproctor",func:"startExtensionEasyproctor"},"*"),t=setInterval(()=>{this.tryes>10&&(clearInterval(t),n(new Error("N\xE3o foi poss\xEDvel se conectar com a extens\xE3o"))),this.responseStart&&(clearInterval(t),r(this.responseStart)),this.tryes++},1e3)})}sendVerifyMsg(t,r){window.postMessage({type:"easyproctor",func:"verifyExtensionEasyproctor",url:t,token:r},"*")}verify(t){return t.source==window&&t.data.sender&&t.data.sender==="easyproctor-extension"&&t.data.message_name&&t.data.message_name==="progress"&&this.options.onProgress&&this.options.onProgress(100),t.source==window&&t.data.sender&&t.data.sender==="easyproctor-extension"&&t.data.message_name&&t.data.message_name==="start"&&(this.responseStart=!0),new Promise((r,n)=>{t.source==window&&t.data.sender&&t.data.sender==="easyproctor-extension"&&t.data.message_name&&t.data.message_name==="version"&&(this.hasExtension=!0,r(this.hasExtension))})}addEventListener(){window.addEventListener("message",t=>this.verify(t))}};var Va=class{constructor(t,r,n,i){this.repositoryDevices=t,this.proctoringId=r,this.sessionOptions=n,this.allRecorders=i}startRecording(t){navigator.mediaDevices.ondevicechange=()=>{this.onChangeDevices(t)}}async onChangeDevices(t){let r=await pr(),n=(p,g)=>p.label===g.label&&p.id===g.id,i=(p,g,f)=>p.filter(b=>!g.some(_=>f(b,_))),o=await this.repositoryDevices.getDevices("devices"),s={label:"",id:""},a={cameras:o?.cameras||[s],microphones:o?.microphones||[s]},c=r.cameras.length>a?.cameras.length||r.microphones.length>a?.microphones.length?"in":"out",l=[],h=[],d=!1;if(r.cameras.length!=a?.cameras.length){let p=c==="out"?i(a?.cameras,r.cameras,n):[],g=c==="in"?i(r.cameras,a?.cameras,n):[];l=c==="out"?p:g,l=l.filter(f=>f.id!="default"),console.log(p),console.log(this.sessionOptions.cameraId),c==="out"&&(d=p.some(f=>f.id===this.sessionOptions.cameraId))}if(r.microphones.length!=a?.microphones.length){let p=c==="out"?i(a?.microphones,r.microphones,n):[],g=c==="in"?i(r.microphones,a?.microphones,n):[];h=c==="out"?p:g,h=h.filter(f=>f.id!="default"&&f.id!="communications"),c==="out"&&!d&&(d=p.some(f=>f.id===this.sessionOptions.microphoneId))}let m={cameras:l||[],microphones:h||[],status:c,isActiveDevice:d};await this.repositoryDevices.save({...r,id:"devices",status:c}),t.status&&(m.cameras.length!=0||m.microphones.length!=0)&&(me.registerChangeDevice(this.proctoringId,m.status,JSON.stringify(m,null,2)),m.isActiveDevice&&this.allRecorders.alertRecorder.addAlert({alert:39,type:2}),t.status(m))}};var h0=dl(l0()),Wi=class{constructor(t){this.loadingBoolean=!0;this.proctoringId=t}async upload(t,r){let{file:n,onProgress:i}=t;try{me.registerDownloadFile(this.proctoringId,`File to download
429
+ `,r=document.createElement("style");r.innerHTML=t,document.head.appendChild(r)}};var Ha=class{constructor(){this.hasExtension=!1;this.tryes=0;this.responseStart=!1}start(){let t;return new Promise((r,n)=>{window.postMessage({type:"easyproctor",func:"startExtensionEasyproctor"},"*"),t=setInterval(()=>{this.tryes>10&&(clearInterval(t),n(new Error("N\xE3o foi poss\xEDvel se conectar com a extens\xE3o"))),this.responseStart&&(clearInterval(t),r(this.responseStart)),this.tryes++},1e3)})}sendVerifyMsg(t,r){window.postMessage({type:"easyproctor",func:"verifyExtensionEasyproctor",url:t,token:r},"*")}verify(t){return t.source==window&&t.data.sender&&t.data.sender==="easyproctor-extension"&&t.data.message_name&&t.data.message_name==="progress"&&this.options.onProgress&&this.options.onProgress(100),t.source==window&&t.data.sender&&t.data.sender==="easyproctor-extension"&&t.data.message_name&&t.data.message_name==="start"&&(this.responseStart=!0),new Promise((r,n)=>{t.source==window&&t.data.sender&&t.data.sender==="easyproctor-extension"&&t.data.message_name&&t.data.message_name==="version"&&(this.hasExtension=!0,r(this.hasExtension))})}addEventListener(){window.addEventListener("message",t=>this.verify(t))}};var Wa=class{constructor(t){this.hasExtension=!1;this.tryes=0;this.responseStart=!1;this.options=t||{}}checkExtensionInstalled(t=2e3){return new Promise((r,n)=>{let i=!1,o=s=>{s.source===window&&s.data.sender==="easyproctor-extension"&&s.data.message_name==="version"&&(i=!0,window.removeEventListener("message",o),r(s.data.message))};window.addEventListener("message",o),window.postMessage({type:"easycatcher",func:"verifyExtensionEasycatcher"},"*"),setTimeout(()=>{i||(window.removeEventListener("message",o),n(new Error("Extens\xE3o n\xE3o detectada ou n\xE3o respondeu.")))},t)})}getSessionData(t=5e3){return new Promise((r,n)=>{let i=!1,o=s=>{s.source===window&&s.data.sender==="easyproctor-extension"&&s.data.message_name==="data_response"&&(i=!0,window.removeEventListener("message",o),r(s.data.payload))};window.addEventListener("message",o),window.postMessage({type:"easycatcher",func:"getDataExtensionEasycatcher"},"*"),setTimeout(()=>{i||(window.removeEventListener("message",o),n(new Error("Timeout ao aguardar dados da extens\xE3o.")))},t)})}start(){return new Promise((t,r)=>{let n=!1,i=o=>{o.source===window&&o.data.sender==="easyproctor-extension"&&o.data.message_name==="started_confirmed"&&(n=!0,window.removeEventListener("message",i),t(!0))};window.addEventListener("message",i),window.postMessage({type:"easycatcher",func:"startExtensionEasycatcher"},"*"),setTimeout(()=>{n||(window.removeEventListener("message",i),r(new Error("Timeout: Extens\xE3o n\xE3o confirmou o in\xEDcio.")))},3e3)})}};var $a=class{constructor(t,r,n,i){this.repositoryDevices=t,this.proctoringId=r,this.sessionOptions=n,this.allRecorders=i}startRecording(t){navigator.mediaDevices.ondevicechange=()=>{this.onChangeDevices(t)}}async onChangeDevices(t){let r=await pr(),n=(p,m)=>p.label===m.label&&p.id===m.id,i=(p,m,u)=>p.filter(b=>!m.some(_=>u(b,_))),o=await this.repositoryDevices.getDevices("devices"),s={label:"",id:""},a={cameras:o?.cameras||[s],microphones:o?.microphones||[s]},c=r.cameras.length>a?.cameras.length||r.microphones.length>a?.microphones.length?"in":"out",l=[],h=[],d=!1;if(r.cameras.length!=a?.cameras.length){let p=c==="out"?i(a?.cameras,r.cameras,n):[],m=c==="in"?i(r.cameras,a?.cameras,n):[];l=c==="out"?p:m,l=l.filter(u=>u.id!="default"),console.log(p),console.log(this.sessionOptions.cameraId),c==="out"&&(d=p.some(u=>u.id===this.sessionOptions.cameraId))}if(r.microphones.length!=a?.microphones.length){let p=c==="out"?i(a?.microphones,r.microphones,n):[],m=c==="in"?i(r.microphones,a?.microphones,n):[];h=c==="out"?p:m,h=h.filter(u=>u.id!="default"&&u.id!="communications"),c==="out"&&!d&&(d=p.some(u=>u.id===this.sessionOptions.microphoneId))}let g={cameras:l||[],microphones:h||[],status:c,isActiveDevice:d};await this.repositoryDevices.save({...r,id:"devices",status:c}),t.status&&(g.cameras.length!=0||g.microphones.length!=0)&&(de.registerChangeDevice(this.proctoringId,g.status,JSON.stringify(g,null,2)),g.isActiveDevice&&this.allRecorders.alertRecorder.addAlert({alert:39,type:2}),t.status(g))}};var m0=fl(f0()),$i=class{constructor(t){this.loadingBoolean=!0;this.proctoringId=t}async upload(t,r){let{file:n,onProgress:i}=t;try{de.registerDownloadFile(this.proctoringId,`File to download
427
430
  File name: ${n.name}
428
431
  File type: ${n.type}
429
- File size: ${n.size}}`),(0,h0.saveAs)(n),this.loadingBoolean=!1,clearInterval(this.loadingInterval),i&&i(Math.round(100))}catch{throw n&&this.proctoringId&&me.registerError(this.proctoringId,`Failed on machine download
432
+ File size: ${n.size}}`),(0,m0.saveAs)(n),this.loadingBoolean=!1,clearInterval(this.loadingInterval),i&&i(Math.round(100))}catch{throw n&&this.proctoringId&&de.registerError(this.proctoringId,`Failed on machine download
430
433
  File name: ${n.name}
431
434
  File type: ${n.type}
432
- File size: ${n.size}`),new Error("Error on machine download")}}};var Ha=class{constructor(t,r){this.session=t;this.recorders=r}async startAll(){this.session.start();for(let t of this.recorders)await t.startRecording({retry:!1})}async pauseAll(){this.session.pause();for(let t of this.recorders)await t.pauseRecording()}async resumeAll(){this.session.resume();for(let t of this.recorders)await t.resumeRecording()}async stopAll(){for(let t of this.recorders)await t.stopRecording();this.session.stop()}async saveAllOnSession(){for(let t of this.recorders)await t.saveOnSession(this.session)}};var $i=class{constructor(t,r,n){this.session=t;this.proctoringId=r;this.uploadServices=n}async upload(t,r){await this.uploadRecordings(t,r)}async uploadRecordings(t,r){await this.uploadAllFiles(t,r),this.session.hasSomethingToUpload||this.session.setUploaded()}async uploadAllFiles(t,r){for(let n=0;n<this.session.recordings.length;n++){let i=this.session.recordings[n];if(i.upload)continue;let o=a=>{let c=(n*100+a)/this.session.recordings.length;r&&r(c)},s=await this.uploadFile(i,t,o).catch(()=>{});s&&(i.upload||(i.upload={storage:"upload",awsUrl:"",azureUrl:""}),s.uploaded&&(i.upload.storage=s.storage),s.storage==="upload"?s.url&&(i.upload.azureUrl=s.url):s.url&&(i.upload.awsUrl=s.url))}r&&r(100)}toFile(t){let r=t.origin==="Screen"?"screen":t.origin==="Camera"?"camera":"audio",n=`EP_${this.proctoringId}_${r}_0.webm`;return new File([t.arrayBuffer],n,{type:"video/webm"})}getFileType(t){switch(t){case"Camera":return"Camera";case"Screen":return"Screen";case"Mic":return"Audio"}}async uploadFile(t,r,n){let i=this.toFile(t);for await(let o of this.uploadServices){let s=await o.upload({file:i,onProgress:a=>{n&&n(a)}},r).catch(async a=>{console.log("Upload File Error",a),me.registerError(this.proctoringId,`Upload File
435
+ File size: ${n.size}`),new Error("Error on machine download")}}};var Ga=class{constructor(t,r){this.session=t;this.recorders=r}async startAll(){this.session.start();for(let t of this.recorders)await t.startRecording({retry:!1})}async pauseAll(){this.session.pause();for(let t of this.recorders)await t.pauseRecording()}async resumeAll(){this.session.resume();for(let t of this.recorders)await t.resumeRecording()}async stopAll(){for(let t of this.recorders)await t.stopRecording();this.session.stop()}async saveAllOnSession(){for(let t of this.recorders)await t.saveOnSession(this.session)}};var Gi=class{constructor(t,r,n){this.session=t;this.proctoringId=r;this.uploadServices=n}async upload(t,r){await this.uploadRecordings(t,r)}async uploadRecordings(t,r){await this.uploadAllFiles(t,r),this.session.hasSomethingToUpload||this.session.setUploaded()}async uploadAllFiles(t,r){for(let n=0;n<this.session.recordings.length;n++){let i=this.session.recordings[n];if(i.upload)continue;let o=a=>{let c=(n*100+a)/this.session.recordings.length;r&&r(c)},s=await this.uploadFile(i,t,o).catch(()=>{});s&&(i.upload||(i.upload={storage:"upload",awsUrl:"",azureUrl:""}),s.uploaded&&(i.upload.storage=s.storage),s.storage==="upload"?s.url&&(i.upload.azureUrl=s.url):s.url&&(i.upload.awsUrl=s.url))}r&&r(100)}toFile(t){let r=t.origin==="Screen"?"screen":t.origin==="Camera"?"camera":"audio",n=`EP_${this.proctoringId}_${r}_0.webm`;return new File([t.arrayBuffer],n,{type:"video/webm"})}getFileType(t){switch(t){case"Camera":return"Camera";case"Screen":return"Screen";case"Mic":return"Audio"}}async uploadFile(t,r,n){let i=this.toFile(t);for await(let o of this.uploadServices){let s=await o.upload({file:i,onProgress:a=>{n&&n(a)}},r).catch(async a=>{console.log("Upload File Error",a),de.registerError(this.proctoringId,`Upload File
433
436
  Name: ${i.name}
434
437
  Error: ${a.message}
435
- Size: ${a.error}`),await o.upload({file:i,onProgress:c=>{n&&n(c)}},r)});if(s){let a=this.getFileType(t.origin);return me.registerUploadFile(this.proctoringId,`Upload File
438
+ Size: ${a.error}`),await o.upload({file:i,onProgress:c=>{n&&n(c)}},r)});if(s){let a="";return t.origin==="Camera"?a="Camera":t.origin==="Screen"?a="Screen":t.origin==="Mic"&&(a="Audio"),de.registerUploadFile(this.proctoringId,`Upload File
436
439
  Name: ${i.name}
437
440
  Type: ${i.type}
438
- Size: ${i.size}`,a),s}}throw new Error("Could not upload")}};var Wa=class{constructor(t,r){this.alerts=[];this.lastActivityTime=Date.now();this.IDLE_THRESHOLD_MS=3e4;this.handleVisibilityChange=()=>{document.visibilityState==="visible"?this.handleReturnFocus():this.handleLostFocus()};this.handleLostFocus=()=>{if(this.getRelativeTime()>1e4){let t={begin:this.getRelativeTime(),end:0,alert:25,type:3};this.onLostFocusCallback(t),this.alerts.push(t)}};this.handleReturnFocus=()=>{let t=this.alerts[this.alerts.length-1];t&&(this.onFocusCallback({begin:t.begin,end:this.getRelativeTime(),alert:25,type:3}),t.end=this.getRelativeTime())};this.handleResize=()=>{clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{let t=window.screen.availWidth,r=window.outerWidth;if(r<t*.85){let n=`Split Screen Detectado: Janela ocupa ${(r/t*100).toFixed(0)}% da tela`;this.createAlert(43,3,n),this.onRealtimeAlertCallback&&this.onRealtimeAlertCallback({status:"ALERT",description:n,type:"split_screen"})}},1e3)};this.handleUserActivity=t=>{this.lastActivityTime=Date.now(),console.log("\u{1F449} handleUserActivity",t)};this.handleCopy=t=>{t.preventDefault();let r="Tentativa de Copiar (Clipboard)";this.createAlert(42,3,r),this.onRealtimeAlertCallback&&this.onRealtimeAlertCallback({status:"ALERT",description:r,type:"clipboard_copy"})};this.handleCut=t=>{t.preventDefault();let r="Tentativa de Recortar (Clipboard)";this.createAlert(42,3,r),this.onRealtimeAlertCallback&&this.onRealtimeAlertCallback({status:"ALERT",description:r,type:"clipboard_cut"})};this.handlePaste=t=>{t.preventDefault();let r="Tentativa de Colar (Clipboard)";this.createAlert(42,3,r),this.onRealtimeAlertCallback&&this.onRealtimeAlertCallback({status:"ALERT",description:r,type:"clipboard_paste"})};this.onLostFocusCallback=t.onLostFocusCallback,this.onFocusCallback=t.onFocusCallback,this.onRealtimeAlertCallback=t.onRealtimeAlertCallback,this.optionsProctoring=r}async startRecording(){this.startTime=new Date(Date.now()),this.alerts=[],this.attachListeners()}async pauseRecording(){this.detachListeners()}async resumeRecording(){this.attachListeners()}async stopRecording(){this.detachListeners()}async saveOnSession(t){this.alerts.forEach(r=>{t.addAlert(r)})}attachListeners(){this.optionsProctoring.captureScreen&&(window.addEventListener("visibilitychange",this.handleVisibilityChange),window.addEventListener("resize",this.handleResize),window.document.addEventListener("copy",this.handleCopy),window.document.addEventListener("cut",this.handleCut),window.document.addEventListener("paste",this.handlePaste))}detachListeners(){window.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("resize",this.handleResize),window.document.removeEventListener("copy",this.handleCopy),window.document.removeEventListener("cut",this.handleCut),window.document.removeEventListener("paste",this.handlePaste)}addBackgroundEvent(t,r=200){this.createAlert(r,3,t),this.onRealtimeAlertCallback&&this.onRealtimeAlertCallback({status:"ALERT",description:t,type:"background_event"})}getRelativeTime(){return Date.now()-this.startTime.getTime()}createAlert(t,r,n){this.alerts.push({begin:this.getRelativeTime(),end:this.getRelativeTime(),alert:t,type:r})}addAlert({alert:t,type:r}){this.alerts.push({begin:Date.now()-this.startTime.getTime(),end:Date.now()-this.startTime.getTime(),alert:t,type:r})}};var qn=typeof self<"u"?self:{};function Wn(){throw Error("Invalid UTF8")}function d0(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}var $a,Cd,E_=typeof TextDecoder<"u",C_,A_=typeof TextEncoder<"u";function K0(e){if(A_)e=(C_||=new TextEncoder).encode(e);else{let r=0,n=new Uint8Array(3*e.length);for(let i=0;i<e.length;i++){var t=e.charCodeAt(i);if(t<128)n[r++]=t;else{if(t<2048)n[r++]=t>>6|192;else{if(t>=55296&&t<=57343){if(t<=56319&&i<e.length){let o=e.charCodeAt(++i);if(o>=56320&&o<=57343){t=1024*(t-55296)+o-56320+65536,n[r++]=t>>18|240,n[r++]=t>>12&63|128,n[r++]=t>>6&63|128,n[r++]=63&t|128;continue}i--}t=65533}n[r++]=t>>12|224,n[r++]=t>>6&63|128}n[r++]=63&t|128}}e=r===n.length?n:n.subarray(0,r)}return e}var Wd,Za;e:{for(Ad=["CLOSURE_FLAGS"],Ga=qn,qa=0;qa<Ad.length;qa++)if((Ga=Ga[Ad[qa]])==null){Za=null;break e}Za=Ga}var Ad,Ga,qa,Jo,u0=Za&&Za[610401301];Wd=u0!=null&&u0;var p0=qn.navigator;function Fd(e){return!!Wd&&!!Jo&&Jo.brands.some((({brand:t})=>t&&t.indexOf(e)!=-1))}function lr(e){var t;return(t=qn.navigator)&&(t=t.userAgent)||(t=""),t.indexOf(e)!=-1}function vn(){return!!Wd&&!!Jo&&Jo.brands.length>0}function Td(){return vn()?Fd("Chromium"):(lr("Chrome")||lr("CriOS"))&&!(!vn()&&lr("Edge"))||lr("Silk")}Jo=p0&&p0.userAgentData||null;var T_=!vn()&&(lr("Trident")||lr("MSIE"));!lr("Android")||Td(),Td(),lr("Safari")&&(Td()||!vn()&&lr("Coast")||!vn()&&lr("Opera")||!vn()&&lr("Edge")||(vn()?Fd("Microsoft Edge"):lr("Edg/"))||vn()&&Fd("Opera"));var X0={},$o=null;function I_(e){let t=e.length,r=3*t/4;r%3?r=Math.floor(r):"=.".indexOf(e[t-1])!=-1&&(r="=.".indexOf(e[t-2])!=-1?r-2:r-1);let n=new Uint8Array(r),i=0;return(function(o,s){function a(l){for(;c<o.length;){let h=o.charAt(c++),d=$o[h];if(d!=null)return d;if(!/^[\s\xa0]*$/.test(h))throw Error("Unknown base64 encoding at char: "+h)}return l}J0();let c=0;for(;;){let l=a(-1),h=a(0),d=a(64),m=a(64);if(m===64&&l===-1)break;s(l<<2|h>>4),d!=64&&(s(h<<4&240|d>>2),m!=64&&s(d<<6&192|m))}})(e,(function(o){n[i++]=o})),i!==r?n.subarray(0,i):n}function J0(){if(!$o){$o={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){let n=e.concat(t[r].split(""));X0[r]=n;for(let i=0;i<n.length;i++){let o=n[i];$o[o]===void 0&&($o[o]=i)}}}}var Y0=typeof Uint8Array<"u",Z0=!T_&&typeof btoa=="function";function f0(e){if(!Z0){var t;t===void 0&&(t=0),J0(),t=X0[t];var r=Array(Math.floor(e.length/3)),n=t[64]||"";let c=0,l=0;for(;c<e.length-2;c+=3){var i=e[c],o=e[c+1],s=e[c+2],a=t[i>>2];i=t[(3&i)<<4|o>>4],o=t[(15&o)<<2|s>>6],s=t[63&s],r[l++]=a+i+o+s}switch(a=0,s=n,e.length-c){case 2:s=t[(15&(a=e[c+1]))<<2]||n;case 1:e=e[c],r[l]=t[e>>2]+t[(3&e)<<4|a>>4]+s+n}return r.join("")}for(t="",r=0,n=e.length-10240;r<n;)t+=String.fromCharCode.apply(null,e.subarray(r,r+=10240));return t+=String.fromCharCode.apply(null,r?e.subarray(r):e),btoa(t)}var m0=/[-_.]/g,R_={"-":"+",_:"/",".":"="};function P_(e){return R_[e]||""}function Q0(e){if(!Z0)return I_(e);m0.test(e)&&(e=e.replace(m0,P_)),e=atob(e);let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function cc(e){return Y0&&e!=null&&e instanceof Uint8Array}var Yi={};function Zi(){return D_||=new wn(null,Yi)}function $d(e){e1(Yi);var t=e.g;return(t=t==null||cc(t)?t:typeof t=="string"?Q0(t):null)==null?t:e.g=t}var wn=class{i(){return new Uint8Array($d(this)||0)}constructor(e,t){if(e1(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}},D_,B_;function e1(e){if(e!==Yi)throw Error("illegal external caller")}function t1(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function g0(){let e=Error("int32");return t1(e,"warning"),e}var lc=typeof Symbol=="function"&&typeof Symbol()=="symbol",O_=new Set;function hc(e,t,r=!1,n=!1){return e=typeof Symbol=="function"&&typeof Symbol()=="symbol"?n&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t,r&&O_.add(e),e}var U_=hc("jas",void 0,!0,!0),Id=hc(void 0,"2ex"),Ho=hc(void 0,"1oa",!0),Qi=hc(void 0,Symbol(),!0),se=lc?U_:"M",r1={M:{value:0,configurable:!0,writable:!0,enumerable:!1}},n1=Object.defineProperties;function Gd(e,t){lc||se in e||n1(e,r1),e[se]|=t}function ct(e,t){lc||se in e||n1(e,r1),e[se]=t}function F_(e,t){ct(t,-30975&(0|e))}function Ld(e,t){ct(t,-30941&(34|e))}function qd(){return typeof BigInt=="function"}function hr(e){return Array.prototype.slice.call(e)}var Kd,Zo={},L_={};function y0(e){return!(!e||typeof e!="object"||e.g!==L_)}function Xd(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&e.constructor===Object}function i1(e,t){if(e!=null){if(typeof e=="string")e=e?new wn(e,Yi):Zi();else if(e.constructor!==wn)if(cc(e))e=e.length?new wn(new Uint8Array(e),Yi):Zi();else{if(!t)throw Error();e=void 0}}return e}function Qa(e){return!(!Array.isArray(e)||e.length)&&!!(1&(0|e[se]))}var b0=[];function Jn(e){if(2&e)throw Error()}function Jd(e){return Qi?e[Qi]:void 0}ct(b0,55),Kd=Object.freeze(b0);var o1=Object.freeze({}),Yd=typeof qn.BigInt=="function"&&typeof qn.BigInt(0)=="bigint",Md=e=>Yd?e>=N_&&e<=j_:e[0]==="-"?v0(e,M_):v0(e,z_),M_=Number.MIN_SAFE_INTEGER.toString(),N_=Yd?BigInt(Number.MIN_SAFE_INTEGER):void 0,z_=Number.MAX_SAFE_INTEGER.toString(),j_=Yd?BigInt(Number.MAX_SAFE_INTEGER):void 0;function v0(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(let r=0;r<e.length;r++){let n=e[r],i=t[r];if(n>i)return!1;if(n<i)return!0}}var V_=typeof Uint8Array.prototype.slice=="function",s1,De=0,Ge=0;function _0(e){let t=e>>>0;De=t,Ge=(e-t)/4294967296>>>0}function eo(e){if(e<0){_0(-e);let[t,r]=eu(De,Ge);De=t>>>0,Ge=r>>>0}else _0(e)}function a1(e){let t=s1||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),Ge=0,De=t.getUint32(0,!0)}function Zd(e,t){let r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:Yo(e,t)}function Qd(e,t){let r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=Zd(e,t))=="number"?r?-e:e:r?"-"+e:e}function Yo(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else qd()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+w0(r)+w0(e));return r}function w0(e){return e=String(e),"0000000".slice(e.length)+e}function dc(e){if(e.length<16)eo(Number(e));else if(qd())e=BigInt(e),De=Number(e&BigInt(4294967295))>>>0,Ge=Number(e>>BigInt(32)&BigInt(4294967295));else{let t=+(e[0]==="-");Ge=De=0;let r=e.length;for(let n=t,i=(r-t)%6+t;i<=r;n=i,i+=6){let o=Number(e.slice(n,i));Ge*=1e6,De=1e6*De+o,De>=4294967296&&(Ge+=Math.trunc(De/4294967296),Ge>>>=0,De>>>=0)}if(t){let[n,i]=eu(De,Ge);De=n,Ge=i}}}function eu(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}var c1=typeof BigInt=="function"?BigInt.asIntN:void 0,H_=typeof BigInt=="function"?BigInt.asUintN:void 0,Go=Number.isSafeInteger,uc=Number.isFinite,ec=Math.trunc;function Qo(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function S0(e){if(e!=null&&typeof e!="boolean"){var t=typeof e;throw Error(`Expected boolean but got ${t!="object"?t:e?Array.isArray(e)?"array":t:"null"}: ${e}`)}return e}var W_=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function tu(e){switch(typeof e){case"bigint":return!0;case"number":return uc(e);case"string":return W_.test(e);default:return!1}}function Kn(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return uc(e)?0|e:void 0}function k0(e){if(e[0]==="-")return!1;let t=e.length;return t<20||t===20&&Number(e.substring(0,6))<184467}function l1(e){return e=ec(e),Go(e)||(eo(e),e=Qd(De,Ge)),e}function h1(e){var t=ec(Number(e));if(Go(t))return String(t);if((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),t=e.length,!(e[0]==="-"?t<20||t===20&&Number(e.substring(0,7))>-922337:t<19||t===19&&Number(e.substring(0,6))<922337))if(dc(e),e=De,2147483648&(t=Ge))if(qd())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{let[r,n]=eu(e,t);e="-"+Yo(r,n)}else e=Yo(e,t);return e}function Nd(e){return e==null?e:typeof e=="bigint"?(Md(e)?e=Number(e):(e=c1(64,e),e=Md(e)?Number(e):String(e)),e):tu(e)?typeof e=="number"?l1(e):h1(e):void 0}function $_(e){if(e==null)return e;var t=typeof e;if(t==="bigint")return String(H_(64,e));if(tu(e)){if(t==="string")return t=ec(Number(e)),Go(t)&&t>=0?e=String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),k0(e)||(dc(e),e=Yo(De,Ge))),e;if(t==="number")return(e=ec(e))>=0&&Go(e)?e:(function(r){if(r<0){eo(r);var n=Yo(De,Ge);return r=Number(n),Go(r)?r:n}return k0(n=String(r))?n:(eo(r),Zd(De,Ge))})(e)}}function d1(e){if(typeof e!="string")throw Error();return e}function tc(e){if(e!=null&&typeof e!="string")throw Error();return e}function Sn(e){return e==null||typeof e=="string"?e:void 0}function u1(e,t,r){if(e!=null&&typeof e=="object"&&e.B===Zo)return e;if(Array.isArray(e)){var n=0|e[se],i=n;return i===0&&(i|=32&r),(i|=2&r)!==n&&ct(e,i),new t(e)}}function p1(e,t,r,n,i){if(e!=null){if(Array.isArray(e))e=Qa(e)?void 0:i&&2&(0|e[se])?e:ru(e,t,r,n!==void 0,i);else if(Xd(e)){let o={};for(let s in e)o[s]=p1(e[s],t,r,n,i);e=o}else e=t(e,n);return e}}function ru(e,t,r,n,i){let o=n||r?0|e[se]:0,s=n?!!(32&o):void 0;n=hr(e);for(let a=0;a<n.length;a++)n[a]=p1(n[a],t,r,s,i);return r&&((e=Jd(e))&&(n[Qi]=hr(e)),r(o,n)),n}function G_(e){return e.B===Zo?e.toJSON():(function(t){switch(typeof t){case"number":return isFinite(t)?t:String(t);case"bigint":return Md(t)?Number(t):String(t);case"boolean":return t?1:0;case"object":if(t)if(Array.isArray(t)){if(Qa(t))return}else{if(cc(t))return f0(t);if(t instanceof wn){let r=t.g;return r==null?"":typeof r=="string"?r:t.g=f0(r)}}}return t})(e)}function q_(e){return ru(e,G_,void 0,void 0,!1)}var f1,K_;function qo(e,t,r){return e=m1(e,t[0],t[1],r?1:2),t!==f1&&r&&Gd(e,16384),e}function m1(e,t,r,n){if(e==null){var i=96;r?(e=[r],i|=512):e=[],t&&(i=-33521665&i|(1023&t)<<15)}else{if(!Array.isArray(e))throw Error("narr");if(2048&(i=0|e[se]))throw Error("farr");if(64&i)return e;if(n===1||n===2||(i|=64),r&&(i|=512,r!==e[0]))throw Error("mid");e:{if(n=(r=e).length){let o=n-1;if(Xd(r[o])){if((t=o-(512&(i|=256)?0:-1))>=1024)throw Error("pvtlmt");i=-33521665&i|(1023&t)<<15;break e}}if(t){if((t=Math.max(t,n-(512&i?0:-1)))>1024)throw Error("spvt");i=-33521665&i|(1023&t)<<15}}}return ct(e,i),e}function g1(e,t,r=Ld){if(e!=null){if(Y0&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){var n=0|e[se];return 2&n?e:(t&&=n===0||!!(32&n)&&!(64&n||!(16&n)),t?(ct(e,-12293&(34|n)),e):ru(e,g1,4&n?Ld:r,!0,!0))}return e.B===Zo&&(e=2&(n=0|(r=e.l)[se])?e:new e.constructor(pc(r,n,!0))),e}}function y1(e){let t=e.l;return new e.constructor(pc(t,0|t[se],!1))}function pc(e,t,r){let n=r||2&t?Ld:F_,i=!!(32&t);return e=(function(o,s,a){let c=hr(o);var l=c.length;let h=256&s?c[l-1]:void 0;for(l+=h?-1:0,s=512&s?1:0;s<l;s++)c[s]=a(c[s]);if(h){s=c[s]={};for(let d in h)s[d]=a(h[d])}return(o=Jd(o))&&(c[Qi]=hr(o)),c})(e,t,(o=>g1(o,i,n))),Gd(e,32|(r?2:0)),e}function nu(e){let t=e.l,r=0|t[se];return 2&r?new e.constructor(pc(t,r,!1)):e}function _r(e,t){return Yn(e=e.l,0|e[se],t)}function Yn(e,t,r,n){if(r===-1)return null;var i=r+(512&t?0:-1);let o=e.length-1;return i>=o&&256&t?e[o][r]:n&&256&t&&(t=e[o][r])!=null?(e[i]!=null&&Id!=null&&((i=(e=B_??={})[Id]||0)>=4||(e[Id]=i+1,t1(e=Error(),"incident"),(function(s){qn.setTimeout((()=>{throw s}),0)})(e))),t):i<=o?e[i]:void 0}function ft(e,t,r){let n=e.l,i=0|n[se];return Jn(i),lt(n,i,t,r),e}function lt(e,t,r,n){let i=512&t?0:-1,o=r+i;var s=e.length-1;return o>=s&&256&t?(e[s][r]=n,t):o<=s?(e[o]=n,256&t&&r in(e=e[s])&&delete e[r],t):(n!==void 0&&(r>=(s=t>>15&1023||536870912)?n!=null&&(e[s+i]={[r]:n},ct(e,t|=256)):e[o]=n),t)}function b1(e){let t=0|(e=e.l)[se],r=Yn(e,t,1),n=i1(r,!0);return n!=null&&n!==r&&lt(e,t,1,n),n}function v1(e,t,r,n,i){let o=e.l,s=2&(e=0|o[se])?1:n;i=!!i;let a=0|(n=iu(o,e,t))[se];if(!(4&a)){4&a&&(n=hr(n),a=en(a,e),e=lt(o,e,t,n));let c=0,l=0;for(;c<n.length;c++){let h=r(n[c]);h!=null&&(n[l++]=h)}l<c&&(n.length=l),a=ou(a,e),r=-4097&(20|a),a=r&=-8193,ct(n,a),2&a&&Object.freeze(n)}return s===1||s===4&&32&a?Qr(a)||(i=a,a|=2,a!==i&&ct(n,a),Object.freeze(n)):(s===2&&Qr(a)&&(n=hr(n),a=en(a,e),a=kn(a,e,i),ct(n,a),e=lt(o,e,t,n)),Qr(a)||(t=a,a=kn(a,e,i),a!==t&&ct(n,a))),n}function iu(e,t,r,n){return e=Yn(e,t,r,n),Array.isArray(e)?e:Kd}function ou(e,t){return e===0&&(e=en(e,t)),1|e}function Qr(e){return!!(2&e)&&!!(4&e)||!!(2048&e)}function x0(e,t,r){let n=0|(e=e.l)[se];if(Jn(n),r==null)lt(e,n,t);else{var i=0|r[se],o=i,s=Qr(i),a=s||Object.isFrozen(r);for(s||(i=0),a||(r=hr(r),o=0,i=kn(i=en(i,n),n,!0),a=!1),i|=21,s=0;s<r.length;s++){let c=r[s],l=d1(c);Object.is(c,l)||(a&&(r=hr(r),o=0,i=kn(i=en(i,n),n,!0),a=!1),r[s]=l)}i!==o&&(a&&(r=hr(r),i=kn(i=en(i,n),n,!0)),ct(r,i)),lt(e,n,t,r)}}function _1(e,t){let r=0|(e=e.l)[se];Jn(r),lt(e,r,2,t===""?void 0:t)}function es(e,t,r,n,i){Jn(t);var o=!(!(64&t)&&16384&t);let s=(i=iu(e,t,r,i))!==Kd;if(o||!s){let a=o=s?0|i[se]:0;(!s||2&a||Qr(a)||4&a&&!(32&a))&&(i=hr(i),a=en(a,t),t=lt(e,t,r,i)),a=-13&ou(a,t),a=kn(n?-17&a:16|a,t,!0),a!==o&&ct(i,a)}return i}function Rd(e,t){var r=h2;return au(su(e=e.l),e,0|e[se],r)===t?t:-1}function su(e){if(lc)return e[Ho]??(e[Ho]=new Map);if(Ho in e)return e[Ho];let t=new Map;return Object.defineProperty(e,Ho,{value:t}),t}function w1(e,t,r,n){let i=su(e),o=au(i,e,t,r);return o!==n&&(o&&(t=lt(e,t,o)),i.set(r,n)),t}function au(e,t,r,n){let i=e.get(n);if(i!=null)return i;i=0;for(let o=0;o<n.length;o++){let s=n[o];Yn(t,r,s)!=null&&(i!==0&&(r=lt(t,r,i)),i=s)}return e.set(n,i),i}function cu(e,t,r,n){let i,o=0|e[se];if((n=Yn(e,o,r,n))!=null&&n.B===Zo)return(t=nu(n))!==n&&lt(e,o,r,t),t.l;if(Array.isArray(n)){let s=0|n[se];i=2&s?qo(pc(n,s,!1),t,!0):64&s?n:qo(i,t,!0)}else i=qo(void 0,t,!0);return i!==n&&lt(e,o,r,i),i}function S1(e,t,r,n){let i=0|(e=e.l)[se];return(t=u1(n=Yn(e,i,r,n),t,i))!==n&&t!=null&&lt(e,i,r,t),t}function wr(e,t,r){if((t=S1(e,t,r,!1))==null)return t;let n=0|(e=e.l)[se];if(!(2&n)){let i=nu(t);i!==t&&lt(e,n,r,t=i)}return t}function k1(e,t,r,n,i,o){e=e.l;var s=!!(2&t);let a=s?1:n;i=!!i,o&&=!s;var c=0|(n=iu(e,t,1))[se];if(!(s=!!(4&c))){var l=n,h=t;let d=!!(2&(c=ou(c,t)));d&&(h|=2);let m=!d,p=!0,g=0,f=0;for(;g<l.length;g++){let b=u1(l[g],r,h);if(b instanceof r){if(!d){let _=!!(2&(0|b.l[se]));m&&=!_,p&&=_}l[f++]=b}}f<g&&(l.length=f),c|=4,c=p?16|c:-17&c,ct(l,c=m?8|c:-9&c),d&&Object.freeze(l)}if(o&&!(8&c||!n.length&&(a===1||a===4&&32&c))){for(Qr(c)&&(n=hr(n),c=en(c,t),t=lt(e,t,1,n)),r=n,o=c,l=0;l<r.length;l++)(c=r[l])!==(h=nu(c))&&(r[l]=h);o|=8,ct(r,o=r.length?-17&o:16|o),c=o}return a===1||a===4&&32&c?Qr(c)||(t=c,(c|=!n.length||16&c&&(!s||32&c)?2:2048)!==t&&ct(n,c),Object.freeze(n)):(a===2&&Qr(c)&&(ct(n=hr(n),c=kn(c=en(c,t),t,i)),t=lt(e,t,1,n)),Qr(c)||(e=c,(c=kn(c,t,i))!==e&&ct(n,c))),n}function lu(e,t){let r=0|e.l[se];return k1(e,r,t,o1===void 0?2:4,!1,!(2&r))}function Sr(e,t,r,n){return n==null&&(n=void 0),ft(e,r,n)}function Pd(e,t,r){var n=s2;r==null&&(r=void 0);e:{let i=0|(e=e.l)[se];if(Jn(i),r==null){let o=su(e);if(au(o,e,i,n)!==t)break e;o.set(n,0)}else i=w1(e,i,n,t);lt(e,i,t,r)}}function en(e,t){return-2049&(e=32|(2&t?2|e:-3&e))}function kn(e,t,r){return 32&t&&r||(e&=-33),e}function x1(e,t){var r=Eu;let n=0|e.l[se];Jn(n),e=k1(e,n,r,2,!0),t=t??new r,e.push(t),e[se]=2&(0|t.l[se])?-9&e[se]:-17&e[se]}function Bt(e,t,r){Jn(0|e.l[se]),v1(e,t,Sn,2,!0).push(d1(r))}function E1(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function hu(){return Error("Failed to read varint, encoding is invalid.")}function C1(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function du(e){if(typeof e=="string")return{buffer:Q0(e),u:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),u:!1};if(e.constructor===Uint8Array)return{buffer:e,u:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),u:!1};if(e.constructor===wn)return{buffer:$d(e)||new Uint8Array(0),u:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),u:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function uu(e,t){let r,n=0,i=0,o=0,s=e.i,a=e.g;do r=s[a++],n|=(127&r)<<o,o+=7;while(o<32&&128&r);for(o>32&&(i|=(127&r)>>4),o=3;o<32&&128&r;o+=7)r=s[a++],i|=(127&r)<<o;if(Gn(e,a),r<128)return t(n>>>0,i>>>0);throw hu()}function pu(e){let t=0,r=e.g,n=r+10,i=e.i;for(;r<n;){let o=i[r++];if(t|=o,(128&o)==0)return Gn(e,r),!!(127&t)}throw hu()}function Ot(e){let t=e.i,r=e.g,n=t[r++],i=127&n;if(128&n&&(n=t[r++],i|=(127&n)<<7,128&n&&(n=t[r++],i|=(127&n)<<14,128&n&&(n=t[r++],i|=(127&n)<<21,128&n&&(n=t[r++],i|=n<<28,128&n&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw hu();return Gn(e,r),i}function zd(e){var t=e.i;let r=e.g,n=t[r],i=t[r+1],o=t[r+2];return t=t[r+3],Gn(e,e.g+4),(n<<0|i<<8|o<<16|t<<24)>>>0}function jd(e){var t=zd(e);e=2*(t>>31)+1;let r=t>>>23&255;return t&=8388607,r==255?t?NaN:e*(1/0):r==0?1401298464324817e-60*e*t:e*Math.pow(2,r-150)*(t+8388608)}function X_(e){return Ot(e)}function Dd(e,t,{C:r=!1}={}){e.C=r,t&&(t=du(t),e.i=t.buffer,e.m=t.u,e.s=0,e.j=e.i.length,e.g=e.s)}function Gn(e,t){if(e.g=t,t>e.j)throw C1(e.j,t)}function A1(e,t){if(t<0)throw Error(`Tried to read a negative byte length: ${t}`);let r=e.g,n=r+t;if(n>e.j)throw C1(t,e.j-r);return e.g=n,r}function T1(e,t){if(t==0)return Zi();var r=A1(e,t);return e.C&&e.m?r=e.i.subarray(r,r+t):(e=e.i,r=r===(t=r+t)?new Uint8Array(0):V_?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?Zi():new wn(r,Yi)}var E0=[];function I1(e){var t=e.g;if(t.g==t.j)return!1;e.j=e.g.g;var r=Ot(e.g)>>>0;if(t=r>>>3,!((r&=7)>=0&&r<=5))throw E1(r,e.j);if(t<1)throw Error(`Invalid field number: ${t} (at position ${e.j})`);return e.m=t,e.i=r,!0}function Ja(e){switch(e.i){case 0:e.i!=0?Ja(e):pu(e.g);break;case 1:Gn(e=e.g,e.g+8);break;case 2:if(e.i!=2)Ja(e);else{var t=Ot(e.g)>>>0;Gn(e=e.g,e.g+t)}break;case 5:Gn(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!I1(e))throw Error("Unmatched start-group tag: stream EOF");if(e.i==4){if(e.m!=t)throw Error("Unmatched end-group tag");break}Ja(e)}break;default:throw E1(e.i,e.j)}}function fc(e,t,r){let n=e.g.j,i=Ot(e.g)>>>0,o=e.g.g+i,s=o-n;if(s<=0&&(e.g.j=o,r(t,e,void 0,void 0,void 0),s=o-e.g.g),s)throw Error(`Message parsing ended unexpectedly. Expected to read ${i} bytes, instead read ${i-s} bytes, either the data ended unexpectedly or the message misreported its own length`);e.g.g=o,e.g.j=n}function fu(e){var t=Ot(e.g)>>>0,r=A1(e=e.g,t);if(e=e.i,E_){var n,i=e;(n=Cd)||(n=Cd=new TextDecoder("utf-8",{fatal:!0})),t=r+t,i=r===0&&t===i.length?i:i.subarray(r,t);try{var o=n.decode(i)}catch(a){if($a===void 0){try{n.decode(new Uint8Array([128]))}catch{}try{n.decode(new Uint8Array([97])),$a=!0}catch{$a=!1}}throw!$a&&(Cd=void 0),a}}else{t=(o=r)+t,r=[];let a,c=null;for(;o<t;){var s=e[o++];s<128?r.push(s):s<224?o>=t?Wn():(a=e[o++],s<194||(192&a)!=128?(o--,Wn()):r.push((31&s)<<6|63&a)):s<240?o>=t-1?Wn():(a=e[o++],(192&a)!=128||s===224&&a<160||s===237&&a>=160||(192&(n=e[o++]))!=128?(o--,Wn()):r.push((15&s)<<12|(63&a)<<6|63&n)):s<=244?o>=t-2?Wn():(a=e[o++],(192&a)!=128||a-144+(s<<28)>>30!=0||(192&(n=e[o++]))!=128||(192&(i=e[o++]))!=128?(o--,Wn()):(s=(7&s)<<18|(63&a)<<12|(63&n)<<6|63&i,s-=65536,r.push(55296+(s>>10&1023),56320+(1023&s)))):Wn(),r.length>=8192&&(c=d0(c,r),r.length=0)}o=d0(c,r)}return o}function R1(e){let t=Ot(e.g)>>>0;return T1(e.g,t)}function mu(e,t,r){var n=Ot(e.g)>>>0;for(n=e.g.g+n;e.g.g<n;)r.push(t(e.g))}var Ka=[];function J_(e){return e}var Ki;function P1(e,t,r){t.g?t.j(e,t.g,t.i,r):t.j(e,t.i,r)}var Me=class{constructor(e,t){this.l=m1(e,t)}toJSON(){let e=!Ki;try{return e&&(Ki=q_),D1(this)}finally{e&&(Ki=void 0)}}u(){return!!(2&(0|this.l[se]))}};function D1(e){var t=e.l;{t=(e=Ki(t))!==t;let l=e.length;if(l){var r=e[l-1],n=Xd(r);n?l--:r=void 0;var i=e;if(n){e:{var o,s=r,a=!1;if(s)for(let h in s)isNaN(+h)?(o??={})[h]=s[h]:(n=s[h],Array.isArray(n)&&(Qa(n)||y0(n)&&n.size===0)&&(n=null),n==null&&(a=!0),n!=null&&((o??={})[h]=n));if(a||(o=s),o)for(let h in o){a=o;break e}a=null}s=a==null?r!=null:a!==r}for(;l>0&&((o=i[l-1])==null||Qa(o)||y0(o)&&o.size===0);l--)var c=!0;(i!==e||s||c)&&(t?(c||s||a)&&(i.length=l):i=Array.prototype.slice.call(i,0,l),a&&i.push(a)),c=i}else c=e}return c}function C0(e){return e?/^\d+$/.test(e)?(dc(e),new Vd(De,Ge)):null:Y_||=new Vd(0,0)}Me.prototype.B=Zo,Me.prototype.toString=function(){try{return Ki=J_,D1(this).toString()}finally{Ki=void 0}};var Vd=class{constructor(e,t){this.i=e>>>0,this.g=t>>>0}},Y_;function A0(e){return e?/^-?\d+$/.test(e)?(dc(e),new Hd(De,Ge)):null:Z_||=new Hd(0,0)}var Hd=class{constructor(e,t){this.i=e>>>0,this.g=t>>>0}},Z_;function Xi(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function ts(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function mc(e,t){if(t>=0)ts(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function rc(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function to(e,t){t.length!==0&&(e.j.push(t),e.i+=t.length)}function kr(e,t,r){ts(e.g,8*t+r)}function gc(e,t){return kr(e,t,2),t=e.g.end(),to(e,t),t.push(e.i),t}function yc(e,t){var r=t.pop();for(r=e.i+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.i++;t.push(r),e.i++}function bc(e,t,r){kr(e,t,2),ts(e.g,r.length),to(e,e.g.end()),to(e,r)}function xr(){let e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var gu=xr(),B1=xr(),yu=xr(),bu=xr(),O1=xr(),U1=xr(),F1=xr(),L1=xr(),ro=class{constructor(e,t,r){this.g=e,this.i=t,e=gu,this.j=!!e&&r===e||!1}};function vu(e,t){return new ro(e,t,gu)}function M1(e,t,r,n,i){(t=V1(t,n))!=null&&(r=gc(e,r),i(t,e),yc(e,r))}var Q_=vu((function(e,t,r,n,i){return e.i===2&&(fc(e,cu(t,n,r),i),!0)}),M1),e3=vu((function(e,t,r,n,i){return e.i===2&&(fc(e,cu(t,n,r,!0),i),!0)}),M1),vc=Symbol(),_u=Symbol(),T0=Symbol(),I0=Symbol(),N1,z1;function Zn(e,t,r,n){var i=n[e];if(i)return i;(i={}).P=n,i.A=(function(d){switch(typeof d){case"boolean":return f1||=[0,void 0,!0];case"number":return d>0?void 0:d===0?K_||=[0,void 0]:[-d,void 0];case"string":return[0,d];case"object":return d}})(n[0]);var o=n[1];let s=1;o&&o.constructor===Object&&(i.H=o,typeof(o=n[++s])=="function"&&(i.I=!0,N1??=o,z1??=n[s+1],o=n[s+=2]));let a={};for(;o&&Array.isArray(o)&&o.length&&typeof o[0]=="number"&&o[0]>0;){for(var c=0;c<o.length;c++)a[o[c]]=o;o=n[++s]}for(c=1;o!==void 0;){let d;typeof o=="number"&&(c+=o,o=n[++s]);var l=void 0;if(o instanceof ro?d=o:(d=Q_,s--),d?.j){o=n[++s],l=n;var h=s;typeof o=="function"&&(o=o(),l[h]=o),l=o}for(h=c+1,typeof(o=n[++s])=="number"&&o<0&&(h-=o,o=n[++s]);c<h;c++){let m=a[c];l?r(i,c,d,l,m):t(i,c,d,m)}}return n[e]=i}function j1(e){return Array.isArray(e)?e[0]instanceof ro?e:[e3,e]:[e,void 0]}function V1(e,t){return e instanceof Me?e.l:Array.isArray(e)?qo(e,t,!1):void 0}function wu(e,t,r,n){let i=r.g;e[t]=n?(o,s,a)=>i(o,s,a,n):i}function Su(e,t,r,n,i){let o=r.g,s,a;e[t]=(c,l,h)=>o(c,l,h,a||=Zn(_u,wu,Su,n).A,s||=ku(n),i)}function ku(e){let t=e[T0];if(t!=null)return t;let r=Zn(_u,wu,Su,e);return t=r.I?(n,i)=>N1(n,i,r):(n,i)=>{let o=0|n[se];for(;I1(i)&&i.i!=4;){var s=i.m,a=r[s];if(a==null){var c=r.H;c&&(c=c[s])&&(c=t3(c))!=null&&(a=r[s]=c)}a!=null&&a(i,n,s)||(s=(a=i).j,Ja(a),a.G?a=void 0:(c=a.g.g-s,a.g.g=s,a=T1(a.g,c)),s=n,a&&((c=s[Qi])?c.push(a):s[Qi]=[a]))}return 16384&o&&Gd(n,34),!0},e[T0]=t}function t3(e){let t=(e=j1(e))[0].g;if(e=e[1]){let r=ku(e),n=Zn(_u,wu,Su,e).A;return(i,o,s)=>t(i,o,s,n,r)}return t}function _c(e,t,r){e[t]=r.i}function wc(e,t,r,n){let i,o,s=r.i;e[t]=(a,c,l)=>s(a,c,l,o||=Zn(vc,_c,wc,n).A,i||=H1(n))}function H1(e){let t=e[I0];if(!t){let r=Zn(vc,_c,wc,e);t=(n,i)=>W1(n,i,r),e[I0]=t}return t}function W1(e,t,r){for(var n=0|e[se],i=512&n?0:-1,o=e.length,s=512&n?1:0,a=o+(256&n?-1:0);s<a;s++){let c=e[s];if(c==null)continue;let l=s-i,h=R0(r,l);h&&h(t,c,l)}if(256&n){n=e[o-1];for(let c in n)i=+c,Number.isNaN(i)||(o=n[i])!=null&&(a=R0(r,i))&&a(t,o,i)}if(e=Jd(e))for(to(t,t.g.end()),r=0;r<e.length;r++)to(t,$d(e[r])||new Uint8Array(0))}function R0(e,t){var r=e[t];if(r)return r;if((r=e.H)&&(r=r[t])){var n=(r=j1(r))[0].i;if(r=r[1]){let i=H1(r),o=Zn(vc,_c,wc,r).A;r=e.I?z1(o,i):(s,a,c)=>n(s,a,c,o,i)}else r=n;return e[t]=r}}function Sc(e,t){if(Array.isArray(t)){var r=0|t[se];if(4&r)return t;for(var n=0,i=0;n<t.length;n++){let o=e(t[n]);o!=null&&(t[i++]=o)}return i<n&&(t.length=i),ct(t,-12289&(5|r)),2&r&&Object.freeze(t),t}}function wt(e,t,r){return new ro(e,t,r)}function kc(e,t,r){return new ro(e,t,r)}function St(e,t,r){lt(e,0|e[se],t,r)}function $1(e,t,r){if(t=(function(n){if(n==null)return n;let i=typeof n;if(i==="bigint")return String(c1(64,n));if(tu(n)){if(i==="string")return h1(n);if(i==="number")return l1(n)}})(t),t!=null&&(typeof t=="string"&&A0(t),t!=null))switch(kr(e,r,0),typeof t){case"number":e=e.g,eo(t),Xi(e,De,Ge);break;case"bigint":r=BigInt.asUintN(64,t),r=new Hd(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),Xi(e.g,r.i,r.g);break;default:r=A0(t),Xi(e.g,r.i,r.g)}}function G1(e,t,r){(t=Kn(t))!=null&&t!=null&&(kr(e,r,0),mc(e.g,t))}function q1(e,t,r){(t=t==null||typeof t=="boolean"?t:typeof t=="number"?!!t:void 0)!=null&&(kr(e,r,0),e.g.g.push(t?1:0))}function K1(e,t,r){(t=Sn(t))!=null&&bc(e,r,K0(t))}function X1(e,t,r,n,i){(t=V1(t,n))!=null&&(r=gc(e,r),i(t,e),yc(e,r))}function J1(e,t,r){(t=t==null||typeof t=="string"||cc(t)||t instanceof wn?t:void 0)!=null&&bc(e,r,du(t).buffer)}var r3=wt((function(e,t,r){if(e.i!==1)return!1;var n=e.g;e=zd(n);let i=zd(n);n=2*(i>>31)+1;let o=i>>>20&2047;return e=4294967296*(1048575&i)+e,St(t,r,o==2047?e?NaN:n*(1/0):o==0?5e-324*n*e:n*Math.pow(2,o-1075)*(e+4503599627370496)),!0}),(function(e,t,r){(t=Qo(t))!=null&&(kr(e,r,1),e=e.g,(r=s1||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),De=r.getUint32(0,!0),Ge=r.getUint32(4,!0),rc(e,De),rc(e,Ge))}),xr()),Y1=wt((function(e,t,r){return e.i===5&&(St(t,r,jd(e.g)),!0)}),(function(e,t,r){(t=Qo(t))!=null&&(kr(e,r,5),e=e.g,a1(t),rc(e,De))}),U1),n3=kc((function(e,t,r){return(e.i===5||e.i===2)&&(t=es(t,0|t[se],r,!1,!1),e.i==2?mu(e,jd,t):t.push(jd(e.g)),!0)}),(function(e,t,r){if((t=Sc(Qo,t))!=null&&t.length){kr(e,r,2),ts(e.g,4*t.length);for(let n=0;n<t.length;n++)r=e.g,a1(t[n]),rc(r,De)}}),U1),nc=wt((function(e,t,r){return e.i===0&&(St(t,r,uu(e.g,Qd)),!0)}),$1,O1),Bd=wt((function(e,t,r){return e.i===0&&(St(t,r,(e=uu(e.g,Qd))===0?void 0:e),!0)}),$1,O1),i3=wt((function(e,t,r){return e.i===0&&(St(t,r,uu(e.g,Zd)),!0)}),(function(e,t,r){if((t=$_(t))!=null&&(typeof t=="string"&&C0(t),t!=null))switch(kr(e,r,0),typeof t){case"number":e=e.g,eo(t),Xi(e,De,Ge);break;case"bigint":r=BigInt.asUintN(64,t),r=new Vd(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),Xi(e.g,r.i,r.g);break;default:r=C0(t),Xi(e.g,r.i,r.g)}}),xr()),xn=wt((function(e,t,r){return e.i===0&&(St(t,r,Ot(e.g)),!0)}),G1,bu),xu=kc((function(e,t,r){return(e.i===0||e.i===2)&&(t=es(t,0|t[se],r,!1,!1),e.i==2?mu(e,Ot,t):t.push(Ot(e.g)),!0)}),(function(e,t,r){if((t=Sc(Kn,t))!=null&&t.length){r=gc(e,r);for(let n=0;n<t.length;n++)mc(e.g,t[n]);yc(e,r)}}),bu),Gi=wt((function(e,t,r){return e.i===0&&(St(t,r,(e=Ot(e.g))===0?void 0:e),!0)}),G1,bu),$t=wt((function(e,t,r){return e.i===0&&(St(t,r,pu(e.g)),!0)}),q1,B1),Ji=wt((function(e,t,r){return e.i===0&&(St(t,r,(e=pu(e.g))===!1?void 0:e),!0)}),q1,B1),ar=kc((function(e,t,r){return e.i===2&&(e=fu(e),es(t,0|t[se],r,!1).push(e),!0)}),(function(e,t,r){if((t=Sc(Sn,t))!=null)for(let s=0;s<t.length;s++){var n=e,i=r,o=t[s];o!=null&&bc(n,i,K0(o))}}),yu),_n=wt((function(e,t,r){return e.i===2&&(St(t,r,(e=fu(e))===""?void 0:e),!0)}),K1,yu),Ze=wt((function(e,t,r){return e.i===2&&(St(t,r,fu(e)),!0)}),K1,yu),cr=(function(e,t,r=gu){return new ro(e,t,r)})((function(e,t,r,n,i){return e.i===2&&(n=qo(void 0,n,!0),es(t,0|t[se],r,!0).push(n),fc(e,n,i),!0)}),(function(e,t,r,n,i){if(Array.isArray(t))for(let o=0;o<t.length;o++)X1(e,t[o],r,n,i)})),pt=vu((function(e,t,r,n,i,o){return e.i===2&&(w1(t,0|t[se],o,r),fc(e,t=cu(t,n,r),i),!0)}),X1),Z1=wt((function(e,t,r){return e.i===2&&(St(t,r,R1(e)),!0)}),J1,F1),o3=wt((function(e,t,r){return e.i===0&&(St(t,r,(e=Ot(e.g)>>>0)===0?void 0:e),!0)}),(function(e,t,r){t=(function(n){if(n==null)return n;if(typeof n=="string"&&n)n=+n;else if(typeof n!="number")return;return uc(n)?n>>>0:void 0})(t),t!=null&&t!=null&&(kr(e,r,0),ts(e.g,t))}),xr()),Xn=wt((function(e,t,r){return e.i===0&&(St(t,r,Ot(e.g)),!0)}),(function(e,t,r){(t=Kn(t))!=null&&(t=parseInt(t,10),kr(e,r,0),mc(e.g,t))}),L1),ic=class{constructor(t,r){this.i=t,this.g=r,this.j=Sr,this.defaultValue=void 0}};function Q1(e,t){return(r,n)=>{if(Ka.length){let o=Ka.pop();o.o(n),Dd(o.g,r,n),r=o}else r=new class{constructor(o,s){if(E0.length){let a=E0.pop();Dd(a,o,s),o=a}else o=new class{constructor(a,c){this.i=null,this.m=!1,this.g=this.j=this.s=0,Dd(this,a,c)}clear(){this.i=null,this.m=!1,this.g=this.j=this.s=0,this.C=!1}}(o,s);this.g=o,this.j=this.g.g,this.i=this.m=-1,this.o(s)}o({G:o=!1}={}){this.G=o}}(r,n);try{let o=new e,s=o.l;ku(t)(s,r);var i=o}finally{r.g.clear(),r.m=-1,r.i=-1,Ka.length<100&&Ka.push(r)}return i}}var P0=[0,_n,wt((function(e,t,r){return e.i===2&&(St(t,r,(e=R1(e))===Zi()?void 0:e),!0)}),(function(e,t,r){if(t!=null){if(t instanceof Me){let n=t.R;return void(n&&(t=n(t),t!=null&&bc(e,r,du(t).buffer)))}if(Array.isArray(t))return}J1(e,t,r)}),F1)],Od,D0=globalThis.trustedTypes;function B0(e){Od===void 0&&(Od=(function(){let r=null;if(!D0)return r;try{let n=i=>i;r=D0.createPolicy("goog#html",{createHTML:n,createScript:n,createScriptURL:n})}catch{}return r})());var t=Od;return new class{constructor(r){this.g=r}toString(){return this.g+""}}(t?t.createScriptURL(e):e)}function s3(e,...t){if(t.length===0)return B0(e[0]);let r=e[0];for(let n=0;n<t.length;n++)r+=encodeURIComponent(t[n])+e[n+1];return B0(r)}var e2=[0,xn,Xn,$t,-1,xu,Xn,-1],a3=class extends Me{constructor(e){super(e)}},t2=[0,$t,Ze,$t,Xn,-1,kc((function(e,t,r){return(e.i===0||e.i===2)&&(t=es(t,0|t[se],r,!1,!1),e.i==2?mu(e,X_,t):t.push(Ot(e.g)),!0)}),(function(e,t,r){if((t=Sc(Kn,t))!=null&&t.length){r=gc(e,r);for(let n=0;n<t.length;n++)mc(e.g,t[n]);yc(e,r)}}),L1),Ze,-1,[0,$t,-1],Xn,$t,-1],r2=[0,Ze,-2],O0=class extends Me{constructor(e){super(e)}},n2=[0],i2=[0,xn,$t,1,$t,-3],o2=class extends Me{constructor(e){super(e,2)}},xc={};xc[336783863]=[0,Ze,$t,-1,xn,[0,[1,2,3,4,5,6,7,8],pt,n2,pt,t2,pt,r2,pt,i2,pt,e2,pt,[0,Ze,-2],pt,[0,Ze,Xn],pt,[0,Xn,Ze]],[0,Ze],$t,[0,[1,3],[2,4],pt,[0,xu],-1,pt,[0,ar],-1,cr,[0,Ze,-1]],Ze];var U0,F0=[0,Bd,-1,Ji,-3,Bd,xu,_n,Gi,Bd,-1,Ji,Gi,Ji,-2,_n],Eu=class extends Me{constructor(e){super(e,500)}o(e){return Sr(this,0,7,e)}},Ko=[-1,{}],L0=[0,Ze,1,Ko],M0=[0,Ze,ar,Ko],Cu=class extends Me{constructor(e){super(e,500)}o(e){return Sr(this,0,1001,e)}};Cu.prototype.g=(U0=[-500,cr,[-500,_n,-1,ar,-3,[-2,xc,$t],cr,P0,Gi,-1,L0,M0,cr,[0,_n,Ji],_n,F0,Gi,ar,987,ar],4,cr,[-500,Ze,-1,[-1,{}],998,Ze],cr,[-500,Ze,ar,-1,[-2,{},$t],997,ar,-1],Gi,cr,[-500,Ze,ar,Ko,998,ar],ar,Gi,L0,M0,cr,[0,_n,-1,Ko],ar,-2,F0,_n,-1,Ji,[0,Ji,o3],978,Ko,cr,P0],function(){let e=new class{constructor(){this.j=[],this.i=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){let o=this.g;return this.g=[],o}}}};W1(this.l,e,Zn(vc,_c,wc,U0)),to(e,e.g.end());let t=new Uint8Array(e.i),r=e.j,n=r.length,i=0;for(let o=0;o<n;o++){let s=r[o];t.set(s,i),i+=s.length}return e.j=[t],t});var c3=class extends Me{constructor(e){super(e)}},l3=class extends Me{constructor(e){super(e)}g(){return lu(this,c3)}},h3=[0,cr,[0,xn,Y1,Ze,-1]],N0=class extends Me{constructor(e){super(e)}},z0=class extends Me{constructor(e){super(e)}},s2=[1,2,3,4,5],oc=class extends Me{constructor(e){super(e)}g(){return b1(this)!=null}i(){return Sn(_r(this,2))!=null}},sc=class extends Me{constructor(e){super(e)}},a2=class extends Me{constructor(e){super(e)}},c2=[0,[0,Z1,Ze,[0,xn,nc,-1],[0,i3,nc]],$t,[0,s2,pt,i2,pt,t2,pt,e2,pt,n2,pt,r2],Xn],d3=new ic(451755788,a2);xc[451755788]=[0,c2,[0,Ze,xn,Y1,ar,-1],r3];var j0=class extends Me{constructor(e){super(e)}},l2=class extends Me{constructor(e){super(e)}},u3=new ic(487277289,l2);xc[487277289]=[0,c2,[0,$t,-1]];var p3=class extends Me{constructor(e){super(e)}},f3=Q1(class extends Me{constructor(e){super(e)}},[0,cr,[0,1,xn,Ze,h3],nc]),V0=class extends Me{constructor(e){super(e)}},m3=class extends Me{constructor(e){super(e)}J(){let e=b1(this);return e??Zi()}},g3=class extends Me{constructor(e){super(e)}},h2=[1,2],H0=Q1(class extends Me{constructor(e){super(e)}},[0,cr,[0,h2,pt,[0,n3],pt,[0,Z1],xn,Ze],nc]);function y3(){var e=navigator;return typeof OffscreenCanvas<"u"&&(!(function(t=navigator){return(t=t.userAgent).includes("Safari")&&!t.includes("Chrome")})(e)||!!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}async function W0(e){if(typeof importScripts!="function"){let t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise(((r,n)=>{t.addEventListener("load",(()=>{r()}),!1),t.addEventListener("error",(i=>{n(i)}),!1),document.body.appendChild(t)}))}importScripts(e.toString())}function ie(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.h.stringToNewUTF8(t)),e.h._free(t)}function $0(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");let n=new Uint32Array(t.length);for(let i=0;i<t.length;i++)n[i]=e.h.stringToNewUTF8(t[i]);t=e.h._malloc(4*n.length),e.h.HEAPU32.set(n,t>>2),r(t);for(let i of n)e.h._free(i);e.h._free(t)}function yn(e,t,r){e.h.simpleListeners=e.h.simpleListeners||{},e.h.simpleListeners[t]=r}function $n(e,t,r){let n=[];e.h.simpleListeners=e.h.simpleListeners||{},e.h.simpleListeners[t]=(i,o,s)=>{o?(r(n,s),n=[]):n.push(i)}}var b3=(function(e){return class extends e{N(){this.h._registerModelResourcesGraphService()}}})(class{constructor(e,t){this.j=!0,this.h=e,this.g=null,this.i=0,this.m=typeof this.h._addIntToInputStream=="function",t!==void 0?this.h.canvas=t:y3()?this.h.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.h.canvas=document.createElement("canvas"))}async initializeGraph(e){let t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph(new TextEncoder().encode(e),!1)}setGraph(e,t){let r=e.length,n=this.h._malloc(r);this.h.HEAPU8.set(e,n),t?this.h._changeBinaryGraph(r,n):this.h._changeTextGraph(r,n),this.h._free(n)}configureAudio(e,t,r,n,i){this.h._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),ie(this,n||"input_audio",(o=>{ie(this,i=i||"audio_header",(s=>{this.h._configureAudio(o,s,e,t??0,r)}))}))}setAutoResizeCanvas(e){this.j=e}setAutoRenderToScreen(e){this.h._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.h.gpuOriginForWebTexturesIsBottomLeft=e}attachErrorListener(e){this.h.errorListener=e}attachEmptyPacketListener(e,t){this.h.emptyPacketListeners=this.h.emptyPacketListeners||{},this.h.emptyPacketListeners[e]=t}addAudioToStream(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}addAudioToStreamWithShape(e,t,r,n,i){let o=4*e.length;this.i!==o&&(this.g&&this.h._free(this.g),this.g=this.h._malloc(o),this.i=o),this.h.HEAPF32.set(e,this.g/4),ie(this,n,(s=>{this.h._addAudioToInputStream(this.g,t,r,s,i)}))}addGpuBufferToStream(e,t,r){ie(this,t,(n=>{if(!this.h.canvas)throw Error("No OpenGL canvas configured.");n?this.h._bindTextureToStream(n):this.h._bindTextureToCanvas();let i=this.h.canvas.getContext("webgl2")||this.h.canvas.getContext("webgl");if(!i)throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");this.h.gpuOriginForWebTexturesIsBottomLeft&&i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,e),this.h.gpuOriginForWebTexturesIsBottomLeft&&i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1);let[o,s]=e.videoWidth!==void 0?[e.videoWidth,e.videoHeight]:e.naturalWidth!==void 0?[e.naturalWidth,e.naturalHeight]:e.displayWidth!==void 0?[e.displayWidth,e.displayHeight]:[e.width,e.height];!this.j||o===this.h.canvas.width&&s===this.h.canvas.height||(this.h.canvas.width=o,this.h.canvas.height=s);let[a,c]=[o,s];this.h._addBoundTextureToStream(n,a,c,r)}))}addBoolToStream(e,t,r){ie(this,t,(n=>{this.h._addBoolToInputStream(e,n,r)}))}addDoubleToStream(e,t,r){ie(this,t,(n=>{this.h._addDoubleToInputStream(e,n,r)}))}addFloatToStream(e,t,r){ie(this,t,(n=>{this.h._addFloatToInputStream(e,n,r)}))}addIntToStream(e,t,r){ie(this,t,(n=>{this.h._addIntToInputStream(e,n,r)}))}addUintToStream(e,t,r){ie(this,t,(n=>{this.h._addUintToInputStream(e,n,r)}))}addStringToStream(e,t,r){ie(this,t,(n=>{ie(this,e,(i=>{this.h._addStringToInputStream(i,n,r)}))}))}addStringRecordToStream(e,t,r){ie(this,t,(n=>{$0(this,Object.keys(e),(i=>{$0(this,Object.values(e),(o=>{this.h._addFlatHashMapToInputStream(i,o,Object.keys(e).length,n,r)}))}))}))}addProtoToStream(e,t,r,n){ie(this,r,(i=>{ie(this,t,(o=>{let s=this.h._malloc(e.length);this.h.HEAPU8.set(e,s),this.h._addProtoToInputStream(s,e.length,o,i,n),this.h._free(s)}))}))}addEmptyPacketToStream(e,t){ie(this,e,(r=>{this.h._addEmptyPacketToInputStream(r,t)}))}addBoolVectorToStream(e,t,r){ie(this,t,(n=>{let i=this.h._allocateBoolVector(e.length);if(!i)throw Error("Unable to allocate new bool vector on heap.");for(let o of e)this.h._addBoolVectorEntry(i,o);this.h._addBoolVectorToInputStream(i,n,r)}))}addDoubleVectorToStream(e,t,r){ie(this,t,(n=>{let i=this.h._allocateDoubleVector(e.length);if(!i)throw Error("Unable to allocate new double vector on heap.");for(let o of e)this.h._addDoubleVectorEntry(i,o);this.h._addDoubleVectorToInputStream(i,n,r)}))}addFloatVectorToStream(e,t,r){ie(this,t,(n=>{let i=this.h._allocateFloatVector(e.length);if(!i)throw Error("Unable to allocate new float vector on heap.");for(let o of e)this.h._addFloatVectorEntry(i,o);this.h._addFloatVectorToInputStream(i,n,r)}))}addIntVectorToStream(e,t,r){ie(this,t,(n=>{let i=this.h._allocateIntVector(e.length);if(!i)throw Error("Unable to allocate new int vector on heap.");for(let o of e)this.h._addIntVectorEntry(i,o);this.h._addIntVectorToInputStream(i,n,r)}))}addUintVectorToStream(e,t,r){ie(this,t,(n=>{let i=this.h._allocateUintVector(e.length);if(!i)throw Error("Unable to allocate new unsigned int vector on heap.");for(let o of e)this.h._addUintVectorEntry(i,o);this.h._addUintVectorToInputStream(i,n,r)}))}addStringVectorToStream(e,t,r){ie(this,t,(n=>{let i=this.h._allocateStringVector(e.length);if(!i)throw Error("Unable to allocate new string vector on heap.");for(let o of e)ie(this,o,(s=>{this.h._addStringVectorEntry(i,s)}));this.h._addStringVectorToInputStream(i,n,r)}))}addBoolToInputSidePacket(e,t){ie(this,t,(r=>{this.h._addBoolToInputSidePacket(e,r)}))}addDoubleToInputSidePacket(e,t){ie(this,t,(r=>{this.h._addDoubleToInputSidePacket(e,r)}))}addFloatToInputSidePacket(e,t){ie(this,t,(r=>{this.h._addFloatToInputSidePacket(e,r)}))}addIntToInputSidePacket(e,t){ie(this,t,(r=>{this.h._addIntToInputSidePacket(e,r)}))}addUintToInputSidePacket(e,t){ie(this,t,(r=>{this.h._addUintToInputSidePacket(e,r)}))}addStringToInputSidePacket(e,t){ie(this,t,(r=>{ie(this,e,(n=>{this.h._addStringToInputSidePacket(n,r)}))}))}addProtoToInputSidePacket(e,t,r){ie(this,r,(n=>{ie(this,t,(i=>{let o=this.h._malloc(e.length);this.h.HEAPU8.set(e,o),this.h._addProtoToInputSidePacket(o,e.length,i,n),this.h._free(o)}))}))}addBoolVectorToInputSidePacket(e,t){ie(this,t,(r=>{let n=this.h._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(let i of e)this.h._addBoolVectorEntry(n,i);this.h._addBoolVectorToInputSidePacket(n,r)}))}addDoubleVectorToInputSidePacket(e,t){ie(this,t,(r=>{let n=this.h._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(let i of e)this.h._addDoubleVectorEntry(n,i);this.h._addDoubleVectorToInputSidePacket(n,r)}))}addFloatVectorToInputSidePacket(e,t){ie(this,t,(r=>{let n=this.h._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(let i of e)this.h._addFloatVectorEntry(n,i);this.h._addFloatVectorToInputSidePacket(n,r)}))}addIntVectorToInputSidePacket(e,t){ie(this,t,(r=>{let n=this.h._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(let i of e)this.h._addIntVectorEntry(n,i);this.h._addIntVectorToInputSidePacket(n,r)}))}addUintVectorToInputSidePacket(e,t){ie(this,t,(r=>{let n=this.h._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(let i of e)this.h._addUintVectorEntry(n,i);this.h._addUintVectorToInputSidePacket(n,r)}))}addStringVectorToInputSidePacket(e,t){ie(this,t,(r=>{let n=this.h._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(let i of e)ie(this,i,(o=>{this.h._addStringVectorEntry(n,o)}));this.h._addStringVectorToInputSidePacket(n,r)}))}attachBoolListener(e,t){yn(this,e,t),ie(this,e,(r=>{this.h._attachBoolListener(r)}))}attachBoolVectorListener(e,t){$n(this,e,t),ie(this,e,(r=>{this.h._attachBoolVectorListener(r)}))}attachIntListener(e,t){yn(this,e,t),ie(this,e,(r=>{this.h._attachIntListener(r)}))}attachIntVectorListener(e,t){$n(this,e,t),ie(this,e,(r=>{this.h._attachIntVectorListener(r)}))}attachUintListener(e,t){yn(this,e,t),ie(this,e,(r=>{this.h._attachUintListener(r)}))}attachUintVectorListener(e,t){$n(this,e,t),ie(this,e,(r=>{this.h._attachUintVectorListener(r)}))}attachDoubleListener(e,t){yn(this,e,t),ie(this,e,(r=>{this.h._attachDoubleListener(r)}))}attachDoubleVectorListener(e,t){$n(this,e,t),ie(this,e,(r=>{this.h._attachDoubleVectorListener(r)}))}attachFloatListener(e,t){yn(this,e,t),ie(this,e,(r=>{this.h._attachFloatListener(r)}))}attachFloatVectorListener(e,t){$n(this,e,t),ie(this,e,(r=>{this.h._attachFloatVectorListener(r)}))}attachStringListener(e,t){yn(this,e,t),ie(this,e,(r=>{this.h._attachStringListener(r)}))}attachStringVectorListener(e,t){$n(this,e,t),ie(this,e,(r=>{this.h._attachStringVectorListener(r)}))}attachProtoListener(e,t,r){yn(this,e,t),ie(this,e,(n=>{this.h._attachProtoListener(n,r||!1)}))}attachProtoVectorListener(e,t,r){$n(this,e,t),ie(this,e,(n=>{this.h._attachProtoVectorListener(n,r||!1)}))}attachAudioListener(e,t,r){this.h._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),yn(this,e,((n,i)=>{n=new Float32Array(n.buffer,n.byteOffset,n.length/4),t(n,i)})),ie(this,e,(n=>{this.h._attachAudioListener(n,r||!1)}))}finishProcessing(){this.h._waitUntilIdle()}closeGraph(){this.h._closeGraph(),this.h.simpleListeners=void 0,this.h.emptyPacketListeners=void 0}}),d2=class extends b3{};async function v3(e,t,r){return e=await(async(n,i,o,s)=>{if(i&&await W0(i),!self.ModuleFactory||o&&(await W0(o),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&s&&((i=self.Module).locateFile=s.locateFile,s.mainScriptUrlOrBlob&&(i.mainScriptUrlOrBlob=s.mainScriptUrlOrBlob)),s=await self.ModuleFactory(self.Module||s),self.ModuleFactory=self.Module=void 0,new n(s,null)})(e,t.wasmLoaderPath,t.assetLoaderPath,{locateFile:n=>n.endsWith(".wasm")?t.wasmBinaryPath.toString():t.assetBinaryPath&&n.endsWith(".data")?t.assetBinaryPath.toString():n}),await e.o(r),e}async function u2(e,t,r){return v3(e,t,r)}function Ud(e,t){let r=wr(e.baseOptions,oc,1)||new oc;typeof t=="string"?(ft(r,2,tc(t)),ft(r,1)):t instanceof Uint8Array&&(ft(r,1,i1(t,!1)),ft(r,2)),Sr(e.baseOptions,0,1,r)}function p2(e,t){let r=t.baseOptions||{};if(t.baseOptions?.modelAssetBuffer&&t.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(wr(e.baseOptions,oc,1)?.g()||wr(e.baseOptions,oc,1)?.i()||t.baseOptions?.modelAssetBuffer||t.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if((function(n,i){let o=wr(n.baseOptions,z0,3);if(!o){var s=o=new z0;Pd(s,4,new O0)}"delegate"in i&&(i.delegate==="GPU"?Pd(i=o,2,s=new a3):Pd(i=o,4,s=new O0)),Sr(n.baseOptions,0,3,o)})(e,r),r.modelAssetPath)return fetch(r.modelAssetPath.toString()).then((n=>{if(n.ok)return n.arrayBuffer();throw Error(`Failed to fetch model: ${r.modelAssetPath} (${n.status})`)})).then((n=>{try{e.g.h.FS_unlink("/model.dat")}catch{}e.g.h.FS_createDataFile("/","model.dat",new Uint8Array(n),!0,!1,!1),Ud(e,"/model.dat"),e.v()}));if(r.modelAssetBuffer instanceof Uint8Array)Ud(e,r.modelAssetBuffer);else if(r.modelAssetBuffer)return(async function(n){let i=[];for(var o=0;;){let{done:s,value:a}=await n.read();if(s)break;i.push(a),o+=a.length}if(i.length===0)return new Uint8Array(0);if(i.length===1)return i[0];n=new Uint8Array(o),o=0;for(let s of i)n.set(s,o),o+=s.length;return n})(r.modelAssetBuffer).then((n=>{Ud(e,n),e.v()}));return e.v(),Promise.resolve()}function G0(e){try{let t=e.j.length;if(t===1)throw Error(e.j[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.j.map((r=>r.message)).join(", "))}finally{e.j=[]}}function qi(e,t){e.s=Math.max(e.s,t)}var Ya=class{constructor(e){this.g=e,this.j=[],this.s=0,this.g.setAutoRenderToScreen(!1)}setGraph(e,t){this.g.attachErrorListener(((r,n)=>{this.j.push(Error(n))})),this.g.N(),this.g.setGraph(e,t),G0(this)}finishProcessing(){this.g.finishProcessing(),G0(this)}close(){this.g.closeGraph()}};async function Xo(e,t,r){return u2(e,t,r)}Ya.prototype.close=Ya.prototype.close,(function(e,t){e=e.split(".");var r,n=qn;for((e[0]in n)||n.execScript===void 0||n.execScript("var "+e[0]);e.length&&(r=e.shift());)e.length||t===void 0?n=n[r]&&n[r]!==Object.prototype[r]?n[r]:n[r]={}:n[r]=t})("TaskRunner",Ya);var ac=class extends Ya{constructor(){super(...arguments),this.F=48e3}O(e){this.F=e}};function _3(e){let t={classifications:lu(e,p3).map((r=>(function(n,i=-1,o=""){return{categories:n.map((s=>{var a=Kn(_r(s,1))??0??-1;let c=s.l,l=0|c[se],h=Yn(c,l,2),d=Qo(h);return d!=null&&d!==h&&lt(c,l,2,d),{index:a,score:d??0??0,categoryName:Sn(_r(s,3))??""??"",displayName:Sn(_r(s,4))??""??""}})),headIndex:i,headName:o}})(wr(r,l3,4)?.g()??[],Kn(_r(r,2))??0,Sn(_r(r,3))??"")))};return Nd(_r(e,2))!=null&&(t.timestampMs=Nd(_r(e,2))??0),t}ac.prototype.setDefaultSampleRate=ac.prototype.O;var sr=class extends ac{constructor(e,t){super(new d2(e,t)),this.m=[],Sr(e=this.i=new a2,0,1,t=new sc)}get baseOptions(){return wr(this.i,sc,1)}set baseOptions(e){Sr(this.i,0,1,e)}o(e){var t=this.i,r=wr(this.i,N0,2);if(r=r?y1(r):new N0,e.displayNamesLocale!==void 0?ft(r,1,tc(e.displayNamesLocale)):e.displayNamesLocale===void 0&&ft(r,1),e.maxResults!==void 0){var n=e.maxResults;if(n!=null){if(typeof n!="number"||!uc(n))throw g0();n|=0}ft(r,2,n)}else"maxResults"in e&&ft(r,2);if(e.scoreThreshold!==void 0){if((n=e.scoreThreshold)!=null&&typeof n!="number")throw Error(`Value of float/double field must be a number, found ${typeof n}: ${n}`);ft(r,3,n)}else"scoreThreshold"in e&&ft(r,3);return e.categoryAllowlist!==void 0?x0(r,4,e.categoryAllowlist):"categoryAllowlist"in e&&ft(r,4),e.categoryDenylist!==void 0?x0(r,5,e.categoryDenylist):"categoryDenylist"in e&&ft(r,5),Sr(t,0,2,r),p2(this,e)}K(e,t){return this.D(e,t??this.F,this.s+1)}D(e,t,r){return this.g.addDoubleToStream(t,"sample_rate",r),this.g.addAudioToStreamWithShape(e,1,e.length,"audio_in",r),this.m=[],this.finishProcessing(),[...this.m]}v(){var e=new Cu;Bt(e,10,"audio_in"),Bt(e,10,"sample_rate"),Bt(e,15,"timestamped_classifications");let t=new o2;P1(t,d3,this.i);let r=new Eu;_1(r,tc("mediapipe.tasks.audio.audio_classifier.AudioClassifierGraph")),Bt(r,3,"AUDIO:audio_in"),Bt(r,3,"SAMPLE_RATE:sample_rate"),Bt(r,4,"TIMESTAMPED_CLASSIFICATIONS:timestamped_classifications"),r.o(t),x1(e,r),this.g.attachProtoVectorListener("timestamped_classifications",((n,i)=>{(function(o,s){s.forEach((a=>{a=f3(a),o.m.push(_3(a))}))})(this,n),qi(this,i)})),this.g.attachEmptyPacketListener("timestamped_classifications",(n=>{qi(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function q0(e){return{embeddings:lu(e,g3).map((t=>{let r={headIndex:Kn(_r(t,3))??0??-1,headName:Sn(_r(t,4))??""??""};if(S1(t,V0,Rd(t,1))!==void 0)r.floatEmbedding=v1(wr(t,V0,Rd(t,1)),1,Qo,o1===void 0?2:4).slice();else{let n=new Uint8Array(0);r.quantizedEmbedding=wr(t,m3,Rd(t,2))?.J()?.i()??n}return r})),timestampMs:Nd(_r(e,2))??0}}sr.prototype.classify=sr.prototype.K,sr.prototype.setOptions=sr.prototype.o,sr.createFromModelPath=function(e,t){return u2(sr,e,{baseOptions:{modelAssetPath:t}})},sr.createFromModelBuffer=function(e,t){return Xo(sr,e,{baseOptions:{modelAssetBuffer:t}})},sr.createFromOptions=function(e,t){return Xo(sr,e,t)};var Lr=class extends ac{constructor(e,t){super(new d2(e,t)),this.m=[],Sr(e=this.i=new l2,0,1,t=new sc)}get baseOptions(){return wr(this.i,sc,1)}set baseOptions(e){Sr(this.i,0,1,e)}o(e){var t=this.i,r=wr(this.i,j0,2);return r=r?y1(r):new j0,e.l2Normalize!==void 0?ft(r,1,S0(e.l2Normalize)):"l2Normalize"in e&&ft(r,1),e.quantize!==void 0?ft(r,2,S0(e.quantize)):"quantize"in e&&ft(r,2),Sr(t,0,2,r),p2(this,e)}L(e,t){return this.D(e,t??this.F,this.s+1)}D(e,t,r){return this.g.addDoubleToStream(t,"sample_rate",r),this.g.addAudioToStreamWithShape(e,1,e.length,"audio_in",r),this.m=[],this.finishProcessing(),this.m}v(){var e=new Cu;Bt(e,10,"audio_in"),Bt(e,10,"sample_rate"),Bt(e,15,"embeddings_out"),Bt(e,15,"timestamped_embeddings_out");let t=new o2;P1(t,u3,this.i);let r=new Eu;_1(r,tc("mediapipe.tasks.audio.audio_embedder.AudioEmbedderGraph")),Bt(r,3,"AUDIO:audio_in"),Bt(r,3,"SAMPLE_RATE:sample_rate"),Bt(r,4,"EMBEDDINGS:embeddings_out"),Bt(r,4,"TIMESTAMPED_EMBEDDINGS:timestamped_embeddings_out"),r.o(t),x1(e,r),this.g.attachProtoListener("embeddings_out",((n,i)=>{n=H0(n),this.m.push(q0(n)),qi(this,i)})),this.g.attachEmptyPacketListener("embeddings_out",(n=>{qi(this,n)})),this.g.attachProtoVectorListener("timestamped_embeddings_out",((n,i)=>{for(let o of n)n=H0(o),this.m.push(q0(n));qi(this,i)})),this.g.attachEmptyPacketListener("timestamped_embeddings_out",(n=>{qi(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}},Xa;Lr.prototype.embed=Lr.prototype.L,Lr.prototype.setOptions=Lr.prototype.o,Lr.createFromModelPath=function(e,t){return Xo(Lr,e,{baseOptions:{modelAssetPath:t}})},Lr.createFromModelBuffer=function(e,t){return Xo(Lr,e,{baseOptions:{modelAssetBuffer:t}})},Lr.createFromOptions=function(e,t){return Xo(Lr,e,t)};var w3=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function f2(){if(Xa===void 0)try{await WebAssembly.instantiate(w3),Xa=!0}catch{Xa=!1}return Xa}async function Wo(e,t=s3``){let r=await f2()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var bn=class{};bn.forVisionTasks=function(e){return Wo("vision",e)},bn.forTextTasks=function(e){return Wo("text",e)},bn.forGenAiExperimentalTasks=function(e){return Wo("genai_experimental",e)},bn.forGenAiTasks=function(e){return Wo("genai",e)},bn.forAudioTasks=function(e){return Wo("audio",e)},bn.isSimdSupported=function(){return f2()};function S3(e,t){let r=e.reduce((a,c)=>a+c.length,0),n=new ArrayBuffer(44+r*2),i=new DataView(n),o=(a,c,l)=>{for(let h=0;h<l.length;h++)a.setUint8(c+h,l.charCodeAt(h))};o(i,0,"RIFF"),i.setUint32(4,36+r*2,!0),o(i,8,"WAVE"),o(i,12,"fmt "),i.setUint32(16,16,!0),i.setUint16(20,1,!0),i.setUint16(22,1,!0),i.setUint32(24,t,!0),i.setUint32(28,t*2,!0),i.setUint16(32,2,!0),i.setUint16(34,16,!0),o(i,36,"data"),i.setUint32(40,r*2,!0);let s=44;for(let a of e)for(let c=0;c<a.length;c++){let l=Math.max(-1,Math.min(1,a[c]));i.setInt16(s,l<0?l*32768:l*32767,!0),s+=2}return new Blob([i],{type:"audio/wav"})}var Ec=class{constructor(t,r,n,i,o,s,a){this.recordingInProgress=!1;this.recordIndex=1;this.countLoopTimes=0;this.recordingStartTime=0;this.recordingEndTime=0;this.isSpeech=!1;this.preRollBuffer=[];this.recordingChunks=[];this.PRE_ROLL_SECONDS=2;this.SAMPLE_RATE=16e3;this.MAX_PRE_ROLL_CHUNKS=4;this.lastNoiseTime=0;this.SILENCE_THRESHOLD=3e3;this.filesToUpload=[];this.optionsProctoring=t,this.proctoringSession=r,this.paramsConfig=n,this.cameraRecorder=i,this.onRealtimeAlertsCallback=o,this.backend=s,this.backendToken=a}setProctoringId(t){this.proctoringId=t,this.proctoringId&&this.backend&&(this.upload=new Yr(this.proctoringId,this.backend))}async startRecording(){await this.createAudioClassifier(),this.intervalNoiseDetection=setInterval(()=>this.onNoiseDetectedRecord(),200),this.streamingAudioClassification()}async stopRecording(){clearInterval(this.intervalNoiseDetection),await this.stopSoundRecord(),await this.volumeMeter&&this.volumeMeter.stop(),this.audioWorkletNode&&this.audioWorkletNode.disconnect(),this.context&&this.context.close()}async pauseRecording(){}async resumeRecording(){}async saveOnSession(t){}async onNoiseDetectedRecord(){!this.volumeMeter&&this.cameraRecorder.cameraStream&&(this.volumeMeter=new gn(this.cameraRecorder.cameraStream),this.volumeMeter.start().catch(i=>{console.log(i),this.volumeMeter=void 0}));let t=this.paramsConfig.audioBehaviourParameters?.noiseLimit||40,r=this.volumeMeter?.getVolume()||0;this.isSpeech=this.isSpeech||this.hasDesiredResult(this.audioClassificationResult),!this.isSpeech&&!this.recordingInProgress&&(t=t*1.25);let n=r>=t;if(n&&(this.lastNoiseTime=Date.now()),n&&!this.recordingInProgress){this.recordingInProgress=!0,this.recordingChunks=[...this.preRollBuffer];let o=this.preRollBuffer.reduce((a,c)=>a+c.length,0)/this.SAMPLE_RATE*1e3,s=Date.now()-(this.cameraRecorder.getStartTime()?.getTime()||0);this.recordingStartTime=s-o,this.recordingStartTime<0&&(this.recordingStartTime=0)}else if(this.recordingInProgress){let i=Date.now()-this.lastNoiseTime,o=Date.now()-this.recordingStartTime;i>=this.SILENCE_THRESHOLD&&o>=3e3&&this.countLoopTimes>4&&(await this.stopSoundRecord(),this.paramsConfig.videoBehaviourParameters?.detectNoise&&!this.isSpeech&&this.onRealtimeAlertsCallback({begin:Date.now()-(this.cameraRecorder.getStartTime()?.getTime()||0),end:Date.now()-(this.cameraRecorder.getStartTime()?.getTime()||0),status:"ALERT",description:"Barulho detectado",type:"audio_detection_on_stream"}),this.paramsConfig.videoBehaviourParameters?.detectSpeech&&this.isSpeech&&this.onRealtimeAlertsCallback({begin:Date.now()-(this.cameraRecorder.getStartTime()?.getTime()||0),end:Date.now()-(this.cameraRecorder.getStartTime()?.getTime()||0),status:"ALERT",description:"Fala detectada",type:"audio_detection_on_stream"}),this.recordingInProgress=!1,this.recordIndex++,this.countLoopTimes=0,this.isSpeech=!1),this.countLoopTimes++}}async stopSoundRecord(){if(!this.recordingInProgress&&this.recordingChunks.length===0||(this.recordingEndTime=Date.now()-(this.cameraRecorder.getStartTime()?.getTime()||0),this.optionsProctoring.proctoringType!=="REALTIME"))return;let t=S3(this.recordingChunks,this.SAMPLE_RATE),r=new File([t],`EP_${this.proctoringSession.id}_${this.recordingStartTime}_${this.recordingEndTime}_${this.isSpeech?"speech":"noise"}.wav`,{type:"audio/wav"}),n=[...this.filesToUpload];for(let i of n)try{await this.upload?.upload({file:i},this.backendToken),this.filesToUpload.splice(this.filesToUpload.indexOf(i),1)}catch{break}try{r&&this.upload&&this.backendToken&&this.upload.upload({file:r},this.backendToken)}catch(i){console.log("error Noise recorder adicionando na fila",i),this.filesToUpload.push(r)}this.recordingChunks=[],this.recordingInProgress=!1}download(t){let r=URL.createObjectURL(t),n=document.createElement("a");document.body.appendChild(n),n.style.display="none",n.href=r,n.download=t.name,n.click(),window.URL.revokeObjectURL(r)}hasDesiredResult(t){if(t==null)return!1;for(let r of t){let n=r.name.toLowerCase().includes("speech");if(this.optionsProctoring.proctoringType!=="REALTIME")return n;let i=parseFloat(r.score)>.22;if(n&&i)return!0}return!1}async createAudioClassifier(){let t=await bn.forAudioTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-audio@0.10.0/wasm");this.audioClassifier=await sr.createFromOptions(t,{scoreThreshold:.15,maxResults:1,baseOptions:{modelAssetPath:"https://storage.googleapis.com/mediapipe-models/audio_classifier/yamnet/float32/1/yamnet.tflite"}})}async streamingAudioClassification(){this.context=new AudioContext({sampleRate:this.SAMPLE_RATE});try{await this.context.audioWorklet.addModule(URL.createObjectURL(new Blob([k3],{type:"text/javascript"})))}catch{throw new Error("\u274C Error loading audio worklet module")}let t=this.context.createMediaStreamSource(this.cameraRecorder.cameraStream);this.audioWorkletNode=new AudioWorkletNode(this.context,"audio-processor"),this.audioWorkletNode.port.onmessage=r=>{let n=r.data;this.preRollBuffer.push(n),this.preRollBuffer.length>this.MAX_PRE_ROLL_CHUNKS&&this.preRollBuffer.shift(),this.recordingInProgress&&this.recordingChunks.push(n);let o=this.audioClassifier.classify(n)[0].classifications[0].categories;o.length>0&&(this.audioClassificationResult=[{name:o[0].categoryName,score:o[0].score.toFixed(3)}])},t.connect(this.audioWorkletNode),this.audioWorkletNode.connect(this.context.destination)}},k3=`
441
+ Size: ${i.size}`,a),s}}throw new Error("Could not upload")}};var qa=class{constructor(t,r){this.alerts=[];this.lastActivityTime=Date.now();this.IDLE_THRESHOLD_MS=3e4;this.handleVisibilityChange=()=>{document.visibilityState==="visible"?this.handleReturnFocus():this.handleLostFocus()};this.handleLostFocus=()=>{if(this.getRelativeTime()>1e4){let t={begin:this.getRelativeTime(),end:0,alert:25,type:3};this.onLostFocusCallback(t),this.alerts.push(t)}};this.handleReturnFocus=()=>{let t=this.alerts[this.alerts.length-1];t&&(this.onFocusCallback({begin:t.begin,end:this.getRelativeTime(),alert:25,type:3}),t.end=this.getRelativeTime())};this.handleResize=()=>{clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{let t=window.screen.availWidth,r=window.outerWidth;if(r<t*.85){let n=`Split Screen Detectado: Janela ocupa ${(r/t*100).toFixed(0)}% da tela`;this.createAlert(43,3,n),this.onRealtimeAlertCallback&&this.onRealtimeAlertCallback({status:"ALERT",description:n,type:"split_screen"})}},1e3)};this.handleUserActivity=t=>{this.lastActivityTime=Date.now(),console.log("\u{1F449} handleUserActivity",t)};this.handleCopy=t=>{t.preventDefault();let r="Tentativa de Copiar (Clipboard)";this.createAlert(42,3,r),this.onRealtimeAlertCallback&&this.onRealtimeAlertCallback({status:"ALERT",description:r,type:"clipboard_copy"})};this.handleCut=t=>{t.preventDefault();let r="Tentativa de Recortar (Clipboard)";this.createAlert(42,3,r),this.onRealtimeAlertCallback&&this.onRealtimeAlertCallback({status:"ALERT",description:r,type:"clipboard_cut"})};this.handlePaste=t=>{t.preventDefault();let r="Tentativa de Colar (Clipboard)";this.createAlert(42,3,r),this.onRealtimeAlertCallback&&this.onRealtimeAlertCallback({status:"ALERT",description:r,type:"clipboard_paste"})};this.onLostFocusCallback=t.onLostFocusCallback,this.onFocusCallback=t.onFocusCallback,this.onRealtimeAlertCallback=t.onRealtimeAlertCallback,this.optionsProctoring=r}async startRecording(){this.startTime=new Date(Date.now()),this.alerts=[],this.attachListeners()}async pauseRecording(){this.detachListeners()}async resumeRecording(){this.attachListeners()}async stopRecording(){this.detachListeners()}async saveOnSession(t){this.alerts.forEach(r=>{t.addAlert(r)})}attachListeners(){this.optionsProctoring.captureScreen&&(window.addEventListener("visibilitychange",this.handleVisibilityChange),window.addEventListener("resize",this.handleResize),window.document.addEventListener("copy",this.handleCopy),window.document.addEventListener("cut",this.handleCut),window.document.addEventListener("paste",this.handlePaste))}detachListeners(){window.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("resize",this.handleResize),window.document.removeEventListener("copy",this.handleCopy),window.document.removeEventListener("cut",this.handleCut),window.document.removeEventListener("paste",this.handlePaste)}addBackgroundEvent(t,r=200){this.createAlert(r,3,t),this.onRealtimeAlertCallback&&this.onRealtimeAlertCallback({status:"ALERT",description:t,type:"background_event"})}getRelativeTime(){return Date.now()-this.startTime.getTime()}createAlert(t,r,n){this.alerts.push({begin:this.getRelativeTime(),end:this.getRelativeTime(),alert:t,type:r})}addAlert({alert:t,type:r}){this.alerts.push({begin:Date.now()-this.startTime.getTime(),end:Date.now()-this.startTime.getTime(),alert:t,type:r})}};var qn=typeof self<"u"?self:{};function Wn(){throw Error("Invalid UTF8")}function g0(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}var Ka,Id,P_=typeof TextDecoder<"u",D_,B_=typeof TextEncoder<"u";function Q0(e){if(B_)e=(D_||=new TextEncoder).encode(e);else{let r=0,n=new Uint8Array(3*e.length);for(let i=0;i<e.length;i++){var t=e.charCodeAt(i);if(t<128)n[r++]=t;else{if(t<2048)n[r++]=t>>6|192;else{if(t>=55296&&t<=57343){if(t<=56319&&i<e.length){let o=e.charCodeAt(++i);if(o>=56320&&o<=57343){t=1024*(t-55296)+o-56320+65536,n[r++]=t>>18|240,n[r++]=t>>12&63|128,n[r++]=t>>6&63|128,n[r++]=63&t|128;continue}i--}t=65533}n[r++]=t>>12|224,n[r++]=t>>6&63|128}n[r++]=63&t|128}}e=r===n.length?n:n.subarray(0,r)}return e}var qd,tc;e:{for(Rd=["CLOSURE_FLAGS"],Xa=qn,Ja=0;Ja<Rd.length;Ja++)if((Xa=Xa[Rd[Ja]])==null){tc=null;break e}tc=Xa}var Rd,Xa,Ja,Yo,y0=tc&&tc[610401301];qd=y0!=null&&y0;var b0=qn.navigator;function Nd(e){return!!qd&&!!Yo&&Yo.brands.some((({brand:t})=>t&&t.indexOf(e)!=-1))}function lr(e){var t;return(t=qn.navigator)&&(t=t.userAgent)||(t=""),t.indexOf(e)!=-1}function bn(){return!!qd&&!!Yo&&Yo.brands.length>0}function Pd(){return bn()?Nd("Chromium"):(lr("Chrome")||lr("CriOS"))&&!(!bn()&&lr("Edge"))||lr("Silk")}Yo=b0&&b0.userAgentData||null;var O_=!bn()&&(lr("Trident")||lr("MSIE"));!lr("Android")||Pd(),Pd(),lr("Safari")&&(Pd()||!bn()&&lr("Coast")||!bn()&&lr("Opera")||!bn()&&lr("Edge")||(bn()?Nd("Microsoft Edge"):lr("Edg/"))||bn()&&Nd("Opera"));var e1={},Go=null;function U_(e){let t=e.length,r=3*t/4;r%3?r=Math.floor(r):"=.".indexOf(e[t-1])!=-1&&(r="=.".indexOf(e[t-2])!=-1?r-2:r-1);let n=new Uint8Array(r),i=0;return(function(o,s){function a(l){for(;c<o.length;){let h=o.charAt(c++),d=Go[h];if(d!=null)return d;if(!/^[\s\xa0]*$/.test(h))throw Error("Unknown base64 encoding at char: "+h)}return l}t1();let c=0;for(;;){let l=a(-1),h=a(0),d=a(64),g=a(64);if(g===64&&l===-1)break;s(l<<2|h>>4),d!=64&&(s(h<<4&240|d>>2),g!=64&&s(d<<6&192|g))}})(e,(function(o){n[i++]=o})),i!==r?n.subarray(0,i):n}function t1(){if(!Go){Go={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){let n=e.concat(t[r].split(""));e1[r]=n;for(let i=0;i<n.length;i++){let o=n[i];Go[o]===void 0&&(Go[o]=i)}}}}var r1=typeof Uint8Array<"u",n1=!O_&&typeof btoa=="function";function v0(e){if(!n1){var t;t===void 0&&(t=0),t1(),t=e1[t];var r=Array(Math.floor(e.length/3)),n=t[64]||"";let c=0,l=0;for(;c<e.length-2;c+=3){var i=e[c],o=e[c+1],s=e[c+2],a=t[i>>2];i=t[(3&i)<<4|o>>4],o=t[(15&o)<<2|s>>6],s=t[63&s],r[l++]=a+i+o+s}switch(a=0,s=n,e.length-c){case 2:s=t[(15&(a=e[c+1]))<<2]||n;case 1:e=e[c],r[l]=t[e>>2]+t[(3&e)<<4|a>>4]+s+n}return r.join("")}for(t="",r=0,n=e.length-10240;r<n;)t+=String.fromCharCode.apply(null,e.subarray(r,r+=10240));return t+=String.fromCharCode.apply(null,r?e.subarray(r):e),btoa(t)}var _0=/[-_.]/g,F_={"-":"+",_:"/",".":"="};function L_(e){return F_[e]||""}function i1(e){if(!n1)return U_(e);_0.test(e)&&(e=e.replace(_0,L_)),e=atob(e);let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function dc(e){return r1&&e!=null&&e instanceof Uint8Array}var Zi={};function Qi(){return M_||=new _n(null,Zi)}function Kd(e){o1(Zi);var t=e.g;return(t=t==null||dc(t)?t:typeof t=="string"?i1(t):null)==null?t:e.g=t}var _n=class{i(){return new Uint8Array(Kd(this)||0)}constructor(e,t){if(o1(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}},M_,N_;function o1(e){if(e!==Zi)throw Error("illegal external caller")}function s1(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function w0(){let e=Error("int32");return s1(e,"warning"),e}var uc=typeof Symbol=="function"&&typeof Symbol()=="symbol",z_=new Set;function pc(e,t,r=!1,n=!1){return e=typeof Symbol=="function"&&typeof Symbol()=="symbol"?n&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t,r&&z_.add(e),e}var j_=pc("jas",void 0,!0,!0),Dd=pc(void 0,"2ex"),Wo=pc(void 0,"1oa",!0),eo=pc(void 0,Symbol(),!0),se=uc?j_:"M",a1={M:{value:0,configurable:!0,writable:!0,enumerable:!1}},c1=Object.defineProperties;function Xd(e,t){uc||se in e||c1(e,a1),e[se]|=t}function ct(e,t){uc||se in e||c1(e,a1),e[se]=t}function V_(e,t){ct(t,-30975&(0|e))}function zd(e,t){ct(t,-30941&(34|e))}function Jd(){return typeof BigInt=="function"}function hr(e){return Array.prototype.slice.call(e)}var Yd,Qo={},H_={};function S0(e){return!(!e||typeof e!="object"||e.g!==H_)}function Zd(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&e.constructor===Object}function l1(e,t){if(e!=null){if(typeof e=="string")e=e?new _n(e,Zi):Qi();else if(e.constructor!==_n)if(dc(e))e=e.length?new _n(new Uint8Array(e),Zi):Qi();else{if(!t)throw Error();e=void 0}}return e}function rc(e){return!(!Array.isArray(e)||e.length)&&!!(1&(0|e[se]))}var k0=[];function Jn(e){if(2&e)throw Error()}function Qd(e){return eo?e[eo]:void 0}ct(k0,55),Yd=Object.freeze(k0);var h1=Object.freeze({}),eu=typeof qn.BigInt=="function"&&typeof qn.BigInt(0)=="bigint",jd=e=>eu?e>=$_&&e<=q_:e[0]==="-"?E0(e,W_):E0(e,G_),W_=Number.MIN_SAFE_INTEGER.toString(),$_=eu?BigInt(Number.MIN_SAFE_INTEGER):void 0,G_=Number.MAX_SAFE_INTEGER.toString(),q_=eu?BigInt(Number.MAX_SAFE_INTEGER):void 0;function E0(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(let r=0;r<e.length;r++){let n=e[r],i=t[r];if(n>i)return!1;if(n<i)return!0}}var K_=typeof Uint8Array.prototype.slice=="function",d1,De=0,Ge=0;function C0(e){let t=e>>>0;De=t,Ge=(e-t)/4294967296>>>0}function to(e){if(e<0){C0(-e);let[t,r]=nu(De,Ge);De=t>>>0,Ge=r>>>0}else C0(e)}function u1(e){let t=d1||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),Ge=0,De=t.getUint32(0,!0)}function tu(e,t){let r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:Zo(e,t)}function ru(e,t){let r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=tu(e,t))=="number"?r?-e:e:r?"-"+e:e}function Zo(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else Jd()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+x0(r)+x0(e));return r}function x0(e){return e=String(e),"0000000".slice(e.length)+e}function fc(e){if(e.length<16)to(Number(e));else if(Jd())e=BigInt(e),De=Number(e&BigInt(4294967295))>>>0,Ge=Number(e>>BigInt(32)&BigInt(4294967295));else{let t=+(e[0]==="-");Ge=De=0;let r=e.length;for(let n=t,i=(r-t)%6+t;i<=r;n=i,i+=6){let o=Number(e.slice(n,i));Ge*=1e6,De=1e6*De+o,De>=4294967296&&(Ge+=Math.trunc(De/4294967296),Ge>>>=0,De>>>=0)}if(t){let[n,i]=nu(De,Ge);De=n,Ge=i}}}function nu(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}var p1=typeof BigInt=="function"?BigInt.asIntN:void 0,X_=typeof BigInt=="function"?BigInt.asUintN:void 0,qo=Number.isSafeInteger,mc=Number.isFinite,nc=Math.trunc;function es(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function A0(e){if(e!=null&&typeof e!="boolean"){var t=typeof e;throw Error(`Expected boolean but got ${t!="object"?t:e?Array.isArray(e)?"array":t:"null"}: ${e}`)}return e}var J_=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function iu(e){switch(typeof e){case"bigint":return!0;case"number":return mc(e);case"string":return J_.test(e);default:return!1}}function Kn(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return mc(e)?0|e:void 0}function T0(e){if(e[0]==="-")return!1;let t=e.length;return t<20||t===20&&Number(e.substring(0,6))<184467}function f1(e){return e=nc(e),qo(e)||(to(e),e=ru(De,Ge)),e}function m1(e){var t=nc(Number(e));if(qo(t))return String(t);if((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),t=e.length,!(e[0]==="-"?t<20||t===20&&Number(e.substring(0,7))>-922337:t<19||t===19&&Number(e.substring(0,6))<922337))if(fc(e),e=De,2147483648&(t=Ge))if(Jd())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{let[r,n]=nu(e,t);e="-"+Zo(r,n)}else e=Zo(e,t);return e}function Vd(e){return e==null?e:typeof e=="bigint"?(jd(e)?e=Number(e):(e=p1(64,e),e=jd(e)?Number(e):String(e)),e):iu(e)?typeof e=="number"?f1(e):m1(e):void 0}function Y_(e){if(e==null)return e;var t=typeof e;if(t==="bigint")return String(X_(64,e));if(iu(e)){if(t==="string")return t=nc(Number(e)),qo(t)&&t>=0?e=String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),T0(e)||(fc(e),e=Zo(De,Ge))),e;if(t==="number")return(e=nc(e))>=0&&qo(e)?e:(function(r){if(r<0){to(r);var n=Zo(De,Ge);return r=Number(n),qo(r)?r:n}return T0(n=String(r))?n:(to(r),tu(De,Ge))})(e)}}function g1(e){if(typeof e!="string")throw Error();return e}function ic(e){if(e!=null&&typeof e!="string")throw Error();return e}function wn(e){return e==null||typeof e=="string"?e:void 0}function y1(e,t,r){if(e!=null&&typeof e=="object"&&e.B===Qo)return e;if(Array.isArray(e)){var n=0|e[se],i=n;return i===0&&(i|=32&r),(i|=2&r)!==n&&ct(e,i),new t(e)}}function b1(e,t,r,n,i){if(e!=null){if(Array.isArray(e))e=rc(e)?void 0:i&&2&(0|e[se])?e:ou(e,t,r,n!==void 0,i);else if(Zd(e)){let o={};for(let s in e)o[s]=b1(e[s],t,r,n,i);e=o}else e=t(e,n);return e}}function ou(e,t,r,n,i){let o=n||r?0|e[se]:0,s=n?!!(32&o):void 0;n=hr(e);for(let a=0;a<n.length;a++)n[a]=b1(n[a],t,r,s,i);return r&&((e=Qd(e))&&(n[eo]=hr(e)),r(o,n)),n}function Z_(e){return e.B===Qo?e.toJSON():(function(t){switch(typeof t){case"number":return isFinite(t)?t:String(t);case"bigint":return jd(t)?Number(t):String(t);case"boolean":return t?1:0;case"object":if(t)if(Array.isArray(t)){if(rc(t))return}else{if(dc(t))return v0(t);if(t instanceof _n){let r=t.g;return r==null?"":typeof r=="string"?r:t.g=v0(r)}}}return t})(e)}function Q_(e){return ou(e,Z_,void 0,void 0,!1)}var v1,ew;function Ko(e,t,r){return e=_1(e,t[0],t[1],r?1:2),t!==v1&&r&&Xd(e,16384),e}function _1(e,t,r,n){if(e==null){var i=96;r?(e=[r],i|=512):e=[],t&&(i=-33521665&i|(1023&t)<<15)}else{if(!Array.isArray(e))throw Error("narr");if(2048&(i=0|e[se]))throw Error("farr");if(64&i)return e;if(n===1||n===2||(i|=64),r&&(i|=512,r!==e[0]))throw Error("mid");e:{if(n=(r=e).length){let o=n-1;if(Zd(r[o])){if((t=o-(512&(i|=256)?0:-1))>=1024)throw Error("pvtlmt");i=-33521665&i|(1023&t)<<15;break e}}if(t){if((t=Math.max(t,n-(512&i?0:-1)))>1024)throw Error("spvt");i=-33521665&i|(1023&t)<<15}}}return ct(e,i),e}function w1(e,t,r=zd){if(e!=null){if(r1&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){var n=0|e[se];return 2&n?e:(t&&=n===0||!!(32&n)&&!(64&n||!(16&n)),t?(ct(e,-12293&(34|n)),e):ou(e,w1,4&n?zd:r,!0,!0))}return e.B===Qo&&(e=2&(n=0|(r=e.l)[se])?e:new e.constructor(gc(r,n,!0))),e}}function S1(e){let t=e.l;return new e.constructor(gc(t,0|t[se],!1))}function gc(e,t,r){let n=r||2&t?zd:V_,i=!!(32&t);return e=(function(o,s,a){let c=hr(o);var l=c.length;let h=256&s?c[l-1]:void 0;for(l+=h?-1:0,s=512&s?1:0;s<l;s++)c[s]=a(c[s]);if(h){s=c[s]={};for(let d in h)s[d]=a(h[d])}return(o=Qd(o))&&(c[eo]=hr(o)),c})(e,t,(o=>w1(o,i,n))),Xd(e,32|(r?2:0)),e}function su(e){let t=e.l,r=0|t[se];return 2&r?new e.constructor(gc(t,r,!1)):e}function wr(e,t){return Yn(e=e.l,0|e[se],t)}function Yn(e,t,r,n){if(r===-1)return null;var i=r+(512&t?0:-1);let o=e.length-1;return i>=o&&256&t?e[o][r]:n&&256&t&&(t=e[o][r])!=null?(e[i]!=null&&Dd!=null&&((i=(e=N_??={})[Dd]||0)>=4||(e[Dd]=i+1,s1(e=Error(),"incident"),(function(s){qn.setTimeout((()=>{throw s}),0)})(e))),t):i<=o?e[i]:void 0}function ft(e,t,r){let n=e.l,i=0|n[se];return Jn(i),lt(n,i,t,r),e}function lt(e,t,r,n){let i=512&t?0:-1,o=r+i;var s=e.length-1;return o>=s&&256&t?(e[s][r]=n,t):o<=s?(e[o]=n,256&t&&r in(e=e[s])&&delete e[r],t):(n!==void 0&&(r>=(s=t>>15&1023||536870912)?n!=null&&(e[s+i]={[r]:n},ct(e,t|=256)):e[o]=n),t)}function k1(e){let t=0|(e=e.l)[se],r=Yn(e,t,1),n=l1(r,!0);return n!=null&&n!==r&&lt(e,t,1,n),n}function E1(e,t,r,n,i){let o=e.l,s=2&(e=0|o[se])?1:n;i=!!i;let a=0|(n=au(o,e,t))[se];if(!(4&a)){4&a&&(n=hr(n),a=en(a,e),e=lt(o,e,t,n));let c=0,l=0;for(;c<n.length;c++){let h=r(n[c]);h!=null&&(n[l++]=h)}l<c&&(n.length=l),a=cu(a,e),r=-4097&(20|a),a=r&=-8193,ct(n,a),2&a&&Object.freeze(n)}return s===1||s===4&&32&a?Qr(a)||(i=a,a|=2,a!==i&&ct(n,a),Object.freeze(n)):(s===2&&Qr(a)&&(n=hr(n),a=en(a,e),a=Sn(a,e,i),ct(n,a),e=lt(o,e,t,n)),Qr(a)||(t=a,a=Sn(a,e,i),a!==t&&ct(n,a))),n}function au(e,t,r,n){return e=Yn(e,t,r,n),Array.isArray(e)?e:Yd}function cu(e,t){return e===0&&(e=en(e,t)),1|e}function Qr(e){return!!(2&e)&&!!(4&e)||!!(2048&e)}function I0(e,t,r){let n=0|(e=e.l)[se];if(Jn(n),r==null)lt(e,n,t);else{var i=0|r[se],o=i,s=Qr(i),a=s||Object.isFrozen(r);for(s||(i=0),a||(r=hr(r),o=0,i=Sn(i=en(i,n),n,!0),a=!1),i|=21,s=0;s<r.length;s++){let c=r[s],l=g1(c);Object.is(c,l)||(a&&(r=hr(r),o=0,i=Sn(i=en(i,n),n,!0),a=!1),r[s]=l)}i!==o&&(a&&(r=hr(r),i=Sn(i=en(i,n),n,!0)),ct(r,i)),lt(e,n,t,r)}}function C1(e,t){let r=0|(e=e.l)[se];Jn(r),lt(e,r,2,t===""?void 0:t)}function ts(e,t,r,n,i){Jn(t);var o=!(!(64&t)&&16384&t);let s=(i=au(e,t,r,i))!==Yd;if(o||!s){let a=o=s?0|i[se]:0;(!s||2&a||Qr(a)||4&a&&!(32&a))&&(i=hr(i),a=en(a,t),t=lt(e,t,r,i)),a=-13&cu(a,t),a=Sn(n?-17&a:16|a,t,!0),a!==o&&ct(i,a)}return i}function Bd(e,t){var r=m2;return hu(lu(e=e.l),e,0|e[se],r)===t?t:-1}function lu(e){if(uc)return e[Wo]??(e[Wo]=new Map);if(Wo in e)return e[Wo];let t=new Map;return Object.defineProperty(e,Wo,{value:t}),t}function x1(e,t,r,n){let i=lu(e),o=hu(i,e,t,r);return o!==n&&(o&&(t=lt(e,t,o)),i.set(r,n)),t}function hu(e,t,r,n){let i=e.get(n);if(i!=null)return i;i=0;for(let o=0;o<n.length;o++){let s=n[o];Yn(t,r,s)!=null&&(i!==0&&(r=lt(t,r,i)),i=s)}return e.set(n,i),i}function du(e,t,r,n){let i,o=0|e[se];if((n=Yn(e,o,r,n))!=null&&n.B===Qo)return(t=su(n))!==n&&lt(e,o,r,t),t.l;if(Array.isArray(n)){let s=0|n[se];i=2&s?Ko(gc(n,s,!1),t,!0):64&s?n:Ko(i,t,!0)}else i=Ko(void 0,t,!0);return i!==n&&lt(e,o,r,i),i}function A1(e,t,r,n){let i=0|(e=e.l)[se];return(t=y1(n=Yn(e,i,r,n),t,i))!==n&&t!=null&&lt(e,i,r,t),t}function Sr(e,t,r){if((t=A1(e,t,r,!1))==null)return t;let n=0|(e=e.l)[se];if(!(2&n)){let i=su(t);i!==t&&lt(e,n,r,t=i)}return t}function T1(e,t,r,n,i,o){e=e.l;var s=!!(2&t);let a=s?1:n;i=!!i,o&&=!s;var c=0|(n=au(e,t,1))[se];if(!(s=!!(4&c))){var l=n,h=t;let d=!!(2&(c=cu(c,t)));d&&(h|=2);let g=!d,p=!0,m=0,u=0;for(;m<l.length;m++){let b=y1(l[m],r,h);if(b instanceof r){if(!d){let _=!!(2&(0|b.l[se]));g&&=!_,p&&=_}l[u++]=b}}u<m&&(l.length=u),c|=4,c=p?16|c:-17&c,ct(l,c=g?8|c:-9&c),d&&Object.freeze(l)}if(o&&!(8&c||!n.length&&(a===1||a===4&&32&c))){for(Qr(c)&&(n=hr(n),c=en(c,t),t=lt(e,t,1,n)),r=n,o=c,l=0;l<r.length;l++)(c=r[l])!==(h=su(c))&&(r[l]=h);o|=8,ct(r,o=r.length?-17&o:16|o),c=o}return a===1||a===4&&32&c?Qr(c)||(t=c,(c|=!n.length||16&c&&(!s||32&c)?2:2048)!==t&&ct(n,c),Object.freeze(n)):(a===2&&Qr(c)&&(ct(n=hr(n),c=Sn(c=en(c,t),t,i)),t=lt(e,t,1,n)),Qr(c)||(e=c,(c=Sn(c,t,i))!==e&&ct(n,c))),n}function uu(e,t){let r=0|e.l[se];return T1(e,r,t,h1===void 0?2:4,!1,!(2&r))}function kr(e,t,r,n){return n==null&&(n=void 0),ft(e,r,n)}function Od(e,t,r){var n=d2;r==null&&(r=void 0);e:{let i=0|(e=e.l)[se];if(Jn(i),r==null){let o=lu(e);if(hu(o,e,i,n)!==t)break e;o.set(n,0)}else i=x1(e,i,n,t);lt(e,i,t,r)}}function en(e,t){return-2049&(e=32|(2&t?2|e:-3&e))}function Sn(e,t,r){return 32&t&&r||(e&=-33),e}function I1(e,t){var r=Tu;let n=0|e.l[se];Jn(n),e=T1(e,n,r,2,!0),t=t??new r,e.push(t),e[se]=2&(0|t.l[se])?-9&e[se]:-17&e[se]}function Bt(e,t,r){Jn(0|e.l[se]),E1(e,t,wn,2,!0).push(g1(r))}function R1(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function pu(){return Error("Failed to read varint, encoding is invalid.")}function P1(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function fu(e){if(typeof e=="string")return{buffer:i1(e),u:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),u:!1};if(e.constructor===Uint8Array)return{buffer:e,u:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),u:!1};if(e.constructor===_n)return{buffer:Kd(e)||new Uint8Array(0),u:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),u:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function mu(e,t){let r,n=0,i=0,o=0,s=e.i,a=e.g;do r=s[a++],n|=(127&r)<<o,o+=7;while(o<32&&128&r);for(o>32&&(i|=(127&r)>>4),o=3;o<32&&128&r;o+=7)r=s[a++],i|=(127&r)<<o;if(Gn(e,a),r<128)return t(n>>>0,i>>>0);throw pu()}function gu(e){let t=0,r=e.g,n=r+10,i=e.i;for(;r<n;){let o=i[r++];if(t|=o,(128&o)==0)return Gn(e,r),!!(127&t)}throw pu()}function Ot(e){let t=e.i,r=e.g,n=t[r++],i=127&n;if(128&n&&(n=t[r++],i|=(127&n)<<7,128&n&&(n=t[r++],i|=(127&n)<<14,128&n&&(n=t[r++],i|=(127&n)<<21,128&n&&(n=t[r++],i|=n<<28,128&n&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw pu();return Gn(e,r),i}function Hd(e){var t=e.i;let r=e.g,n=t[r],i=t[r+1],o=t[r+2];return t=t[r+3],Gn(e,e.g+4),(n<<0|i<<8|o<<16|t<<24)>>>0}function Wd(e){var t=Hd(e);e=2*(t>>31)+1;let r=t>>>23&255;return t&=8388607,r==255?t?NaN:e*(1/0):r==0?1401298464324817e-60*e*t:e*Math.pow(2,r-150)*(t+8388608)}function tw(e){return Ot(e)}function Ud(e,t,{C:r=!1}={}){e.C=r,t&&(t=fu(t),e.i=t.buffer,e.m=t.u,e.s=0,e.j=e.i.length,e.g=e.s)}function Gn(e,t){if(e.g=t,t>e.j)throw P1(e.j,t)}function D1(e,t){if(t<0)throw Error(`Tried to read a negative byte length: ${t}`);let r=e.g,n=r+t;if(n>e.j)throw P1(t,e.j-r);return e.g=n,r}function B1(e,t){if(t==0)return Qi();var r=D1(e,t);return e.C&&e.m?r=e.i.subarray(r,r+t):(e=e.i,r=r===(t=r+t)?new Uint8Array(0):K_?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?Qi():new _n(r,Zi)}var R0=[];function O1(e){var t=e.g;if(t.g==t.j)return!1;e.j=e.g.g;var r=Ot(e.g)>>>0;if(t=r>>>3,!((r&=7)>=0&&r<=5))throw R1(r,e.j);if(t<1)throw Error(`Invalid field number: ${t} (at position ${e.j})`);return e.m=t,e.i=r,!0}function Qa(e){switch(e.i){case 0:e.i!=0?Qa(e):gu(e.g);break;case 1:Gn(e=e.g,e.g+8);break;case 2:if(e.i!=2)Qa(e);else{var t=Ot(e.g)>>>0;Gn(e=e.g,e.g+t)}break;case 5:Gn(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!O1(e))throw Error("Unmatched start-group tag: stream EOF");if(e.i==4){if(e.m!=t)throw Error("Unmatched end-group tag");break}Qa(e)}break;default:throw R1(e.i,e.j)}}function yc(e,t,r){let n=e.g.j,i=Ot(e.g)>>>0,o=e.g.g+i,s=o-n;if(s<=0&&(e.g.j=o,r(t,e,void 0,void 0,void 0),s=o-e.g.g),s)throw Error(`Message parsing ended unexpectedly. Expected to read ${i} bytes, instead read ${i-s} bytes, either the data ended unexpectedly or the message misreported its own length`);e.g.g=o,e.g.j=n}function yu(e){var t=Ot(e.g)>>>0,r=D1(e=e.g,t);if(e=e.i,P_){var n,i=e;(n=Id)||(n=Id=new TextDecoder("utf-8",{fatal:!0})),t=r+t,i=r===0&&t===i.length?i:i.subarray(r,t);try{var o=n.decode(i)}catch(a){if(Ka===void 0){try{n.decode(new Uint8Array([128]))}catch{}try{n.decode(new Uint8Array([97])),Ka=!0}catch{Ka=!1}}throw!Ka&&(Id=void 0),a}}else{t=(o=r)+t,r=[];let a,c=null;for(;o<t;){var s=e[o++];s<128?r.push(s):s<224?o>=t?Wn():(a=e[o++],s<194||(192&a)!=128?(o--,Wn()):r.push((31&s)<<6|63&a)):s<240?o>=t-1?Wn():(a=e[o++],(192&a)!=128||s===224&&a<160||s===237&&a>=160||(192&(n=e[o++]))!=128?(o--,Wn()):r.push((15&s)<<12|(63&a)<<6|63&n)):s<=244?o>=t-2?Wn():(a=e[o++],(192&a)!=128||a-144+(s<<28)>>30!=0||(192&(n=e[o++]))!=128||(192&(i=e[o++]))!=128?(o--,Wn()):(s=(7&s)<<18|(63&a)<<12|(63&n)<<6|63&i,s-=65536,r.push(55296+(s>>10&1023),56320+(1023&s)))):Wn(),r.length>=8192&&(c=g0(c,r),r.length=0)}o=g0(c,r)}return o}function U1(e){let t=Ot(e.g)>>>0;return B1(e.g,t)}function bu(e,t,r){var n=Ot(e.g)>>>0;for(n=e.g.g+n;e.g.g<n;)r.push(t(e.g))}var Ya=[];function rw(e){return e}var Xi;function F1(e,t,r){t.g?t.j(e,t.g,t.i,r):t.j(e,t.i,r)}var Me=class{constructor(e,t){this.l=_1(e,t)}toJSON(){let e=!Xi;try{return e&&(Xi=Q_),L1(this)}finally{e&&(Xi=void 0)}}u(){return!!(2&(0|this.l[se]))}};function L1(e){var t=e.l;{t=(e=Xi(t))!==t;let l=e.length;if(l){var r=e[l-1],n=Zd(r);n?l--:r=void 0;var i=e;if(n){e:{var o,s=r,a=!1;if(s)for(let h in s)isNaN(+h)?(o??={})[h]=s[h]:(n=s[h],Array.isArray(n)&&(rc(n)||S0(n)&&n.size===0)&&(n=null),n==null&&(a=!0),n!=null&&((o??={})[h]=n));if(a||(o=s),o)for(let h in o){a=o;break e}a=null}s=a==null?r!=null:a!==r}for(;l>0&&((o=i[l-1])==null||rc(o)||S0(o)&&o.size===0);l--)var c=!0;(i!==e||s||c)&&(t?(c||s||a)&&(i.length=l):i=Array.prototype.slice.call(i,0,l),a&&i.push(a)),c=i}else c=e}return c}function P0(e){return e?/^\d+$/.test(e)?(fc(e),new $d(De,Ge)):null:nw||=new $d(0,0)}Me.prototype.B=Qo,Me.prototype.toString=function(){try{return Xi=rw,L1(this).toString()}finally{Xi=void 0}};var $d=class{constructor(e,t){this.i=e>>>0,this.g=t>>>0}},nw;function D0(e){return e?/^-?\d+$/.test(e)?(fc(e),new Gd(De,Ge)):null:iw||=new Gd(0,0)}var Gd=class{constructor(e,t){this.i=e>>>0,this.g=t>>>0}},iw;function Ji(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function rs(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function bc(e,t){if(t>=0)rs(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function oc(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function ro(e,t){t.length!==0&&(e.j.push(t),e.i+=t.length)}function Er(e,t,r){rs(e.g,8*t+r)}function vc(e,t){return Er(e,t,2),t=e.g.end(),ro(e,t),t.push(e.i),t}function _c(e,t){var r=t.pop();for(r=e.i+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.i++;t.push(r),e.i++}function wc(e,t,r){Er(e,t,2),rs(e.g,r.length),ro(e,e.g.end()),ro(e,r)}function Cr(){let e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var vu=Cr(),M1=Cr(),_u=Cr(),wu=Cr(),N1=Cr(),z1=Cr(),j1=Cr(),V1=Cr(),no=class{constructor(e,t,r){this.g=e,this.i=t,e=vu,this.j=!!e&&r===e||!1}};function Su(e,t){return new no(e,t,vu)}function H1(e,t,r,n,i){(t=q1(t,n))!=null&&(r=vc(e,r),i(t,e),_c(e,r))}var ow=Su((function(e,t,r,n,i){return e.i===2&&(yc(e,du(t,n,r),i),!0)}),H1),sw=Su((function(e,t,r,n,i){return e.i===2&&(yc(e,du(t,n,r,!0),i),!0)}),H1),Sc=Symbol(),ku=Symbol(),B0=Symbol(),O0=Symbol(),W1,$1;function Zn(e,t,r,n){var i=n[e];if(i)return i;(i={}).P=n,i.A=(function(d){switch(typeof d){case"boolean":return v1||=[0,void 0,!0];case"number":return d>0?void 0:d===0?ew||=[0,void 0]:[-d,void 0];case"string":return[0,d];case"object":return d}})(n[0]);var o=n[1];let s=1;o&&o.constructor===Object&&(i.H=o,typeof(o=n[++s])=="function"&&(i.I=!0,W1??=o,$1??=n[s+1],o=n[s+=2]));let a={};for(;o&&Array.isArray(o)&&o.length&&typeof o[0]=="number"&&o[0]>0;){for(var c=0;c<o.length;c++)a[o[c]]=o;o=n[++s]}for(c=1;o!==void 0;){let d;typeof o=="number"&&(c+=o,o=n[++s]);var l=void 0;if(o instanceof no?d=o:(d=ow,s--),d?.j){o=n[++s],l=n;var h=s;typeof o=="function"&&(o=o(),l[h]=o),l=o}for(h=c+1,typeof(o=n[++s])=="number"&&o<0&&(h-=o,o=n[++s]);c<h;c++){let g=a[c];l?r(i,c,d,l,g):t(i,c,d,g)}}return n[e]=i}function G1(e){return Array.isArray(e)?e[0]instanceof no?e:[sw,e]:[e,void 0]}function q1(e,t){return e instanceof Me?e.l:Array.isArray(e)?Ko(e,t,!1):void 0}function Eu(e,t,r,n){let i=r.g;e[t]=n?(o,s,a)=>i(o,s,a,n):i}function Cu(e,t,r,n,i){let o=r.g,s,a;e[t]=(c,l,h)=>o(c,l,h,a||=Zn(ku,Eu,Cu,n).A,s||=xu(n),i)}function xu(e){let t=e[B0];if(t!=null)return t;let r=Zn(ku,Eu,Cu,e);return t=r.I?(n,i)=>W1(n,i,r):(n,i)=>{let o=0|n[se];for(;O1(i)&&i.i!=4;){var s=i.m,a=r[s];if(a==null){var c=r.H;c&&(c=c[s])&&(c=aw(c))!=null&&(a=r[s]=c)}a!=null&&a(i,n,s)||(s=(a=i).j,Qa(a),a.G?a=void 0:(c=a.g.g-s,a.g.g=s,a=B1(a.g,c)),s=n,a&&((c=s[eo])?c.push(a):s[eo]=[a]))}return 16384&o&&Xd(n,34),!0},e[B0]=t}function aw(e){let t=(e=G1(e))[0].g;if(e=e[1]){let r=xu(e),n=Zn(ku,Eu,Cu,e).A;return(i,o,s)=>t(i,o,s,n,r)}return t}function kc(e,t,r){e[t]=r.i}function Ec(e,t,r,n){let i,o,s=r.i;e[t]=(a,c,l)=>s(a,c,l,o||=Zn(Sc,kc,Ec,n).A,i||=K1(n))}function K1(e){let t=e[O0];if(!t){let r=Zn(Sc,kc,Ec,e);t=(n,i)=>X1(n,i,r),e[O0]=t}return t}function X1(e,t,r){for(var n=0|e[se],i=512&n?0:-1,o=e.length,s=512&n?1:0,a=o+(256&n?-1:0);s<a;s++){let c=e[s];if(c==null)continue;let l=s-i,h=U0(r,l);h&&h(t,c,l)}if(256&n){n=e[o-1];for(let c in n)i=+c,Number.isNaN(i)||(o=n[i])!=null&&(a=U0(r,i))&&a(t,o,i)}if(e=Qd(e))for(ro(t,t.g.end()),r=0;r<e.length;r++)ro(t,Kd(e[r])||new Uint8Array(0))}function U0(e,t){var r=e[t];if(r)return r;if((r=e.H)&&(r=r[t])){var n=(r=G1(r))[0].i;if(r=r[1]){let i=K1(r),o=Zn(Sc,kc,Ec,r).A;r=e.I?$1(o,i):(s,a,c)=>n(s,a,c,o,i)}else r=n;return e[t]=r}}function Cc(e,t){if(Array.isArray(t)){var r=0|t[se];if(4&r)return t;for(var n=0,i=0;n<t.length;n++){let o=e(t[n]);o!=null&&(t[i++]=o)}return i<n&&(t.length=i),ct(t,-12289&(5|r)),2&r&&Object.freeze(t),t}}function wt(e,t,r){return new no(e,t,r)}function xc(e,t,r){return new no(e,t,r)}function St(e,t,r){lt(e,0|e[se],t,r)}function J1(e,t,r){if(t=(function(n){if(n==null)return n;let i=typeof n;if(i==="bigint")return String(p1(64,n));if(iu(n)){if(i==="string")return m1(n);if(i==="number")return f1(n)}})(t),t!=null&&(typeof t=="string"&&D0(t),t!=null))switch(Er(e,r,0),typeof t){case"number":e=e.g,to(t),Ji(e,De,Ge);break;case"bigint":r=BigInt.asUintN(64,t),r=new Gd(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),Ji(e.g,r.i,r.g);break;default:r=D0(t),Ji(e.g,r.i,r.g)}}function Y1(e,t,r){(t=Kn(t))!=null&&t!=null&&(Er(e,r,0),bc(e.g,t))}function Z1(e,t,r){(t=t==null||typeof t=="boolean"?t:typeof t=="number"?!!t:void 0)!=null&&(Er(e,r,0),e.g.g.push(t?1:0))}function Q1(e,t,r){(t=wn(t))!=null&&wc(e,r,Q0(t))}function e2(e,t,r,n,i){(t=q1(t,n))!=null&&(r=vc(e,r),i(t,e),_c(e,r))}function t2(e,t,r){(t=t==null||typeof t=="string"||dc(t)||t instanceof _n?t:void 0)!=null&&wc(e,r,fu(t).buffer)}var cw=wt((function(e,t,r){if(e.i!==1)return!1;var n=e.g;e=Hd(n);let i=Hd(n);n=2*(i>>31)+1;let o=i>>>20&2047;return e=4294967296*(1048575&i)+e,St(t,r,o==2047?e?NaN:n*(1/0):o==0?5e-324*n*e:n*Math.pow(2,o-1075)*(e+4503599627370496)),!0}),(function(e,t,r){(t=es(t))!=null&&(Er(e,r,1),e=e.g,(r=d1||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),De=r.getUint32(0,!0),Ge=r.getUint32(4,!0),oc(e,De),oc(e,Ge))}),Cr()),r2=wt((function(e,t,r){return e.i===5&&(St(t,r,Wd(e.g)),!0)}),(function(e,t,r){(t=es(t))!=null&&(Er(e,r,5),e=e.g,u1(t),oc(e,De))}),z1),lw=xc((function(e,t,r){return(e.i===5||e.i===2)&&(t=ts(t,0|t[se],r,!1,!1),e.i==2?bu(e,Wd,t):t.push(Wd(e.g)),!0)}),(function(e,t,r){if((t=Cc(es,t))!=null&&t.length){Er(e,r,2),rs(e.g,4*t.length);for(let n=0;n<t.length;n++)r=e.g,u1(t[n]),oc(r,De)}}),z1),sc=wt((function(e,t,r){return e.i===0&&(St(t,r,mu(e.g,ru)),!0)}),J1,N1),Fd=wt((function(e,t,r){return e.i===0&&(St(t,r,(e=mu(e.g,ru))===0?void 0:e),!0)}),J1,N1),hw=wt((function(e,t,r){return e.i===0&&(St(t,r,mu(e.g,tu)),!0)}),(function(e,t,r){if((t=Y_(t))!=null&&(typeof t=="string"&&P0(t),t!=null))switch(Er(e,r,0),typeof t){case"number":e=e.g,to(t),Ji(e,De,Ge);break;case"bigint":r=BigInt.asUintN(64,t),r=new $d(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),Ji(e.g,r.i,r.g);break;default:r=P0(t),Ji(e.g,r.i,r.g)}}),Cr()),kn=wt((function(e,t,r){return e.i===0&&(St(t,r,Ot(e.g)),!0)}),Y1,wu),Au=xc((function(e,t,r){return(e.i===0||e.i===2)&&(t=ts(t,0|t[se],r,!1,!1),e.i==2?bu(e,Ot,t):t.push(Ot(e.g)),!0)}),(function(e,t,r){if((t=Cc(Kn,t))!=null&&t.length){r=vc(e,r);for(let n=0;n<t.length;n++)bc(e.g,t[n]);_c(e,r)}}),wu),qi=wt((function(e,t,r){return e.i===0&&(St(t,r,(e=Ot(e.g))===0?void 0:e),!0)}),Y1,wu),$t=wt((function(e,t,r){return e.i===0&&(St(t,r,gu(e.g)),!0)}),Z1,M1),Yi=wt((function(e,t,r){return e.i===0&&(St(t,r,(e=gu(e.g))===!1?void 0:e),!0)}),Z1,M1),ar=xc((function(e,t,r){return e.i===2&&(e=yu(e),ts(t,0|t[se],r,!1).push(e),!0)}),(function(e,t,r){if((t=Cc(wn,t))!=null)for(let s=0;s<t.length;s++){var n=e,i=r,o=t[s];o!=null&&wc(n,i,Q0(o))}}),_u),vn=wt((function(e,t,r){return e.i===2&&(St(t,r,(e=yu(e))===""?void 0:e),!0)}),Q1,_u),Ze=wt((function(e,t,r){return e.i===2&&(St(t,r,yu(e)),!0)}),Q1,_u),cr=(function(e,t,r=vu){return new no(e,t,r)})((function(e,t,r,n,i){return e.i===2&&(n=Ko(void 0,n,!0),ts(t,0|t[se],r,!0).push(n),yc(e,n,i),!0)}),(function(e,t,r,n,i){if(Array.isArray(t))for(let o=0;o<t.length;o++)e2(e,t[o],r,n,i)})),pt=Su((function(e,t,r,n,i,o){return e.i===2&&(x1(t,0|t[se],o,r),yc(e,t=du(t,n,r),i),!0)}),e2),n2=wt((function(e,t,r){return e.i===2&&(St(t,r,U1(e)),!0)}),t2,j1),dw=wt((function(e,t,r){return e.i===0&&(St(t,r,(e=Ot(e.g)>>>0)===0?void 0:e),!0)}),(function(e,t,r){t=(function(n){if(n==null)return n;if(typeof n=="string"&&n)n=+n;else if(typeof n!="number")return;return mc(n)?n>>>0:void 0})(t),t!=null&&t!=null&&(Er(e,r,0),rs(e.g,t))}),Cr()),Xn=wt((function(e,t,r){return e.i===0&&(St(t,r,Ot(e.g)),!0)}),(function(e,t,r){(t=Kn(t))!=null&&(t=parseInt(t,10),Er(e,r,0),bc(e.g,t))}),V1),ac=class{constructor(t,r){this.i=t,this.g=r,this.j=kr,this.defaultValue=void 0}};function i2(e,t){return(r,n)=>{if(Ya.length){let o=Ya.pop();o.o(n),Ud(o.g,r,n),r=o}else r=new class{constructor(o,s){if(R0.length){let a=R0.pop();Ud(a,o,s),o=a}else o=new class{constructor(a,c){this.i=null,this.m=!1,this.g=this.j=this.s=0,Ud(this,a,c)}clear(){this.i=null,this.m=!1,this.g=this.j=this.s=0,this.C=!1}}(o,s);this.g=o,this.j=this.g.g,this.i=this.m=-1,this.o(s)}o({G:o=!1}={}){this.G=o}}(r,n);try{let o=new e,s=o.l;xu(t)(s,r);var i=o}finally{r.g.clear(),r.m=-1,r.i=-1,Ya.length<100&&Ya.push(r)}return i}}var F0=[0,vn,wt((function(e,t,r){return e.i===2&&(St(t,r,(e=U1(e))===Qi()?void 0:e),!0)}),(function(e,t,r){if(t!=null){if(t instanceof Me){let n=t.R;return void(n&&(t=n(t),t!=null&&wc(e,r,fu(t).buffer)))}if(Array.isArray(t))return}t2(e,t,r)}),j1)],Ld,L0=globalThis.trustedTypes;function M0(e){Ld===void 0&&(Ld=(function(){let r=null;if(!L0)return r;try{let n=i=>i;r=L0.createPolicy("goog#html",{createHTML:n,createScript:n,createScriptURL:n})}catch{}return r})());var t=Ld;return new class{constructor(r){this.g=r}toString(){return this.g+""}}(t?t.createScriptURL(e):e)}function uw(e,...t){if(t.length===0)return M0(e[0]);let r=e[0];for(let n=0;n<t.length;n++)r+=encodeURIComponent(t[n])+e[n+1];return M0(r)}var o2=[0,kn,Xn,$t,-1,Au,Xn,-1],pw=class extends Me{constructor(e){super(e)}},s2=[0,$t,Ze,$t,Xn,-1,xc((function(e,t,r){return(e.i===0||e.i===2)&&(t=ts(t,0|t[se],r,!1,!1),e.i==2?bu(e,tw,t):t.push(Ot(e.g)),!0)}),(function(e,t,r){if((t=Cc(Kn,t))!=null&&t.length){r=vc(e,r);for(let n=0;n<t.length;n++)bc(e.g,t[n]);_c(e,r)}}),V1),Ze,-1,[0,$t,-1],Xn,$t,-1],a2=[0,Ze,-2],N0=class extends Me{constructor(e){super(e)}},c2=[0],l2=[0,kn,$t,1,$t,-3],h2=class extends Me{constructor(e){super(e,2)}},Ac={};Ac[336783863]=[0,Ze,$t,-1,kn,[0,[1,2,3,4,5,6,7,8],pt,c2,pt,s2,pt,a2,pt,l2,pt,o2,pt,[0,Ze,-2],pt,[0,Ze,Xn],pt,[0,Xn,Ze]],[0,Ze],$t,[0,[1,3],[2,4],pt,[0,Au],-1,pt,[0,ar],-1,cr,[0,Ze,-1]],Ze];var z0,j0=[0,Fd,-1,Yi,-3,Fd,Au,vn,qi,Fd,-1,Yi,qi,Yi,-2,vn],Tu=class extends Me{constructor(e){super(e,500)}o(e){return kr(this,0,7,e)}},Xo=[-1,{}],V0=[0,Ze,1,Xo],H0=[0,Ze,ar,Xo],Iu=class extends Me{constructor(e){super(e,500)}o(e){return kr(this,0,1001,e)}};Iu.prototype.g=(z0=[-500,cr,[-500,vn,-1,ar,-3,[-2,Ac,$t],cr,F0,qi,-1,V0,H0,cr,[0,vn,Yi],vn,j0,qi,ar,987,ar],4,cr,[-500,Ze,-1,[-1,{}],998,Ze],cr,[-500,Ze,ar,-1,[-2,{},$t],997,ar,-1],qi,cr,[-500,Ze,ar,Xo,998,ar],ar,qi,V0,H0,cr,[0,vn,-1,Xo],ar,-2,j0,vn,-1,Yi,[0,Yi,dw],978,Xo,cr,F0],function(){let e=new class{constructor(){this.j=[],this.i=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){let o=this.g;return this.g=[],o}}}};X1(this.l,e,Zn(Sc,kc,Ec,z0)),ro(e,e.g.end());let t=new Uint8Array(e.i),r=e.j,n=r.length,i=0;for(let o=0;o<n;o++){let s=r[o];t.set(s,i),i+=s.length}return e.j=[t],t});var fw=class extends Me{constructor(e){super(e)}},mw=class extends Me{constructor(e){super(e)}g(){return uu(this,fw)}},gw=[0,cr,[0,kn,r2,Ze,-1]],W0=class extends Me{constructor(e){super(e)}},$0=class extends Me{constructor(e){super(e)}},d2=[1,2,3,4,5],cc=class extends Me{constructor(e){super(e)}g(){return k1(this)!=null}i(){return wn(wr(this,2))!=null}},lc=class extends Me{constructor(e){super(e)}},u2=class extends Me{constructor(e){super(e)}},p2=[0,[0,n2,Ze,[0,kn,sc,-1],[0,hw,sc]],$t,[0,d2,pt,l2,pt,s2,pt,o2,pt,c2,pt,a2],Xn],yw=new ac(451755788,u2);Ac[451755788]=[0,p2,[0,Ze,kn,r2,ar,-1],cw];var G0=class extends Me{constructor(e){super(e)}},f2=class extends Me{constructor(e){super(e)}},bw=new ac(487277289,f2);Ac[487277289]=[0,p2,[0,$t,-1]];var vw=class extends Me{constructor(e){super(e)}},_w=i2(class extends Me{constructor(e){super(e)}},[0,cr,[0,1,kn,Ze,gw],sc]),q0=class extends Me{constructor(e){super(e)}},ww=class extends Me{constructor(e){super(e)}J(){let e=k1(this);return e??Qi()}},Sw=class extends Me{constructor(e){super(e)}},m2=[1,2],K0=i2(class extends Me{constructor(e){super(e)}},[0,cr,[0,m2,pt,[0,lw],pt,[0,n2],kn,Ze],sc]);function kw(){var e=navigator;return typeof OffscreenCanvas<"u"&&(!(function(t=navigator){return(t=t.userAgent).includes("Safari")&&!t.includes("Chrome")})(e)||!!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}async function X0(e){if(typeof importScripts!="function"){let t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise(((r,n)=>{t.addEventListener("load",(()=>{r()}),!1),t.addEventListener("error",(i=>{n(i)}),!1),document.body.appendChild(t)}))}importScripts(e.toString())}function ie(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.h.stringToNewUTF8(t)),e.h._free(t)}function J0(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");let n=new Uint32Array(t.length);for(let i=0;i<t.length;i++)n[i]=e.h.stringToNewUTF8(t[i]);t=e.h._malloc(4*n.length),e.h.HEAPU32.set(n,t>>2),r(t);for(let i of n)e.h._free(i);e.h._free(t)}function gn(e,t,r){e.h.simpleListeners=e.h.simpleListeners||{},e.h.simpleListeners[t]=r}function $n(e,t,r){let n=[];e.h.simpleListeners=e.h.simpleListeners||{},e.h.simpleListeners[t]=(i,o,s)=>{o?(r(n,s),n=[]):n.push(i)}}var Ew=(function(e){return class extends e{N(){this.h._registerModelResourcesGraphService()}}})(class{constructor(e,t){this.j=!0,this.h=e,this.g=null,this.i=0,this.m=typeof this.h._addIntToInputStream=="function",t!==void 0?this.h.canvas=t:kw()?this.h.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.h.canvas=document.createElement("canvas"))}async initializeGraph(e){let t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph(new TextEncoder().encode(e),!1)}setGraph(e,t){let r=e.length,n=this.h._malloc(r);this.h.HEAPU8.set(e,n),t?this.h._changeBinaryGraph(r,n):this.h._changeTextGraph(r,n),this.h._free(n)}configureAudio(e,t,r,n,i){this.h._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),ie(this,n||"input_audio",(o=>{ie(this,i=i||"audio_header",(s=>{this.h._configureAudio(o,s,e,t??0,r)}))}))}setAutoResizeCanvas(e){this.j=e}setAutoRenderToScreen(e){this.h._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.h.gpuOriginForWebTexturesIsBottomLeft=e}attachErrorListener(e){this.h.errorListener=e}attachEmptyPacketListener(e,t){this.h.emptyPacketListeners=this.h.emptyPacketListeners||{},this.h.emptyPacketListeners[e]=t}addAudioToStream(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}addAudioToStreamWithShape(e,t,r,n,i){let o=4*e.length;this.i!==o&&(this.g&&this.h._free(this.g),this.g=this.h._malloc(o),this.i=o),this.h.HEAPF32.set(e,this.g/4),ie(this,n,(s=>{this.h._addAudioToInputStream(this.g,t,r,s,i)}))}addGpuBufferToStream(e,t,r){ie(this,t,(n=>{if(!this.h.canvas)throw Error("No OpenGL canvas configured.");n?this.h._bindTextureToStream(n):this.h._bindTextureToCanvas();let i=this.h.canvas.getContext("webgl2")||this.h.canvas.getContext("webgl");if(!i)throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");this.h.gpuOriginForWebTexturesIsBottomLeft&&i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,e),this.h.gpuOriginForWebTexturesIsBottomLeft&&i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1);let[o,s]=e.videoWidth!==void 0?[e.videoWidth,e.videoHeight]:e.naturalWidth!==void 0?[e.naturalWidth,e.naturalHeight]:e.displayWidth!==void 0?[e.displayWidth,e.displayHeight]:[e.width,e.height];!this.j||o===this.h.canvas.width&&s===this.h.canvas.height||(this.h.canvas.width=o,this.h.canvas.height=s);let[a,c]=[o,s];this.h._addBoundTextureToStream(n,a,c,r)}))}addBoolToStream(e,t,r){ie(this,t,(n=>{this.h._addBoolToInputStream(e,n,r)}))}addDoubleToStream(e,t,r){ie(this,t,(n=>{this.h._addDoubleToInputStream(e,n,r)}))}addFloatToStream(e,t,r){ie(this,t,(n=>{this.h._addFloatToInputStream(e,n,r)}))}addIntToStream(e,t,r){ie(this,t,(n=>{this.h._addIntToInputStream(e,n,r)}))}addUintToStream(e,t,r){ie(this,t,(n=>{this.h._addUintToInputStream(e,n,r)}))}addStringToStream(e,t,r){ie(this,t,(n=>{ie(this,e,(i=>{this.h._addStringToInputStream(i,n,r)}))}))}addStringRecordToStream(e,t,r){ie(this,t,(n=>{J0(this,Object.keys(e),(i=>{J0(this,Object.values(e),(o=>{this.h._addFlatHashMapToInputStream(i,o,Object.keys(e).length,n,r)}))}))}))}addProtoToStream(e,t,r,n){ie(this,r,(i=>{ie(this,t,(o=>{let s=this.h._malloc(e.length);this.h.HEAPU8.set(e,s),this.h._addProtoToInputStream(s,e.length,o,i,n),this.h._free(s)}))}))}addEmptyPacketToStream(e,t){ie(this,e,(r=>{this.h._addEmptyPacketToInputStream(r,t)}))}addBoolVectorToStream(e,t,r){ie(this,t,(n=>{let i=this.h._allocateBoolVector(e.length);if(!i)throw Error("Unable to allocate new bool vector on heap.");for(let o of e)this.h._addBoolVectorEntry(i,o);this.h._addBoolVectorToInputStream(i,n,r)}))}addDoubleVectorToStream(e,t,r){ie(this,t,(n=>{let i=this.h._allocateDoubleVector(e.length);if(!i)throw Error("Unable to allocate new double vector on heap.");for(let o of e)this.h._addDoubleVectorEntry(i,o);this.h._addDoubleVectorToInputStream(i,n,r)}))}addFloatVectorToStream(e,t,r){ie(this,t,(n=>{let i=this.h._allocateFloatVector(e.length);if(!i)throw Error("Unable to allocate new float vector on heap.");for(let o of e)this.h._addFloatVectorEntry(i,o);this.h._addFloatVectorToInputStream(i,n,r)}))}addIntVectorToStream(e,t,r){ie(this,t,(n=>{let i=this.h._allocateIntVector(e.length);if(!i)throw Error("Unable to allocate new int vector on heap.");for(let o of e)this.h._addIntVectorEntry(i,o);this.h._addIntVectorToInputStream(i,n,r)}))}addUintVectorToStream(e,t,r){ie(this,t,(n=>{let i=this.h._allocateUintVector(e.length);if(!i)throw Error("Unable to allocate new unsigned int vector on heap.");for(let o of e)this.h._addUintVectorEntry(i,o);this.h._addUintVectorToInputStream(i,n,r)}))}addStringVectorToStream(e,t,r){ie(this,t,(n=>{let i=this.h._allocateStringVector(e.length);if(!i)throw Error("Unable to allocate new string vector on heap.");for(let o of e)ie(this,o,(s=>{this.h._addStringVectorEntry(i,s)}));this.h._addStringVectorToInputStream(i,n,r)}))}addBoolToInputSidePacket(e,t){ie(this,t,(r=>{this.h._addBoolToInputSidePacket(e,r)}))}addDoubleToInputSidePacket(e,t){ie(this,t,(r=>{this.h._addDoubleToInputSidePacket(e,r)}))}addFloatToInputSidePacket(e,t){ie(this,t,(r=>{this.h._addFloatToInputSidePacket(e,r)}))}addIntToInputSidePacket(e,t){ie(this,t,(r=>{this.h._addIntToInputSidePacket(e,r)}))}addUintToInputSidePacket(e,t){ie(this,t,(r=>{this.h._addUintToInputSidePacket(e,r)}))}addStringToInputSidePacket(e,t){ie(this,t,(r=>{ie(this,e,(n=>{this.h._addStringToInputSidePacket(n,r)}))}))}addProtoToInputSidePacket(e,t,r){ie(this,r,(n=>{ie(this,t,(i=>{let o=this.h._malloc(e.length);this.h.HEAPU8.set(e,o),this.h._addProtoToInputSidePacket(o,e.length,i,n),this.h._free(o)}))}))}addBoolVectorToInputSidePacket(e,t){ie(this,t,(r=>{let n=this.h._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(let i of e)this.h._addBoolVectorEntry(n,i);this.h._addBoolVectorToInputSidePacket(n,r)}))}addDoubleVectorToInputSidePacket(e,t){ie(this,t,(r=>{let n=this.h._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(let i of e)this.h._addDoubleVectorEntry(n,i);this.h._addDoubleVectorToInputSidePacket(n,r)}))}addFloatVectorToInputSidePacket(e,t){ie(this,t,(r=>{let n=this.h._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(let i of e)this.h._addFloatVectorEntry(n,i);this.h._addFloatVectorToInputSidePacket(n,r)}))}addIntVectorToInputSidePacket(e,t){ie(this,t,(r=>{let n=this.h._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(let i of e)this.h._addIntVectorEntry(n,i);this.h._addIntVectorToInputSidePacket(n,r)}))}addUintVectorToInputSidePacket(e,t){ie(this,t,(r=>{let n=this.h._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(let i of e)this.h._addUintVectorEntry(n,i);this.h._addUintVectorToInputSidePacket(n,r)}))}addStringVectorToInputSidePacket(e,t){ie(this,t,(r=>{let n=this.h._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(let i of e)ie(this,i,(o=>{this.h._addStringVectorEntry(n,o)}));this.h._addStringVectorToInputSidePacket(n,r)}))}attachBoolListener(e,t){gn(this,e,t),ie(this,e,(r=>{this.h._attachBoolListener(r)}))}attachBoolVectorListener(e,t){$n(this,e,t),ie(this,e,(r=>{this.h._attachBoolVectorListener(r)}))}attachIntListener(e,t){gn(this,e,t),ie(this,e,(r=>{this.h._attachIntListener(r)}))}attachIntVectorListener(e,t){$n(this,e,t),ie(this,e,(r=>{this.h._attachIntVectorListener(r)}))}attachUintListener(e,t){gn(this,e,t),ie(this,e,(r=>{this.h._attachUintListener(r)}))}attachUintVectorListener(e,t){$n(this,e,t),ie(this,e,(r=>{this.h._attachUintVectorListener(r)}))}attachDoubleListener(e,t){gn(this,e,t),ie(this,e,(r=>{this.h._attachDoubleListener(r)}))}attachDoubleVectorListener(e,t){$n(this,e,t),ie(this,e,(r=>{this.h._attachDoubleVectorListener(r)}))}attachFloatListener(e,t){gn(this,e,t),ie(this,e,(r=>{this.h._attachFloatListener(r)}))}attachFloatVectorListener(e,t){$n(this,e,t),ie(this,e,(r=>{this.h._attachFloatVectorListener(r)}))}attachStringListener(e,t){gn(this,e,t),ie(this,e,(r=>{this.h._attachStringListener(r)}))}attachStringVectorListener(e,t){$n(this,e,t),ie(this,e,(r=>{this.h._attachStringVectorListener(r)}))}attachProtoListener(e,t,r){gn(this,e,t),ie(this,e,(n=>{this.h._attachProtoListener(n,r||!1)}))}attachProtoVectorListener(e,t,r){$n(this,e,t),ie(this,e,(n=>{this.h._attachProtoVectorListener(n,r||!1)}))}attachAudioListener(e,t,r){this.h._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),gn(this,e,((n,i)=>{n=new Float32Array(n.buffer,n.byteOffset,n.length/4),t(n,i)})),ie(this,e,(n=>{this.h._attachAudioListener(n,r||!1)}))}finishProcessing(){this.h._waitUntilIdle()}closeGraph(){this.h._closeGraph(),this.h.simpleListeners=void 0,this.h.emptyPacketListeners=void 0}}),g2=class extends Ew{};async function Cw(e,t,r){return e=await(async(n,i,o,s)=>{if(i&&await X0(i),!self.ModuleFactory||o&&(await X0(o),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&s&&((i=self.Module).locateFile=s.locateFile,s.mainScriptUrlOrBlob&&(i.mainScriptUrlOrBlob=s.mainScriptUrlOrBlob)),s=await self.ModuleFactory(self.Module||s),self.ModuleFactory=self.Module=void 0,new n(s,null)})(e,t.wasmLoaderPath,t.assetLoaderPath,{locateFile:n=>n.endsWith(".wasm")?t.wasmBinaryPath.toString():t.assetBinaryPath&&n.endsWith(".data")?t.assetBinaryPath.toString():n}),await e.o(r),e}async function y2(e,t,r){return Cw(e,t,r)}function Md(e,t){let r=Sr(e.baseOptions,cc,1)||new cc;typeof t=="string"?(ft(r,2,ic(t)),ft(r,1)):t instanceof Uint8Array&&(ft(r,1,l1(t,!1)),ft(r,2)),kr(e.baseOptions,0,1,r)}function b2(e,t){let r=t.baseOptions||{};if(t.baseOptions?.modelAssetBuffer&&t.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(Sr(e.baseOptions,cc,1)?.g()||Sr(e.baseOptions,cc,1)?.i()||t.baseOptions?.modelAssetBuffer||t.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if((function(n,i){let o=Sr(n.baseOptions,$0,3);if(!o){var s=o=new $0;Od(s,4,new N0)}"delegate"in i&&(i.delegate==="GPU"?Od(i=o,2,s=new pw):Od(i=o,4,s=new N0)),kr(n.baseOptions,0,3,o)})(e,r),r.modelAssetPath)return fetch(r.modelAssetPath.toString()).then((n=>{if(n.ok)return n.arrayBuffer();throw Error(`Failed to fetch model: ${r.modelAssetPath} (${n.status})`)})).then((n=>{try{e.g.h.FS_unlink("/model.dat")}catch{}e.g.h.FS_createDataFile("/","model.dat",new Uint8Array(n),!0,!1,!1),Md(e,"/model.dat"),e.v()}));if(r.modelAssetBuffer instanceof Uint8Array)Md(e,r.modelAssetBuffer);else if(r.modelAssetBuffer)return(async function(n){let i=[];for(var o=0;;){let{done:s,value:a}=await n.read();if(s)break;i.push(a),o+=a.length}if(i.length===0)return new Uint8Array(0);if(i.length===1)return i[0];n=new Uint8Array(o),o=0;for(let s of i)n.set(s,o),o+=s.length;return n})(r.modelAssetBuffer).then((n=>{Md(e,n),e.v()}));return e.v(),Promise.resolve()}function Y0(e){try{let t=e.j.length;if(t===1)throw Error(e.j[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.j.map((r=>r.message)).join(", "))}finally{e.j=[]}}function Ki(e,t){e.s=Math.max(e.s,t)}var ec=class{constructor(e){this.g=e,this.j=[],this.s=0,this.g.setAutoRenderToScreen(!1)}setGraph(e,t){this.g.attachErrorListener(((r,n)=>{this.j.push(Error(n))})),this.g.N(),this.g.setGraph(e,t),Y0(this)}finishProcessing(){this.g.finishProcessing(),Y0(this)}close(){this.g.closeGraph()}};async function Jo(e,t,r){return y2(e,t,r)}ec.prototype.close=ec.prototype.close,(function(e,t){e=e.split(".");var r,n=qn;for((e[0]in n)||n.execScript===void 0||n.execScript("var "+e[0]);e.length&&(r=e.shift());)e.length||t===void 0?n=n[r]&&n[r]!==Object.prototype[r]?n[r]:n[r]={}:n[r]=t})("TaskRunner",ec);var hc=class extends ec{constructor(){super(...arguments),this.F=48e3}O(e){this.F=e}};function xw(e){let t={classifications:uu(e,vw).map((r=>(function(n,i=-1,o=""){return{categories:n.map((s=>{var a=Kn(wr(s,1))??0??-1;let c=s.l,l=0|c[se],h=Yn(c,l,2),d=es(h);return d!=null&&d!==h&&lt(c,l,2,d),{index:a,score:d??0??0,categoryName:wn(wr(s,3))??""??"",displayName:wn(wr(s,4))??""??""}})),headIndex:i,headName:o}})(Sr(r,mw,4)?.g()??[],Kn(wr(r,2))??0,wn(wr(r,3))??"")))};return Vd(wr(e,2))!=null&&(t.timestampMs=Vd(wr(e,2))??0),t}hc.prototype.setDefaultSampleRate=hc.prototype.O;var sr=class extends hc{constructor(e,t){super(new g2(e,t)),this.m=[],kr(e=this.i=new u2,0,1,t=new lc)}get baseOptions(){return Sr(this.i,lc,1)}set baseOptions(e){kr(this.i,0,1,e)}o(e){var t=this.i,r=Sr(this.i,W0,2);if(r=r?S1(r):new W0,e.displayNamesLocale!==void 0?ft(r,1,ic(e.displayNamesLocale)):e.displayNamesLocale===void 0&&ft(r,1),e.maxResults!==void 0){var n=e.maxResults;if(n!=null){if(typeof n!="number"||!mc(n))throw w0();n|=0}ft(r,2,n)}else"maxResults"in e&&ft(r,2);if(e.scoreThreshold!==void 0){if((n=e.scoreThreshold)!=null&&typeof n!="number")throw Error(`Value of float/double field must be a number, found ${typeof n}: ${n}`);ft(r,3,n)}else"scoreThreshold"in e&&ft(r,3);return e.categoryAllowlist!==void 0?I0(r,4,e.categoryAllowlist):"categoryAllowlist"in e&&ft(r,4),e.categoryDenylist!==void 0?I0(r,5,e.categoryDenylist):"categoryDenylist"in e&&ft(r,5),kr(t,0,2,r),b2(this,e)}K(e,t){return this.D(e,t??this.F,this.s+1)}D(e,t,r){return this.g.addDoubleToStream(t,"sample_rate",r),this.g.addAudioToStreamWithShape(e,1,e.length,"audio_in",r),this.m=[],this.finishProcessing(),[...this.m]}v(){var e=new Iu;Bt(e,10,"audio_in"),Bt(e,10,"sample_rate"),Bt(e,15,"timestamped_classifications");let t=new h2;F1(t,yw,this.i);let r=new Tu;C1(r,ic("mediapipe.tasks.audio.audio_classifier.AudioClassifierGraph")),Bt(r,3,"AUDIO:audio_in"),Bt(r,3,"SAMPLE_RATE:sample_rate"),Bt(r,4,"TIMESTAMPED_CLASSIFICATIONS:timestamped_classifications"),r.o(t),I1(e,r),this.g.attachProtoVectorListener("timestamped_classifications",((n,i)=>{(function(o,s){s.forEach((a=>{a=_w(a),o.m.push(xw(a))}))})(this,n),Ki(this,i)})),this.g.attachEmptyPacketListener("timestamped_classifications",(n=>{Ki(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function Z0(e){return{embeddings:uu(e,Sw).map((t=>{let r={headIndex:Kn(wr(t,3))??0??-1,headName:wn(wr(t,4))??""??""};if(A1(t,q0,Bd(t,1))!==void 0)r.floatEmbedding=E1(Sr(t,q0,Bd(t,1)),1,es,h1===void 0?2:4).slice();else{let n=new Uint8Array(0);r.quantizedEmbedding=Sr(t,ww,Bd(t,2))?.J()?.i()??n}return r})),timestampMs:Vd(wr(e,2))??0}}sr.prototype.classify=sr.prototype.K,sr.prototype.setOptions=sr.prototype.o,sr.createFromModelPath=function(e,t){return y2(sr,e,{baseOptions:{modelAssetPath:t}})},sr.createFromModelBuffer=function(e,t){return Jo(sr,e,{baseOptions:{modelAssetBuffer:t}})},sr.createFromOptions=function(e,t){return Jo(sr,e,t)};var Lr=class extends hc{constructor(e,t){super(new g2(e,t)),this.m=[],kr(e=this.i=new f2,0,1,t=new lc)}get baseOptions(){return Sr(this.i,lc,1)}set baseOptions(e){kr(this.i,0,1,e)}o(e){var t=this.i,r=Sr(this.i,G0,2);return r=r?S1(r):new G0,e.l2Normalize!==void 0?ft(r,1,A0(e.l2Normalize)):"l2Normalize"in e&&ft(r,1),e.quantize!==void 0?ft(r,2,A0(e.quantize)):"quantize"in e&&ft(r,2),kr(t,0,2,r),b2(this,e)}L(e,t){return this.D(e,t??this.F,this.s+1)}D(e,t,r){return this.g.addDoubleToStream(t,"sample_rate",r),this.g.addAudioToStreamWithShape(e,1,e.length,"audio_in",r),this.m=[],this.finishProcessing(),this.m}v(){var e=new Iu;Bt(e,10,"audio_in"),Bt(e,10,"sample_rate"),Bt(e,15,"embeddings_out"),Bt(e,15,"timestamped_embeddings_out");let t=new h2;F1(t,bw,this.i);let r=new Tu;C1(r,ic("mediapipe.tasks.audio.audio_embedder.AudioEmbedderGraph")),Bt(r,3,"AUDIO:audio_in"),Bt(r,3,"SAMPLE_RATE:sample_rate"),Bt(r,4,"EMBEDDINGS:embeddings_out"),Bt(r,4,"TIMESTAMPED_EMBEDDINGS:timestamped_embeddings_out"),r.o(t),I1(e,r),this.g.attachProtoListener("embeddings_out",((n,i)=>{n=K0(n),this.m.push(Z0(n)),Ki(this,i)})),this.g.attachEmptyPacketListener("embeddings_out",(n=>{Ki(this,n)})),this.g.attachProtoVectorListener("timestamped_embeddings_out",((n,i)=>{for(let o of n)n=K0(o),this.m.push(Z0(n));Ki(this,i)})),this.g.attachEmptyPacketListener("timestamped_embeddings_out",(n=>{Ki(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}},Za;Lr.prototype.embed=Lr.prototype.L,Lr.prototype.setOptions=Lr.prototype.o,Lr.createFromModelPath=function(e,t){return Jo(Lr,e,{baseOptions:{modelAssetPath:t}})},Lr.createFromModelBuffer=function(e,t){return Jo(Lr,e,{baseOptions:{modelAssetBuffer:t}})},Lr.createFromOptions=function(e,t){return Jo(Lr,e,t)};var Aw=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function v2(){if(Za===void 0)try{await WebAssembly.instantiate(Aw),Za=!0}catch{Za=!1}return Za}async function $o(e,t=uw``){let r=await v2()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var yn=class{};yn.forVisionTasks=function(e){return $o("vision",e)},yn.forTextTasks=function(e){return $o("text",e)},yn.forGenAiExperimentalTasks=function(e){return $o("genai_experimental",e)},yn.forGenAiTasks=function(e){return $o("genai",e)},yn.forAudioTasks=function(e){return $o("audio",e)},yn.isSimdSupported=function(){return v2()};function Tw(e,t){let r=e.reduce((a,c)=>a+c.length,0),n=new ArrayBuffer(44+r*2),i=new DataView(n),o=(a,c,l)=>{for(let h=0;h<l.length;h++)a.setUint8(c+h,l.charCodeAt(h))};o(i,0,"RIFF"),i.setUint32(4,36+r*2,!0),o(i,8,"WAVE"),o(i,12,"fmt "),i.setUint32(16,16,!0),i.setUint16(20,1,!0),i.setUint16(22,1,!0),i.setUint32(24,t,!0),i.setUint32(28,t*2,!0),i.setUint16(32,2,!0),i.setUint16(34,16,!0),o(i,36,"data"),i.setUint32(40,r*2,!0);let s=44;for(let a of e)for(let c=0;c<a.length;c++){let l=Math.max(-1,Math.min(1,a[c]));i.setInt16(s,l<0?l*32768:l*32767,!0),s+=2}return new Blob([i],{type:"audio/wav"})}var Tc=class{constructor(t,r,n,i,o,s,a){this.recordingInProgress=!1;this.recordIndex=1;this.countLoopTimes=0;this.recordingStartTime=0;this.recordingEndTime=0;this.isSpeech=!1;this.preRollBuffer=[];this.recordingChunks=[];this.PRE_ROLL_SECONDS=2;this.SAMPLE_RATE=16e3;this.MAX_PRE_ROLL_CHUNKS=4;this.lastNoiseTime=0;this.SILENCE_THRESHOLD=3e3;this.filesToUpload=[];this.optionsProctoring=t,this.proctoringSession=r,this.paramsConfig=n,this.cameraRecorder=i,this.onRealtimeAlertsCallback=o,this.backend=s,this.backendToken=a}setProctoringId(t){this.proctoringId=t,this.proctoringId&&this.backend&&(this.upload=new Yr(this.proctoringId,this.backend))}async startRecording(){await this.createAudioClassifier(),this.intervalNoiseDetection=setInterval(()=>this.onNoiseDetectedRecord(),200),this.streamingAudioClassification()}async stopRecording(){clearInterval(this.intervalNoiseDetection),await this.stopSoundRecord(),await this.volumeMeter&&this.volumeMeter.stop(),this.audioWorkletNode&&this.audioWorkletNode.disconnect(),this.context&&this.context.close()}async pauseRecording(){}async resumeRecording(){}async saveOnSession(t){}async onNoiseDetectedRecord(){!this.volumeMeter&&this.cameraRecorder.cameraStream&&(this.volumeMeter=new Hi(this.cameraRecorder.cameraStream),this.volumeMeter.start().catch(i=>{console.log(i),this.volumeMeter=void 0}));let t=this.paramsConfig.audioBehaviourParameters?.noiseLimit||40,r=this.volumeMeter?.getVolume()||0;this.isSpeech=this.isSpeech||this.hasDesiredResult(this.audioClassificationResult),!this.isSpeech&&!this.recordingInProgress&&(t=t*1.25);let n=r>=t;if(n&&(this.lastNoiseTime=Date.now()),n&&!this.recordingInProgress){this.recordingInProgress=!0,this.recordingChunks=[...this.preRollBuffer];let o=this.preRollBuffer.reduce((a,c)=>a+c.length,0)/this.SAMPLE_RATE*1e3,s=Date.now()-(this.cameraRecorder.getStartTime()?.getTime()||0);this.recordingStartTime=s-o,this.recordingStartTime<0&&(this.recordingStartTime=0)}else if(this.recordingInProgress){let i=Date.now()-this.lastNoiseTime,o=Date.now()-this.recordingStartTime;i>=this.SILENCE_THRESHOLD&&o>=3e3&&this.countLoopTimes>4&&(await this.stopSoundRecord(),this.paramsConfig.videoBehaviourParameters?.detectNoise&&!this.isSpeech&&this.onRealtimeAlertsCallback({begin:Date.now()-(this.cameraRecorder.getStartTime()?.getTime()||0),end:Date.now()-(this.cameraRecorder.getStartTime()?.getTime()||0),status:"ALERT",description:"Barulho detectado",type:"audio_detection_on_stream"}),this.paramsConfig.videoBehaviourParameters?.detectSpeech&&this.isSpeech&&this.onRealtimeAlertsCallback({begin:Date.now()-(this.cameraRecorder.getStartTime()?.getTime()||0),end:Date.now()-(this.cameraRecorder.getStartTime()?.getTime()||0),status:"ALERT",description:"Fala detectada",type:"audio_detection_on_stream"}),this.recordingInProgress=!1,this.recordIndex++,this.countLoopTimes=0,this.isSpeech=!1),this.countLoopTimes++}}async stopSoundRecord(){if(!this.recordingInProgress&&this.recordingChunks.length===0||(this.recordingEndTime=Date.now()-(this.cameraRecorder.getStartTime()?.getTime()||0),this.optionsProctoring.proctoringType!=="REALTIME"))return;let t=Tw(this.recordingChunks,this.SAMPLE_RATE),r=new File([t],`EP_${this.proctoringSession.id}_${this.recordingStartTime}_${this.recordingEndTime}_${this.isSpeech?"speech":"noise"}.wav`,{type:"audio/wav"}),n=[...this.filesToUpload];for(let i of n)try{await this.upload?.upload({file:i},this.backendToken),this.filesToUpload.splice(this.filesToUpload.indexOf(i),1)}catch{break}try{r&&this.upload&&this.backendToken&&this.upload.upload({file:r},this.backendToken)}catch(i){console.log("error Noise recorder adicionando na fila",i),this.filesToUpload.push(r)}this.recordingChunks=[],this.recordingInProgress=!1}download(t){let r=URL.createObjectURL(t),n=document.createElement("a");document.body.appendChild(n),n.style.display="none",n.href=r,n.download=t.name,n.click(),window.URL.revokeObjectURL(r)}hasDesiredResult(t){if(t==null)return!1;for(let r of t){let n=r.name.toLowerCase().includes("speech");if(this.optionsProctoring.proctoringType!=="REALTIME")return n;let i=parseFloat(r.score)>.22;if(n&&i)return!0}return!1}async createAudioClassifier(){let t=await yn.forAudioTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-audio@0.10.0/wasm");this.audioClassifier=await sr.createFromOptions(t,{scoreThreshold:.15,maxResults:1,baseOptions:{modelAssetPath:"https://storage.googleapis.com/mediapipe-models/audio_classifier/yamnet/float32/1/yamnet.tflite"}})}async streamingAudioClassification(){this.context=new AudioContext({sampleRate:this.SAMPLE_RATE});try{await this.context.audioWorklet.addModule(URL.createObjectURL(new Blob([Iw],{type:"text/javascript"})))}catch{throw new Error("\u274C Error loading audio worklet module")}let t=this.context.createMediaStreamSource(this.cameraRecorder.cameraStream);this.audioWorkletNode=new AudioWorkletNode(this.context,"audio-processor"),this.audioWorkletNode.port.onmessage=r=>{let n=r.data;this.preRollBuffer.push(n),this.preRollBuffer.length>this.MAX_PRE_ROLL_CHUNKS&&this.preRollBuffer.shift(),this.recordingInProgress&&this.recordingChunks.push(n);let o=this.audioClassifier.classify(n)[0].classifications[0].categories;o.length>0&&(this.audioClassificationResult=[{name:o[0].categoryName,score:o[0].score.toFixed(3)}])},t.connect(this.audioWorkletNode),this.audioWorkletNode.connect(this.context.destination)}},Iw=`
439
442
  class AudioProcessor extends AudioWorkletProcessor {
440
443
  bufferSize;
441
444
  inputBuffer;
@@ -472,7 +475,7 @@ Error: ${a.message}
472
475
  }
473
476
 
474
477
  registerProcessor("audio-processor", AudioProcessor);
475
- `;var m2=kd(),x3=m2.default||m2,Cc=class{constructor(t){this.blobs=[];this.blobsFinal=[];this.duration=0;this.options=t}setProctoringId(t){this.proctoringId=t,Ba(t)}async startRecording(){if(this.startTime=new Date(Date.now()),Fr())return;let{allowOnlyFirstMonitor:t,allowMultipleMonitors:r,onStopSharingScreenCallback:n,onBufferSizeErrorCallback:i}=this.options,o={video:{cursor:"always",width:this.options.screenRecorderOptions.width,height:this.options.screenRecorderOptions.height,displaySurface:"monitor"},audio:!1},s={video:{cursor:"always",width:1280,height:720,displaySurface:"monitor"},audio:!1},a;try{a=await navigator.mediaDevices.getDisplayMedia(o)}catch(f){if(f instanceof TypeError&&f.message.includes("min constraints are not supported"))console.warn("Navegador n\xE3o suporta restri\xE7\xF5es 'min/max/ideal'. Tentando com 720p fixo."),a=await navigator.mediaDevices.getDisplayMedia(s);else throw f}this.screenStream=a;let c=this.screenStream.getVideoTracks();if(c[0].onended=n,navigator.userAgent.indexOf("Firefox")>-1){let f=c.find(b=>b.label=="");if(f&&t||f&&!r)throw Ua}let h=c.find(f=>["screen:0:0","Primary Monitor"].includes(f.label))!=null,d=c.find(f=>["screen:0:0","Primary Monitor",""].includes(f.label)||["screen:"].some(b=>f.label.includes(b)))!=null,m=c.find(f=>["web-contents-media-stream","window"].some(b=>f.label.includes(b)))!=null;if(!h&&t)throw c.forEach(f=>{f.stop()}),Kg;if(!d||m)throw c.forEach(f=>{f.stop()}),Xg;let{startRecording:p,stopRecording:g}=Vo(this.screenStream,this.blobs,this.options.onBufferSizeError,i);this.recordingStart=p,this.recordingStop=g,this.recordingStart()}async pauseRecording(){}async resumeRecording(){}async stopRecording(){this.recordingStop&&await this.recordingStop(),this.duration=Date.now()-this.startTime?.getTime()||0}async saveOnSession(t){if(Fr())return;let r=new Blob(this.blobs,{type:"video/webm"}),i=await(await x3(r,this.duration)).arrayBuffer();t.addRecording({device:"",arrayBuffer:i,origin:"Screen"})}};var rs=class{constructor(t,r){this.dbName="EasyProctorDb";this.dbVersion=2;this.storeName="exams2";this.dbName=t,this.storeName=r}async save(t){let{transaction:r,store:n}=await this.connectToStore("readwrite");return this.processRequest(n.put(t),r).then(()=>{})}async delete(t){let{transaction:r,store:n}=await this.connectToStore("readwrite");return this.processRequest(n.delete(t),r)}async get(t){let{transaction:r,store:n}=await this.connectToStore("readwrite");return this.processRequest(n.get(t),r).catch(()=>{})}async getDevices(t){let{transaction:r,store:n}=await this.connectToStore("readwrite");return this.processRequest(n.get(t),r).catch(()=>{})}async list(){let{transaction:t,store:r}=await this.connectToStore("readonly");return this.processRequest(r.getAll(),t)}async clear(){let{transaction:t,store:r}=await this.connectToStore("readwrite");return this.processRequest(r.clear(),t)}async processRequest(t,r){return new Promise((n,i)=>{t.onerror=o=>{i(t.error?.message)},t.onsuccess=o=>{r.commit(),n(t.result)}})}async hasSessions(){return(await this.list()).length>0}async connectToStore(t){let i=(await this.connect()).result.transaction(this.storeName,t),o=i.objectStore(this.storeName);return{transaction:i,store:o}}async connect(){return this.connection?this.connection:new Promise((t,r)=>{let n=window.indexedDB.open(this.dbName,this.dbVersion);n.onerror=i=>{r("Can't connect to IndexedDB")},n.onupgradeneeded=i=>{let o=n.result;o.onerror=s=>{},o.createObjectStore(this.storeName,{keyPath:"id"})},n.onsuccess=i=>{this.connection=n,t(n)}})}};function g2(){return new Promise((e,t)=>{window.navigator.geolocation.getCurrentPosition(e,t)})}var Ac=class{constructor(t,r){this.cpf=t,this.backend=r,this.capturePhoto=new Hi}async login(){let t=await this.capturePhoto.takePicture("Login com biometria facial","Encaixe seu rosto no formato e clique no bot\xE3o abaixo",{width:1280,height:720});return this.loading(),new Promise((r,n)=>{this.backend.loginAuth(this.cpf,t.base64.substr(22,t.base64.length)).then(i=>{this.token=i.token,document.querySelector("#authLoader")?.remove(),this.backend.token=this.token,r(this.token)}).catch(i=>{console.log(i),document.querySelector("#authLoader")?.remove(),n(i)})})}loading(){let t=document.createElement("div");t.setAttribute("id","authLoader"),t.style.backgroundColor="rgba(0,0,0,0.4)",t.style.zIndex="1000",t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.height="100vh",t.style.width="100%",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center";let r=document.createElement("div");r.setAttribute("class","loader"),t.appendChild(r),document.body.appendChild(t);let n=`
478
+ `;var _2=xd(),w2=_2.default||_2,Ic=class{constructor(t){this.blobs=[];this.blobsFinal=[];this.duration=0;this.options=t}setProctoringId(t){this.proctoringId=t,Oa(t)}async startRecording(){if(this.startTime=new Date(Date.now()),_r())return;let{allowOnlyFirstMonitor:t,allowMultipleMonitors:r,onStopSharingScreenCallback:n,onBufferSizeErrorCallback:i}=this.options,o={video:{cursor:"always",width:this.options.screenRecorderOptions.width,height:this.options.screenRecorderOptions.height,displaySurface:"monitor"},audio:!1},s={video:{cursor:"always",width:1280,height:720,displaySurface:"monitor"},audio:!1},a;try{a=await navigator.mediaDevices.getDisplayMedia(o)}catch(u){if(u instanceof TypeError&&u.message.includes("min constraints are not supported"))console.warn("Navegador n\xE3o suporta restri\xE7\xF5es 'min/max/ideal'. Tentando com 720p fixo."),a=await navigator.mediaDevices.getDisplayMedia(s);else throw u}this.screenStream=a;let c=this.screenStream.getVideoTracks();if(c[0].onended=n,navigator.userAgent.indexOf("Firefox")>-1){let u=c.find(b=>b.label=="");if(u&&t||u&&!r)throw Fa}let h=c.find(u=>["screen:0:0","Primary Monitor"].includes(u.label))!=null,d=c.find(u=>["screen:0:0","Primary Monitor",""].includes(u.label)||["screen:"].some(b=>u.label.includes(b)))!=null,g=c.find(u=>["web-contents-media-stream","window"].some(b=>u.label.includes(b)))!=null;if(!h&&t)throw c.forEach(u=>{u.stop()}),Zg;if(!d||g)throw c.forEach(u=>{u.stop()}),Qg;let{startRecording:p,stopRecording:m}=Ho(this.screenStream,this.blobs,this.options.onBufferSizeError,i);this.recordingStart=p,this.recordingStop=m,this.recordingStart()}async pauseRecording(){}async resumeRecording(){}async stopRecording(){this.recordingStop&&await this.recordingStop(),this.duration=Date.now()-this.startTime?.getTime()||0}async saveOnSession(t){if(_r())return;let r=new Blob(this.blobs,{type:"video/webm"}),n=r;typeof w2=="function"?n=await w2(r,this.duration):console.warn("fixWebmDuration n\xE3o dispon\xEDvel"),t.addRecording({device:"",arrayBuffer:await n.arrayBuffer(),origin:"Screen"})}};var ns=class{constructor(t,r){this.dbName="EasyProctorDb";this.dbVersion=2;this.storeName="exams2";this.dbName=t,this.storeName=r}async save(t){let{transaction:r,store:n}=await this.connectToStore("readwrite");return this.processRequest(n.put(t),r).then(()=>{})}async delete(t){let{transaction:r,store:n}=await this.connectToStore("readwrite");return this.processRequest(n.delete(t),r)}async get(t){let{transaction:r,store:n}=await this.connectToStore("readwrite");return this.processRequest(n.get(t),r).catch(()=>{})}async getDevices(t){let{transaction:r,store:n}=await this.connectToStore("readwrite");return this.processRequest(n.get(t),r).catch(()=>{})}async list(){let{transaction:t,store:r}=await this.connectToStore("readonly");return this.processRequest(r.getAll(),t)}async clear(){let{transaction:t,store:r}=await this.connectToStore("readwrite");return this.processRequest(r.clear(),t)}async processRequest(t,r){return new Promise((n,i)=>{t.onerror=o=>{i(t.error?.message)},t.onsuccess=o=>{r.commit(),n(t.result)}})}async hasSessions(){return(await this.list()).length>0}async connectToStore(t){let i=(await this.connect()).result.transaction(this.storeName,t),o=i.objectStore(this.storeName);return{transaction:i,store:o}}async connect(){return this.connection?this.connection:new Promise((t,r)=>{let n=window.indexedDB.open(this.dbName,this.dbVersion);n.onerror=i=>{r("Can't connect to IndexedDB")},n.onupgradeneeded=i=>{let o=n.result;o.onerror=s=>{},o.createObjectStore(this.storeName,{keyPath:"id"})},n.onsuccess=i=>{this.connection=n,t(n)}})}};function S2(){return new Promise((e,t)=>{window.navigator.geolocation.getCurrentPosition(e,t)})}var Rc=class{constructor(t,r){this.cpf=t,this.backend=r,this.capturePhoto=new Wi}async login(){let t=await this.capturePhoto.takePicture("Login com biometria facial","Encaixe seu rosto no formato e clique no bot\xE3o abaixo",{width:1280,height:720});return this.loading(),new Promise((r,n)=>{this.backend.loginAuth(this.cpf,t.base64.substr(22,t.base64.length)).then(i=>{this.token=i.token,document.querySelector("#authLoader")?.remove(),this.backend.token=this.token,r(this.token)}).catch(i=>{console.log(i),document.querySelector("#authLoader")?.remove(),n(i)})})}loading(){let t=document.createElement("div");t.setAttribute("id","authLoader"),t.style.backgroundColor="rgba(0,0,0,0.4)",t.style.zIndex="1000",t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.height="100vh",t.style.width="100%",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center";let r=document.createElement("div");r.setAttribute("class","loader"),t.appendChild(r),document.body.appendChild(t);let n=`
476
479
  .loader {
477
480
  border: 6px solid #f3f3f3;
478
481
  border-radius: 50%;
@@ -493,30 +496,30 @@ registerProcessor("audio-processor", AudioProcessor);
493
496
  0% { transform: rotate(0deg); }
494
497
  100% { transform: rotate(360deg); }
495
498
  }
496
- `,i=document.createElement("style");i.innerHTML=n,document.head.appendChild(i)}};var Tc=class{constructor(){this.baseUrl="http://localhost:7485/Station/api"}async isAlive(){return(await this.makeRequestAxios({path:"/health",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async setProctoringId(t){return(await this.makeRequestAxios({path:"/update-station/"+t,method:"POST",jwt:this.token}).catch(n=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async makeRequestAxios(t){let{path:r,method:n,body:i,jwt:o}=t,s=await Wt.request({url:this.baseUrl+r,method:n,headers:{Authorization:`Bearer ${o}`,"Access-Control-Allow-Origin":"*"},data:i});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";return s}};var Gt=class extends Error{constructor(t,r){let n=new.target.prototype;super(`${t}: Status code '${r}'`),this.statusCode=r,this.__proto__=n}},En=class extends Error{constructor(t="A timeout occurred."){let r=new.target.prototype;super(t),this.__proto__=r}},dt=class extends Error{constructor(t="An abort occurred."){let r=new.target.prototype;super(t),this.__proto__=r}},Ic=class extends Error{constructor(t,r){let n=new.target.prototype;super(t),this.transport=r,this.errorType="UnsupportedTransportError",this.__proto__=n}},Rc=class extends Error{constructor(t,r){let n=new.target.prototype;super(t),this.transport=r,this.errorType="DisabledTransportError",this.__proto__=n}},Pc=class extends Error{constructor(t,r){let n=new.target.prototype;super(t),this.transport=r,this.errorType="FailedToStartTransportError",this.__proto__=n}},ns=class extends Error{constructor(t){let r=new.target.prototype;super(t),this.errorType="FailedToNegotiateWithServerError",this.__proto__=r}},Dc=class extends Error{constructor(t,r){let n=new.target.prototype;super(t),this.innerErrors=r,this.__proto__=n}};var no=class{constructor(t,r,n){this.statusCode=t,this.statusText=r,this.content=n}},Mr=class{get(t,r){return this.send({...r,method:"GET",url:t})}post(t,r){return this.send({...r,method:"POST",url:t})}delete(t,r){return this.send({...r,method:"DELETE",url:t})}getCookieString(t){return""}};var F;(function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"})(F||(F={}));var Nr=class{constructor(){}log(t,r){}};Nr.instance=new Nr;var y2="9.0.6";var Ce=class{static isRequired(t,r){if(t==null)throw new Error(`The '${r}' argument is required.`)}static isNotEmpty(t,r){if(!t||t.match(/^\s*$/))throw new Error(`The '${r}' argument should not be empty.`)}static isIn(t,r,n){if(!(t in r))throw new Error(`Unknown ${n} value: ${t}.`)}},Te=class e{static get isBrowser(){return!e.isNode&&typeof window=="object"&&typeof window.document=="object"}static get isWebWorker(){return!e.isNode&&typeof self=="object"&&"importScripts"in self}static get isReactNative(){return!e.isNode&&typeof window=="object"&&typeof window.document>"u"}static get isNode(){return typeof process<"u"&&process.release&&process.release.name==="node"}};function Cn(e,t){let r="";return Er(e)?(r=`Binary data of length ${e.byteLength}`,t&&(r+=`. Content: '${E3(e)}'`)):typeof e=="string"&&(r=`String data of length ${e.length}`,t&&(r+=`. Content: '${e}'`)),r}function E3(e){let t=new Uint8Array(e),r="";return t.forEach(n=>{let i=n<16?"0":"";r+=`0x${i}${n.toString(16)} `}),r.substr(0,r.length-1)}function Er(e){return e&&typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||e.constructor&&e.constructor.name==="ArrayBuffer")}async function Oc(e,t,r,n,i,o){let s={},[a,c]=zr();s[a]=c,e.log(F.Trace,`(${t} transport) sending data. ${Cn(i,o.logMessageContent)}.`);let l=Er(i)?"arraybuffer":"text",h=await r.post(n,{content:i,headers:{...s,...o.headers},responseType:l,timeout:o.timeout,withCredentials:o.withCredentials});e.log(F.Trace,`(${t} transport) request complete. Response status: ${h.statusCode}.`)}function b2(e){return e===void 0?new Qn(F.Information):e===null?Nr.instance:e.log!==void 0?e:new Qn(e)}var Bc=class{constructor(t,r){this._subject=t,this._observer=r}dispose(){let t=this._subject.observers.indexOf(this._observer);t>-1&&this._subject.observers.splice(t,1),this._subject.observers.length===0&&this._subject.cancelCallback&&this._subject.cancelCallback().catch(r=>{})}},Qn=class{constructor(t){this._minLevel=t,this.out=console}log(t,r){if(t>=this._minLevel){let n=`[${new Date().toISOString()}] ${F[t]}: ${r}`;switch(t){case F.Critical:case F.Error:this.out.error(n);break;case F.Warning:this.out.warn(n);break;case F.Information:this.out.info(n);break;default:this.out.log(n);break}}}};function zr(){let e="X-SignalR-User-Agent";return Te.isNode&&(e="User-Agent"),[e,C3(y2,A3(),I3(),T3())]}function C3(e,t,r,n){let i="Microsoft SignalR/",o=e.split(".");return i+=`${o[0]}.${o[1]}`,i+=` (${e}; `,t&&t!==""?i+=`${t}; `:i+="Unknown OS; ",i+=`${r}`,n?i+=`; ${n}`:i+="; Unknown Runtime Version",i+=")",i}function A3(){if(Te.isNode)switch(process.platform){case"win32":return"Windows NT";case"darwin":return"macOS";case"linux":return"Linux";default:return process.platform}else return""}function T3(){if(Te.isNode)return process.versions.node}function I3(){return Te.isNode?"NodeJS":"Browser"}function Uc(e){return e.stack?e.stack:e.message?e.message:`${e}`}function v2(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("could not find global")}var Fc=class extends Mr{constructor(t){if(super(),this._logger=t,typeof fetch>"u"||Te.isNode){let r=typeof __webpack_require__=="function"?__non_webpack_require__:ur;this._jar=new(r("tough-cookie")).CookieJar,typeof fetch>"u"?this._fetchType=r("node-fetch"):this._fetchType=fetch,this._fetchType=r("fetch-cookie")(this._fetchType,this._jar)}else this._fetchType=fetch.bind(v2());if(typeof AbortController>"u"){let r=typeof __webpack_require__=="function"?__non_webpack_require__:ur;this._abortControllerType=r("abort-controller")}else this._abortControllerType=AbortController}async send(t){if(t.abortSignal&&t.abortSignal.aborted)throw new dt;if(!t.method)throw new Error("No method defined.");if(!t.url)throw new Error("No url defined.");let r=new this._abortControllerType,n;t.abortSignal&&(t.abortSignal.onabort=()=>{r.abort(),n=new dt});let i=null;if(t.timeout){let c=t.timeout;i=setTimeout(()=>{r.abort(),this._logger.log(F.Warning,"Timeout from HTTP request."),n=new En},c)}t.content===""&&(t.content=void 0),t.content&&(t.headers=t.headers||{},Er(t.content)?t.headers["Content-Type"]="application/octet-stream":t.headers["Content-Type"]="text/plain;charset=UTF-8");let o;try{o=await this._fetchType(t.url,{body:t.content,cache:"no-cache",credentials:t.withCredentials===!0?"include":"same-origin",headers:{"X-Requested-With":"XMLHttpRequest",...t.headers},method:t.method,mode:"cors",redirect:"follow",signal:r.signal})}catch(c){throw n||(this._logger.log(F.Warning,`Error from HTTP request. ${c}.`),c)}finally{i&&clearTimeout(i),t.abortSignal&&(t.abortSignal.onabort=null)}if(!o.ok){let c=await _2(o,"text");throw new Gt(c||o.statusText,o.status)}let a=await _2(o,t.responseType);return new no(o.status,o.statusText,a)}getCookieString(t){let r="";return Te.isNode&&this._jar&&this._jar.getCookies(t,(n,i)=>r=i.join("; ")),r}};function _2(e,t){let r;switch(t){case"arraybuffer":r=e.arrayBuffer();break;case"text":r=e.text();break;case"blob":case"document":case"json":throw new Error(`${t} is not supported.`);default:r=e.text();break}return r}var Lc=class extends Mr{constructor(t){super(),this._logger=t}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new dt):t.method?t.url?new Promise((r,n)=>{let i=new XMLHttpRequest;i.open(t.method,t.url,!0),i.withCredentials=t.withCredentials===void 0?!0:t.withCredentials,i.setRequestHeader("X-Requested-With","XMLHttpRequest"),t.content===""&&(t.content=void 0),t.content&&(Er(t.content)?i.setRequestHeader("Content-Type","application/octet-stream"):i.setRequestHeader("Content-Type","text/plain;charset=UTF-8"));let o=t.headers;o&&Object.keys(o).forEach(s=>{i.setRequestHeader(s,o[s])}),t.responseType&&(i.responseType=t.responseType),t.abortSignal&&(t.abortSignal.onabort=()=>{i.abort(),n(new dt)}),t.timeout&&(i.timeout=t.timeout),i.onload=()=>{t.abortSignal&&(t.abortSignal.onabort=null),i.status>=200&&i.status<300?r(new no(i.status,i.statusText,i.response||i.responseText)):n(new Gt(i.response||i.responseText||i.statusText,i.status))},i.onerror=()=>{this._logger.log(F.Warning,`Error from HTTP request. ${i.status}: ${i.statusText}.`),n(new Gt(i.statusText,i.status))},i.ontimeout=()=>{this._logger.log(F.Warning,"Timeout from HTTP request."),n(new En)},i.send(t.content)}):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}};var Mc=class extends Mr{constructor(t){if(super(),typeof fetch<"u"||Te.isNode)this._httpClient=new Fc(t);else if(typeof XMLHttpRequest<"u")this._httpClient=new Lc(t);else throw new Error("No usable HttpClient found.")}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new dt):t.method?t.url?this._httpClient.send(t):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}getCookieString(t){return this._httpClient.getCookieString(t)}};var qt=class e{static write(t){return`${t}${e.RecordSeparator}`}static parse(t){if(t[t.length-1]!==e.RecordSeparator)throw new Error("Message is incomplete.");let r=t.split(e.RecordSeparator);return r.pop(),r}};qt.RecordSeparatorCode=30;qt.RecordSeparator=String.fromCharCode(qt.RecordSeparatorCode);var Nc=class{writeHandshakeRequest(t){return qt.write(JSON.stringify(t))}parseHandshakeResponse(t){let r,n;if(Er(t)){let a=new Uint8Array(t),c=a.indexOf(qt.RecordSeparatorCode);if(c===-1)throw new Error("Message is incomplete.");let l=c+1;r=String.fromCharCode.apply(null,Array.prototype.slice.call(a.slice(0,l))),n=a.byteLength>l?a.slice(l).buffer:null}else{let a=t,c=a.indexOf(qt.RecordSeparator);if(c===-1)throw new Error("Message is incomplete.");let l=c+1;r=a.substring(0,l),n=a.length>l?a.substring(l):null}let i=qt.parse(r),o=JSON.parse(i[0]);if(o.type)throw new Error("Expected a handshake response from the server.");return[n,o]}};var he;(function(e){e[e.Invocation=1]="Invocation",e[e.StreamItem=2]="StreamItem",e[e.Completion=3]="Completion",e[e.StreamInvocation=4]="StreamInvocation",e[e.CancelInvocation=5]="CancelInvocation",e[e.Ping=6]="Ping",e[e.Close=7]="Close",e[e.Ack=8]="Ack",e[e.Sequence=9]="Sequence"})(he||(he={}));var zc=class{constructor(){this.observers=[]}next(t){for(let r of this.observers)r.next(t)}error(t){for(let r of this.observers)r.error&&r.error(t)}complete(){for(let t of this.observers)t.complete&&t.complete()}subscribe(t){return this.observers.push(t),new Bc(this,t)}};var jc=class{constructor(t,r,n){this._bufferSize=1e5,this._messages=[],this._totalMessageCount=0,this._waitForSequenceMessage=!1,this._nextReceivingSequenceId=1,this._latestReceivedSequenceId=0,this._bufferedByteCount=0,this._reconnectInProgress=!1,this._protocol=t,this._connection=r,this._bufferSize=n}async _send(t){let r=this._protocol.writeMessage(t),n=Promise.resolve();if(this._isInvocationMessage(t)){this._totalMessageCount++;let i=()=>{},o=()=>{};Er(r)?this._bufferedByteCount+=r.byteLength:this._bufferedByteCount+=r.length,this._bufferedByteCount>=this._bufferSize&&(n=new Promise((s,a)=>{i=s,o=a})),this._messages.push(new Au(r,this._totalMessageCount,i,o))}try{this._reconnectInProgress||await this._connection.send(r)}catch{this._disconnected()}await n}_ack(t){let r=-1;for(let n=0;n<this._messages.length;n++){let i=this._messages[n];if(i._id<=t.sequenceId)r=n,Er(i._message)?this._bufferedByteCount-=i._message.byteLength:this._bufferedByteCount-=i._message.length,i._resolver();else if(this._bufferedByteCount<this._bufferSize)i._resolver();else break}r!==-1&&(this._messages=this._messages.slice(r+1))}_shouldProcessMessage(t){if(this._waitForSequenceMessage)return t.type!==he.Sequence?!1:(this._waitForSequenceMessage=!1,!0);if(!this._isInvocationMessage(t))return!0;let r=this._nextReceivingSequenceId;return this._nextReceivingSequenceId++,r<=this._latestReceivedSequenceId?(r===this._latestReceivedSequenceId&&this._ackTimer(),!1):(this._latestReceivedSequenceId=r,this._ackTimer(),!0)}_resetSequence(t){if(t.sequenceId>this._nextReceivingSequenceId){this._connection.stop(new Error("Sequence ID greater than amount of messages we've received."));return}this._nextReceivingSequenceId=t.sequenceId}_disconnected(){this._reconnectInProgress=!0,this._waitForSequenceMessage=!0}async _resend(){let t=this._messages.length!==0?this._messages[0]._id:this._totalMessageCount+1;await this._connection.send(this._protocol.writeMessage({type:he.Sequence,sequenceId:t}));let r=this._messages;for(let n of r)await this._connection.send(n._message);this._reconnectInProgress=!1}_dispose(t){t??(t=new Error("Unable to reconnect to server."));for(let r of this._messages)r._rejector(t)}_isInvocationMessage(t){switch(t.type){case he.Invocation:case he.StreamItem:case he.Completion:case he.StreamInvocation:case he.CancelInvocation:return!0;case he.Close:case he.Sequence:case he.Ping:case he.Ack:return!1}}_ackTimer(){this._ackTimerHandle===void 0&&(this._ackTimerHandle=setTimeout(async()=>{try{this._reconnectInProgress||await this._connection.send(this._protocol.writeMessage({type:he.Ack,sequenceId:this._latestReceivedSequenceId}))}catch{}clearTimeout(this._ackTimerHandle),this._ackTimerHandle=void 0},1e3))}},Au=class{constructor(t,r,n,i){this._message=t,this._id=r,this._resolver=n,this._rejector=i}};var R3=30*1e3,P3=15*1e3,D3=1e5,Ne;(function(e){e.Disconnected="Disconnected",e.Connecting="Connecting",e.Connected="Connected",e.Disconnecting="Disconnecting",e.Reconnecting="Reconnecting"})(Ne||(Ne={}));var Vc=class e{static create(t,r,n,i,o,s,a){return new e(t,r,n,i,o,s,a)}constructor(t,r,n,i,o,s,a){this._nextKeepAlive=0,this._freezeEventListener=()=>{this._logger.log(F.Warning,"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://learn.microsoft.com/aspnet/core/signalr/javascript-client#bsleep")},Ce.isRequired(t,"connection"),Ce.isRequired(r,"logger"),Ce.isRequired(n,"protocol"),this.serverTimeoutInMilliseconds=o??R3,this.keepAliveIntervalInMilliseconds=s??P3,this._statefulReconnectBufferSize=a??D3,this._logger=r,this._protocol=n,this.connection=t,this._reconnectPolicy=i,this._handshakeProtocol=new Nc,this.connection.onreceive=c=>this._processIncomingData(c),this.connection.onclose=c=>this._connectionClosed(c),this._callbacks={},this._methods={},this._closedCallbacks=[],this._reconnectingCallbacks=[],this._reconnectedCallbacks=[],this._invocationId=0,this._receivedHandshakeResponse=!1,this._connectionState=Ne.Disconnected,this._connectionStarted=!1,this._cachedPingMessage=this._protocol.writeMessage({type:he.Ping})}get state(){return this._connectionState}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||""}set baseUrl(t){if(this._connectionState!==Ne.Disconnected&&this._connectionState!==Ne.Reconnecting)throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url.");if(!t)throw new Error("The HubConnection url must be a valid url.");this.connection.baseUrl=t}start(){return this._startPromise=this._startWithStateTransitions(),this._startPromise}async _startWithStateTransitions(){if(this._connectionState!==Ne.Disconnected)return Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."));this._connectionState=Ne.Connecting,this._logger.log(F.Debug,"Starting HubConnection.");try{await this._startInternal(),Te.isBrowser&&window.document.addEventListener("freeze",this._freezeEventListener),this._connectionState=Ne.Connected,this._connectionStarted=!0,this._logger.log(F.Debug,"HubConnection connected successfully.")}catch(t){return this._connectionState=Ne.Disconnected,this._logger.log(F.Debug,`HubConnection failed to start successfully because of error '${t}'.`),Promise.reject(t)}}async _startInternal(){this._stopDuringStartError=void 0,this._receivedHandshakeResponse=!1;let t=new Promise((r,n)=>{this._handshakeResolver=r,this._handshakeRejecter=n});await this.connection.start(this._protocol.transferFormat);try{let r=this._protocol.version;this.connection.features.reconnect||(r=1);let n={protocol:this._protocol.name,version:r};if(this._logger.log(F.Debug,"Sending handshake request."),await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(n)),this._logger.log(F.Information,`Using HubProtocol '${this._protocol.name}'.`),this._cleanupTimeout(),this._resetTimeoutPeriod(),this._resetKeepAliveInterval(),await t,this._stopDuringStartError)throw this._stopDuringStartError;(this.connection.features.reconnect||!1)&&(this._messageBuffer=new jc(this._protocol,this.connection,this._statefulReconnectBufferSize),this.connection.features.disconnected=this._messageBuffer._disconnected.bind(this._messageBuffer),this.connection.features.resend=()=>{if(this._messageBuffer)return this._messageBuffer._resend()}),this.connection.features.inherentKeepAlive||await this._sendMessage(this._cachedPingMessage)}catch(r){throw this._logger.log(F.Debug,`Hub handshake failed with error '${r}' during start(). Stopping HubConnection.`),this._cleanupTimeout(),this._cleanupPingTimer(),await this.connection.stop(r),r}}async stop(){let t=this._startPromise;this.connection.features.reconnect=!1,this._stopPromise=this._stopInternal(),await this._stopPromise;try{await t}catch{}}_stopInternal(t){if(this._connectionState===Ne.Disconnected)return this._logger.log(F.Debug,`Call to HubConnection.stop(${t}) ignored because it is already in the disconnected state.`),Promise.resolve();if(this._connectionState===Ne.Disconnecting)return this._logger.log(F.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;let r=this._connectionState;return this._connectionState=Ne.Disconnecting,this._logger.log(F.Debug,"Stopping HubConnection."),this._reconnectDelayHandle?(this._logger.log(F.Debug,"Connection stopped during reconnect delay. Done reconnecting."),clearTimeout(this._reconnectDelayHandle),this._reconnectDelayHandle=void 0,this._completeClose(),Promise.resolve()):(r===Ne.Connected&&this._sendCloseMessage(),this._cleanupTimeout(),this._cleanupPingTimer(),this._stopDuringStartError=t||new dt("The connection was stopped before the hub handshake could complete."),this.connection.stop(t))}async _sendCloseMessage(){try{await this._sendWithProtocol(this._createCloseMessage())}catch{}}stream(t,...r){let[n,i]=this._replaceStreamingParams(r),o=this._createStreamInvocation(t,r,i),s,a=new zc;return a.cancelCallback=()=>{let c=this._createCancelInvocation(o.invocationId);return delete this._callbacks[o.invocationId],s.then(()=>this._sendWithProtocol(c))},this._callbacks[o.invocationId]=(c,l)=>{if(l){a.error(l);return}else c&&(c.type===he.Completion?c.error?a.error(new Error(c.error)):a.complete():a.next(c.item))},s=this._sendWithProtocol(o).catch(c=>{a.error(c),delete this._callbacks[o.invocationId]}),this._launchStreams(n,s),a}_sendMessage(t){return this._resetKeepAliveInterval(),this.connection.send(t)}_sendWithProtocol(t){return this._messageBuffer?this._messageBuffer._send(t):this._sendMessage(this._protocol.writeMessage(t))}send(t,...r){let[n,i]=this._replaceStreamingParams(r),o=this._sendWithProtocol(this._createInvocation(t,r,!0,i));return this._launchStreams(n,o),o}invoke(t,...r){let[n,i]=this._replaceStreamingParams(r),o=this._createInvocation(t,r,!1,i);return new Promise((a,c)=>{this._callbacks[o.invocationId]=(h,d)=>{if(d){c(d);return}else h&&(h.type===he.Completion?h.error?c(new Error(h.error)):a(h.result):c(new Error(`Unexpected message type: ${h.type}`)))};let l=this._sendWithProtocol(o).catch(h=>{c(h),delete this._callbacks[o.invocationId]});this._launchStreams(n,l)})}on(t,r){!t||!r||(t=t.toLowerCase(),this._methods[t]||(this._methods[t]=[]),this._methods[t].indexOf(r)===-1&&this._methods[t].push(r))}off(t,r){if(!t)return;t=t.toLowerCase();let n=this._methods[t];if(n)if(r){let i=n.indexOf(r);i!==-1&&(n.splice(i,1),n.length===0&&delete this._methods[t])}else delete this._methods[t]}onclose(t){t&&this._closedCallbacks.push(t)}onreconnecting(t){t&&this._reconnectingCallbacks.push(t)}onreconnected(t){t&&this._reconnectedCallbacks.push(t)}_processIncomingData(t){if(this._cleanupTimeout(),this._receivedHandshakeResponse||(t=this._processHandshakeResponse(t),this._receivedHandshakeResponse=!0),t){let r=this._protocol.parseMessages(t,this._logger);for(let n of r)if(!(this._messageBuffer&&!this._messageBuffer._shouldProcessMessage(n)))switch(n.type){case he.Invocation:this._invokeClientMethod(n).catch(i=>{this._logger.log(F.Error,`Invoke client method threw error: ${Uc(i)}`)});break;case he.StreamItem:case he.Completion:{let i=this._callbacks[n.invocationId];if(i){n.type===he.Completion&&delete this._callbacks[n.invocationId];try{i(n)}catch(o){this._logger.log(F.Error,`Stream callback threw error: ${Uc(o)}`)}}break}case he.Ping:break;case he.Close:{this._logger.log(F.Information,"Close message received from server.");let i=n.error?new Error("Server returned an error on close: "+n.error):void 0;n.allowReconnect===!0?this.connection.stop(i):this._stopPromise=this._stopInternal(i);break}case he.Ack:this._messageBuffer&&this._messageBuffer._ack(n);break;case he.Sequence:this._messageBuffer&&this._messageBuffer._resetSequence(n);break;default:this._logger.log(F.Warning,`Invalid message type: ${n.type}.`);break}}this._resetTimeoutPeriod()}_processHandshakeResponse(t){let r,n;try{[n,r]=this._handshakeProtocol.parseHandshakeResponse(t)}catch(i){let o="Error parsing handshake response: "+i;this._logger.log(F.Error,o);let s=new Error(o);throw this._handshakeRejecter(s),s}if(r.error){let i="Server returned handshake error: "+r.error;this._logger.log(F.Error,i);let o=new Error(i);throw this._handshakeRejecter(o),o}else this._logger.log(F.Debug,"Server handshake complete.");return this._handshakeResolver(),n}_resetKeepAliveInterval(){this.connection.features.inherentKeepAlive||(this._nextKeepAlive=new Date().getTime()+this.keepAliveIntervalInMilliseconds,this._cleanupPingTimer())}_resetTimeoutPeriod(){if((!this.connection.features||!this.connection.features.inherentKeepAlive)&&(this._timeoutHandle=setTimeout(()=>this.serverTimeout(),this.serverTimeoutInMilliseconds),this._pingServerHandle===void 0)){let t=this._nextKeepAlive-new Date().getTime();t<0&&(t=0),this._pingServerHandle=setTimeout(async()=>{if(this._connectionState===Ne.Connected)try{await this._sendMessage(this._cachedPingMessage)}catch{this._cleanupPingTimer()}},t)}}serverTimeout(){this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server."))}async _invokeClientMethod(t){let r=t.target.toLowerCase(),n=this._methods[r];if(!n){this._logger.log(F.Warning,`No client method with the name '${r}' found.`),t.invocationId&&(this._logger.log(F.Warning,`No result given for '${r}' method and invocation ID '${t.invocationId}'.`),await this._sendWithProtocol(this._createCompletionMessage(t.invocationId,"Client didn't provide a result.",null)));return}let i=n.slice(),o=!!t.invocationId,s,a,c;for(let l of i)try{let h=s;s=await l.apply(this,t.arguments),o&&s&&h&&(this._logger.log(F.Error,`Multiple results provided for '${r}'. Sending error to server.`),c=this._createCompletionMessage(t.invocationId,"Client provided multiple results.",null)),a=void 0}catch(h){a=h,this._logger.log(F.Error,`A callback for the method '${r}' threw error '${h}'.`)}c?await this._sendWithProtocol(c):o?(a?c=this._createCompletionMessage(t.invocationId,`${a}`,null):s!==void 0?c=this._createCompletionMessage(t.invocationId,null,s):(this._logger.log(F.Warning,`No result given for '${r}' method and invocation ID '${t.invocationId}'.`),c=this._createCompletionMessage(t.invocationId,"Client didn't provide a result.",null)),await this._sendWithProtocol(c)):s&&this._logger.log(F.Error,`Result given for '${r}' method but server is not expecting a result.`)}_connectionClosed(t){this._logger.log(F.Debug,`HubConnection.connectionClosed(${t}) called while in state ${this._connectionState}.`),this._stopDuringStartError=this._stopDuringStartError||t||new dt("The underlying connection was closed before the hub handshake could complete."),this._handshakeResolver&&this._handshakeResolver(),this._cancelCallbacksWithError(t||new Error("Invocation canceled due to the underlying connection being closed.")),this._cleanupTimeout(),this._cleanupPingTimer(),this._connectionState===Ne.Disconnecting?this._completeClose(t):this._connectionState===Ne.Connected&&this._reconnectPolicy?this._reconnect(t):this._connectionState===Ne.Connected&&this._completeClose(t)}_completeClose(t){if(this._connectionStarted){this._connectionState=Ne.Disconnected,this._connectionStarted=!1,this._messageBuffer&&(this._messageBuffer._dispose(t??new Error("Connection closed.")),this._messageBuffer=void 0),Te.isBrowser&&window.document.removeEventListener("freeze",this._freezeEventListener);try{this._closedCallbacks.forEach(r=>r.apply(this,[t]))}catch(r){this._logger.log(F.Error,`An onclose callback called with error '${t}' threw error '${r}'.`)}}}async _reconnect(t){let r=Date.now(),n=0,i=t!==void 0?t:new Error("Attempting to reconnect due to a unknown error."),o=this._getNextRetryDelay(n++,0,i);if(o===null){this._logger.log(F.Debug,"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt."),this._completeClose(t);return}if(this._connectionState=Ne.Reconnecting,t?this._logger.log(F.Information,`Connection reconnecting because of error '${t}'.`):this._logger.log(F.Information,"Connection reconnecting."),this._reconnectingCallbacks.length!==0){try{this._reconnectingCallbacks.forEach(s=>s.apply(this,[t]))}catch(s){this._logger.log(F.Error,`An onreconnecting callback called with error '${t}' threw error '${s}'.`)}if(this._connectionState!==Ne.Reconnecting){this._logger.log(F.Debug,"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.");return}}for(;o!==null;){if(this._logger.log(F.Information,`Reconnect attempt number ${n} will start in ${o} ms.`),await new Promise(s=>{this._reconnectDelayHandle=setTimeout(s,o)}),this._reconnectDelayHandle=void 0,this._connectionState!==Ne.Reconnecting){this._logger.log(F.Debug,"Connection left the reconnecting state during reconnect delay. Done reconnecting.");return}try{if(await this._startInternal(),this._connectionState=Ne.Connected,this._logger.log(F.Information,"HubConnection reconnected successfully."),this._reconnectedCallbacks.length!==0)try{this._reconnectedCallbacks.forEach(s=>s.apply(this,[this.connection.connectionId]))}catch(s){this._logger.log(F.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${s}'.`)}return}catch(s){if(this._logger.log(F.Information,`Reconnect attempt failed because of error '${s}'.`),this._connectionState!==Ne.Reconnecting){this._logger.log(F.Debug,`Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`),this._connectionState===Ne.Disconnecting&&this._completeClose();return}i=s instanceof Error?s:new Error(s.toString()),o=this._getNextRetryDelay(n++,Date.now()-r,i)}}this._logger.log(F.Information,`Reconnect retries have been exhausted after ${Date.now()-r} ms and ${n} failed attempts. Connection disconnecting.`),this._completeClose()}_getNextRetryDelay(t,r,n){try{return this._reconnectPolicy.nextRetryDelayInMilliseconds({elapsedMilliseconds:r,previousRetryCount:t,retryReason:n})}catch(i){return this._logger.log(F.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${t}, ${r}) threw error '${i}'.`),null}}_cancelCallbacksWithError(t){let r=this._callbacks;this._callbacks={},Object.keys(r).forEach(n=>{let i=r[n];try{i(null,t)}catch(o){this._logger.log(F.Error,`Stream 'error' callback called with '${t}' threw error: ${Uc(o)}`)}})}_cleanupPingTimer(){this._pingServerHandle&&(clearTimeout(this._pingServerHandle),this._pingServerHandle=void 0)}_cleanupTimeout(){this._timeoutHandle&&clearTimeout(this._timeoutHandle)}_createInvocation(t,r,n,i){if(n)return i.length!==0?{target:t,arguments:r,streamIds:i,type:he.Invocation}:{target:t,arguments:r,type:he.Invocation};{let o=this._invocationId;return this._invocationId++,i.length!==0?{target:t,arguments:r,invocationId:o.toString(),streamIds:i,type:he.Invocation}:{target:t,arguments:r,invocationId:o.toString(),type:he.Invocation}}}_launchStreams(t,r){if(t.length!==0){r||(r=Promise.resolve());for(let n in t)t[n].subscribe({complete:()=>{r=r.then(()=>this._sendWithProtocol(this._createCompletionMessage(n)))},error:i=>{let o;i instanceof Error?o=i.message:i&&i.toString?o=i.toString():o="Unknown error",r=r.then(()=>this._sendWithProtocol(this._createCompletionMessage(n,o)))},next:i=>{r=r.then(()=>this._sendWithProtocol(this._createStreamItemMessage(n,i)))}})}}_replaceStreamingParams(t){let r=[],n=[];for(let i=0;i<t.length;i++){let o=t[i];if(this._isObservable(o)){let s=this._invocationId;this._invocationId++,r[s]=o,n.push(s.toString()),t.splice(i,1)}}return[r,n]}_isObservable(t){return t&&t.subscribe&&typeof t.subscribe=="function"}_createStreamInvocation(t,r,n){let i=this._invocationId;return this._invocationId++,n.length!==0?{target:t,arguments:r,invocationId:i.toString(),streamIds:n,type:he.StreamInvocation}:{target:t,arguments:r,invocationId:i.toString(),type:he.StreamInvocation}}_createCancelInvocation(t){return{invocationId:t,type:he.CancelInvocation}}_createStreamItemMessage(t,r){return{invocationId:t,item:r,type:he.StreamItem}}_createCompletionMessage(t,r,n){return r?{error:r,invocationId:t,type:he.Completion}:{invocationId:t,result:n,type:he.Completion}}_createCloseMessage(){return{type:he.Close}}};var B3=[0,2e3,1e4,3e4,null],is=class{constructor(t){this._retryDelays=t!==void 0?[...t,null]:B3}nextRetryDelayInMilliseconds(t){return this._retryDelays[t.previousRetryCount]}};var Cr=class{};Cr.Authorization="Authorization";Cr.Cookie="Cookie";var Hc=class extends Mr{constructor(t,r){super(),this._innerClient=t,this._accessTokenFactory=r}async send(t){let r=!0;this._accessTokenFactory&&(!this._accessToken||t.url&&t.url.indexOf("/negotiate?")>0)&&(r=!1,this._accessToken=await this._accessTokenFactory()),this._setAuthorizationHeader(t);let n=await this._innerClient.send(t);return r&&n.statusCode===401&&this._accessTokenFactory?(this._accessToken=await this._accessTokenFactory(),this._setAuthorizationHeader(t),await this._innerClient.send(t)):n}_setAuthorizationHeader(t){t.headers||(t.headers={}),this._accessToken?t.headers[Cr.Authorization]=`Bearer ${this._accessToken}`:this._accessTokenFactory&&t.headers[Cr.Authorization]&&delete t.headers[Cr.Authorization]}getCookieString(t){return this._innerClient.getCookieString(t)}};var Ve;(function(e){e[e.None=0]="None",e[e.WebSockets=1]="WebSockets",e[e.ServerSentEvents=2]="ServerSentEvents",e[e.LongPolling=4]="LongPolling"})(Ve||(Ve={}));var qe;(function(e){e[e.Text=1]="Text",e[e.Binary=2]="Binary"})(qe||(qe={}));var Wc=class{constructor(){this._isAborted=!1,this.onabort=null}abort(){this._isAborted||(this._isAborted=!0,this.onabort&&this.onabort())}get signal(){return this}get aborted(){return this._isAborted}};var os=class{get pollAborted(){return this._pollAbort.aborted}constructor(t,r,n){this._httpClient=t,this._logger=r,this._pollAbort=new Wc,this._options=n,this._running=!1,this.onreceive=null,this.onclose=null}async connect(t,r){if(Ce.isRequired(t,"url"),Ce.isRequired(r,"transferFormat"),Ce.isIn(r,qe,"transferFormat"),this._url=t,this._logger.log(F.Trace,"(LongPolling transport) Connecting."),r===qe.Binary&&typeof XMLHttpRequest<"u"&&typeof new XMLHttpRequest().responseType!="string")throw new Error("Binary protocols over XmlHttpRequest not implementing advanced features are not supported.");let[n,i]=zr(),o={[n]:i,...this._options.headers},s={abortSignal:this._pollAbort.signal,headers:o,timeout:1e5,withCredentials:this._options.withCredentials};r===qe.Binary&&(s.responseType="arraybuffer");let a=`${t}&_=${Date.now()}`;this._logger.log(F.Trace,`(LongPolling transport) polling: ${a}.`);let c=await this._httpClient.get(a,s);c.statusCode!==200?(this._logger.log(F.Error,`(LongPolling transport) Unexpected response code: ${c.statusCode}.`),this._closeError=new Gt(c.statusText||"",c.statusCode),this._running=!1):this._running=!0,this._receiving=this._poll(this._url,s)}async _poll(t,r){try{for(;this._running;)try{let n=`${t}&_=${Date.now()}`;this._logger.log(F.Trace,`(LongPolling transport) polling: ${n}.`);let i=await this._httpClient.get(n,r);i.statusCode===204?(this._logger.log(F.Information,"(LongPolling transport) Poll terminated by server."),this._running=!1):i.statusCode!==200?(this._logger.log(F.Error,`(LongPolling transport) Unexpected response code: ${i.statusCode}.`),this._closeError=new Gt(i.statusText||"",i.statusCode),this._running=!1):i.content?(this._logger.log(F.Trace,`(LongPolling transport) data received. ${Cn(i.content,this._options.logMessageContent)}.`),this.onreceive&&this.onreceive(i.content)):this._logger.log(F.Trace,"(LongPolling transport) Poll timed out, reissuing.")}catch(n){this._running?n instanceof En?this._logger.log(F.Trace,"(LongPolling transport) Poll timed out, reissuing."):(this._closeError=n,this._running=!1):this._logger.log(F.Trace,`(LongPolling transport) Poll errored after shutdown: ${n.message}`)}}finally{this._logger.log(F.Trace,"(LongPolling transport) Polling complete."),this.pollAborted||this._raiseOnClose()}}async send(t){return this._running?Oc(this._logger,"LongPolling",this._httpClient,this._url,t,this._options):Promise.reject(new Error("Cannot send until the transport is connected"))}async stop(){this._logger.log(F.Trace,"(LongPolling transport) Stopping polling."),this._running=!1,this._pollAbort.abort();try{await this._receiving,this._logger.log(F.Trace,`(LongPolling transport) sending DELETE request to ${this._url}.`);let t={},[r,n]=zr();t[r]=n;let i={headers:{...t,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials},o;try{await this._httpClient.delete(this._url,i)}catch(s){o=s}o?o instanceof Gt&&(o.statusCode===404?this._logger.log(F.Trace,"(LongPolling transport) A 404 response was returned from sending a DELETE request."):this._logger.log(F.Trace,`(LongPolling transport) Error sending a DELETE request: ${o}`)):this._logger.log(F.Trace,"(LongPolling transport) DELETE request accepted.")}finally{this._logger.log(F.Trace,"(LongPolling transport) Stop finished."),this._raiseOnClose()}}_raiseOnClose(){if(this.onclose){let t="(LongPolling transport) Firing onclose event.";this._closeError&&(t+=" Error: "+this._closeError),this._logger.log(F.Trace,t),this.onclose(this._closeError)}}};var $c=class{constructor(t,r,n,i){this._httpClient=t,this._accessToken=r,this._logger=n,this._options=i,this.onreceive=null,this.onclose=null}async connect(t,r){return Ce.isRequired(t,"url"),Ce.isRequired(r,"transferFormat"),Ce.isIn(r,qe,"transferFormat"),this._logger.log(F.Trace,"(SSE transport) Connecting."),this._url=t,this._accessToken&&(t+=(t.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(this._accessToken)}`),new Promise((n,i)=>{let o=!1;if(r!==qe.Text){i(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"));return}let s;if(Te.isBrowser||Te.isWebWorker)s=new this._options.EventSource(t,{withCredentials:this._options.withCredentials});else{let a=this._httpClient.getCookieString(t),c={};c.Cookie=a;let[l,h]=zr();c[l]=h,s=new this._options.EventSource(t,{withCredentials:this._options.withCredentials,headers:{...c,...this._options.headers}})}try{s.onmessage=a=>{if(this.onreceive)try{this._logger.log(F.Trace,`(SSE transport) data received. ${Cn(a.data,this._options.logMessageContent)}.`),this.onreceive(a.data)}catch(c){this._close(c);return}},s.onerror=a=>{o?this._close():i(new Error("EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled."))},s.onopen=()=>{this._logger.log(F.Information,`SSE connected to ${this._url}`),this._eventSource=s,o=!0,n()}}catch(a){i(a);return}})}async send(t){return this._eventSource?Oc(this._logger,"SSE",this._httpClient,this._url,t,this._options):Promise.reject(new Error("Cannot send until the transport is connected"))}stop(){return this._close(),Promise.resolve()}_close(t){this._eventSource&&(this._eventSource.close(),this._eventSource=void 0,this.onclose&&this.onclose(t))}};var Gc=class{constructor(t,r,n,i,o,s){this._logger=n,this._accessTokenFactory=r,this._logMessageContent=i,this._webSocketConstructor=o,this._httpClient=t,this.onreceive=null,this.onclose=null,this._headers=s}async connect(t,r){Ce.isRequired(t,"url"),Ce.isRequired(r,"transferFormat"),Ce.isIn(r,qe,"transferFormat"),this._logger.log(F.Trace,"(WebSockets transport) Connecting.");let n;return this._accessTokenFactory&&(n=await this._accessTokenFactory()),new Promise((i,o)=>{t=t.replace(/^http/,"ws");let s,a=this._httpClient.getCookieString(t),c=!1;if(Te.isNode||Te.isReactNative){let l={},[h,d]=zr();l[h]=d,n&&(l[Cr.Authorization]=`Bearer ${n}`),a&&(l[Cr.Cookie]=a),s=new this._webSocketConstructor(t,void 0,{headers:{...l,...this._headers}})}else n&&(t+=(t.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(n)}`);s||(s=new this._webSocketConstructor(t)),r===qe.Binary&&(s.binaryType="arraybuffer"),s.onopen=l=>{this._logger.log(F.Information,`WebSocket connected to ${t}.`),this._webSocket=s,c=!0,i()},s.onerror=l=>{let h=null;typeof ErrorEvent<"u"&&l instanceof ErrorEvent?h=l.error:h="There was an error with the transport",this._logger.log(F.Information,`(WebSockets transport) ${h}.`)},s.onmessage=l=>{if(this._logger.log(F.Trace,`(WebSockets transport) data received. ${Cn(l.data,this._logMessageContent)}.`),this.onreceive)try{this.onreceive(l.data)}catch(h){this._close(h);return}},s.onclose=l=>{if(c)this._close(l);else{let h=null;typeof ErrorEvent<"u"&&l instanceof ErrorEvent?h=l.error:h="WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.",o(new Error(h))}}})}send(t){return this._webSocket&&this._webSocket.readyState===this._webSocketConstructor.OPEN?(this._logger.log(F.Trace,`(WebSockets transport) sending data. ${Cn(t,this._logMessageContent)}.`),this._webSocket.send(t),Promise.resolve()):Promise.reject("WebSocket is not in the OPEN state")}stop(){return this._webSocket&&this._close(void 0),Promise.resolve()}_close(t){this._webSocket&&(this._webSocket.onclose=()=>{},this._webSocket.onmessage=()=>{},this._webSocket.onerror=()=>{},this._webSocket.close(),this._webSocket=void 0),this._logger.log(F.Trace,"(WebSockets transport) socket closed."),this.onclose&&(this._isCloseEvent(t)&&(t.wasClean===!1||t.code!==1e3)?this.onclose(new Error(`WebSocket closed with status code: ${t.code} (${t.reason||"no reason given"}).`)):t instanceof Error?this.onclose(t):this.onclose())}_isCloseEvent(t){return t&&typeof t.wasClean=="boolean"&&typeof t.code=="number"}};var w2=100,qc=class{constructor(t,r={}){if(this._stopPromiseResolver=()=>{},this.features={},this._negotiateVersion=1,Ce.isRequired(t,"url"),this._logger=b2(r.logger),this.baseUrl=this._resolveUrl(t),r=r||{},r.logMessageContent=r.logMessageContent===void 0?!1:r.logMessageContent,typeof r.withCredentials=="boolean"||r.withCredentials===void 0)r.withCredentials=r.withCredentials===void 0?!0:r.withCredentials;else throw new Error("withCredentials option was not a 'boolean' or 'undefined' value");r.timeout=r.timeout===void 0?100*1e3:r.timeout;let n=null,i=null;if(Te.isNode&&typeof ur<"u"){let o=typeof __webpack_require__=="function"?__non_webpack_require__:ur;n=o("ws"),i=o("eventsource")}!Te.isNode&&typeof WebSocket<"u"&&!r.WebSocket?r.WebSocket=WebSocket:Te.isNode&&!r.WebSocket&&n&&(r.WebSocket=n),!Te.isNode&&typeof EventSource<"u"&&!r.EventSource?r.EventSource=EventSource:Te.isNode&&!r.EventSource&&typeof i<"u"&&(r.EventSource=i),this._httpClient=new Hc(r.httpClient||new Mc(this._logger),r.accessTokenFactory),this._connectionState="Disconnected",this._connectionStarted=!1,this._options=r,this.onreceive=null,this.onclose=null}async start(t){if(t=t||qe.Binary,Ce.isIn(t,qe,"transferFormat"),this._logger.log(F.Debug,`Starting connection with transfer format '${qe[t]}'.`),this._connectionState!=="Disconnected")return Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."));if(this._connectionState="Connecting",this._startInternalPromise=this._startInternal(t),await this._startInternalPromise,this._connectionState==="Disconnecting"){let r="Failed to start the HttpConnection before stop() was called.";return this._logger.log(F.Error,r),await this._stopPromise,Promise.reject(new dt(r))}else if(this._connectionState!=="Connected"){let r="HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!";return this._logger.log(F.Error,r),Promise.reject(new dt(r))}this._connectionStarted=!0}send(t){return this._connectionState!=="Connected"?Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State.")):(this._sendQueue||(this._sendQueue=new Tu(this.transport)),this._sendQueue.send(t))}async stop(t){if(this._connectionState==="Disconnected")return this._logger.log(F.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnected state.`),Promise.resolve();if(this._connectionState==="Disconnecting")return this._logger.log(F.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;this._connectionState="Disconnecting",this._stopPromise=new Promise(r=>{this._stopPromiseResolver=r}),await this._stopInternal(t),await this._stopPromise}async _stopInternal(t){this._stopError=t;try{await this._startInternalPromise}catch{}if(this.transport){try{await this.transport.stop()}catch(r){this._logger.log(F.Error,`HttpConnection.transport.stop() threw error '${r}'.`),this._stopConnection()}this.transport=void 0}else this._logger.log(F.Debug,"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.")}async _startInternal(t){let r=this.baseUrl;this._accessTokenFactory=this._options.accessTokenFactory,this._httpClient._accessTokenFactory=this._accessTokenFactory;try{if(this._options.skipNegotiation)if(this._options.transport===Ve.WebSockets)this.transport=this._constructTransport(Ve.WebSockets),await this._startTransport(r,t);else throw new Error("Negotiation can only be skipped when using the WebSocket transport directly.");else{let n=null,i=0;do{if(n=await this._getNegotiationResponse(r),this._connectionState==="Disconnecting"||this._connectionState==="Disconnected")throw new dt("The connection was stopped during negotiation.");if(n.error)throw new Error(n.error);if(n.ProtocolVersion)throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.");if(n.url&&(r=n.url),n.accessToken){let o=n.accessToken;this._accessTokenFactory=()=>o,this._httpClient._accessToken=o,this._httpClient._accessTokenFactory=void 0}i++}while(n.url&&i<w2);if(i===w2&&n.url)throw new Error("Negotiate redirection limit exceeded.");await this._createTransport(r,this._options.transport,n,t)}this.transport instanceof os&&(this.features.inherentKeepAlive=!0),this._connectionState==="Connecting"&&(this._logger.log(F.Debug,"The HttpConnection connected successfully."),this._connectionState="Connected")}catch(n){return this._logger.log(F.Error,"Failed to start the connection: "+n),this._connectionState="Disconnected",this.transport=void 0,this._stopPromiseResolver(),Promise.reject(n)}}async _getNegotiationResponse(t){let r={},[n,i]=zr();r[n]=i;let o=this._resolveNegotiateUrl(t);this._logger.log(F.Debug,`Sending negotiation request: ${o}.`);try{let s=await this._httpClient.post(o,{content:"",headers:{...r,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials});if(s.statusCode!==200)return Promise.reject(new Error(`Unexpected status code returned from negotiate '${s.statusCode}'`));let a=JSON.parse(s.content);return(!a.negotiateVersion||a.negotiateVersion<1)&&(a.connectionToken=a.connectionId),a.useStatefulReconnect&&this._options._useStatefulReconnect!==!0?Promise.reject(new ns("Client didn't negotiate Stateful Reconnect but the server did.")):a}catch(s){let a="Failed to complete negotiation with the server: "+s;return s instanceof Gt&&s.statusCode===404&&(a=a+" Either this is not a SignalR endpoint or there is a proxy blocking the connection."),this._logger.log(F.Error,a),Promise.reject(new ns(a))}}_createConnectUrl(t,r){return r?t+(t.indexOf("?")===-1?"?":"&")+`id=${r}`:t}async _createTransport(t,r,n,i){let o=this._createConnectUrl(t,n.connectionToken);if(this._isITransport(r)){this._logger.log(F.Debug,"Connection was provided an instance of ITransport, using that directly."),this.transport=r,await this._startTransport(o,i),this.connectionId=n.connectionId;return}let s=[],a=n.availableTransports||[],c=n;for(let l of a){let h=this._resolveTransportOrError(l,r,i,c?.useStatefulReconnect===!0);if(h instanceof Error)s.push(`${l.transport} failed:`),s.push(h);else if(this._isITransport(h)){if(this.transport=h,!c){try{c=await this._getNegotiationResponse(t)}catch(d){return Promise.reject(d)}o=this._createConnectUrl(t,c.connectionToken)}try{await this._startTransport(o,i),this.connectionId=c.connectionId;return}catch(d){if(this._logger.log(F.Error,`Failed to start the transport '${l.transport}': ${d}`),c=void 0,s.push(new Pc(`${l.transport} failed: ${d}`,Ve[l.transport])),this._connectionState!=="Connecting"){let m="Failed to select transport before stop() was called.";return this._logger.log(F.Debug,m),Promise.reject(new dt(m))}}}}return s.length>0?Promise.reject(new Dc(`Unable to connect to the server with any of the available transports. ${s.join(" ")}`,s)):Promise.reject(new Error("None of the transports supported by the client are supported by the server."))}_constructTransport(t){switch(t){case Ve.WebSockets:if(!this._options.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new Gc(this._httpClient,this._accessTokenFactory,this._logger,this._options.logMessageContent,this._options.WebSocket,this._options.headers||{});case Ve.ServerSentEvents:if(!this._options.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new $c(this._httpClient,this._httpClient._accessToken,this._logger,this._options);case Ve.LongPolling:return new os(this._httpClient,this._logger,this._options);default:throw new Error(`Unknown transport: ${t}.`)}}_startTransport(t,r){return this.transport.onreceive=this.onreceive,this.features.reconnect?this.transport.onclose=async n=>{let i=!1;if(this.features.reconnect)try{this.features.disconnected(),await this.transport.connect(t,r),await this.features.resend()}catch{i=!0}else{this._stopConnection(n);return}i&&this._stopConnection(n)}:this.transport.onclose=n=>this._stopConnection(n),this.transport.connect(t,r)}_resolveTransportOrError(t,r,n,i){let o=Ve[t.transport];if(o==null)return this._logger.log(F.Debug,`Skipping transport '${t.transport}' because it is not supported by this client.`),new Error(`Skipping transport '${t.transport}' because it is not supported by this client.`);if(O3(r,o))if(t.transferFormats.map(a=>qe[a]).indexOf(n)>=0){if(o===Ve.WebSockets&&!this._options.WebSocket||o===Ve.ServerSentEvents&&!this._options.EventSource)return this._logger.log(F.Debug,`Skipping transport '${Ve[o]}' because it is not supported in your environment.'`),new Ic(`'${Ve[o]}' is not supported in your environment.`,o);this._logger.log(F.Debug,`Selecting transport '${Ve[o]}'.`);try{return this.features.reconnect=o===Ve.WebSockets?i:void 0,this._constructTransport(o)}catch(a){return a}}else return this._logger.log(F.Debug,`Skipping transport '${Ve[o]}' because it does not support the requested transfer format '${qe[n]}'.`),new Error(`'${Ve[o]}' does not support ${qe[n]}.`);else return this._logger.log(F.Debug,`Skipping transport '${Ve[o]}' because it was disabled by the client.`),new Rc(`'${Ve[o]}' is disabled by the client.`,o)}_isITransport(t){return t&&typeof t=="object"&&"connect"in t}_stopConnection(t){if(this._logger.log(F.Debug,`HttpConnection.stopConnection(${t}) called while in state ${this._connectionState}.`),this.transport=void 0,t=this._stopError||t,this._stopError=void 0,this._connectionState==="Disconnected"){this._logger.log(F.Debug,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is already in the disconnected state.`);return}if(this._connectionState==="Connecting")throw this._logger.log(F.Warning,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is still in the connecting state.`),new Error(`HttpConnection.stopConnection(${t}) was called while the connection is still in the connecting state.`);if(this._connectionState==="Disconnecting"&&this._stopPromiseResolver(),t?this._logger.log(F.Error,`Connection disconnected with error '${t}'.`):this._logger.log(F.Information,"Connection disconnected."),this._sendQueue&&(this._sendQueue.stop().catch(r=>{this._logger.log(F.Error,`TransportSendQueue.stop() threw error '${r}'.`)}),this._sendQueue=void 0),this.connectionId=void 0,this._connectionState="Disconnected",this._connectionStarted){this._connectionStarted=!1;try{this.onclose&&this.onclose(t)}catch(r){this._logger.log(F.Error,`HttpConnection.onclose(${t}) threw error '${r}'.`)}}}_resolveUrl(t){if(t.lastIndexOf("https://",0)===0||t.lastIndexOf("http://",0)===0)return t;if(!Te.isBrowser)throw new Error(`Cannot resolve '${t}'.`);let r=window.document.createElement("a");return r.href=t,this._logger.log(F.Information,`Normalizing '${t}' to '${r.href}'.`),r.href}_resolveNegotiateUrl(t){let r=new URL(t);r.pathname.endsWith("/")?r.pathname+="negotiate":r.pathname+="/negotiate";let n=new URLSearchParams(r.searchParams);return n.has("negotiateVersion")||n.append("negotiateVersion",this._negotiateVersion.toString()),n.has("useStatefulReconnect")?n.get("useStatefulReconnect")==="true"&&(this._options._useStatefulReconnect=!0):this._options._useStatefulReconnect===!0&&n.append("useStatefulReconnect","true"),r.search=n.toString(),r.toString()}};function O3(e,t){return!e||(t&e)!==0}var Tu=class e{constructor(t){this._transport=t,this._buffer=[],this._executing=!0,this._sendBufferedData=new io,this._transportResult=new io,this._sendLoopPromise=this._sendLoop()}send(t){return this._bufferData(t),this._transportResult||(this._transportResult=new io),this._transportResult.promise}stop(){return this._executing=!1,this._sendBufferedData.resolve(),this._sendLoopPromise}_bufferData(t){if(this._buffer.length&&typeof this._buffer[0]!=typeof t)throw new Error(`Expected data to be of type ${typeof this._buffer} but was of type ${typeof t}`);this._buffer.push(t),this._sendBufferedData.resolve()}async _sendLoop(){for(;;){if(await this._sendBufferedData.promise,!this._executing){this._transportResult&&this._transportResult.reject("Connection stopped.");break}this._sendBufferedData=new io;let t=this._transportResult;this._transportResult=void 0;let r=typeof this._buffer[0]=="string"?this._buffer.join(""):e._concatBuffers(this._buffer);this._buffer.length=0;try{await this._transport.send(r),t.resolve()}catch(n){t.reject(n)}}}static _concatBuffers(t){let r=t.map(o=>o.byteLength).reduce((o,s)=>o+s),n=new Uint8Array(r),i=0;for(let o of t)n.set(new Uint8Array(o),i),i+=o.byteLength;return n.buffer}},io=class{constructor(){this.promise=new Promise((t,r)=>[this._resolver,this._rejecter]=[t,r])}resolve(){this._resolver()}reject(t){this._rejecter(t)}};var U3="json",Kc=class{constructor(){this.name=U3,this.version=2,this.transferFormat=qe.Text}parseMessages(t,r){if(typeof t!="string")throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!t)return[];r===null&&(r=Nr.instance);let n=qt.parse(t),i=[];for(let o of n){let s=JSON.parse(o);if(typeof s.type!="number")throw new Error("Invalid payload.");switch(s.type){case he.Invocation:this._isInvocationMessage(s);break;case he.StreamItem:this._isStreamItemMessage(s);break;case he.Completion:this._isCompletionMessage(s);break;case he.Ping:break;case he.Close:break;case he.Ack:this._isAckMessage(s);break;case he.Sequence:this._isSequenceMessage(s);break;default:r.log(F.Information,"Unknown message type '"+s.type+"' ignored.");continue}i.push(s)}return i}writeMessage(t){return qt.write(JSON.stringify(t))}_isInvocationMessage(t){this._assertNotEmptyString(t.target,"Invalid payload for Invocation message."),t.invocationId!==void 0&&this._assertNotEmptyString(t.invocationId,"Invalid payload for Invocation message.")}_isStreamItemMessage(t){if(this._assertNotEmptyString(t.invocationId,"Invalid payload for StreamItem message."),t.item===void 0)throw new Error("Invalid payload for StreamItem message.")}_isCompletionMessage(t){if(t.result&&t.error)throw new Error("Invalid payload for Completion message.");!t.result&&t.error&&this._assertNotEmptyString(t.error,"Invalid payload for Completion message."),this._assertNotEmptyString(t.invocationId,"Invalid payload for Completion message.")}_isAckMessage(t){if(typeof t.sequenceId!="number")throw new Error("Invalid SequenceId for Ack message.")}_isSequenceMessage(t){if(typeof t.sequenceId!="number")throw new Error("Invalid SequenceId for Sequence message.")}_assertNotEmptyString(t,r){if(typeof t!="string"||t==="")throw new Error(r)}};var F3={trace:F.Trace,debug:F.Debug,info:F.Information,information:F.Information,warn:F.Warning,warning:F.Warning,error:F.Error,critical:F.Critical,none:F.None};function L3(e){let t=F3[e.toLowerCase()];if(typeof t<"u")return t;throw new Error(`Unknown log level: ${e}`)}var ss=class{configureLogging(t){if(Ce.isRequired(t,"logging"),M3(t))this.logger=t;else if(typeof t=="string"){let r=L3(t);this.logger=new Qn(r)}else this.logger=new Qn(t);return this}withUrl(t,r){return Ce.isRequired(t,"url"),Ce.isNotEmpty(t,"url"),this.url=t,typeof r=="object"?this.httpConnectionOptions={...this.httpConnectionOptions,...r}:this.httpConnectionOptions={...this.httpConnectionOptions,transport:r},this}withHubProtocol(t){return Ce.isRequired(t,"protocol"),this.protocol=t,this}withAutomaticReconnect(t){if(this.reconnectPolicy)throw new Error("A reconnectPolicy has already been set.");return t?Array.isArray(t)?this.reconnectPolicy=new is(t):this.reconnectPolicy=t:this.reconnectPolicy=new is,this}withServerTimeout(t){return Ce.isRequired(t,"milliseconds"),this._serverTimeoutInMilliseconds=t,this}withKeepAliveInterval(t){return Ce.isRequired(t,"milliseconds"),this._keepAliveIntervalInMilliseconds=t,this}withStatefulReconnect(t){return this.httpConnectionOptions===void 0&&(this.httpConnectionOptions={}),this.httpConnectionOptions._useStatefulReconnect=!0,this._statefulReconnectBufferSize=t?.bufferSize,this}build(){let t=this.httpConnectionOptions||{};if(t.logger===void 0&&(t.logger=this.logger),!this.url)throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");let r=new qc(this.url,t);return Vc.create(r,this.logger||Nr.instance,this.protocol||new Kc,this.reconnectPolicy,this._serverTimeoutInMilliseconds,this._keepAliveIntervalInMilliseconds,this._statefulReconnectBufferSize)}};function M3(e){return e.log!==void 0}var Sy=dl(wy());var ms=class{},ky=(s=>(s[s.WAITING=-1]="WAITING",s[s.STARTED=0]="STARTED",s[s.QR_CODE=1]="QR_CODE",s[s.POSITION=2]="POSITION",s[s.FINISHED=3]="FINISHED",s[s.ERROR=9]="ERROR",s))(ky||{}),sl=class e{constructor(t,r){this.proctoringId="";this.capturePhotoUrl="";this.qrCodeBase64Image="";this.transmissionOk=!1;this.waitingPositionValidation=!1;this.externalSessionId=null;this.currentStep=0;this.connection=null;this.context=t,this.onRealtimeAlertsCallback=r,this.backend=new ir({type:t?.type||"prod",token:t.token,isRealtime:!1}),this.currentStep=-1}static{this.isModalOpen=!1}getExternalCameraSessionId(){return""+this.externalSessionId}async checkTransmission(){try{this.transmissionOk=!1;let t=await this.backend.externalCameraCheckTransmission(""+this.externalSessionId),r=0;for(;!this.transmissionOk&&r<=5;)await new Promise(n=>setTimeout(n,2e3)),r=r+1;if(!this.transmissionOk)throw new Error("Timed out na checagem da transmiss\xE3o!")}catch(t){throw console.error("Erro ao checar a transmiss\xE3o:",t),new Error("N\xE3o foi poss\xEDvel checar a transmiss\xE3o."+t)}}async startTransmission(t){try{this.proctoringId=t;let r=await this.backend.externalCameraStartTransmission(""+this.externalSessionId,t)}catch{throw new Error("N\xE3o foi poss\xEDvel iniciar a transmiss\xE3o.")}}async goToPositionGuide(){try{let t=await this.backend.goToExternalCameraPositionStep(""+this.externalSessionId)}catch(t){throw console.error("Erro ao enviar comando de Position:",t),new Error("N\xE3o foi poss\xEDvel enviar comando de Position Guide.")}}async reset(){if(this.connection){let t=new ms;t.command="Reset",this.connection.invoke("SendAction",this.externalSessionId,t)}}async takePicture(t,r){if(this.connection){this.waitingPositionValidation=t,this.onTakePictureCallback=r;let n=new ms;n.command="Capture",this.connection.invoke("SendAction",this.externalSessionId,n)}else throw new Error("N\xE3o existe conex\xE3o de camera externa ativa.")}async startSession(t){try{this.onQrCodeReadedCallback=t,this.connection&&await this.disconnectWebSocket(),await this.initializeWebSocketConnection(),await this.reset();let r=await this.backend.externalCameraStartSession();this.externalSessionId=r.externalSessionId,this.currentStep=0;let n={externalSessionId:this.externalSessionId,token:this.context.token,ambient:this.context.type},i=JSON.stringify(n);return this.qrCodeBase64Image=await Sy.default.toDataURL(i),this.qrCodeBase64Image}catch(r){return this.disconnectWebSocket(),Promise.reject(r)}}async checkExternalCamera(){if(this.currentStep=0,e.isModalOpen)return Promise.reject("O modal de verifica\xE7\xE3o j\xE1 est\xE1 aberto.");e.isModalOpen=!0;try{return await this.startSession(()=>{}),await this.buildInterface()}catch(t){return console.error("Erro ao iniciar verifica\xE7\xE3o:",t),this.closeCheckExternalCamera(),Promise.reject(t)}}buildInterface(){return new Promise((t,r)=>{this.resolvePromise=t;let n=document.createElement("div");n.setAttribute("id","externalCameraCheck"),this.applyStyles(n,{backgroundColor:"rgba(0,0,0,0.4)",zIndex:"1000",position:"fixed",top:"0",left:"0",height:"100vh",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"});let i=document.createElement("div");this.applyStyles(i,{backgroundColor:"#fff",zIndex:"1001",width:"500px",borderRadius:"10px",display:"flex",flexDirection:"column",alignItems:"center"});let o=document.createElement("h3");o.innerText="Conectar dispositivo m\xF3vel",this.applyStyles(o,{color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"20px",marginBottom:"15px",padding:"20px 0px",borderBottom:"2px solid rgba(0, 0, 0, .1)",width:"100%",textAlign:"center"});let s=document.createElement("div");s.id="external-camera-content",this.applyStyles(s,{width:"100%",padding:"20px 40px",boxSizing:"border-box",minHeight:"300px",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center"});let a=document.createElement("div");this.applyStyles(a,{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",borderTop:"2px solid rgba(0, 0, 0, .1)"});let c=document.createElement("button");c.innerText="Cancelar",this.applyStyles(c,{width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"0 0 0 10px",cursor:"pointer"}),c.addEventListener("click",()=>{let h=new ms;h.command="Cancel",this.connection?.invoke("SendAction",this.externalSessionId,h),this.closeCheckExternalCamera(),t({result:!1})});let l=document.createElement("button");l.innerText="Continuar",l.id="external-camera-continue",this.applyStyles(l,{width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"0 0 10px 0",cursor:"pointer",borderLeft:"2px solid rgba(0, 0, 0, .1)"}),a.appendChild(c),a.appendChild(l),i.appendChild(o),i.appendChild(s),i.appendChild(a),n.appendChild(i),document.body.appendChild(n),this.renderCurrentStep()})}renderCurrentStep(){let t=document.getElementById("external-camera-content");if(t)switch(t.innerHTML="",this.currentStep){case 0:this.renderQRCodeStep(t);break;case 1:this.renderPhotoStep(t);break;case 2:this.renderImageStep(t);break;default:break}}renderQRCodeStep(t){let r=document.createElement("canvas");r.id="qr-code-canvas";let n=document.createElement("p");n.innerText="Aponte a c\xE2mera do seu celular para o QR Code para iniciar a verifica\xE7\xE3o do ambiente.",this.applyStyles(n,{textAlign:"center",color:"#555",marginTop:"20px"});let i=r.getContext("2d"),o=new Image;o.onload=()=>{let c=250/o.width,l=o.height*c;r.width=250,r.height=l,i&&i.drawImage(o,0,0,250,l)},o.src=this.qrCodeBase64Image,t.appendChild(r),t.appendChild(n);let s=document.getElementById("external-camera-continue");s.disabled=!0,this.applyStyles(s,{color:"#ccc",cursor:"not-allowed"})}renderPhotoStep(t){let r=document.createElement("p");r.id="photo-message",r.innerText="Clique no bot\xE3o abaixo para realizar a captura da foto do ambiente.",this.applyStyles(r,{textAlign:"center",color:"#555",marginBottom:"20px",fontSize:"14px",display:"-webkit-box",overflow:"hidden",textOverflow:"ellipsis"}),r.style.webkitLineClamp="3",r.style.webkitBoxOrient="vertical",t.appendChild(r);let n=document.createElement("div");n.id="photo-error-banner",n.innerText="Foto fora do padr\xE3o esperado.",this.applyStyles(n,{backgroundColor:"#FEE2E2",color:"#DC2626",padding:"12px 15px",borderRadius:"8px",textAlign:"center",fontSize:"12px",fontWeight:"400",marginBottom:"15px",display:"none"}),t.appendChild(n);let i=document.createElement("div");this.applyStyles(i,{backgroundColor:"#fff",borderRadius:"8px",padding:"20px",display:"flex",gap:"20px",alignItems:"flex-start",border:"1px solid #e5e5e5",marginBottom:"20px"});let o=document.createElement("div");if(o.id="photo-icon-container",this.applyStyles(o,{backgroundColor:"#f5f5f5",borderRadius:"8px",width:"120px",height:"160px",minWidth:"120px",minHeight:"160px",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:"0",overflow:"hidden"}),this.capturePhotoUrl&&this.capturePhotoUrl.trim()!==""){let f=document.createElement("img");f.id="img-photo";let b=this.capturePhotoUrl.startsWith("data:")?this.capturePhotoUrl:"data:image/jpeg;base64,"+this.capturePhotoUrl;f.src=b,this.applyStyles(f,{width:"100%",height:"100%",objectFit:"contain",objectPosition:"center",borderRadius:"8px",display:"block"}),o.appendChild(f)}else{let f=document.createElement("div");f.innerHTML=`
499
+ `,i=document.createElement("style");i.innerHTML=n,document.head.appendChild(i)}};var Pc=class{constructor(){this.baseUrl="http://localhost:7485/Station/api"}async isAlive(){return(await this.makeRequestAxios({path:"/health",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async setProctoringId(t){return(await this.makeRequestAxios({path:"/update-station/"+t,method:"POST",jwt:this.token}).catch(n=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async makeRequestAxios(t){let{path:r,method:n,body:i,jwt:o}=t,s=await Wt.request({url:this.baseUrl+r,method:n,headers:{Authorization:`Bearer ${o}`,"Access-Control-Allow-Origin":"*"},data:i});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";return s}};var Gt=class extends Error{constructor(t,r){let n=new.target.prototype;super(`${t}: Status code '${r}'`),this.statusCode=r,this.__proto__=n}},En=class extends Error{constructor(t="A timeout occurred."){let r=new.target.prototype;super(t),this.__proto__=r}},dt=class extends Error{constructor(t="An abort occurred."){let r=new.target.prototype;super(t),this.__proto__=r}},Dc=class extends Error{constructor(t,r){let n=new.target.prototype;super(t),this.transport=r,this.errorType="UnsupportedTransportError",this.__proto__=n}},Bc=class extends Error{constructor(t,r){let n=new.target.prototype;super(t),this.transport=r,this.errorType="DisabledTransportError",this.__proto__=n}},Oc=class extends Error{constructor(t,r){let n=new.target.prototype;super(t),this.transport=r,this.errorType="FailedToStartTransportError",this.__proto__=n}},is=class extends Error{constructor(t){let r=new.target.prototype;super(t),this.errorType="FailedToNegotiateWithServerError",this.__proto__=r}},Uc=class extends Error{constructor(t,r){let n=new.target.prototype;super(t),this.innerErrors=r,this.__proto__=n}};var io=class{constructor(t,r,n){this.statusCode=t,this.statusText=r,this.content=n}},Mr=class{get(t,r){return this.send({...r,method:"GET",url:t})}post(t,r){return this.send({...r,method:"POST",url:t})}delete(t,r){return this.send({...r,method:"DELETE",url:t})}getCookieString(t){return""}};var F;(function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"})(F||(F={}));var Nr=class{constructor(){}log(t,r){}};Nr.instance=new Nr;var k2="9.0.6";var xe=class{static isRequired(t,r){if(t==null)throw new Error(`The '${r}' argument is required.`)}static isNotEmpty(t,r){if(!t||t.match(/^\s*$/))throw new Error(`The '${r}' argument should not be empty.`)}static isIn(t,r,n){if(!(t in r))throw new Error(`Unknown ${n} value: ${t}.`)}},Te=class e{static get isBrowser(){return!e.isNode&&typeof window=="object"&&typeof window.document=="object"}static get isWebWorker(){return!e.isNode&&typeof self=="object"&&"importScripts"in self}static get isReactNative(){return!e.isNode&&typeof window=="object"&&typeof window.document>"u"}static get isNode(){return typeof process<"u"&&process.release&&process.release.name==="node"}};function Cn(e,t){let r="";return xr(e)?(r=`Binary data of length ${e.byteLength}`,t&&(r+=`. Content: '${Rw(e)}'`)):typeof e=="string"&&(r=`String data of length ${e.length}`,t&&(r+=`. Content: '${e}'`)),r}function Rw(e){let t=new Uint8Array(e),r="";return t.forEach(n=>{let i=n<16?"0":"";r+=`0x${i}${n.toString(16)} `}),r.substr(0,r.length-1)}function xr(e){return e&&typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||e.constructor&&e.constructor.name==="ArrayBuffer")}async function Lc(e,t,r,n,i,o){let s={},[a,c]=zr();s[a]=c,e.log(F.Trace,`(${t} transport) sending data. ${Cn(i,o.logMessageContent)}.`);let l=xr(i)?"arraybuffer":"text",h=await r.post(n,{content:i,headers:{...s,...o.headers},responseType:l,timeout:o.timeout,withCredentials:o.withCredentials});e.log(F.Trace,`(${t} transport) request complete. Response status: ${h.statusCode}.`)}function E2(e){return e===void 0?new Qn(F.Information):e===null?Nr.instance:e.log!==void 0?e:new Qn(e)}var Fc=class{constructor(t,r){this._subject=t,this._observer=r}dispose(){let t=this._subject.observers.indexOf(this._observer);t>-1&&this._subject.observers.splice(t,1),this._subject.observers.length===0&&this._subject.cancelCallback&&this._subject.cancelCallback().catch(r=>{})}},Qn=class{constructor(t){this._minLevel=t,this.out=console}log(t,r){if(t>=this._minLevel){let n=`[${new Date().toISOString()}] ${F[t]}: ${r}`;switch(t){case F.Critical:case F.Error:this.out.error(n);break;case F.Warning:this.out.warn(n);break;case F.Information:this.out.info(n);break;default:this.out.log(n);break}}}};function zr(){let e="X-SignalR-User-Agent";return Te.isNode&&(e="User-Agent"),[e,Pw(k2,Dw(),Ow(),Bw())]}function Pw(e,t,r,n){let i="Microsoft SignalR/",o=e.split(".");return i+=`${o[0]}.${o[1]}`,i+=` (${e}; `,t&&t!==""?i+=`${t}; `:i+="Unknown OS; ",i+=`${r}`,n?i+=`; ${n}`:i+="; Unknown Runtime Version",i+=")",i}function Dw(){if(Te.isNode)switch(process.platform){case"win32":return"Windows NT";case"darwin":return"macOS";case"linux":return"Linux";default:return process.platform}else return""}function Bw(){if(Te.isNode)return process.versions.node}function Ow(){return Te.isNode?"NodeJS":"Browser"}function Mc(e){return e.stack?e.stack:e.message?e.message:`${e}`}function C2(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("could not find global")}var Nc=class extends Mr{constructor(t){if(super(),this._logger=t,typeof fetch>"u"||Te.isNode){let r=typeof __webpack_require__=="function"?__non_webpack_require__:ur;this._jar=new(r("tough-cookie")).CookieJar,typeof fetch>"u"?this._fetchType=r("node-fetch"):this._fetchType=fetch,this._fetchType=r("fetch-cookie")(this._fetchType,this._jar)}else this._fetchType=fetch.bind(C2());if(typeof AbortController>"u"){let r=typeof __webpack_require__=="function"?__non_webpack_require__:ur;this._abortControllerType=r("abort-controller")}else this._abortControllerType=AbortController}async send(t){if(t.abortSignal&&t.abortSignal.aborted)throw new dt;if(!t.method)throw new Error("No method defined.");if(!t.url)throw new Error("No url defined.");let r=new this._abortControllerType,n;t.abortSignal&&(t.abortSignal.onabort=()=>{r.abort(),n=new dt});let i=null;if(t.timeout){let c=t.timeout;i=setTimeout(()=>{r.abort(),this._logger.log(F.Warning,"Timeout from HTTP request."),n=new En},c)}t.content===""&&(t.content=void 0),t.content&&(t.headers=t.headers||{},xr(t.content)?t.headers["Content-Type"]="application/octet-stream":t.headers["Content-Type"]="text/plain;charset=UTF-8");let o;try{o=await this._fetchType(t.url,{body:t.content,cache:"no-cache",credentials:t.withCredentials===!0?"include":"same-origin",headers:{"X-Requested-With":"XMLHttpRequest",...t.headers},method:t.method,mode:"cors",redirect:"follow",signal:r.signal})}catch(c){throw n||(this._logger.log(F.Warning,`Error from HTTP request. ${c}.`),c)}finally{i&&clearTimeout(i),t.abortSignal&&(t.abortSignal.onabort=null)}if(!o.ok){let c=await x2(o,"text");throw new Gt(c||o.statusText,o.status)}let a=await x2(o,t.responseType);return new io(o.status,o.statusText,a)}getCookieString(t){let r="";return Te.isNode&&this._jar&&this._jar.getCookies(t,(n,i)=>r=i.join("; ")),r}};function x2(e,t){let r;switch(t){case"arraybuffer":r=e.arrayBuffer();break;case"text":r=e.text();break;case"blob":case"document":case"json":throw new Error(`${t} is not supported.`);default:r=e.text();break}return r}var zc=class extends Mr{constructor(t){super(),this._logger=t}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new dt):t.method?t.url?new Promise((r,n)=>{let i=new XMLHttpRequest;i.open(t.method,t.url,!0),i.withCredentials=t.withCredentials===void 0?!0:t.withCredentials,i.setRequestHeader("X-Requested-With","XMLHttpRequest"),t.content===""&&(t.content=void 0),t.content&&(xr(t.content)?i.setRequestHeader("Content-Type","application/octet-stream"):i.setRequestHeader("Content-Type","text/plain;charset=UTF-8"));let o=t.headers;o&&Object.keys(o).forEach(s=>{i.setRequestHeader(s,o[s])}),t.responseType&&(i.responseType=t.responseType),t.abortSignal&&(t.abortSignal.onabort=()=>{i.abort(),n(new dt)}),t.timeout&&(i.timeout=t.timeout),i.onload=()=>{t.abortSignal&&(t.abortSignal.onabort=null),i.status>=200&&i.status<300?r(new io(i.status,i.statusText,i.response||i.responseText)):n(new Gt(i.response||i.responseText||i.statusText,i.status))},i.onerror=()=>{this._logger.log(F.Warning,`Error from HTTP request. ${i.status}: ${i.statusText}.`),n(new Gt(i.statusText,i.status))},i.ontimeout=()=>{this._logger.log(F.Warning,"Timeout from HTTP request."),n(new En)},i.send(t.content)}):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}};var jc=class extends Mr{constructor(t){if(super(),typeof fetch<"u"||Te.isNode)this._httpClient=new Nc(t);else if(typeof XMLHttpRequest<"u")this._httpClient=new zc(t);else throw new Error("No usable HttpClient found.")}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new dt):t.method?t.url?this._httpClient.send(t):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}getCookieString(t){return this._httpClient.getCookieString(t)}};var qt=class e{static write(t){return`${t}${e.RecordSeparator}`}static parse(t){if(t[t.length-1]!==e.RecordSeparator)throw new Error("Message is incomplete.");let r=t.split(e.RecordSeparator);return r.pop(),r}};qt.RecordSeparatorCode=30;qt.RecordSeparator=String.fromCharCode(qt.RecordSeparatorCode);var Vc=class{writeHandshakeRequest(t){return qt.write(JSON.stringify(t))}parseHandshakeResponse(t){let r,n;if(xr(t)){let a=new Uint8Array(t),c=a.indexOf(qt.RecordSeparatorCode);if(c===-1)throw new Error("Message is incomplete.");let l=c+1;r=String.fromCharCode.apply(null,Array.prototype.slice.call(a.slice(0,l))),n=a.byteLength>l?a.slice(l).buffer:null}else{let a=t,c=a.indexOf(qt.RecordSeparator);if(c===-1)throw new Error("Message is incomplete.");let l=c+1;r=a.substring(0,l),n=a.length>l?a.substring(l):null}let i=qt.parse(r),o=JSON.parse(i[0]);if(o.type)throw new Error("Expected a handshake response from the server.");return[n,o]}};var he;(function(e){e[e.Invocation=1]="Invocation",e[e.StreamItem=2]="StreamItem",e[e.Completion=3]="Completion",e[e.StreamInvocation=4]="StreamInvocation",e[e.CancelInvocation=5]="CancelInvocation",e[e.Ping=6]="Ping",e[e.Close=7]="Close",e[e.Ack=8]="Ack",e[e.Sequence=9]="Sequence"})(he||(he={}));var Hc=class{constructor(){this.observers=[]}next(t){for(let r of this.observers)r.next(t)}error(t){for(let r of this.observers)r.error&&r.error(t)}complete(){for(let t of this.observers)t.complete&&t.complete()}subscribe(t){return this.observers.push(t),new Fc(this,t)}};var Wc=class{constructor(t,r,n){this._bufferSize=1e5,this._messages=[],this._totalMessageCount=0,this._waitForSequenceMessage=!1,this._nextReceivingSequenceId=1,this._latestReceivedSequenceId=0,this._bufferedByteCount=0,this._reconnectInProgress=!1,this._protocol=t,this._connection=r,this._bufferSize=n}async _send(t){let r=this._protocol.writeMessage(t),n=Promise.resolve();if(this._isInvocationMessage(t)){this._totalMessageCount++;let i=()=>{},o=()=>{};xr(r)?this._bufferedByteCount+=r.byteLength:this._bufferedByteCount+=r.length,this._bufferedByteCount>=this._bufferSize&&(n=new Promise((s,a)=>{i=s,o=a})),this._messages.push(new Ru(r,this._totalMessageCount,i,o))}try{this._reconnectInProgress||await this._connection.send(r)}catch{this._disconnected()}await n}_ack(t){let r=-1;for(let n=0;n<this._messages.length;n++){let i=this._messages[n];if(i._id<=t.sequenceId)r=n,xr(i._message)?this._bufferedByteCount-=i._message.byteLength:this._bufferedByteCount-=i._message.length,i._resolver();else if(this._bufferedByteCount<this._bufferSize)i._resolver();else break}r!==-1&&(this._messages=this._messages.slice(r+1))}_shouldProcessMessage(t){if(this._waitForSequenceMessage)return t.type!==he.Sequence?!1:(this._waitForSequenceMessage=!1,!0);if(!this._isInvocationMessage(t))return!0;let r=this._nextReceivingSequenceId;return this._nextReceivingSequenceId++,r<=this._latestReceivedSequenceId?(r===this._latestReceivedSequenceId&&this._ackTimer(),!1):(this._latestReceivedSequenceId=r,this._ackTimer(),!0)}_resetSequence(t){if(t.sequenceId>this._nextReceivingSequenceId){this._connection.stop(new Error("Sequence ID greater than amount of messages we've received."));return}this._nextReceivingSequenceId=t.sequenceId}_disconnected(){this._reconnectInProgress=!0,this._waitForSequenceMessage=!0}async _resend(){let t=this._messages.length!==0?this._messages[0]._id:this._totalMessageCount+1;await this._connection.send(this._protocol.writeMessage({type:he.Sequence,sequenceId:t}));let r=this._messages;for(let n of r)await this._connection.send(n._message);this._reconnectInProgress=!1}_dispose(t){t??(t=new Error("Unable to reconnect to server."));for(let r of this._messages)r._rejector(t)}_isInvocationMessage(t){switch(t.type){case he.Invocation:case he.StreamItem:case he.Completion:case he.StreamInvocation:case he.CancelInvocation:return!0;case he.Close:case he.Sequence:case he.Ping:case he.Ack:return!1}}_ackTimer(){this._ackTimerHandle===void 0&&(this._ackTimerHandle=setTimeout(async()=>{try{this._reconnectInProgress||await this._connection.send(this._protocol.writeMessage({type:he.Ack,sequenceId:this._latestReceivedSequenceId}))}catch{}clearTimeout(this._ackTimerHandle),this._ackTimerHandle=void 0},1e3))}},Ru=class{constructor(t,r,n,i){this._message=t,this._id=r,this._resolver=n,this._rejector=i}};var Uw=30*1e3,Fw=15*1e3,Lw=1e5,Ne;(function(e){e.Disconnected="Disconnected",e.Connecting="Connecting",e.Connected="Connected",e.Disconnecting="Disconnecting",e.Reconnecting="Reconnecting"})(Ne||(Ne={}));var $c=class e{static create(t,r,n,i,o,s,a){return new e(t,r,n,i,o,s,a)}constructor(t,r,n,i,o,s,a){this._nextKeepAlive=0,this._freezeEventListener=()=>{this._logger.log(F.Warning,"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://learn.microsoft.com/aspnet/core/signalr/javascript-client#bsleep")},xe.isRequired(t,"connection"),xe.isRequired(r,"logger"),xe.isRequired(n,"protocol"),this.serverTimeoutInMilliseconds=o??Uw,this.keepAliveIntervalInMilliseconds=s??Fw,this._statefulReconnectBufferSize=a??Lw,this._logger=r,this._protocol=n,this.connection=t,this._reconnectPolicy=i,this._handshakeProtocol=new Vc,this.connection.onreceive=c=>this._processIncomingData(c),this.connection.onclose=c=>this._connectionClosed(c),this._callbacks={},this._methods={},this._closedCallbacks=[],this._reconnectingCallbacks=[],this._reconnectedCallbacks=[],this._invocationId=0,this._receivedHandshakeResponse=!1,this._connectionState=Ne.Disconnected,this._connectionStarted=!1,this._cachedPingMessage=this._protocol.writeMessage({type:he.Ping})}get state(){return this._connectionState}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||""}set baseUrl(t){if(this._connectionState!==Ne.Disconnected&&this._connectionState!==Ne.Reconnecting)throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url.");if(!t)throw new Error("The HubConnection url must be a valid url.");this.connection.baseUrl=t}start(){return this._startPromise=this._startWithStateTransitions(),this._startPromise}async _startWithStateTransitions(){if(this._connectionState!==Ne.Disconnected)return Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."));this._connectionState=Ne.Connecting,this._logger.log(F.Debug,"Starting HubConnection.");try{await this._startInternal(),Te.isBrowser&&window.document.addEventListener("freeze",this._freezeEventListener),this._connectionState=Ne.Connected,this._connectionStarted=!0,this._logger.log(F.Debug,"HubConnection connected successfully.")}catch(t){return this._connectionState=Ne.Disconnected,this._logger.log(F.Debug,`HubConnection failed to start successfully because of error '${t}'.`),Promise.reject(t)}}async _startInternal(){this._stopDuringStartError=void 0,this._receivedHandshakeResponse=!1;let t=new Promise((r,n)=>{this._handshakeResolver=r,this._handshakeRejecter=n});await this.connection.start(this._protocol.transferFormat);try{let r=this._protocol.version;this.connection.features.reconnect||(r=1);let n={protocol:this._protocol.name,version:r};if(this._logger.log(F.Debug,"Sending handshake request."),await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(n)),this._logger.log(F.Information,`Using HubProtocol '${this._protocol.name}'.`),this._cleanupTimeout(),this._resetTimeoutPeriod(),this._resetKeepAliveInterval(),await t,this._stopDuringStartError)throw this._stopDuringStartError;(this.connection.features.reconnect||!1)&&(this._messageBuffer=new Wc(this._protocol,this.connection,this._statefulReconnectBufferSize),this.connection.features.disconnected=this._messageBuffer._disconnected.bind(this._messageBuffer),this.connection.features.resend=()=>{if(this._messageBuffer)return this._messageBuffer._resend()}),this.connection.features.inherentKeepAlive||await this._sendMessage(this._cachedPingMessage)}catch(r){throw this._logger.log(F.Debug,`Hub handshake failed with error '${r}' during start(). Stopping HubConnection.`),this._cleanupTimeout(),this._cleanupPingTimer(),await this.connection.stop(r),r}}async stop(){let t=this._startPromise;this.connection.features.reconnect=!1,this._stopPromise=this._stopInternal(),await this._stopPromise;try{await t}catch{}}_stopInternal(t){if(this._connectionState===Ne.Disconnected)return this._logger.log(F.Debug,`Call to HubConnection.stop(${t}) ignored because it is already in the disconnected state.`),Promise.resolve();if(this._connectionState===Ne.Disconnecting)return this._logger.log(F.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;let r=this._connectionState;return this._connectionState=Ne.Disconnecting,this._logger.log(F.Debug,"Stopping HubConnection."),this._reconnectDelayHandle?(this._logger.log(F.Debug,"Connection stopped during reconnect delay. Done reconnecting."),clearTimeout(this._reconnectDelayHandle),this._reconnectDelayHandle=void 0,this._completeClose(),Promise.resolve()):(r===Ne.Connected&&this._sendCloseMessage(),this._cleanupTimeout(),this._cleanupPingTimer(),this._stopDuringStartError=t||new dt("The connection was stopped before the hub handshake could complete."),this.connection.stop(t))}async _sendCloseMessage(){try{await this._sendWithProtocol(this._createCloseMessage())}catch{}}stream(t,...r){let[n,i]=this._replaceStreamingParams(r),o=this._createStreamInvocation(t,r,i),s,a=new Hc;return a.cancelCallback=()=>{let c=this._createCancelInvocation(o.invocationId);return delete this._callbacks[o.invocationId],s.then(()=>this._sendWithProtocol(c))},this._callbacks[o.invocationId]=(c,l)=>{if(l){a.error(l);return}else c&&(c.type===he.Completion?c.error?a.error(new Error(c.error)):a.complete():a.next(c.item))},s=this._sendWithProtocol(o).catch(c=>{a.error(c),delete this._callbacks[o.invocationId]}),this._launchStreams(n,s),a}_sendMessage(t){return this._resetKeepAliveInterval(),this.connection.send(t)}_sendWithProtocol(t){return this._messageBuffer?this._messageBuffer._send(t):this._sendMessage(this._protocol.writeMessage(t))}send(t,...r){let[n,i]=this._replaceStreamingParams(r),o=this._sendWithProtocol(this._createInvocation(t,r,!0,i));return this._launchStreams(n,o),o}invoke(t,...r){let[n,i]=this._replaceStreamingParams(r),o=this._createInvocation(t,r,!1,i);return new Promise((a,c)=>{this._callbacks[o.invocationId]=(h,d)=>{if(d){c(d);return}else h&&(h.type===he.Completion?h.error?c(new Error(h.error)):a(h.result):c(new Error(`Unexpected message type: ${h.type}`)))};let l=this._sendWithProtocol(o).catch(h=>{c(h),delete this._callbacks[o.invocationId]});this._launchStreams(n,l)})}on(t,r){!t||!r||(t=t.toLowerCase(),this._methods[t]||(this._methods[t]=[]),this._methods[t].indexOf(r)===-1&&this._methods[t].push(r))}off(t,r){if(!t)return;t=t.toLowerCase();let n=this._methods[t];if(n)if(r){let i=n.indexOf(r);i!==-1&&(n.splice(i,1),n.length===0&&delete this._methods[t])}else delete this._methods[t]}onclose(t){t&&this._closedCallbacks.push(t)}onreconnecting(t){t&&this._reconnectingCallbacks.push(t)}onreconnected(t){t&&this._reconnectedCallbacks.push(t)}_processIncomingData(t){if(this._cleanupTimeout(),this._receivedHandshakeResponse||(t=this._processHandshakeResponse(t),this._receivedHandshakeResponse=!0),t){let r=this._protocol.parseMessages(t,this._logger);for(let n of r)if(!(this._messageBuffer&&!this._messageBuffer._shouldProcessMessage(n)))switch(n.type){case he.Invocation:this._invokeClientMethod(n).catch(i=>{this._logger.log(F.Error,`Invoke client method threw error: ${Mc(i)}`)});break;case he.StreamItem:case he.Completion:{let i=this._callbacks[n.invocationId];if(i){n.type===he.Completion&&delete this._callbacks[n.invocationId];try{i(n)}catch(o){this._logger.log(F.Error,`Stream callback threw error: ${Mc(o)}`)}}break}case he.Ping:break;case he.Close:{this._logger.log(F.Information,"Close message received from server.");let i=n.error?new Error("Server returned an error on close: "+n.error):void 0;n.allowReconnect===!0?this.connection.stop(i):this._stopPromise=this._stopInternal(i);break}case he.Ack:this._messageBuffer&&this._messageBuffer._ack(n);break;case he.Sequence:this._messageBuffer&&this._messageBuffer._resetSequence(n);break;default:this._logger.log(F.Warning,`Invalid message type: ${n.type}.`);break}}this._resetTimeoutPeriod()}_processHandshakeResponse(t){let r,n;try{[n,r]=this._handshakeProtocol.parseHandshakeResponse(t)}catch(i){let o="Error parsing handshake response: "+i;this._logger.log(F.Error,o);let s=new Error(o);throw this._handshakeRejecter(s),s}if(r.error){let i="Server returned handshake error: "+r.error;this._logger.log(F.Error,i);let o=new Error(i);throw this._handshakeRejecter(o),o}else this._logger.log(F.Debug,"Server handshake complete.");return this._handshakeResolver(),n}_resetKeepAliveInterval(){this.connection.features.inherentKeepAlive||(this._nextKeepAlive=new Date().getTime()+this.keepAliveIntervalInMilliseconds,this._cleanupPingTimer())}_resetTimeoutPeriod(){if((!this.connection.features||!this.connection.features.inherentKeepAlive)&&(this._timeoutHandle=setTimeout(()=>this.serverTimeout(),this.serverTimeoutInMilliseconds),this._pingServerHandle===void 0)){let t=this._nextKeepAlive-new Date().getTime();t<0&&(t=0),this._pingServerHandle=setTimeout(async()=>{if(this._connectionState===Ne.Connected)try{await this._sendMessage(this._cachedPingMessage)}catch{this._cleanupPingTimer()}},t)}}serverTimeout(){this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server."))}async _invokeClientMethod(t){let r=t.target.toLowerCase(),n=this._methods[r];if(!n){this._logger.log(F.Warning,`No client method with the name '${r}' found.`),t.invocationId&&(this._logger.log(F.Warning,`No result given for '${r}' method and invocation ID '${t.invocationId}'.`),await this._sendWithProtocol(this._createCompletionMessage(t.invocationId,"Client didn't provide a result.",null)));return}let i=n.slice(),o=!!t.invocationId,s,a,c;for(let l of i)try{let h=s;s=await l.apply(this,t.arguments),o&&s&&h&&(this._logger.log(F.Error,`Multiple results provided for '${r}'. Sending error to server.`),c=this._createCompletionMessage(t.invocationId,"Client provided multiple results.",null)),a=void 0}catch(h){a=h,this._logger.log(F.Error,`A callback for the method '${r}' threw error '${h}'.`)}c?await this._sendWithProtocol(c):o?(a?c=this._createCompletionMessage(t.invocationId,`${a}`,null):s!==void 0?c=this._createCompletionMessage(t.invocationId,null,s):(this._logger.log(F.Warning,`No result given for '${r}' method and invocation ID '${t.invocationId}'.`),c=this._createCompletionMessage(t.invocationId,"Client didn't provide a result.",null)),await this._sendWithProtocol(c)):s&&this._logger.log(F.Error,`Result given for '${r}' method but server is not expecting a result.`)}_connectionClosed(t){this._logger.log(F.Debug,`HubConnection.connectionClosed(${t}) called while in state ${this._connectionState}.`),this._stopDuringStartError=this._stopDuringStartError||t||new dt("The underlying connection was closed before the hub handshake could complete."),this._handshakeResolver&&this._handshakeResolver(),this._cancelCallbacksWithError(t||new Error("Invocation canceled due to the underlying connection being closed.")),this._cleanupTimeout(),this._cleanupPingTimer(),this._connectionState===Ne.Disconnecting?this._completeClose(t):this._connectionState===Ne.Connected&&this._reconnectPolicy?this._reconnect(t):this._connectionState===Ne.Connected&&this._completeClose(t)}_completeClose(t){if(this._connectionStarted){this._connectionState=Ne.Disconnected,this._connectionStarted=!1,this._messageBuffer&&(this._messageBuffer._dispose(t??new Error("Connection closed.")),this._messageBuffer=void 0),Te.isBrowser&&window.document.removeEventListener("freeze",this._freezeEventListener);try{this._closedCallbacks.forEach(r=>r.apply(this,[t]))}catch(r){this._logger.log(F.Error,`An onclose callback called with error '${t}' threw error '${r}'.`)}}}async _reconnect(t){let r=Date.now(),n=0,i=t!==void 0?t:new Error("Attempting to reconnect due to a unknown error."),o=this._getNextRetryDelay(n++,0,i);if(o===null){this._logger.log(F.Debug,"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt."),this._completeClose(t);return}if(this._connectionState=Ne.Reconnecting,t?this._logger.log(F.Information,`Connection reconnecting because of error '${t}'.`):this._logger.log(F.Information,"Connection reconnecting."),this._reconnectingCallbacks.length!==0){try{this._reconnectingCallbacks.forEach(s=>s.apply(this,[t]))}catch(s){this._logger.log(F.Error,`An onreconnecting callback called with error '${t}' threw error '${s}'.`)}if(this._connectionState!==Ne.Reconnecting){this._logger.log(F.Debug,"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.");return}}for(;o!==null;){if(this._logger.log(F.Information,`Reconnect attempt number ${n} will start in ${o} ms.`),await new Promise(s=>{this._reconnectDelayHandle=setTimeout(s,o)}),this._reconnectDelayHandle=void 0,this._connectionState!==Ne.Reconnecting){this._logger.log(F.Debug,"Connection left the reconnecting state during reconnect delay. Done reconnecting.");return}try{if(await this._startInternal(),this._connectionState=Ne.Connected,this._logger.log(F.Information,"HubConnection reconnected successfully."),this._reconnectedCallbacks.length!==0)try{this._reconnectedCallbacks.forEach(s=>s.apply(this,[this.connection.connectionId]))}catch(s){this._logger.log(F.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${s}'.`)}return}catch(s){if(this._logger.log(F.Information,`Reconnect attempt failed because of error '${s}'.`),this._connectionState!==Ne.Reconnecting){this._logger.log(F.Debug,`Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`),this._connectionState===Ne.Disconnecting&&this._completeClose();return}i=s instanceof Error?s:new Error(s.toString()),o=this._getNextRetryDelay(n++,Date.now()-r,i)}}this._logger.log(F.Information,`Reconnect retries have been exhausted after ${Date.now()-r} ms and ${n} failed attempts. Connection disconnecting.`),this._completeClose()}_getNextRetryDelay(t,r,n){try{return this._reconnectPolicy.nextRetryDelayInMilliseconds({elapsedMilliseconds:r,previousRetryCount:t,retryReason:n})}catch(i){return this._logger.log(F.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${t}, ${r}) threw error '${i}'.`),null}}_cancelCallbacksWithError(t){let r=this._callbacks;this._callbacks={},Object.keys(r).forEach(n=>{let i=r[n];try{i(null,t)}catch(o){this._logger.log(F.Error,`Stream 'error' callback called with '${t}' threw error: ${Mc(o)}`)}})}_cleanupPingTimer(){this._pingServerHandle&&(clearTimeout(this._pingServerHandle),this._pingServerHandle=void 0)}_cleanupTimeout(){this._timeoutHandle&&clearTimeout(this._timeoutHandle)}_createInvocation(t,r,n,i){if(n)return i.length!==0?{target:t,arguments:r,streamIds:i,type:he.Invocation}:{target:t,arguments:r,type:he.Invocation};{let o=this._invocationId;return this._invocationId++,i.length!==0?{target:t,arguments:r,invocationId:o.toString(),streamIds:i,type:he.Invocation}:{target:t,arguments:r,invocationId:o.toString(),type:he.Invocation}}}_launchStreams(t,r){if(t.length!==0){r||(r=Promise.resolve());for(let n in t)t[n].subscribe({complete:()=>{r=r.then(()=>this._sendWithProtocol(this._createCompletionMessage(n)))},error:i=>{let o;i instanceof Error?o=i.message:i&&i.toString?o=i.toString():o="Unknown error",r=r.then(()=>this._sendWithProtocol(this._createCompletionMessage(n,o)))},next:i=>{r=r.then(()=>this._sendWithProtocol(this._createStreamItemMessage(n,i)))}})}}_replaceStreamingParams(t){let r=[],n=[];for(let i=0;i<t.length;i++){let o=t[i];if(this._isObservable(o)){let s=this._invocationId;this._invocationId++,r[s]=o,n.push(s.toString()),t.splice(i,1)}}return[r,n]}_isObservable(t){return t&&t.subscribe&&typeof t.subscribe=="function"}_createStreamInvocation(t,r,n){let i=this._invocationId;return this._invocationId++,n.length!==0?{target:t,arguments:r,invocationId:i.toString(),streamIds:n,type:he.StreamInvocation}:{target:t,arguments:r,invocationId:i.toString(),type:he.StreamInvocation}}_createCancelInvocation(t){return{invocationId:t,type:he.CancelInvocation}}_createStreamItemMessage(t,r){return{invocationId:t,item:r,type:he.StreamItem}}_createCompletionMessage(t,r,n){return r?{error:r,invocationId:t,type:he.Completion}:{invocationId:t,result:n,type:he.Completion}}_createCloseMessage(){return{type:he.Close}}};var Mw=[0,2e3,1e4,3e4,null],os=class{constructor(t){this._retryDelays=t!==void 0?[...t,null]:Mw}nextRetryDelayInMilliseconds(t){return this._retryDelays[t.previousRetryCount]}};var Ar=class{};Ar.Authorization="Authorization";Ar.Cookie="Cookie";var Gc=class extends Mr{constructor(t,r){super(),this._innerClient=t,this._accessTokenFactory=r}async send(t){let r=!0;this._accessTokenFactory&&(!this._accessToken||t.url&&t.url.indexOf("/negotiate?")>0)&&(r=!1,this._accessToken=await this._accessTokenFactory()),this._setAuthorizationHeader(t);let n=await this._innerClient.send(t);return r&&n.statusCode===401&&this._accessTokenFactory?(this._accessToken=await this._accessTokenFactory(),this._setAuthorizationHeader(t),await this._innerClient.send(t)):n}_setAuthorizationHeader(t){t.headers||(t.headers={}),this._accessToken?t.headers[Ar.Authorization]=`Bearer ${this._accessToken}`:this._accessTokenFactory&&t.headers[Ar.Authorization]&&delete t.headers[Ar.Authorization]}getCookieString(t){return this._innerClient.getCookieString(t)}};var Ve;(function(e){e[e.None=0]="None",e[e.WebSockets=1]="WebSockets",e[e.ServerSentEvents=2]="ServerSentEvents",e[e.LongPolling=4]="LongPolling"})(Ve||(Ve={}));var qe;(function(e){e[e.Text=1]="Text",e[e.Binary=2]="Binary"})(qe||(qe={}));var qc=class{constructor(){this._isAborted=!1,this.onabort=null}abort(){this._isAborted||(this._isAborted=!0,this.onabort&&this.onabort())}get signal(){return this}get aborted(){return this._isAborted}};var ss=class{get pollAborted(){return this._pollAbort.aborted}constructor(t,r,n){this._httpClient=t,this._logger=r,this._pollAbort=new qc,this._options=n,this._running=!1,this.onreceive=null,this.onclose=null}async connect(t,r){if(xe.isRequired(t,"url"),xe.isRequired(r,"transferFormat"),xe.isIn(r,qe,"transferFormat"),this._url=t,this._logger.log(F.Trace,"(LongPolling transport) Connecting."),r===qe.Binary&&typeof XMLHttpRequest<"u"&&typeof new XMLHttpRequest().responseType!="string")throw new Error("Binary protocols over XmlHttpRequest not implementing advanced features are not supported.");let[n,i]=zr(),o={[n]:i,...this._options.headers},s={abortSignal:this._pollAbort.signal,headers:o,timeout:1e5,withCredentials:this._options.withCredentials};r===qe.Binary&&(s.responseType="arraybuffer");let a=`${t}&_=${Date.now()}`;this._logger.log(F.Trace,`(LongPolling transport) polling: ${a}.`);let c=await this._httpClient.get(a,s);c.statusCode!==200?(this._logger.log(F.Error,`(LongPolling transport) Unexpected response code: ${c.statusCode}.`),this._closeError=new Gt(c.statusText||"",c.statusCode),this._running=!1):this._running=!0,this._receiving=this._poll(this._url,s)}async _poll(t,r){try{for(;this._running;)try{let n=`${t}&_=${Date.now()}`;this._logger.log(F.Trace,`(LongPolling transport) polling: ${n}.`);let i=await this._httpClient.get(n,r);i.statusCode===204?(this._logger.log(F.Information,"(LongPolling transport) Poll terminated by server."),this._running=!1):i.statusCode!==200?(this._logger.log(F.Error,`(LongPolling transport) Unexpected response code: ${i.statusCode}.`),this._closeError=new Gt(i.statusText||"",i.statusCode),this._running=!1):i.content?(this._logger.log(F.Trace,`(LongPolling transport) data received. ${Cn(i.content,this._options.logMessageContent)}.`),this.onreceive&&this.onreceive(i.content)):this._logger.log(F.Trace,"(LongPolling transport) Poll timed out, reissuing.")}catch(n){this._running?n instanceof En?this._logger.log(F.Trace,"(LongPolling transport) Poll timed out, reissuing."):(this._closeError=n,this._running=!1):this._logger.log(F.Trace,`(LongPolling transport) Poll errored after shutdown: ${n.message}`)}}finally{this._logger.log(F.Trace,"(LongPolling transport) Polling complete."),this.pollAborted||this._raiseOnClose()}}async send(t){return this._running?Lc(this._logger,"LongPolling",this._httpClient,this._url,t,this._options):Promise.reject(new Error("Cannot send until the transport is connected"))}async stop(){this._logger.log(F.Trace,"(LongPolling transport) Stopping polling."),this._running=!1,this._pollAbort.abort();try{await this._receiving,this._logger.log(F.Trace,`(LongPolling transport) sending DELETE request to ${this._url}.`);let t={},[r,n]=zr();t[r]=n;let i={headers:{...t,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials},o;try{await this._httpClient.delete(this._url,i)}catch(s){o=s}o?o instanceof Gt&&(o.statusCode===404?this._logger.log(F.Trace,"(LongPolling transport) A 404 response was returned from sending a DELETE request."):this._logger.log(F.Trace,`(LongPolling transport) Error sending a DELETE request: ${o}`)):this._logger.log(F.Trace,"(LongPolling transport) DELETE request accepted.")}finally{this._logger.log(F.Trace,"(LongPolling transport) Stop finished."),this._raiseOnClose()}}_raiseOnClose(){if(this.onclose){let t="(LongPolling transport) Firing onclose event.";this._closeError&&(t+=" Error: "+this._closeError),this._logger.log(F.Trace,t),this.onclose(this._closeError)}}};var Kc=class{constructor(t,r,n,i){this._httpClient=t,this._accessToken=r,this._logger=n,this._options=i,this.onreceive=null,this.onclose=null}async connect(t,r){return xe.isRequired(t,"url"),xe.isRequired(r,"transferFormat"),xe.isIn(r,qe,"transferFormat"),this._logger.log(F.Trace,"(SSE transport) Connecting."),this._url=t,this._accessToken&&(t+=(t.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(this._accessToken)}`),new Promise((n,i)=>{let o=!1;if(r!==qe.Text){i(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"));return}let s;if(Te.isBrowser||Te.isWebWorker)s=new this._options.EventSource(t,{withCredentials:this._options.withCredentials});else{let a=this._httpClient.getCookieString(t),c={};c.Cookie=a;let[l,h]=zr();c[l]=h,s=new this._options.EventSource(t,{withCredentials:this._options.withCredentials,headers:{...c,...this._options.headers}})}try{s.onmessage=a=>{if(this.onreceive)try{this._logger.log(F.Trace,`(SSE transport) data received. ${Cn(a.data,this._options.logMessageContent)}.`),this.onreceive(a.data)}catch(c){this._close(c);return}},s.onerror=a=>{o?this._close():i(new Error("EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled."))},s.onopen=()=>{this._logger.log(F.Information,`SSE connected to ${this._url}`),this._eventSource=s,o=!0,n()}}catch(a){i(a);return}})}async send(t){return this._eventSource?Lc(this._logger,"SSE",this._httpClient,this._url,t,this._options):Promise.reject(new Error("Cannot send until the transport is connected"))}stop(){return this._close(),Promise.resolve()}_close(t){this._eventSource&&(this._eventSource.close(),this._eventSource=void 0,this.onclose&&this.onclose(t))}};var Xc=class{constructor(t,r,n,i,o,s){this._logger=n,this._accessTokenFactory=r,this._logMessageContent=i,this._webSocketConstructor=o,this._httpClient=t,this.onreceive=null,this.onclose=null,this._headers=s}async connect(t,r){xe.isRequired(t,"url"),xe.isRequired(r,"transferFormat"),xe.isIn(r,qe,"transferFormat"),this._logger.log(F.Trace,"(WebSockets transport) Connecting.");let n;return this._accessTokenFactory&&(n=await this._accessTokenFactory()),new Promise((i,o)=>{t=t.replace(/^http/,"ws");let s,a=this._httpClient.getCookieString(t),c=!1;if(Te.isNode||Te.isReactNative){let l={},[h,d]=zr();l[h]=d,n&&(l[Ar.Authorization]=`Bearer ${n}`),a&&(l[Ar.Cookie]=a),s=new this._webSocketConstructor(t,void 0,{headers:{...l,...this._headers}})}else n&&(t+=(t.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(n)}`);s||(s=new this._webSocketConstructor(t)),r===qe.Binary&&(s.binaryType="arraybuffer"),s.onopen=l=>{this._logger.log(F.Information,`WebSocket connected to ${t}.`),this._webSocket=s,c=!0,i()},s.onerror=l=>{let h=null;typeof ErrorEvent<"u"&&l instanceof ErrorEvent?h=l.error:h="There was an error with the transport",this._logger.log(F.Information,`(WebSockets transport) ${h}.`)},s.onmessage=l=>{if(this._logger.log(F.Trace,`(WebSockets transport) data received. ${Cn(l.data,this._logMessageContent)}.`),this.onreceive)try{this.onreceive(l.data)}catch(h){this._close(h);return}},s.onclose=l=>{if(c)this._close(l);else{let h=null;typeof ErrorEvent<"u"&&l instanceof ErrorEvent?h=l.error:h="WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.",o(new Error(h))}}})}send(t){return this._webSocket&&this._webSocket.readyState===this._webSocketConstructor.OPEN?(this._logger.log(F.Trace,`(WebSockets transport) sending data. ${Cn(t,this._logMessageContent)}.`),this._webSocket.send(t),Promise.resolve()):Promise.reject("WebSocket is not in the OPEN state")}stop(){return this._webSocket&&this._close(void 0),Promise.resolve()}_close(t){this._webSocket&&(this._webSocket.onclose=()=>{},this._webSocket.onmessage=()=>{},this._webSocket.onerror=()=>{},this._webSocket.close(),this._webSocket=void 0),this._logger.log(F.Trace,"(WebSockets transport) socket closed."),this.onclose&&(this._isCloseEvent(t)&&(t.wasClean===!1||t.code!==1e3)?this.onclose(new Error(`WebSocket closed with status code: ${t.code} (${t.reason||"no reason given"}).`)):t instanceof Error?this.onclose(t):this.onclose())}_isCloseEvent(t){return t&&typeof t.wasClean=="boolean"&&typeof t.code=="number"}};var A2=100,Jc=class{constructor(t,r={}){if(this._stopPromiseResolver=()=>{},this.features={},this._negotiateVersion=1,xe.isRequired(t,"url"),this._logger=E2(r.logger),this.baseUrl=this._resolveUrl(t),r=r||{},r.logMessageContent=r.logMessageContent===void 0?!1:r.logMessageContent,typeof r.withCredentials=="boolean"||r.withCredentials===void 0)r.withCredentials=r.withCredentials===void 0?!0:r.withCredentials;else throw new Error("withCredentials option was not a 'boolean' or 'undefined' value");r.timeout=r.timeout===void 0?100*1e3:r.timeout;let n=null,i=null;if(Te.isNode&&typeof ur<"u"){let o=typeof __webpack_require__=="function"?__non_webpack_require__:ur;n=o("ws"),i=o("eventsource")}!Te.isNode&&typeof WebSocket<"u"&&!r.WebSocket?r.WebSocket=WebSocket:Te.isNode&&!r.WebSocket&&n&&(r.WebSocket=n),!Te.isNode&&typeof EventSource<"u"&&!r.EventSource?r.EventSource=EventSource:Te.isNode&&!r.EventSource&&typeof i<"u"&&(r.EventSource=i),this._httpClient=new Gc(r.httpClient||new jc(this._logger),r.accessTokenFactory),this._connectionState="Disconnected",this._connectionStarted=!1,this._options=r,this.onreceive=null,this.onclose=null}async start(t){if(t=t||qe.Binary,xe.isIn(t,qe,"transferFormat"),this._logger.log(F.Debug,`Starting connection with transfer format '${qe[t]}'.`),this._connectionState!=="Disconnected")return Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."));if(this._connectionState="Connecting",this._startInternalPromise=this._startInternal(t),await this._startInternalPromise,this._connectionState==="Disconnecting"){let r="Failed to start the HttpConnection before stop() was called.";return this._logger.log(F.Error,r),await this._stopPromise,Promise.reject(new dt(r))}else if(this._connectionState!=="Connected"){let r="HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!";return this._logger.log(F.Error,r),Promise.reject(new dt(r))}this._connectionStarted=!0}send(t){return this._connectionState!=="Connected"?Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State.")):(this._sendQueue||(this._sendQueue=new Pu(this.transport)),this._sendQueue.send(t))}async stop(t){if(this._connectionState==="Disconnected")return this._logger.log(F.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnected state.`),Promise.resolve();if(this._connectionState==="Disconnecting")return this._logger.log(F.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;this._connectionState="Disconnecting",this._stopPromise=new Promise(r=>{this._stopPromiseResolver=r}),await this._stopInternal(t),await this._stopPromise}async _stopInternal(t){this._stopError=t;try{await this._startInternalPromise}catch{}if(this.transport){try{await this.transport.stop()}catch(r){this._logger.log(F.Error,`HttpConnection.transport.stop() threw error '${r}'.`),this._stopConnection()}this.transport=void 0}else this._logger.log(F.Debug,"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.")}async _startInternal(t){let r=this.baseUrl;this._accessTokenFactory=this._options.accessTokenFactory,this._httpClient._accessTokenFactory=this._accessTokenFactory;try{if(this._options.skipNegotiation)if(this._options.transport===Ve.WebSockets)this.transport=this._constructTransport(Ve.WebSockets),await this._startTransport(r,t);else throw new Error("Negotiation can only be skipped when using the WebSocket transport directly.");else{let n=null,i=0;do{if(n=await this._getNegotiationResponse(r),this._connectionState==="Disconnecting"||this._connectionState==="Disconnected")throw new dt("The connection was stopped during negotiation.");if(n.error)throw new Error(n.error);if(n.ProtocolVersion)throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.");if(n.url&&(r=n.url),n.accessToken){let o=n.accessToken;this._accessTokenFactory=()=>o,this._httpClient._accessToken=o,this._httpClient._accessTokenFactory=void 0}i++}while(n.url&&i<A2);if(i===A2&&n.url)throw new Error("Negotiate redirection limit exceeded.");await this._createTransport(r,this._options.transport,n,t)}this.transport instanceof ss&&(this.features.inherentKeepAlive=!0),this._connectionState==="Connecting"&&(this._logger.log(F.Debug,"The HttpConnection connected successfully."),this._connectionState="Connected")}catch(n){return this._logger.log(F.Error,"Failed to start the connection: "+n),this._connectionState="Disconnected",this.transport=void 0,this._stopPromiseResolver(),Promise.reject(n)}}async _getNegotiationResponse(t){let r={},[n,i]=zr();r[n]=i;let o=this._resolveNegotiateUrl(t);this._logger.log(F.Debug,`Sending negotiation request: ${o}.`);try{let s=await this._httpClient.post(o,{content:"",headers:{...r,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials});if(s.statusCode!==200)return Promise.reject(new Error(`Unexpected status code returned from negotiate '${s.statusCode}'`));let a=JSON.parse(s.content);return(!a.negotiateVersion||a.negotiateVersion<1)&&(a.connectionToken=a.connectionId),a.useStatefulReconnect&&this._options._useStatefulReconnect!==!0?Promise.reject(new is("Client didn't negotiate Stateful Reconnect but the server did.")):a}catch(s){let a="Failed to complete negotiation with the server: "+s;return s instanceof Gt&&s.statusCode===404&&(a=a+" Either this is not a SignalR endpoint or there is a proxy blocking the connection."),this._logger.log(F.Error,a),Promise.reject(new is(a))}}_createConnectUrl(t,r){return r?t+(t.indexOf("?")===-1?"?":"&")+`id=${r}`:t}async _createTransport(t,r,n,i){let o=this._createConnectUrl(t,n.connectionToken);if(this._isITransport(r)){this._logger.log(F.Debug,"Connection was provided an instance of ITransport, using that directly."),this.transport=r,await this._startTransport(o,i),this.connectionId=n.connectionId;return}let s=[],a=n.availableTransports||[],c=n;for(let l of a){let h=this._resolveTransportOrError(l,r,i,c?.useStatefulReconnect===!0);if(h instanceof Error)s.push(`${l.transport} failed:`),s.push(h);else if(this._isITransport(h)){if(this.transport=h,!c){try{c=await this._getNegotiationResponse(t)}catch(d){return Promise.reject(d)}o=this._createConnectUrl(t,c.connectionToken)}try{await this._startTransport(o,i),this.connectionId=c.connectionId;return}catch(d){if(this._logger.log(F.Error,`Failed to start the transport '${l.transport}': ${d}`),c=void 0,s.push(new Oc(`${l.transport} failed: ${d}`,Ve[l.transport])),this._connectionState!=="Connecting"){let g="Failed to select transport before stop() was called.";return this._logger.log(F.Debug,g),Promise.reject(new dt(g))}}}}return s.length>0?Promise.reject(new Uc(`Unable to connect to the server with any of the available transports. ${s.join(" ")}`,s)):Promise.reject(new Error("None of the transports supported by the client are supported by the server."))}_constructTransport(t){switch(t){case Ve.WebSockets:if(!this._options.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new Xc(this._httpClient,this._accessTokenFactory,this._logger,this._options.logMessageContent,this._options.WebSocket,this._options.headers||{});case Ve.ServerSentEvents:if(!this._options.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new Kc(this._httpClient,this._httpClient._accessToken,this._logger,this._options);case Ve.LongPolling:return new ss(this._httpClient,this._logger,this._options);default:throw new Error(`Unknown transport: ${t}.`)}}_startTransport(t,r){return this.transport.onreceive=this.onreceive,this.features.reconnect?this.transport.onclose=async n=>{let i=!1;if(this.features.reconnect)try{this.features.disconnected(),await this.transport.connect(t,r),await this.features.resend()}catch{i=!0}else{this._stopConnection(n);return}i&&this._stopConnection(n)}:this.transport.onclose=n=>this._stopConnection(n),this.transport.connect(t,r)}_resolveTransportOrError(t,r,n,i){let o=Ve[t.transport];if(o==null)return this._logger.log(F.Debug,`Skipping transport '${t.transport}' because it is not supported by this client.`),new Error(`Skipping transport '${t.transport}' because it is not supported by this client.`);if(Nw(r,o))if(t.transferFormats.map(a=>qe[a]).indexOf(n)>=0){if(o===Ve.WebSockets&&!this._options.WebSocket||o===Ve.ServerSentEvents&&!this._options.EventSource)return this._logger.log(F.Debug,`Skipping transport '${Ve[o]}' because it is not supported in your environment.'`),new Dc(`'${Ve[o]}' is not supported in your environment.`,o);this._logger.log(F.Debug,`Selecting transport '${Ve[o]}'.`);try{return this.features.reconnect=o===Ve.WebSockets?i:void 0,this._constructTransport(o)}catch(a){return a}}else return this._logger.log(F.Debug,`Skipping transport '${Ve[o]}' because it does not support the requested transfer format '${qe[n]}'.`),new Error(`'${Ve[o]}' does not support ${qe[n]}.`);else return this._logger.log(F.Debug,`Skipping transport '${Ve[o]}' because it was disabled by the client.`),new Bc(`'${Ve[o]}' is disabled by the client.`,o)}_isITransport(t){return t&&typeof t=="object"&&"connect"in t}_stopConnection(t){if(this._logger.log(F.Debug,`HttpConnection.stopConnection(${t}) called while in state ${this._connectionState}.`),this.transport=void 0,t=this._stopError||t,this._stopError=void 0,this._connectionState==="Disconnected"){this._logger.log(F.Debug,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is already in the disconnected state.`);return}if(this._connectionState==="Connecting")throw this._logger.log(F.Warning,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is still in the connecting state.`),new Error(`HttpConnection.stopConnection(${t}) was called while the connection is still in the connecting state.`);if(this._connectionState==="Disconnecting"&&this._stopPromiseResolver(),t?this._logger.log(F.Error,`Connection disconnected with error '${t}'.`):this._logger.log(F.Information,"Connection disconnected."),this._sendQueue&&(this._sendQueue.stop().catch(r=>{this._logger.log(F.Error,`TransportSendQueue.stop() threw error '${r}'.`)}),this._sendQueue=void 0),this.connectionId=void 0,this._connectionState="Disconnected",this._connectionStarted){this._connectionStarted=!1;try{this.onclose&&this.onclose(t)}catch(r){this._logger.log(F.Error,`HttpConnection.onclose(${t}) threw error '${r}'.`)}}}_resolveUrl(t){if(t.lastIndexOf("https://",0)===0||t.lastIndexOf("http://",0)===0)return t;if(!Te.isBrowser)throw new Error(`Cannot resolve '${t}'.`);let r=window.document.createElement("a");return r.href=t,this._logger.log(F.Information,`Normalizing '${t}' to '${r.href}'.`),r.href}_resolveNegotiateUrl(t){let r=new URL(t);r.pathname.endsWith("/")?r.pathname+="negotiate":r.pathname+="/negotiate";let n=new URLSearchParams(r.searchParams);return n.has("negotiateVersion")||n.append("negotiateVersion",this._negotiateVersion.toString()),n.has("useStatefulReconnect")?n.get("useStatefulReconnect")==="true"&&(this._options._useStatefulReconnect=!0):this._options._useStatefulReconnect===!0&&n.append("useStatefulReconnect","true"),r.search=n.toString(),r.toString()}};function Nw(e,t){return!e||(t&e)!==0}var Pu=class e{constructor(t){this._transport=t,this._buffer=[],this._executing=!0,this._sendBufferedData=new oo,this._transportResult=new oo,this._sendLoopPromise=this._sendLoop()}send(t){return this._bufferData(t),this._transportResult||(this._transportResult=new oo),this._transportResult.promise}stop(){return this._executing=!1,this._sendBufferedData.resolve(),this._sendLoopPromise}_bufferData(t){if(this._buffer.length&&typeof this._buffer[0]!=typeof t)throw new Error(`Expected data to be of type ${typeof this._buffer} but was of type ${typeof t}`);this._buffer.push(t),this._sendBufferedData.resolve()}async _sendLoop(){for(;;){if(await this._sendBufferedData.promise,!this._executing){this._transportResult&&this._transportResult.reject("Connection stopped.");break}this._sendBufferedData=new oo;let t=this._transportResult;this._transportResult=void 0;let r=typeof this._buffer[0]=="string"?this._buffer.join(""):e._concatBuffers(this._buffer);this._buffer.length=0;try{await this._transport.send(r),t.resolve()}catch(n){t.reject(n)}}}static _concatBuffers(t){let r=t.map(o=>o.byteLength).reduce((o,s)=>o+s),n=new Uint8Array(r),i=0;for(let o of t)n.set(new Uint8Array(o),i),i+=o.byteLength;return n.buffer}},oo=class{constructor(){this.promise=new Promise((t,r)=>[this._resolver,this._rejecter]=[t,r])}resolve(){this._resolver()}reject(t){this._rejecter(t)}};var zw="json",Yc=class{constructor(){this.name=zw,this.version=2,this.transferFormat=qe.Text}parseMessages(t,r){if(typeof t!="string")throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!t)return[];r===null&&(r=Nr.instance);let n=qt.parse(t),i=[];for(let o of n){let s=JSON.parse(o);if(typeof s.type!="number")throw new Error("Invalid payload.");switch(s.type){case he.Invocation:this._isInvocationMessage(s);break;case he.StreamItem:this._isStreamItemMessage(s);break;case he.Completion:this._isCompletionMessage(s);break;case he.Ping:break;case he.Close:break;case he.Ack:this._isAckMessage(s);break;case he.Sequence:this._isSequenceMessage(s);break;default:r.log(F.Information,"Unknown message type '"+s.type+"' ignored.");continue}i.push(s)}return i}writeMessage(t){return qt.write(JSON.stringify(t))}_isInvocationMessage(t){this._assertNotEmptyString(t.target,"Invalid payload for Invocation message."),t.invocationId!==void 0&&this._assertNotEmptyString(t.invocationId,"Invalid payload for Invocation message.")}_isStreamItemMessage(t){if(this._assertNotEmptyString(t.invocationId,"Invalid payload for StreamItem message."),t.item===void 0)throw new Error("Invalid payload for StreamItem message.")}_isCompletionMessage(t){if(t.result&&t.error)throw new Error("Invalid payload for Completion message.");!t.result&&t.error&&this._assertNotEmptyString(t.error,"Invalid payload for Completion message."),this._assertNotEmptyString(t.invocationId,"Invalid payload for Completion message.")}_isAckMessage(t){if(typeof t.sequenceId!="number")throw new Error("Invalid SequenceId for Ack message.")}_isSequenceMessage(t){if(typeof t.sequenceId!="number")throw new Error("Invalid SequenceId for Sequence message.")}_assertNotEmptyString(t,r){if(typeof t!="string"||t==="")throw new Error(r)}};var jw={trace:F.Trace,debug:F.Debug,info:F.Information,information:F.Information,warn:F.Warning,warning:F.Warning,error:F.Error,critical:F.Critical,none:F.None};function Vw(e){let t=jw[e.toLowerCase()];if(typeof t<"u")return t;throw new Error(`Unknown log level: ${e}`)}var as=class{configureLogging(t){if(xe.isRequired(t,"logging"),Hw(t))this.logger=t;else if(typeof t=="string"){let r=Vw(t);this.logger=new Qn(r)}else this.logger=new Qn(t);return this}withUrl(t,r){return xe.isRequired(t,"url"),xe.isNotEmpty(t,"url"),this.url=t,typeof r=="object"?this.httpConnectionOptions={...this.httpConnectionOptions,...r}:this.httpConnectionOptions={...this.httpConnectionOptions,transport:r},this}withHubProtocol(t){return xe.isRequired(t,"protocol"),this.protocol=t,this}withAutomaticReconnect(t){if(this.reconnectPolicy)throw new Error("A reconnectPolicy has already been set.");return t?Array.isArray(t)?this.reconnectPolicy=new os(t):this.reconnectPolicy=t:this.reconnectPolicy=new os,this}withServerTimeout(t){return xe.isRequired(t,"milliseconds"),this._serverTimeoutInMilliseconds=t,this}withKeepAliveInterval(t){return xe.isRequired(t,"milliseconds"),this._keepAliveIntervalInMilliseconds=t,this}withStatefulReconnect(t){return this.httpConnectionOptions===void 0&&(this.httpConnectionOptions={}),this.httpConnectionOptions._useStatefulReconnect=!0,this._statefulReconnectBufferSize=t?.bufferSize,this}build(){let t=this.httpConnectionOptions||{};if(t.logger===void 0&&(t.logger=this.logger),!this.url)throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");let r=new Jc(this.url,t);return $c.create(r,this.logger||Nr.instance,this.protocol||new Yc,this.reconnectPolicy,this._serverTimeoutInMilliseconds,this._keepAliveIntervalInMilliseconds,this._statefulReconnectBufferSize)}};function Hw(e){return e.log!==void 0}var Ty=fl(Ay());var gs=class{},Iy=(s=>(s[s.WAITING=-1]="WAITING",s[s.STARTED=0]="STARTED",s[s.QR_CODE=1]="QR_CODE",s[s.POSITION=2]="POSITION",s[s.FINISHED=3]="FINISHED",s[s.ERROR=9]="ERROR",s))(Iy||{}),ll=class e{constructor(t,r){this.proctoringId="";this.capturePhotoUrl="";this.qrCodeBase64Image="";this.transmissionOk=!1;this.waitingPositionValidation=!1;this.externalSessionId=null;this.currentStep=0;this.connection=null;this.context=t,this.onRealtimeAlertsCallback=r,this.backend=new ir({type:t?.type||"prod",token:t.token,isRealtime:!1}),this.currentStep=-1}static{this.isModalOpen=!1}getExternalCameraSessionId(){return""+this.externalSessionId}async checkTransmission(){try{this.transmissionOk=!1;let t=await this.backend.externalCameraCheckTransmission(""+this.externalSessionId),r=0;for(;!this.transmissionOk&&r<=5;)await new Promise(n=>setTimeout(n,2e3)),r=r+1;if(!this.transmissionOk)throw new Error("Timed out na checagem da transmiss\xE3o!")}catch(t){throw console.error("Erro ao checar a transmiss\xE3o:",t),new Error("N\xE3o foi poss\xEDvel checar a transmiss\xE3o."+t)}}async startTransmission(t){try{this.proctoringId=t;let r=await this.backend.externalCameraStartTransmission(""+this.externalSessionId,t)}catch{throw new Error("N\xE3o foi poss\xEDvel iniciar a transmiss\xE3o.")}}async goToPositionGuide(){try{let t=await this.backend.goToExternalCameraPositionStep(""+this.externalSessionId)}catch(t){throw console.error("Erro ao enviar comando de Position:",t),new Error("N\xE3o foi poss\xEDvel enviar comando de Position Guide.")}}async reset(){if(this.connection){let t=new gs;t.command="Reset",this.connection.invoke("SendAction",this.externalSessionId,t)}}async takePicture(t,r){if(this.connection){this.waitingPositionValidation=t,this.onTakePictureCallback=r;let n=new gs;n.command="Capture",this.connection.invoke("SendAction",this.externalSessionId,n)}else throw new Error("N\xE3o existe conex\xE3o de camera externa ativa.")}async startSession(t){try{this.onQrCodeReadedCallback=t,this.connection&&await this.disconnectWebSocket(),await this.initializeWebSocketConnection(),await this.reset();let r=await this.backend.externalCameraStartSession();this.externalSessionId=r.externalSessionId,this.currentStep=0;let n={externalSessionId:this.externalSessionId,token:this.context.token,ambient:this.context.type},i=JSON.stringify(n);return this.qrCodeBase64Image=await Ty.default.toDataURL(i),this.qrCodeBase64Image}catch(r){return this.disconnectWebSocket(),Promise.reject(r)}}async checkExternalCamera(){if(this.currentStep=0,e.isModalOpen)return Promise.reject("O modal de verifica\xE7\xE3o j\xE1 est\xE1 aberto.");e.isModalOpen=!0;try{return await this.startSession(()=>{}),await this.buildInterface()}catch(t){return console.error("Erro ao iniciar verifica\xE7\xE3o:",t),this.closeCheckExternalCamera(),Promise.reject(t)}}buildInterface(){return new Promise((t,r)=>{this.resolvePromise=t;let n=document.createElement("div");n.setAttribute("id","externalCameraCheck"),this.applyStyles(n,{backgroundColor:"rgba(0,0,0,0.4)",zIndex:"1000",position:"fixed",top:"0",left:"0",height:"100vh",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"});let i=document.createElement("div");this.applyStyles(i,{backgroundColor:"#fff",zIndex:"1001",width:"500px",borderRadius:"10px",display:"flex",flexDirection:"column",alignItems:"center"});let o=document.createElement("h3");o.innerText="Conectar dispositivo m\xF3vel",this.applyStyles(o,{color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"20px",marginBottom:"15px",padding:"20px 0px",borderBottom:"2px solid rgba(0, 0, 0, .1)",width:"100%",textAlign:"center"});let s=document.createElement("div");s.id="external-camera-content",this.applyStyles(s,{width:"100%",padding:"20px 40px",boxSizing:"border-box",minHeight:"300px",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center"});let a=document.createElement("div");this.applyStyles(a,{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",borderTop:"2px solid rgba(0, 0, 0, .1)"});let c=document.createElement("button");c.innerText="Cancelar",this.applyStyles(c,{width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"0 0 0 10px",cursor:"pointer"}),c.addEventListener("click",()=>{let h=new gs;h.command="Cancel",this.connection?.invoke("SendAction",this.externalSessionId,h),this.closeCheckExternalCamera(),t({result:!1})});let l=document.createElement("button");l.innerText="Continuar",l.id="external-camera-continue",this.applyStyles(l,{width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"0 0 10px 0",cursor:"pointer",borderLeft:"2px solid rgba(0, 0, 0, .1)"}),a.appendChild(c),a.appendChild(l),i.appendChild(o),i.appendChild(s),i.appendChild(a),n.appendChild(i),document.body.appendChild(n),this.renderCurrentStep()})}renderCurrentStep(){let t=document.getElementById("external-camera-content");if(t)switch(t.innerHTML="",this.currentStep){case 0:this.renderQRCodeStep(t);break;case 1:this.renderPhotoStep(t);break;case 2:this.renderImageStep(t);break;default:break}}renderQRCodeStep(t){let r=document.createElement("canvas");r.id="qr-code-canvas";let n=document.createElement("p");n.innerText="Aponte a c\xE2mera do seu celular para o QR Code para iniciar a verifica\xE7\xE3o do ambiente.",this.applyStyles(n,{textAlign:"center",color:"#555",marginTop:"20px"});let i=r.getContext("2d"),o=new Image;o.onload=()=>{let c=250/o.width,l=o.height*c;r.width=250,r.height=l,i&&i.drawImage(o,0,0,250,l)},o.src=this.qrCodeBase64Image,t.appendChild(r),t.appendChild(n);let s=document.getElementById("external-camera-continue");s.disabled=!0,this.applyStyles(s,{color:"#ccc",cursor:"not-allowed"})}renderPhotoStep(t){let r=document.createElement("p");r.id="photo-message",r.innerText="Clique no bot\xE3o abaixo para realizar a captura da foto do ambiente.",this.applyStyles(r,{textAlign:"center",color:"#555",marginBottom:"20px",fontSize:"14px",display:"-webkit-box",overflow:"hidden",textOverflow:"ellipsis"}),r.style.webkitLineClamp="3",r.style.webkitBoxOrient="vertical",t.appendChild(r);let n=document.createElement("div");n.id="photo-error-banner",n.innerText="Foto fora do padr\xE3o esperado.",this.applyStyles(n,{backgroundColor:"#FEE2E2",color:"#DC2626",padding:"12px 15px",borderRadius:"8px",textAlign:"center",fontSize:"12px",fontWeight:"400",marginBottom:"15px",display:"none"}),t.appendChild(n);let i=document.createElement("div");this.applyStyles(i,{backgroundColor:"#fff",borderRadius:"8px",padding:"20px",display:"flex",gap:"20px",alignItems:"flex-start",border:"1px solid #e5e5e5",marginBottom:"20px"});let o=document.createElement("div");if(o.id="photo-icon-container",this.applyStyles(o,{backgroundColor:"#f5f5f5",borderRadius:"8px",width:"120px",height:"160px",minWidth:"120px",minHeight:"160px",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:"0",overflow:"hidden"}),this.capturePhotoUrl&&this.capturePhotoUrl.trim()!==""){let u=document.createElement("img");u.id="img-photo";let b=this.capturePhotoUrl.startsWith("data:")?this.capturePhotoUrl:"data:image/jpeg;base64,"+this.capturePhotoUrl;u.src=b,this.applyStyles(u,{width:"100%",height:"100%",objectFit:"contain",objectPosition:"center",borderRadius:"8px",display:"block"}),o.appendChild(u)}else{let u=document.createElement("div");u.innerHTML=`
497
500
  <svg width="40" height="40" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
498
501
  <path d="M23 19C23 19.5304 22.7893 20.0391 22.4142 20.4142C22.0391 20.7893 21.5304 21 21 21H3C2.46957 21 1.96086 20.7893 1.58579 20.4142C1.21071 20.0391 1 19.5304 1 19V8C1 7.46957 1.21071 6.96086 1.58579 6.58579C1.96086 6.21071 2.46957 6 3 6H7L9 4H15L17 6H21C21.5304 6 22.0391 6.21071 22.4142 6.58579C22.7893 6.96086 23 7.46957 23 8V19Z" stroke="#666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
499
502
  <path d="M12 17C14.2091 17 16 15.2091 16 13C16 10.7909 14.2091 9 12 9C9.79086 9 8 10.7909 8 13C8 15.2091 9.79086 17 12 17Z" stroke="#666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
500
503
  </svg>
501
- `,o.appendChild(f)}i.appendChild(o);let s=document.createElement("div");this.applyStyles(s,{flex:"1",display:"flex",flexDirection:"column",gap:"15px"});let a=document.createElement("h4");a.innerText="Capture uma foto n\xEDtida",this.applyStyles(a,{margin:"0",fontSize:"16px",fontWeight:"bold",color:"#333"}),s.appendChild(a);let c=document.createElement("div");this.applyStyles(c,{display:"flex",flexDirection:"column",gap:"10px"}),["Boa ilumina\xE7\xE3o e sem reflexos","Mostre a mesa, cadeira e ambiente","Evite pessoas ao fundo"].forEach(f=>{let b=document.createElement("div");this.applyStyles(b,{display:"flex",alignItems:"center",gap:"8px",fontSize:"14px",color:"#555"});let _=document.createElement("span");_.innerHTML=`
504
+ `,o.appendChild(u)}i.appendChild(o);let s=document.createElement("div");this.applyStyles(s,{flex:"1",display:"flex",flexDirection:"column",gap:"15px"});let a=document.createElement("h4");a.innerText="Capture uma foto n\xEDtida",this.applyStyles(a,{margin:"0",fontSize:"16px",fontWeight:"bold",color:"#333"}),s.appendChild(a);let c=document.createElement("div");this.applyStyles(c,{display:"flex",flexDirection:"column",gap:"10px"}),["Boa ilumina\xE7\xE3o e sem reflexos","Mostre a mesa, cadeira e ambiente","Evite pessoas ao fundo"].forEach(u=>{let b=document.createElement("div");this.applyStyles(b,{display:"flex",alignItems:"center",gap:"8px",fontSize:"14px",color:"#555"});let _=document.createElement("span");_.innerHTML=`
502
505
  <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
503
506
  <circle cx="10" cy="10" r="9" stroke="#16A34A" stroke-width="2" fill="none"/>
504
507
  <path d="M6 10L9 13L14 7" stroke="#16A34A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
505
508
  </svg>
506
- `,this.applyStyles(_,{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"20px",height:"20px",flexShrink:"0"});let x=document.createElement("span");x.innerText=f,b.appendChild(_),b.appendChild(x),c.appendChild(b)}),s.appendChild(c);let h=document.createElement("button");h.innerText="Capturar foto",h.id="position-capture-button",this.applyStyles(h,{marginTop:"10px",padding:"12px 24px",fontSize:"14px",fontWeight:"bold",color:"white",backgroundColor:"#16A34A",border:"none",borderRadius:"6px",cursor:"pointer",transition:"background-color 0.2s",alignSelf:"flex-start"}),h.onclick=()=>{if(this.connection){let f=document.getElementById("photo-message");f&&(f.innerText="N\xE3o saia da posi\xE7\xE3o atual, estamos validando o ambiente..."),n.style.display="none",this.takePicture(!0,()=>{}),h.disabled=!0,this.applyStyles(h,{backgroundColor:"#9CA3AF",cursor:"not-allowed"})}},s.appendChild(h),i.appendChild(s),t.appendChild(i);let d=document.createElement("div");this.applyStyles(d,{marginTop:"10px",fontSize:"13px",color:"#666"});let m=document.createElement("span");m.innerText="Dica: ",m.style.fontWeight="bold";let p=document.createElement("span");p.innerText="mantenha o celular est\xE1vel durante todo o processo.",d.appendChild(m),d.appendChild(p),t.appendChild(d);let g=document.getElementById("external-camera-continue");g.disabled=!0,this.applyStyles(g,{color:"#ccc",cursor:"not-allowed"})}renderImageStep(t){t.innerHTML="";let r=document.createElement("img");r.src="data:image/jpeg;base64,"+this.capturePhotoUrl,this.applyStyles(r,{maxWidth:"100%",maxHeight:"300px",borderRadius:"8px"}),t.appendChild(r);let n=document.createElement("photo-message");n.id="photo-message",n.innerText="Verifica\xE7\xE3o finalizada com sucesso.",this.applyStyles(n,{textAlign:"center",color:"#555",marginTop:"20px"}),t.appendChild(n);let i=document.getElementById("external-camera-continue");i.disabled=!1,i.innerText="Concluir",this.applyStyles(i,{width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"0 0 10px 0",cursor:"pointer",borderLeft:"2px solid rgba(0, 0, 0, .1)"}),i.onclick=()=>{this.closeCheckExternalCamera(),this.resolvePromise({result:!0})}}nextState(){this.renderCurrentStep()}async initializeWebSocketConnection(){let t=this.backend.getSocketUrl();this.connection=new ss().withUrl(t,{accessTokenFactory:()=>this.context.token,transport:Ve.WebSockets,withCredentials:!1,skipNegotiation:!0}).withAutomaticReconnect().configureLogging(F.Information).build(),this.connection.on("ReceiveMessage",(r,n)=>{if(r!==this.externalSessionId){console.warn("Sess\xE3o diferente!");return}try{let o=ky[n];this.handleWebSocketMessage(o)}catch(i){console.error("Erro ao processar mensagem do WebSocket:",i)}}),this.connection.on("ReceiveAction",(r,n)=>{if(r!==this.externalSessionId){console.warn("Sess\xE3o diferente!");return}try{this.handleWebSocketAction(n)}catch(i){console.error("Erro ao processar mensagem do WebSocket:",i)}});try{await this.connection.start()}catch(r){throw console.error("Falha ao conectar ou entrar no grupo do SignalR: ",r),new Error("N\xE3o foi poss\xEDvel conectar ao servi\xE7o em tempo real.")}}handleWebSocketAction(t){let r=document.getElementById("position-capture-button"),n=document.getElementById("photo-message"),i=document.getElementById("photo-error-banner");switch(t.command){case"Capture_Error":r&&(this.applyStyles(r,{marginTop:"30px",padding:"12px 20px",fontSize:"16px",fontWeight:"bold",color:"white",backgroundColor:"#16A34A",border:"none",borderRadius:"8px",cursor:"pointer",transition:"background-color 0.2s"}),r.disabled=!1),n&&(n.innerText=""+t.message),i&&(i.style.display="flex"),this.waitingPositionValidation==!0&&this.onTakePictureCallback({photo:this.capturePhotoUrl,errorMessage:t.message,success:!1});break;case"CapturePhoto":this.capturePhotoUrl=""+t.message;let o=document.getElementById("photo-icon-container");if(o&&this.capturePhotoUrl&&this.capturePhotoUrl.trim()!==""){let s=document.getElementById("img-photo");s||(o.innerHTML="",s=document.createElement("img"),s.id="img-photo",this.applyStyles(s,{width:"100%",height:"100%",objectFit:"contain",objectPosition:"center",borderRadius:"8px",display:"block"}),o.appendChild(s));let a=this.capturePhotoUrl.startsWith("data:")?this.capturePhotoUrl:"data:image/jpeg;base64,"+this.capturePhotoUrl;s.src=a,s.onload=()=>{console.log("Image loaded successfully in icon container")},s.onerror=c=>{console.error("Error loading image:",c)}}this.waitingPositionValidation==!1&&this.onTakePictureCallback({photo:this.capturePhotoUrl});break;case"Check_Transmission":t.message=="Transmission_OK"&&(this.transmissionOk=!0);break;case"Cancel":this.closeCheckExternalCamera();break;case"EnvironmentAlert":this.onRealtimeAlertsCallback({status:"ALERT",description:t.message,type:"environment_alert"});break}}handleWebSocketMessage(t){switch(this.currentStep=t,t){case 1:this.currentStep===1&&(this.nextState(),this.onQrCodeReadedCallback(!0));break;case 2:this.nextState(),this.waitingPositionValidation==!0&&this.onTakePictureCallback({photo:this.capturePhotoUrl,success:!0});break;case 3:this.closeCheckExternalCamera();break;case 9:console.error("Erro recebido do processo de c\xE2mera externa."),this.closeCheckExternalCamera(),this.resolvePromise({result:!1});break}}async disconnectWebSocket(){if(this.connection)try{await this.connection.stop()}catch(t){console.error("Erro ao desconectar do SignalR:",t)}finally{this.connection=null}}closeCheckExternalCamera(){e.isModalOpen=!1,this.disconnectWebSocket(),document.querySelector("#externalCameraCheck")?.remove()}applyStyles(t,r){for(let n in r)t.style[n]=r[n]}};var al=class{constructor(t){this.context=t;this.deviceData=null;this.paramsConfig={audioBehaviourParameters:{recordingBitrate:128,noiseLimit:40},imageBehaviourParameters:{useUploadImage:!0,uploadInterval:20,saveVideo:!0},videoBehaviourParameters:{detectFace:!1,detectPerson:!1,detectCellPhone:!1,detectNoise:!1,detectSpeech:!1,realtimePackageSize:10,realtimeCaptureInterval:2}};this.proctoringId="";this.insights=void 0;this.state="Stop";this.serviceType="Upload";this.onStopSharingScreenCallback=()=>{};this.onVisibilityLostCallback=()=>{};this.onVisibilityRestoredCallback=()=>{};this.onLostFocusCallback=()=>{};this.onLostFocusAlertRecorderCallback=t=>{};this.onFocusCallback=()=>{};this.onFocusAlertRecorderCallback=t=>{};this.onChangeDevicesCallback=t=>{};this.onRealtimeAlertsCallback=async t=>{await this.internalOnRealtimeAlerts(t)};this.realtimeAlertsToSend=[];this.onBufferSizeErrorCallback=t=>{};this.backend=new ir({type:t.type||"prod",token:t.token,isRealtime:!1}),this.repository=new rs("EasyProctorDb","exams2"),this.repositoryDevices=new rs("EasyProctorDbDevices","devices"),this.context.credentials?.cpf&&(this.auth=new Ac(this.context.credentials.cpf,this.backend)),this.appChecker=new sl(this.context,r=>this.onRealtimeAlertsCallback(r))}setOnVisibilityLostCallback(t){this.onVisibilityLostCallback=t}setOnVisibilityRestoredCallback(t){this.onVisibilityRestoredCallback=t}setOnStopSharingScreenCallback(t){this.onStopSharingScreenCallback=async()=>{me.registerStopSharingScreen(this.proctoringId,"Stop sharing screen"),this.allRecorders?.alertRecorder?.addAlert({alert:34,type:3}),this.allRecorders?.screenRecorder?.stopRecording(),t()}}setOnLostFocusAlertRecorderCallback(){this.onLostFocusAlertRecorderCallback=async t=>{this.onLostFocusCallback&&this.onLostFocusCallback(),this.sessionOptions.proctoringType==="REALTIME"&&await this.onRealtimeAlertsCallback({type:"lost_focus",category:"lost_focus",description:"Perda de foco no exame",begin:t.begin,end:t.end,alert:25,status:"ALERT"})}}setOnFocusAlertRecorderCallback(){this.onFocusAlertRecorderCallback=async t=>{this.onFocusCallback&&this.onFocusCallback(),this.sessionOptions.proctoringType==="REALTIME"&&await this.onRealtimeAlertsCallback({type:"focus",category:"focus",description:"Retorno de foco no exame",begin:t.begin,end:t.end,alert:25,status:"OK"})}}async setOnLostFocusCallback(t){this.onLostFocusCallback=async()=>await t(),this.setOnLostFocusAlertRecorderCallback()}async setOnFocusCallback(t){this.onFocusCallback=async()=>await t(),this.setOnFocusAlertRecorderCallback()}async onChangeDevices(t={}){new Va(this.repositoryDevices,this.proctoringId,this.sessionOptions,this.allRecorders).startRecording(t),this.onChangeDevicesCallback=n=>t.status&&t.status(n)}convertRealtimeCategoryToAlertCategory(t){switch(t){case"no_face_detected":return 1;case"multiple_faces_detected":return 2;case"multiple_persons_detected":return 28;case"no_person_detected":return 29;case"lost_focus":return 25;case"focus":return 25;case"error_upload_package":return 44;default:return null}}convertRealtimeTypeToWarningType(t){switch(t){case"face_detection_on_stream":return 0;case"person_detection_on_stream":return 1;case"lost_focus":return 2;case"focus":return 2;default:return null}}async stopRealtimeAlert(t){let n=async i=>{if(!(i>3))try{var o=await this.backend.stopRealtimeAlert({proctoringId:this.proctoringId,begin:t.begin,end:t.end,warningCategoryEnum:this.convertRealtimeTypeToWarningType(t.type),alertImageBase64:t.description!=="face_stop"?await this.allRecorders.cameraRecorder.getCurrentImageBase64():"",retry:i<2});return o}catch(s){return console.log("error stopRealtimeAlert",s),n(i+1)}};await n(1)}async sendPendingRealtimeAlerts(){let t=[...this.realtimeAlertsToSend];for(let r of t)try{r.status==="ALERT"?await this.backend.startRealtimeAlert({proctoringId:this.proctoringId,begin:r.begin,end:r.end,alert:this.convertRealtimeCategoryToAlertCategory(r.category)}):r.status==="OK"&&await this.stopRealtimeAlert(r),this.realtimeAlertsToSend.splice(this.realtimeAlertsToSend.indexOf(r),1)}catch(n){console.log("error sendPendingRealtimeAlerts",n),this.realtimeAlertsToSend.push(r);break}}async internalOnRealtimeAlerts(t){if(this.sessionOptions.proctoringType==="REALTIME"&&(t.type==="face_detection_on_stream"||t.type==="person_detection_on_stream"||t.type==="lost_focus"||t.type==="focus"||t.type==="error_upload_package")){if(await this.sendPendingRealtimeAlerts(),t.status==="ALERT"){if(this.allRecorders.cameraRecorder.stopped)return;try{await this.backend.startRealtimeAlert({proctoringId:this.proctoringId,begin:t.begin,end:t.end,alert:this.convertRealtimeCategoryToAlertCategory(t.category)})}catch(r){console.log("error startRealtimeAlert "+t.category),console.log("error startRealtimeAlert adicionando na fila",r),this.realtimeAlertsToSend.push(t)}}else if(t.status==="OK"){if(this.allRecorders.cameraRecorder.stopped&&t.description!=="face_stop")return;try{await this.stopRealtimeAlert(t)}catch(r){console.log("error stopRealtimeAlert adicionando na fila",r),this.realtimeAlertsToSend.push(t)}}}}async onRealtimeAlerts(t={}){this.setOnLostFocusAlertRecorderCallback(),this.setOnFocusAlertRecorderCallback(),this.onRealtimeAlertsCallback=async r=>{t.data&&t.data(r),await this.internalOnRealtimeAlerts(r)}}setOnBufferSizeErrorCallback(t){this.onBufferSizeErrorCallback=r=>t(r)}setDeviceCheckData(t){this.deviceData=t}async createRecorders(t=or){this.onChangeDevices(),console.log("Creating recorders"),await this.recorder?.stopAll();let r=new Zr({cameraId:this.sessionOptions.cameraId,microphoneId:this.sessionOptions.microphoneId,onBufferSizeError:this.sessionOptions.onBufferSizeError,onBufferSizeErrorCallback:a=>this.onBufferSizeErrorCallback(a),proctoringType:this.sessionOptions.proctoringType,onChangeDevicesCallback:a=>this.onChangeDevicesCallback(a),onRealtimeAlertsCallback:a=>this.onRealtimeAlertsCallback(a)},{width:this.videoOptions.width,height:this.videoOptions.height,minWidth:this.videoOptions.minWidth,minHeight:this.videoOptions.minHeight},this.paramsConfig,this.backend,this.context.token),n=this.sessionOptions.captureScreen?new Cc({allowOnlyFirstMonitor:this.sessionOptions.allowOnlyFirstMonitor??!0,allowMultipleMonitors:this.sessionOptions.allowMultipleMonitors??!0,screenRecorderOptions:this.sessionOptions.screenRecorderOptions,onStopSharingScreenCallback:()=>this.onStopSharingScreenCallback(),onBufferSizeError:this.sessionOptions.onBufferSizeError,onBufferSizeErrorCallback:()=>this.onBufferSizeErrorCallback()}):void 0,i=new Wa({onFocusCallback:a=>this.onFocusAlertRecorderCallback(a),onLostFocusCallback:a=>this.onLostFocusAlertRecorderCallback(a),onRealtimeAlertCallback:a=>this.onRealtimeAlertsCallback(a)},t),o=new Ec(t,this.proctoringSession,this.paramsConfig,r,a=>this.onRealtimeAlertsCallback(a),this.backend,this.context.token),s=[r,o,i].filter(Boolean);return this.sessionOptions.proctoringType!="REALTIME"&&n&&s.push(n),this.recorder=new Ha(this.proctoringSession,s),{screenRecorder:n,alertRecorder:i,noiseRecorder:o,cameraRecorder:r}}async login(){if(!this.context.credentials?.cpf)throw t0;this.context.token=await this.auth.login()}async start(t=or,r={}){try{if(this.context.token===void 0)throw e0;this.extension=new ja,this.extension.addEventListener();let n=this.backend.selectBaseUrl(this.context.type),i=await pr();await this.repositoryDevices.save({...i,id:"devices"}),this.sessionOptions={...or,...t},this.videoOptions=Da(r),this.sessionOptions.proctoringType==="REALTIME"&&this.backend.setRealtime(!0),await this.initConfig(t.useGeolocation),this.sessionOptions.captureScreen&&await this.verifyMultipleMonitors(this.sessionOptions);try{t?.useSpyScan&&await this.spyCam.isAlive()}catch{throw r0}try{t?.useSafeBrowserAPI&&await this.safeBrowserBackendService.isAlive()}catch{throw wd}if(this.state!="Stop")throw Jg;this.state="Starting",await this.repository.hasSessions()&&await this.repository.clear(),this.proctoringSession=new Hn,this.allRecorders=await this.createRecorders(this.sessionOptions);let o=await this.backend.confirmStart({clientId:this.context.clientId,examId:this.context.examId,token:this.context.token},this.sessionOptions,this.geolocation?this.geolocation.coords.latitude:void 0,this.geolocation?this.geolocation.coords.longitude:void 0);this.proctoringId=o.id,me.registerDevicesChecked(this.proctoringId,!!this.deviceData,`Devices checked: ${JSON.stringify(this.deviceData)} | Devices List: ${JSON.stringify(i)}`);try{t?.useExternalCamera&&await this.appChecker.startTransmission(this.proctoringId)}catch{throw n0}this.allRecorders.cameraRecorder.setProctoringId(this.proctoringId),this.allRecorders.noiseRecorder.setProctoringId(this.proctoringId),this.proctoringSession.setProctoringId(this.proctoringId);try{t?.useSafeBrowserAPI&&await this.safeBrowserBackendService.setProctoringId(this.proctoringId)}catch{throw wd}try{console.log("Starting recorders"),await this.recorder.startAll()}catch(l){throw console.log("Starting recorders error:",l),l}t?.useSpyScan&&(this.spyCam.setProctoringId(this.proctoringId),this.spyCam.startCheckSpyCam(this.paramsConfig.spyScanInterval??5,{deviceType:3})),await this.repository.save(this.proctoringSession);let s={};for(let l in navigator)s[l]=navigator[l];me.registerStart(this.proctoringId,!0,`Version: ${Vi()}
507
- Navigator: ${JSON.stringify(s)}`),o.cameraStream=this.allRecorders.cameraRecorder.cameraStream,this.allRecorders.screenRecorder&&(o.screenStream=this.allRecorders.screenRecorder.screenStream),this.state="Recording";let a=0,c=!1;return this.verifyFirstFaceInterval=setInterval(async()=>{if(this.sessionOptions.proctoringType==="REALTIME"){if(c)return;c=!0,a++;try{var l=await this.backend.verifyFace(this.proctoringId,await this.allRecorders.cameraRecorder.getCurrentImageBase64(),!(a>2));c=!1,clearInterval(this.verifyFirstFaceInterval)}catch{c=!1;return}}},5e3),o}catch(n){throw console.log(n),await this.cancel(),this.proctoringId&&me.registerStart(this.proctoringId,!1,`Token: ${this.context.token}
508
- Version: ${Vi()}
509
+ `,this.applyStyles(_,{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"20px",height:"20px",flexShrink:"0"});let E=document.createElement("span");E.innerText=u,b.appendChild(_),b.appendChild(E),c.appendChild(b)}),s.appendChild(c);let h=document.createElement("button");h.innerText="Capturar foto",h.id="position-capture-button",this.applyStyles(h,{marginTop:"10px",padding:"12px 24px",fontSize:"14px",fontWeight:"bold",color:"white",backgroundColor:"#16A34A",border:"none",borderRadius:"6px",cursor:"pointer",transition:"background-color 0.2s",alignSelf:"flex-start"}),h.onclick=()=>{if(this.connection){let u=document.getElementById("photo-message");u&&(u.innerText="N\xE3o saia da posi\xE7\xE3o atual, estamos validando o ambiente..."),n.style.display="none",this.takePicture(!0,()=>{}),h.disabled=!0,this.applyStyles(h,{backgroundColor:"#9CA3AF",cursor:"not-allowed"})}},s.appendChild(h),i.appendChild(s),t.appendChild(i);let d=document.createElement("div");this.applyStyles(d,{marginTop:"10px",fontSize:"13px",color:"#666"});let g=document.createElement("span");g.innerText="Dica: ",g.style.fontWeight="bold";let p=document.createElement("span");p.innerText="mantenha o celular est\xE1vel durante todo o processo.",d.appendChild(g),d.appendChild(p),t.appendChild(d);let m=document.getElementById("external-camera-continue");m.disabled=!0,this.applyStyles(m,{color:"#ccc",cursor:"not-allowed"})}renderImageStep(t){t.innerHTML="";let r=document.createElement("img");r.src="data:image/jpeg;base64,"+this.capturePhotoUrl,this.applyStyles(r,{maxWidth:"100%",maxHeight:"300px",borderRadius:"8px"}),t.appendChild(r);let n=document.createElement("photo-message");n.id="photo-message",n.innerText="Verifica\xE7\xE3o finalizada com sucesso.",this.applyStyles(n,{textAlign:"center",color:"#555",marginTop:"20px"}),t.appendChild(n);let i=document.getElementById("external-camera-continue");i.disabled=!1,i.innerText="Concluir",this.applyStyles(i,{width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"0 0 10px 0",cursor:"pointer",borderLeft:"2px solid rgba(0, 0, 0, .1)"}),i.onclick=()=>{this.closeCheckExternalCamera(),this.resolvePromise({result:!0})}}nextState(){this.renderCurrentStep()}async initializeWebSocketConnection(){let t=this.backend.getSocketUrl();this.connection=new as().withUrl(t,{accessTokenFactory:()=>this.context.token,transport:Ve.WebSockets,withCredentials:!1,skipNegotiation:!0}).withAutomaticReconnect().configureLogging(F.Information).build(),this.connection.on("ReceiveMessage",(r,n)=>{if(r!==this.externalSessionId){console.warn("Sess\xE3o diferente!");return}try{let o=Iy[n];this.handleWebSocketMessage(o)}catch(i){console.error("Erro ao processar mensagem do WebSocket:",i)}}),this.connection.on("ReceiveAction",(r,n)=>{if(r!==this.externalSessionId){console.warn("Sess\xE3o diferente!");return}try{this.handleWebSocketAction(n)}catch(i){console.error("Erro ao processar mensagem do WebSocket:",i)}});try{await this.connection.start()}catch(r){throw console.error("Falha ao conectar ou entrar no grupo do SignalR: ",r),new Error("N\xE3o foi poss\xEDvel conectar ao servi\xE7o em tempo real.")}}handleWebSocketAction(t){let r=document.getElementById("position-capture-button"),n=document.getElementById("photo-message"),i=document.getElementById("photo-error-banner");switch(t.command){case"Capture_Error":r&&(this.applyStyles(r,{marginTop:"30px",padding:"12px 20px",fontSize:"16px",fontWeight:"bold",color:"white",backgroundColor:"#16A34A",border:"none",borderRadius:"8px",cursor:"pointer",transition:"background-color 0.2s"}),r.disabled=!1),n&&(n.innerText=""+t.message),i&&(i.style.display="flex"),this.waitingPositionValidation==!0&&this.onTakePictureCallback({photo:this.capturePhotoUrl,errorMessage:t.message,success:!1});break;case"CapturePhoto":this.capturePhotoUrl=""+t.message;let o=document.getElementById("photo-icon-container");if(o&&this.capturePhotoUrl&&this.capturePhotoUrl.trim()!==""){let s=document.getElementById("img-photo");s||(o.innerHTML="",s=document.createElement("img"),s.id="img-photo",this.applyStyles(s,{width:"100%",height:"100%",objectFit:"contain",objectPosition:"center",borderRadius:"8px",display:"block"}),o.appendChild(s));let a=this.capturePhotoUrl.startsWith("data:")?this.capturePhotoUrl:"data:image/jpeg;base64,"+this.capturePhotoUrl;s.src=a,s.onload=()=>{console.log("Image loaded successfully in icon container")},s.onerror=c=>{console.error("Error loading image:",c)}}this.waitingPositionValidation==!1&&this.onTakePictureCallback({photo:this.capturePhotoUrl});break;case"Check_Transmission":t.message=="Transmission_OK"&&(this.transmissionOk=!0);break;case"Cancel":this.closeCheckExternalCamera();break;case"EnvironmentAlert":this.onRealtimeAlertsCallback({status:"ALERT",description:t.message,type:"environment_alert"});break}}handleWebSocketMessage(t){switch(this.currentStep=t,t){case 1:this.currentStep===1&&(this.nextState(),this.onQrCodeReadedCallback(!0));break;case 2:this.nextState(),this.waitingPositionValidation==!0&&this.onTakePictureCallback({photo:this.capturePhotoUrl,success:!0});break;case 3:this.closeCheckExternalCamera();break;case 9:console.error("Erro recebido do processo de c\xE2mera externa."),this.closeCheckExternalCamera(),this.resolvePromise({result:!1});break}}async disconnectWebSocket(){if(this.connection)try{await this.connection.stop()}catch(t){console.error("Erro ao desconectar do SignalR:",t)}finally{this.connection=null}}closeCheckExternalCamera(){e.isModalOpen=!1,this.disconnectWebSocket(),document.querySelector("#externalCameraCheck")?.remove()}applyStyles(t,r){for(let n in r)t.style[n]=r[n]}};var hl=class{constructor(t){this.context=t;this.deviceData=null;this.paramsConfig={audioBehaviourParameters:{recordingBitrate:128,noiseLimit:40},imageBehaviourParameters:{useUploadImage:!0,uploadInterval:20,saveVideo:!0},videoBehaviourParameters:{detectFace:!1,detectPerson:!1,detectCellPhone:!1,detectNoise:!1,detectSpeech:!1,realtimePackageSize:10,realtimeCaptureInterval:2}};this.proctoringId="";this.insights=void 0;this.state="Stop";this.serviceType="Upload";this.onStopSharingScreenCallback=()=>{};this.onVisibilityLostCallback=()=>{};this.onVisibilityRestoredCallback=()=>{};this.onLostFocusCallback=()=>{};this.onLostFocusAlertRecorderCallback=t=>{};this.onFocusCallback=()=>{};this.onFocusAlertRecorderCallback=t=>{};this.onChangeDevicesCallback=t=>{};this.onRealtimeAlertsCallback=async t=>{await this.internalOnRealtimeAlerts(t)};this.realtimeAlertsToSend=[];this.onBufferSizeErrorCallback=t=>{};this.backend=new ir({type:t.type||"prod",token:t.token,isRealtime:!1}),this.repository=new ns("EasyProctorDb","exams2"),this.repositoryDevices=new ns("EasyProctorDbDevices","devices"),this.context.credentials?.cpf&&(this.auth=new Rc(this.context.credentials.cpf,this.backend)),this.appChecker=new ll(this.context,r=>this.onRealtimeAlertsCallback(r))}setOnVisibilityLostCallback(t){this.onVisibilityLostCallback=t}setOnVisibilityRestoredCallback(t){this.onVisibilityRestoredCallback=t}setOnStopSharingScreenCallback(t){this.onStopSharingScreenCallback=async()=>{de.registerStopSharingScreen(this.proctoringId,"Stop sharing screen"),this.allRecorders?.alertRecorder?.addAlert({alert:34,type:3}),this.allRecorders?.screenRecorder?.stopRecording(),t()}}setOnLostFocusAlertRecorderCallback(){this.onLostFocusAlertRecorderCallback=async t=>{this.onLostFocusCallback&&this.onLostFocusCallback(),this.sessionOptions.proctoringType==="REALTIME"&&await this.onRealtimeAlertsCallback({type:"lost_focus",category:"lost_focus",description:"Perda de foco no exame",begin:t.begin,end:t.end,alert:25,status:"ALERT"})}}setOnFocusAlertRecorderCallback(){this.onFocusAlertRecorderCallback=async t=>{this.onFocusCallback&&this.onFocusCallback(),this.sessionOptions.proctoringType==="REALTIME"&&await this.onRealtimeAlertsCallback({type:"focus",category:"focus",description:"Retorno de foco no exame",begin:t.begin,end:t.end,alert:25,status:"OK"})}}async setOnLostFocusCallback(t){this.onLostFocusCallback=async()=>await t(),this.setOnLostFocusAlertRecorderCallback()}async setOnFocusCallback(t){this.onFocusCallback=async()=>await t(),this.setOnFocusAlertRecorderCallback()}async onChangeDevices(t={}){new $a(this.repositoryDevices,this.proctoringId,this.sessionOptions,this.allRecorders).startRecording(t),this.onChangeDevicesCallback=n=>t.status&&t.status(n)}convertRealtimeCategoryToAlertCategory(t){switch(t){case"no_face_detected":return 1;case"multiple_faces_detected":return 2;case"multiple_persons_detected":return 28;case"no_person_detected":return 29;case"lost_focus":return 25;case"focus":return 25;case"error_upload_package":return 44;default:return null}}convertRealtimeTypeToWarningType(t){switch(t){case"face_detection_on_stream":return 0;case"person_detection_on_stream":return 1;case"lost_focus":return 2;case"focus":return 2;default:return null}}async stopRealtimeAlert(t){let n=async i=>{if(!(i>3))try{var o=await this.backend.stopRealtimeAlert({proctoringId:this.proctoringId,begin:t.begin,end:t.end,warningCategoryEnum:this.convertRealtimeTypeToWarningType(t.type),alertImageBase64:t.description!=="face_stop"?await this.allRecorders.cameraRecorder.getCurrentImageBase64():"",retry:i<2});return o}catch(s){return console.log("error stopRealtimeAlert",s),n(i+1)}};await n(1)}async sendPendingRealtimeAlerts(){let t=[...this.realtimeAlertsToSend];for(let r of t)try{r.status==="ALERT"?await this.backend.startRealtimeAlert({proctoringId:this.proctoringId,begin:r.begin,end:r.end,alert:this.convertRealtimeCategoryToAlertCategory(r.category)}):r.status==="OK"&&await this.stopRealtimeAlert(r),this.realtimeAlertsToSend.splice(this.realtimeAlertsToSend.indexOf(r),1)}catch(n){console.log("error sendPendingRealtimeAlerts",n),this.realtimeAlertsToSend.push(r);break}}async internalOnRealtimeAlerts(t){if(this.sessionOptions.proctoringType==="REALTIME"&&(t.type==="face_detection_on_stream"||t.type==="person_detection_on_stream"||t.type==="lost_focus"||t.type==="focus"||t.type==="error_upload_package")){if(await this.sendPendingRealtimeAlerts(),t.status==="ALERT"){if(this.allRecorders.cameraRecorder.stopped)return;try{await this.backend.startRealtimeAlert({proctoringId:this.proctoringId,begin:t.begin,end:t.end,alert:this.convertRealtimeCategoryToAlertCategory(t.category)})}catch(r){console.log("error startRealtimeAlert "+t.category),console.log("error startRealtimeAlert adicionando na fila",r),this.realtimeAlertsToSend.push(t)}}else if(t.status==="OK"){if(this.allRecorders.cameraRecorder.stopped&&t.description!=="face_stop")return;try{await this.stopRealtimeAlert(t)}catch(r){console.log("error stopRealtimeAlert adicionando na fila",r),this.realtimeAlertsToSend.push(t)}}}}async onRealtimeAlerts(t={}){this.setOnLostFocusAlertRecorderCallback(),this.setOnFocusAlertRecorderCallback(),this.onRealtimeAlertsCallback=async r=>{t.data&&t.data(r),await this.internalOnRealtimeAlerts(r)}}setOnBufferSizeErrorCallback(t){this.onBufferSizeErrorCallback=r=>t(r)}setDeviceCheckData(t){this.deviceData=t}async createRecorders(t=or){this.onChangeDevices(),console.log("Creating recorders"),await this.recorder?.stopAll();let r=new Zr({cameraId:this.sessionOptions.cameraId,microphoneId:this.sessionOptions.microphoneId,onBufferSizeError:this.sessionOptions.onBufferSizeError,onBufferSizeErrorCallback:a=>this.onBufferSizeErrorCallback(a),proctoringType:this.sessionOptions.proctoringType,onChangeDevicesCallback:a=>this.onChangeDevicesCallback(a),onRealtimeAlertsCallback:a=>this.onRealtimeAlertsCallback(a)},{width:this.videoOptions.width,height:this.videoOptions.height,minWidth:this.videoOptions.minWidth,minHeight:this.videoOptions.minHeight},this.paramsConfig,this.backend,this.context.token),n=this.sessionOptions.captureScreen?new Ic({allowOnlyFirstMonitor:this.sessionOptions.allowOnlyFirstMonitor??!0,allowMultipleMonitors:this.sessionOptions.allowMultipleMonitors??!0,screenRecorderOptions:this.sessionOptions.screenRecorderOptions,onStopSharingScreenCallback:()=>this.onStopSharingScreenCallback(),onBufferSizeError:this.sessionOptions.onBufferSizeError,onBufferSizeErrorCallback:()=>this.onBufferSizeErrorCallback()}):void 0,i=new qa({onFocusCallback:a=>this.onFocusAlertRecorderCallback(a),onLostFocusCallback:a=>this.onLostFocusAlertRecorderCallback(a),onRealtimeAlertCallback:a=>this.onRealtimeAlertsCallback(a)},t),o=new Tc(t,this.proctoringSession,this.paramsConfig,r,a=>this.onRealtimeAlertsCallback(a),this.backend,this.context.token),s=[r,o,i].filter(Boolean);return this.sessionOptions.proctoringType!="REALTIME"&&n&&s.push(n),this.recorder=new Ga(this.proctoringSession,s),{screenRecorder:n,alertRecorder:i,noiseRecorder:o,cameraRecorder:r}}async login(){if(!this.context.credentials?.cpf)throw o0;this.context.token=await this.auth.login()}async start(t=or,r={}){try{if(this.context.token===void 0)throw i0;t.useChallenge&&(this.extensionEasycatcher=new Wa),this.extension=new Ha,this.extension.addEventListener();let n=this.backend.selectBaseUrl(this.context.type),i=await pr();await this.repositoryDevices.save({...i,id:"devices"}),this.sessionOptions={...or,...t},this.videoOptions=Ba(r),this.sessionOptions.proctoringType==="REALTIME"&&this.backend.setRealtime(!0),await this.initConfig(t.useGeolocation),this.sessionOptions.captureScreen&&await this.verifyMultipleMonitors(this.sessionOptions);try{t?.useSpyScan&&await this.spyCam.isAlive()}catch{throw s0}try{t?.useSafeBrowserAPI&&await this.safeBrowserBackendService.isAlive()}catch{throw Ed}if(this.state!="Stop")throw e0;this.state="Starting",await this.repository.hasSessions()&&await this.repository.clear(),this.proctoringSession=new Vn,this.allRecorders=await this.createRecorders(this.sessionOptions);let o=await this.backend.confirmStart({clientId:this.context.clientId,examId:this.context.examId,token:this.context.token},this.sessionOptions,this.geolocation?this.geolocation.coords.latitude:void 0,this.geolocation?this.geolocation.coords.longitude:void 0);this.proctoringId=o.id,de.registerDevicesChecked(this.proctoringId,!!this.deviceData,`Devices checked: ${JSON.stringify(this.deviceData)} | Devices List: ${JSON.stringify(i)}`);try{t?.useExternalCamera&&await this.appChecker.startTransmission(this.proctoringId)}catch{throw a0}this.allRecorders.cameraRecorder.setProctoringId(this.proctoringId),this.allRecorders.noiseRecorder.setProctoringId(this.proctoringId),this.proctoringSession.setProctoringId(this.proctoringId);try{t?.useSafeBrowserAPI&&await this.safeBrowserBackendService.setProctoringId(this.proctoringId)}catch{throw Ed}try{console.log("Starting recorders"),await this.recorder.startAll()}catch(l){throw console.log("Starting recorders error:",l),l}t?.useSpyScan&&(this.spyCam.setProctoringId(this.proctoringId),this.spyCam.startCheckSpyCam(this.paramsConfig.spyScanInterval??5,{deviceType:3})),await this.repository.save(this.proctoringSession);let s={};for(let l in navigator)s[l]=navigator[l];de.registerStart(this.proctoringId,!0,`Version: ${Hn()}
510
+ Navigator: ${JSON.stringify(s)}`),o.cameraStream=this.allRecorders.cameraRecorder.cameraStream,this.allRecorders.screenRecorder&&(o.screenStream=this.allRecorders.screenRecorder.screenStream),this.state="Recording";let a=0,c=!1;return this.verifyFirstFaceInterval=setInterval(async()=>{if(this.sessionOptions.proctoringType==="REALTIME"){if(c)return;c=!0,a++;try{var l=await this.backend.verifyFace(this.proctoringId,await this.allRecorders.cameraRecorder.getCurrentImageBase64(),!(a>2));c=!1,clearInterval(this.verifyFirstFaceInterval)}catch{c=!1;return}}},5e3),o}catch(n){throw console.log(n),await this.cancel(),this.proctoringId&&de.registerStart(this.proctoringId,!1,`Token: ${this.context.token}
511
+ Version: ${Hn()}
509
512
  Navigator: ${navigator}
510
- Error: ${n}`),this.state="Stop",n}}async cancel(){(this.state==="Recording"||this.state==="Starting")&&(await this.recorder.stopAll(),this.spyCam&&await this.spyCam.stopCheckSpyCam()),this.state="Stop"}async finish(t={}){try{if(this.extension.options=t,this.state!=="Recording")throw Fa;await this.recorder.stopAll(),this.spyCam&&this.spyCam.stopCheckSpyCam(),this.appChecker&&await this.appChecker.disconnectWebSocket(),await this.recorder.saveAllOnSession(),await this.sendPendingRealtimeAlerts(),me.registerError(this.proctoringId,"finish this.repository.save starting"),await this.repository.save(this.proctoringSession),me.registerError(this.proctoringId,"finish this.repository.save finished");let r,n;Vi()!=="1.0.0.0"?(r=new $i(this.proctoringSession,this.proctoringId,[new Wi(this.proctoringId)]),n="Download",this.serviceType="Download"):(r=new $i(this.proctoringSession,this.proctoringId,[new Yr(this.proctoringId,this.backend),new Wi(this.proctoringId)]),n="Upload",this.serviceType="Upload");let i=!1;if(this.extension.hasExtension&&await this.extension.start().then(o=>{i=o}).catch(o=>{i=!1}),(!i||!this.extension.hasExtension)&&(await r.upload(this.context.token,t.onProgress).catch(async o=>{me.registerUpload(this.proctoringSession.id,!1,`upload error: ${o}
513
+ Error: ${n}`),this.state="Stop",n}}async cancel(){(this.state==="Recording"||this.state==="Starting")&&(await this.recorder.stopAll(),this.spyCam&&await this.spyCam.stopCheckSpyCam()),this.state="Stop"}async finish(t={}){try{if(this.extension.options=t,this.state!=="Recording")throw La;await this.recorder.stopAll(),this.spyCam&&this.spyCam.stopCheckSpyCam(),this.appChecker&&await this.appChecker.disconnectWebSocket(),await this.recorder.saveAllOnSession(),await this.sendPendingRealtimeAlerts(),de.registerError(this.proctoringId,"finish this.repository.save starting"),await this.repository.save(this.proctoringSession),de.registerError(this.proctoringId,"finish this.repository.save finished");let r,n;Hn()!=="1.0.0.0"?(r=new Gi(this.proctoringSession,this.proctoringId,[new $i(this.proctoringId)]),n="Download",this.serviceType="Download"):(r=new Gi(this.proctoringSession,this.proctoringId,[new Yr(this.proctoringId,this.backend),new $i(this.proctoringId)]),n="Upload",this.serviceType="Upload");let i=!1;if(this.extension.hasExtension&&await this.extension.start().then(o=>{i=o}).catch(o=>{i=!1}),(!i||!this.extension.hasExtension)&&(await r.upload(this.context.token,t.onProgress).catch(async o=>{de.registerUpload(this.proctoringSession.id,!1,`upload error: ${o}
511
514
 
512
- Upload Services: ${n}`,this.serviceType),Vi()!=="1.0.0.0"&&(r=new $i(this.proctoringSession,this.proctoringId,[new Yr(this.proctoringId,this.backend),new Wi(this.proctoringId)]),n="Upload",this.serviceType="Upload",n="Download",this.serviceType="Download",await r.upload(this.context.token,t.onProgress).catch(s=>{me.registerUpload(this.proctoringSession.id,!1,`upload backup error: ${s}
515
+ Upload Services: ${n}`,this.serviceType),Hn()!=="1.0.0.0"&&(r=new Gi(this.proctoringSession,this.proctoringId,[new Yr(this.proctoringId,this.backend),new $i(this.proctoringId)]),n="Upload",this.serviceType="Upload",n="Download",this.serviceType="Download",await r.upload(this.context.token,t.onProgress).catch(s=>{de.registerUpload(this.proctoringSession.id,!1,`upload backup error: ${s}
513
516
 
514
517
  Upload Services: ${n}
515
- Upload backup for Safe Browser`,this.serviceType)}))}),me.registerUpload(this.proctoringSession.id,!0,`upload success
518
+ Upload backup for Safe Browser`,this.serviceType)}))}),de.registerUpload(this.proctoringSession.id,!0,`upload success
516
519
 
517
- Upload Services: ${n}`,this.serviceType)),this.proctoringSession.alerts.length>0&&await this.backend.saveAlerts(this.context,this.proctoringSession).catch(o=>{me.registerFinish(this.proctoringSession.id,!1,"save-screen error: "+o)}),await this.backend.finishAndSendUrls(this.context).then(o=>{me.registerFinish(this.proctoringSession.id,!0,""),t.onResultAvailable&&t.onResultAvailable(o?.score??100,o?.scoreThreshold??70,o?.approved??!0,o?.justification??"")}).catch(o=>{me.registerFinish(this.proctoringSession.id,!1,"finish error: "+o)}),this.appChecker){let o=this.appChecker.getExternalCameraSessionId();o!="null"&&await this.backend.externalCameraFinish(o)}this.verifyFirstFaceInterval&&clearInterval(this.verifyFirstFaceInterval),this.state="Stop"}catch(r){throw await this.cancel(),me.registerFinish(this.proctoringId,!1,`Token: ${this.context.token}
518
- Error: `+r),this.state="Stop",r}}async verifyMultipleMonitors(t){if(!t.allowMultipleMonitors&&await vs())throw me.registerError(this.proctoringId,"Multiplas telas detectadas!"),Ua}async verifyBrowser(){let t=await Gg();if(t!=="chrome"&&t!=="firefox"&&!Fr())throw me.registerBrowserNotSupported(this.proctoringId,`Browser n\xE3o suportado:
519
- Tentativa utilizando o browser ${t}`),Qg}async initConfig(t){try{let r=await this.backend.getParamsConfig(this.context);this.paramsConfig={...this.paramsConfig,...r,audioBehaviourParameters:{...this.paramsConfig.audioBehaviourParameters,...r.audioBehaviourParameters},imageBehaviourParameters:{...this.paramsConfig.imageBehaviourParameters,...r.imageBehaviourParameters},videoBehaviourParameters:{...this.paramsConfig.videoBehaviourParameters,...r.videoBehaviourParameters}},t&&(this.geolocation=await g2().then(n=>n).catch(n=>{throw n.message})),qg(this.backend),this.sessionOptions?.useSpyScan&&(this.spyCam=new ji(this.context,{onRealtimeAlertsCallback:n=>this.onRealtimeAlertsCallback(n)})),this.sessionOptions?.useSafeBrowserAPI&&(this.safeBrowserBackendService=new Tc)}catch(r){throw this.proctoringId&&me.registerError(this.proctoringId,"Erro no initConfig!"),await this.cancel(),r}}async getServerDate(){let t=await this.backend.getServerHour(this.context.token).catch(n=>{me.registerError(this.proctoringId,"N\xE3o foi poss\xEDvel requisitar a data do servidor!")});return t?new Date(t.toString()):new Date}async pause(){if(this.state!=="Recording")throw me.registerError(this.proctoringId,"Proctoring n\xE3o iniciado!"),Fa;await this.recorder.stopAll(),await this.recorder.saveAllOnSession(),await this.repository.save(this.proctoringSession),this.state="Paused"}async resume(){if(this.state!="Paused")throw Fa;return await this.verifyBrowser(),await this.verifyMultipleMonitors(this.sessionOptions),await this.recorder.startAll(),this.proctoringSession.recordings=[],await this.repository.save(this.proctoringSession),this.state="Recording",{cameraStream:this.allRecorders.cameraRecorder.cameraStream,_screenStream:this.allRecorders.screenRecorder?.screenStream}}};var cl=class e{static{this.isModalOpen=!1}constructor(t){this.backend=new ir({type:t?.type||"prod",token:t.token,isRealtime:!1})}async signInTerms(){if(e.isModalOpen)return Promise.reject();e.isModalOpen=!0;try{let t=await this.openModal();return new Promise(r=>{r(t)})}catch(t){return this.closeModal(),Promise.reject(t)}}openModal(){return new Promise((t,r)=>{let n=document.createElement("div");n.setAttribute("id","signTermModal");let i={backgroundColor:"rgba(0,0,0,0.4)",zIndex:"1000",position:"fixed",top:"0",left:"0",height:"100vh",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"};this.applyStyles(n,i);let o=document.createElement("div"),s={backgroundColor:"#fff",zIndex:"1001",width:"850px",maxHeight:"95%",borderRadius:"10px",display:"flex",flexDirection:"column",alignItems:"center"};this.applyStyles(o,s);let a=document.createElement("h3");a.innerText="Termo de consentimento para coleta e uso de dados";let c={color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"20px",marginBottom:"15px",padding:"20px 0px",borderBottom:"2px solid rgba(0, 0, 0, .1)",width:"100%",textAlign:"center"};this.applyStyles(a,c),o.appendChild(a);let l=document.createElement("iframe"),h="https://docs.google.com/document/u/3/d/e/2PACX-1vRMgrLhDLyDP8BHmotfPDpwAFaDHqK-mA4eBJ0Cy1mDdvHcWLsx47H4otII_4qi4rhtSf6B0OO97e9c/pub";this.backend.signTermUrl().then(N=>{if(!N)throw new Error("N\xE3o foi poss\xEDvel obter o termo de consentimento");l.setAttribute("src",N)}).catch(()=>{l.setAttribute("src",h)});let d={width:"100%",height:"500px",border:"1px solid rgba(0, 0, 0, .1)",margin:"20px",borderRadius:"5px"};this.applyStyles(l,d),o.appendChild(l);let m=document.createElement("div"),p=document.createElement("input");p.setAttribute("type","checkbox"),p.setAttribute("id","termsCheckbox");let g=document.createElement("label");g.setAttribute("for","termsCheckbox"),g.innerText="Li e aceito os termos e condi\xE7\xF5es";let f={display:"flex",alignItems:"center",gap:"10px",margin:"20px",width:"100%",paddingLeft:"20px"};this.applyStyles(m,f),m.appendChild(p),m.appendChild(g),o.appendChild(m);let b=document.createElement("div"),_={width:"100%",display:"flex",alignItems:"center",justifyContent:"center",borderTop:"2px solid rgba(0, 0, 0, .1)"};this.applyStyles(b,_);let x=document.createElement("button");x.innerText="Cancelar";let k={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px"};this.applyStyles(x,k),x.addEventListener("click",()=>{this.closeModal(),t(!1)});let P=document.createElement("span"),C={width:"3px",height:"70px",margin:"0px 2px",background:"rgba(0, 0, 0, .1)"};this.applyStyles(P,C);let A=document.createElement("button");A.innerText="Continuar",A.setAttribute("id","confirmBtn");let R={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px",disabled:!0,cursor:"not-allowed"};this.applyStyles(A,R),A.disabled=!0,A.addEventListener("click",()=>{this.closeModal(),this.backend.signTerm().then(()=>{t(!0)})}),p.addEventListener("change",N=>{A.disabled=!N.target.checked,N.target.checked?(A.style.color="#007bff",A.style.cursor="pointer"):(A.style.color="rgba(0, 0, 0, .7)",A.style.cursor="not-allowed")}),b.appendChild(x),b.appendChild(P),b.appendChild(A),o.appendChild(b),n.appendChild(o),document.body.appendChild(n)})}async closeModal(){e.isModalOpen=!1,document.querySelector("#signTermModal")?.remove()}applyStyles(t,r){for(let[n,i]of Object.entries(r))t.style[n]=i}};function Zu(e,t="prod"){e.showConsole||(console.log=()=>{},console.warn=()=>{},console.error=()=>{});let r={type:t,clientId:e.clientId,examId:e.examId,token:e.token,credentials:e.credentials,showConsole:e.showConsole},n=new al(r),i=new za(r),o=new cl(r),s=new Hi,a=n.login.bind(n),c=n.start.bind(n),l=async(V,ce)=>{let H=i.getDeviceCheckResult();return H&&n.setDeviceCheckData(H),c(V,ce)},h=n.finish.bind(n),d=n.pause.bind(n),m=n.resume.bind(n),p=n.setOnFocusCallback.bind(n),g=n.setOnLostFocusCallback.bind(n),f=n.onChangeDevices.bind(n),b=n.setOnBufferSizeErrorCallback.bind(n),_=n.setOnStopSharingScreenCallback.bind(n),x=n.onRealtimeAlerts.bind(n),k=n.setOnVisibilityLostCallback.bind(n),P=n.setOnVisibilityRestoredCallback.bind(n),C=o.signInTerms.bind(o),A=i.checkDevices.bind(i),R=n.appChecker.checkExternalCamera.bind(n.appChecker),N=n.appChecker.startSession.bind(n.appChecker),J=n.appChecker.takePicture.bind(n.appChecker),S=n.appChecker.goToPositionGuide.bind(n.appChecker),O=n.appChecker.startTransmission.bind(n.appChecker),y=i.runCheckDevicesFlow.bind(i),M=i.changeSelectedDevice.bind(i),ae=s.takePicture.bind(s);return{login:a,start:l,finish:h,onFocus:p,onLostFocus:g,onChangeDevices:f,onBufferSizeError:b,onRealtimeAlerts:x,checkDevices:A,runCheckDevicesFlow:y,changeSelectedDevice:M,capturePhoto:ae,enumarateDevices:pr,checkPermissions:bs,checkIfhasMultipleMonitors:vs,onStopSharingScreen:_,signInTerms:C,checkExternalCamera:R,startExternalCameraSession:N,takeExternalCameraPicture:J,goToExternalCameraPositionStep:S,startExternalCameraTransmission:O,onVisibilityLost:k,onVisibilityRestored:P}}typeof window<"u"&&(window.useProctoring=Zu);})();
520
+ Upload Services: ${n}`,this.serviceType)),this.proctoringSession.alerts.length>0&&await this.backend.saveAlerts(this.context,this.proctoringSession).catch(o=>{de.registerFinish(this.proctoringSession.id,!1,"save-screen error: "+o)}),await this.backend.finishAndSendUrls(this.context).then(o=>{de.registerFinish(this.proctoringSession.id,!0,""),t.onResultAvailable&&t.onResultAvailable(o?.score??100,o?.scoreThreshold??70,o?.approved??!0,o?.justification??"")}).catch(o=>{de.registerFinish(this.proctoringSession.id,!1,"finish error: "+o)}),this.appChecker){let o=this.appChecker.getExternalCameraSessionId();o!="null"&&await this.backend.externalCameraFinish(o)}this.verifyFirstFaceInterval&&clearInterval(this.verifyFirstFaceInterval),this.state="Stop"}catch(r){throw await this.cancel(),de.registerFinish(this.proctoringId,!1,`Token: ${this.context.token}
521
+ Error: `+r),this.state="Stop",r}}async verifyMultipleMonitors(t){if(!t.allowMultipleMonitors&&await _s())throw de.registerError(this.proctoringId,"Multiplas telas detectadas!"),Fa}async verifyBrowser(){let t=await Xg();if(t!=="chrome"&&t!=="firefox"&&!_r())throw de.registerBrowserNotSupported(this.proctoringId,`Browser n\xE3o suportado:
522
+ Tentativa utilizando o browser ${t}`),n0}async initConfig(t){try{let r=await this.backend.getParamsConfig(this.context);this.paramsConfig={...this.paramsConfig,...r,audioBehaviourParameters:{...this.paramsConfig.audioBehaviourParameters,...r.audioBehaviourParameters},imageBehaviourParameters:{...this.paramsConfig.imageBehaviourParameters,...r.imageBehaviourParameters},videoBehaviourParameters:{...this.paramsConfig.videoBehaviourParameters,...r.videoBehaviourParameters}},t&&(this.geolocation=await S2().then(n=>n).catch(n=>{throw n.message})),Yg(this.backend),this.sessionOptions?.useSpyScan&&(this.spyCam=new ji(this.context,{onRealtimeAlertsCallback:n=>this.onRealtimeAlertsCallback(n)})),this.sessionOptions?.useSafeBrowserAPI&&(this.safeBrowserBackendService=new Pc)}catch(r){throw this.proctoringId&&de.registerError(this.proctoringId,"Erro no initConfig!"),await this.cancel(),r}}async getServerDate(){let t=await this.backend.getServerHour(this.context.token).catch(n=>{de.registerError(this.proctoringId,"N\xE3o foi poss\xEDvel requisitar a data do servidor!")});return t?new Date(t.toString()):new Date}async pause(){if(this.state!=="Recording")throw de.registerError(this.proctoringId,"Proctoring n\xE3o iniciado!"),La;await this.recorder.stopAll(),await this.recorder.saveAllOnSession(),await this.repository.save(this.proctoringSession),this.state="Paused"}async resume(){if(this.state!="Paused")throw La;return await this.verifyBrowser(),await this.verifyMultipleMonitors(this.sessionOptions),await this.recorder.startAll(),this.proctoringSession.recordings=[],await this.repository.save(this.proctoringSession),this.state="Recording",{cameraStream:this.allRecorders.cameraRecorder.cameraStream,_screenStream:this.allRecorders.screenRecorder?.screenStream}}async startChallenge(t){if(!this.sessionOptions.useChallenge)throw new Error("useChallenge is set as false on start method");await this.extensionEasycatcher.checkExtensionInstalled().catch(n=>{throw new Error("EasyCatcher Extension is not installed")}),this.extensionEasycatcher.start();let r=Date.now()-this.allRecorders.cameraRecorder.getStartTime()?.getTime()||0;await this.backend.startChallenge({proctoringId:this.proctoringId,templateId:t,start:r}).then(n=>{console.log(n),this.challengeId=n.id}).catch(n=>{throw de.registerError(this.proctoringId,"N\xE3o foi poss\xEDvel iniciar desafio!"),n}),this.isChallengeRunning=!0}async stopChallenge(){if(!this.isChallengeRunning)throw new Error("Challenge not started");try{let t=await this.extensionEasycatcher.getSessionData(),r=Date.now()-this.allRecorders.cameraRecorder.getStartTime()?.getTime()||0;await this.backend.stopChallenge(this.challengeId,{end:r,data:t}).catch(n=>{de.registerError(this.proctoringId,"N\xE3o foi poss\xEDvel finalizar o desafio no backend!")}),this.isChallengeRunning=!1}catch(t){de.registerError(this.proctoringId,"Erro ao recuperar dados da extens\xE3o: "+t.message)}}};var dl=class e{static{this.isModalOpen=!1}constructor(t){this.backend=new ir({type:t?.type||"prod",token:t.token,isRealtime:!1})}async signInTerms(){if(e.isModalOpen)return Promise.reject();e.isModalOpen=!0;try{let t=await this.openModal();return new Promise(r=>{r(t)})}catch(t){return this.closeModal(),Promise.reject(t)}}openModal(){return new Promise((t,r)=>{let n=document.createElement("div");n.setAttribute("id","signTermModal");let i={backgroundColor:"rgba(0,0,0,0.4)",zIndex:"1000",position:"fixed",top:"0",left:"0",height:"100vh",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"};this.applyStyles(n,i);let o=document.createElement("div"),s={backgroundColor:"#fff",zIndex:"1001",width:"850px",maxHeight:"95%",borderRadius:"10px",display:"flex",flexDirection:"column",alignItems:"center"};this.applyStyles(o,s);let a=document.createElement("h3");a.innerText="Termo de consentimento para coleta e uso de dados";let c={color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"20px",marginBottom:"15px",padding:"20px 0px",borderBottom:"2px solid rgba(0, 0, 0, .1)",width:"100%",textAlign:"center"};this.applyStyles(a,c),o.appendChild(a);let l=document.createElement("iframe"),h="https://docs.google.com/document/u/3/d/e/2PACX-1vRMgrLhDLyDP8BHmotfPDpwAFaDHqK-mA4eBJ0Cy1mDdvHcWLsx47H4otII_4qi4rhtSf6B0OO97e9c/pub";this.backend.signTermUrl().then(N=>{if(!N)throw new Error("N\xE3o foi poss\xEDvel obter o termo de consentimento");l.setAttribute("src",N)}).catch(()=>{l.setAttribute("src",h)});let d={width:"100%",height:"500px",border:"1px solid rgba(0, 0, 0, .1)",margin:"20px",borderRadius:"5px"};this.applyStyles(l,d),o.appendChild(l);let g=document.createElement("div"),p=document.createElement("input");p.setAttribute("type","checkbox"),p.setAttribute("id","termsCheckbox");let m=document.createElement("label");m.setAttribute("for","termsCheckbox"),m.innerText="Li e aceito os termos e condi\xE7\xF5es";let u={display:"flex",alignItems:"center",gap:"10px",margin:"20px",width:"100%",paddingLeft:"20px"};this.applyStyles(g,u),g.appendChild(p),g.appendChild(m),o.appendChild(g);let b=document.createElement("div"),_={width:"100%",display:"flex",alignItems:"center",justifyContent:"center",borderTop:"2px solid rgba(0, 0, 0, .1)"};this.applyStyles(b,_);let E=document.createElement("button");E.innerText="Cancelar";let k={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px"};this.applyStyles(E,k),E.addEventListener("click",()=>{this.closeModal(),t(!1)});let P=document.createElement("span"),x={width:"3px",height:"70px",margin:"0px 2px",background:"rgba(0, 0, 0, .1)"};this.applyStyles(P,x);let A=document.createElement("button");A.innerText="Continuar",A.setAttribute("id","confirmBtn");let R={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px",disabled:!0,cursor:"not-allowed"};this.applyStyles(A,R),A.disabled=!0,A.addEventListener("click",()=>{this.closeModal(),this.backend.signTerm().then(()=>{t(!0)})}),p.addEventListener("change",N=>{A.disabled=!N.target.checked,N.target.checked?(A.style.color="#007bff",A.style.cursor="pointer"):(A.style.color="rgba(0, 0, 0, .7)",A.style.cursor="not-allowed")}),b.appendChild(E),b.appendChild(P),b.appendChild(A),o.appendChild(b),n.appendChild(o),document.body.appendChild(n)})}async closeModal(){e.isModalOpen=!1,document.querySelector("#signTermModal")?.remove()}applyStyles(t,r){for(let[n,i]of Object.entries(r))t.style[n]=i}};function tp(e,t="prod"){e.showConsole||(console.log=()=>{},console.warn=()=>{},console.error=()=>{});let r={type:t,clientId:e.clientId,examId:e.examId,token:e.token,credentials:e.credentials,showConsole:e.showConsole},n=new hl(r),i=new Va(r),o=new dl(r),s=new Wi,a=n.login.bind(n),c=n.start.bind(n),l=async(H,oe)=>{let B=i.getDeviceCheckResult();return B&&n.setDeviceCheckData(B),c(H,oe)},h=n.finish.bind(n),d=n.startChallenge.bind(n),g=n.stopChallenge.bind(n),p=n.pause.bind(n),m=n.resume.bind(n),u=n.setOnFocusCallback.bind(n),b=n.setOnLostFocusCallback.bind(n),_=n.onChangeDevices.bind(n),E=n.setOnBufferSizeErrorCallback.bind(n),k=n.setOnStopSharingScreenCallback.bind(n),P=n.onRealtimeAlerts.bind(n),x=n.setOnVisibilityLostCallback.bind(n),A=n.setOnVisibilityRestoredCallback.bind(n),R=o.signInTerms.bind(o),N=i.checkDevices.bind(i),J=n.appChecker.checkExternalCamera.bind(n.appChecker),S=n.appChecker.startSession.bind(n.appChecker),O=n.appChecker.takePicture.bind(n.appChecker),y=n.appChecker.goToPositionGuide.bind(n.appChecker),M=n.appChecker.startTransmission.bind(n.appChecker),ae=i.runCheckDevicesFlow.bind(i),V=i.changeSelectedDevice.bind(i),ce=s.takePicture.bind(s);return{login:a,start:l,finish:h,startChallenge:d,stopChallenge:g,onFocus:u,onLostFocus:b,onChangeDevices:_,onBufferSizeError:E,onRealtimeAlerts:P,checkDevices:N,runCheckDevicesFlow:ae,changeSelectedDevice:V,capturePhoto:ce,enumarateDevices:pr,checkPermissions:vs,checkIfhasMultipleMonitors:_s,onStopSharingScreen:k,signInTerms:R,checkExternalCamera:J,startExternalCameraSession:S,takeExternalCameraPicture:O,goToExternalCameraPositionStep:y,startExternalCameraTransmission:M,onVisibilityLost:x,onVisibilityRestored:A}}typeof window<"u"&&(window.useProctoring=tp);})();
520
523
  /*! Bundled license information:
521
524
 
522
525
  jszip/dist/jszip.min.js: