@idscan/idvc2 2.5.7 → 2.5.8
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.
- package/README.md +4 -0
- package/dist/css/idvc.css +1 -0
- package/dist/idvc.js +1684 -0
- package/dist/index.html +114 -0
- package/dist/js/defaultConfig.ts +303 -0
- package/dist/js/environment/capturingModes.json +4 -0
- package/dist/js/environment/cssVariables.json +191 -0
- package/dist/js/environment/designations.ts +23 -0
- package/dist/js/environment/documentTypes.ts +151 -0
- package/dist/js/environment/langs.js +1 -0
- package/dist/js/environment/loadModes.json +11 -0
- package/dist/js/environment/loopResult.ts +14 -0
- package/dist/js/environment/modalPosition.ts +27 -0
- package/dist/js/environment/networkNames.json +9 -0
- package/dist/js/environment/realFaceModes.ts +24 -0
- package/dist/js/environment/stepsDescription.ts +64 -0
- package/dist/js/environment/triangulation.ts +188 -0
- package/dist/networks/156-2c44-chunk.js +1 -0
- package/dist/networks/190-00d9-chunk.js +1 -0
- package/dist/networks/77-705c-chunk.js +1 -0
- package/dist/networks/Face-5c85-chunk.js +1 -0
- package/dist/networks/MRZ-70ee-chunk.js +1 -0
- package/dist/networks/PDF-4ee2-chunk.js +1 -0
- package/dist/networks/ZXing-f54a-chunk.js +1 -0
- package/dist/networks/angle03032023.onnx +0 -0
- package/dist/networks/classLocal03032023.onnx +0 -0
- package/dist/networks/faceDetection03032023.onnx +0 -0
- package/dist/networks/faceLandmark03032023.onnx +0 -0
- package/dist/networks/mrz03032023.onnx +0 -0
- package/dist/networks/ort-wasm-simd-threaded.wasm +0 -0
- package/dist/networks/ort-wasm-simd.wasm +0 -0
- package/dist/networks/ort-wasm-threaded.wasm +0 -0
- package/dist/networks/ort-wasm.wasm +0 -0
- package/package.json +45 -45
- package/dist/types/assets/images/barcode.d.ts +0 -2
- package/dist/types/assets/images/face.d.ts +0 -2
- package/dist/types/assets/images/front.d.ts +0 -2
- package/dist/types/assets/images/mrz.d.ts +0 -2
- package/dist/types/assets/images/pdf.d.ts +0 -2
- package/dist/types/bl.d.ts +0 -15
- package/dist/types/constatnts/camera.d.ts +0 -11
- package/dist/types/constatnts/imageProcessing.d.ts +0 -3
- package/dist/types/constatnts/pdf.d.ts +0 -1
- package/dist/types/context.d.ts +0 -118
- package/dist/types/defaultConfig.d.ts +0 -57
- package/dist/types/environment/designations.d.ts +0 -5
- package/dist/types/environment/documentTypes.d.ts +0 -26
- package/dist/types/environment/langs.d.ts +0 -89
- package/dist/types/environment/loopResult.d.ts +0 -8
- package/dist/types/environment/modalPosition.d.ts +0 -19
- package/dist/types/environment/realFaceModes.d.ts +0 -22
- package/dist/types/environment/stepsDescription.d.ts +0 -54
- package/dist/types/environment/triangulation.d.ts +0 -18
- package/dist/types/eventListeners/eventListeners.d.ts +0 -15
- package/dist/types/eventListeners/selectDocumentType/selectHandler.d.ts +0 -5
- package/dist/types/helpers/apiSupport.d.ts +0 -1
- package/dist/types/helpers/canvas.d.ts +0 -34
- package/dist/types/helpers/color.d.ts +0 -14
- package/dist/types/helpers/dataManipulation.d.ts +0 -27
- package/dist/types/helpers/detectLanguage.d.ts +0 -3
- package/dist/types/helpers/geometry.d.ts +0 -35
- package/dist/types/helpers/html.d.ts +0 -26
- package/dist/types/helpers/image.d.ts +0 -36
- package/dist/types/helpers/imageprocessing.d.ts +0 -11
- package/dist/types/helpers/licenceKeyError.d.ts +0 -6
- package/dist/types/helpers/manualUpload.d.ts +0 -7
- package/dist/types/helpers/math.d.ts +0 -35
- package/dist/types/helpers/mobileChecker.d.ts +0 -15
- package/dist/types/helpers/numbers.d.ts +0 -2
- package/dist/types/helpers/step-background.d.ts +0 -2
- package/dist/types/helpers/strings.d.ts +0 -9
- package/dist/types/helpers/time.d.ts +0 -11
- package/dist/types/helpers/ts/common.d.ts +0 -17
- package/dist/types/helpers/updateSelecetTypes.d.ts +0 -3
- package/dist/types/helpers/validators.d.ts +0 -44
- package/dist/types/idvc.d.ts +0 -19
- package/dist/types/initialize.d.ts +0 -12
- package/dist/types/loader/asyncLoader.d.ts +0 -1
- package/dist/types/loader/loadAnglesModel.d.ts +0 -2
- package/dist/types/loader/loadFrontModels.d.ts +0 -2
- package/dist/types/loader/loaderClassLocal.d.ts +0 -2
- package/dist/types/loader/loaderFace.d.ts +0 -2
- package/dist/types/loader/loaderMRZ.d.ts +0 -4
- package/dist/types/loader/loaderMeshFace.d.ts +0 -3
- package/dist/types/loader/loaderPDF.d.ts +0 -3
- package/dist/types/loader/loaderUploadMode.d.ts +0 -1
- package/dist/types/loader/loaderZXing.d.ts +0 -2
- package/dist/types/loop.d.ts +0 -13
- package/dist/types/loopControl.d.ts +0 -10
- package/dist/types/modules/BarcodeModule.d.ts +0 -28
- package/dist/types/modules/Config.d.ts +0 -131
- package/dist/types/modules/FrontProcessing.d.ts +0 -11
- package/dist/types/modules/MetaData.d.ts +0 -10
- package/dist/types/modules/MrzModule.d.ts +0 -73
- package/dist/types/modules/PdfModule.d.ts +0 -79
- package/dist/types/modules/Step.d.ts +0 -69
- package/dist/types/modules/blur.d.ts +0 -4
- package/dist/types/modules/browwserCompatibilities.d.ts +0 -7
- package/dist/types/modules/camera/camera.d.ts +0 -14
- package/dist/types/modules/camera/cameraManager.d.ts +0 -9
- package/dist/types/modules/face/Face.d.ts +0 -63
- package/dist/types/modules/face/MeshFace.d.ts +0 -48
- package/dist/types/modules/face/SimpleFace.d.ts +0 -23
- package/dist/types/modules/feature-detect/simd.d.ts +0 -2
- package/dist/types/modules/frameQuality.d.ts +0 -10
- package/dist/types/modules/heic.d.ts +0 -11
- package/dist/types/modules/image.d.ts +0 -13
- package/dist/types/modules/initErrorHandler.d.ts +0 -10
- package/dist/types/modules/licenseKeyChecker.d.ts +0 -1
- package/dist/types/modules/manualUpload.d.ts +0 -7
- package/dist/types/modules/manualUploadProcessing.d.ts +0 -30
- package/dist/types/modules/mediaDevices.d.ts +0 -2
- package/dist/types/modules/moduleInitializer.d.ts +0 -8
- package/dist/types/modules/step-functions/face.d.ts +0 -2
- package/dist/types/modules/step-functions/pdf.d.ts +0 -13
- package/dist/types/modules/step-result-processing/barcode.d.ts +0 -2
- package/dist/types/modules/step-result-processing/common.d.ts +0 -1
- package/dist/types/modules/step-result-processing/mrz.d.ts +0 -2
- package/dist/types/modules/step-result-processing/pdf.d.ts +0 -2
- package/dist/types/modules/step-result-processing/simpleFace.d.ts +0 -2
- package/dist/types/modules/step-result-processing/volumeFace.d.ts +0 -7
- package/dist/types/modules/stepFunctions.d.ts +0 -5
- package/dist/types/modules/stepResultProcessing.d.ts +0 -9
- package/dist/types/modules/ui/Flashlight.d.ts +0 -17
- package/dist/types/modules/ui/MaskCapture.d.ts +0 -52
- package/dist/types/modules/ui/MessageBox.d.ts +0 -19
- package/dist/types/modules/ui/Modal.d.ts +0 -20
- package/dist/types/modules/ui/SelectDocumentType.d.ts +0 -37
- package/dist/types/modules/ui/canvas.d.ts +0 -48
- package/dist/types/modules/ui/forceCaptruringBtn.d.ts +0 -12
- package/dist/types/modules/ui/hints.d.ts +0 -17
- package/dist/types/modules/ui/limitations.d.ts +0 -2
- package/dist/types/modules/ui/manualSwitchBtn.d.ts +0 -30
- package/dist/types/modules/ui/selectDocumentType/documentSelectedEvent.d.ts +0 -7
- package/dist/types/modules/ui/spinner.d.ts +0 -13
- package/dist/types/modules/ui/swiper.d.ts +0 -3
- package/dist/types/modules/uploader.d.ts +0 -58
- package/dist/types/modules/validation/ValidateBool.d.ts +0 -5
- package/dist/types/modules/validation/ValidateDocumentTypes.d.ts +0 -20
- package/dist/types/modules/validation/ValidateElement.d.ts +0 -5
- package/dist/types/modules/validation/ValidateFunction.d.ts +0 -5
- package/dist/types/modules/validation/ValidateNumber.d.ts +0 -5
- package/dist/types/modules/validation/ValidateString.d.ts +0 -5
- package/dist/types/modules/validation/ValidateStringInArray.d.ts +0 -12
- package/dist/types/modules/validation/showValidationError.d.ts +0 -2
- package/dist/types/modules/validation/validatorFactory.d.ts +0 -10
- package/dist/types/modules/validator.d.ts +0 -12
- package/dist/types/neural models/Provider.d.ts +0 -4
- package/dist/types/neural models/anglesModel.d.ts +0 -15
- package/dist/types/neural models/blazeFaceModel.d.ts +0 -27
- package/dist/types/neural models/classLocal/exits.d.ts +0 -3
- package/dist/types/neural models/classLocalModel.d.ts +0 -29
- package/dist/types/neural models/meshFaceModel.d.ts +0 -17
- package/dist/types/neural models/mrzModel.d.ts +0 -20
- package/dist/types/neural models/neuralModel.d.ts +0 -18
- package/dist/types/neural models/preload.d.ts +0 -7
- package/dist/types/stepProcessing.d.ts +0 -27
- package/dist/types/types/enums/realFace.d.ts +0 -4
- package/dist/types/types/modules/camera.enum.d.ts +0 -18
- package/dist/types/ui.d.ts +0 -89
- package/dist/types/util.d.ts +0 -34
- package/dist/types/workers/blurWorker.d.ts +0 -1
- package/dist/types/workers/bubbleWorker.d.ts +0 -1
- package/dist/types/workers/loadNetworksWorker.d.ts +0 -0
- package/dist/types/workers/mrzWorker.d.ts +0 -1
package/dist/idvc.js
ADDED
|
@@ -0,0 +1,1684 @@
|
|
|
1
|
+
var __webpack_modules__={9742:(en,er)=>{er.byteLength=eA,er.toByteArray=eh,er.fromByteArray=eb;for(var ei=[],eo=[],ea="undefined"!=typeof Uint8Array?Uint8Array:Array,es="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",eu=0,ec=es.length;eu<ec;++eu)ei[eu]=es[eu],eo[es.charCodeAt(eu)]=eu;function ef(en){var er=en.length;if(er%4>0)throw Error("Invalid string. Length must be a multiple of 4");var ei=en.indexOf("=");-1===ei&&(ei=er);var eo=ei===er?0:4-ei%4;return[ei,eo]}function eA(en){var er=ef(en),ei=er[0],eo=er[1];return(ei+eo)*3/4-eo}function ed(en,er,ei){return(er+ei)*3/4-ei}function eh(en){var er,ei,es=ef(en),eu=es[0],ec=es[1],eA=new ea(ed(en,eu,ec)),eh=0,ep=ec>0?eu-4:eu;for(ei=0;ei<ep;ei+=4)er=eo[en.charCodeAt(ei)]<<18|eo[en.charCodeAt(ei+1)]<<12|eo[en.charCodeAt(ei+2)]<<6|eo[en.charCodeAt(ei+3)],eA[eh++]=er>>16&255,eA[eh++]=er>>8&255,eA[eh++]=255&er;return 2===ec&&(er=eo[en.charCodeAt(ei)]<<2|eo[en.charCodeAt(ei+1)]>>4,eA[eh++]=255&er),1===ec&&(er=eo[en.charCodeAt(ei)]<<10|eo[en.charCodeAt(ei+1)]<<4|eo[en.charCodeAt(ei+2)]>>2,eA[eh++]=er>>8&255,eA[eh++]=255&er),eA}function ep(en){return ei[en>>18&63]+ei[en>>12&63]+ei[en>>6&63]+ei[63&en]}function eg(en,er,ei){for(var eo=[],ea=er;ea<ei;ea+=3)eo.push(ep((en[ea]<<16&16711680)+(en[ea+1]<<8&65280)+(255&en[ea+2])));return eo.join("")}function eb(en){for(var er,eo=en.length,ea=eo%3,es=[],eu=16383,ec=0,ef=eo-ea;ec<ef;ec+=eu)es.push(eg(en,ec,ec+eu>ef?ef:ec+eu));return 1===ea?es.push(ei[(er=en[eo-1])>>2]+ei[er<<4&63]+"=="):2===ea&&es.push(ei[(er=(en[eo-2]<<8)+en[eo-1])>>10]+ei[er>>4&63]+ei[er<<2&63]+"="),es.join("")}eo["-".charCodeAt(0)]=62,eo["_".charCodeAt(0)]=63},8764:(en,er,ei)=>{var eo;/*!
|
|
2
|
+
* The buffer module from node.js, for the browser.
|
|
3
|
+
*
|
|
4
|
+
* @author Feross Aboukhadijeh <https://feross.org>
|
|
5
|
+
* @license MIT
|
|
6
|
+
*/let ea=ei(9742),es=ei(645),eu="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;er.lW=ed,eo=eC,er.h2=50;let ec=2147483647;function ef(){try{let en=new Uint8Array(1),er={foo:function(){return 42}};return Object.setPrototypeOf(er,Uint8Array.prototype),Object.setPrototypeOf(en,er),42===en.foo()}catch(en){return!1}}function eA(en){if(en>ec)throw RangeError('The value "'+en+'" is invalid for option "size"');let er=new Uint8Array(en);return Object.setPrototypeOf(er,ed.prototype),er}function ed(en,er,ei){if("number"==typeof en){if("string"==typeof er)throw TypeError('The "string" argument must be of type string. Received type number');return eb(en)}return eh(en,er,ei)}function eh(en,er,ei){if("string"==typeof en)return em(en,er);if(ArrayBuffer.isView(en))return ev(en);if(null==en)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof en);if(tn(en,ArrayBuffer)||en&&tn(en.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(tn(en,SharedArrayBuffer)||en&&tn(en.buffer,SharedArrayBuffer)))return eI(en,er,ei);if("number"==typeof en)throw TypeError('The "value" argument must not be of type number. Received type number');let eo=en.valueOf&&en.valueOf();if(null!=eo&&eo!==en)return ed.from(eo,er,ei);let ea=ew(en);if(ea)return ea;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof en[Symbol.toPrimitive])return ed.from(en[Symbol.toPrimitive]("string"),er,ei);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof en)}function ep(en){if("number"!=typeof en)throw TypeError('"size" argument must be of type number');if(en<0)throw RangeError('The value "'+en+'" is invalid for option "size"')}function eg(en,er,ei){return(ep(en),en<=0)?eA(en):void 0!==er?"string"==typeof ei?eA(en).fill(er,ei):eA(en).fill(er):eA(en)}function eb(en){return ep(en),eA(en<0?0:0|eE(en))}function em(en,er){if(("string"!=typeof er||""===er)&&(er="utf8"),!ed.isEncoding(er))throw TypeError("Unknown encoding: "+er);let ei=0|eT(en,er),eo=eA(ei),ea=eo.write(en,er);return ea!==ei&&(eo=eo.slice(0,ea)),eo}function ey(en){let er=en.length<0?0:0|eE(en.length),ei=eA(er);for(let eo=0;eo<er;eo+=1)ei[eo]=255&en[eo];return ei}function ev(en){if(tn(en,Uint8Array)){let er=new Uint8Array(en);return eI(er.buffer,er.byteOffset,er.byteLength)}return ey(en)}function eI(en,er,ei){let eo;if(er<0||en.byteLength<er)throw RangeError('"offset" is outside of buffer bounds');if(en.byteLength<er+(ei||0))throw RangeError('"length" is outside of buffer bounds');return Object.setPrototypeOf(eo=void 0===er&&void 0===ei?new Uint8Array(en):void 0===ei?new Uint8Array(en,er):new Uint8Array(en,er,ei),ed.prototype),eo}function ew(en){if(ed.isBuffer(en)){let er=0|eE(en.length),ei=eA(er);return 0===ei.length||en.copy(ei,0,0,er),ei}return void 0!==en.length?"number"!=typeof en.length||tr(en.length)?eA(0):ey(en):"Buffer"===en.type&&Array.isArray(en.data)?ey(en.data):void 0}function eE(en){if(en>=ec)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ec.toString(16)+" bytes");return 0|en}function eC(en){return+en!=en&&(en=0),ed.alloc(+en)}function eT(en,er){if(ed.isBuffer(en))return en.length;if(ArrayBuffer.isView(en)||tn(en,ArrayBuffer))return en.byteLength;if("string"!=typeof en)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof en);let ei=en.length,eo=arguments.length>2&&!0===arguments[2];if(!eo&&0===ei)return 0;let ea=!1;for(;;)switch(er){case"ascii":case"latin1":case"binary":return ei;case"utf8":case"utf-8":return e6(en).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*ei;case"hex":return ei>>>1;case"base64":return e7(en).length;default:if(ea)return eo?-1:e6(en).length;er=(""+er).toLowerCase(),ea=!0}}function eS(en,er,ei){let eo=!1;if((void 0===er||er<0)&&(er=0),er>this.length||((void 0===ei||ei>this.length)&&(ei=this.length),ei<=0||(ei>>>=0)<=(er>>>=0)))return"";for(en||(en="utf8");;)switch(en){case"hex":return eU(this,er,ei);case"utf8":case"utf-8":return eF(this,er,ei);case"ascii":return eR(this,er,ei);case"latin1":case"binary":return eG(this,er,ei);case"base64":return eM(this,er,ei);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ej(this,er,ei);default:if(eo)throw TypeError("Unknown encoding: "+en);en=(en+"").toLowerCase(),eo=!0}}function eB(en,er,ei){let eo=en[er];en[er]=en[ei],en[ei]=eo}function ex(en,er,ei,eo,ea){if(0===en.length)return -1;if("string"==typeof ei?(eo=ei,ei=0):ei>2147483647?ei=2147483647:ei<-2147483648&&(ei=-2147483648),tr(ei=+ei)&&(ei=ea?0:en.length-1),ei<0&&(ei=en.length+ei),ei>=en.length){if(ea)return -1;ei=en.length-1}else if(ei<0){if(!ea)return -1;ei=0}if("string"==typeof er&&(er=ed.from(er,eo)),ed.isBuffer(er))return 0===er.length?-1:e_(en,er,ei,eo,ea);if("number"==typeof er)return(er&=255,"function"==typeof Uint8Array.prototype.indexOf)?ea?Uint8Array.prototype.indexOf.call(en,er,ei):Uint8Array.prototype.lastIndexOf.call(en,er,ei):e_(en,[er],ei,eo,ea);throw TypeError("val must be string, number or Buffer")}function e_(en,er,ei,eo,ea){let es,eu=1,ec=en.length,ef=er.length;if(void 0!==eo&&("ucs2"===(eo=String(eo).toLowerCase())||"ucs-2"===eo||"utf16le"===eo||"utf-16le"===eo)){if(en.length<2||er.length<2)return -1;eu=2,ec/=2,ef/=2,ei/=2}function eA(en,er){return 1===eu?en[er]:en.readUInt16BE(er*eu)}if(ea){let eo=-1;for(es=ei;es<ec;es++)if(eA(en,es)===eA(er,-1===eo?0:es-eo)){if(-1===eo&&(eo=es),es-eo+1===ef)return eo*eu}else -1!==eo&&(es-=es-eo),eo=-1}else for(ei+ef>ec&&(ei=ec-ef),es=ei;es>=0;es--){let ei=!0;for(let eo=0;eo<ef;eo++)if(eA(en,es+eo)!==eA(er,eo)){ei=!1;break}if(ei)return es}return -1}function eD(en,er,ei,eo){let ea;ei=Number(ei)||0;let es=en.length-ei;eo?(eo=Number(eo))>es&&(eo=es):eo=es;let eu=er.length;for(eo>eu/2&&(eo=eu/2),ea=0;ea<eo;++ea){let eo=parseInt(er.substr(2*ea,2),16);if(tr(eo))break;en[ei+ea]=eo}return ea}function eP(en,er,ei,eo){return e9(e6(er,en.length-ei),en,ei,eo)}function eO(en,er,ei,eo){return e9(e8(er),en,ei,eo)}function ek(en,er,ei,eo){return e9(e7(er),en,ei,eo)}function eQ(en,er,ei,eo){return e9(e5(er,en.length-ei),en,ei,eo)}function eM(en,er,ei){return 0===er&&ei===en.length?ea.fromByteArray(en):ea.fromByteArray(en.slice(er,ei))}function eF(en,er,ei){ei=Math.min(en.length,ei);let eo=[],ea=er;for(;ea<ei;){let er=en[ea],es=null,eu=er>239?4:er>223?3:er>191?2:1;if(ea+eu<=ei){let ei,eo,ec,ef;switch(eu){case 1:er<128&&(es=er);break;case 2:(192&(ei=en[ea+1]))==128&&(ef=(31&er)<<6|63&ei)>127&&(es=ef);break;case 3:ei=en[ea+1],eo=en[ea+2],(192&ei)==128&&(192&eo)==128&&(ef=(15&er)<<12|(63&ei)<<6|63&eo)>2047&&(ef<55296||ef>57343)&&(es=ef);break;case 4:ei=en[ea+1],eo=en[ea+2],ec=en[ea+3],(192&ei)==128&&(192&eo)==128&&(192&ec)==128&&(ef=(15&er)<<18|(63&ei)<<12|(63&eo)<<6|63&ec)>65535&&ef<1114112&&(es=ef)}}null===es?(es=65533,eu=1):es>65535&&(es-=65536,eo.push(es>>>10&1023|55296),es=56320|1023&es),eo.push(es),ea+=eu}return eL(eo)}eo=ec,ed.TYPED_ARRAY_SUPPORT=ef(),ed.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(ed.prototype,"parent",{enumerable:!0,get:function(){if(ed.isBuffer(this))return this.buffer}}),Object.defineProperty(ed.prototype,"offset",{enumerable:!0,get:function(){if(ed.isBuffer(this))return this.byteOffset}}),ed.poolSize=8192,ed.from=function(en,er,ei){return eh(en,er,ei)},Object.setPrototypeOf(ed.prototype,Uint8Array.prototype),Object.setPrototypeOf(ed,Uint8Array),ed.alloc=function(en,er,ei){return eg(en,er,ei)},ed.allocUnsafe=function(en){return eb(en)},ed.allocUnsafeSlow=function(en){return eb(en)},ed.isBuffer=function(en){return null!=en&&!0===en._isBuffer&&en!==ed.prototype},ed.compare=function(en,er){if(tn(en,Uint8Array)&&(en=ed.from(en,en.offset,en.byteLength)),tn(er,Uint8Array)&&(er=ed.from(er,er.offset,er.byteLength)),!ed.isBuffer(en)||!ed.isBuffer(er))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(en===er)return 0;let ei=en.length,eo=er.length;for(let ea=0,es=Math.min(ei,eo);ea<es;++ea)if(en[ea]!==er[ea]){ei=en[ea],eo=er[ea];break}return ei<eo?-1:eo<ei?1:0},ed.isEncoding=function(en){switch(String(en).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},ed.concat=function(en,er){let ei;if(!Array.isArray(en))throw TypeError('"list" argument must be an Array of Buffers');if(0===en.length)return ed.alloc(0);if(void 0===er)for(ei=0,er=0;ei<en.length;++ei)er+=en[ei].length;let eo=ed.allocUnsafe(er),ea=0;for(ei=0;ei<en.length;++ei){let er=en[ei];if(tn(er,Uint8Array))ea+er.length>eo.length?(ed.isBuffer(er)||(er=ed.from(er)),er.copy(eo,ea)):Uint8Array.prototype.set.call(eo,er,ea);else if(ed.isBuffer(er))er.copy(eo,ea);else throw TypeError('"list" argument must be an Array of Buffers');ea+=er.length}return eo},ed.byteLength=eT,ed.prototype._isBuffer=!0,ed.prototype.swap16=function(){let en=this.length;if(en%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let er=0;er<en;er+=2)eB(this,er,er+1);return this},ed.prototype.swap32=function(){let en=this.length;if(en%4!=0)throw RangeError("Buffer size must be a multiple of 32-bits");for(let er=0;er<en;er+=4)eB(this,er,er+3),eB(this,er+1,er+2);return this},ed.prototype.swap64=function(){let en=this.length;if(en%8!=0)throw RangeError("Buffer size must be a multiple of 64-bits");for(let er=0;er<en;er+=8)eB(this,er,er+7),eB(this,er+1,er+6),eB(this,er+2,er+5),eB(this,er+3,er+4);return this},ed.prototype.toString=function(){let en=this.length;return 0===en?"":0==arguments.length?eF(this,0,en):eS.apply(this,arguments)},ed.prototype.toLocaleString=ed.prototype.toString,ed.prototype.equals=function(en){if(!ed.isBuffer(en))throw TypeError("Argument must be a Buffer");return this===en||0===ed.compare(this,en)},ed.prototype.inspect=function(){let en="",ei=er.h2;return en=this.toString("hex",0,ei).replace(/(.{2})/g,"$1 ").trim(),this.length>ei&&(en+=" ... "),"<Buffer "+en+">"},eu&&(ed.prototype[eu]=ed.prototype.inspect),ed.prototype.compare=function(en,er,ei,eo,ea){if(tn(en,Uint8Array)&&(en=ed.from(en,en.offset,en.byteLength)),!ed.isBuffer(en))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof en);if(void 0===er&&(er=0),void 0===ei&&(ei=en?en.length:0),void 0===eo&&(eo=0),void 0===ea&&(ea=this.length),er<0||ei>en.length||eo<0||ea>this.length)throw RangeError("out of range index");if(eo>=ea&&er>=ei)return 0;if(eo>=ea)return -1;if(er>=ei)return 1;if(er>>>=0,ei>>>=0,eo>>>=0,ea>>>=0,this===en)return 0;let es=ea-eo,eu=ei-er,ec=Math.min(es,eu),ef=this.slice(eo,ea),eA=en.slice(er,ei);for(let en=0;en<ec;++en)if(ef[en]!==eA[en]){es=ef[en],eu=eA[en];break}return es<eu?-1:eu<es?1:0},ed.prototype.includes=function(en,er,ei){return -1!==this.indexOf(en,er,ei)},ed.prototype.indexOf=function(en,er,ei){return ex(this,en,er,ei,!0)},ed.prototype.lastIndexOf=function(en,er,ei){return ex(this,en,er,ei,!1)},ed.prototype.write=function(en,er,ei,eo){if(void 0===er)eo="utf8",ei=this.length,er=0;else if(void 0===ei&&"string"==typeof er)eo=er,ei=this.length,er=0;else if(isFinite(er))er>>>=0,isFinite(ei)?(ei>>>=0,void 0===eo&&(eo="utf8")):(eo=ei,ei=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let ea=this.length-er;if((void 0===ei||ei>ea)&&(ei=ea),en.length>0&&(ei<0||er<0)||er>this.length)throw RangeError("Attempt to write outside buffer bounds");eo||(eo="utf8");let es=!1;for(;;)switch(eo){case"hex":return eD(this,en,er,ei);case"utf8":case"utf-8":return eP(this,en,er,ei);case"ascii":case"latin1":case"binary":return eO(this,en,er,ei);case"base64":return ek(this,en,er,ei);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return eQ(this,en,er,ei);default:if(es)throw TypeError("Unknown encoding: "+eo);eo=(""+eo).toLowerCase(),es=!0}},ed.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};let eN=4096;function eL(en){let er=en.length;if(er<=eN)return String.fromCharCode.apply(String,en);let ei="",eo=0;for(;eo<er;)ei+=String.fromCharCode.apply(String,en.slice(eo,eo+=eN));return ei}function eR(en,er,ei){let eo="";ei=Math.min(en.length,ei);for(let ea=er;ea<ei;++ea)eo+=String.fromCharCode(127&en[ea]);return eo}function eG(en,er,ei){let eo="";ei=Math.min(en.length,ei);for(let ea=er;ea<ei;++ea)eo+=String.fromCharCode(en[ea]);return eo}function eU(en,er,ei){let eo=en.length;(!er||er<0)&&(er=0),(!ei||ei<0||ei>eo)&&(ei=eo);let ea="";for(let eo=er;eo<ei;++eo)ea+=ti[en[eo]];return ea}function ej(en,er,ei){let eo=en.slice(er,ei),ea="";for(let en=0;en<eo.length-1;en+=2)ea+=String.fromCharCode(eo[en]+256*eo[en+1]);return ea}function eV(en,er,ei){if(en%1!=0||en<0)throw RangeError("offset is not uint");if(en+er>ei)throw RangeError("Trying to access beyond buffer length")}function eH(en,er,ei,eo,ea,es){if(!ed.isBuffer(en))throw TypeError('"buffer" argument must be a Buffer instance');if(er>ea||er<es)throw RangeError('"value" argument is out of bounds');if(ei+eo>en.length)throw RangeError("Index out of range")}function ez(en,er,ei,eo,ea){e0(er,eo,ea,en,ei,7);let es=Number(er&BigInt(4294967295));en[ei++]=es,es>>=8,en[ei++]=es,es>>=8,en[ei++]=es,es>>=8,en[ei++]=es;let eu=Number(er>>BigInt(32)&BigInt(4294967295));return en[ei++]=eu,eu>>=8,en[ei++]=eu,eu>>=8,en[ei++]=eu,eu>>=8,en[ei++]=eu,ei}function eZ(en,er,ei,eo,ea){e0(er,eo,ea,en,ei,7);let es=Number(er&BigInt(4294967295));en[ei+7]=es,es>>=8,en[ei+6]=es,es>>=8,en[ei+5]=es,es>>=8,en[ei+4]=es;let eu=Number(er>>BigInt(32)&BigInt(4294967295));return en[ei+3]=eu,eu>>=8,en[ei+2]=eu,eu>>=8,en[ei+1]=eu,eu>>=8,en[ei]=eu,ei+8}function eW(en,er,ei,eo,ea,es){if(ei+eo>en.length||ei<0)throw RangeError("Index out of range")}function eq(en,er,ei,eo,ea){return er=+er,ei>>>=0,ea||eW(en,er,ei,4,34028234663852886e22,-34028234663852886e22),es.write(en,er,ei,eo,23,4),ei+4}function e$(en,er,ei,eo,ea){return er=+er,ei>>>=0,ea||eW(en,er,ei,8,17976931348623157e292,-17976931348623157e292),es.write(en,er,ei,eo,52,8),ei+8}ed.prototype.slice=function(en,er){let ei=this.length;en=~~en,er=void 0===er?ei:~~er,en<0?(en+=ei)<0&&(en=0):en>ei&&(en=ei),er<0?(er+=ei)<0&&(er=0):er>ei&&(er=ei),er<en&&(er=en);let eo=this.subarray(en,er);return Object.setPrototypeOf(eo,ed.prototype),eo},ed.prototype.readUintLE=ed.prototype.readUIntLE=function(en,er,ei){en>>>=0,er>>>=0,ei||eV(en,er,this.length);let eo=this[en],ea=1,es=0;for(;++es<er&&(ea*=256);)eo+=this[en+es]*ea;return eo},ed.prototype.readUintBE=ed.prototype.readUIntBE=function(en,er,ei){en>>>=0,er>>>=0,ei||eV(en,er,this.length);let eo=this[en+--er],ea=1;for(;er>0&&(ea*=256);)eo+=this[en+--er]*ea;return eo},ed.prototype.readUint8=ed.prototype.readUInt8=function(en,er){return en>>>=0,er||eV(en,1,this.length),this[en]},ed.prototype.readUint16LE=ed.prototype.readUInt16LE=function(en,er){return en>>>=0,er||eV(en,2,this.length),this[en]|this[en+1]<<8},ed.prototype.readUint16BE=ed.prototype.readUInt16BE=function(en,er){return en>>>=0,er||eV(en,2,this.length),this[en]<<8|this[en+1]},ed.prototype.readUint32LE=ed.prototype.readUInt32LE=function(en,er){return en>>>=0,er||eV(en,4,this.length),(this[en]|this[en+1]<<8|this[en+2]<<16)+16777216*this[en+3]},ed.prototype.readUint32BE=ed.prototype.readUInt32BE=function(en,er){return en>>>=0,er||eV(en,4,this.length),16777216*this[en]+(this[en+1]<<16|this[en+2]<<8|this[en+3])},ed.prototype.readBigUInt64LE=ta(function(en){e1(en>>>=0,"offset");let er=this[en],ei=this[en+7];(void 0===er||void 0===ei)&&e2(en,this.length-8);let eo=er+256*this[++en]+65536*this[++en]+16777216*this[++en],ea=this[++en]+256*this[++en]+65536*this[++en]+16777216*ei;return BigInt(eo)+(BigInt(ea)<<BigInt(32))}),ed.prototype.readBigUInt64BE=ta(function(en){e1(en>>>=0,"offset");let er=this[en],ei=this[en+7];(void 0===er||void 0===ei)&&e2(en,this.length-8);let eo=16777216*er+65536*this[++en]+256*this[++en]+this[++en],ea=16777216*this[++en]+65536*this[++en]+256*this[++en]+ei;return(BigInt(eo)<<BigInt(32))+BigInt(ea)}),ed.prototype.readIntLE=function(en,er,ei){en>>>=0,er>>>=0,ei||eV(en,er,this.length);let eo=this[en],ea=1,es=0;for(;++es<er&&(ea*=256);)eo+=this[en+es]*ea;return eo>=(ea*=128)&&(eo-=Math.pow(2,8*er)),eo},ed.prototype.readIntBE=function(en,er,ei){en>>>=0,er>>>=0,ei||eV(en,er,this.length);let eo=er,ea=1,es=this[en+--eo];for(;eo>0&&(ea*=256);)es+=this[en+--eo]*ea;return es>=(ea*=128)&&(es-=Math.pow(2,8*er)),es},ed.prototype.readInt8=function(en,er){return(en>>>=0,er||eV(en,1,this.length),128&this[en])?-((255-this[en]+1)*1):this[en]},ed.prototype.readInt16LE=function(en,er){en>>>=0,er||eV(en,2,this.length);let ei=this[en]|this[en+1]<<8;return 32768&ei?4294901760|ei:ei},ed.prototype.readInt16BE=function(en,er){en>>>=0,er||eV(en,2,this.length);let ei=this[en+1]|this[en]<<8;return 32768&ei?4294901760|ei:ei},ed.prototype.readInt32LE=function(en,er){return en>>>=0,er||eV(en,4,this.length),this[en]|this[en+1]<<8|this[en+2]<<16|this[en+3]<<24},ed.prototype.readInt32BE=function(en,er){return en>>>=0,er||eV(en,4,this.length),this[en]<<24|this[en+1]<<16|this[en+2]<<8|this[en+3]},ed.prototype.readBigInt64LE=ta(function(en){e1(en>>>=0,"offset");let er=this[en],ei=this[en+7];(void 0===er||void 0===ei)&&e2(en,this.length-8);let eo=this[en+4]+256*this[en+5]+65536*this[en+6]+(ei<<24);return(BigInt(eo)<<BigInt(32))+BigInt(er+256*this[++en]+65536*this[++en]+16777216*this[++en])}),ed.prototype.readBigInt64BE=ta(function(en){e1(en>>>=0,"offset");let er=this[en],ei=this[en+7];(void 0===er||void 0===ei)&&e2(en,this.length-8);let eo=(er<<24)+65536*this[++en]+256*this[++en]+this[++en];return(BigInt(eo)<<BigInt(32))+BigInt(16777216*this[++en]+65536*this[++en]+256*this[++en]+ei)}),ed.prototype.readFloatLE=function(en,er){return en>>>=0,er||eV(en,4,this.length),es.read(this,en,!0,23,4)},ed.prototype.readFloatBE=function(en,er){return en>>>=0,er||eV(en,4,this.length),es.read(this,en,!1,23,4)},ed.prototype.readDoubleLE=function(en,er){return en>>>=0,er||eV(en,8,this.length),es.read(this,en,!0,52,8)},ed.prototype.readDoubleBE=function(en,er){return en>>>=0,er||eV(en,8,this.length),es.read(this,en,!1,52,8)},ed.prototype.writeUintLE=ed.prototype.writeUIntLE=function(en,er,ei,eo){if(en=+en,er>>>=0,ei>>>=0,!eo){let eo=Math.pow(2,8*ei)-1;eH(this,en,er,ei,eo,0)}let ea=1,es=0;for(this[er]=255&en;++es<ei&&(ea*=256);)this[er+es]=en/ea&255;return er+ei},ed.prototype.writeUintBE=ed.prototype.writeUIntBE=function(en,er,ei,eo){if(en=+en,er>>>=0,ei>>>=0,!eo){let eo=Math.pow(2,8*ei)-1;eH(this,en,er,ei,eo,0)}let ea=ei-1,es=1;for(this[er+ea]=255&en;--ea>=0&&(es*=256);)this[er+ea]=en/es&255;return er+ei},ed.prototype.writeUint8=ed.prototype.writeUInt8=function(en,er,ei){return en=+en,er>>>=0,ei||eH(this,en,er,1,255,0),this[er]=255&en,er+1},ed.prototype.writeUint16LE=ed.prototype.writeUInt16LE=function(en,er,ei){return en=+en,er>>>=0,ei||eH(this,en,er,2,65535,0),this[er]=255&en,this[er+1]=en>>>8,er+2},ed.prototype.writeUint16BE=ed.prototype.writeUInt16BE=function(en,er,ei){return en=+en,er>>>=0,ei||eH(this,en,er,2,65535,0),this[er]=en>>>8,this[er+1]=255&en,er+2},ed.prototype.writeUint32LE=ed.prototype.writeUInt32LE=function(en,er,ei){return en=+en,er>>>=0,ei||eH(this,en,er,4,4294967295,0),this[er+3]=en>>>24,this[er+2]=en>>>16,this[er+1]=en>>>8,this[er]=255&en,er+4},ed.prototype.writeUint32BE=ed.prototype.writeUInt32BE=function(en,er,ei){return en=+en,er>>>=0,ei||eH(this,en,er,4,4294967295,0),this[er]=en>>>24,this[er+1]=en>>>16,this[er+2]=en>>>8,this[er+3]=255&en,er+4},ed.prototype.writeBigUInt64LE=ta(function(en,er=0){return ez(this,en,er,BigInt(0),BigInt("0xffffffffffffffff"))}),ed.prototype.writeBigUInt64BE=ta(function(en,er=0){return eZ(this,en,er,BigInt(0),BigInt("0xffffffffffffffff"))}),ed.prototype.writeIntLE=function(en,er,ei,eo){if(en=+en,er>>>=0,!eo){let eo=Math.pow(2,8*ei-1);eH(this,en,er,ei,eo-1,-eo)}let ea=0,es=1,eu=0;for(this[er]=255&en;++ea<ei&&(es*=256);)en<0&&0===eu&&0!==this[er+ea-1]&&(eu=1),this[er+ea]=(en/es>>0)-eu&255;return er+ei},ed.prototype.writeIntBE=function(en,er,ei,eo){if(en=+en,er>>>=0,!eo){let eo=Math.pow(2,8*ei-1);eH(this,en,er,ei,eo-1,-eo)}let ea=ei-1,es=1,eu=0;for(this[er+ea]=255&en;--ea>=0&&(es*=256);)en<0&&0===eu&&0!==this[er+ea+1]&&(eu=1),this[er+ea]=(en/es>>0)-eu&255;return er+ei},ed.prototype.writeInt8=function(en,er,ei){return en=+en,er>>>=0,ei||eH(this,en,er,1,127,-128),en<0&&(en=255+en+1),this[er]=255&en,er+1},ed.prototype.writeInt16LE=function(en,er,ei){return en=+en,er>>>=0,ei||eH(this,en,er,2,32767,-32768),this[er]=255&en,this[er+1]=en>>>8,er+2},ed.prototype.writeInt16BE=function(en,er,ei){return en=+en,er>>>=0,ei||eH(this,en,er,2,32767,-32768),this[er]=en>>>8,this[er+1]=255&en,er+2},ed.prototype.writeInt32LE=function(en,er,ei){return en=+en,er>>>=0,ei||eH(this,en,er,4,2147483647,-2147483648),this[er]=255&en,this[er+1]=en>>>8,this[er+2]=en>>>16,this[er+3]=en>>>24,er+4},ed.prototype.writeInt32BE=function(en,er,ei){return en=+en,er>>>=0,ei||eH(this,en,er,4,2147483647,-2147483648),en<0&&(en=4294967295+en+1),this[er]=en>>>24,this[er+1]=en>>>16,this[er+2]=en>>>8,this[er+3]=255&en,er+4},ed.prototype.writeBigInt64LE=ta(function(en,er=0){return ez(this,en,er,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),ed.prototype.writeBigInt64BE=ta(function(en,er=0){return eZ(this,en,er,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),ed.prototype.writeFloatLE=function(en,er,ei){return eq(this,en,er,!0,ei)},ed.prototype.writeFloatBE=function(en,er,ei){return eq(this,en,er,!1,ei)},ed.prototype.writeDoubleLE=function(en,er,ei){return e$(this,en,er,!0,ei)},ed.prototype.writeDoubleBE=function(en,er,ei){return e$(this,en,er,!1,ei)},ed.prototype.copy=function(en,er,ei,eo){if(!ed.isBuffer(en))throw TypeError("argument should be a Buffer");if(ei||(ei=0),eo||0===eo||(eo=this.length),er>=en.length&&(er=en.length),er||(er=0),eo>0&&eo<ei&&(eo=ei),eo===ei||0===en.length||0===this.length)return 0;if(er<0)throw RangeError("targetStart out of bounds");if(ei<0||ei>=this.length)throw RangeError("Index out of range");if(eo<0)throw RangeError("sourceEnd out of bounds");eo>this.length&&(eo=this.length),en.length-er<eo-ei&&(eo=en.length-er+ei);let ea=eo-ei;return this===en&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(er,ei,eo):Uint8Array.prototype.set.call(en,this.subarray(ei,eo),er),ea},ed.prototype.fill=function(en,er,ei,eo){let ea;if("string"==typeof en){if("string"==typeof er?(eo=er,er=0,ei=this.length):"string"==typeof ei&&(eo=ei,ei=this.length),void 0!==eo&&"string"!=typeof eo)throw TypeError("encoding must be a string");if("string"==typeof eo&&!ed.isEncoding(eo))throw TypeError("Unknown encoding: "+eo);if(1===en.length){let er=en.charCodeAt(0);("utf8"===eo&&er<128||"latin1"===eo)&&(en=er)}}else"number"==typeof en?en&=255:"boolean"==typeof en&&(en=Number(en));if(er<0||this.length<er||this.length<ei)throw RangeError("Out of range index");if(ei<=er)return this;if(er>>>=0,ei=void 0===ei?this.length:ei>>>0,en||(en=0),"number"==typeof en)for(ea=er;ea<ei;++ea)this[ea]=en;else{let es=ed.isBuffer(en)?en:ed.from(en,eo),eu=es.length;if(0===eu)throw TypeError('The value "'+en+'" is invalid for argument "value"');for(ea=0;ea<ei-er;++ea)this[ea+er]=es[ea%eu]}return this};let eK={};function eY(en,er,ei){eK[en]=class extends ei{constructor(){super(),Object.defineProperty(this,"message",{value:er.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${en}]`,this.stack,delete this.name}get code(){return en}set code(en){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:en,writable:!0})}toString(){return`${this.name} [${en}]: ${this.message}`}}}function eX(en){let er="",ei=en.length,eo="-"===en[0]?1:0;for(;ei>=eo+4;ei-=3)er=`_${en.slice(ei-3,ei)}${er}`;return`${en.slice(0,ei)}${er}`}function eJ(en,er,ei){e1(er,"offset"),(void 0===en[er]||void 0===en[er+ei])&&e2(er,en.length-(ei+1))}function e0(en,er,ei,eo,ea,es){if(en>ei||en<er){let eo;let ea="bigint"==typeof er?"n":"";throw eo=es>3?0===er||er===BigInt(0)?`>= 0${ea} and < 2${ea} ** ${(es+1)*8}${ea}`:`>= -(2${ea} ** ${(es+1)*8-1}${ea}) and < 2 ** ${(es+1)*8-1}${ea}`:`>= ${er}${ea} and <= ${ei}${ea}`,new eK.ERR_OUT_OF_RANGE("value",eo,en)}eJ(eo,ea,es)}function e1(en,er){if("number"!=typeof en)throw new eK.ERR_INVALID_ARG_TYPE(er,"number",en)}function e2(en,er,ei){if(Math.floor(en)!==en)throw e1(en,ei),new eK.ERR_OUT_OF_RANGE(ei||"offset","an integer",en);if(er<0)throw new eK.ERR_BUFFER_OUT_OF_BOUNDS;throw new eK.ERR_OUT_OF_RANGE(ei||"offset",`>= ${ei?1:0} and <= ${er}`,en)}eY("ERR_BUFFER_OUT_OF_BOUNDS",function(en){return en?`${en} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),eY("ERR_INVALID_ARG_TYPE",function(en,er){return`The "${en}" argument must be of type number. Received type ${typeof er}`},TypeError),eY("ERR_OUT_OF_RANGE",function(en,er,ei){let eo=`The value of "${en}" is out of range.`,ea=ei;return Number.isInteger(ei)&&Math.abs(ei)>4294967296?ea=eX(String(ei)):"bigint"==typeof ei&&(ea=String(ei),(ei>BigInt(2)**BigInt(32)||ei<-(BigInt(2)**BigInt(32)))&&(ea=eX(ea)),ea+="n"),eo+=` It must be ${er}. Received ${ea}`},RangeError);let e3=/[^+/0-9A-Za-z-_]/g;function e4(en){if((en=(en=en.split("=")[0]).trim().replace(e3,"")).length<2)return"";for(;en.length%4!=0;)en+="=";return en}function e6(en,er){let ei;er=er||1/0;let eo=en.length,ea=null,es=[];for(let eu=0;eu<eo;++eu){if((ei=en.charCodeAt(eu))>55295&&ei<57344){if(!ea){if(ei>56319||eu+1===eo){(er-=3)>-1&&es.push(239,191,189);continue}ea=ei;continue}if(ei<56320){(er-=3)>-1&&es.push(239,191,189),ea=ei;continue}ei=(ea-55296<<10|ei-56320)+65536}else ea&&(er-=3)>-1&&es.push(239,191,189);if(ea=null,ei<128){if((er-=1)<0)break;es.push(ei)}else if(ei<2048){if((er-=2)<0)break;es.push(ei>>6|192,63&ei|128)}else if(ei<65536){if((er-=3)<0)break;es.push(ei>>12|224,ei>>6&63|128,63&ei|128)}else if(ei<1114112){if((er-=4)<0)break;es.push(ei>>18|240,ei>>12&63|128,ei>>6&63|128,63&ei|128)}else throw Error("Invalid code point")}return es}function e8(en){let er=[];for(let ei=0;ei<en.length;++ei)er.push(255&en.charCodeAt(ei));return er}function e5(en,er){let ei,eo;let ea=[];for(let es=0;es<en.length&&!((er-=2)<0);++es)eo=(ei=en.charCodeAt(es))>>8,ea.push(ei%256),ea.push(eo);return ea}function e7(en){return ea.toByteArray(e4(en))}function e9(en,er,ei,eo){let ea;for(ea=0;ea<eo&&!(ea+ei>=er.length)&&!(ea>=en.length);++ea)er[ea+ei]=en[ea];return ea}function tn(en,er){return en instanceof er||null!=en&&null!=en.constructor&&null!=en.constructor.name&&en.constructor.name===er.name}function tr(en){return en!=en}let ti=function(){let en="0123456789abcdef",er=Array(256);for(let ei=0;ei<16;++ei){let eo=16*ei;for(let ea=0;ea<16;++ea)er[eo+ea]=en[ei]+en[ea]}return er}();function ta(en){return"undefined"==typeof BigInt?ts:en}function ts(){throw Error("BigInt not supported")}},645:(en,er)=>{/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */er.read=function(en,er,ei,eo,ea){var es,eu,ec=8*ea-eo-1,ef=(1<<ec)-1,eA=ef>>1,ed=-7,eh=ei?ea-1:0,ep=ei?-1:1,eg=en[er+eh];for(eh+=ep,es=eg&(1<<-ed)-1,eg>>=-ed,ed+=ec;ed>0;es=256*es+en[er+eh],eh+=ep,ed-=8);for(eu=es&(1<<-ed)-1,es>>=-ed,ed+=eo;ed>0;eu=256*eu+en[er+eh],eh+=ep,ed-=8);if(0===es)es=1-eA;else{if(es===ef)return eu?NaN:(eg?-1:1)*(1/0);eu+=Math.pow(2,eo),es-=eA}return(eg?-1:1)*eu*Math.pow(2,es-eo)},er.write=function(en,er,ei,eo,ea,es){var eu,ec,ef,eA=8*es-ea-1,ed=(1<<eA)-1,eh=ed>>1,ep=23===ea?5960464477539062e-23:0,eg=eo?0:es-1,eb=eo?1:-1,em=er<0||0===er&&1/er<0?1:0;for(isNaN(er=Math.abs(er))||er===1/0?(ec=isNaN(er)?1:0,eu=ed):(eu=Math.floor(Math.log(er)/Math.LN2),er*(ef=Math.pow(2,-eu))<1&&(eu--,ef*=2),eu+eh>=1?er+=ep/ef:er+=ep*Math.pow(2,1-eh),er*ef>=2&&(eu++,ef/=2),eu+eh>=ed?(ec=0,eu=ed):eu+eh>=1?(ec=(er*ef-1)*Math.pow(2,ea),eu+=eh):(ec=er*Math.pow(2,eh-1)*Math.pow(2,ea),eu=0));ea>=8;en[ei+eg]=255&ec,eg+=eb,ec/=256,ea-=8);for(eu=eu<<ea|ec,eA+=ea;eA>0;en[ei+eg]=255&eu,eg+=eb,eu/=256,eA-=8);en[ei+eg-eb]|=128*em}},2437:(en,er,ei)=>{!/*!mobile-detect v1.4.5 2021-03-13*//*!@license Copyright 2013, Heinrich Goebl, License: MIT, see https://github.com/hgoebl/mobile-detect.js*/function(en,er){en(function(){"use strict";var en={};en.mobileDetectRules={phones:{iPhone:"\\biPhone\\b|\\biPod\\b",BlackBerry:"BlackBerry|\\bBB10\\b|rim[0-9]+|\\b(BBA100|BBB100|BBD100|BBE100|BBF100|STH100)\\b-[0-9]+",Pixel:"; \\bPixel\\b",HTC:"HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m|Android [0-9.]+; Pixel",Nexus:"Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 5X|Nexus 6",Dell:"Dell[;]? (Streak|Aero|Venue|Venue Pro|Flash|Smoke|Mini 3iX)|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b",Motorola:"Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b|XT1068|XT1092|XT1052",Samsung:"\\bSamsung\\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F|SM-G610F|SM-G981B|SM-G892A|SM-A530F",LG:"\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323|M257)|LM-G710",Sony:"SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533|SOV34|601SO|F8332",Asus:"Asus.*Galaxy|PadFone.*Mobile",Xiaomi:"^(?!.*\\bx11\\b).*xiaomi.*$|POCOPHONE F1|MI 8|Redmi Note 9S|Redmi Note 5A Prime|N2G47H|M2001J2G|M2001J2I|M1805E10A|M2004J11G|M1902F1G|M2002J9G|M2004J19G|M2003J6A1G",NokiaLumia:"Lumia [0-9]{3,4}",Micromax:"Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b",Palm:"PalmSource|Palm",Vertu:"Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature",Pantech:"PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790",Fly:"IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250",Wiko:"KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM",iMobile:"i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)",SimValley:"\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b",Wolfgang:"AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q",Alcatel:"Alcatel",Nintendo:"Nintendo (3DS|Switch)",Amoi:"Amoi",INQ:"INQ",OnePlus:"ONEPLUS",GenericPhone:"Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser"},tablets:{iPad:"iPad|iPad.*Mobile",NexusTablet:"Android.*Nexus[\\s]+(7|9|10)",GoogleTablet:"Android.*Pixel C",SamsungTablet:"SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835|SM-T830|SM-T837V|SM-T720|SM-T510|SM-T387V|SM-P610|SM-T290|SM-T515|SM-T590|SM-T595|SM-T725|SM-T817P|SM-P585N0|SM-T395|SM-T295|SM-T865|SM-P610N|SM-P615|SM-T970|SM-T380|SM-T5950|SM-T905|SM-T231|SM-T500|SM-T860",Kindle:"Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\b|Android.*Silk/[0-9.]+ like Chrome/[0-9.]+ (?!Mobile)",SurfaceTablet:"Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)",HPTablet:"HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10",AsusTablet:"^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\\bP027\\b|\\bP024\\b|\\bP00C\\b",BlackBerryTablet:"PlayBook|RIM Tablet",HTCtablet:"HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410",MotorolaTablet:"xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617",NookTablet:"Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2",AcerTablet:"Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20\\b|\\bA3-A30|A3-A40",ToshibaTablet:"Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO",LGTablet:"\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b",FujitsuTablet:"Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b",PrestigioTablet:"PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002",LenovoTablet:"Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)|TB-X103F|TB-X304X|TB-X304F|TB-X304L|TB-X505F|TB-X505L|TB-X505X|TB-X605F|TB-X605L|TB-8703F|TB-8703X|TB-8703N|TB-8704N|TB-8704F|TB-8704X|TB-8704V|TB-7304F|TB-7304I|TB-7304X|Tab2A7-10F|Tab2A7-20F|TB2-X30L|YT3-X50L|YT3-X50F|YT3-X50M|YT-X705F|YT-X703F|YT-X703L|YT-X705L|YT-X705X|TB2-X30F|TB2-X30L|TB2-X30M|A2107A-F|A2107A-H|TB3-730F|TB3-730M|TB3-730X|TB-7504F|TB-7504X|TB-X704F|TB-X104F|TB3-X70F|TB-X705F|TB-8504F|TB3-X70L|TB3-710F|TB-X704L",DellTablet:"Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7",YarvikTablet:"Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b",MedionTablet:"Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB",ArnovaTablet:"97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2",IntensoTablet:"INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004",IRUTablet:"M702pro",MegafonTablet:"MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b",EbodaTablet:"E-Boda (Supreme|Impresspeed|Izzycomm|Essential)",AllViewTablet:"Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)",ArchosTablet:"\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b",AinolTablet:"NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark",NokiaLumiaTablet:"Lumia 2520",SonyTablet:"Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP641|SGP612|SOT31|SGP771|SGP611|SGP612|SGP712",PhilipsTablet:"\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b",CubeTablet:"Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT",CobyTablet:"MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010",MIDTablet:"M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10",MSITablet:"MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b",SMiTTablet:"Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)",RockChipTablet:"Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A",FlyTablet:"IQ310|Fly Vision",bqTablet:"Android.*(bq)?.*\\b(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))\\b|Maxwell.*Lite|Maxwell.*Plus",HuaweiTablet:"MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09|AGS-L09|CMR-AL19",NecTablet:"\\bN-06D|\\bN-08D",PantechTablet:"Pantech.*P4100",BronchoTablet:"Broncho.*(N701|N708|N802|a710)",VersusTablet:"TOUCHPAD.*[78910]|\\bTOUCHTAB\\b",ZyncTablet:"z1000|Z99 2G|z930|z990|z909|Z919|z900",PositivoTablet:"TB07STA|TB10STA|TB07FTA|TB10FTA",NabiTablet:"Android.*\\bNabi",KoboTablet:"Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build",DanewTablet:"DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b",TexetTablet:"NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE",PlaystationTablet:"Playstation.*(Portable|Vita)",TrekstorTablet:"ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab",PyleAudioTablet:"\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b",AdvanTablet:"Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ",DanyTechTablet:"Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1",GalapadTablet:"Android [0-9.]+; [a-z-]+; \\bG1\\b",MicromaxTablet:"Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b",KarbonnTablet:"Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b",AllFineTablet:"Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide",PROSCANTablet:"\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b",YONESTablet:"BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026",ChangJiaTablet:"TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503",GUTablet:"TX-A1301|TX-M9002|Q702|kf026",PointOfViewTablet:"TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10",OvermaxTablet:"OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)|Qualcore 1027",HCLTablet:"HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync",DPSTablet:"DPS Dream 9|DPS Dual 7",VistureTablet:"V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10",CrestaTablet:"CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989",MediatekTablet:"\\bMT8125|MT8389|MT8135|MT8377\\b",ConcordeTablet:"Concorde([ ]+)?Tab|ConCorde ReadMan",GoCleverTablet:"GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042",ModecomTablet:"FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003",VoninoTablet:"\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b",ECSTablet:"V07OT2|TM105A|S10OT1|TR10CS1",StorexTablet:"eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab",VodafoneTablet:"SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497|VFD 1400",EssentielBTablet:"Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2",RossMoorTablet:"RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711",iMobileTablet:"i-mobile i-note",TolinoTablet:"tolino tab [0-9.]+|tolino shine",AudioSonicTablet:"\\bC-22Q|T7-QC|T-17B|T-17P\\b",AMPETablet:"Android.* A78 ",SkkTablet:"Android.* (SKYPAD|PHOENIX|CYCLOPS)",TecnoTablet:"TECNO P9|TECNO DP8D",JXDTablet:"Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b",iJoyTablet:"Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)",FX2Tablet:"FX2 PAD7|FX2 PAD10",XoroTablet:"KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151",ViewsonicTablet:"ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a",VerizonTablet:"QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1",OdysTablet:"LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10",CaptivaTablet:"CAPTIVA PAD",IconbitTablet:"NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S",TeclastTablet:"T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi",OndaTablet:"\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+|V10 \\b4G\\b",JaytechTablet:"TPC-PA762",BlaupunktTablet:"Endeavour 800NG|Endeavour 1010",DigmaTablet:"\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b",EvolioTablet:"ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b",LavaTablet:"QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b",AocTablet:"MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712",MpmanTablet:"MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010",CelkonTablet:"CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b",WolderTablet:"miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b",MediacomTablet:"M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA",MiTablet:"\\bMI PAD\\b|\\bHM NOTE 1W\\b",NibiruTablet:"Nibiru M1|Nibiru Jupiter One",NexoTablet:"NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI",LeaderTablet:"TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100",UbislateTablet:"UbiSlate[\\s]?7C",PocketBookTablet:"Pocketbook",KocasoTablet:"\\b(TB-1207)\\b",HisenseTablet:"\\b(F5281|E2371)\\b",Hudl:"Hudl HT7S3|Hudl 2",TelstraTablet:"T-Hub2",GenericTablet:"Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b|\\bQTAQZ3\\b|WVT101|TM1088|KT107"},oss:{AndroidOS:"Android",BlackBerryOS:"blackberry|\\bBB10\\b|rim tablet os",PalmOS:"PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino",SymbianOS:"Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b",WindowsMobileOS:"Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Windows Mobile|Windows Phone [0-9.]+|WCE;",WindowsPhoneOS:"Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;",iOS:"\\biPhone.*Mobile|\\biPod|\\biPad|AppleCoreMedia",iPadOS:"CPU OS 13",SailfishOS:"Sailfish",MeeGoOS:"MeeGo",MaemoOS:"Maemo",JavaOS:"J2ME/|\\bMIDP\\b|\\bCLDC\\b",webOS:"webOS|hpwOS",badaOS:"\\bBada\\b",BREWOS:"BREW"},uas:{Chrome:"\\bCrMo\\b|CriOS|Android.*Chrome/[.0-9]* (Mobile)?",Dolfin:"\\bDolfin\\b",Opera:"Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR/[0-9.]+$|Coast/[0-9.]+",Skyfire:"Skyfire",Edge:"\\bEdgiOS\\b|Mobile Safari/[.0-9]* Edge",IE:"IEMobile|MSIEMobile",Firefox:"fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS",Bolt:"bolt",TeaShark:"teashark",Blazer:"Blazer",Safari:"Version((?!\\bEdgiOS\\b).)*Mobile.*Safari|Safari.*Mobile|MobileSafari",WeChat:"\\bMicroMessenger\\b",UCBrowser:"UC.*Browser|UCWEB",baiduboxapp:"baiduboxapp",baidubrowser:"baidubrowser",DiigoBrowser:"DiigoBrowser",Mercury:"\\bMercury\\b",ObigoBrowser:"Obigo",NetFront:"NF-Browser",GenericBrowser:"NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger",PaleMoon:"Android.*PaleMoon|Mobile.*PaleMoon"},props:{Mobile:"Mobile/[VER]",Build:"Build/[VER]",Version:"Version/[VER]",VendorID:"VendorID/[VER]",iPad:"iPad.*CPU[a-z ]+[VER]",iPhone:"iPhone.*CPU[a-z ]+[VER]",iPod:"iPod.*CPU[a-z ]+[VER]",Kindle:"Kindle/[VER]",Chrome:["Chrome/[VER]","CriOS/[VER]","CrMo/[VER]"],Coast:["Coast/[VER]"],Dolfin:"Dolfin/[VER]",Firefox:["Firefox/[VER]","FxiOS/[VER]"],Fennec:"Fennec/[VER]",Edge:"Edge/[VER]",IE:["IEMobile/[VER];","IEMobile [VER]","MSIE [VER];","Trident/[0-9.]+;.*rv:[VER]"],NetFront:"NetFront/[VER]",NokiaBrowser:"NokiaBrowser/[VER]",Opera:[" OPR/[VER]","Opera Mini/[VER]","Version/[VER]"],"Opera Mini":"Opera Mini/[VER]","Opera Mobi":"Version/[VER]",UCBrowser:["UCWEB[VER]","UC.*Browser/[VER]"],MQQBrowser:"MQQBrowser/[VER]",MicroMessenger:"MicroMessenger/[VER]",baiduboxapp:"baiduboxapp/[VER]",baidubrowser:"baidubrowser/[VER]",SamsungBrowser:"SamsungBrowser/[VER]",Iron:"Iron/[VER]",Safari:["Version/[VER]","Safari/[VER]"],Skyfire:"Skyfire/[VER]",Tizen:"Tizen/[VER]",Webkit:"webkit[ /][VER]",PaleMoon:"PaleMoon/[VER]",SailfishBrowser:"SailfishBrowser/[VER]",Gecko:"Gecko/[VER]",Trident:"Trident/[VER]",Presto:"Presto/[VER]",Goanna:"Goanna/[VER]",iOS:" \\bi?OS\\b [VER][ ;]{1}",Android:"Android [VER]",Sailfish:"Sailfish [VER]",BlackBerry:["BlackBerry[\\w]+/[VER]","BlackBerry.*Version/[VER]","Version/[VER]"],BREW:"BREW [VER]",Java:"Java/[VER]","Windows Phone OS":["Windows Phone OS [VER]","Windows Phone [VER]"],"Windows Phone":"Windows Phone [VER]","Windows CE":"Windows CE/[VER]","Windows NT":"Windows NT [VER]",Symbian:["SymbianOS/[VER]","Symbian/[VER]"],webOS:["webOS/[VER]","hpwOS/[VER];"]},utils:{Bot:"Googlebot|facebookexternalhit|Google-AMPHTML|s~amp-validator|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom|contentkingapp|AspiegelBot",MobileBot:"Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker/M1A1-R2D2",DesktopMode:"WPDesktop",TV:"SonyDTV|HbbTV",WebKit:"(webkit)[ /]([\\w.]+)",Console:"\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|Nintendo Switch|PLAYSTATION|Xbox)\\b",Watch:"SM-V700"}},en.detectMobileBrowsers={fullPattern:/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,shortPattern:/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,tabletPattern:/android|ipad|playbook|silk/i};var ei,eo=Object.prototype.hasOwnProperty;function ea(en,er){return null!=en&&null!=er&&en.toLowerCase()===er.toLowerCase()}function es(en,er){var ei,eo,ea=en.length;if(!ea||!er)return!1;for(eo=0,ei=er.toLowerCase();eo<ea;++eo)if(ei===en[eo].toLowerCase())return!0;return!1}function eu(en){for(var er in en)eo.call(en,er)&&(en[er]=RegExp(en[er],"i"))}function ec(en){return(en||"").substr(0,500)}function ef(en,er){this.ua=ec(en),this._cache={},this.maxPhoneWidth=er||600}return en.FALLBACK_PHONE="UnknownPhone",en.FALLBACK_TABLET="UnknownTablet",en.FALLBACK_MOBILE="UnknownMobile",ei="isArray"in Array?Array.isArray:function(en){return"[object Array]"===Object.prototype.toString.call(en)},!function(){var er,ea,es,ec,ef,eA,ed=en.mobileDetectRules;for(er in ed.props)if(eo.call(ed.props,er)){for(ei(ea=ed.props[er])||(ea=[ea]),ef=ea.length,ec=0;ec<ef;++ec)(eA=(es=ea[ec]).indexOf("[VER]"))>=0&&(es=es.substring(0,eA)+"([\\w._\\+]+)"+es.substring(eA+5)),ea[ec]=RegExp(es,"i");ed.props[er]=ea}eu(ed.oss),eu(ed.phones),eu(ed.tablets),eu(ed.uas),eu(ed.utils),ed.oss0={WindowsPhoneOS:ed.oss.WindowsPhoneOS,WindowsMobileOS:ed.oss.WindowsMobileOS}}(),en.findMatch=function(en,er){for(var ei in en)if(eo.call(en,ei)&&en[ei].test(er))return ei;return null},en.findMatches=function(en,er){var ei=[];for(var ea in en)eo.call(en,ea)&&en[ea].test(er)&&ei.push(ea);return ei},en.getVersionStr=function(er,ei){var ea,es,eu,ec,ef=en.mobileDetectRules.props;if(eo.call(ef,er)){for(es=0,eu=(ea=ef[er]).length;es<eu;++es)if(null!==(ec=ea[es].exec(ei)))return ec[1]}return null},en.getVersion=function(er,ei){var eo=en.getVersionStr(er,ei);return eo?en.prepareVersionNo(eo):NaN},en.prepareVersionNo=function(en){var er;return 1===(er=en.split(/[a-z._ \/\-]/i)).length&&(en=er[0]),er.length>1&&(en=er[0]+".",er.shift(),en+=er.join("")),Number(en)},en.isMobileFallback=function(er){return en.detectMobileBrowsers.fullPattern.test(er)||en.detectMobileBrowsers.shortPattern.test(er.substr(0,4))},en.isTabletFallback=function(er){return en.detectMobileBrowsers.tabletPattern.test(er)},en.prepareDetectionCache=function(ei,eo,ea){var es,eu,ec;if(er===ei.mobile){if(eu=en.findMatch(en.mobileDetectRules.tablets,eo)){ei.mobile=ei.tablet=eu,ei.phone=null;return}if(es=en.findMatch(en.mobileDetectRules.phones,eo)){ei.mobile=ei.phone=es,ei.tablet=null;return}en.isMobileFallback(eo)?(ec=ef.isPhoneSized(ea),er===ec?(ei.mobile=en.FALLBACK_MOBILE,ei.tablet=ei.phone=null):ec?(ei.mobile=ei.phone=en.FALLBACK_PHONE,ei.tablet=null):(ei.mobile=ei.tablet=en.FALLBACK_TABLET,ei.phone=null)):en.isTabletFallback(eo)?(ei.mobile=ei.tablet=en.FALLBACK_TABLET,ei.phone=null):ei.mobile=ei.tablet=ei.phone=null}},en.mobileGrade=function(en){var er=null!==en.mobile();return en.os("iOS")&&en.version("iPad")>=4.3||en.os("iOS")&&en.version("iPhone")>=3.1||en.os("iOS")&&en.version("iPod")>=3.1||en.version("Android")>2.1&&en.is("Webkit")||en.version("Windows Phone OS")>=7||en.is("BlackBerry")&&en.version("BlackBerry")>=6||en.match("Playbook.*Tablet")||en.version("webOS")>=1.4&&en.match("Palm|Pre|Pixi")||en.match("hp.*TouchPad")||en.is("Firefox")&&en.version("Firefox")>=12||en.is("Chrome")&&en.is("AndroidOS")&&en.version("Android")>=4||en.is("Skyfire")&&en.version("Skyfire")>=4.1&&en.is("AndroidOS")&&en.version("Android")>=2.3||en.is("Opera")&&en.version("Opera Mobi")>11&&en.is("AndroidOS")||en.is("MeeGoOS")||en.is("Tizen")||en.is("Dolfin")&&en.version("Bada")>=2||(en.is("UC Browser")||en.is("Dolfin"))&&en.version("Android")>=2.3||en.match("Kindle Fire")||en.is("Kindle")&&en.version("Kindle")>=3||en.is("AndroidOS")&&en.is("NookTablet")||en.version("Chrome")>=11&&!er||en.version("Safari")>=5&&!er||en.version("Firefox")>=4&&!er||en.version("MSIE")>=7&&!er||en.version("Opera")>=10&&!er?"A":en.os("iOS")&&4.3>en.version("iPad")||en.os("iOS")&&3.1>en.version("iPhone")||en.os("iOS")&&3.1>en.version("iPod")||en.is("Blackberry")&&en.version("BlackBerry")>=5&&6>en.version("BlackBerry")||en.version("Opera Mini")>=5&&6.5>=en.version("Opera Mini")&&(en.version("Android")>=2.3||en.is("iOS"))||en.match("NokiaN8|NokiaC7|N97.*Series60|Symbian/3")||en.version("Opera Mobi")>=11&&en.is("SymbianOS")?"B":(5>en.version("BlackBerry")||en.match("MSIEMobile|Windows CE.*Mobile")||en.version("Windows Mobile"),"C")},en.detectOS=function(er){return en.findMatch(en.mobileDetectRules.oss0,er)||en.findMatch(en.mobileDetectRules.oss,er)},en.getDeviceSmallerSide=function(){return window.screen.width<window.screen.height?window.screen.width:window.screen.height},ef.prototype={constructor:ef,mobile:function(){return en.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.mobile},phone:function(){return en.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.phone},tablet:function(){return en.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.tablet},userAgent:function(){return er===this._cache.userAgent&&(this._cache.userAgent=en.findMatch(en.mobileDetectRules.uas,this.ua)),this._cache.userAgent},userAgents:function(){return er===this._cache.userAgents&&(this._cache.userAgents=en.findMatches(en.mobileDetectRules.uas,this.ua)),this._cache.userAgents},os:function(){return er===this._cache.os&&(this._cache.os=en.detectOS(this.ua)),this._cache.os},version:function(er){return en.getVersion(er,this.ua)},versionStr:function(er){return en.getVersionStr(er,this.ua)},is:function(er){return es(this.userAgents(),er)||ea(er,this.os())||ea(er,this.phone())||ea(er,this.tablet())||es(en.findMatches(en.mobileDetectRules.utils,this.ua),er)},match:function(en){return en instanceof RegExp||(en=RegExp(en,"i")),en.test(this.ua)},isPhoneSized:function(en){return ef.isPhoneSized(en||this.maxPhoneWidth)},mobileGrade:function(){return er===this._cache.grade&&(this._cache.grade=en.mobileGrade(this)),this._cache.grade}},"undefined"!=typeof window&&window.screen?ef.isPhoneSized=function(ei){return ei<0?er:en.getDeviceSmallerSide()<=ei}:ef.isPhoneSized=function(){},ef._impl=en,ef.version="1.4.5 2021-03-13",ef})}(function(er){return en.exports?function(er){en.exports=er()}:ei.amdD}())},8412:(en,er,ei)=>{ei.r(er),ei.d(er,{InferenceSession:()=>ev,Tensor:()=>em,env:()=>ef,registerBackend:()=>es});let eo={},ea=[],es=(en,er,ei)=>{if(er&&"function"==typeof er.init&&"function"==typeof er.createSessionHandler){let es=eo[en];if(void 0===es)eo[en]={backend:er,priority:ei};else if(es.priority>ei)return;else if(es.priority===ei&&es.backend!==er)throw Error(`cannot register backend "${en}" using priority ${ei}`);if(ei>=0){let er=ea.indexOf(en);-1!==er&&ea.splice(er,1);for(let er=0;er<ea.length;er++)if(eo[ea[er]].priority<=ei){ea.splice(er,0,en);return}ea.push(en)}return}throw TypeError("not a valid backend")},eu=async en=>{let er=0===en.length?ea:en,ei=[];for(let en of er){let er=eo[en];if(er){if(er.initialized)return er.backend;if(er.aborted)continue;let eo=!!er.initPromise;try{return eo||(er.initPromise=er.backend.init()),await er.initPromise,er.initialized=!0,er.backend}catch(ea){eo||ei.push({name:en,err:ea}),er.aborted=!0}finally{delete er.initPromise}}}throw Error(`no available backend found. ERR: ${ei.map(en=>`[${en.name}] ${en.err}`).join(", ")}`)};class ec{constructor(){this.wasm={},this.webgl={},this.logLevelInternal="warning"}set logLevel(en){if(void 0!==en){if("string"!=typeof en||-1===["verbose","info","warning","error","fatal"].indexOf(en))throw Error(`Unsupported logging level: ${en}`);this.logLevelInternal=en}}get logLevel(){return this.logLevelInternal}}let ef=new ec,eA="undefined"!=typeof BigInt64Array&&"function"==typeof BigInt64Array.from,ed="undefined"!=typeof BigUint64Array&&"function"==typeof BigUint64Array.from,eh=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array]]),ep=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]);eA&&(eh.set("int64",BigInt64Array),ep.set(BigInt64Array,"int64")),ed&&(eh.set("uint64",BigUint64Array),ep.set(BigUint64Array,"uint64"));let eg=en=>{let er=1;for(let ei=0;ei<en.length;ei++){let eo=en[ei];if("number"!=typeof eo||!Number.isSafeInteger(eo))throw TypeError(`dims[${ei}] must be an integer, got: ${eo}`);if(eo<0)throw RangeError(`dims[${ei}] must be a non-negative integer, got: ${eo}`);er*=eo}return er};class eb{constructor(en,er,ei){let eo,ea,es;if("string"==typeof en){if(eo=en,es=ei,"string"===en){if(!Array.isArray(er))throw TypeError("A string tensor's data must be a string array.");ea=er}else{let ei=eh.get(en);if(void 0===ei)throw TypeError(`Unsupported tensor type: ${en}.`);if(Array.isArray(er))ea=ei.from(er);else if(er instanceof ei)ea=er;else throw TypeError(`A ${eo} tensor's data must be type of ${ei}`)}}else if(es=er,Array.isArray(en)){if(0===en.length)throw TypeError("Tensor type cannot be inferred from an empty array.");let er=typeof en[0];if("string"===er)eo="string",ea=en;else if("boolean"===er)eo="bool",ea=Uint8Array.from(en);else throw TypeError(`Invalid element type of data array: ${er}.`)}else{let er=ep.get(en.constructor);if(void 0===er)throw TypeError(`Unsupported type for tensor data: ${en.constructor}.`);eo=er,ea=en}if(void 0===es)es=[ea.length];else if(!Array.isArray(es))throw TypeError("A tensor's dims must be a number array");let eu=eg(es);if(eu!==ea.length)throw Error(`Tensor's size(${eu}) does not match data length(${ea.length}).`);this.dims=es,this.type=eo,this.data=ea,this.size=eu}static bufferToTensor(en,er){let ei,eo;if(void 0===en)throw Error("Image buffer must be defined");if(void 0===er.height||void 0===er.width)throw Error("Image height and width must be defined");let{height:ea,width:es}=er,eu=er.norm;ei=void 0===eu||void 0===eu.mean?255:eu.mean,eo=void 0===eu||void 0===eu.bias?0:eu.bias;let ec=void 0!==er.bitmapFormat?er.bitmapFormat:"RGBA",ef=void 0!==er.tensorFormat&&void 0!==er.tensorFormat?er.tensorFormat:"RGB",eA=ea*es,ed=new Float32Array("RGBA"===ef?4*eA:3*eA),eh=4,ep=0,eg=1,em=2,ey=3,ev=0,eI=eA,ew=2*eA,eE=-1;"RGB"===ec&&(eh=3,ep=0,eg=1,em=2,ey=-1),"RGBA"===ef?eE=3*eA:"RBG"===ef?(ev=0,ew=eA,eI=2*eA):"BGR"===ef&&(ew=0,eI=eA,ev=2*eA);for(let er=0;er<eA;er++,ep+=eh,em+=eh,eg+=eh,ey+=eh)ed[ev++]=(en[ep]+eo)/ei,ed[eI++]=(en[eg]+eo)/ei,ed[ew++]=(en[em]+eo)/ei,-1!==eE&&-1!==ey&&(ed[eE++]=(en[ey]+eo)/ei);let eC="RGBA"===ef?new eb("float32",ed,[1,4,ea,es]):new eb("float32",ed,[1,3,ea,es]);return eC}static async fromImage(en,er){let ei;let eo="undefined"!=typeof HTMLImageElement&&en instanceof HTMLImageElement,ea="undefined"!=typeof ImageData&&en instanceof ImageData,es="undefined"!=typeof ImageBitmap&&en instanceof ImageBitmap,eu="undefined"!=typeof String&&(en instanceof String||"string"==typeof en),ec={};if(eo){let eo=document.createElement("canvas"),ea=eo.getContext("2d");if(null!=ea){let es=en.naturalHeight,eu=en.naturalWidth;if(void 0!==er&&void 0!==er.resizedHeight&&void 0!==er.resizedWidth&&(es=er.resizedHeight,eu=er.resizedWidth),void 0!==er){if(ec=er,void 0!==er.tensorFormat)throw Error("Image input config format must be RGBA for HTMLImageElement");if(ec.tensorFormat="RGBA",void 0!==er.height&&er.height!==es)throw Error("Image input config height doesn't match HTMLImageElement height");if(ec.height=es,void 0!==er.width&&er.width!==eu)throw Error("Image input config width doesn't match HTMLImageElement width");ec.width=eu}else ec.tensorFormat="RGBA",ec.height=es,ec.width=eu;eo.width=eu,eo.height=es,ea.drawImage(en,0,0,eu,es),ei=ea.getImageData(0,0,eu,es).data}else throw Error("Can not access image data")}else if(ea){let eo,ea;let es="RGBA";if(void 0!==er&&void 0!==er.resizedWidth&&void 0!==er.resizedHeight?(eo=er.resizedHeight,ea=er.resizedWidth):(eo=en.height,ea=en.width),void 0!==er){if(ec=er,void 0!==er.bitmapFormat&&er.bitmapFormat!==es)throw Error("Image input config format must be RGBA for ImageData");ec.bitmapFormat="RGBA"}else ec.bitmapFormat="RGBA";if(ec.height=eo,ec.width=ea,void 0!==er){let er=document.createElement("canvas");er.width=ea,er.height=eo;let es=er.getContext("2d");if(null!=es)es.putImageData(en,0,0),ei=es.getImageData(0,0,ea,eo).data;else throw Error("Can not access image data")}else ei=en.data}else if(es){if(void 0===er)throw Error("Please provide image config with format for Imagebitmap");if(void 0!==er.bitmapFormat)throw Error("Image input config format must be defined for ImageBitmap");let eo=document.createElement("canvas").getContext("2d");if(null!=eo){let ea=en.height,es=en.width;if(eo.drawImage(en,0,0,es,ea),ei=eo.getImageData(0,0,es,ea).data,void 0!==er){if(void 0!==er.height&&er.height!==ea)throw Error("Image input config height doesn't match ImageBitmap height");if(ec.height=ea,void 0!==er.width&&er.width!==es)throw Error("Image input config width doesn't match ImageBitmap width");ec.width=es}else ec.height=ea,ec.width=es;return eb.bufferToTensor(ei,ec)}throw Error("Can not access image data")}else if(eu)return new Promise((ei,eo)=>{let ea=document.createElement("canvas"),es=ea.getContext("2d");if(!en||!es)return eo();let eu=new Image;eu.crossOrigin="Anonymous",eu.src=en,eu.onload=()=>{ea.width=eu.width,ea.height=eu.height,es.drawImage(eu,0,0,ea.width,ea.height);let en=es.getImageData(0,0,ea.width,ea.height);if(void 0!==er){if(void 0!==er.height&&er.height!==ea.height)throw Error("Image input config height doesn't match ImageBitmap height");if(ec.height=ea.height,void 0!==er.width&&er.width!==ea.width)throw Error("Image input config width doesn't match ImageBitmap width");ec.width=ea.width}else ec.height=ea.height,ec.width=ea.width;ei(eb.bufferToTensor(en.data,ec))}});else throw Error("Input data provided is not supported - aborted tensor creation");if(void 0!==ei)return eb.bufferToTensor(ei,ec);throw Error("Input data provided is not supported - aborted tensor creation")}toImageData(en){var er,ei;let eo;let ea=document.createElement("canvas").getContext("2d");if(null!=ea){let es=this.dims[3],eu=this.dims[2],ec=this.dims[1],ef=void 0!==en&&void 0!==en.format?en.format:"RGB",eA=void 0!==en&&(null===(er=en.norm)||void 0===er?void 0:er.mean)!==void 0?en.norm.mean:255,ed=void 0!==en&&(null===(ei=en.norm)||void 0===ei?void 0:ei.bias)!==void 0?en.norm.bias:0,eh=eu*es;if(void 0!==en){if(void 0!==en.height&&en.height!==eu)throw Error("Image output config height doesn't match tensor height");if(void 0!==en.width&&en.width!==es)throw Error("Image output config width doesn't match tensor width");if(void 0!==en.format&&4===ec&&"RGBA"!==en.format||3===ec&&"RGB"!==en.format&&"BGR"!==en.format)throw Error("Tensor format doesn't match input tensor dims")}let ep=4,eg=0,eb=1,em=2,ey=3,ev=0,eI=eh,ew=2*eh,eE=-1;"RGBA"===ef?(ev=0,eI=eh,ew=2*eh,eE=3*eh):"RGB"===ef?(ev=0,eI=eh,ew=2*eh):"RBG"===ef&&(ev=0,ew=eh,eI=2*eh),eo=ea.createImageData(es,eu);for(let en=0;en<eu*es;eg+=ep,eb+=ep,em+=ep,ey+=ep,en++)eo.data[eg]=(this.data[ev++]-ed)*eA,eo.data[eb]=(this.data[eI++]-ed)*eA,eo.data[em]=(this.data[ew++]-ed)*eA,eo.data[ey]=-1===eE?255:(this.data[eE++]-ed)*eA}else throw Error("Can not access image data");return eo}reshape(en){return new eb(this.type,this.data,en)}}let em=eb;class ey{constructor(en){this.handler=en}async run(en,er,ei){let eo={},ea={};if("object"!=typeof en||null===en||en instanceof em||Array.isArray(en))throw TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let es=!0;if("object"==typeof er){if(null===er)throw TypeError("Unexpected argument[1]: cannot be null.");if(er instanceof em)throw TypeError("'fetches' cannot be a Tensor");if(Array.isArray(er)){if(0===er.length)throw TypeError("'fetches' cannot be an empty array.");for(let en of(es=!1,er)){if("string"!=typeof en)throw TypeError("'fetches' must be a string array or an object.");if(-1===this.outputNames.indexOf(en))throw RangeError(`'fetches' contains invalid output name: ${en}.`);eo[en]=null}if("object"==typeof ei&&null!==ei)ea=ei;else if(void 0!==ei)throw TypeError("'options' must be an object.")}else{let en=!1,eu=Object.getOwnPropertyNames(er);for(let ei of this.outputNames)if(-1!==eu.indexOf(ei)){let ea=er[ei];(null===ea||ea instanceof em)&&(en=!0,es=!1,eo[ei]=ea)}if(en){if("object"==typeof ei&&null!==ei)ea=ei;else if(void 0!==ei)throw TypeError("'options' must be an object.")}else ea=er}}else if(void 0!==er)throw TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let er of this.inputNames)if(void 0===en[er])throw Error(`input '${er}' is missing in 'feeds'.`);if(es)for(let en of this.outputNames)eo[en]=null;let eu=await this.handler.run(en,eo,ea),ec={};for(let en in eu)Object.hasOwnProperty.call(eu,en)&&(ec[en]=new em(eu[en].type,eu[en].data,eu[en].dims));return ec}static async create(en,er,ei,eo){let ea;let es={};if("string"==typeof en){if(ea=en,"object"==typeof er&&null!==er)es=er;else if(void 0!==er)throw TypeError("'options' must be an object.")}else if(en instanceof Uint8Array){if(ea=en,"object"==typeof er&&null!==er)es=er;else if(void 0!==er)throw TypeError("'options' must be an object.")}else if(en instanceof ArrayBuffer||"undefined"!=typeof SharedArrayBuffer&&en instanceof SharedArrayBuffer){let eu=en,ec=0,ef=en.byteLength;if("object"==typeof er&&null!==er)es=er;else if("number"==typeof er){if(!Number.isSafeInteger(ec=er))throw RangeError("'byteOffset' must be an integer.");if(ec<0||ec>=eu.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${eu.byteLength}).`);if(ef=en.byteLength-ec,"number"==typeof ei){if(!Number.isSafeInteger(ef=ei))throw RangeError("'byteLength' must be an integer.");if(ef<=0||ec+ef>eu.byteLength)throw RangeError(`'byteLength' is out of range (0, ${eu.byteLength-ec}].`);if("object"==typeof eo&&null!==eo)es=eo;else if(void 0!==eo)throw TypeError("'options' must be an object.")}else if(void 0!==ei)throw TypeError("'byteLength' must be a number.")}else if(void 0!==er)throw TypeError("'options' must be an object.");ea=new Uint8Array(eu,ec,ef)}else throw TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let ec=es.executionProviders||[],ef=ec.map(en=>"string"==typeof en?en:en.name),eA=await eu(ef),ed=await eA.createSessionHandler(ea,es);return new ey(ed)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}let ev=ey},8736:(module,__unused_webpack_exports,__webpack_require__)=>{var process=__webpack_require__(4155);/*!
|
|
7
|
+
* ONNX Runtime Web v1.14.0
|
|
8
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
+
* Licensed under the MIT License.
|
|
10
|
+
*/!function(en,er){module.exports=er(__webpack_require__(8412))}(self,__WEBPACK_EXTERNAL_MODULE__1670__=>(()=>{var __webpack_modules__={3474:(en,er,ei)=>{var eo,ea=(eo=(eo="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(en){function er(){return eM.buffer!=eN&&e$(eM.buffer),eL}function ea(){return eM.buffer!=eN&&e$(eM.buffer),eR}function es(){return eM.buffer!=eN&&e$(eM.buffer),eG}function eu(){return eM.buffer!=eN&&e$(eM.buffer),eU}function ec(){return eM.buffer!=eN&&e$(eM.buffer),ej}en=en||{},ef||(ef=void 0!==en?en:{}),ef.ready=new Promise(function(en,er){eA=en,ed=er});var ef,eA,ed,eh,ep,eg,eb,em,ey,ev=Object.assign({},ef),eI="./this.program",ew=(en,er)=>{throw er},eE="object"==typeof window,eC="function"==typeof importScripts,eT="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,eS=ef.ENVIRONMENT_IS_PTHREAD||!1,eB="";function ex(en){return ef.locateFile?ef.locateFile(en,eB):eB+en}if(eT){let en;eB=eC?ei(908).dirname(eB)+"/":"//",ey=()=>{em||(eb=ei(1384),em=ei(908))},eh=function(en,er){return ey(),en=em.normalize(en),eb.readFileSync(en,er?void 0:"utf8")},eg=en=>((en=eh(en,!0)).buffer||(en=new Uint8Array(en)),en),ep=(en,er,ei)=>{ey(),en=em.normalize(en),eb.readFile(en,function(en,eo){en?ei(en):er(eo.buffer)})},1<process.argv.length&&(eI=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(en){if(!(en instanceof ti))throw en}),process.on("unhandledRejection",function(en){throw en}),ew=(en,er)=>{if(e2())throw process.exitCode=en,er;er instanceof ti||ek("exiting due to exception: "+er),process.exit(en)},ef.inspect=function(){return"[Emscripten Module object]"};try{en=ei(9925)}catch(en){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),en}ei.g.Worker=en.Worker}else(eE||eC)&&(eC?eB=self.location.href:"undefined"!=typeof document&&document.currentScript&&(eB=document.currentScript.src),eo&&(eB=eo),eB=0!==eB.indexOf("blob:")?eB.substr(0,eB.replace(/[?#].*/,"").lastIndexOf("/")+1):"",eT||(eh=en=>{var er=new XMLHttpRequest;return er.open("GET",en,!1),er.send(null),er.responseText},eC&&(eg=en=>{var er=new XMLHttpRequest;return er.open("GET",en,!1),er.responseType="arraybuffer",er.send(null),new Uint8Array(er.response)}),ep=(en,er,ei)=>{var eo=new XMLHttpRequest;eo.open("GET",en,!0),eo.responseType="arraybuffer",eo.onload=()=>{200==eo.status||0==eo.status&&eo.response?er(eo.response):ei()},eo.onerror=ei,eo.send(null)}));eT&&"undefined"==typeof performance&&(ei.g.performance=ei(6953).performance);var e_=console.log.bind(console),eD=console.warn.bind(console);eT&&(ey(),e_=en=>eb.writeSync(1,en+"\n"),eD=en=>eb.writeSync(2,en+"\n"));var eP,eO=ef.print||e_,ek=ef.printErr||eD;Object.assign(ef,ev),ev=null,ef.thisProgram&&(eI=ef.thisProgram),ef.quit&&(ew=ef.quit),ef.wasmBinary&&(eP=ef.wasmBinary);var eQ=ef.noExitRuntime||!1;"object"!=typeof WebAssembly&&e7("no native wasm support detected");var eM,eF,eN,eL,eR,eG,eU,ej,eV=!1,eH="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function ez(en,er,ei){var eo=(er>>>=0)+ei;for(ei=er;en[ei]&&!(ei>=eo);)++ei;if(16<ei-er&&en.buffer&&eH)return eH.decode(en.buffer instanceof SharedArrayBuffer?en.slice(er,ei):en.subarray(er,ei));for(eo="";er<ei;){var ea=en[er++];if(128&ea){var es=63&en[er++];if(192==(224&ea))eo+=String.fromCharCode((31&ea)<<6|es);else{var eu=63&en[er++];65536>(ea=224==(240&ea)?(15&ea)<<12|es<<6|eu:(7&ea)<<18|es<<12|eu<<6|63&en[er++])?eo+=String.fromCharCode(ea):(ea-=65536,eo+=String.fromCharCode(55296|ea>>10,56320|1023&ea))}}else eo+=String.fromCharCode(ea)}return eo}function eZ(en,er){return(en>>>=0)?ez(ea(),en,er):""}function eW(en,er,ei,eo){if(!(0<eo))return 0;var ea=ei>>>=0;eo=ei+eo-1;for(var es=0;es<en.length;++es){var eu=en.charCodeAt(es);if(55296<=eu&&57343>=eu&&(eu=65536+((1023&eu)<<10)|1023&en.charCodeAt(++es)),127>=eu){if(ei>=eo)break;er[ei++>>>0]=eu}else{if(2047>=eu){if(ei+1>=eo)break;er[ei++>>>0]=192|eu>>6}else{if(65535>=eu){if(ei+2>=eo)break;er[ei++>>>0]=224|eu>>12}else{if(ei+3>=eo)break;er[ei++>>>0]=240|eu>>18,er[ei++>>>0]=128|eu>>12&63}er[ei++>>>0]=128|eu>>6&63}er[ei++>>>0]=128|63&eu}}return er[ei>>>0]=0,ei-ea}function eq(en){for(var er=0,ei=0;ei<en.length;++ei){var eo=en.charCodeAt(ei);127>=eo?er++:2047>=eo?er+=2:55296<=eo&&57343>=eo?(er+=4,++ei):er+=3}return er}function e$(en){eN=en,ef.HEAP8=eL=new Int8Array(en),ef.HEAP16=new Int16Array(en),ef.HEAP32=eG=new Int32Array(en),ef.HEAPU8=eR=new Uint8Array(en),ef.HEAPU16=new Uint16Array(en),ef.HEAPU32=eU=new Uint32Array(en),ef.HEAPF32=new Float32Array(en),ef.HEAPF64=ej=new Float64Array(en)}eS&&(eN=ef.buffer);var eK=ef.INITIAL_MEMORY||16777216;if(eS)eM=ef.wasmMemory,eN=ef.buffer;else if(ef.wasmMemory)eM=ef.wasmMemory;else if(!((eM=new WebAssembly.Memory({initial:eK/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw ek("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),eT&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"),Error("bad memory");eM&&(eN=eM.buffer),eK=eN.byteLength,e$(eN);var eY,eX=[],eJ=[],e0=[],e1=[];function e2(){return eQ||!1}function e3(){var en=ef.preRun.shift();eX.unshift(en)}var e4,e6=0,e8=null,e5=null;function e7(en){throw eS?postMessage({cmd:"onAbort",arg:en}):ef.onAbort&&ef.onAbort(en),ek(en="Aborted("+en+")"),eV=!0,ed(en=new WebAssembly.RuntimeError(en+". Build with -sASSERTIONS for more info.")),en}function e9(){return e4.startsWith("data:application/octet-stream;base64,")}function tn(){var en=e4;try{if(en==e4&&eP)return new Uint8Array(eP);if(eg)return eg(en);throw"both async and sync fetching of the wasm failed"}catch(en){e7(en)}}e4="ort-wasm-threaded.wasm",e9()||(e4=ex(e4));var tr={};function ti(en){this.name="ExitStatus",this.message="Program terminated with exit("+en+")",this.status=en}function ta(en){(en=tc.Vb[en])||e7(),tc.mc(en)}function ts(en){var er=tc.Cc();if(!er)return 6;tc.ac.push(er),tc.Vb[en.Ub]=er,er.Ub=en.Ub;var ei={cmd:"run",start_routine:en.Ic,arg:en.zc,pthread_ptr:en.Ub};return er.$b=()=>{ei.time=performance.now(),er.postMessage(ei,en.Nc)},er.loaded&&(er.$b(),delete er.$b),0}function tu(en){if(eS)return tH(1,1,en);e2()||(tc.oc(),ef.onExit&&ef.onExit(en),eV=!0),ew(en,new ti(en))}function tl(en,er){if(!er&&eS)throw td(en),"unwind";e2()||eS||(na(),tf(e0),no(0),t0[1].length&&t1(1,10),t0[2].length&&t1(2,10),tc.oc()),tu(en)}var tc={Yb:[],ac:[],qc:[],Vb:{},fc:function(){eS&&tc.Ec()},Pc:function(){},Ec:function(){tc.receiveObjectTransfer=tc.Gc,tc.threadInitTLS=tc.pc,tc.setExitStatus=tc.nc,eQ=!1},nc:function(){},oc:function(){for(var en of Object.values(tc.Vb))tc.mc(en);for(en of tc.Yb)en.terminate();tc.Yb=[]},mc:function(en){var er=en.Ub;delete tc.Vb[er],tc.Yb.push(en),tc.ac.splice(tc.ac.indexOf(en),1),en.Ub=0,nf(er)},Gc:function(){},pc:function(){tc.qc.forEach(en=>en())},Fc:function(en,er){en.onmessage=ei=>{var eo=(ei=ei.data).cmd;if(en.Ub&&(tc.Bc=en.Ub),ei.targetThread&&ei.targetThread!=nn()){var ea=tc.Vb[ei.Qc];ea?ea.postMessage(ei,ei.transferList):ek('Internal error! Worker sent a message "'+eo+'" to target pthread '+ei.targetThread+", but that thread no longer exists!")}else"processProxyingQueue"===eo?tL(ei.queue):"spawnThread"===eo?ts(ei):"cleanupThread"===eo?ta(ei.thread):"killThread"===eo?(ei=ei.thread,eo=tc.Vb[ei],delete tc.Vb[ei],eo.terminate(),nf(ei),tc.ac.splice(tc.ac.indexOf(eo),1),eo.Ub=0):"cancelThread"===eo?tc.Vb[ei.thread].postMessage({cmd:"cancel"}):"loaded"===eo?(en.loaded=!0,er&&er(en),en.$b&&(en.$b(),delete en.$b)):"print"===eo?eO("Thread "+ei.threadId+": "+ei.text):"printErr"===eo?ek("Thread "+ei.threadId+": "+ei.text):"alert"===eo?alert("Thread "+ei.threadId+": "+ei.text):"setimmediate"===ei.target?en.postMessage(ei):"onAbort"===eo?ef.onAbort&&ef.onAbort(ei.arg):eo&&ek("worker sent an unknown command "+eo);tc.Bc=void 0},en.onerror=en=>{throw ek("worker sent an error! "+en.filename+":"+en.lineno+": "+en.message),en},eT&&(en.on("message",function(er){en.onmessage({data:er})}),en.on("error",function(er){en.onerror(er)}),en.on("detachedExit",function(){})),en.postMessage({cmd:"load",urlOrBlob:ef.mainScriptUrlOrBlob||eo,wasmMemory:eM,wasmModule:eF})},yc:function(){var en=ex("ort-wasm-threaded.worker.js");tc.Yb.push(new Worker(en))},Cc:function(){return 0==tc.Yb.length&&(tc.yc(),tc.Fc(tc.Yb[0])),tc.Yb.pop()}};function tf(en){for(;0<en.length;)en.shift()(ef)}function tA(en){var er=np();return en=en(),ng(er),en}function td(en){if(eS)return tH(2,0,en);try{tl(en)}catch(en){en instanceof ti||"unwind"==en||ew(1,en)}}ef.PThread=tc,ef.establishStackSpace=function(){var en=nn(),er=es()[en+44>>2>>>0];nh(er,er-(en=es()[en+48>>2>>>0])),ng(er)};var th=[];function tp(en){var er=th[en];return er||(en>=th.length&&(th.length=en+1),th[en]=er=eY.get(en)),er}ef.invokeEntryPoint=function(en,er){en=tp(en)(er),e2()?tc.nc(en):nA(en)};var tg,tb,tm=[],ty=0,tv=0;function tI(en){this.Zb=en,this.Sb=en-24,this.xc=function(en){eu()[this.Sb+4>>2>>>0]=en},this.bc=function(){return eu()[this.Sb+4>>2>>>0]},this.wc=function(en){eu()[this.Sb+8>>2>>>0]=en},this.Dc=function(){return eu()[this.Sb+8>>2>>>0]},this.rc=function(){es()[this.Sb>>2>>>0]=0},this.hc=function(en){en=en?1:0,er()[this.Sb+12>>0>>>0]=en},this.uc=function(){return 0!=er()[this.Sb+12>>0>>>0]},this.ic=function(en){en=en?1:0,er()[this.Sb+13>>0>>>0]=en},this.kc=function(){return 0!=er()[this.Sb+13>>0>>>0]},this.fc=function(en,er){this.cc(0),this.xc(en),this.wc(er),this.rc(),this.hc(!1),this.ic(!1)},this.sc=function(){Atomics.add(es(),this.Sb>>2,1)},this.Hc=function(){return 1===Atomics.sub(es(),this.Sb>>2,1)},this.cc=function(en){eu()[this.Sb+16>>2>>>0]=en},this.tc=function(){return eu()[this.Sb+16>>2>>>0]},this.vc=function(){if(ny(this.bc()))return eu()[this.Zb>>2>>>0];var en=this.tc();return 0!==en?en:this.Zb}}function tw(en){return ni(new tI(en).Sb)}function tE(en,er,ei,eo){return eS?tH(3,1,en,er,ei,eo):tC(en,er,ei,eo)}function tC(en,er,ei,eo){if("undefined"==typeof SharedArrayBuffer)return ek("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var ea=[];return eS&&0===ea.length?tE(en,er,ei,eo):(en={Ic:ei,Ub:en,zc:eo,Nc:ea},eS?(en.Oc="spawnThread",postMessage(en,ea),0):ts(en))}function tT(en,er,ei){return eS?tH(4,1,en,er,ei):0}function tS(en,er){if(eS)return tH(5,1,en,er)}function tB(en,er){if(eS)return tH(6,1,en,er)}function tx(en,er,ei){if(eS)return tH(7,1,en,er,ei)}function t_(en,er,ei){return eS?tH(8,1,en,er,ei):0}function tD(en,er){if(eS)return tH(9,1,en,er)}function tP(en,er,ei){if(eS)return tH(10,1,en,er,ei)}function tO(en,er,ei,eo){if(eS)return tH(11,1,en,er,ei,eo)}function tk(en,er,ei,eo){if(eS)return tH(12,1,en,er,ei,eo)}function tQ(en,er,ei,eo){if(eS)return tH(13,1,en,er,ei,eo)}function tM(en){if(eS)return tH(14,1,en)}function tF(en,er){if(eS)return tH(15,1,en,er)}function tN(en,er,ei){if(eS)return tH(16,1,en,er,ei)}function tL(en){Atomics.store(es(),en>>2,1),nn()&&nc(en),Atomics.compareExchange(es(),en>>2,1,0)}function tR(en){return eu()[en>>>2]+4294967296*es()[en+4>>>2]}function tG(en,er,ei,eo,ea,es){return eS?tH(17,1,en,er,ei,eo,ea,es):-52}function tU(en,er,ei,eo,ea,es){if(eS)return tH(18,1,en,er,ei,eo,ea,es)}function tj(en){var ei=eq(en)+1,eo=nr(ei);return eo&&eW(en,er(),eo,ei),eo}function tV(en,er,ei){function eo(en){return(en=en.toTimeString().match(/\(([A-Za-z ]+)\)$/))?en[1]:"GMT"}if(eS)return tH(19,1,en,er,ei);var ea=(new Date).getFullYear(),ec=new Date(ea,0,1),ef=new Date(ea,6,1);ea=ec.getTimezoneOffset();var eA=ef.getTimezoneOffset(),ed=Math.max(ea,eA);es()[en>>2>>>0]=60*ed,es()[er>>2>>>0]=Number(ea!=eA),en=eo(ec),er=eo(ef),en=tj(en),er=tj(er),eA<ea?(eu()[ei>>2>>>0]=en,eu()[ei+4>>2>>>0]=er):(eu()[ei>>2>>>0]=er,eu()[ei+4>>2>>>0]=en)}function tH(en,er){var ei=arguments.length-2,eo=arguments;return tA(()=>{for(var ea=nb(8*ei),es=ea>>3,eu=0;eu<ei;eu++){var ef=eo[2+eu];ec()[es+eu>>>0]=ef}return nl(en,ei,ea,er)})}ef.executeNotifiedProxyingQueue=tL,tb=eT?()=>{var en=process.hrtime();return 1e3*en[0]+en[1]/1e6}:eS?()=>performance.now()-ef.__performance_now_clock_drift:()=>performance.now();var tz,tZ=[],tW={};function tq(){if(!tz){var en,er={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:eI||"./this.program"};for(en in tW)void 0===tW[en]?delete er[en]:er[en]=tW[en];var ei=[];for(en in er)ei.push(en+"="+er[en]);tz=ei}return tz}function t$(en,ei){if(eS)return tH(20,1,en,ei);var eo=0;return tq().forEach(function(ea,es){var ec=ei+eo;for(es=eu()[en+4*es>>2>>>0]=ec,ec=0;ec<ea.length;++ec)er()[es++>>0>>>0]=ea.charCodeAt(ec);er()[es>>0>>>0]=0,eo+=ea.length+1}),0}function tK(en,er){if(eS)return tH(21,1,en,er);var ei=tq();eu()[en>>2>>>0]=ei.length;var eo=0;return ei.forEach(function(en){eo+=en.length+1}),eu()[er>>2>>>0]=eo,0}function tY(en){return eS?tH(22,1,en):52}function tX(en,er,ei,eo){return eS?tH(23,1,en,er,ei,eo):52}function tJ(en,er,ei,eo,ea){return eS?tH(24,1,en,er,ei,eo,ea):70}var t0=[null,[],[]];function t1(en,er){var ei=t0[en];0===er||10===er?((1===en?eO:ek)(ez(ei,0)),ei.length=0):ei.push(er)}function t2(en,er,ei,eo){if(eS)return tH(25,1,en,er,ei,eo);for(var es=0,ec=0;ec<ei;ec++){var ef=eu()[er>>2>>>0],eA=eu()[er+4>>2>>>0];er+=8;for(var ed=0;ed<eA;ed++)t1(en,ea()[ef+ed>>>0]);es+=eA}return eu()[eo>>2>>>0]=es,0}var t3=0;function t4(en){return 0==en%4&&(0!=en%100||0==en%400)}var t6=[31,29,31,30,31,30,31,31,30,31,30,31],t8=[31,28,31,30,31,30,31,31,30,31,30,31];function t5(en,ei,eo,ea){function eu(en,er,ei){for(en="number"==typeof en?en.toString():en||"";en.length<er;)en=ei[0]+en;return en}function ec(en,er){return eu(en,er,"0")}function ef(en,er){var ei;function eo(en){return 0>en?-1:0<en?1:0}return 0===(ei=eo(en.getFullYear()-er.getFullYear()))&&0===(ei=eo(en.getMonth()-er.getMonth()))&&(ei=eo(en.getDate()-er.getDate())),ei}function eA(en){switch(en.getDay()){case 0:return new Date(en.getFullYear()-1,11,29);case 1:return en;case 2:return new Date(en.getFullYear(),0,3);case 3:return new Date(en.getFullYear(),0,2);case 4:return new Date(en.getFullYear(),0,1);case 5:return new Date(en.getFullYear()-1,11,31);case 6:return new Date(en.getFullYear()-1,11,30)}}function ed(en){var er=en.Wb;for(en=new Date(new Date(en.Xb+1900,0,1).getTime());0<er;){var ei=en.getMonth(),eo=(t4(en.getFullYear())?t6:t8)[ei];if(!(er>eo-en.getDate())){en.setDate(en.getDate()+er);break}er-=eo-en.getDate()+1,en.setDate(1),11>ei?en.setMonth(ei+1):(en.setMonth(0),en.setFullYear(en.getFullYear()+1))}return ei=new Date(en.getFullYear()+1,0,4),er=eA(new Date(en.getFullYear(),0,4)),ei=eA(ei),0>=ef(er,en)?0>=ef(ei,en)?en.getFullYear()+1:en.getFullYear():en.getFullYear()-1}var eh=es()[ea+40>>2>>>0];for(var ep in ea={Lc:es()[ea>>2>>>0],Kc:es()[ea+4>>2>>>0],dc:es()[ea+8>>2>>>0],jc:es()[ea+12>>2>>>0],ec:es()[ea+16>>2>>>0],Xb:es()[ea+20>>2>>>0],Tb:es()[ea+24>>2>>>0],Wb:es()[ea+28>>2>>>0],Rc:es()[ea+32>>2>>>0],Jc:es()[ea+36>>2>>>0],Mc:eh?eZ(eh):""},eo=eZ(eo),eh={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})eo=eo.replace(RegExp(ep,"g"),eh[ep]);var eg="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),eb="January February March April May June July August September October November December".split(" ");for(ep in eh={"%a":function(en){return eg[en.Tb].substring(0,3)},"%A":function(en){return eg[en.Tb]},"%b":function(en){return eb[en.ec].substring(0,3)},"%B":function(en){return eb[en.ec]},"%C":function(en){return ec((en.Xb+1900)/100|0,2)},"%d":function(en){return ec(en.jc,2)},"%e":function(en){return eu(en.jc,2," ")},"%g":function(en){return ed(en).toString().substring(2)},"%G":function(en){return ed(en)},"%H":function(en){return ec(en.dc,2)},"%I":function(en){return 0==(en=en.dc)?en=12:12<en&&(en-=12),ec(en,2)},"%j":function(en){for(var er=0,ei=0;ei<=en.ec-1;er+=(t4(en.Xb+1900)?t6:t8)[ei++]);return ec(en.jc+er,3)},"%m":function(en){return ec(en.ec+1,2)},"%M":function(en){return ec(en.Kc,2)},"%n":function(){return"\n"},"%p":function(en){return 0<=en.dc&&12>en.dc?"AM":"PM"},"%S":function(en){return ec(en.Lc,2)},"%t":function(){return" "},"%u":function(en){return en.Tb||7},"%U":function(en){return ec(Math.floor((en.Wb+7-en.Tb)/7),2)},"%V":function(en){var er=Math.floor((en.Wb+7-(en.Tb+6)%7)/7);if(2>=(en.Tb+371-en.Wb-2)%7&&er++,er)53==er&&(4==(ei=(en.Tb+371-en.Wb)%7)||3==ei&&t4(en.Xb)||(er=1));else{er=52;var ei=(en.Tb+7-en.Wb-1)%7;(4==ei||5==ei&&t4(en.Xb%400-1))&&er++}return ec(er,2)},"%w":function(en){return en.Tb},"%W":function(en){return ec(Math.floor((en.Wb+7-(en.Tb+6)%7)/7),2)},"%y":function(en){return(en.Xb+1900).toString().substring(2)},"%Y":function(en){return en.Xb+1900},"%z":function(en){var er=0<=(en=en.Jc);return(er?"+":"-")+String("0000"+((en=Math.abs(en)/60)/60*100+en%60)).slice(-4)},"%Z":function(en){return en.Mc},"%%":function(){return"%"}},eo=eo.replace(/%%/g,"\x00\x00"),eh)eo.includes(ep)&&(eo=eo.replace(RegExp(ep,"g"),eh[ep](ea)));return(ep=function(en){var er=Array(eq(en)+1);return eW(en,er,0,er.length),er}(eo=eo.replace(/\0\0/g,"%"))).length>ei?0:(function(en,ei){er().set(en,ei>>>0)}(ep,en),ep.length-1)}tc.fc();var t7=[null,tu,td,tE,tT,tS,tB,tx,t_,tD,tP,tO,tk,tQ,tM,tF,tN,tG,tU,tV,t$,tK,tY,tX,tJ,t2],t9={b:function(en){return nr(en+24)+24},n:function(en){return(en=new tI(en)).uc()||(en.hc(!0),ty--),en.ic(!1),tm.push(en),en.sc(),en.vc()},ma:function(en){throw ek("Unexpected exception thrown, this is not properly supported - aborting"),eV=!0,en},x:function(){nd(0);var en=tm.pop();if(en.Hc()&&!en.kc()){var er=en.Dc();er&&tp(er)(en.Zb),tw(en.Zb)}tv=0},e:function(){var en=tv;if(!en)return t3=0;var er=new tI(en);er.cc(en);var ei=er.bc();if(!ei)return t3=0,en;for(var eo=Array.prototype.slice.call(arguments),ea=0;ea<eo.length;ea++){var es=eo[ea];if(0===es||es===ei)break;if(nm(es,ei,er.Sb+16))return t3=es,en}return t3=ei,en},l:function(){var en=tv;if(!en)return t3=0;var er=new tI(en);er.cc(en);var ei=er.bc();if(!ei)return t3=0,en;for(var eo=Array.prototype.slice.call(arguments),ea=0;ea<eo.length;ea++){var es=eo[ea];if(0===es||es===ei)break;if(nm(es,ei,er.Sb+16))return t3=es,en}return t3=ei,en},h:function(){var en=tv;if(!en)return t3=0;var er=new tI(en);er.cc(en);var ei=er.bc();if(!ei)return t3=0,en;for(var eo=Array.prototype.slice.call(arguments),ea=0;ea<eo.length;ea++){var es=eo[ea];if(0===es||es===ei)break;if(nm(es,ei,er.Sb+16))return t3=es,en}return t3=ei,en},t:tw,M:function(){var en=tm.pop();en||e7("no exception to throw");var er=en.Zb;throw en.kc()||(tm.push(en),en.ic(!0),en.hc(!1),ty++),tv=er,er},c:function(en,er,ei){throw new tI(en).fc(er,ei),tv=en,ty++,en},pa:function(){return ty},Fa:function(en){ns(en,!eC,1,!eE),tc.pc()},T:function(en){eS?postMessage({cmd:"cleanupThread",thread:en}):ta(en)},xa:tC,j:function(en){throw tv||(tv=en),en},H:tT,Ma:tS,ua:tB,wa:tx,oa:t_,Ka:tD,Ca:tP,Ja:tO,V:tk,va:tQ,sa:tM,La:tF,ta:tN,Ta:function(){},X:function(){e7("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},Ua:function(){e7("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},W:function(){return Date.now()},ya:function(){return 2097152},Oa:function(){return!0},za:function(en,er,ei,eo){if(en==er)setTimeout(()=>tL(eo));else if(eS)postMessage({targetThread:en,cmd:"processProxyingQueue",queue:eo});else{if(!(en=tc.Vb[en]))return;en.postMessage({cmd:"processProxyingQueue",queue:eo})}return 1},Ea:function(){return -1},Pa:function(en,er){en=new Date(1e3*tR(en)),es()[er>>2>>>0]=en.getUTCSeconds(),es()[er+4>>2>>>0]=en.getUTCMinutes(),es()[er+8>>2>>>0]=en.getUTCHours(),es()[er+12>>2>>>0]=en.getUTCDate(),es()[er+16>>2>>>0]=en.getUTCMonth(),es()[er+20>>2>>>0]=en.getUTCFullYear()-1900,es()[er+24>>2>>>0]=en.getUTCDay(),en=(en.getTime()-Date.UTC(en.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,es()[er+28>>2>>>0]=en},Qa:function(en,er){en=new Date(1e3*tR(en)),es()[er>>2>>>0]=en.getSeconds(),es()[er+4>>2>>>0]=en.getMinutes(),es()[er+8>>2>>>0]=en.getHours(),es()[er+12>>2>>>0]=en.getDate(),es()[er+16>>2>>>0]=en.getMonth(),es()[er+20>>2>>>0]=en.getFullYear()-1900,es()[er+24>>2>>>0]=en.getDay();var ei=new Date(en.getFullYear(),0,1),eo=(en.getTime()-ei.getTime())/864e5|0;es()[er+28>>2>>>0]=eo,es()[er+36>>2>>>0]=-60*en.getTimezoneOffset(),en=0|((eo=new Date(en.getFullYear(),6,1).getTimezoneOffset())!=(ei=ei.getTimezoneOffset())&&en.getTimezoneOffset()==Math.min(ei,eo)),es()[er+32>>2>>>0]=en},Ra:function(en){var er=new Date(es()[en+20>>2>>>0]+1900,es()[en+16>>2>>>0],es()[en+12>>2>>>0],es()[en+8>>2>>>0],es()[en+4>>2>>>0],es()[en>>2>>>0],0),ei=es()[en+32>>2>>>0],eo=er.getTimezoneOffset(),ea=new Date(er.getFullYear(),0,1),eu=new Date(er.getFullYear(),6,1).getTimezoneOffset(),ec=ea.getTimezoneOffset(),ef=Math.min(ec,eu);return 0>ei?es()[en+32>>2>>>0]=Number(eu!=ec&&ef==eo):0<ei!=(ef==eo)&&(eu=Math.max(ec,eu),er.setTime(er.getTime()+6e4*((0<ei?ef:eu)-eo))),es()[en+24>>2>>>0]=er.getDay(),ei=(er.getTime()-ea.getTime())/864e5|0,es()[en+28>>2>>>0]=ei,es()[en>>2>>>0]=er.getSeconds(),es()[en+4>>2>>>0]=er.getMinutes(),es()[en+8>>2>>>0]=er.getHours(),es()[en+12>>2>>>0]=er.getDate(),es()[en+16>>2>>>0]=er.getMonth(),er.getTime()/1e3|0},Aa:tG,Ba:tU,Sa:function en(er,ei,eo){en.Ac||(en.Ac=!0,tV(er,ei,eo))},y:function(){e7("")},U:function(){if(!eT&&!eC){var en="Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread";tg||(tg={}),tg[en]||(tg[en]=1,eT&&(en="warning: "+en),ek(en))}},ra:function(){return 4294901760},B:tb,Ia:function(en,er,ei){ea().copyWithin(en>>>0,er>>>0,er+ei>>>0)},F:function(){return eT?ei(3993).cpus().length:navigator.hardwareConcurrency},Da:function(en,er,ei){tZ.length=er,ei>>=3;for(var eo=0;eo<er;eo++)tZ[eo]=ec()[ei+eo>>>0];return(0>en?tr[-en-1]:t7[en]).apply(null,tZ)},qa:function(en){var er=ea().length;if((en>>>=0)<=er||4294901760<en)return!1;for(var ei=1;4>=ei;ei*=2){var eo=er*(1+.2/ei);eo=Math.min(eo,en+100663296);var es=Math;eo=Math.max(en,eo),es=es.min.call(es,4294901760,eo+(65536-eo%65536)%65536);e:{try{eM.grow(es-eN.byteLength+65535>>>16),e$(eM.buffer);var eu=1;break e}catch(en){}eu=void 0}if(eu)return!0}return!1},Na:function(){throw"unwind"},Ga:t$,Ha:tK,J:tl,I:tY,S:tX,ga:tJ,R:t2,d:function(){return t3},na:function en(eo,ea){en.lc||(en.lc=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var en=new Uint8Array(1);return()=>(crypto.getRandomValues(en),en[0])}if(eT)try{var er=ei(Object(function(){var en=Error("Cannot find module 'crypto'");throw en.code="MODULE_NOT_FOUND",en}()));return()=>er.randomBytes(1)[0]}catch(en){}return()=>e7("randomDevice")}());for(var es=0;es<ea;es++)er()[eo+es>>0>>>0]=en.lc();return 0},ia:function(en,er,ei){var eo=np();try{return tp(en)(er,ei)}catch(en){if(ng(eo),en!==en+0)throw en;nd(1,0)}},ja:function(en,er,ei){var eo=np();try{return tp(en)(er,ei)}catch(en){if(ng(eo),en!==en+0)throw en;nd(1,0)}},K:function(en){var er=np();try{return tp(en)()}catch(en){if(ng(er),en!==en+0)throw en;nd(1,0)}},f:function(en,er){var ei=np();try{return tp(en)(er)}catch(en){if(ng(ei),en!==en+0)throw en;nd(1,0)}},P:function(en,er,ei){var eo=np();try{return tp(en)(er,ei)}catch(en){if(ng(eo),en!==en+0)throw en;nd(1,0)}},Q:function(en,er,ei){var eo=np();try{return tp(en)(er,ei)}catch(en){if(ng(eo),en!==en+0)throw en;nd(1,0)}},k:function(en,er,ei){var eo=np();try{return tp(en)(er,ei)}catch(en){if(ng(eo),en!==en+0)throw en;nd(1,0)}},p:function(en,er,ei,eo){var ea=np();try{return tp(en)(er,ei,eo)}catch(en){if(ng(ea),en!==en+0)throw en;nd(1,0)}},q:function(en,er,ei,eo,ea){var es=np();try{return tp(en)(er,ei,eo,ea)}catch(en){if(ng(es),en!==en+0)throw en;nd(1,0)}},N:function(en,er,ei,eo,ea,es){var eu=np();try{return tp(en)(er,ei,eo,ea,es)}catch(en){if(ng(eu),en!==en+0)throw en;nd(1,0)}},s:function(en,er,ei,eo,ea,es){var eu=np();try{return tp(en)(er,ei,eo,ea,es)}catch(en){if(ng(eu),en!==en+0)throw en;nd(1,0)}},w:function(en,er,ei,eo,ea,es,eu){var ec=np();try{return tp(en)(er,ei,eo,ea,es,eu)}catch(en){if(ng(ec),en!==en+0)throw en;nd(1,0)}},L:function(en,er,ei,eo,ea,es,eu,ec){var ef=np();try{return tp(en)(er,ei,eo,ea,es,eu,ec)}catch(en){if(ng(ef),en!==en+0)throw en;nd(1,0)}},E:function(en,er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh){var ep=np();try{return tp(en)(er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh)}catch(en){if(ng(ep),en!==en+0)throw en;nd(1,0)}},aa:function(en,er,ei,eo,ea,es,eu,ec){var ef=np();try{return nx(en,er,ei,eo,ea,es,eu,ec)}catch(en){if(ng(ef),en!==en+0)throw en;nd(1,0)}},_:function(en,er,ei,eo,ea,es,eu){var ec=np();try{return nI(en,er,ei,eo,ea,es,eu)}catch(en){if(ng(ec),en!==en+0)throw en;nd(1,0)}},Z:function(en,er,ei,eo,ea){var es=np();try{return n_(en,er,ei,eo,ea)}catch(en){if(ng(es),en!==en+0)throw en;nd(1,0)}},ca:function(en,er,ei,eo){var ea=np();try{return nS(en,er,ei,eo)}catch(en){if(ng(ea),en!==en+0)throw en;nd(1,0)}},$:function(en){var er=np();try{return nv(en)}catch(en){if(ng(er),en!==en+0)throw en;nd(1,0)}},ba:function(en,er){var ei=np();try{return nB(en,er)}catch(en){if(ng(ei),en!==en+0)throw en;nd(1,0)}},Y:function(en,er,ei){var eo=np();try{return nw(en,er,ei)}catch(en){if(ng(eo),en!==en+0)throw en;nd(1,0)}},g:function(en){var er=np();try{tp(en)()}catch(en){if(ng(er),en!==en+0)throw en;nd(1,0)}},r:function(en,er){var ei=np();try{tp(en)(er)}catch(en){if(ng(ei),en!==en+0)throw en;nd(1,0)}},i:function(en,er,ei){var eo=np();try{tp(en)(er,ei)}catch(en){if(ng(eo),en!==en+0)throw en;nd(1,0)}},ha:function(en,er,ei,eo){var ea=np();try{tp(en)(er,ei,eo)}catch(en){if(ng(ea),en!==en+0)throw en;nd(1,0)}},m:function(en,er,ei,eo){var ea=np();try{tp(en)(er,ei,eo)}catch(en){if(ng(ea),en!==en+0)throw en;nd(1,0)}},v:function(en,er,ei,eo,ea){var es=np();try{tp(en)(er,ei,eo,ea)}catch(en){if(ng(es),en!==en+0)throw en;nd(1,0)}},u:function(en,er,ei,eo,ea,es){var eu=np();try{tp(en)(er,ei,eo,ea,es)}catch(en){if(ng(eu),en!==en+0)throw en;nd(1,0)}},O:function(en,er,ei,eo,ea,es,eu){var ec=np();try{tp(en)(er,ei,eo,ea,es,eu)}catch(en){if(ng(ec),en!==en+0)throw en;nd(1,0)}},A:function(en,er,ei,eo,ea,es,eu,ec){var ef=np();try{tp(en)(er,ei,eo,ea,es,eu,ec)}catch(en){if(ng(ef),en!==en+0)throw en;nd(1,0)}},ka:function(en,er,ei,eo,ea,es,eu,ec,ef){var eA=np();try{tp(en)(er,ei,eo,ea,es,eu,ec,ef)}catch(en){if(ng(eA),en!==en+0)throw en;nd(1,0)}},C:function(en,er,ei,eo,ea,es,eu,ec,ef,eA,ed){var eh=np();try{tp(en)(er,ei,eo,ea,es,eu,ec,ef,eA,ed)}catch(en){if(ng(eh),en!==en+0)throw en;nd(1,0)}},D:function(en,er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh,ep,eg,eb,em){var ey=np();try{tp(en)(er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh,ep,eg,eb,em)}catch(en){if(ng(ey),en!==en+0)throw en;nd(1,0)}},fa:function(en,er,ei,eo,ea,es,eu,ec){var ef=np();try{nE(en,er,ei,eo,ea,es,eu,ec)}catch(en){if(ng(ef),en!==en+0)throw en;nd(1,0)}},da:function(en,er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh){var ep=np();try{nT(en,er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh)}catch(en){if(ng(ep),en!==en+0)throw en;nd(1,0)}},ea:function(en,er,ei,eo,ea,es){var eu=np();try{nC(en,er,ei,eo,ea,es)}catch(en){if(ng(eu),en!==en+0)throw en;nd(1,0)}},o:function(en){return en},a:eM||ef.wasmMemory,G:function(en){t3=en},la:t5,z:function(en,er,ei,eo){return t5(en,er,ei,eo)}};(function(){function en(en,er){ef.asm=en.exports,tc.qc.push(ef.asm.sb),eY=ef.asm.ub,eJ.unshift(ef.asm.Va),eF=er,eS||(e6--,ef.monitorRunDependencies&&ef.monitorRunDependencies(e6),0==e6&&(null!==e8&&(clearInterval(e8),e8=null),e5&&(en=e5,e5=null,en())))}function er(er){en(er.instance,er.module)}function ei(en){return(function(){if(!eP&&(eE||eC)){if("function"==typeof fetch&&!e4.startsWith("file://"))return fetch(e4,{credentials:"same-origin"}).then(function(en){if(!en.ok)throw"failed to load wasm binary file at '"+e4+"'";return en.arrayBuffer()}).catch(function(){return tn()});if(ep)return new Promise(function(en,er){ep(e4,function(er){en(new Uint8Array(er))},er)})}return Promise.resolve().then(function(){return tn()})})().then(function(en){return WebAssembly.instantiate(en,eo)}).then(function(en){return en}).then(en,function(en){ek("failed to asynchronously prepare wasm: "+en),e7(en)})}var eo={a:t9};if(eS||(e6++,ef.monitorRunDependencies&&ef.monitorRunDependencies(e6)),ef.instantiateWasm)try{return ef.instantiateWasm(eo,en)}catch(en){return ek("Module.instantiateWasm callback failed with error: "+en),!1}(eP||"function"!=typeof WebAssembly.instantiateStreaming||e9()||e4.startsWith("file://")||eT||"function"!=typeof fetch?ei(er):fetch(e4,{credentials:"same-origin"}).then(function(en){return WebAssembly.instantiateStreaming(en,eo).then(er,function(en){return ek("wasm streaming compile failed: "+en),ek("falling back to ArrayBuffer instantiation"),ei(er)})})).catch(ed)})(),ef.___wasm_call_ctors=function(){return(ef.___wasm_call_ctors=ef.asm.Va).apply(null,arguments)},ef._OrtInit=function(){return(ef._OrtInit=ef.asm.Wa).apply(null,arguments)},ef._OrtCreateSessionOptions=function(){return(ef._OrtCreateSessionOptions=ef.asm.Xa).apply(null,arguments)},ef._OrtAppendExecutionProvider=function(){return(ef._OrtAppendExecutionProvider=ef.asm.Ya).apply(null,arguments)},ef._OrtAddSessionConfigEntry=function(){return(ef._OrtAddSessionConfigEntry=ef.asm.Za).apply(null,arguments)},ef._OrtReleaseSessionOptions=function(){return(ef._OrtReleaseSessionOptions=ef.asm._a).apply(null,arguments)},ef._OrtCreateSession=function(){return(ef._OrtCreateSession=ef.asm.$a).apply(null,arguments)},ef._OrtReleaseSession=function(){return(ef._OrtReleaseSession=ef.asm.ab).apply(null,arguments)},ef._OrtGetInputCount=function(){return(ef._OrtGetInputCount=ef.asm.bb).apply(null,arguments)},ef._OrtGetOutputCount=function(){return(ef._OrtGetOutputCount=ef.asm.cb).apply(null,arguments)},ef._OrtGetInputName=function(){return(ef._OrtGetInputName=ef.asm.db).apply(null,arguments)},ef._OrtGetOutputName=function(){return(ef._OrtGetOutputName=ef.asm.eb).apply(null,arguments)},ef._OrtFree=function(){return(ef._OrtFree=ef.asm.fb).apply(null,arguments)},ef._OrtCreateTensor=function(){return(ef._OrtCreateTensor=ef.asm.gb).apply(null,arguments)},ef._OrtGetTensorData=function(){return(ef._OrtGetTensorData=ef.asm.hb).apply(null,arguments)},ef._OrtReleaseTensor=function(){return(ef._OrtReleaseTensor=ef.asm.ib).apply(null,arguments)},ef._OrtCreateRunOptions=function(){return(ef._OrtCreateRunOptions=ef.asm.jb).apply(null,arguments)},ef._OrtAddRunConfigEntry=function(){return(ef._OrtAddRunConfigEntry=ef.asm.kb).apply(null,arguments)},ef._OrtReleaseRunOptions=function(){return(ef._OrtReleaseRunOptions=ef.asm.lb).apply(null,arguments)},ef._OrtRun=function(){return(ef._OrtRun=ef.asm.mb).apply(null,arguments)},ef._OrtEndProfiling=function(){return(ef._OrtEndProfiling=ef.asm.nb).apply(null,arguments)};var nn=ef._pthread_self=function(){return(nn=ef._pthread_self=ef.asm.ob).apply(null,arguments)},nr=ef._malloc=function(){return(nr=ef._malloc=ef.asm.pb).apply(null,arguments)},ni=ef._free=function(){return(ni=ef._free=ef.asm.qb).apply(null,arguments)},no=ef._fflush=function(){return(no=ef._fflush=ef.asm.rb).apply(null,arguments)};ef.__emscripten_tls_init=function(){return(ef.__emscripten_tls_init=ef.asm.sb).apply(null,arguments)};var na=ef.___funcs_on_exit=function(){return(na=ef.___funcs_on_exit=ef.asm.tb).apply(null,arguments)},ns=ef.__emscripten_thread_init=function(){return(ns=ef.__emscripten_thread_init=ef.asm.vb).apply(null,arguments)};ef.__emscripten_thread_crashed=function(){return(ef.__emscripten_thread_crashed=ef.asm.wb).apply(null,arguments)};var nu,nl=ef._emscripten_run_in_main_runtime_thread_js=function(){return(nl=ef._emscripten_run_in_main_runtime_thread_js=ef.asm.xb).apply(null,arguments)},nc=ef.__emscripten_proxy_execute_task_queue=function(){return(nc=ef.__emscripten_proxy_execute_task_queue=ef.asm.yb).apply(null,arguments)},nf=ef.__emscripten_thread_free_data=function(){return(nf=ef.__emscripten_thread_free_data=ef.asm.zb).apply(null,arguments)},nA=ef.__emscripten_thread_exit=function(){return(nA=ef.__emscripten_thread_exit=ef.asm.Ab).apply(null,arguments)},nd=ef._setThrew=function(){return(nd=ef._setThrew=ef.asm.Bb).apply(null,arguments)},nh=ef._emscripten_stack_set_limits=function(){return(nh=ef._emscripten_stack_set_limits=ef.asm.Cb).apply(null,arguments)},np=ef.stackSave=function(){return(np=ef.stackSave=ef.asm.Db).apply(null,arguments)},ng=ef.stackRestore=function(){return(ng=ef.stackRestore=ef.asm.Eb).apply(null,arguments)},nb=ef.stackAlloc=function(){return(nb=ef.stackAlloc=ef.asm.Fb).apply(null,arguments)},nm=ef.___cxa_can_catch=function(){return(nm=ef.___cxa_can_catch=ef.asm.Gb).apply(null,arguments)},ny=ef.___cxa_is_pointer_type=function(){return(ny=ef.___cxa_is_pointer_type=ef.asm.Hb).apply(null,arguments)},nv=ef.dynCall_j=function(){return(nv=ef.dynCall_j=ef.asm.Ib).apply(null,arguments)},nI=ef.dynCall_iiiiij=function(){return(nI=ef.dynCall_iiiiij=ef.asm.Jb).apply(null,arguments)},nw=ef.dynCall_jii=function(){return(nw=ef.dynCall_jii=ef.asm.Kb).apply(null,arguments)},nE=ef.dynCall_viiiiij=function(){return(nE=ef.dynCall_viiiiij=ef.asm.Lb).apply(null,arguments)},nC=ef.dynCall_vjji=function(){return(nC=ef.dynCall_vjji=ef.asm.Mb).apply(null,arguments)},nT=ef.dynCall_viiijjjii=function(){return(nT=ef.dynCall_viiijjjii=ef.asm.Nb).apply(null,arguments)},nS=ef.dynCall_iij=function(){return(nS=ef.dynCall_iij=ef.asm.Ob).apply(null,arguments)},nB=ef.dynCall_ji=function(){return(nB=ef.dynCall_ji=ef.asm.Pb).apply(null,arguments)},nx=ef.dynCall_iiiiiij=function(){return(nx=ef.dynCall_iiiiiij=ef.asm.Qb).apply(null,arguments)},n_=ef.dynCall_iiij=function(){return(n_=ef.dynCall_iiij=ef.asm.Rb).apply(null,arguments)};function nD(){function en(){if(!nu&&(nu=!0,ef.calledRun=!0,!eV)&&(eS||tf(eJ),eA(ef),ef.onRuntimeInitialized&&ef.onRuntimeInitialized(),!eS)){if(ef.postRun)for("function"==typeof ef.postRun&&(ef.postRun=[ef.postRun]);ef.postRun.length;){var en=ef.postRun.shift();e1.unshift(en)}tf(e1)}}if(!(0<e6)){if(eS)eA(ef),eS||tf(eJ),postMessage({cmd:"loaded"});else{if(ef.preRun)for("function"==typeof ef.preRun&&(ef.preRun=[ef.preRun]);ef.preRun.length;)e3();tf(eX),0<e6||(ef.setStatus?(ef.setStatus("Running..."),setTimeout(function(){setTimeout(function(){ef.setStatus("")},1),en()},1)):en())}}}if(ef.UTF8ToString=eZ,ef.stringToUTF8=function(en,er,ei){return eW(en,ea(),er,ei)},ef.lengthBytesUTF8=eq,ef.keepRuntimeAlive=e2,ef.wasmMemory=eM,ef.stackSave=np,ef.stackRestore=ng,ef.stackAlloc=nb,ef.ExitStatus=ti,ef.PThread=tc,e5=function en(){nu||nD(),nu||(e5=en)},ef.preInit)for("function"==typeof ef.preInit&&(ef.preInit=[ef.preInit]);0<ef.preInit.length;)ef.preInit.pop()();return nD(),en.ready});en.exports=ea},932:(en,er,ei)=>{var eo,ea=(eo=(eo="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(en){en=en||{},er||(er=void 0!==en?en:{}),er.ready=new Promise(function(en,er){ea=en,es=er});var er,ea,es,eu,ec,ef,eA,ed,eh,ep=Object.assign({},er),eg="./this.program",eb=(en,er)=>{throw er},em="object"==typeof window,ey="function"==typeof importScripts,ev="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,eI="";ev?(eI=ey?ei(908).dirname(eI)+"/":"//",eh=()=>{ed||(eA=ei(1384),ed=ei(908))},eu=function(en,er){return eh(),en=ed.normalize(en),eA.readFileSync(en,er?void 0:"utf8")},ef=en=>((en=eu(en,!0)).buffer||(en=new Uint8Array(en)),en),ec=(en,er,ei)=>{eh(),en=ed.normalize(en),eA.readFile(en,function(en,eo){en?ei(en):er(eo.buffer)})},1<process.argv.length&&(eg=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(en){if(!(en instanceof e0))throw en}),process.on("unhandledRejection",function(en){throw en}),eb=(en,er)=>{if(eT||0<eH)throw process.exitCode=en,er;er instanceof e0||eC("exiting due to exception: "+er),process.exit(en)},er.inspect=function(){return"[Emscripten Module object]"}):(em||ey)&&(ey?eI=self.location.href:"undefined"!=typeof document&&document.currentScript&&(eI=document.currentScript.src),eo&&(eI=eo),eI=0!==eI.indexOf("blob:")?eI.substr(0,eI.replace(/[?#].*/,"").lastIndexOf("/")+1):"",eu=en=>{var er=new XMLHttpRequest;return er.open("GET",en,!1),er.send(null),er.responseText},ey&&(ef=en=>{var er=new XMLHttpRequest;return er.open("GET",en,!1),er.responseType="arraybuffer",er.send(null),new Uint8Array(er.response)}),ec=(en,er,ei)=>{var eo=new XMLHttpRequest;eo.open("GET",en,!0),eo.responseType="arraybuffer",eo.onload=()=>{200==eo.status||0==eo.status&&eo.response?er(eo.response):ei()},eo.onerror=ei,eo.send(null)});var ew,eE=er.print||console.log.bind(console),eC=er.printErr||console.warn.bind(console);Object.assign(er,ep),ep=null,er.thisProgram&&(eg=er.thisProgram),er.quit&&(eb=er.quit),er.wasmBinary&&(ew=er.wasmBinary);var eT=er.noExitRuntime||!1;"object"!=typeof WebAssembly&&eK("no native wasm support detected");var eS,eB,ex,e_,eD,eP,eO=!1,ek="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function eQ(en,er,ei){var eo=(er>>>=0)+ei;for(ei=er;en[ei]&&!(ei>=eo);)++ei;if(16<ei-er&&en.buffer&&ek)return ek.decode(en.subarray(er,ei));for(eo="";er<ei;){var ea=en[er++];if(128&ea){var es=63&en[er++];if(192==(224&ea))eo+=String.fromCharCode((31&ea)<<6|es);else{var eu=63&en[er++];65536>(ea=224==(240&ea)?(15&ea)<<12|es<<6|eu:(7&ea)<<18|es<<12|eu<<6|63&en[er++])?eo+=String.fromCharCode(ea):(ea-=65536,eo+=String.fromCharCode(55296|ea>>10,56320|1023&ea))}}else eo+=String.fromCharCode(ea)}return eo}function eM(en,er){return(en>>>=0)?eQ(e_,en,er):""}function eF(en,er,ei,eo){if(!(0<eo))return 0;var ea=ei>>>=0;eo=ei+eo-1;for(var es=0;es<en.length;++es){var eu=en.charCodeAt(es);if(55296<=eu&&57343>=eu&&(eu=65536+((1023&eu)<<10)|1023&en.charCodeAt(++es)),127>=eu){if(ei>=eo)break;er[ei++>>>0]=eu}else{if(2047>=eu){if(ei+1>=eo)break;er[ei++>>>0]=192|eu>>6}else{if(65535>=eu){if(ei+2>=eo)break;er[ei++>>>0]=224|eu>>12}else{if(ei+3>=eo)break;er[ei++>>>0]=240|eu>>18,er[ei++>>>0]=128|eu>>12&63}er[ei++>>>0]=128|eu>>6&63}er[ei++>>>0]=128|63&eu}}return er[ei>>>0]=0,ei-ea}function eN(en){for(var er=0,ei=0;ei<en.length;++ei){var eo=en.charCodeAt(ei);127>=eo?er++:2047>=eo?er+=2:55296<=eo&&57343>=eo?(er+=4,++ei):er+=3}return er}function eL(){var en=eS.buffer;eB=en,er.HEAP8=ex=new Int8Array(en),er.HEAP16=new Int16Array(en),er.HEAP32=eD=new Int32Array(en),er.HEAPU8=e_=new Uint8Array(en),er.HEAPU16=new Uint16Array(en),er.HEAPU32=eP=new Uint32Array(en),er.HEAPF32=new Float32Array(en),er.HEAPF64=new Float64Array(en)}var eR,eG=[],eU=[],ej=[],eV=[],eH=0;function ez(){var en=er.preRun.shift();eG.unshift(en)}var eZ,eW=0,eq=null,e$=null;function eK(en){throw er.onAbort&&er.onAbort(en),eC(en="Aborted("+en+")"),eO=!0,es(en=new WebAssembly.RuntimeError(en+". Build with -sASSERTIONS for more info.")),en}function eY(){return eZ.startsWith("data:application/octet-stream;base64,")}if(eZ="ort-wasm.wasm",!eY()){var eX=eZ;eZ=er.locateFile?er.locateFile(eX,eI):eI+eX}function eJ(){var en=eZ;try{if(en==eZ&&ew)return new Uint8Array(ew);if(ef)return ef(en);throw"both async and sync fetching of the wasm failed"}catch(en){eK(en)}}function e0(en){this.name="ExitStatus",this.message="Program terminated with exit("+en+")",this.status=en}function e1(en){for(;0<en.length;)en.shift()(er)}var e2=[],e3=0,e4=0;function e6(en){this.Db=en,this.zb=en-24,this.Ub=function(en){eP[this.zb+4>>2>>>0]=en},this.Eb=function(){return eP[this.zb+4>>2>>>0]},this.Sb=function(en){eP[this.zb+8>>2>>>0]=en},this.Wb=function(){return eP[this.zb+8>>2>>>0]},this.Tb=function(){eD[this.zb>>2>>>0]=0},this.Ib=function(en){ex[this.zb+12>>0>>>0]=en?1:0},this.Pb=function(){return 0!=ex[this.zb+12>>0>>>0]},this.Jb=function(en){ex[this.zb+13>>0>>>0]=en?1:0},this.Lb=function(){return 0!=ex[this.zb+13>>0>>>0]},this.Rb=function(en,er){this.Fb(0),this.Ub(en),this.Sb(er),this.Tb(),this.Ib(!1),this.Jb(!1)},this.Nb=function(){eD[this.zb>>2>>>0]+=1},this.Xb=function(){var en=eD[this.zb>>2>>>0];return eD[this.zb>>2>>>0]=en-1,1===en},this.Fb=function(en){eP[this.zb+16>>2>>>0]=en},this.Ob=function(){return eP[this.zb+16>>2>>>0]},this.Qb=function(){if(tC(this.Eb()))return eP[this.Db>>2>>>0];var en=this.Ob();return 0!==en?en:this.Db}}function e8(en){return tg(new e6(en).zb)}var e5=[];function e7(en){var er=e5[en];return er||(en>=e5.length&&(e5.length=en+1),e5[en]=er=eR.get(en)),er}function e9(en){var er=eN(en)+1,ei=tp(er);return ei&&eF(en,ex,ei,er),ei}var tn={};function tr(){if(!ti){var en,er={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:eg||"./this.program"};for(en in tn)void 0===tn[en]?delete er[en]:er[en]=tn[en];var ei=[];for(en in er)ei.push(en+"="+er[en]);ti=ei}return ti}var ti,ta=[null,[],[]];function ts(en,er){var ei=ta[en];0===er||10===er?((1===en?eE:eC)(eQ(ei,0)),ei.length=0):ei.push(er)}var tu=0;function tl(en){return 0==en%4&&(0!=en%100||0==en%400)}var tc=[31,29,31,30,31,30,31,31,30,31,30,31],tf=[31,28,31,30,31,30,31,31,30,31,30,31];function tA(en,er,ei,eo){function ea(en,er,ei){for(en="number"==typeof en?en.toString():en||"";en.length<er;)en=ei[0]+en;return en}function es(en,er){return ea(en,er,"0")}function eu(en,er){var ei;function eo(en){return 0>en?-1:0<en?1:0}return 0===(ei=eo(en.getFullYear()-er.getFullYear()))&&0===(ei=eo(en.getMonth()-er.getMonth()))&&(ei=eo(en.getDate()-er.getDate())),ei}function ec(en){switch(en.getDay()){case 0:return new Date(en.getFullYear()-1,11,29);case 1:return en;case 2:return new Date(en.getFullYear(),0,3);case 3:return new Date(en.getFullYear(),0,2);case 4:return new Date(en.getFullYear(),0,1);case 5:return new Date(en.getFullYear()-1,11,31);case 6:return new Date(en.getFullYear()-1,11,30)}}function ef(en){var er=en.Bb;for(en=new Date(new Date(en.Cb+1900,0,1).getTime());0<er;){var ei=en.getMonth(),eo=(tl(en.getFullYear())?tc:tf)[ei];if(!(er>eo-en.getDate())){en.setDate(en.getDate()+er);break}er-=eo-en.getDate()+1,en.setDate(1),11>ei?en.setMonth(ei+1):(en.setMonth(0),en.setFullYear(en.getFullYear()+1))}return ei=new Date(en.getFullYear()+1,0,4),er=ec(new Date(en.getFullYear(),0,4)),ei=ec(ei),0>=eu(er,en)?0>=eu(ei,en)?en.getFullYear()+1:en.getFullYear():en.getFullYear()-1}var eA=eD[eo+40>>2>>>0];for(var ed in eo={$b:eD[eo>>2>>>0],Zb:eD[eo+4>>2>>>0],Gb:eD[eo+8>>2>>>0],Kb:eD[eo+12>>2>>>0],Hb:eD[eo+16>>2>>>0],Cb:eD[eo+20>>2>>>0],Ab:eD[eo+24>>2>>>0],Bb:eD[eo+28>>2>>>0],bc:eD[eo+32>>2>>>0],Yb:eD[eo+36>>2>>>0],ac:eA?eM(eA):""},ei=eM(ei),eA={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})ei=ei.replace(RegExp(ed,"g"),eA[ed]);var eh="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ep="January February March April May June July August September October November December".split(" ");for(ed in eA={"%a":function(en){return eh[en.Ab].substring(0,3)},"%A":function(en){return eh[en.Ab]},"%b":function(en){return ep[en.Hb].substring(0,3)},"%B":function(en){return ep[en.Hb]},"%C":function(en){return es((en.Cb+1900)/100|0,2)},"%d":function(en){return es(en.Kb,2)},"%e":function(en){return ea(en.Kb,2," ")},"%g":function(en){return ef(en).toString().substring(2)},"%G":function(en){return ef(en)},"%H":function(en){return es(en.Gb,2)},"%I":function(en){return 0==(en=en.Gb)?en=12:12<en&&(en-=12),es(en,2)},"%j":function(en){for(var er=0,ei=0;ei<=en.Hb-1;er+=(tl(en.Cb+1900)?tc:tf)[ei++]);return es(en.Kb+er,3)},"%m":function(en){return es(en.Hb+1,2)},"%M":function(en){return es(en.Zb,2)},"%n":function(){return"\n"},"%p":function(en){return 0<=en.Gb&&12>en.Gb?"AM":"PM"},"%S":function(en){return es(en.$b,2)},"%t":function(){return" "},"%u":function(en){return en.Ab||7},"%U":function(en){return es(Math.floor((en.Bb+7-en.Ab)/7),2)},"%V":function(en){var er=Math.floor((en.Bb+7-(en.Ab+6)%7)/7);if(2>=(en.Ab+371-en.Bb-2)%7&&er++,er)53==er&&(4==(ei=(en.Ab+371-en.Bb)%7)||3==ei&&tl(en.Cb)||(er=1));else{er=52;var ei=(en.Ab+7-en.Bb-1)%7;(4==ei||5==ei&&tl(en.Cb%400-1))&&er++}return es(er,2)},"%w":function(en){return en.Ab},"%W":function(en){return es(Math.floor((en.Bb+7-(en.Ab+6)%7)/7),2)},"%y":function(en){return(en.Cb+1900).toString().substring(2)},"%Y":function(en){return en.Cb+1900},"%z":function(en){var er=0<=(en=en.Yb);return(er?"+":"-")+String("0000"+((en=Math.abs(en)/60)/60*100+en%60)).slice(-4)},"%Z":function(en){return en.ac},"%%":function(){return"%"}},ei=ei.replace(/%%/g,"\x00\x00"),eA)ei.includes(ed)&&(ei=ei.replace(RegExp(ed,"g"),eA[ed](eo)));return(ed=function(en){var er=Array(eN(en)+1);return eF(en,er,0,er.length),er}(ei=ei.replace(/\0\0/g,"%"))).length>er?0:(ex.set(ed,en>>>0),ed.length-1)}var td={a:function(en){return tp(en+24)+24},m:function(en){return(en=new e6(en)).Pb()||(en.Ib(!0),e3--),en.Jb(!1),e2.push(en),en.Nb(),en.Qb()},ia:function(en){throw eC("Unexpected exception thrown, this is not properly supported - aborting"),eO=!0,en},w:function(){ty(0);var en=e2.pop();if(en.Xb()&&!en.Lb()){var er=en.Wb();er&&e7(er)(en.Db),e8(en.Db)}e4=0},d:function(){var en=e4;if(!en)return tu=0;var er=new e6(en);er.Fb(en);var ei=er.Eb();if(!ei)return tu=0,en;for(var eo=Array.prototype.slice.call(arguments),ea=0;ea<eo.length;ea++){var es=eo[ea];if(0===es||es===ei)break;if(tE(es,ei,er.zb+16))return tu=es,en}return tu=ei,en},k:function(){var en=e4;if(!en)return tu=0;var er=new e6(en);er.Fb(en);var ei=er.Eb();if(!ei)return tu=0,en;for(var eo=Array.prototype.slice.call(arguments),ea=0;ea<eo.length;ea++){var es=eo[ea];if(0===es||es===ei)break;if(tE(es,ei,er.zb+16))return tu=es,en}return tu=ei,en},g:function(){var en=e4;if(!en)return tu=0;var er=new e6(en);er.Fb(en);var ei=er.Eb();if(!ei)return tu=0,en;for(var eo=Array.prototype.slice.call(arguments),ea=0;ea<eo.length;ea++){var es=eo[ea];if(0===es||es===ei)break;if(tE(es,ei,er.zb+16))return tu=es,en}return tu=ei,en},s:e8,L:function(){var en=e2.pop();en||eK("no exception to throw");var er=en.Db;throw en.Lb()||(e2.push(en),en.Jb(!0),en.Ib(!1),e3++),e4=er,er},b:function(en,er,ei){throw new e6(en).Rb(er,ei),e4=en,e3++,en},la:function(){return e3},i:function(en){throw e4||(e4=en),en},H:function(){return 0},Ba:function(){},pa:function(){},ra:function(){},ka:function(){return 0},za:function(){},ua:function(){},ya:function(){},R:function(){},qa:function(){},na:function(){},Aa:function(){},oa:function(){},Ha:function(){},Ja:function(){eK("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},Ia:function(){eK("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},S:function(){return Date.now()},Ca:function(){return!0},Da:function(en,er){en=new Date(1e3*(eP[en>>>2]+4294967296*eD[en+4>>>2])),eD[er>>2>>>0]=en.getUTCSeconds(),eD[er+4>>2>>>0]=en.getUTCMinutes(),eD[er+8>>2>>>0]=en.getUTCHours(),eD[er+12>>2>>>0]=en.getUTCDate(),eD[er+16>>2>>>0]=en.getUTCMonth(),eD[er+20>>2>>>0]=en.getUTCFullYear()-1900,eD[er+24>>2>>>0]=en.getUTCDay(),eD[er+28>>2>>>0]=(en.getTime()-Date.UTC(en.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},Ea:function(en,er){en=new Date(1e3*(eP[en>>>2]+4294967296*eD[en+4>>>2])),eD[er>>2>>>0]=en.getSeconds(),eD[er+4>>2>>>0]=en.getMinutes(),eD[er+8>>2>>>0]=en.getHours(),eD[er+12>>2>>>0]=en.getDate(),eD[er+16>>2>>>0]=en.getMonth(),eD[er+20>>2>>>0]=en.getFullYear()-1900,eD[er+24>>2>>>0]=en.getDay();var ei=new Date(en.getFullYear(),0,1);eD[er+28>>2>>>0]=(en.getTime()-ei.getTime())/864e5|0,eD[er+36>>2>>>0]=-60*en.getTimezoneOffset();var eo=new Date(en.getFullYear(),6,1).getTimezoneOffset();ei=ei.getTimezoneOffset(),eD[er+32>>2>>>0]=0|(eo!=ei&&en.getTimezoneOffset()==Math.min(ei,eo))},Fa:function(en){var er=new Date(eD[en+20>>2>>>0]+1900,eD[en+16>>2>>>0],eD[en+12>>2>>>0],eD[en+8>>2>>>0],eD[en+4>>2>>>0],eD[en>>2>>>0],0),ei=eD[en+32>>2>>>0],eo=er.getTimezoneOffset(),ea=new Date(er.getFullYear(),0,1),es=new Date(er.getFullYear(),6,1).getTimezoneOffset(),eu=ea.getTimezoneOffset(),ec=Math.min(eu,es);return 0>ei?eD[en+32>>2>>>0]=Number(es!=eu&&ec==eo):0<ei!=(ec==eo)&&(es=Math.max(eu,es),er.setTime(er.getTime()+6e4*((0<ei?ec:es)-eo))),eD[en+24>>2>>>0]=er.getDay(),eD[en+28>>2>>>0]=(er.getTime()-ea.getTime())/864e5|0,eD[en>>2>>>0]=er.getSeconds(),eD[en+4>>2>>>0]=er.getMinutes(),eD[en+8>>2>>>0]=er.getHours(),eD[en+12>>2>>>0]=er.getDate(),eD[en+16>>2>>>0]=er.getMonth(),er.getTime()/1e3|0},sa:function(){return -52},ta:function(){},Ga:function en(er,ei,eo){en.Vb||(en.Vb=!0,function(en,er,ei){function eo(en){return(en=en.toTimeString().match(/\(([A-Za-z ]+)\)$/))?en[1]:"GMT"}var ea=(new Date).getFullYear(),es=new Date(ea,0,1),eu=new Date(ea,6,1);ea=es.getTimezoneOffset();var ec=eu.getTimezoneOffset();eD[en>>2>>>0]=60*Math.max(ea,ec),eD[er>>2>>>0]=Number(ea!=ec),en=eo(es),er=eo(eu),en=e9(en),er=e9(er),ec<ea?(eP[ei>>2>>>0]=en,eP[ei+4>>2>>>0]=er):(eP[ei>>2>>>0]=er,eP[ei+4>>2>>>0]=en)}(er,ei,eo))},B:function(){eK("")},ma:function(){return 4294901760},I:ev?()=>{var en=process.hrtime();return 1e3*en[0]+en[1]/1e6}:()=>performance.now(),xa:function(en,er,ei){e_.copyWithin(en>>>0,er>>>0,er+ei>>>0)},G:function(en){var er=e_.length;if(4294901760<(en>>>=0))return!1;for(var ei=1;4>=ei;ei*=2){var eo=er*(1+.2/ei);eo=Math.min(eo,en+100663296);var ea=Math;eo=Math.max(en,eo),ea=ea.min.call(ea,4294901760,eo+(65536-eo%65536)%65536);e:{try{eS.grow(ea-eB.byteLength+65535>>>16),eL();var es=1;break e}catch(en){}es=void 0}if(es)return!0}return!1},va:function(en,er){var ei=0;return tr().forEach(function(eo,ea){var es=er+ei;for(ea=eP[en+4*ea>>2>>>0]=es,es=0;es<eo.length;++es)ex[ea++>>0>>>0]=eo.charCodeAt(es);ex[ea>>0>>>0]=0,ei+=eo.length+1}),0},wa:function(en,er){var ei=tr();eP[en>>2>>>0]=ei.length;var eo=0;return ei.forEach(function(en){eo+=en.length+1}),eP[er>>2>>>0]=eo,0},ba:function(en){eT||0<eH||(tm(),e1(ej),tb(0),ta[1].length&&ts(1,10),ta[2].length&&ts(2,10)),eT||0<eH||(er.onExit&&er.onExit(en),eO=!0),eb(en,new e0(en))},E:function(){return 52},Q:function(){return 52},ca:function(){return 70},P:function(en,er,ei,eo){for(var ea=0,es=0;es<ei;es++){var eu=eP[er>>2>>>0],ec=eP[er+4>>2>>>0];er+=8;for(var ef=0;ef<ec;ef++)ts(en,e_[eu+ef>>>0]);ea+=ec}return eP[eo>>2>>>0]=ea,0},c:function(){return tu},ja:function en(er,eo){en.Mb||(en.Mb=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var en=new Uint8Array(1);return()=>(crypto.getRandomValues(en),en[0])}if(ev)try{var er=ei(Object(function(){var en=Error("Cannot find module 'crypto'");throw en.code="MODULE_NOT_FOUND",en}()));return()=>er.randomBytes(1)[0]}catch(en){}return()=>eK("randomDevice")}());for(var ea=0;ea<eo;ea++)ex[er+ea>>0>>>0]=en.Mb();return 0},ea:function(en,er,ei){var eo=tv();try{return e7(en)(er,ei)}catch(en){if(tI(eo),en!==en+0)throw en;ty(1,0)}},fa:function(en,er,ei){var eo=tv();try{return e7(en)(er,ei)}catch(en){if(tI(eo),en!==en+0)throw en;ty(1,0)}},J:function(en){var er=tv();try{return e7(en)()}catch(en){if(tI(er),en!==en+0)throw en;ty(1,0)}},e:function(en,er){var ei=tv();try{return e7(en)(er)}catch(en){if(tI(ei),en!==en+0)throw en;ty(1,0)}},N:function(en,er,ei){var eo=tv();try{return e7(en)(er,ei)}catch(en){if(tI(eo),en!==en+0)throw en;ty(1,0)}},O:function(en,er,ei){var eo=tv();try{return e7(en)(er,ei)}catch(en){if(tI(eo),en!==en+0)throw en;ty(1,0)}},j:function(en,er,ei){var eo=tv();try{return e7(en)(er,ei)}catch(en){if(tI(eo),en!==en+0)throw en;ty(1,0)}},o:function(en,er,ei,eo){var ea=tv();try{return e7(en)(er,ei,eo)}catch(en){if(tI(ea),en!==en+0)throw en;ty(1,0)}},p:function(en,er,ei,eo,ea){var es=tv();try{return e7(en)(er,ei,eo,ea)}catch(en){if(tI(es),en!==en+0)throw en;ty(1,0)}},M:function(en,er,ei,eo,ea,es){var eu=tv();try{return e7(en)(er,ei,eo,ea,es)}catch(en){if(tI(eu),en!==en+0)throw en;ty(1,0)}},r:function(en,er,ei,eo,ea,es){var eu=tv();try{return e7(en)(er,ei,eo,ea,es)}catch(en){if(tI(eu),en!==en+0)throw en;ty(1,0)}},v:function(en,er,ei,eo,ea,es,eu){var ec=tv();try{return e7(en)(er,ei,eo,ea,es,eu)}catch(en){if(tI(ec),en!==en+0)throw en;ty(1,0)}},K:function(en,er,ei,eo,ea,es,eu,ec){var ef=tv();try{return e7(en)(er,ei,eo,ea,es,eu,ec)}catch(en){if(tI(ef),en!==en+0)throw en;ty(1,0)}},D:function(en,er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh){var ep=tv();try{return e7(en)(er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh)}catch(en){if(tI(ep),en!==en+0)throw en;ty(1,0)}},X:function(en,er,ei,eo,ea,es,eu,ec){var ef=tv();try{return tk(en,er,ei,eo,ea,es,eu,ec)}catch(en){if(tI(ef),en!==en+0)throw en;ty(1,0)}},V:function(en,er,ei,eo,ea,es,eu){var ec=tv();try{return tS(en,er,ei,eo,ea,es,eu)}catch(en){if(tI(ec),en!==en+0)throw en;ty(1,0)}},U:function(en,er,ei,eo,ea){var es=tv();try{return tQ(en,er,ei,eo,ea)}catch(en){if(tI(es),en!==en+0)throw en;ty(1,0)}},Z:function(en,er,ei,eo){var ea=tv();try{return tP(en,er,ei,eo)}catch(en){if(tI(ea),en!==en+0)throw en;ty(1,0)}},W:function(en){var er=tv();try{return tT(en)}catch(en){if(tI(er),en!==en+0)throw en;ty(1,0)}},Y:function(en,er){var ei=tv();try{return tO(en,er)}catch(en){if(tI(ei),en!==en+0)throw en;ty(1,0)}},T:function(en,er,ei){var eo=tv();try{return tB(en,er,ei)}catch(en){if(tI(eo),en!==en+0)throw en;ty(1,0)}},f:function(en){var er=tv();try{e7(en)()}catch(en){if(tI(er),en!==en+0)throw en;ty(1,0)}},q:function(en,er){var ei=tv();try{e7(en)(er)}catch(en){if(tI(ei),en!==en+0)throw en;ty(1,0)}},h:function(en,er,ei){var eo=tv();try{e7(en)(er,ei)}catch(en){if(tI(eo),en!==en+0)throw en;ty(1,0)}},da:function(en,er,ei,eo){var ea=tv();try{e7(en)(er,ei,eo)}catch(en){if(tI(ea),en!==en+0)throw en;ty(1,0)}},l:function(en,er,ei,eo){var ea=tv();try{e7(en)(er,ei,eo)}catch(en){if(tI(ea),en!==en+0)throw en;ty(1,0)}},t:function(en,er,ei,eo,ea){var es=tv();try{e7(en)(er,ei,eo,ea)}catch(en){if(tI(es),en!==en+0)throw en;ty(1,0)}},u:function(en,er,ei,eo,ea,es){var eu=tv();try{e7(en)(er,ei,eo,ea,es)}catch(en){if(tI(eu),en!==en+0)throw en;ty(1,0)}},x:function(en,er,ei,eo,ea,es,eu){var ec=tv();try{e7(en)(er,ei,eo,ea,es,eu)}catch(en){if(tI(ec),en!==en+0)throw en;ty(1,0)}},z:function(en,er,ei,eo,ea,es,eu,ec){var ef=tv();try{e7(en)(er,ei,eo,ea,es,eu,ec)}catch(en){if(tI(ef),en!==en+0)throw en;ty(1,0)}},ga:function(en,er,ei,eo,ea,es,eu,ec,ef){var eA=tv();try{e7(en)(er,ei,eo,ea,es,eu,ec,ef)}catch(en){if(tI(eA),en!==en+0)throw en;ty(1,0)}},A:function(en,er,ei,eo,ea,es,eu,ec,ef,eA,ed){var eh=tv();try{e7(en)(er,ei,eo,ea,es,eu,ec,ef,eA,ed)}catch(en){if(tI(eh),en!==en+0)throw en;ty(1,0)}},C:function(en,er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh,ep,eg,eb,em){var ey=tv();try{e7(en)(er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh,ep,eg,eb,em)}catch(en){if(tI(ey),en!==en+0)throw en;ty(1,0)}},aa:function(en,er,ei,eo,ea,es,eu,ec){var ef=tv();try{tx(en,er,ei,eo,ea,es,eu,ec)}catch(en){if(tI(ef),en!==en+0)throw en;ty(1,0)}},_:function(en,er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh){var ep=tv();try{tD(en,er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh)}catch(en){if(tI(ep),en!==en+0)throw en;ty(1,0)}},$:function(en,er,ei,eo,ea,es){var eu=tv();try{t_(en,er,ei,eo,ea,es)}catch(en){if(tI(eu),en!==en+0)throw en;ty(1,0)}},n:function(en){return en},F:function(en){tu=en},ha:tA,y:function(en,er,ei,eo){return tA(en,er,ei,eo)}};(function(){function en(en){er.asm=en.exports,eS=er.asm.Ka,eL(),eR=er.asm.ib,eU.unshift(er.asm.La),eW--,er.monitorRunDependencies&&er.monitorRunDependencies(eW),0==eW&&(null!==eq&&(clearInterval(eq),eq=null),e$&&(en=e$,e$=null,en()))}function ei(er){en(er.instance)}function eo(en){return(function(){if(!ew&&(em||ey)){if("function"==typeof fetch&&!eZ.startsWith("file://"))return fetch(eZ,{credentials:"same-origin"}).then(function(en){if(!en.ok)throw"failed to load wasm binary file at '"+eZ+"'";return en.arrayBuffer()}).catch(function(){return eJ()});if(ec)return new Promise(function(en,er){ec(eZ,function(er){en(new Uint8Array(er))},er)})}return Promise.resolve().then(function(){return eJ()})})().then(function(en){return WebAssembly.instantiate(en,ea)}).then(function(en){return en}).then(en,function(en){eC("failed to asynchronously prepare wasm: "+en),eK(en)})}var ea={a:td};if(eW++,er.monitorRunDependencies&&er.monitorRunDependencies(eW),er.instantiateWasm)try{return er.instantiateWasm(ea,en)}catch(en){return eC("Module.instantiateWasm callback failed with error: "+en),!1}(ew||"function"!=typeof WebAssembly.instantiateStreaming||eY()||eZ.startsWith("file://")||ev||"function"!=typeof fetch?eo(ei):fetch(eZ,{credentials:"same-origin"}).then(function(en){return WebAssembly.instantiateStreaming(en,ea).then(ei,function(en){return eC("wasm streaming compile failed: "+en),eC("falling back to ArrayBuffer instantiation"),eo(ei)})})).catch(es)})(),er.___wasm_call_ctors=function(){return(er.___wasm_call_ctors=er.asm.La).apply(null,arguments)},er._OrtInit=function(){return(er._OrtInit=er.asm.Ma).apply(null,arguments)},er._OrtCreateSessionOptions=function(){return(er._OrtCreateSessionOptions=er.asm.Na).apply(null,arguments)},er._OrtAppendExecutionProvider=function(){return(er._OrtAppendExecutionProvider=er.asm.Oa).apply(null,arguments)},er._OrtAddSessionConfigEntry=function(){return(er._OrtAddSessionConfigEntry=er.asm.Pa).apply(null,arguments)},er._OrtReleaseSessionOptions=function(){return(er._OrtReleaseSessionOptions=er.asm.Qa).apply(null,arguments)},er._OrtCreateSession=function(){return(er._OrtCreateSession=er.asm.Ra).apply(null,arguments)},er._OrtReleaseSession=function(){return(er._OrtReleaseSession=er.asm.Sa).apply(null,arguments)},er._OrtGetInputCount=function(){return(er._OrtGetInputCount=er.asm.Ta).apply(null,arguments)},er._OrtGetOutputCount=function(){return(er._OrtGetOutputCount=er.asm.Ua).apply(null,arguments)},er._OrtGetInputName=function(){return(er._OrtGetInputName=er.asm.Va).apply(null,arguments)},er._OrtGetOutputName=function(){return(er._OrtGetOutputName=er.asm.Wa).apply(null,arguments)},er._OrtFree=function(){return(er._OrtFree=er.asm.Xa).apply(null,arguments)},er._OrtCreateTensor=function(){return(er._OrtCreateTensor=er.asm.Ya).apply(null,arguments)},er._OrtGetTensorData=function(){return(er._OrtGetTensorData=er.asm.Za).apply(null,arguments)},er._OrtReleaseTensor=function(){return(er._OrtReleaseTensor=er.asm._a).apply(null,arguments)},er._OrtCreateRunOptions=function(){return(er._OrtCreateRunOptions=er.asm.$a).apply(null,arguments)},er._OrtAddRunConfigEntry=function(){return(er._OrtAddRunConfigEntry=er.asm.ab).apply(null,arguments)},er._OrtReleaseRunOptions=function(){return(er._OrtReleaseRunOptions=er.asm.bb).apply(null,arguments)},er._OrtRun=function(){return(er._OrtRun=er.asm.cb).apply(null,arguments)},er._OrtEndProfiling=function(){return(er._OrtEndProfiling=er.asm.db).apply(null,arguments)};var th,tp=er._malloc=function(){return(tp=er._malloc=er.asm.eb).apply(null,arguments)},tg=er._free=function(){return(tg=er._free=er.asm.fb).apply(null,arguments)},tb=er._fflush=function(){return(tb=er._fflush=er.asm.gb).apply(null,arguments)},tm=er.___funcs_on_exit=function(){return(tm=er.___funcs_on_exit=er.asm.hb).apply(null,arguments)},ty=er._setThrew=function(){return(ty=er._setThrew=er.asm.jb).apply(null,arguments)},tv=er.stackSave=function(){return(tv=er.stackSave=er.asm.kb).apply(null,arguments)},tI=er.stackRestore=function(){return(tI=er.stackRestore=er.asm.lb).apply(null,arguments)},tw=er.stackAlloc=function(){return(tw=er.stackAlloc=er.asm.mb).apply(null,arguments)},tE=er.___cxa_can_catch=function(){return(tE=er.___cxa_can_catch=er.asm.nb).apply(null,arguments)},tC=er.___cxa_is_pointer_type=function(){return(tC=er.___cxa_is_pointer_type=er.asm.ob).apply(null,arguments)},tT=er.dynCall_j=function(){return(tT=er.dynCall_j=er.asm.pb).apply(null,arguments)},tS=er.dynCall_iiiiij=function(){return(tS=er.dynCall_iiiiij=er.asm.qb).apply(null,arguments)},tB=er.dynCall_jii=function(){return(tB=er.dynCall_jii=er.asm.rb).apply(null,arguments)},tx=er.dynCall_viiiiij=function(){return(tx=er.dynCall_viiiiij=er.asm.sb).apply(null,arguments)},t_=er.dynCall_vjji=function(){return(t_=er.dynCall_vjji=er.asm.tb).apply(null,arguments)},tD=er.dynCall_viiijjjii=function(){return(tD=er.dynCall_viiijjjii=er.asm.ub).apply(null,arguments)},tP=er.dynCall_iij=function(){return(tP=er.dynCall_iij=er.asm.vb).apply(null,arguments)},tO=er.dynCall_ji=function(){return(tO=er.dynCall_ji=er.asm.wb).apply(null,arguments)},tk=er.dynCall_iiiiiij=function(){return(tk=er.dynCall_iiiiiij=er.asm.xb).apply(null,arguments)},tQ=er.dynCall_iiij=function(){return(tQ=er.dynCall_iiij=er.asm.yb).apply(null,arguments)};function tM(){function en(){if(!th&&(th=!0,er.calledRun=!0,!eO)){if(e1(eU),ea(er),er.onRuntimeInitialized&&er.onRuntimeInitialized(),er.postRun)for("function"==typeof er.postRun&&(er.postRun=[er.postRun]);er.postRun.length;){var en=er.postRun.shift();eV.unshift(en)}e1(eV)}}if(!(0<eW)){if(er.preRun)for("function"==typeof er.preRun&&(er.preRun=[er.preRun]);er.preRun.length;)ez();e1(eG),0<eW||(er.setStatus?(er.setStatus("Running..."),setTimeout(function(){setTimeout(function(){er.setStatus("")},1),en()},1)):en())}}if(er.UTF8ToString=eM,er.stringToUTF8=function(en,er,ei){return eF(en,e_,er,ei)},er.lengthBytesUTF8=eN,er.stackSave=tv,er.stackRestore=tI,er.stackAlloc=tw,e$=function en(){th||tM(),th||(e$=en)},er.preInit)for("function"==typeof er.preInit&&(er.preInit=[er.preInit]);0<er.preInit.length;)er.preInit.pop()();return tM(),en.ready});en.exports=ea},4537:en=>{"use strict";en.exports=function(en,er){for(var ei=Array(arguments.length-1),eo=0,ea=2,es=!0;ea<arguments.length;)ei[eo++]=arguments[ea++];return new Promise(function(ea,eu){ei[eo]=function(en){if(es){if(es=!1,en)eu(en);else{for(var er=Array(arguments.length-1),ei=0;ei<er.length;)er[ei++]=arguments[ei];ea.apply(null,er)}}};try{en.apply(er||null,ei)}catch(en){es&&(es=!1,eu(en))}})}},7419:(en,er)=>{"use strict";var ei=er;ei.length=function(en){var er=en.length;if(!er)return 0;for(var ei=0;--er%4>1&&"="===en.charAt(er);)++ei;return Math.ceil(3*en.length)/4-ei};for(var eo=Array(64),ea=Array(123),es=0;es<64;)ea[eo[es]=es<26?es+65:es<52?es+71:es<62?es-4:es-59|43]=es++;ei.encode=function(en,er,ei){for(var ea,es=null,eu=[],ec=0,ef=0;er<ei;){var eA=en[er++];switch(ef){case 0:eu[ec++]=eo[eA>>2],ea=(3&eA)<<4,ef=1;break;case 1:eu[ec++]=eo[ea|eA>>4],ea=(15&eA)<<2,ef=2;break;case 2:eu[ec++]=eo[ea|eA>>6],eu[ec++]=eo[63&eA],ef=0}ec>8191&&((es||(es=[])).push(String.fromCharCode.apply(String,eu)),ec=0)}return ef&&(eu[ec++]=eo[ea],eu[ec++]=61,1===ef&&(eu[ec++]=61)),es?(ec&&es.push(String.fromCharCode.apply(String,eu.slice(0,ec))),es.join("")):String.fromCharCode.apply(String,eu.slice(0,ec))};var eu="invalid encoding";ei.decode=function(en,er,ei){for(var eo,es=ei,ec=0,ef=0;ef<en.length;){var eA=en.charCodeAt(ef++);if(61===eA&&ec>1)break;if(void 0===(eA=ea[eA]))throw Error(eu);switch(ec){case 0:eo=eA,ec=1;break;case 1:er[ei++]=eo<<2|(48&eA)>>4,eo=eA,ec=2;break;case 2:er[ei++]=(15&eo)<<4|(60&eA)>>2,eo=eA,ec=3;break;case 3:er[ei++]=(3&eo)<<6|eA,ec=0}}if(1===ec)throw Error(eu);return ei-es},ei.test=function(en){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(en)}},9211:en=>{"use strict";function er(){this._listeners={}}en.exports=er,er.prototype.on=function(en,er,ei){return(this._listeners[en]||(this._listeners[en]=[])).push({fn:er,ctx:ei||this}),this},er.prototype.off=function(en,er){if(void 0===en)this._listeners={};else if(void 0===er)this._listeners[en]=[];else for(var ei=this._listeners[en],eo=0;eo<ei.length;)ei[eo].fn===er?ei.splice(eo,1):++eo;return this},er.prototype.emit=function(en){var er=this._listeners[en];if(er){for(var ei=[],eo=1;eo<arguments.length;)ei.push(arguments[eo++]);for(eo=0;eo<er.length;)er[eo].fn.apply(er[eo++].ctx,ei)}return this}},945:en=>{"use strict";function er(en){return"undefined"!=typeof Float32Array?function(){var er=new Float32Array([-0]),ei=new Uint8Array(er.buffer),eo=128===ei[3];function ea(en,eo,ea){er[0]=en,eo[ea]=ei[0],eo[ea+1]=ei[1],eo[ea+2]=ei[2],eo[ea+3]=ei[3]}function es(en,eo,ea){er[0]=en,eo[ea]=ei[3],eo[ea+1]=ei[2],eo[ea+2]=ei[1],eo[ea+3]=ei[0]}function eu(en,eo){return ei[0]=en[eo],ei[1]=en[eo+1],ei[2]=en[eo+2],ei[3]=en[eo+3],er[0]}function ec(en,eo){return ei[3]=en[eo],ei[2]=en[eo+1],ei[1]=en[eo+2],ei[0]=en[eo+3],er[0]}en.writeFloatLE=eo?ea:es,en.writeFloatBE=eo?es:ea,en.readFloatLE=eo?eu:ec,en.readFloatBE=eo?ec:eu}():function(){function er(en,er,ei,eo){var ea=er<0?1:0;if(ea&&(er=-er),0===er)en(1/er>0?0:2147483648,ei,eo);else if(isNaN(er))en(2143289344,ei,eo);else if(er>34028234663852886e22)en((ea<<31|2139095040)>>>0,ei,eo);else if(er<11754943508222875e-54)en((ea<<31|Math.round(er/1401298464324817e-60))>>>0,ei,eo);else{var es=Math.floor(Math.log(er)/Math.LN2);en((ea<<31|es+127<<23|8388607&Math.round(er*Math.pow(2,-es)*8388608))>>>0,ei,eo)}}function eu(en,er,ei){var eo=en(er,ei),ea=2*(eo>>31)+1,es=eo>>>23&255,eu=8388607&eo;return 255===es?eu?NaN:ea*(1/0):0===es?1401298464324817e-60*ea*eu:ea*Math.pow(2,es-150)*(eu+8388608)}en.writeFloatLE=er.bind(null,ei),en.writeFloatBE=er.bind(null,eo),en.readFloatLE=eu.bind(null,ea),en.readFloatBE=eu.bind(null,es)}(),"undefined"!=typeof Float64Array?function(){var er=new Float64Array([-0]),ei=new Uint8Array(er.buffer),eo=128===ei[7];function ea(en,eo,ea){er[0]=en,eo[ea]=ei[0],eo[ea+1]=ei[1],eo[ea+2]=ei[2],eo[ea+3]=ei[3],eo[ea+4]=ei[4],eo[ea+5]=ei[5],eo[ea+6]=ei[6],eo[ea+7]=ei[7]}function es(en,eo,ea){er[0]=en,eo[ea]=ei[7],eo[ea+1]=ei[6],eo[ea+2]=ei[5],eo[ea+3]=ei[4],eo[ea+4]=ei[3],eo[ea+5]=ei[2],eo[ea+6]=ei[1],eo[ea+7]=ei[0]}function eu(en,eo){return ei[0]=en[eo],ei[1]=en[eo+1],ei[2]=en[eo+2],ei[3]=en[eo+3],ei[4]=en[eo+4],ei[5]=en[eo+5],ei[6]=en[eo+6],ei[7]=en[eo+7],er[0]}function ec(en,eo){return ei[7]=en[eo],ei[6]=en[eo+1],ei[5]=en[eo+2],ei[4]=en[eo+3],ei[3]=en[eo+4],ei[2]=en[eo+5],ei[1]=en[eo+6],ei[0]=en[eo+7],er[0]}en.writeDoubleLE=eo?ea:es,en.writeDoubleBE=eo?es:ea,en.readDoubleLE=eo?eu:ec,en.readDoubleBE=eo?ec:eu}():function(){function er(en,er,ei,eo,ea,es){var eu,ec=eo<0?1:0;if(ec&&(eo=-eo),0===eo)en(0,ea,es+er),en(1/eo>0?0:2147483648,ea,es+ei);else if(isNaN(eo))en(0,ea,es+er),en(2146959360,ea,es+ei);else if(eo>17976931348623157e292)en(0,ea,es+er),en((ec<<31|2146435072)>>>0,ea,es+ei);else if(eo<22250738585072014e-324)en((eu=eo/5e-324)>>>0,ea,es+er),en((ec<<31|eu/4294967296)>>>0,ea,es+ei);else{var ef=Math.floor(Math.log(eo)/Math.LN2);1024===ef&&(ef=1023),en(4503599627370496*(eu=eo*Math.pow(2,-ef))>>>0,ea,es+er),en((ec<<31|ef+1023<<20|1048576*eu&1048575)>>>0,ea,es+ei)}}function eu(en,er,ei,eo,ea){var es=en(eo,ea+er),eu=en(eo,ea+ei),ec=2*(eu>>31)+1,ef=eu>>>20&2047,eA=4294967296*(1048575&eu)+es;return 2047===ef?eA?NaN:ec*(1/0):0===ef?5e-324*ec*eA:ec*Math.pow(2,ef-1075)*(eA+4503599627370496)}en.writeDoubleLE=er.bind(null,ei,0,4),en.writeDoubleBE=er.bind(null,eo,4,0),en.readDoubleLE=eu.bind(null,ea,0,4),en.readDoubleBE=eu.bind(null,es,4,0)}(),en}function ei(en,er,ei){er[ei]=255&en,er[ei+1]=en>>>8&255,er[ei+2]=en>>>16&255,er[ei+3]=en>>>24}function eo(en,er,ei){er[ei]=en>>>24,er[ei+1]=en>>>16&255,er[ei+2]=en>>>8&255,er[ei+3]=255&en}function ea(en,er){return(en[er]|en[er+1]<<8|en[er+2]<<16|en[er+3]<<24)>>>0}function es(en,er){return(en[er]<<24|en[er+1]<<16|en[er+2]<<8|en[er+3])>>>0}en.exports=er(er)},7199:module=>{"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}module.exports=inquire},6662:en=>{"use strict";en.exports=function(en,er,ei){var eo=ei||8192,ea=eo>>>1,es=null,eu=eo;return function(ei){if(ei<1||ei>ea)return en(ei);eu+ei>eo&&(es=en(eo),eu=0);var ec=er.call(es,eu,eu+=ei);return 7&eu&&(eu=1+(7|eu)),ec}}},4997:(en,er)=>{"use strict";var ei=er;ei.length=function(en){for(var er=0,ei=0,eo=0;eo<en.length;++eo)(ei=en.charCodeAt(eo))<128?er+=1:ei<2048?er+=2:55296==(64512&ei)&&56320==(64512&en.charCodeAt(eo+1))?(++eo,er+=4):er+=3;return er},ei.read=function(en,er,ei){if(ei-er<1)return"";for(var eo,ea=null,es=[],eu=0;er<ei;)(eo=en[er++])<128?es[eu++]=eo:eo>191&&eo<224?es[eu++]=(31&eo)<<6|63&en[er++]:eo>239&&eo<365?(eo=((7&eo)<<18|(63&en[er++])<<12|(63&en[er++])<<6|63&en[er++])-65536,es[eu++]=55296+(eo>>10),es[eu++]=56320+(1023&eo)):es[eu++]=(15&eo)<<12|(63&en[er++])<<6|63&en[er++],eu>8191&&((ea||(ea=[])).push(String.fromCharCode.apply(String,es)),eu=0);return ea?(eu&&ea.push(String.fromCharCode.apply(String,es.slice(0,eu))),ea.join("")):String.fromCharCode.apply(String,es.slice(0,eu))},ei.write=function(en,er,ei){for(var eo,ea,es=ei,eu=0;eu<en.length;++eu)(eo=en.charCodeAt(eu))<128?er[ei++]=eo:eo<2048?(er[ei++]=eo>>6|192,er[ei++]=63&eo|128):55296==(64512&eo)&&56320==(64512&(ea=en.charCodeAt(eu+1)))?(eo=65536+((1023&eo)<<10)+(1023&ea),++eu,er[ei++]=eo>>18|240,er[ei++]=eo>>12&63|128,er[ei++]=eo>>6&63|128,er[ei++]=63&eo|128):(er[ei++]=eo>>12|224,er[ei++]=eo>>6&63|128,er[ei++]=63&eo|128);return ei-es}},3442:(en,er)=>{"use strict";er.__esModule=!0;var ei=function(){function en(er){if(!er)throw TypeError("Invalid argument; `value` has no value.");this.value=en.EMPTY,er&&en.isGuid(er)&&(this.value=er)}return en.isGuid=function(er){var ei=er.toString();return er&&(er instanceof en||en.validator.test(ei))},en.create=function(){return new en([en.gen(2),en.gen(1),en.gen(1),en.gen(1),en.gen(3)].join("-"))},en.createEmpty=function(){return new en("emptyguid")},en.parse=function(er){return new en(er)},en.raw=function(){return[en.gen(2),en.gen(1),en.gen(1),en.gen(1),en.gen(3)].join("-")},en.gen=function(en){for(var er="",ei=0;ei<en;ei++)er+=(65536*(1+Math.random())|0).toString(16).substring(1);return er},en.prototype.equals=function(er){return en.isGuid(er)&&this.value===er.toString()},en.prototype.isEmpty=function(){return this.value===en.EMPTY},en.prototype.toString=function(){return this.value},en.prototype.toJSON=function(){return{value:this.value}},en.validator=RegExp("^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$","i"),en.EMPTY="00000000-0000-0000-0000-000000000000",en}();er.Guid=ei},3720:en=>{en.exports=ei;var er=null;try{er=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(en){}function ei(en,er,ei){this.low=0|en,this.high=0|er,this.unsigned=!!ei}function eo(en){return!0===(en&&en.__isLong__)}ei.prototype.__isLong__,Object.defineProperty(ei.prototype,"__isLong__",{value:!0}),ei.isLong=eo;var ea={},es={};function eu(en,er){var ei,eo,eu;return er?(eu=0<=(en>>>=0)&&en<256)&&(eo=es[en])?eo:(ei=ef(en,(0|en)<0?-1:0,!0),eu&&(es[en]=ei),ei):(eu=-128<=(en|=0)&&en<128)&&(eo=ea[en])?eo:(ei=ef(en,en<0?-1:0,!1),eu&&(ea[en]=ei),ei)}function ec(en,er){if(isNaN(en))return er?ev:ey;if(er){if(en<0)return ev;if(en>=eg)return eT}else{if(en<=-eb)return eS;if(en+1>=eb)return eC}return en<0?ec(-en,er).neg():ef(en%ep|0,en/ep|0,er)}function ef(en,er,eo){return new ei(en,er,eo)}ei.fromInt=eu,ei.fromNumber=ec,ei.fromBits=ef;var eA=Math.pow;function ed(en,er,ei){if(0===en.length)throw Error("empty string");if("NaN"===en||"Infinity"===en||"+Infinity"===en||"-Infinity"===en)return ey;if("number"==typeof er?(ei=er,er=!1):er=!!er,(ei=ei||10)<2||36<ei)throw RangeError("radix");if((eo=en.indexOf("-"))>0)throw Error("interior hyphen");if(0===eo)return ed(en.substring(1),er,ei).neg();for(var eo,ea=ec(eA(ei,8)),es=ey,eu=0;eu<en.length;eu+=8){var ef=Math.min(8,en.length-eu),eh=parseInt(en.substring(eu,eu+ef),ei);if(ef<8){var ep=ec(eA(ei,ef));es=es.mul(ep).add(ec(eh))}else es=(es=es.mul(ea)).add(ec(eh))}return es.unsigned=er,es}function eh(en,er){return"number"==typeof en?ec(en,er):"string"==typeof en?ed(en,er):ef(en.low,en.high,"boolean"==typeof er?er:en.unsigned)}ei.fromString=ed,ei.fromValue=eh;var ep=4294967296,eg=18446744073709552e3,eb=18446744073709552e3/2,em=eu(16777216),ey=eu(0);ei.ZERO=ey;var ev=eu(0,!0);ei.UZERO=ev;var eI=eu(1);ei.ONE=eI;var ew=eu(1,!0);ei.UONE=ew;var eE=eu(-1);ei.NEG_ONE=eE;var eC=ef(-1,2147483647,!1);ei.MAX_VALUE=eC;var eT=ef(-1,-1,!0);ei.MAX_UNSIGNED_VALUE=eT;var eS=ef(0,-2147483648,!1);ei.MIN_VALUE=eS;var eB=ei.prototype;eB.toInt=function(){return this.unsigned?this.low>>>0:this.low},eB.toNumber=function(){return this.unsigned?(this.high>>>0)*ep+(this.low>>>0):this.high*ep+(this.low>>>0)},eB.toString=function(en){if((en=en||10)<2||36<en)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(eS)){var er=ec(en),ei=this.div(er),eo=ei.mul(er).sub(this);return ei.toString(en)+eo.toInt().toString(en)}return"-"+this.neg().toString(en)}for(var ea=ec(eA(en,6),this.unsigned),es=this,eu="";;){var ef=es.div(ea),ed=(es.sub(ef.mul(ea)).toInt()>>>0).toString(en);if((es=ef).isZero())return ed+eu;for(;ed.length<6;)ed="0"+ed;eu=""+ed+eu}},eB.getHighBits=function(){return this.high},eB.getHighBitsUnsigned=function(){return this.high>>>0},eB.getLowBits=function(){return this.low},eB.getLowBitsUnsigned=function(){return this.low>>>0},eB.getNumBitsAbs=function(){if(this.isNegative())return this.eq(eS)?64:this.neg().getNumBitsAbs();for(var en=0!=this.high?this.high:this.low,er=31;er>0&&0==(en&1<<er);er--);return 0!=this.high?er+33:er+1},eB.isZero=function(){return 0===this.high&&0===this.low},eB.eqz=eB.isZero,eB.isNegative=function(){return!this.unsigned&&this.high<0},eB.isPositive=function(){return this.unsigned||this.high>=0},eB.isOdd=function(){return 1==(1&this.low)},eB.isEven=function(){return 0==(1&this.low)},eB.equals=function(en){return eo(en)||(en=eh(en)),(this.unsigned===en.unsigned||this.high>>>31!=1||en.high>>>31!=1)&&this.high===en.high&&this.low===en.low},eB.eq=eB.equals,eB.notEquals=function(en){return!this.eq(en)},eB.neq=eB.notEquals,eB.ne=eB.notEquals,eB.lessThan=function(en){return 0>this.comp(en)},eB.lt=eB.lessThan,eB.lessThanOrEqual=function(en){return 0>=this.comp(en)},eB.lte=eB.lessThanOrEqual,eB.le=eB.lessThanOrEqual,eB.greaterThan=function(en){return this.comp(en)>0},eB.gt=eB.greaterThan,eB.greaterThanOrEqual=function(en){return this.comp(en)>=0},eB.gte=eB.greaterThanOrEqual,eB.ge=eB.greaterThanOrEqual,eB.compare=function(en){if(eo(en)||(en=eh(en)),this.eq(en))return 0;var er=this.isNegative(),ei=en.isNegative();return er&&!ei?-1:!er&&ei?1:this.unsigned?en.high>>>0>this.high>>>0||en.high===this.high&&en.low>>>0>this.low>>>0?-1:1:this.sub(en).isNegative()?-1:1},eB.comp=eB.compare,eB.negate=function(){return!this.unsigned&&this.eq(eS)?eS:this.not().add(eI)},eB.neg=eB.negate,eB.add=function(en){eo(en)||(en=eh(en));var er,ei,ea,es,eu=this.high>>>16,ec=65535&this.high,eA=this.low>>>16,ed=65535&this.low,ep=en.high>>>16,eg=65535&en.high,eb=en.low>>>16;return es=0+(((ea=0+((er=0+((ei=0+(ed+(65535&en.low)))>>>16)+(eA+eb))>>>16)+(ec+eg))>>>16)+(eu+ep)),ef((er&=65535)<<16|(ei&=65535),(es&=65535)<<16|(ea&=65535),this.unsigned)},eB.subtract=function(en){return eo(en)||(en=eh(en)),this.add(en.neg())},eB.sub=eB.subtract,eB.multiply=function(en){if(this.isZero())return ey;if(eo(en)||(en=eh(en)),er)return ef(er.mul(this.low,this.high,en.low,en.high),er.get_high(),this.unsigned);if(en.isZero())return ey;if(this.eq(eS))return en.isOdd()?eS:ey;if(en.eq(eS))return this.isOdd()?eS:ey;if(this.isNegative())return en.isNegative()?this.neg().mul(en.neg()):this.neg().mul(en).neg();if(en.isNegative())return this.mul(en.neg()).neg();if(this.lt(em)&&en.lt(em))return ec(this.toNumber()*en.toNumber(),this.unsigned);var ei,ea,es,eu=this.high>>>16,eA=65535&this.high,ed=this.low>>>16,ep=65535&this.low,eg=en.high>>>16,eb=65535&en.high,ev=en.low>>>16,eI=65535&en.low,ew=0;return es=0+((ei=0+((ea=0+ep*eI)>>>16)+ed*eI)>>>16),ei&=65535,es+=(ei+=ep*ev)>>>16,ew+=(es+=eA*eI)>>>16,es&=65535,ew+=(es+=ed*ev)>>>16,es&=65535,ew+=((es+=ep*eb)>>>16)+(eu*eI+eA*ev+ed*eb+ep*eg),ef((ei&=65535)<<16|(ea&=65535),(ew&=65535)<<16|(es&=65535),this.unsigned)},eB.mul=eB.multiply,eB.divide=function(en){if(eo(en)||(en=eh(en)),en.isZero())throw Error("division by zero");if(er)return this.unsigned||-2147483648!==this.high||-1!==en.low||-1!==en.high?ef((this.unsigned?er.div_u:er.div_s)(this.low,this.high,en.low,en.high),er.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?ev:ey;if(this.unsigned){if(en.unsigned||(en=en.toUnsigned()),en.gt(this))return ev;if(en.gt(this.shru(1)))return ew;es=ev}else{if(this.eq(eS))return en.eq(eI)||en.eq(eE)?eS:en.eq(eS)?eI:(ei=this.shr(1).div(en).shl(1)).eq(ey)?en.isNegative()?eI:eE:(ea=this.sub(en.mul(ei)),es=ei.add(ea.div(en)));if(en.eq(eS))return this.unsigned?ev:ey;if(this.isNegative())return en.isNegative()?this.neg().div(en.neg()):this.neg().div(en).neg();if(en.isNegative())return this.div(en.neg()).neg();es=ey}for(ea=this;ea.gte(en);){ei=Math.max(1,Math.floor(ea.toNumber()/en.toNumber()));for(var ei,ea,es,eu=Math.ceil(Math.log(ei)/Math.LN2),ed=eu<=48?1:eA(2,eu-48),ep=ec(ei),eg=ep.mul(en);eg.isNegative()||eg.gt(ea);)eg=(ep=ec(ei-=ed,this.unsigned)).mul(en);ep.isZero()&&(ep=eI),es=es.add(ep),ea=ea.sub(eg)}return es},eB.div=eB.divide,eB.modulo=function(en){return eo(en)||(en=eh(en)),er?ef((this.unsigned?er.rem_u:er.rem_s)(this.low,this.high,en.low,en.high),er.get_high(),this.unsigned):this.sub(this.div(en).mul(en))},eB.mod=eB.modulo,eB.rem=eB.modulo,eB.not=function(){return ef(~this.low,~this.high,this.unsigned)},eB.and=function(en){return eo(en)||(en=eh(en)),ef(this.low&en.low,this.high&en.high,this.unsigned)},eB.or=function(en){return eo(en)||(en=eh(en)),ef(this.low|en.low,this.high|en.high,this.unsigned)},eB.xor=function(en){return eo(en)||(en=eh(en)),ef(this.low^en.low,this.high^en.high,this.unsigned)},eB.shiftLeft=function(en){return eo(en)&&(en=en.toInt()),0==(en&=63)?this:en<32?ef(this.low<<en,this.high<<en|this.low>>>32-en,this.unsigned):ef(0,this.low<<en-32,this.unsigned)},eB.shl=eB.shiftLeft,eB.shiftRight=function(en){return eo(en)&&(en=en.toInt()),0==(en&=63)?this:en<32?ef(this.low>>>en|this.high<<32-en,this.high>>en,this.unsigned):ef(this.high>>en-32,this.high>=0?0:-1,this.unsigned)},eB.shr=eB.shiftRight,eB.shiftRightUnsigned=function(en){if(eo(en)&&(en=en.toInt()),0==(en&=63))return this;var er=this.high;return en<32?ef(this.low>>>en|er<<32-en,er>>>en,this.unsigned):ef(32===en?er:er>>>en-32,0,this.unsigned)},eB.shru=eB.shiftRightUnsigned,eB.shr_u=eB.shiftRightUnsigned,eB.toSigned=function(){return this.unsigned?ef(this.low,this.high,!1):this},eB.toUnsigned=function(){return this.unsigned?this:ef(this.low,this.high,!0)},eB.toBytes=function(en){return en?this.toBytesLE():this.toBytesBE()},eB.toBytesLE=function(){var en=this.high,er=this.low;return[255&er,er>>>8&255,er>>>16&255,er>>>24,255&en,en>>>8&255,en>>>16&255,en>>>24]},eB.toBytesBE=function(){var en=this.high,er=this.low;return[en>>>24,en>>>16&255,en>>>8&255,255&en,er>>>24,er>>>16&255,er>>>8&255,255&er]},ei.fromBytes=function(en,er,eo){return eo?ei.fromBytesLE(en,er):ei.fromBytesBE(en,er)},ei.fromBytesLE=function(en,er){return new ei(en[0]|en[1]<<8|en[2]<<16|en[3]<<24,en[4]|en[5]<<8|en[6]<<16|en[7]<<24,er)},ei.fromBytesBE=function(en,er){return new ei(en[4]<<24|en[5]<<16|en[6]<<8|en[7],en[0]<<24|en[1]<<16|en[2]<<8|en[3],er)}},1446:(en,er,ei)=>{"use strict";var eo,ea,es,eu=ei(2100),ec=eu.Reader,ef=eu.Writer,eA=eu.util,ed=eu.roots.default||(eu.roots.default={});ed.onnx=((es={}).Version=((ea=Object.create(eo={}))[eo[0]="_START_VERSION"]=0,ea[eo[1]="IR_VERSION_2017_10_10"]=1,ea[eo[2]="IR_VERSION_2017_10_30"]=2,ea[eo[3]="IR_VERSION_2017_11_3"]=3,ea[eo[4]="IR_VERSION_2019_1_22"]=4,ea[eo[5]="IR_VERSION"]=5,ea),es.AttributeProto=function(){function en(en){if(this.floats=[],this.ints=[],this.strings=[],this.tensors=[],this.graphs=[],en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return en.prototype.name="",en.prototype.refAttrName="",en.prototype.docString="",en.prototype.type=0,en.prototype.f=0,en.prototype.i=eA.Long?eA.Long.fromBits(0,0,!1):0,en.prototype.s=eA.newBuffer([]),en.prototype.t=null,en.prototype.g=null,en.prototype.floats=eA.emptyArray,en.prototype.ints=eA.emptyArray,en.prototype.strings=eA.emptyArray,en.prototype.tensors=eA.emptyArray,en.prototype.graphs=eA.emptyArray,en.create=function(er){return new en(er)},en.encode=function(en,er){if(er||(er=ef.create()),null!=en.name&&en.hasOwnProperty("name")&&er.uint32(10).string(en.name),null!=en.f&&en.hasOwnProperty("f")&&er.uint32(21).float(en.f),null!=en.i&&en.hasOwnProperty("i")&&er.uint32(24).int64(en.i),null!=en.s&&en.hasOwnProperty("s")&&er.uint32(34).bytes(en.s),null!=en.t&&en.hasOwnProperty("t")&&ed.onnx.TensorProto.encode(en.t,er.uint32(42).fork()).ldelim(),null!=en.g&&en.hasOwnProperty("g")&&ed.onnx.GraphProto.encode(en.g,er.uint32(50).fork()).ldelim(),null!=en.floats&&en.floats.length){er.uint32(58).fork();for(var ei=0;ei<en.floats.length;++ei)er.float(en.floats[ei]);er.ldelim()}if(null!=en.ints&&en.ints.length){for(er.uint32(66).fork(),ei=0;ei<en.ints.length;++ei)er.int64(en.ints[ei]);er.ldelim()}if(null!=en.strings&&en.strings.length)for(ei=0;ei<en.strings.length;++ei)er.uint32(74).bytes(en.strings[ei]);if(null!=en.tensors&&en.tensors.length)for(ei=0;ei<en.tensors.length;++ei)ed.onnx.TensorProto.encode(en.tensors[ei],er.uint32(82).fork()).ldelim();if(null!=en.graphs&&en.graphs.length)for(ei=0;ei<en.graphs.length;++ei)ed.onnx.GraphProto.encode(en.graphs[ei],er.uint32(90).fork()).ldelim();return null!=en.docString&&en.hasOwnProperty("docString")&&er.uint32(106).string(en.docString),null!=en.type&&en.hasOwnProperty("type")&&er.uint32(160).int32(en.type),null!=en.refAttrName&&en.hasOwnProperty("refAttrName")&&er.uint32(170).string(en.refAttrName),er},en.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},en.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.AttributeProto;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:eo.name=en.string();break;case 21:eo.refAttrName=en.string();break;case 13:eo.docString=en.string();break;case 20:eo.type=en.int32();break;case 2:eo.f=en.float();break;case 3:eo.i=en.int64();break;case 4:eo.s=en.bytes();break;case 5:eo.t=ed.onnx.TensorProto.decode(en,en.uint32());break;case 6:eo.g=ed.onnx.GraphProto.decode(en,en.uint32());break;case 7:if(eo.floats&&eo.floats.length||(eo.floats=[]),2==(7&ea))for(var es=en.uint32()+en.pos;en.pos<es;)eo.floats.push(en.float());else eo.floats.push(en.float());break;case 8:if(eo.ints&&eo.ints.length||(eo.ints=[]),2==(7&ea))for(es=en.uint32()+en.pos;en.pos<es;)eo.ints.push(en.int64());else eo.ints.push(en.int64());break;case 9:eo.strings&&eo.strings.length||(eo.strings=[]),eo.strings.push(en.bytes());break;case 10:eo.tensors&&eo.tensors.length||(eo.tensors=[]),eo.tensors.push(ed.onnx.TensorProto.decode(en,en.uint32()));break;case 11:eo.graphs&&eo.graphs.length||(eo.graphs=[]),eo.graphs.push(ed.onnx.GraphProto.decode(en,en.uint32()));break;default:en.skipType(7&ea)}}return eo},en.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},en.verify=function(en){if("object"!=typeof en||null===en)return"object expected";if(null!=en.name&&en.hasOwnProperty("name")&&!eA.isString(en.name))return"name: string expected";if(null!=en.refAttrName&&en.hasOwnProperty("refAttrName")&&!eA.isString(en.refAttrName))return"refAttrName: string expected";if(null!=en.docString&&en.hasOwnProperty("docString")&&!eA.isString(en.docString))return"docString: string expected";if(null!=en.type&&en.hasOwnProperty("type"))switch(en.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:}if(null!=en.f&&en.hasOwnProperty("f")&&"number"!=typeof en.f)return"f: number expected";if(null!=en.i&&en.hasOwnProperty("i")&&!(eA.isInteger(en.i)||en.i&&eA.isInteger(en.i.low)&&eA.isInteger(en.i.high)))return"i: integer|Long expected";if(null!=en.s&&en.hasOwnProperty("s")&&!(en.s&&"number"==typeof en.s.length||eA.isString(en.s)))return"s: buffer expected";if(null!=en.t&&en.hasOwnProperty("t")&&(er=ed.onnx.TensorProto.verify(en.t)))return"t."+er;if(null!=en.g&&en.hasOwnProperty("g")&&(er=ed.onnx.GraphProto.verify(en.g)))return"g."+er;if(null!=en.floats&&en.hasOwnProperty("floats")){if(!Array.isArray(en.floats))return"floats: array expected";for(var er,ei=0;ei<en.floats.length;++ei)if("number"!=typeof en.floats[ei])return"floats: number[] expected"}if(null!=en.ints&&en.hasOwnProperty("ints")){if(!Array.isArray(en.ints))return"ints: array expected";for(ei=0;ei<en.ints.length;++ei)if(!(eA.isInteger(en.ints[ei])||en.ints[ei]&&eA.isInteger(en.ints[ei].low)&&eA.isInteger(en.ints[ei].high)))return"ints: integer|Long[] expected"}if(null!=en.strings&&en.hasOwnProperty("strings")){if(!Array.isArray(en.strings))return"strings: array expected";for(ei=0;ei<en.strings.length;++ei)if(!(en.strings[ei]&&"number"==typeof en.strings[ei].length||eA.isString(en.strings[ei])))return"strings: buffer[] expected"}if(null!=en.tensors&&en.hasOwnProperty("tensors")){if(!Array.isArray(en.tensors))return"tensors: array expected";for(ei=0;ei<en.tensors.length;++ei)if(er=ed.onnx.TensorProto.verify(en.tensors[ei]))return"tensors."+er}if(null!=en.graphs&&en.hasOwnProperty("graphs")){if(!Array.isArray(en.graphs))return"graphs: array expected";for(ei=0;ei<en.graphs.length;++ei)if(er=ed.onnx.GraphProto.verify(en.graphs[ei]))return"graphs."+er}return null},en.fromObject=function(en){if(en instanceof ed.onnx.AttributeProto)return en;var er=new ed.onnx.AttributeProto;switch(null!=en.name&&(er.name=String(en.name)),null!=en.refAttrName&&(er.refAttrName=String(en.refAttrName)),null!=en.docString&&(er.docString=String(en.docString)),en.type){case"UNDEFINED":case 0:er.type=0;break;case"FLOAT":case 1:er.type=1;break;case"INT":case 2:er.type=2;break;case"STRING":case 3:er.type=3;break;case"TENSOR":case 4:er.type=4;break;case"GRAPH":case 5:er.type=5;break;case"FLOATS":case 6:er.type=6;break;case"INTS":case 7:er.type=7;break;case"STRINGS":case 8:er.type=8;break;case"TENSORS":case 9:er.type=9;break;case"GRAPHS":case 10:er.type=10}if(null!=en.f&&(er.f=Number(en.f)),null!=en.i&&(eA.Long?(er.i=eA.Long.fromValue(en.i)).unsigned=!1:"string"==typeof en.i?er.i=parseInt(en.i,10):"number"==typeof en.i?er.i=en.i:"object"==typeof en.i&&(er.i=new eA.LongBits(en.i.low>>>0,en.i.high>>>0).toNumber())),null!=en.s&&("string"==typeof en.s?eA.base64.decode(en.s,er.s=eA.newBuffer(eA.base64.length(en.s)),0):en.s.length&&(er.s=en.s)),null!=en.t){if("object"!=typeof en.t)throw TypeError(".onnx.AttributeProto.t: object expected");er.t=ed.onnx.TensorProto.fromObject(en.t)}if(null!=en.g){if("object"!=typeof en.g)throw TypeError(".onnx.AttributeProto.g: object expected");er.g=ed.onnx.GraphProto.fromObject(en.g)}if(en.floats){if(!Array.isArray(en.floats))throw TypeError(".onnx.AttributeProto.floats: array expected");er.floats=[];for(var ei=0;ei<en.floats.length;++ei)er.floats[ei]=Number(en.floats[ei])}if(en.ints){if(!Array.isArray(en.ints))throw TypeError(".onnx.AttributeProto.ints: array expected");for(er.ints=[],ei=0;ei<en.ints.length;++ei)eA.Long?(er.ints[ei]=eA.Long.fromValue(en.ints[ei])).unsigned=!1:"string"==typeof en.ints[ei]?er.ints[ei]=parseInt(en.ints[ei],10):"number"==typeof en.ints[ei]?er.ints[ei]=en.ints[ei]:"object"==typeof en.ints[ei]&&(er.ints[ei]=new eA.LongBits(en.ints[ei].low>>>0,en.ints[ei].high>>>0).toNumber())}if(en.strings){if(!Array.isArray(en.strings))throw TypeError(".onnx.AttributeProto.strings: array expected");for(er.strings=[],ei=0;ei<en.strings.length;++ei)"string"==typeof en.strings[ei]?eA.base64.decode(en.strings[ei],er.strings[ei]=eA.newBuffer(eA.base64.length(en.strings[ei])),0):en.strings[ei].length&&(er.strings[ei]=en.strings[ei])}if(en.tensors){if(!Array.isArray(en.tensors))throw TypeError(".onnx.AttributeProto.tensors: array expected");for(er.tensors=[],ei=0;ei<en.tensors.length;++ei){if("object"!=typeof en.tensors[ei])throw TypeError(".onnx.AttributeProto.tensors: object expected");er.tensors[ei]=ed.onnx.TensorProto.fromObject(en.tensors[ei])}}if(en.graphs){if(!Array.isArray(en.graphs))throw TypeError(".onnx.AttributeProto.graphs: array expected");for(er.graphs=[],ei=0;ei<en.graphs.length;++ei){if("object"!=typeof en.graphs[ei])throw TypeError(".onnx.AttributeProto.graphs: object expected");er.graphs[ei]=ed.onnx.GraphProto.fromObject(en.graphs[ei])}}return er},en.toObject=function(en,er){er||(er={});var ei={};if((er.arrays||er.defaults)&&(ei.floats=[],ei.ints=[],ei.strings=[],ei.tensors=[],ei.graphs=[]),er.defaults){if(ei.name="",ei.f=0,eA.Long){var eo=new eA.Long(0,0,!1);ei.i=er.longs===String?eo.toString():er.longs===Number?eo.toNumber():eo}else ei.i=er.longs===String?"0":0;er.bytes===String?ei.s="":(ei.s=[],er.bytes!==Array&&(ei.s=eA.newBuffer(ei.s))),ei.t=null,ei.g=null,ei.docString="",ei.type=er.enums===String?"UNDEFINED":0,ei.refAttrName=""}if(null!=en.name&&en.hasOwnProperty("name")&&(ei.name=en.name),null!=en.f&&en.hasOwnProperty("f")&&(ei.f=er.json&&!isFinite(en.f)?String(en.f):en.f),null!=en.i&&en.hasOwnProperty("i")&&("number"==typeof en.i?ei.i=er.longs===String?String(en.i):en.i:ei.i=er.longs===String?eA.Long.prototype.toString.call(en.i):er.longs===Number?new eA.LongBits(en.i.low>>>0,en.i.high>>>0).toNumber():en.i),null!=en.s&&en.hasOwnProperty("s")&&(ei.s=er.bytes===String?eA.base64.encode(en.s,0,en.s.length):er.bytes===Array?Array.prototype.slice.call(en.s):en.s),null!=en.t&&en.hasOwnProperty("t")&&(ei.t=ed.onnx.TensorProto.toObject(en.t,er)),null!=en.g&&en.hasOwnProperty("g")&&(ei.g=ed.onnx.GraphProto.toObject(en.g,er)),en.floats&&en.floats.length){ei.floats=[];for(var ea=0;ea<en.floats.length;++ea)ei.floats[ea]=er.json&&!isFinite(en.floats[ea])?String(en.floats[ea]):en.floats[ea]}if(en.ints&&en.ints.length)for(ei.ints=[],ea=0;ea<en.ints.length;++ea)"number"==typeof en.ints[ea]?ei.ints[ea]=er.longs===String?String(en.ints[ea]):en.ints[ea]:ei.ints[ea]=er.longs===String?eA.Long.prototype.toString.call(en.ints[ea]):er.longs===Number?new eA.LongBits(en.ints[ea].low>>>0,en.ints[ea].high>>>0).toNumber():en.ints[ea];if(en.strings&&en.strings.length)for(ei.strings=[],ea=0;ea<en.strings.length;++ea)ei.strings[ea]=er.bytes===String?eA.base64.encode(en.strings[ea],0,en.strings[ea].length):er.bytes===Array?Array.prototype.slice.call(en.strings[ea]):en.strings[ea];if(en.tensors&&en.tensors.length)for(ei.tensors=[],ea=0;ea<en.tensors.length;++ea)ei.tensors[ea]=ed.onnx.TensorProto.toObject(en.tensors[ea],er);if(en.graphs&&en.graphs.length)for(ei.graphs=[],ea=0;ea<en.graphs.length;++ea)ei.graphs[ea]=ed.onnx.GraphProto.toObject(en.graphs[ea],er);return null!=en.docString&&en.hasOwnProperty("docString")&&(ei.docString=en.docString),null!=en.type&&en.hasOwnProperty("type")&&(ei.type=er.enums===String?ed.onnx.AttributeProto.AttributeType[en.type]:en.type),null!=en.refAttrName&&en.hasOwnProperty("refAttrName")&&(ei.refAttrName=en.refAttrName),ei},en.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},en.AttributeType=function(){var en={},er=Object.create(en);return er[en[0]="UNDEFINED"]=0,er[en[1]="FLOAT"]=1,er[en[2]="INT"]=2,er[en[3]="STRING"]=3,er[en[4]="TENSOR"]=4,er[en[5]="GRAPH"]=5,er[en[6]="FLOATS"]=6,er[en[7]="INTS"]=7,er[en[8]="STRINGS"]=8,er[en[9]="TENSORS"]=9,er[en[10]="GRAPHS"]=10,er}(),en}(),es.ValueInfoProto=function(){function en(en){if(en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return en.prototype.name="",en.prototype.type=null,en.prototype.docString="",en.create=function(er){return new en(er)},en.encode=function(en,er){return er||(er=ef.create()),null!=en.name&&en.hasOwnProperty("name")&&er.uint32(10).string(en.name),null!=en.type&&en.hasOwnProperty("type")&&ed.onnx.TypeProto.encode(en.type,er.uint32(18).fork()).ldelim(),null!=en.docString&&en.hasOwnProperty("docString")&&er.uint32(26).string(en.docString),er},en.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},en.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.ValueInfoProto;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:eo.name=en.string();break;case 2:eo.type=ed.onnx.TypeProto.decode(en,en.uint32());break;case 3:eo.docString=en.string();break;default:en.skipType(7&ea)}}return eo},en.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},en.verify=function(en){if("object"!=typeof en||null===en)return"object expected";if(null!=en.name&&en.hasOwnProperty("name")&&!eA.isString(en.name))return"name: string expected";if(null!=en.type&&en.hasOwnProperty("type")){var er=ed.onnx.TypeProto.verify(en.type);if(er)return"type."+er}return null!=en.docString&&en.hasOwnProperty("docString")&&!eA.isString(en.docString)?"docString: string expected":null},en.fromObject=function(en){if(en instanceof ed.onnx.ValueInfoProto)return en;var er=new ed.onnx.ValueInfoProto;if(null!=en.name&&(er.name=String(en.name)),null!=en.type){if("object"!=typeof en.type)throw TypeError(".onnx.ValueInfoProto.type: object expected");er.type=ed.onnx.TypeProto.fromObject(en.type)}return null!=en.docString&&(er.docString=String(en.docString)),er},en.toObject=function(en,er){er||(er={});var ei={};return er.defaults&&(ei.name="",ei.type=null,ei.docString=""),null!=en.name&&en.hasOwnProperty("name")&&(ei.name=en.name),null!=en.type&&en.hasOwnProperty("type")&&(ei.type=ed.onnx.TypeProto.toObject(en.type,er)),null!=en.docString&&en.hasOwnProperty("docString")&&(ei.docString=en.docString),ei},en.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},en}(),es.NodeProto=function(){function en(en){if(this.input=[],this.output=[],this.attribute=[],en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return en.prototype.input=eA.emptyArray,en.prototype.output=eA.emptyArray,en.prototype.name="",en.prototype.opType="",en.prototype.domain="",en.prototype.attribute=eA.emptyArray,en.prototype.docString="",en.create=function(er){return new en(er)},en.encode=function(en,er){if(er||(er=ef.create()),null!=en.input&&en.input.length)for(var ei=0;ei<en.input.length;++ei)er.uint32(10).string(en.input[ei]);if(null!=en.output&&en.output.length)for(ei=0;ei<en.output.length;++ei)er.uint32(18).string(en.output[ei]);if(null!=en.name&&en.hasOwnProperty("name")&&er.uint32(26).string(en.name),null!=en.opType&&en.hasOwnProperty("opType")&&er.uint32(34).string(en.opType),null!=en.attribute&&en.attribute.length)for(ei=0;ei<en.attribute.length;++ei)ed.onnx.AttributeProto.encode(en.attribute[ei],er.uint32(42).fork()).ldelim();return null!=en.docString&&en.hasOwnProperty("docString")&&er.uint32(50).string(en.docString),null!=en.domain&&en.hasOwnProperty("domain")&&er.uint32(58).string(en.domain),er},en.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},en.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.NodeProto;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:eo.input&&eo.input.length||(eo.input=[]),eo.input.push(en.string());break;case 2:eo.output&&eo.output.length||(eo.output=[]),eo.output.push(en.string());break;case 3:eo.name=en.string();break;case 4:eo.opType=en.string();break;case 7:eo.domain=en.string();break;case 5:eo.attribute&&eo.attribute.length||(eo.attribute=[]),eo.attribute.push(ed.onnx.AttributeProto.decode(en,en.uint32()));break;case 6:eo.docString=en.string();break;default:en.skipType(7&ea)}}return eo},en.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},en.verify=function(en){if("object"!=typeof en||null===en)return"object expected";if(null!=en.input&&en.hasOwnProperty("input")){if(!Array.isArray(en.input))return"input: array expected";for(var er=0;er<en.input.length;++er)if(!eA.isString(en.input[er]))return"input: string[] expected"}if(null!=en.output&&en.hasOwnProperty("output")){if(!Array.isArray(en.output))return"output: array expected";for(er=0;er<en.output.length;++er)if(!eA.isString(en.output[er]))return"output: string[] expected"}if(null!=en.name&&en.hasOwnProperty("name")&&!eA.isString(en.name))return"name: string expected";if(null!=en.opType&&en.hasOwnProperty("opType")&&!eA.isString(en.opType))return"opType: string expected";if(null!=en.domain&&en.hasOwnProperty("domain")&&!eA.isString(en.domain))return"domain: string expected";if(null!=en.attribute&&en.hasOwnProperty("attribute")){if(!Array.isArray(en.attribute))return"attribute: array expected";for(er=0;er<en.attribute.length;++er){var ei=ed.onnx.AttributeProto.verify(en.attribute[er]);if(ei)return"attribute."+ei}}return null!=en.docString&&en.hasOwnProperty("docString")&&!eA.isString(en.docString)?"docString: string expected":null},en.fromObject=function(en){if(en instanceof ed.onnx.NodeProto)return en;var er=new ed.onnx.NodeProto;if(en.input){if(!Array.isArray(en.input))throw TypeError(".onnx.NodeProto.input: array expected");er.input=[];for(var ei=0;ei<en.input.length;++ei)er.input[ei]=String(en.input[ei])}if(en.output){if(!Array.isArray(en.output))throw TypeError(".onnx.NodeProto.output: array expected");for(er.output=[],ei=0;ei<en.output.length;++ei)er.output[ei]=String(en.output[ei])}if(null!=en.name&&(er.name=String(en.name)),null!=en.opType&&(er.opType=String(en.opType)),null!=en.domain&&(er.domain=String(en.domain)),en.attribute){if(!Array.isArray(en.attribute))throw TypeError(".onnx.NodeProto.attribute: array expected");for(er.attribute=[],ei=0;ei<en.attribute.length;++ei){if("object"!=typeof en.attribute[ei])throw TypeError(".onnx.NodeProto.attribute: object expected");er.attribute[ei]=ed.onnx.AttributeProto.fromObject(en.attribute[ei])}}return null!=en.docString&&(er.docString=String(en.docString)),er},en.toObject=function(en,er){er||(er={});var ei={};if((er.arrays||er.defaults)&&(ei.input=[],ei.output=[],ei.attribute=[]),er.defaults&&(ei.name="",ei.opType="",ei.docString="",ei.domain=""),en.input&&en.input.length){ei.input=[];for(var eo=0;eo<en.input.length;++eo)ei.input[eo]=en.input[eo]}if(en.output&&en.output.length)for(ei.output=[],eo=0;eo<en.output.length;++eo)ei.output[eo]=en.output[eo];if(null!=en.name&&en.hasOwnProperty("name")&&(ei.name=en.name),null!=en.opType&&en.hasOwnProperty("opType")&&(ei.opType=en.opType),en.attribute&&en.attribute.length)for(ei.attribute=[],eo=0;eo<en.attribute.length;++eo)ei.attribute[eo]=ed.onnx.AttributeProto.toObject(en.attribute[eo],er);return null!=en.docString&&en.hasOwnProperty("docString")&&(ei.docString=en.docString),null!=en.domain&&en.hasOwnProperty("domain")&&(ei.domain=en.domain),ei},en.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},en}(),es.ModelProto=function(){function en(en){if(this.opsetImport=[],this.metadataProps=[],en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return en.prototype.irVersion=eA.Long?eA.Long.fromBits(0,0,!1):0,en.prototype.opsetImport=eA.emptyArray,en.prototype.producerName="",en.prototype.producerVersion="",en.prototype.domain="",en.prototype.modelVersion=eA.Long?eA.Long.fromBits(0,0,!1):0,en.prototype.docString="",en.prototype.graph=null,en.prototype.metadataProps=eA.emptyArray,en.create=function(er){return new en(er)},en.encode=function(en,er){if(er||(er=ef.create()),null!=en.irVersion&&en.hasOwnProperty("irVersion")&&er.uint32(8).int64(en.irVersion),null!=en.producerName&&en.hasOwnProperty("producerName")&&er.uint32(18).string(en.producerName),null!=en.producerVersion&&en.hasOwnProperty("producerVersion")&&er.uint32(26).string(en.producerVersion),null!=en.domain&&en.hasOwnProperty("domain")&&er.uint32(34).string(en.domain),null!=en.modelVersion&&en.hasOwnProperty("modelVersion")&&er.uint32(40).int64(en.modelVersion),null!=en.docString&&en.hasOwnProperty("docString")&&er.uint32(50).string(en.docString),null!=en.graph&&en.hasOwnProperty("graph")&&ed.onnx.GraphProto.encode(en.graph,er.uint32(58).fork()).ldelim(),null!=en.opsetImport&&en.opsetImport.length)for(var ei=0;ei<en.opsetImport.length;++ei)ed.onnx.OperatorSetIdProto.encode(en.opsetImport[ei],er.uint32(66).fork()).ldelim();if(null!=en.metadataProps&&en.metadataProps.length)for(ei=0;ei<en.metadataProps.length;++ei)ed.onnx.StringStringEntryProto.encode(en.metadataProps[ei],er.uint32(114).fork()).ldelim();return er},en.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},en.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.ModelProto;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:eo.irVersion=en.int64();break;case 8:eo.opsetImport&&eo.opsetImport.length||(eo.opsetImport=[]),eo.opsetImport.push(ed.onnx.OperatorSetIdProto.decode(en,en.uint32()));break;case 2:eo.producerName=en.string();break;case 3:eo.producerVersion=en.string();break;case 4:eo.domain=en.string();break;case 5:eo.modelVersion=en.int64();break;case 6:eo.docString=en.string();break;case 7:eo.graph=ed.onnx.GraphProto.decode(en,en.uint32());break;case 14:eo.metadataProps&&eo.metadataProps.length||(eo.metadataProps=[]),eo.metadataProps.push(ed.onnx.StringStringEntryProto.decode(en,en.uint32()));break;default:en.skipType(7&ea)}}return eo},en.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},en.verify=function(en){if("object"!=typeof en||null===en)return"object expected";if(null!=en.irVersion&&en.hasOwnProperty("irVersion")&&!(eA.isInteger(en.irVersion)||en.irVersion&&eA.isInteger(en.irVersion.low)&&eA.isInteger(en.irVersion.high)))return"irVersion: integer|Long expected";if(null!=en.opsetImport&&en.hasOwnProperty("opsetImport")){if(!Array.isArray(en.opsetImport))return"opsetImport: array expected";for(var er,ei=0;ei<en.opsetImport.length;++ei)if(er=ed.onnx.OperatorSetIdProto.verify(en.opsetImport[ei]))return"opsetImport."+er}if(null!=en.producerName&&en.hasOwnProperty("producerName")&&!eA.isString(en.producerName))return"producerName: string expected";if(null!=en.producerVersion&&en.hasOwnProperty("producerVersion")&&!eA.isString(en.producerVersion))return"producerVersion: string expected";if(null!=en.domain&&en.hasOwnProperty("domain")&&!eA.isString(en.domain))return"domain: string expected";if(null!=en.modelVersion&&en.hasOwnProperty("modelVersion")&&!(eA.isInteger(en.modelVersion)||en.modelVersion&&eA.isInteger(en.modelVersion.low)&&eA.isInteger(en.modelVersion.high)))return"modelVersion: integer|Long expected";if(null!=en.docString&&en.hasOwnProperty("docString")&&!eA.isString(en.docString))return"docString: string expected";if(null!=en.graph&&en.hasOwnProperty("graph")&&(er=ed.onnx.GraphProto.verify(en.graph)))return"graph."+er;if(null!=en.metadataProps&&en.hasOwnProperty("metadataProps")){if(!Array.isArray(en.metadataProps))return"metadataProps: array expected";for(ei=0;ei<en.metadataProps.length;++ei)if(er=ed.onnx.StringStringEntryProto.verify(en.metadataProps[ei]))return"metadataProps."+er}return null},en.fromObject=function(en){if(en instanceof ed.onnx.ModelProto)return en;var er=new ed.onnx.ModelProto;if(null!=en.irVersion&&(eA.Long?(er.irVersion=eA.Long.fromValue(en.irVersion)).unsigned=!1:"string"==typeof en.irVersion?er.irVersion=parseInt(en.irVersion,10):"number"==typeof en.irVersion?er.irVersion=en.irVersion:"object"==typeof en.irVersion&&(er.irVersion=new eA.LongBits(en.irVersion.low>>>0,en.irVersion.high>>>0).toNumber())),en.opsetImport){if(!Array.isArray(en.opsetImport))throw TypeError(".onnx.ModelProto.opsetImport: array expected");er.opsetImport=[];for(var ei=0;ei<en.opsetImport.length;++ei){if("object"!=typeof en.opsetImport[ei])throw TypeError(".onnx.ModelProto.opsetImport: object expected");er.opsetImport[ei]=ed.onnx.OperatorSetIdProto.fromObject(en.opsetImport[ei])}}if(null!=en.producerName&&(er.producerName=String(en.producerName)),null!=en.producerVersion&&(er.producerVersion=String(en.producerVersion)),null!=en.domain&&(er.domain=String(en.domain)),null!=en.modelVersion&&(eA.Long?(er.modelVersion=eA.Long.fromValue(en.modelVersion)).unsigned=!1:"string"==typeof en.modelVersion?er.modelVersion=parseInt(en.modelVersion,10):"number"==typeof en.modelVersion?er.modelVersion=en.modelVersion:"object"==typeof en.modelVersion&&(er.modelVersion=new eA.LongBits(en.modelVersion.low>>>0,en.modelVersion.high>>>0).toNumber())),null!=en.docString&&(er.docString=String(en.docString)),null!=en.graph){if("object"!=typeof en.graph)throw TypeError(".onnx.ModelProto.graph: object expected");er.graph=ed.onnx.GraphProto.fromObject(en.graph)}if(en.metadataProps){if(!Array.isArray(en.metadataProps))throw TypeError(".onnx.ModelProto.metadataProps: array expected");for(er.metadataProps=[],ei=0;ei<en.metadataProps.length;++ei){if("object"!=typeof en.metadataProps[ei])throw TypeError(".onnx.ModelProto.metadataProps: object expected");er.metadataProps[ei]=ed.onnx.StringStringEntryProto.fromObject(en.metadataProps[ei])}}return er},en.toObject=function(en,er){er||(er={});var ei={};if((er.arrays||er.defaults)&&(ei.opsetImport=[],ei.metadataProps=[]),er.defaults){if(eA.Long){var eo=new eA.Long(0,0,!1);ei.irVersion=er.longs===String?eo.toString():er.longs===Number?eo.toNumber():eo}else ei.irVersion=er.longs===String?"0":0;ei.producerName="",ei.producerVersion="",ei.domain="",eA.Long?(eo=new eA.Long(0,0,!1),ei.modelVersion=er.longs===String?eo.toString():er.longs===Number?eo.toNumber():eo):ei.modelVersion=er.longs===String?"0":0,ei.docString="",ei.graph=null}if(null!=en.irVersion&&en.hasOwnProperty("irVersion")&&("number"==typeof en.irVersion?ei.irVersion=er.longs===String?String(en.irVersion):en.irVersion:ei.irVersion=er.longs===String?eA.Long.prototype.toString.call(en.irVersion):er.longs===Number?new eA.LongBits(en.irVersion.low>>>0,en.irVersion.high>>>0).toNumber():en.irVersion),null!=en.producerName&&en.hasOwnProperty("producerName")&&(ei.producerName=en.producerName),null!=en.producerVersion&&en.hasOwnProperty("producerVersion")&&(ei.producerVersion=en.producerVersion),null!=en.domain&&en.hasOwnProperty("domain")&&(ei.domain=en.domain),null!=en.modelVersion&&en.hasOwnProperty("modelVersion")&&("number"==typeof en.modelVersion?ei.modelVersion=er.longs===String?String(en.modelVersion):en.modelVersion:ei.modelVersion=er.longs===String?eA.Long.prototype.toString.call(en.modelVersion):er.longs===Number?new eA.LongBits(en.modelVersion.low>>>0,en.modelVersion.high>>>0).toNumber():en.modelVersion),null!=en.docString&&en.hasOwnProperty("docString")&&(ei.docString=en.docString),null!=en.graph&&en.hasOwnProperty("graph")&&(ei.graph=ed.onnx.GraphProto.toObject(en.graph,er)),en.opsetImport&&en.opsetImport.length){ei.opsetImport=[];for(var ea=0;ea<en.opsetImport.length;++ea)ei.opsetImport[ea]=ed.onnx.OperatorSetIdProto.toObject(en.opsetImport[ea],er)}if(en.metadataProps&&en.metadataProps.length)for(ei.metadataProps=[],ea=0;ea<en.metadataProps.length;++ea)ei.metadataProps[ea]=ed.onnx.StringStringEntryProto.toObject(en.metadataProps[ea],er);return ei},en.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},en}(),es.StringStringEntryProto=function(){function en(en){if(en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return en.prototype.key="",en.prototype.value="",en.create=function(er){return new en(er)},en.encode=function(en,er){return er||(er=ef.create()),null!=en.key&&en.hasOwnProperty("key")&&er.uint32(10).string(en.key),null!=en.value&&en.hasOwnProperty("value")&&er.uint32(18).string(en.value),er},en.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},en.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.StringStringEntryProto;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:eo.key=en.string();break;case 2:eo.value=en.string();break;default:en.skipType(7&ea)}}return eo},en.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},en.verify=function(en){return"object"!=typeof en||null===en?"object expected":null!=en.key&&en.hasOwnProperty("key")&&!eA.isString(en.key)?"key: string expected":null!=en.value&&en.hasOwnProperty("value")&&!eA.isString(en.value)?"value: string expected":null},en.fromObject=function(en){if(en instanceof ed.onnx.StringStringEntryProto)return en;var er=new ed.onnx.StringStringEntryProto;return null!=en.key&&(er.key=String(en.key)),null!=en.value&&(er.value=String(en.value)),er},en.toObject=function(en,er){er||(er={});var ei={};return er.defaults&&(ei.key="",ei.value=""),null!=en.key&&en.hasOwnProperty("key")&&(ei.key=en.key),null!=en.value&&en.hasOwnProperty("value")&&(ei.value=en.value),ei},en.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},en}(),es.TensorAnnotation=function(){function en(en){if(this.quantParameterTensorNames=[],en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return en.prototype.tensorName="",en.prototype.quantParameterTensorNames=eA.emptyArray,en.create=function(er){return new en(er)},en.encode=function(en,er){if(er||(er=ef.create()),null!=en.tensorName&&en.hasOwnProperty("tensorName")&&er.uint32(10).string(en.tensorName),null!=en.quantParameterTensorNames&&en.quantParameterTensorNames.length)for(var ei=0;ei<en.quantParameterTensorNames.length;++ei)ed.onnx.StringStringEntryProto.encode(en.quantParameterTensorNames[ei],er.uint32(18).fork()).ldelim();return er},en.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},en.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.TensorAnnotation;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:eo.tensorName=en.string();break;case 2:eo.quantParameterTensorNames&&eo.quantParameterTensorNames.length||(eo.quantParameterTensorNames=[]),eo.quantParameterTensorNames.push(ed.onnx.StringStringEntryProto.decode(en,en.uint32()));break;default:en.skipType(7&ea)}}return eo},en.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},en.verify=function(en){if("object"!=typeof en||null===en)return"object expected";if(null!=en.tensorName&&en.hasOwnProperty("tensorName")&&!eA.isString(en.tensorName))return"tensorName: string expected";if(null!=en.quantParameterTensorNames&&en.hasOwnProperty("quantParameterTensorNames")){if(!Array.isArray(en.quantParameterTensorNames))return"quantParameterTensorNames: array expected";for(var er=0;er<en.quantParameterTensorNames.length;++er){var ei=ed.onnx.StringStringEntryProto.verify(en.quantParameterTensorNames[er]);if(ei)return"quantParameterTensorNames."+ei}}return null},en.fromObject=function(en){if(en instanceof ed.onnx.TensorAnnotation)return en;var er=new ed.onnx.TensorAnnotation;if(null!=en.tensorName&&(er.tensorName=String(en.tensorName)),en.quantParameterTensorNames){if(!Array.isArray(en.quantParameterTensorNames))throw TypeError(".onnx.TensorAnnotation.quantParameterTensorNames: array expected");er.quantParameterTensorNames=[];for(var ei=0;ei<en.quantParameterTensorNames.length;++ei){if("object"!=typeof en.quantParameterTensorNames[ei])throw TypeError(".onnx.TensorAnnotation.quantParameterTensorNames: object expected");er.quantParameterTensorNames[ei]=ed.onnx.StringStringEntryProto.fromObject(en.quantParameterTensorNames[ei])}}return er},en.toObject=function(en,er){er||(er={});var ei={};if((er.arrays||er.defaults)&&(ei.quantParameterTensorNames=[]),er.defaults&&(ei.tensorName=""),null!=en.tensorName&&en.hasOwnProperty("tensorName")&&(ei.tensorName=en.tensorName),en.quantParameterTensorNames&&en.quantParameterTensorNames.length){ei.quantParameterTensorNames=[];for(var eo=0;eo<en.quantParameterTensorNames.length;++eo)ei.quantParameterTensorNames[eo]=ed.onnx.StringStringEntryProto.toObject(en.quantParameterTensorNames[eo],er)}return ei},en.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},en}(),es.GraphProto=function(){function en(en){if(this.node=[],this.initializer=[],this.input=[],this.output=[],this.valueInfo=[],this.quantizationAnnotation=[],en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return en.prototype.node=eA.emptyArray,en.prototype.name="",en.prototype.initializer=eA.emptyArray,en.prototype.docString="",en.prototype.input=eA.emptyArray,en.prototype.output=eA.emptyArray,en.prototype.valueInfo=eA.emptyArray,en.prototype.quantizationAnnotation=eA.emptyArray,en.create=function(er){return new en(er)},en.encode=function(en,er){if(er||(er=ef.create()),null!=en.node&&en.node.length)for(var ei=0;ei<en.node.length;++ei)ed.onnx.NodeProto.encode(en.node[ei],er.uint32(10).fork()).ldelim();if(null!=en.name&&en.hasOwnProperty("name")&&er.uint32(18).string(en.name),null!=en.initializer&&en.initializer.length)for(ei=0;ei<en.initializer.length;++ei)ed.onnx.TensorProto.encode(en.initializer[ei],er.uint32(42).fork()).ldelim();if(null!=en.docString&&en.hasOwnProperty("docString")&&er.uint32(82).string(en.docString),null!=en.input&&en.input.length)for(ei=0;ei<en.input.length;++ei)ed.onnx.ValueInfoProto.encode(en.input[ei],er.uint32(90).fork()).ldelim();if(null!=en.output&&en.output.length)for(ei=0;ei<en.output.length;++ei)ed.onnx.ValueInfoProto.encode(en.output[ei],er.uint32(98).fork()).ldelim();if(null!=en.valueInfo&&en.valueInfo.length)for(ei=0;ei<en.valueInfo.length;++ei)ed.onnx.ValueInfoProto.encode(en.valueInfo[ei],er.uint32(106).fork()).ldelim();if(null!=en.quantizationAnnotation&&en.quantizationAnnotation.length)for(ei=0;ei<en.quantizationAnnotation.length;++ei)ed.onnx.TensorAnnotation.encode(en.quantizationAnnotation[ei],er.uint32(114).fork()).ldelim();return er},en.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},en.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.GraphProto;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:eo.node&&eo.node.length||(eo.node=[]),eo.node.push(ed.onnx.NodeProto.decode(en,en.uint32()));break;case 2:eo.name=en.string();break;case 5:eo.initializer&&eo.initializer.length||(eo.initializer=[]),eo.initializer.push(ed.onnx.TensorProto.decode(en,en.uint32()));break;case 10:eo.docString=en.string();break;case 11:eo.input&&eo.input.length||(eo.input=[]),eo.input.push(ed.onnx.ValueInfoProto.decode(en,en.uint32()));break;case 12:eo.output&&eo.output.length||(eo.output=[]),eo.output.push(ed.onnx.ValueInfoProto.decode(en,en.uint32()));break;case 13:eo.valueInfo&&eo.valueInfo.length||(eo.valueInfo=[]),eo.valueInfo.push(ed.onnx.ValueInfoProto.decode(en,en.uint32()));break;case 14:eo.quantizationAnnotation&&eo.quantizationAnnotation.length||(eo.quantizationAnnotation=[]),eo.quantizationAnnotation.push(ed.onnx.TensorAnnotation.decode(en,en.uint32()));break;default:en.skipType(7&ea)}}return eo},en.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},en.verify=function(en){if("object"!=typeof en||null===en)return"object expected";if(null!=en.node&&en.hasOwnProperty("node")){if(!Array.isArray(en.node))return"node: array expected";for(var er,ei=0;ei<en.node.length;++ei)if(er=ed.onnx.NodeProto.verify(en.node[ei]))return"node."+er}if(null!=en.name&&en.hasOwnProperty("name")&&!eA.isString(en.name))return"name: string expected";if(null!=en.initializer&&en.hasOwnProperty("initializer")){if(!Array.isArray(en.initializer))return"initializer: array expected";for(ei=0;ei<en.initializer.length;++ei)if(er=ed.onnx.TensorProto.verify(en.initializer[ei]))return"initializer."+er}if(null!=en.docString&&en.hasOwnProperty("docString")&&!eA.isString(en.docString))return"docString: string expected";if(null!=en.input&&en.hasOwnProperty("input")){if(!Array.isArray(en.input))return"input: array expected";for(ei=0;ei<en.input.length;++ei)if(er=ed.onnx.ValueInfoProto.verify(en.input[ei]))return"input."+er}if(null!=en.output&&en.hasOwnProperty("output")){if(!Array.isArray(en.output))return"output: array expected";for(ei=0;ei<en.output.length;++ei)if(er=ed.onnx.ValueInfoProto.verify(en.output[ei]))return"output."+er}if(null!=en.valueInfo&&en.hasOwnProperty("valueInfo")){if(!Array.isArray(en.valueInfo))return"valueInfo: array expected";for(ei=0;ei<en.valueInfo.length;++ei)if(er=ed.onnx.ValueInfoProto.verify(en.valueInfo[ei]))return"valueInfo."+er}if(null!=en.quantizationAnnotation&&en.hasOwnProperty("quantizationAnnotation")){if(!Array.isArray(en.quantizationAnnotation))return"quantizationAnnotation: array expected";for(ei=0;ei<en.quantizationAnnotation.length;++ei)if(er=ed.onnx.TensorAnnotation.verify(en.quantizationAnnotation[ei]))return"quantizationAnnotation."+er}return null},en.fromObject=function(en){if(en instanceof ed.onnx.GraphProto)return en;var er=new ed.onnx.GraphProto;if(en.node){if(!Array.isArray(en.node))throw TypeError(".onnx.GraphProto.node: array expected");er.node=[];for(var ei=0;ei<en.node.length;++ei){if("object"!=typeof en.node[ei])throw TypeError(".onnx.GraphProto.node: object expected");er.node[ei]=ed.onnx.NodeProto.fromObject(en.node[ei])}}if(null!=en.name&&(er.name=String(en.name)),en.initializer){if(!Array.isArray(en.initializer))throw TypeError(".onnx.GraphProto.initializer: array expected");for(er.initializer=[],ei=0;ei<en.initializer.length;++ei){if("object"!=typeof en.initializer[ei])throw TypeError(".onnx.GraphProto.initializer: object expected");er.initializer[ei]=ed.onnx.TensorProto.fromObject(en.initializer[ei])}}if(null!=en.docString&&(er.docString=String(en.docString)),en.input){if(!Array.isArray(en.input))throw TypeError(".onnx.GraphProto.input: array expected");for(er.input=[],ei=0;ei<en.input.length;++ei){if("object"!=typeof en.input[ei])throw TypeError(".onnx.GraphProto.input: object expected");er.input[ei]=ed.onnx.ValueInfoProto.fromObject(en.input[ei])}}if(en.output){if(!Array.isArray(en.output))throw TypeError(".onnx.GraphProto.output: array expected");for(er.output=[],ei=0;ei<en.output.length;++ei){if("object"!=typeof en.output[ei])throw TypeError(".onnx.GraphProto.output: object expected");er.output[ei]=ed.onnx.ValueInfoProto.fromObject(en.output[ei])}}if(en.valueInfo){if(!Array.isArray(en.valueInfo))throw TypeError(".onnx.GraphProto.valueInfo: array expected");for(er.valueInfo=[],ei=0;ei<en.valueInfo.length;++ei){if("object"!=typeof en.valueInfo[ei])throw TypeError(".onnx.GraphProto.valueInfo: object expected");er.valueInfo[ei]=ed.onnx.ValueInfoProto.fromObject(en.valueInfo[ei])}}if(en.quantizationAnnotation){if(!Array.isArray(en.quantizationAnnotation))throw TypeError(".onnx.GraphProto.quantizationAnnotation: array expected");for(er.quantizationAnnotation=[],ei=0;ei<en.quantizationAnnotation.length;++ei){if("object"!=typeof en.quantizationAnnotation[ei])throw TypeError(".onnx.GraphProto.quantizationAnnotation: object expected");er.quantizationAnnotation[ei]=ed.onnx.TensorAnnotation.fromObject(en.quantizationAnnotation[ei])}}return er},en.toObject=function(en,er){er||(er={});var ei={};if((er.arrays||er.defaults)&&(ei.node=[],ei.initializer=[],ei.input=[],ei.output=[],ei.valueInfo=[],ei.quantizationAnnotation=[]),er.defaults&&(ei.name="",ei.docString=""),en.node&&en.node.length){ei.node=[];for(var eo=0;eo<en.node.length;++eo)ei.node[eo]=ed.onnx.NodeProto.toObject(en.node[eo],er)}if(null!=en.name&&en.hasOwnProperty("name")&&(ei.name=en.name),en.initializer&&en.initializer.length)for(ei.initializer=[],eo=0;eo<en.initializer.length;++eo)ei.initializer[eo]=ed.onnx.TensorProto.toObject(en.initializer[eo],er);if(null!=en.docString&&en.hasOwnProperty("docString")&&(ei.docString=en.docString),en.input&&en.input.length)for(ei.input=[],eo=0;eo<en.input.length;++eo)ei.input[eo]=ed.onnx.ValueInfoProto.toObject(en.input[eo],er);if(en.output&&en.output.length)for(ei.output=[],eo=0;eo<en.output.length;++eo)ei.output[eo]=ed.onnx.ValueInfoProto.toObject(en.output[eo],er);if(en.valueInfo&&en.valueInfo.length)for(ei.valueInfo=[],eo=0;eo<en.valueInfo.length;++eo)ei.valueInfo[eo]=ed.onnx.ValueInfoProto.toObject(en.valueInfo[eo],er);if(en.quantizationAnnotation&&en.quantizationAnnotation.length)for(ei.quantizationAnnotation=[],eo=0;eo<en.quantizationAnnotation.length;++eo)ei.quantizationAnnotation[eo]=ed.onnx.TensorAnnotation.toObject(en.quantizationAnnotation[eo],er);return ei},en.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},en}(),es.TensorProto=function(){function en(en){if(this.dims=[],this.floatData=[],this.int32Data=[],this.stringData=[],this.int64Data=[],this.externalData=[],this.doubleData=[],this.uint64Data=[],en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return en.prototype.dims=eA.emptyArray,en.prototype.dataType=0,en.prototype.segment=null,en.prototype.floatData=eA.emptyArray,en.prototype.int32Data=eA.emptyArray,en.prototype.stringData=eA.emptyArray,en.prototype.int64Data=eA.emptyArray,en.prototype.name="",en.prototype.docString="",en.prototype.rawData=eA.newBuffer([]),en.prototype.externalData=eA.emptyArray,en.prototype.dataLocation=0,en.prototype.doubleData=eA.emptyArray,en.prototype.uint64Data=eA.emptyArray,en.create=function(er){return new en(er)},en.encode=function(en,er){if(er||(er=ef.create()),null!=en.dims&&en.dims.length){er.uint32(10).fork();for(var ei=0;ei<en.dims.length;++ei)er.int64(en.dims[ei]);er.ldelim()}if(null!=en.dataType&&en.hasOwnProperty("dataType")&&er.uint32(16).int32(en.dataType),null!=en.segment&&en.hasOwnProperty("segment")&&ed.onnx.TensorProto.Segment.encode(en.segment,er.uint32(26).fork()).ldelim(),null!=en.floatData&&en.floatData.length){for(er.uint32(34).fork(),ei=0;ei<en.floatData.length;++ei)er.float(en.floatData[ei]);er.ldelim()}if(null!=en.int32Data&&en.int32Data.length){for(er.uint32(42).fork(),ei=0;ei<en.int32Data.length;++ei)er.int32(en.int32Data[ei]);er.ldelim()}if(null!=en.stringData&&en.stringData.length)for(ei=0;ei<en.stringData.length;++ei)er.uint32(50).bytes(en.stringData[ei]);if(null!=en.int64Data&&en.int64Data.length){for(er.uint32(58).fork(),ei=0;ei<en.int64Data.length;++ei)er.int64(en.int64Data[ei]);er.ldelim()}if(null!=en.name&&en.hasOwnProperty("name")&&er.uint32(66).string(en.name),null!=en.rawData&&en.hasOwnProperty("rawData")&&er.uint32(74).bytes(en.rawData),null!=en.doubleData&&en.doubleData.length){for(er.uint32(82).fork(),ei=0;ei<en.doubleData.length;++ei)er.double(en.doubleData[ei]);er.ldelim()}if(null!=en.uint64Data&&en.uint64Data.length){for(er.uint32(90).fork(),ei=0;ei<en.uint64Data.length;++ei)er.uint64(en.uint64Data[ei]);er.ldelim()}if(null!=en.docString&&en.hasOwnProperty("docString")&&er.uint32(98).string(en.docString),null!=en.externalData&&en.externalData.length)for(ei=0;ei<en.externalData.length;++ei)ed.onnx.StringStringEntryProto.encode(en.externalData[ei],er.uint32(106).fork()).ldelim();return null!=en.dataLocation&&en.hasOwnProperty("dataLocation")&&er.uint32(112).int32(en.dataLocation),er},en.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},en.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.TensorProto;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:if(eo.dims&&eo.dims.length||(eo.dims=[]),2==(7&ea))for(var es=en.uint32()+en.pos;en.pos<es;)eo.dims.push(en.int64());else eo.dims.push(en.int64());break;case 2:eo.dataType=en.int32();break;case 3:eo.segment=ed.onnx.TensorProto.Segment.decode(en,en.uint32());break;case 4:if(eo.floatData&&eo.floatData.length||(eo.floatData=[]),2==(7&ea))for(es=en.uint32()+en.pos;en.pos<es;)eo.floatData.push(en.float());else eo.floatData.push(en.float());break;case 5:if(eo.int32Data&&eo.int32Data.length||(eo.int32Data=[]),2==(7&ea))for(es=en.uint32()+en.pos;en.pos<es;)eo.int32Data.push(en.int32());else eo.int32Data.push(en.int32());break;case 6:eo.stringData&&eo.stringData.length||(eo.stringData=[]),eo.stringData.push(en.bytes());break;case 7:if(eo.int64Data&&eo.int64Data.length||(eo.int64Data=[]),2==(7&ea))for(es=en.uint32()+en.pos;en.pos<es;)eo.int64Data.push(en.int64());else eo.int64Data.push(en.int64());break;case 8:eo.name=en.string();break;case 12:eo.docString=en.string();break;case 9:eo.rawData=en.bytes();break;case 13:eo.externalData&&eo.externalData.length||(eo.externalData=[]),eo.externalData.push(ed.onnx.StringStringEntryProto.decode(en,en.uint32()));break;case 14:eo.dataLocation=en.int32();break;case 10:if(eo.doubleData&&eo.doubleData.length||(eo.doubleData=[]),2==(7&ea))for(es=en.uint32()+en.pos;en.pos<es;)eo.doubleData.push(en.double());else eo.doubleData.push(en.double());break;case 11:if(eo.uint64Data&&eo.uint64Data.length||(eo.uint64Data=[]),2==(7&ea))for(es=en.uint32()+en.pos;en.pos<es;)eo.uint64Data.push(en.uint64());else eo.uint64Data.push(en.uint64());break;default:en.skipType(7&ea)}}return eo},en.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},en.verify=function(en){if("object"!=typeof en||null===en)return"object expected";if(null!=en.dims&&en.hasOwnProperty("dims")){if(!Array.isArray(en.dims))return"dims: array expected";for(var er,ei=0;ei<en.dims.length;++ei)if(!(eA.isInteger(en.dims[ei])||en.dims[ei]&&eA.isInteger(en.dims[ei].low)&&eA.isInteger(en.dims[ei].high)))return"dims: integer|Long[] expected"}if(null!=en.dataType&&en.hasOwnProperty("dataType")&&!eA.isInteger(en.dataType))return"dataType: integer expected";if(null!=en.segment&&en.hasOwnProperty("segment")&&(er=ed.onnx.TensorProto.Segment.verify(en.segment)))return"segment."+er;if(null!=en.floatData&&en.hasOwnProperty("floatData")){if(!Array.isArray(en.floatData))return"floatData: array expected";for(ei=0;ei<en.floatData.length;++ei)if("number"!=typeof en.floatData[ei])return"floatData: number[] expected"}if(null!=en.int32Data&&en.hasOwnProperty("int32Data")){if(!Array.isArray(en.int32Data))return"int32Data: array expected";for(ei=0;ei<en.int32Data.length;++ei)if(!eA.isInteger(en.int32Data[ei]))return"int32Data: integer[] expected"}if(null!=en.stringData&&en.hasOwnProperty("stringData")){if(!Array.isArray(en.stringData))return"stringData: array expected";for(ei=0;ei<en.stringData.length;++ei)if(!(en.stringData[ei]&&"number"==typeof en.stringData[ei].length||eA.isString(en.stringData[ei])))return"stringData: buffer[] expected"}if(null!=en.int64Data&&en.hasOwnProperty("int64Data")){if(!Array.isArray(en.int64Data))return"int64Data: array expected";for(ei=0;ei<en.int64Data.length;++ei)if(!(eA.isInteger(en.int64Data[ei])||en.int64Data[ei]&&eA.isInteger(en.int64Data[ei].low)&&eA.isInteger(en.int64Data[ei].high)))return"int64Data: integer|Long[] expected"}if(null!=en.name&&en.hasOwnProperty("name")&&!eA.isString(en.name))return"name: string expected";if(null!=en.docString&&en.hasOwnProperty("docString")&&!eA.isString(en.docString))return"docString: string expected";if(null!=en.rawData&&en.hasOwnProperty("rawData")&&!(en.rawData&&"number"==typeof en.rawData.length||eA.isString(en.rawData)))return"rawData: buffer expected";if(null!=en.externalData&&en.hasOwnProperty("externalData")){if(!Array.isArray(en.externalData))return"externalData: array expected";for(ei=0;ei<en.externalData.length;++ei)if(er=ed.onnx.StringStringEntryProto.verify(en.externalData[ei]))return"externalData."+er}if(null!=en.dataLocation&&en.hasOwnProperty("dataLocation"))switch(en.dataLocation){default:return"dataLocation: enum value expected";case 0:case 1:}if(null!=en.doubleData&&en.hasOwnProperty("doubleData")){if(!Array.isArray(en.doubleData))return"doubleData: array expected";for(ei=0;ei<en.doubleData.length;++ei)if("number"!=typeof en.doubleData[ei])return"doubleData: number[] expected"}if(null!=en.uint64Data&&en.hasOwnProperty("uint64Data")){if(!Array.isArray(en.uint64Data))return"uint64Data: array expected";for(ei=0;ei<en.uint64Data.length;++ei)if(!(eA.isInteger(en.uint64Data[ei])||en.uint64Data[ei]&&eA.isInteger(en.uint64Data[ei].low)&&eA.isInteger(en.uint64Data[ei].high)))return"uint64Data: integer|Long[] expected"}return null},en.fromObject=function(en){if(en instanceof ed.onnx.TensorProto)return en;var er=new ed.onnx.TensorProto;if(en.dims){if(!Array.isArray(en.dims))throw TypeError(".onnx.TensorProto.dims: array expected");er.dims=[];for(var ei=0;ei<en.dims.length;++ei)eA.Long?(er.dims[ei]=eA.Long.fromValue(en.dims[ei])).unsigned=!1:"string"==typeof en.dims[ei]?er.dims[ei]=parseInt(en.dims[ei],10):"number"==typeof en.dims[ei]?er.dims[ei]=en.dims[ei]:"object"==typeof en.dims[ei]&&(er.dims[ei]=new eA.LongBits(en.dims[ei].low>>>0,en.dims[ei].high>>>0).toNumber())}if(null!=en.dataType&&(er.dataType=0|en.dataType),null!=en.segment){if("object"!=typeof en.segment)throw TypeError(".onnx.TensorProto.segment: object expected");er.segment=ed.onnx.TensorProto.Segment.fromObject(en.segment)}if(en.floatData){if(!Array.isArray(en.floatData))throw TypeError(".onnx.TensorProto.floatData: array expected");for(er.floatData=[],ei=0;ei<en.floatData.length;++ei)er.floatData[ei]=Number(en.floatData[ei])}if(en.int32Data){if(!Array.isArray(en.int32Data))throw TypeError(".onnx.TensorProto.int32Data: array expected");for(er.int32Data=[],ei=0;ei<en.int32Data.length;++ei)er.int32Data[ei]=0|en.int32Data[ei]}if(en.stringData){if(!Array.isArray(en.stringData))throw TypeError(".onnx.TensorProto.stringData: array expected");for(er.stringData=[],ei=0;ei<en.stringData.length;++ei)"string"==typeof en.stringData[ei]?eA.base64.decode(en.stringData[ei],er.stringData[ei]=eA.newBuffer(eA.base64.length(en.stringData[ei])),0):en.stringData[ei].length&&(er.stringData[ei]=en.stringData[ei])}if(en.int64Data){if(!Array.isArray(en.int64Data))throw TypeError(".onnx.TensorProto.int64Data: array expected");for(er.int64Data=[],ei=0;ei<en.int64Data.length;++ei)eA.Long?(er.int64Data[ei]=eA.Long.fromValue(en.int64Data[ei])).unsigned=!1:"string"==typeof en.int64Data[ei]?er.int64Data[ei]=parseInt(en.int64Data[ei],10):"number"==typeof en.int64Data[ei]?er.int64Data[ei]=en.int64Data[ei]:"object"==typeof en.int64Data[ei]&&(er.int64Data[ei]=new eA.LongBits(en.int64Data[ei].low>>>0,en.int64Data[ei].high>>>0).toNumber())}if(null!=en.name&&(er.name=String(en.name)),null!=en.docString&&(er.docString=String(en.docString)),null!=en.rawData&&("string"==typeof en.rawData?eA.base64.decode(en.rawData,er.rawData=eA.newBuffer(eA.base64.length(en.rawData)),0):en.rawData.length&&(er.rawData=en.rawData)),en.externalData){if(!Array.isArray(en.externalData))throw TypeError(".onnx.TensorProto.externalData: array expected");for(er.externalData=[],ei=0;ei<en.externalData.length;++ei){if("object"!=typeof en.externalData[ei])throw TypeError(".onnx.TensorProto.externalData: object expected");er.externalData[ei]=ed.onnx.StringStringEntryProto.fromObject(en.externalData[ei])}}switch(en.dataLocation){case"DEFAULT":case 0:er.dataLocation=0;break;case"EXTERNAL":case 1:er.dataLocation=1}if(en.doubleData){if(!Array.isArray(en.doubleData))throw TypeError(".onnx.TensorProto.doubleData: array expected");for(er.doubleData=[],ei=0;ei<en.doubleData.length;++ei)er.doubleData[ei]=Number(en.doubleData[ei])}if(en.uint64Data){if(!Array.isArray(en.uint64Data))throw TypeError(".onnx.TensorProto.uint64Data: array expected");for(er.uint64Data=[],ei=0;ei<en.uint64Data.length;++ei)eA.Long?(er.uint64Data[ei]=eA.Long.fromValue(en.uint64Data[ei])).unsigned=!0:"string"==typeof en.uint64Data[ei]?er.uint64Data[ei]=parseInt(en.uint64Data[ei],10):"number"==typeof en.uint64Data[ei]?er.uint64Data[ei]=en.uint64Data[ei]:"object"==typeof en.uint64Data[ei]&&(er.uint64Data[ei]=new eA.LongBits(en.uint64Data[ei].low>>>0,en.uint64Data[ei].high>>>0).toNumber(!0))}return er},en.toObject=function(en,er){er||(er={});var ei={};if((er.arrays||er.defaults)&&(ei.dims=[],ei.floatData=[],ei.int32Data=[],ei.stringData=[],ei.int64Data=[],ei.doubleData=[],ei.uint64Data=[],ei.externalData=[]),er.defaults&&(ei.dataType=0,ei.segment=null,ei.name="",er.bytes===String?ei.rawData="":(ei.rawData=[],er.bytes!==Array&&(ei.rawData=eA.newBuffer(ei.rawData))),ei.docString="",ei.dataLocation=er.enums===String?"DEFAULT":0),en.dims&&en.dims.length){ei.dims=[];for(var eo=0;eo<en.dims.length;++eo)"number"==typeof en.dims[eo]?ei.dims[eo]=er.longs===String?String(en.dims[eo]):en.dims[eo]:ei.dims[eo]=er.longs===String?eA.Long.prototype.toString.call(en.dims[eo]):er.longs===Number?new eA.LongBits(en.dims[eo].low>>>0,en.dims[eo].high>>>0).toNumber():en.dims[eo]}if(null!=en.dataType&&en.hasOwnProperty("dataType")&&(ei.dataType=en.dataType),null!=en.segment&&en.hasOwnProperty("segment")&&(ei.segment=ed.onnx.TensorProto.Segment.toObject(en.segment,er)),en.floatData&&en.floatData.length)for(ei.floatData=[],eo=0;eo<en.floatData.length;++eo)ei.floatData[eo]=er.json&&!isFinite(en.floatData[eo])?String(en.floatData[eo]):en.floatData[eo];if(en.int32Data&&en.int32Data.length)for(ei.int32Data=[],eo=0;eo<en.int32Data.length;++eo)ei.int32Data[eo]=en.int32Data[eo];if(en.stringData&&en.stringData.length)for(ei.stringData=[],eo=0;eo<en.stringData.length;++eo)ei.stringData[eo]=er.bytes===String?eA.base64.encode(en.stringData[eo],0,en.stringData[eo].length):er.bytes===Array?Array.prototype.slice.call(en.stringData[eo]):en.stringData[eo];if(en.int64Data&&en.int64Data.length)for(ei.int64Data=[],eo=0;eo<en.int64Data.length;++eo)"number"==typeof en.int64Data[eo]?ei.int64Data[eo]=er.longs===String?String(en.int64Data[eo]):en.int64Data[eo]:ei.int64Data[eo]=er.longs===String?eA.Long.prototype.toString.call(en.int64Data[eo]):er.longs===Number?new eA.LongBits(en.int64Data[eo].low>>>0,en.int64Data[eo].high>>>0).toNumber():en.int64Data[eo];if(null!=en.name&&en.hasOwnProperty("name")&&(ei.name=en.name),null!=en.rawData&&en.hasOwnProperty("rawData")&&(ei.rawData=er.bytes===String?eA.base64.encode(en.rawData,0,en.rawData.length):er.bytes===Array?Array.prototype.slice.call(en.rawData):en.rawData),en.doubleData&&en.doubleData.length)for(ei.doubleData=[],eo=0;eo<en.doubleData.length;++eo)ei.doubleData[eo]=er.json&&!isFinite(en.doubleData[eo])?String(en.doubleData[eo]):en.doubleData[eo];if(en.uint64Data&&en.uint64Data.length)for(ei.uint64Data=[],eo=0;eo<en.uint64Data.length;++eo)"number"==typeof en.uint64Data[eo]?ei.uint64Data[eo]=er.longs===String?String(en.uint64Data[eo]):en.uint64Data[eo]:ei.uint64Data[eo]=er.longs===String?eA.Long.prototype.toString.call(en.uint64Data[eo]):er.longs===Number?new eA.LongBits(en.uint64Data[eo].low>>>0,en.uint64Data[eo].high>>>0).toNumber(!0):en.uint64Data[eo];if(null!=en.docString&&en.hasOwnProperty("docString")&&(ei.docString=en.docString),en.externalData&&en.externalData.length)for(ei.externalData=[],eo=0;eo<en.externalData.length;++eo)ei.externalData[eo]=ed.onnx.StringStringEntryProto.toObject(en.externalData[eo],er);return null!=en.dataLocation&&en.hasOwnProperty("dataLocation")&&(ei.dataLocation=er.enums===String?ed.onnx.TensorProto.DataLocation[en.dataLocation]:en.dataLocation),ei},en.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},en.DataType=function(){var en={},er=Object.create(en);return er[en[0]="UNDEFINED"]=0,er[en[1]="FLOAT"]=1,er[en[2]="UINT8"]=2,er[en[3]="INT8"]=3,er[en[4]="UINT16"]=4,er[en[5]="INT16"]=5,er[en[6]="INT32"]=6,er[en[7]="INT64"]=7,er[en[8]="STRING"]=8,er[en[9]="BOOL"]=9,er[en[10]="FLOAT16"]=10,er[en[11]="DOUBLE"]=11,er[en[12]="UINT32"]=12,er[en[13]="UINT64"]=13,er[en[14]="COMPLEX64"]=14,er[en[15]="COMPLEX128"]=15,er[en[16]="BFLOAT16"]=16,er}(),en.Segment=function(){function en(en){if(en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return en.prototype.begin=eA.Long?eA.Long.fromBits(0,0,!1):0,en.prototype.end=eA.Long?eA.Long.fromBits(0,0,!1):0,en.create=function(er){return new en(er)},en.encode=function(en,er){return er||(er=ef.create()),null!=en.begin&&en.hasOwnProperty("begin")&&er.uint32(8).int64(en.begin),null!=en.end&&en.hasOwnProperty("end")&&er.uint32(16).int64(en.end),er},en.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},en.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.TensorProto.Segment;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:eo.begin=en.int64();break;case 2:eo.end=en.int64();break;default:en.skipType(7&ea)}}return eo},en.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},en.verify=function(en){return"object"!=typeof en||null===en?"object expected":null!=en.begin&&en.hasOwnProperty("begin")&&!(eA.isInteger(en.begin)||en.begin&&eA.isInteger(en.begin.low)&&eA.isInteger(en.begin.high))?"begin: integer|Long expected":null!=en.end&&en.hasOwnProperty("end")&&!(eA.isInteger(en.end)||en.end&&eA.isInteger(en.end.low)&&eA.isInteger(en.end.high))?"end: integer|Long expected":null},en.fromObject=function(en){if(en instanceof ed.onnx.TensorProto.Segment)return en;var er=new ed.onnx.TensorProto.Segment;return null!=en.begin&&(eA.Long?(er.begin=eA.Long.fromValue(en.begin)).unsigned=!1:"string"==typeof en.begin?er.begin=parseInt(en.begin,10):"number"==typeof en.begin?er.begin=en.begin:"object"==typeof en.begin&&(er.begin=new eA.LongBits(en.begin.low>>>0,en.begin.high>>>0).toNumber())),null!=en.end&&(eA.Long?(er.end=eA.Long.fromValue(en.end)).unsigned=!1:"string"==typeof en.end?er.end=parseInt(en.end,10):"number"==typeof en.end?er.end=en.end:"object"==typeof en.end&&(er.end=new eA.LongBits(en.end.low>>>0,en.end.high>>>0).toNumber())),er},en.toObject=function(en,er){er||(er={});var ei={};if(er.defaults){if(eA.Long){var eo=new eA.Long(0,0,!1);ei.begin=er.longs===String?eo.toString():er.longs===Number?eo.toNumber():eo}else ei.begin=er.longs===String?"0":0;eA.Long?(eo=new eA.Long(0,0,!1),ei.end=er.longs===String?eo.toString():er.longs===Number?eo.toNumber():eo):ei.end=er.longs===String?"0":0}return null!=en.begin&&en.hasOwnProperty("begin")&&("number"==typeof en.begin?ei.begin=er.longs===String?String(en.begin):en.begin:ei.begin=er.longs===String?eA.Long.prototype.toString.call(en.begin):er.longs===Number?new eA.LongBits(en.begin.low>>>0,en.begin.high>>>0).toNumber():en.begin),null!=en.end&&en.hasOwnProperty("end")&&("number"==typeof en.end?ei.end=er.longs===String?String(en.end):en.end:ei.end=er.longs===String?eA.Long.prototype.toString.call(en.end):er.longs===Number?new eA.LongBits(en.end.low>>>0,en.end.high>>>0).toNumber():en.end),ei},en.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},en}(),en.DataLocation=function(){var en={},er=Object.create(en);return er[en[0]="DEFAULT"]=0,er[en[1]="EXTERNAL"]=1,er}(),en}(),es.TensorShapeProto=function(){function en(en){if(this.dim=[],en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return en.prototype.dim=eA.emptyArray,en.create=function(er){return new en(er)},en.encode=function(en,er){if(er||(er=ef.create()),null!=en.dim&&en.dim.length)for(var ei=0;ei<en.dim.length;++ei)ed.onnx.TensorShapeProto.Dimension.encode(en.dim[ei],er.uint32(10).fork()).ldelim();return er},en.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},en.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.TensorShapeProto;en.pos<ei;){var ea=en.uint32();ea>>>3==1?(eo.dim&&eo.dim.length||(eo.dim=[]),eo.dim.push(ed.onnx.TensorShapeProto.Dimension.decode(en,en.uint32()))):en.skipType(7&ea)}return eo},en.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},en.verify=function(en){if("object"!=typeof en||null===en)return"object expected";if(null!=en.dim&&en.hasOwnProperty("dim")){if(!Array.isArray(en.dim))return"dim: array expected";for(var er=0;er<en.dim.length;++er){var ei=ed.onnx.TensorShapeProto.Dimension.verify(en.dim[er]);if(ei)return"dim."+ei}}return null},en.fromObject=function(en){if(en instanceof ed.onnx.TensorShapeProto)return en;var er=new ed.onnx.TensorShapeProto;if(en.dim){if(!Array.isArray(en.dim))throw TypeError(".onnx.TensorShapeProto.dim: array expected");er.dim=[];for(var ei=0;ei<en.dim.length;++ei){if("object"!=typeof en.dim[ei])throw TypeError(".onnx.TensorShapeProto.dim: object expected");er.dim[ei]=ed.onnx.TensorShapeProto.Dimension.fromObject(en.dim[ei])}}return er},en.toObject=function(en,er){er||(er={});var ei={};if((er.arrays||er.defaults)&&(ei.dim=[]),en.dim&&en.dim.length){ei.dim=[];for(var eo=0;eo<en.dim.length;++eo)ei.dim[eo]=ed.onnx.TensorShapeProto.Dimension.toObject(en.dim[eo],er)}return ei},en.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},en.Dimension=function(){var en;function er(en){if(en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return er.prototype.dimValue=eA.Long?eA.Long.fromBits(0,0,!1):0,er.prototype.dimParam="",er.prototype.denotation="",Object.defineProperty(er.prototype,"value",{get:eA.oneOfGetter(en=["dimValue","dimParam"]),set:eA.oneOfSetter(en)}),er.create=function(en){return new er(en)},er.encode=function(en,er){return er||(er=ef.create()),null!=en.dimValue&&en.hasOwnProperty("dimValue")&&er.uint32(8).int64(en.dimValue),null!=en.dimParam&&en.hasOwnProperty("dimParam")&&er.uint32(18).string(en.dimParam),null!=en.denotation&&en.hasOwnProperty("denotation")&&er.uint32(26).string(en.denotation),er},er.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},er.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.TensorShapeProto.Dimension;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:eo.dimValue=en.int64();break;case 2:eo.dimParam=en.string();break;case 3:eo.denotation=en.string();break;default:en.skipType(7&ea)}}return eo},er.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},er.verify=function(en){if("object"!=typeof en||null===en)return"object expected";var er={};if(null!=en.dimValue&&en.hasOwnProperty("dimValue")&&(er.value=1,!(eA.isInteger(en.dimValue)||en.dimValue&&eA.isInteger(en.dimValue.low)&&eA.isInteger(en.dimValue.high))))return"dimValue: integer|Long expected";if(null!=en.dimParam&&en.hasOwnProperty("dimParam")){if(1===er.value)return"value: multiple values";if(er.value=1,!eA.isString(en.dimParam))return"dimParam: string expected"}return null!=en.denotation&&en.hasOwnProperty("denotation")&&!eA.isString(en.denotation)?"denotation: string expected":null},er.fromObject=function(en){if(en instanceof ed.onnx.TensorShapeProto.Dimension)return en;var er=new ed.onnx.TensorShapeProto.Dimension;return null!=en.dimValue&&(eA.Long?(er.dimValue=eA.Long.fromValue(en.dimValue)).unsigned=!1:"string"==typeof en.dimValue?er.dimValue=parseInt(en.dimValue,10):"number"==typeof en.dimValue?er.dimValue=en.dimValue:"object"==typeof en.dimValue&&(er.dimValue=new eA.LongBits(en.dimValue.low>>>0,en.dimValue.high>>>0).toNumber())),null!=en.dimParam&&(er.dimParam=String(en.dimParam)),null!=en.denotation&&(er.denotation=String(en.denotation)),er},er.toObject=function(en,er){er||(er={});var ei={};return er.defaults&&(ei.denotation=""),null!=en.dimValue&&en.hasOwnProperty("dimValue")&&("number"==typeof en.dimValue?ei.dimValue=er.longs===String?String(en.dimValue):en.dimValue:ei.dimValue=er.longs===String?eA.Long.prototype.toString.call(en.dimValue):er.longs===Number?new eA.LongBits(en.dimValue.low>>>0,en.dimValue.high>>>0).toNumber():en.dimValue,er.oneofs&&(ei.value="dimValue")),null!=en.dimParam&&en.hasOwnProperty("dimParam")&&(ei.dimParam=en.dimParam,er.oneofs&&(ei.value="dimParam")),null!=en.denotation&&en.hasOwnProperty("denotation")&&(ei.denotation=en.denotation),ei},er.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},er}(),en}(),es.TypeProto=function(){var en;function er(en){if(en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return er.prototype.tensorType=null,er.prototype.denotation="",Object.defineProperty(er.prototype,"value",{get:eA.oneOfGetter(en=["tensorType"]),set:eA.oneOfSetter(en)}),er.create=function(en){return new er(en)},er.encode=function(en,er){return er||(er=ef.create()),null!=en.tensorType&&en.hasOwnProperty("tensorType")&&ed.onnx.TypeProto.Tensor.encode(en.tensorType,er.uint32(10).fork()).ldelim(),null!=en.denotation&&en.hasOwnProperty("denotation")&&er.uint32(50).string(en.denotation),er},er.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},er.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.TypeProto;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:eo.tensorType=ed.onnx.TypeProto.Tensor.decode(en,en.uint32());break;case 6:eo.denotation=en.string();break;default:en.skipType(7&ea)}}return eo},er.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},er.verify=function(en){if("object"!=typeof en||null===en)return"object expected";if(null!=en.tensorType&&en.hasOwnProperty("tensorType")){var er=ed.onnx.TypeProto.Tensor.verify(en.tensorType);if(er)return"tensorType."+er}return null!=en.denotation&&en.hasOwnProperty("denotation")&&!eA.isString(en.denotation)?"denotation: string expected":null},er.fromObject=function(en){if(en instanceof ed.onnx.TypeProto)return en;var er=new ed.onnx.TypeProto;if(null!=en.tensorType){if("object"!=typeof en.tensorType)throw TypeError(".onnx.TypeProto.tensorType: object expected");er.tensorType=ed.onnx.TypeProto.Tensor.fromObject(en.tensorType)}return null!=en.denotation&&(er.denotation=String(en.denotation)),er},er.toObject=function(en,er){er||(er={});var ei={};return er.defaults&&(ei.denotation=""),null!=en.tensorType&&en.hasOwnProperty("tensorType")&&(ei.tensorType=ed.onnx.TypeProto.Tensor.toObject(en.tensorType,er),er.oneofs&&(ei.value="tensorType")),null!=en.denotation&&en.hasOwnProperty("denotation")&&(ei.denotation=en.denotation),ei},er.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},er.Tensor=function(){function en(en){if(en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return en.prototype.elemType=0,en.prototype.shape=null,en.create=function(er){return new en(er)},en.encode=function(en,er){return er||(er=ef.create()),null!=en.elemType&&en.hasOwnProperty("elemType")&&er.uint32(8).int32(en.elemType),null!=en.shape&&en.hasOwnProperty("shape")&&ed.onnx.TensorShapeProto.encode(en.shape,er.uint32(18).fork()).ldelim(),er},en.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},en.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.TypeProto.Tensor;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:eo.elemType=en.int32();break;case 2:eo.shape=ed.onnx.TensorShapeProto.decode(en,en.uint32());break;default:en.skipType(7&ea)}}return eo},en.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},en.verify=function(en){if("object"!=typeof en||null===en)return"object expected";if(null!=en.elemType&&en.hasOwnProperty("elemType")&&!eA.isInteger(en.elemType))return"elemType: integer expected";if(null!=en.shape&&en.hasOwnProperty("shape")){var er=ed.onnx.TensorShapeProto.verify(en.shape);if(er)return"shape."+er}return null},en.fromObject=function(en){if(en instanceof ed.onnx.TypeProto.Tensor)return en;var er=new ed.onnx.TypeProto.Tensor;if(null!=en.elemType&&(er.elemType=0|en.elemType),null!=en.shape){if("object"!=typeof en.shape)throw TypeError(".onnx.TypeProto.Tensor.shape: object expected");er.shape=ed.onnx.TensorShapeProto.fromObject(en.shape)}return er},en.toObject=function(en,er){er||(er={});var ei={};return er.defaults&&(ei.elemType=0,ei.shape=null),null!=en.elemType&&en.hasOwnProperty("elemType")&&(ei.elemType=en.elemType),null!=en.shape&&en.hasOwnProperty("shape")&&(ei.shape=ed.onnx.TensorShapeProto.toObject(en.shape,er)),ei},en.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},en}(),er}(),es.OperatorSetIdProto=function(){function en(en){if(en)for(var er=Object.keys(en),ei=0;ei<er.length;++ei)null!=en[er[ei]]&&(this[er[ei]]=en[er[ei]])}return en.prototype.domain="",en.prototype.version=eA.Long?eA.Long.fromBits(0,0,!1):0,en.create=function(er){return new en(er)},en.encode=function(en,er){return er||(er=ef.create()),null!=en.domain&&en.hasOwnProperty("domain")&&er.uint32(10).string(en.domain),null!=en.version&&en.hasOwnProperty("version")&&er.uint32(16).int64(en.version),er},en.encodeDelimited=function(en,er){return this.encode(en,er).ldelim()},en.decode=function(en,er){en instanceof ec||(en=ec.create(en));for(var ei=void 0===er?en.len:en.pos+er,eo=new ed.onnx.OperatorSetIdProto;en.pos<ei;){var ea=en.uint32();switch(ea>>>3){case 1:eo.domain=en.string();break;case 2:eo.version=en.int64();break;default:en.skipType(7&ea)}}return eo},en.decodeDelimited=function(en){return en instanceof ec||(en=new ec(en)),this.decode(en,en.uint32())},en.verify=function(en){return"object"!=typeof en||null===en?"object expected":null!=en.domain&&en.hasOwnProperty("domain")&&!eA.isString(en.domain)?"domain: string expected":null!=en.version&&en.hasOwnProperty("version")&&!(eA.isInteger(en.version)||en.version&&eA.isInteger(en.version.low)&&eA.isInteger(en.version.high))?"version: integer|Long expected":null},en.fromObject=function(en){if(en instanceof ed.onnx.OperatorSetIdProto)return en;var er=new ed.onnx.OperatorSetIdProto;return null!=en.domain&&(er.domain=String(en.domain)),null!=en.version&&(eA.Long?(er.version=eA.Long.fromValue(en.version)).unsigned=!1:"string"==typeof en.version?er.version=parseInt(en.version,10):"number"==typeof en.version?er.version=en.version:"object"==typeof en.version&&(er.version=new eA.LongBits(en.version.low>>>0,en.version.high>>>0).toNumber())),er},en.toObject=function(en,er){er||(er={});var ei={};if(er.defaults){if(ei.domain="",eA.Long){var eo=new eA.Long(0,0,!1);ei.version=er.longs===String?eo.toString():er.longs===Number?eo.toNumber():eo}else ei.version=er.longs===String?"0":0}return null!=en.domain&&en.hasOwnProperty("domain")&&(ei.domain=en.domain),null!=en.version&&en.hasOwnProperty("version")&&("number"==typeof en.version?ei.version=er.longs===String?String(en.version):en.version:ei.version=er.longs===String?eA.Long.prototype.toString.call(en.version):er.longs===Number?new eA.LongBits(en.version.low>>>0,en.version.high>>>0).toNumber():en.version),ei},en.prototype.toJSON=function(){return this.constructor.toObject(this,eu.util.toJSONOptions)},en}(),es),en.exports=ed},2100:(en,er,ei)=>{"use strict";en.exports=ei(9482)},9482:(en,er,ei)=>{"use strict";var eo=er;function ea(){eo.util._configure(),eo.Writer._configure(eo.BufferWriter),eo.Reader._configure(eo.BufferReader)}eo.build="minimal",eo.Writer=ei(1173),eo.BufferWriter=ei(3155),eo.Reader=ei(1408),eo.BufferReader=ei(593),eo.util=ei(9693),eo.rpc=ei(5994),eo.roots=ei(5054),eo.configure=ea,ea()},1408:(en,er,ei)=>{"use strict";en.exports=ef;var eo,ea=ei(9693),es=ea.LongBits,eu=ea.utf8;function ec(en,er){return RangeError("index out of range: "+en.pos+" + "+(er||1)+" > "+en.len)}function ef(en){this.buf=en,this.pos=0,this.len=en.length}var eA,ed="undefined"!=typeof Uint8Array?function(en){if(en instanceof Uint8Array||Array.isArray(en))return new ef(en);throw Error("illegal buffer")}:function(en){if(Array.isArray(en))return new ef(en);throw Error("illegal buffer")},eh=function(){return ea.Buffer?function(en){return(ef.create=function(en){return ea.Buffer.isBuffer(en)?new eo(en):ed(en)})(en)}:ed};function ep(){var en=new es(0,0),er=0;if(!(this.len-this.pos>4)){for(;er<3;++er){if(this.pos>=this.len)throw ec(this);if(en.lo=(en.lo|(127&this.buf[this.pos])<<7*er)>>>0,this.buf[this.pos++]<128)return en}return en.lo=(en.lo|(127&this.buf[this.pos++])<<7*er)>>>0,en}for(;er<4;++er)if(en.lo=(en.lo|(127&this.buf[this.pos])<<7*er)>>>0,this.buf[this.pos++]<128)return en;if(en.lo=(en.lo|(127&this.buf[this.pos])<<28)>>>0,en.hi=(en.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return en;if(er=0,this.len-this.pos>4){for(;er<5;++er)if(en.hi=(en.hi|(127&this.buf[this.pos])<<7*er+3)>>>0,this.buf[this.pos++]<128)return en}else for(;er<5;++er){if(this.pos>=this.len)throw ec(this);if(en.hi=(en.hi|(127&this.buf[this.pos])<<7*er+3)>>>0,this.buf[this.pos++]<128)return en}throw Error("invalid varint encoding")}function eg(en,er){return(en[er-4]|en[er-3]<<8|en[er-2]<<16|en[er-1]<<24)>>>0}function eb(){if(this.pos+8>this.len)throw ec(this,8);return new es(eg(this.buf,this.pos+=4),eg(this.buf,this.pos+=4))}ef.create=eh(),ef.prototype._slice=ea.Array.prototype.subarray||ea.Array.prototype.slice,ef.prototype.uint32=(eA=4294967295,function(){if(eA=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128||(eA=(eA|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)||(eA=(eA|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)||(eA=(eA|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)||(eA=(eA|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128))return eA;if((this.pos+=5)>this.len)throw this.pos=this.len,ec(this,10);return eA}),ef.prototype.int32=function(){return 0|this.uint32()},ef.prototype.sint32=function(){var en=this.uint32();return en>>>1^-(1&en)|0},ef.prototype.bool=function(){return 0!==this.uint32()},ef.prototype.fixed32=function(){if(this.pos+4>this.len)throw ec(this,4);return eg(this.buf,this.pos+=4)},ef.prototype.sfixed32=function(){if(this.pos+4>this.len)throw ec(this,4);return 0|eg(this.buf,this.pos+=4)},ef.prototype.float=function(){if(this.pos+4>this.len)throw ec(this,4);var en=ea.float.readFloatLE(this.buf,this.pos);return this.pos+=4,en},ef.prototype.double=function(){if(this.pos+8>this.len)throw ec(this,4);var en=ea.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,en},ef.prototype.bytes=function(){var en=this.uint32(),er=this.pos,ei=this.pos+en;if(ei>this.len)throw ec(this,en);return this.pos+=en,Array.isArray(this.buf)?this.buf.slice(er,ei):er===ei?new this.buf.constructor(0):this._slice.call(this.buf,er,ei)},ef.prototype.string=function(){var en=this.bytes();return eu.read(en,0,en.length)},ef.prototype.skip=function(en){if("number"==typeof en){if(this.pos+en>this.len)throw ec(this,en);this.pos+=en}else do if(this.pos>=this.len)throw ec(this);while(128&this.buf[this.pos++]);return this},ef.prototype.skipType=function(en){switch(en){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(en=7&this.uint32());)this.skipType(en);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+en+" at offset "+this.pos)}return this},ef._configure=function(en){eo=en,ef.create=eh(),eo._configure();var er=ea.Long?"toLong":"toNumber";ea.merge(ef.prototype,{int64:function(){return ep.call(this)[er](!1)},uint64:function(){return ep.call(this)[er](!0)},sint64:function(){return ep.call(this).zzDecode()[er](!1)},fixed64:function(){return eb.call(this)[er](!0)},sfixed64:function(){return eb.call(this)[er](!1)}})}},593:(en,er,ei)=>{"use strict";en.exports=es;var eo=ei(1408);(es.prototype=Object.create(eo.prototype)).constructor=es;var ea=ei(9693);function es(en){eo.call(this,en)}es._configure=function(){ea.Buffer&&(es.prototype._slice=ea.Buffer.prototype.slice)},es.prototype.string=function(){var en=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+en,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+en,this.len))},es._configure()},5054:en=>{"use strict";en.exports={}},5994:(en,er,ei)=>{"use strict";er.Service=ei(7948)},7948:(en,er,ei)=>{"use strict";en.exports=ea;var eo=ei(9693);function ea(en,er,ei){if("function"!=typeof en)throw TypeError("rpcImpl must be a function");eo.EventEmitter.call(this),this.rpcImpl=en,this.requestDelimited=!!er,this.responseDelimited=!!ei}(ea.prototype=Object.create(eo.EventEmitter.prototype)).constructor=ea,ea.prototype.rpcCall=function en(er,ei,ea,es,eu){if(!es)throw TypeError("request must be specified");var ec=this;if(!eu)return eo.asPromise(en,ec,er,ei,ea,es);if(ec.rpcImpl)try{return ec.rpcImpl(er,ei[ec.requestDelimited?"encodeDelimited":"encode"](es).finish(),function(en,ei){if(en)return ec.emit("error",en,er),eu(en);if(null!==ei){if(!(ei instanceof ea))try{ei=ea[ec.responseDelimited?"decodeDelimited":"decode"](ei)}catch(en){return ec.emit("error",en,er),eu(en)}return ec.emit("data",ei,er),eu(null,ei)}ec.end(!0)})}catch(en){return ec.emit("error",en,er),void setTimeout(function(){eu(en)},0)}else setTimeout(function(){eu(Error("already ended"))},0)},ea.prototype.end=function(en){return this.rpcImpl&&(en||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},1945:(en,er,ei)=>{"use strict";en.exports=ea;var eo=ei(9693);function ea(en,er){this.lo=en>>>0,this.hi=er>>>0}var es=ea.zero=new ea(0,0);es.toNumber=function(){return 0},es.zzEncode=es.zzDecode=function(){return this},es.length=function(){return 1};var eu=ea.zeroHash="\x00\x00\x00\x00\x00\x00\x00\x00";ea.fromNumber=function(en){if(0===en)return es;var er=en<0;er&&(en=-en);var ei=en>>>0,eo=(en-ei)/4294967296>>>0;return er&&(eo=~eo>>>0,ei=~ei>>>0,++ei>4294967295&&(ei=0,++eo>4294967295&&(eo=0))),new ea(ei,eo)},ea.from=function(en){if("number"==typeof en)return ea.fromNumber(en);if(eo.isString(en)){if(!eo.Long)return ea.fromNumber(parseInt(en,10));en=eo.Long.fromString(en)}return en.low||en.high?new ea(en.low>>>0,en.high>>>0):es},ea.prototype.toNumber=function(en){if(!en&&this.hi>>>31){var er=1+~this.lo>>>0,ei=~this.hi>>>0;return er||(ei=ei+1>>>0),-(er+4294967296*ei)}return this.lo+4294967296*this.hi},ea.prototype.toLong=function(en){return eo.Long?new eo.Long(0|this.lo,0|this.hi,!!en):{low:0|this.lo,high:0|this.hi,unsigned:!!en}};var ec=String.prototype.charCodeAt;ea.fromHash=function(en){return en===eu?es:new ea((ec.call(en,0)|ec.call(en,1)<<8|ec.call(en,2)<<16|ec.call(en,3)<<24)>>>0,(ec.call(en,4)|ec.call(en,5)<<8|ec.call(en,6)<<16|ec.call(en,7)<<24)>>>0)},ea.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},ea.prototype.zzEncode=function(){var en=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^en)>>>0,this.lo=(this.lo<<1^en)>>>0,this},ea.prototype.zzDecode=function(){var en=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^en)>>>0,this.hi=(this.hi>>>1^en)>>>0,this},ea.prototype.length=function(){var en=this.lo,er=(this.lo>>>28|this.hi<<4)>>>0,ei=this.hi>>>24;return 0===ei?0===er?en<16384?en<128?1:2:en<2097152?3:4:er<16384?er<128?5:6:er<2097152?7:8:ei<128?9:10}},9693:function(en,er,ei){"use strict";var eo=er;function ea(en,er,ei){for(var eo=Object.keys(er),ea=0;ea<eo.length;++ea)void 0!==en[eo[ea]]&&ei||(en[eo[ea]]=er[eo[ea]]);return en}function es(en){function er(en,ei){if(!(this instanceof er))return new er(en,ei);Object.defineProperty(this,"message",{get:function(){return en}}),Error.captureStackTrace?Error.captureStackTrace(this,er):Object.defineProperty(this,"stack",{value:Error().stack||""}),ei&&ea(this,ei)}return(er.prototype=Object.create(Error.prototype)).constructor=er,Object.defineProperty(er.prototype,"name",{get:function(){return en}}),er.prototype.toString=function(){return this.name+": "+this.message},er}eo.asPromise=ei(4537),eo.base64=ei(7419),eo.EventEmitter=ei(9211),eo.float=ei(945),eo.inquire=ei(7199),eo.utf8=ei(4997),eo.pool=ei(6662),eo.LongBits=ei(1945),eo.isNode=!!(void 0!==ei.g&&ei.g&&ei.g.process&&ei.g.process.versions&&ei.g.process.versions.node),eo.global=eo.isNode&&ei.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,eo.emptyArray=Object.freeze?Object.freeze([]):[],eo.emptyObject=Object.freeze?Object.freeze({}):{},eo.isInteger=Number.isInteger||function(en){return"number"==typeof en&&isFinite(en)&&Math.floor(en)===en},eo.isString=function(en){return"string"==typeof en||en instanceof String},eo.isObject=function(en){return en&&"object"==typeof en},eo.isset=eo.isSet=function(en,er){var ei=en[er];return!(null==ei||!en.hasOwnProperty(er))&&("object"!=typeof ei||(Array.isArray(ei)?ei.length:Object.keys(ei).length)>0)},eo.Buffer=function(){try{var en=eo.inquire("buffer").Buffer;return en.prototype.utf8Write?en:null}catch(en){return null}}(),eo._Buffer_from=null,eo._Buffer_allocUnsafe=null,eo.newBuffer=function(en){return"number"==typeof en?eo.Buffer?eo._Buffer_allocUnsafe(en):new eo.Array(en):eo.Buffer?eo._Buffer_from(en):"undefined"==typeof Uint8Array?en:new Uint8Array(en)},eo.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,eo.Long=eo.global.dcodeIO&&eo.global.dcodeIO.Long||eo.global.Long||eo.inquire("long"),eo.key2Re=/^true|false|0|1$/,eo.key32Re=/^-?(?:0|[1-9][0-9]*)$/,eo.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,eo.longToHash=function(en){return en?eo.LongBits.from(en).toHash():eo.LongBits.zeroHash},eo.longFromHash=function(en,er){var ei=eo.LongBits.fromHash(en);return eo.Long?eo.Long.fromBits(ei.lo,ei.hi,er):ei.toNumber(!!er)},eo.merge=ea,eo.lcFirst=function(en){return en.charAt(0).toLowerCase()+en.substring(1)},eo.newError=es,eo.ProtocolError=es("ProtocolError"),eo.oneOfGetter=function(en){for(var er={},ei=0;ei<en.length;++ei)er[en[ei]]=1;return function(){for(var en=Object.keys(this),ei=en.length-1;ei>-1;--ei)if(1===er[en[ei]]&&void 0!==this[en[ei]]&&null!==this[en[ei]])return en[ei]}},eo.oneOfSetter=function(en){return function(er){for(var ei=0;ei<en.length;++ei)en[ei]!==er&&delete this[en[ei]]}},eo.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},eo._configure=function(){var en=eo.Buffer;en?(eo._Buffer_from=en.from!==Uint8Array.from&&en.from||function(er,ei){return new en(er,ei)},eo._Buffer_allocUnsafe=en.allocUnsafe||function(er){return new en(er)}):eo._Buffer_from=eo._Buffer_allocUnsafe=null}},1173:(en,er,ei)=>{"use strict";en.exports=eh;var eo,ea=ei(9693),es=ea.LongBits,eu=ea.base64,ec=ea.utf8;function ef(en,er,ei){this.fn=en,this.len=er,this.next=void 0,this.val=ei}function eA(){}function ed(en){this.head=en.head,this.tail=en.tail,this.len=en.len,this.next=en.states}function eh(){this.len=0,this.head=new ef(eA,0,0),this.tail=this.head,this.states=null}var ep=function(){return ea.Buffer?function(){return(eh.create=function(){return new eo})()}:function(){return new eh}};function eg(en,er,ei){er[ei]=255&en}function eb(en,er){this.len=en,this.next=void 0,this.val=er}function em(en,er,ei){for(;en.hi;)er[ei++]=127&en.lo|128,en.lo=(en.lo>>>7|en.hi<<25)>>>0,en.hi>>>=7;for(;en.lo>127;)er[ei++]=127&en.lo|128,en.lo=en.lo>>>7;er[ei++]=en.lo}function ey(en,er,ei){er[ei]=255&en,er[ei+1]=en>>>8&255,er[ei+2]=en>>>16&255,er[ei+3]=en>>>24}eh.create=ep(),eh.alloc=function(en){return new ea.Array(en)},ea.Array!==Array&&(eh.alloc=ea.pool(eh.alloc,ea.Array.prototype.subarray)),eh.prototype._push=function(en,er,ei){return this.tail=this.tail.next=new ef(en,er,ei),this.len+=er,this},eb.prototype=Object.create(ef.prototype),eb.prototype.fn=function(en,er,ei){for(;en>127;)er[ei++]=127&en|128,en>>>=7;er[ei]=en},eh.prototype.uint32=function(en){return this.len+=(this.tail=this.tail.next=new eb((en>>>=0)<128?1:en<16384?2:en<2097152?3:en<268435456?4:5,en)).len,this},eh.prototype.int32=function(en){return en<0?this._push(em,10,es.fromNumber(en)):this.uint32(en)},eh.prototype.sint32=function(en){return this.uint32((en<<1^en>>31)>>>0)},eh.prototype.uint64=function(en){var er=es.from(en);return this._push(em,er.length(),er)},eh.prototype.int64=eh.prototype.uint64,eh.prototype.sint64=function(en){var er=es.from(en).zzEncode();return this._push(em,er.length(),er)},eh.prototype.bool=function(en){return this._push(eg,1,en?1:0)},eh.prototype.fixed32=function(en){return this._push(ey,4,en>>>0)},eh.prototype.sfixed32=eh.prototype.fixed32,eh.prototype.fixed64=function(en){var er=es.from(en);return this._push(ey,4,er.lo)._push(ey,4,er.hi)},eh.prototype.sfixed64=eh.prototype.fixed64,eh.prototype.float=function(en){return this._push(ea.float.writeFloatLE,4,en)},eh.prototype.double=function(en){return this._push(ea.float.writeDoubleLE,8,en)};var ev=ea.Array.prototype.set?function(en,er,ei){er.set(en,ei)}:function(en,er,ei){for(var eo=0;eo<en.length;++eo)er[ei+eo]=en[eo]};eh.prototype.bytes=function(en){var er=en.length>>>0;if(!er)return this._push(eg,1,0);if(ea.isString(en)){var ei=eh.alloc(er=eu.length(en));eu.decode(en,ei,0),en=ei}return this.uint32(er)._push(ev,er,en)},eh.prototype.string=function(en){var er=ec.length(en);return er?this.uint32(er)._push(ec.write,er,en):this._push(eg,1,0)},eh.prototype.fork=function(){return this.states=new ed(this),this.head=this.tail=new ef(eA,0,0),this.len=0,this},eh.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new ef(eA,0,0),this.len=0),this},eh.prototype.ldelim=function(){var en=this.head,er=this.tail,ei=this.len;return this.reset().uint32(ei),ei&&(this.tail.next=en.next,this.tail=er,this.len+=ei),this},eh.prototype.finish=function(){for(var en=this.head.next,er=this.constructor.alloc(this.len),ei=0;en;)en.fn(en.val,er,ei),ei+=en.len,en=en.next;return er},eh._configure=function(en){eo=en,eh.create=ep(),eo._configure()}},3155:(en,er,ei)=>{"use strict";en.exports=es;var eo=ei(1173);(es.prototype=Object.create(eo.prototype)).constructor=es;var ea=ei(9693);function es(){eo.call(this)}function eu(en,er,ei){en.length<40?ea.utf8.write(en,er,ei):er.utf8Write?er.utf8Write(en,ei):er.write(en,ei)}es._configure=function(){es.alloc=ea._Buffer_allocUnsafe,es.writeBytesBuffer=ea.Buffer&&ea.Buffer.prototype instanceof Uint8Array&&"set"===ea.Buffer.prototype.set.name?function(en,er,ei){er.set(en,ei)}:function(en,er,ei){if(en.copy)en.copy(er,ei,0,en.length);else for(var eo=0;eo<en.length;)er[ei++]=en[eo++]}},es.prototype.bytes=function(en){ea.isString(en)&&(en=ea._Buffer_from(en,"base64"));var er=en.length>>>0;return this.uint32(er),er&&this._push(es.writeBytesBuffer,er,en),this},es.prototype.string=function(en){var er=ea.Buffer.byteLength(en);return this.uint32(er),er&&this._push(eu,er,en),this},es._configure()},7714:(en,er,ei)=>{"use strict";er.R=void 0;let eo=ei(6919),ea=ei(7448);er.R=new class{async init(){}async createSessionHandler(en,er){let ei=new eo.Session(er);return await ei.loadModel(en),new ea.OnnxjsSessionHandler(ei)}}},4200:(en,er,ei)=>{"use strict";er.c8=er.rX=void 0;let eo=ei(1670),ea=ei(5381),es=ei(2157),eu=ei(2306);er.rX=()=>{if(("number"!=typeof eo.env.wasm.initTimeout||eo.env.wasm.initTimeout<0)&&(eo.env.wasm.initTimeout=0),"boolean"!=typeof eo.env.wasm.simd&&(eo.env.wasm.simd=!0),"boolean"!=typeof eo.env.wasm.proxy&&(eo.env.wasm.proxy=!1),"number"!=typeof eo.env.wasm.numThreads||!Number.isInteger(eo.env.wasm.numThreads)||eo.env.wasm.numThreads<=0){let en="undefined"==typeof navigator?(0,ea.cpus)().length:navigator.hardwareConcurrency;eo.env.wasm.numThreads=Math.min(4,Math.ceil((en||1)/2))}},er.c8=new class{async init(){(0,er.rX)(),await (0,es.initWasm)()}async createSessionHandler(en,er){let ei=new eu.OnnxruntimeWebAssemblySessionHandler;return await ei.loadModel(en,er),Promise.resolve(ei)}}},6018:function(en,er,ei){"use strict";var eo=this&&this.__createBinding||(Object.create?function(en,er,ei,eo){void 0===eo&&(eo=ei);var ea=Object.getOwnPropertyDescriptor(er,ei);ea&&!("get"in ea?!er.__esModule:ea.writable||ea.configurable)||(ea={enumerable:!0,get:function(){return er[ei]}}),Object.defineProperty(en,eo,ea)}:function(en,er,ei,eo){void 0===eo&&(eo=ei),en[eo]=er[ei]}),ea=this&&this.__exportStar||function(en,er){for(var ei in en)"default"===ei||Object.prototype.hasOwnProperty.call(er,ei)||eo(er,en,ei)};Object.defineProperty(er,"__esModule",{value:!0}),ea(ei(1670),er);let es=ei(1670);{let en=ei(7714).R;(0,es.registerBackend)("webgl",en,-10)}{let en=ei(4200).c8;(0,es.registerBackend)("cpu",en,10),(0,es.registerBackend)("wasm",en,10),(0,es.registerBackend)("xnnpack",en,9)}},246:(en,er)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.createAttributeWithCacheKey=void 0;class ei{constructor(en){Object.assign(this,en)}get cacheKey(){return this._cacheKey||(this._cacheKey=Object.getOwnPropertyNames(this).sort().map(en=>`${this[en]}`).join(";")),this._cacheKey}}er.createAttributeWithCacheKey=en=>new ei(en)},7778:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.Attribute=void 0;let eo=ei(1446),ea=ei(9395),es=ei(9162),eu=ei(2517);var ec=ea.onnxruntime.experimental.fbs;class ef{constructor(en){if(this._attributes=new Map,null!=en){for(let er of en)er instanceof eo.onnx.AttributeProto?this._attributes.set(er.name,[ef.getValue(er),ef.getType(er)]):er instanceof ec.Attribute&&this._attributes.set(er.name(),[ef.getValue(er),ef.getType(er)]);if(this._attributes.size<en.length)throw Error("duplicated attribute names")}}set(en,er,ei){this._attributes.set(en,[ei,er])}delete(en){this._attributes.delete(en)}getFloat(en,er){return this.get(en,"float",er)}getInt(en,er){return this.get(en,"int",er)}getString(en,er){return this.get(en,"string",er)}getTensor(en,er){return this.get(en,"tensor",er)}getFloats(en,er){return this.get(en,"floats",er)}getInts(en,er){return this.get(en,"ints",er)}getStrings(en,er){return this.get(en,"strings",er)}getTensors(en,er){return this.get(en,"tensors",er)}get(en,er,ei){let eo=this._attributes.get(en);if(void 0===eo){if(void 0!==ei)return ei;throw Error(`required attribute not found: ${en}`)}if(eo[1]!==er)throw Error(`type mismatch: expected ${er} but got ${eo[1]}`);return eo[0]}static getType(en){let er=en instanceof eo.onnx.AttributeProto?en.type:en.type();switch(er){case eo.onnx.AttributeProto.AttributeType.FLOAT:return"float";case eo.onnx.AttributeProto.AttributeType.INT:return"int";case eo.onnx.AttributeProto.AttributeType.STRING:return"string";case eo.onnx.AttributeProto.AttributeType.TENSOR:return"tensor";case eo.onnx.AttributeProto.AttributeType.FLOATS:return"floats";case eo.onnx.AttributeProto.AttributeType.INTS:return"ints";case eo.onnx.AttributeProto.AttributeType.STRINGS:return"strings";case eo.onnx.AttributeProto.AttributeType.TENSORS:return"tensors";default:throw Error(`attribute type is not supported yet: ${eo.onnx.AttributeProto.AttributeType[er]}`)}}static getValue(en){let er=en instanceof eo.onnx.AttributeProto?en.type:en.type();if(er===eo.onnx.AttributeProto.AttributeType.GRAPH||er===eo.onnx.AttributeProto.AttributeType.GRAPHS)throw Error("graph attribute is not supported yet");let ei=this.getValueNoCheck(en);if(er===eo.onnx.AttributeProto.AttributeType.INT&&eu.LongUtil.isLong(ei))return eu.LongUtil.longToNumber(ei);if(er===eo.onnx.AttributeProto.AttributeType.INTS){let en=ei,er=Array(en.length);for(let ei=0;ei<en.length;ei++){let eo=en[ei];er[ei]=eu.LongUtil.longToNumber(eo)}return er}if(er===eo.onnx.AttributeProto.AttributeType.TENSOR)return en instanceof eo.onnx.AttributeProto?es.Tensor.fromProto(ei):es.Tensor.fromOrtTensor(ei);if(er===eo.onnx.AttributeProto.AttributeType.TENSORS){if(en instanceof eo.onnx.AttributeProto)return ei.map(en=>es.Tensor.fromProto(en));if(en instanceof ec.Attribute)return ei.map(en=>es.Tensor.fromOrtTensor(en))}if(er===eo.onnx.AttributeProto.AttributeType.STRING&&en instanceof eo.onnx.AttributeProto){let en=ei;return(0,eu.decodeUtf8String)(en)}return er===eo.onnx.AttributeProto.AttributeType.STRINGS&&en instanceof eo.onnx.AttributeProto?ei.map(eu.decodeUtf8String):ei}static getValueNoCheck(en){return en instanceof eo.onnx.AttributeProto?this.getValueNoCheckFromOnnxFormat(en):this.getValueNoCheckFromOrtFormat(en)}static getValueNoCheckFromOnnxFormat(en){switch(en.type){case eo.onnx.AttributeProto.AttributeType.FLOAT:return en.f;case eo.onnx.AttributeProto.AttributeType.INT:return en.i;case eo.onnx.AttributeProto.AttributeType.STRING:return en.s;case eo.onnx.AttributeProto.AttributeType.TENSOR:return en.t;case eo.onnx.AttributeProto.AttributeType.GRAPH:return en.g;case eo.onnx.AttributeProto.AttributeType.FLOATS:return en.floats;case eo.onnx.AttributeProto.AttributeType.INTS:return en.ints;case eo.onnx.AttributeProto.AttributeType.STRINGS:return en.strings;case eo.onnx.AttributeProto.AttributeType.TENSORS:return en.tensors;case eo.onnx.AttributeProto.AttributeType.GRAPHS:return en.graphs;default:throw Error(`unsupported attribute type: ${eo.onnx.AttributeProto.AttributeType[en.type]}`)}}static getValueNoCheckFromOrtFormat(en){switch(en.type()){case ec.AttributeType.FLOAT:return en.f();case ec.AttributeType.INT:return en.i();case ec.AttributeType.STRING:return en.s();case ec.AttributeType.TENSOR:return en.t();case ec.AttributeType.GRAPH:return en.g();case ec.AttributeType.FLOATS:return en.floatsArray();case ec.AttributeType.INTS:{let er=[];for(let ei=0;ei<en.intsLength();ei++)er.push(en.ints(ei));return er}case ec.AttributeType.STRINGS:{let er=[];for(let ei=0;ei<en.stringsLength();ei++)er.push(en.strings(ei));return er}case ec.AttributeType.TENSORS:{let er=[];for(let ei=0;ei<en.tensorsLength();ei++)er.push(en.tensors(ei));return er}default:throw Error(`unsupported attribute type: ${ec.AttributeType[en.type()]}`)}}}er.Attribute=ef},7091:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.resolveBackend=er.backend=void 0;let eo=ei(5038),ea=new Map;async function es(en){let ei=er.backend;if(void 0!==ei[en]&&function(en){let er=en;return"initialize"in er&&"function"==typeof er.initialize&&"createSessionHandler"in er&&"function"==typeof er.createSessionHandler&&"dispose"in er&&"function"==typeof er.dispose}(ei[en])){let er=ei[en],eo=er.initialize();if("object"==typeof eo&&"then"in eo&&(eo=await eo),eo)return ea.set(en,er),er}}er.backend={webgl:new eo.WebGLBackend},er.resolveBackend=async function en(er){if(!er)return en(["webgl"]);{let en="string"==typeof er?[er]:er;for(let er of en){let en=ea.get(er);if(en)return en;let ei=await es(er);if(ei)return ei}}throw Error("no available backend to use")}},5038:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.WebGLBackend=void 0;let eo=ei(1670),ea=ei(6231),es=ei(6416),eu=ei(7305);er.WebGLBackend=class{get contextId(){return eo.env.webgl.contextId}set contextId(en){eo.env.webgl.contextId=en}get matmulMaxBatchSize(){return eo.env.webgl.matmulMaxBatchSize}set matmulMaxBatchSize(en){eo.env.webgl.matmulMaxBatchSize=en}get textureCacheMode(){return eo.env.webgl.textureCacheMode}set textureCacheMode(en){eo.env.webgl.textureCacheMode=en}get pack(){return eo.env.webgl.pack}set pack(en){eo.env.webgl.pack=en}get async(){return eo.env.webgl.async}set async(en){eo.env.webgl.async=en}initialize(){try{return this.glContext=(0,eu.createWebGLContext)(this.contextId),"number"!=typeof this.matmulMaxBatchSize&&(this.matmulMaxBatchSize=16),"string"!=typeof this.textureCacheMode&&(this.textureCacheMode="full"),"boolean"!=typeof this.pack&&(this.pack=!1),"boolean"!=typeof this.async&&(this.async=!1),ea.Logger.setWithEnv(eo.env),ea.Logger.verbose("WebGLBackend",`Created WebGLContext: ${typeof this.glContext} with matmulMaxBatchSize: ${this.matmulMaxBatchSize}; textureCacheMode: ${this.textureCacheMode}; pack: ${this.pack}; async: ${this.async}.`),!0}catch(en){return ea.Logger.warning("WebGLBackend",`Unable to initialize WebGLBackend. ${en}`),!1}}createSessionHandler(en){return new es.WebGLSessionHandler(this,en)}dispose(){this.glContext.dispose()}}},5107:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.CoordsGlslLib=void 0;let eo=ei(2517),ea=ei(8520),es=ei(5060),eu=ei(7859),ec=ei(9390);class ef extends ea.GlslLib{constructor(en){super(en)}getFunctions(){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.offsetToCoords()),this.coordsToOffset()),this.toVec()),this.valueFrom()),this.getCommonUtilFuncs()),this.getInputsSamplingSnippets()),this.getOutputSamplingSnippet())}getCustomTypes(){return{}}offsetToCoords(){return{offsetToCoords:new ea.GlslLibRoutine("\n vec2 offsetToCoords(int offset, int width, int height) {\n int t = offset / width;\n int s = offset - t*width;\n vec2 coords = (vec2(s,t) + vec2(0.5,0.5)) / vec2(width, height);\n return coords;\n }\n ")}}coordsToOffset(){return{coordsToOffset:new ea.GlslLibRoutine("\n int coordsToOffset(vec2 coords, int width, int height) {\n float s = coords.s * float(width);\n float t = coords.t * float(height);\n int offset = int(t) * width + int(s);\n return offset;\n }\n ")}}getOutputSamplingSnippet(){let en=this.context.outputTextureLayout;return en.isPacked?this.getPackedOutputSamplingSnippet(en):this.getUnpackedOutputSamplingSnippet(en)}getPackedOutputSamplingSnippet(en){let er=en.unpackedShape,ei=[en.width,en.height],eo={},eu="getOutputCoords";switch(er.length){case 0:eo[eu]=this.getOutputScalarCoords();break;case 1:eo[eu]=this.getOutputPacked1DCoords(er,ei);break;case 2:eo[eu]=this.getOutputPacked2DCoords(er,ei);break;case 3:eo[eu]=this.getOutputPacked3DCoords(er,ei);break;default:eo[eu]=this.getOutputPackedNDCoords(er,ei)}let ec=`
|
|
11
|
+
void setOutput(vec4 val) {
|
|
12
|
+
${(0,es.getGlsl)(this.context.glContext.version).output} = val;
|
|
13
|
+
}
|
|
14
|
+
`;return eo.floatTextureSetRGBA=new ea.GlslLibRoutine(ec),eo}getUnpackedOutputSamplingSnippet(en){let er=en.unpackedShape,ei=[en.width,en.height],eo={},eu="getOutputCoords";switch(er.length){case 0:eo[eu]=this.getOutputScalarCoords();break;case 1:eo[eu]=this.getOutputUnpacked1DCoords(er,ei);break;case 2:eo[eu]=this.getOutputUnpacked2DCoords(er,ei);break;case 3:eo[eu]=this.getOutputUnpacked3DCoords(er,ei);break;case 4:eo[eu]=this.getOutputUnpacked4DCoords(er,ei);break;case 5:eo[eu]=this.getOutputUnpacked5DCoords(er,ei);break;case 6:eo[eu]=this.getOutputUnpacked6DCoords(er,ei);break;default:throw Error(`Unsupported output dimensionality: ${er.length}`)}let ec=`
|
|
15
|
+
void setOutput(float val) {
|
|
16
|
+
${(0,es.getGlsl)(this.context.glContext.version).output} = vec4(val, 0, 0, 0);
|
|
17
|
+
}
|
|
18
|
+
`;return eo.floatTextureSetR=new ea.GlslLibRoutine(ec),eo}getOutputScalarCoords(){return new ea.GlslLibRoutine("\n int getOutputCoords() {\n return 0;\n }\n ")}getOutputPacked1DCoords(en,er){let ei=er,eo="";return 1===ei[0]?(eo=`
|
|
19
|
+
int getOutputCoords() {
|
|
20
|
+
return 2 * int(TexCoords.y * ${ei[1]}.0);
|
|
21
|
+
}
|
|
22
|
+
`,new ea.GlslLibRoutine(eo)):1===ei[1]?(eo=`
|
|
23
|
+
int getOutputCoords() {
|
|
24
|
+
return 2 * int(TexCoords.x * ${ei[0]}.0);
|
|
25
|
+
}
|
|
26
|
+
`,new ea.GlslLibRoutine(eo)):(eo=`
|
|
27
|
+
int getOutputCoords() {
|
|
28
|
+
ivec2 resTexRC = ivec2(TexCoords.xy *
|
|
29
|
+
vec2(${ei[0]}, ${ei[1]}));
|
|
30
|
+
return 2 * (resTexRC.y * ${ei[0]} + resTexRC.x);
|
|
31
|
+
}
|
|
32
|
+
`,new ea.GlslLibRoutine(eo))}getOutputPacked2DCoords(en,er){let ei="";if(eo.ArrayUtil.arraysEqual(en,er))return ei=`
|
|
33
|
+
ivec2 getOutputCoords() {
|
|
34
|
+
return 2 * ivec2(TexCoords.xy * vec2(${er[0]}, ${er[1]}));
|
|
35
|
+
}
|
|
36
|
+
`,new ea.GlslLibRoutine(ei);let es=er,eu=Math.ceil(en[1]/2);return ei=`
|
|
37
|
+
ivec2 getOutputCoords() {
|
|
38
|
+
ivec2 resTexRC = ivec2(TexCoords.xy *
|
|
39
|
+
vec2(${es[0]}, ${es[1]}));
|
|
40
|
+
|
|
41
|
+
int index = resTexRC.y * ${es[0]} + resTexRC.x;
|
|
42
|
+
|
|
43
|
+
// reverse r and c order for packed texture
|
|
44
|
+
int r = imod(index, ${eu}) * 2;
|
|
45
|
+
int c = 2 * (index / ${eu});
|
|
46
|
+
|
|
47
|
+
return ivec2(r, c);
|
|
48
|
+
}
|
|
49
|
+
`,new ea.GlslLibRoutine(ei)}getOutputPacked3DCoords(en,er){let ei=[er[0],er[1]],eo=Math.ceil(en[2]/2),es=eo*Math.ceil(en[1]/2),eu=`
|
|
50
|
+
ivec3 getOutputCoords() {
|
|
51
|
+
ivec2 resTexRC = ivec2(TexCoords.xy *
|
|
52
|
+
vec2(${ei[0]}, ${ei[1]}));
|
|
53
|
+
int index = resTexRC.y * ${ei[0]} + resTexRC.x;
|
|
54
|
+
|
|
55
|
+
int b = index / ${es};
|
|
56
|
+
index -= b * ${es};
|
|
57
|
+
|
|
58
|
+
// reverse r and c order for packed texture
|
|
59
|
+
int r = imod(index, ${eo}) * 2;
|
|
60
|
+
int c = 2 * (index / ${eo});
|
|
61
|
+
|
|
62
|
+
return ivec3(b, r, c);
|
|
63
|
+
}
|
|
64
|
+
`;return new ea.GlslLibRoutine(eu)}getOutputPackedNDCoords(en,er){let ei=[er[0],er[1]],eo=Math.ceil(en[en.length-1]/2),es=eo*Math.ceil(en[en.length-2]/2),eu=es,ec="",ef="b, r, c";for(let er=2;er<en.length-1;er++)eu*=en[en.length-er-1],ec=`
|
|
65
|
+
int b${er} = index / ${eu};
|
|
66
|
+
index -= b${er} * ${eu};
|
|
67
|
+
`+ec,ef=`b${er}, `+ef;let eA=`
|
|
68
|
+
ivec${en.length} getOutputCoords() {
|
|
69
|
+
ivec2 resTexRC = ivec2(TexCoords.xy *
|
|
70
|
+
vec2(${ei[0]}, ${ei[1]}));
|
|
71
|
+
int index = resTexRC.y * ${ei[0]} + resTexRC.x;
|
|
72
|
+
|
|
73
|
+
${ec}
|
|
74
|
+
|
|
75
|
+
int b = index / ${es};
|
|
76
|
+
index -= b * ${es};
|
|
77
|
+
|
|
78
|
+
// reverse r and c order for packed texture
|
|
79
|
+
int r = imod(index, ${eo}) * 2;
|
|
80
|
+
int c = 2 * (index / ${eo});
|
|
81
|
+
|
|
82
|
+
return ivec${en.length}(${ef});
|
|
83
|
+
}
|
|
84
|
+
`;return new ea.GlslLibRoutine(eA)}getOutputUnpacked1DCoords(en,er){let ei=`
|
|
85
|
+
int getOutputCoords() {
|
|
86
|
+
ivec2 resTexRC = ivec2(TexCoords.xy *
|
|
87
|
+
vec2(${er[0]}, ${er[1]}));
|
|
88
|
+
return resTexRC.y * ${er[0]} + resTexRC.x;
|
|
89
|
+
}
|
|
90
|
+
`;return new ea.GlslLibRoutine(ei)}getOutputUnpacked2DCoords(en,er){let ei=`
|
|
91
|
+
ivec2 getOutputCoords() {
|
|
92
|
+
ivec2 resTexRC = ivec2(TexCoords.xy *
|
|
93
|
+
vec2(${er[0]}, ${er[1]}));
|
|
94
|
+
int index = resTexRC.y * ${er[0]} + resTexRC.x;
|
|
95
|
+
int r = index / ${en[1]};
|
|
96
|
+
int c = index - r * ${en[1]};
|
|
97
|
+
return ivec2(r, c);
|
|
98
|
+
}
|
|
99
|
+
`;return new ea.GlslLibRoutine(ei)}getOutputUnpacked3DCoords(en,er){let ei="",eo=en.length,es=null;eo<2&&(es=[]),(es=Array(eo-1))[eo-2]=en[eo-1];for(let er=eo-3;er>=0;--er)es[er]=es[er+1]*en[er+1];let eu=["r","c","d"],ec=es.map((en,er)=>`int ${eu[er]} = index / ${en}; ${er===es.length-1?`int ${eu[er+1]} = index - ${eu[er]} * ${en}`:`index -= ${eu[er]} * ${en}`};`).join("");return ei=`
|
|
100
|
+
ivec3 getOutputCoords() {
|
|
101
|
+
ivec2 resTexRC = ivec2(TexCoords.xy *
|
|
102
|
+
vec2(${er[0]}, ${er[1]}));
|
|
103
|
+
int index = resTexRC.y * ${er[0]} + resTexRC.x;
|
|
104
|
+
${ec}
|
|
105
|
+
return ivec3(r, c, d);
|
|
106
|
+
}
|
|
107
|
+
`,new ea.GlslLibRoutine(ei)}getOutputUnpacked4DCoords(en,er){let ei="",eo=en.length,es=null;eo<2&&(es=[]),(es=Array(eo-1))[eo-2]=en[eo-1];for(let er=eo-3;er>=0;--er)es[er]=es[er+1]*en[er+1];let eu=["r","c","d","d2"],ec=es.map((en,er)=>`int ${eu[er]} = index / ${en}; ${er===es.length-1?`int ${eu[er+1]} = index - ${eu[er]} * ${en}`:`index -= ${eu[er]} * ${en}`};`).join("");return ei=`
|
|
108
|
+
ivec4 getOutputCoords() {
|
|
109
|
+
ivec2 resTexRC = ivec2(TexCoords.xy *
|
|
110
|
+
vec2(${er[0]}, ${er[1]}));
|
|
111
|
+
int index = resTexRC.y * ${er[0]} + resTexRC.x;
|
|
112
|
+
${ec}
|
|
113
|
+
return ivec4(r, c, d, d2);
|
|
114
|
+
}
|
|
115
|
+
`,new ea.GlslLibRoutine(ei)}getOutputUnpacked5DCoords(en,er){let ei="",eo=en.length,es=null;eo<2&&(es=[]),(es=Array(eo-1))[eo-2]=en[eo-1];for(let er=eo-3;er>=0;--er)es[er]=es[er+1]*en[er+1];let eu=["r","c","d","d2","d3"],ec=es.map((en,er)=>`int ${eu[er]} = index / ${en}; ${er===es.length-1?`int ${eu[er+1]} = index - ${eu[er]} * ${en}`:`index -= ${eu[er]} * ${en}`};`).join("");return ei=`
|
|
116
|
+
ivec5 getOutputCoords() {
|
|
117
|
+
ivec2 resTexRC = ivec2(TexCoords.xy *
|
|
118
|
+
vec2(${er[0]}, ${er[1]}));
|
|
119
|
+
int index = resTexRC.y * ${er[0]} + resTexRC.x;
|
|
120
|
+
${ec}
|
|
121
|
+
return ivec5(r, c, d, d2, d3);
|
|
122
|
+
}
|
|
123
|
+
`,new ea.GlslLibRoutine(ei)}getOutputUnpacked6DCoords(en,er){let ei="",eo=en.length,es=null;eo<2&&(es=[]),(es=Array(eo-1))[eo-2]=en[eo-1];for(let er=eo-3;er>=0;--er)es[er]=es[er+1]*en[er+1];let eu=["r","c","d","d2","d3","d4"],ec=es.map((en,er)=>`int ${eu[er]} = index / ${en}; ${er===es.length-1?`int ${eu[er+1]} = index - ${eu[er]} * ${en}`:`index -= ${eu[er]} * ${en}`};`).join("");return ei=`
|
|
124
|
+
ivec6 getOutputCoords() {
|
|
125
|
+
ivec2 resTexRC = ivec2(TexCoords.xy *
|
|
126
|
+
vec2(${er[0]}, ${er[1]}));
|
|
127
|
+
int index = resTexRC.y * ${er[0]} + resTexRC.x;
|
|
128
|
+
${ec}
|
|
129
|
+
return ivec6(r, c, d, d2, d3, d4);
|
|
130
|
+
}
|
|
131
|
+
`,new ea.GlslLibRoutine(ei)}getCommonUtilFuncs(){let en={},er="uvFromFlat";en[er]=new ea.GlslLibRoutine("\n vec2 uvFromFlat(int texNumR, int texNumC, int index) {\n int texC = index / texNumR;\n int texR = index - texC * texNumR;\n // TODO: swap texR, texC order in following function so row is corresponding to u and column is corresponding to\n // v.\n return (vec2(texR, texC) + halfCR) / vec2(texNumR, texNumC);\n }\n "),en[er="packedUVfrom1D"]=new ea.GlslLibRoutine("\n vec2 packedUVfrom1D(int texNumR, int texNumC, int index) {\n int texelIndex = index / 2;\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n }\n "),en[er="packedUVfrom2D"]=new ea.GlslLibRoutine("\n vec2 packedUVfrom2D(int texNumR, int texNumC, int texelsInLogicalRow, int row, int col) {\n int texelIndex = (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n }\n "),en[er="packedUVfrom3D"]=new ea.GlslLibRoutine("\n vec2 packedUVfrom3D(int texNumR, int texNumC,\n int texelsInBatch, int texelsInLogicalRow, int b,\n int row, int col) {\n int index = b * texelsInBatch + (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n }\n "),er="sampleTexture";let ei=(0,es.getGlsl)(this.context.glContext.version);return en[er]=new ea.GlslLibRoutine(`
|
|
132
|
+
float sampleTexture(sampler2D textureSampler, vec2 uv) {
|
|
133
|
+
return ${ei.texture2D}(textureSampler, uv).r;
|
|
134
|
+
}`),en}getInputsSamplingSnippets(){let en={},er=this.context.outputTextureLayout;return this.context.programInfo.inputNames.forEach((ei,eo)=>{let ea=this.context.inputTextureLayouts[eo],es=(0,ec.generateShaderFuncNameFromInputSamplerName)(ei);ea.isPacked?en[es]=this.getPackedSamplerFromInput(es,ei,ea):en[es]=this.getUnpackedSamplerFromInput(es,ei,ea);let eu=(0,ec.generateShaderFuncNameFromInputSamplerNameAtOutCoords)(ei);ea.unpackedShape.length<=er.unpackedShape.length&&(ea.isPacked?en[eu]=this.getPackedSamplerAtOutputCoords(eu,ea,er,ei):en[eu]=this.getUnpackedSamplerAtOutputCoords(eu,ea,er,ei))}),en}getPackedSamplerAtOutputCoords(en,er,ei,es){let eu;let ef=er.unpackedShape,eA=ei.unpackedShape,ed=es,eh=(0,ec.generateShaderFuncNameFromInputSamplerName)(ed),ep=ef.length,eg=eA.length,eb=eo.BroadcastUtil.getBroadcastDims(ef,eA),em=(0,ec.getCoordsDataType)(eg),ey=eg-ep,ev=(0,ec.getGlChannels)();eu=0===ep?"":eg<2&&eb.length>=1?"coords = 0;":eb.map(en=>`coords.${ev[en+ey]} = 0;`).join("\n");let eI="";eI=eg<2&&ep>0?"coords":ef.map((en,er)=>`coords.${ev[er+ey]}`).join(", ");let ew="return outputValue;",eE=1===eo.ShapeUtil.size(ef),eC=1===eo.ShapeUtil.size(eA);if(1!==ep||eE||eC){if(eE&&!eC)ew=1===eg?"\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n ":"\n return vec4(outputValue.x);\n ";else if(eb.length){let en=ep-2,er=ep-1;eb.indexOf(en)>-1&&eb.indexOf(er)>-1?ew="return vec4(outputValue.x);":eb.indexOf(en)>-1?ew="return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);":eb.indexOf(er)>-1&&(ew="return vec4(outputValue.xx, outputValue.zz);")}}else ew="\n return vec4(outputValue.xy, outputValue.xy);\n ";let eT=`
|
|
135
|
+
vec4 ${en}() {
|
|
136
|
+
${em} coords = getOutputCoords();
|
|
137
|
+
|
|
138
|
+
int lastDim = coords.${ev[eg-1]};
|
|
139
|
+
coords.${ev[eg-1]} = coords.${ev[eg-2]};
|
|
140
|
+
coords.${ev[eg-2]} = lastDim;
|
|
141
|
+
|
|
142
|
+
${eu}
|
|
143
|
+
vec4 outputValue = ${eh}(${eI});
|
|
144
|
+
${ew}
|
|
145
|
+
}
|
|
146
|
+
`;return new ea.GlslLibRoutine(eT,["coordinates.getOutputCoords"])}getUnpackedSamplerAtOutputCoords(en,er,ei,es){let eu;let ef=[ei.width,ei.height],eA=[er.width,er.height],ed=er.unpackedShape.length,eh=ei.unpackedShape.length,ep=er.unpackedShape,eg=ei.unpackedShape,eb=(0,ec.generateShaderFuncNameFromInputSamplerName)(es);if(ed===eh&&eo.ArrayUtil.arraysEqual(eA,ef)){let er=`
|
|
147
|
+
float ${en}() {
|
|
148
|
+
return sampleTexture(${es}, TexCoords);
|
|
149
|
+
}
|
|
150
|
+
`;return new ea.GlslLibRoutine(er,["coordinates.sampleTexture"])}let em=(0,ec.getCoordsDataType)(eh),ey=eo.BroadcastUtil.getBroadcastDims(ep,eg),ev=eh-ed,eI=(0,ec.getGlChannels)();eu=0===ed?"":eh<2&&ey.length>=1?"coords = 0;":ey.map(en=>`coords.${eI[en+ev]} = 0;`).join("\n");let ew="";ew=eh<2&&ed>0?"coords":er.unpackedShape.map((en,er)=>`coords.${eI[er+ev]}`).join(", ");let eE=`
|
|
151
|
+
float ${en}() {
|
|
152
|
+
${em} coords = getOutputCoords();
|
|
153
|
+
${eu}
|
|
154
|
+
return ${eb}(${ew});
|
|
155
|
+
}
|
|
156
|
+
`;return new ea.GlslLibRoutine(eE,["coordinates.getOutputCoords"])}getPackedSamplerFromInput(en,er,ei){switch(ei.unpackedShape.length){case 0:return this.getPackedSamplerScalar(en,er);case 1:return this.getPackedSampler1D(en,er,ei);case 2:return this.getPackedSampler2D(en,er,ei);case 3:return this.getPackedSampler3D(en,er,ei);default:return this.getPackedSamplerND(en,er,ei)}}getUnpackedSamplerFromInput(en,er,ei){let eo=ei.unpackedShape;switch(eo.length){case 0:return this.getUnpackedSamplerScalar(en,er,ei);case 1:return this.getUnpackedSampler1D(en,er,ei);case 2:return this.getUnpackedSampler2D(en,er,ei);case 3:return this.getUnpackedSampler3D(en,er,ei);case 4:return this.getUnpackedSampler4D(en,er,ei);case 5:return this.getUnpackedSampler5D(en,er,ei);case 6:return this.getUnpackedSampler6D(en,er,ei);default:throw Error(`Unsupported dimension ${eo.length}-D`)}}getPackedSamplerScalar(en,er){let ei=`
|
|
157
|
+
vec4 ${en}() {
|
|
158
|
+
return ${(0,es.getGlsl)(this.context.glContext.version).texture2D}(${er}, halfCR);
|
|
159
|
+
}
|
|
160
|
+
`;return new ea.GlslLibRoutine(ei)}getPackedSampler1D(en,er,ei){let eo=[ei.width,ei.height],eu=[eo[1],eo[0]],ec=(0,es.getGlsl)(this.context.glContext.version),ef=`vec4 ${en}(int index) {
|
|
161
|
+
vec2 uv = packedUVfrom1D(
|
|
162
|
+
${eu[0]}, ${eu[1]}, index);
|
|
163
|
+
return ${ec.texture2D}(${er}, uv);
|
|
164
|
+
}`;return new ea.GlslLibRoutine(ef,["coordinates.packedUVfrom1D"])}getPackedSampler2D(en,er,ei){let eu=ei.unpackedShape,ec=[ei.width,ei.height],ef=(0,es.getGlsl)(this.context.glContext.version),eA=ec[0],ed=ec[1];if(null!=ec&&eo.ArrayUtil.arraysEqual(eu,ec)){let ei=`vec4 ${en}(int row, int col) {
|
|
165
|
+
vec2 uv = (vec2(col, row) + halfCR) / vec2(${ed}.0, ${eA}.0);
|
|
166
|
+
return ${ef.texture2D}(${er}, uv);
|
|
167
|
+
}`;return new ea.GlslLibRoutine(ei)}let eh=ec,ep=Math.ceil(eu[1]/2),eg=`vec4 ${en}(int row, int col) {
|
|
168
|
+
vec2 uv = packedUVfrom2D(${eh[1]}, ${eh[0]}, ${ep}, row, col);
|
|
169
|
+
return ${ef.texture2D}(${er}, uv);
|
|
170
|
+
}`;return new ea.GlslLibRoutine(eg,["coordinates.packedUVfrom2D"])}getPackedSampler3D(en,er,ei){let eo=ei.unpackedShape,eu=[ei.width,ei.height],ef=[eu[0],eu[1]],eA=(0,es.getGlsl)(this.context.glContext.version);if(1===eo[0]){let es=eo.slice(1),eu=[1,2],ef=(0,ec.squeezeInputShape)(eo,es),eA=["b","row","col"],ed=JSON.parse(JSON.stringify(ei));ed.unpackedShape=ef;let eh=this.getPackedSamplerFromInput(en,er,ed),ep=`${eh.routineBody}
|
|
171
|
+
vec4 ${en}(int b, int row, int col) {
|
|
172
|
+
return ${en}(${(0,ec.getSqueezedParams)(eA,eu)});
|
|
173
|
+
} `;return new ea.GlslLibRoutine(ep,eh.dependencies)}let ed=ef[0],eh=ef[1],ep=Math.ceil(eo[2]/2),eg=`vec4 ${en}(int b, int row, int col) {
|
|
174
|
+
vec2 uv = packedUVfrom3D(
|
|
175
|
+
${eh}, ${ed}, ${ep*Math.ceil(eo[1]/2)}, ${ep}, b, row, col);
|
|
176
|
+
return ${eA.texture2D}(${er}, uv);}`;return new ea.GlslLibRoutine(eg,["coordinates.packedUVfrom3D"])}getPackedSamplerND(en,er,ei){let eo=ei.unpackedShape,eu=eo.length,ec=[ei.width,ei.height],ef=(0,es.getGlsl)(this.context.glContext.version),eA=[ec[0],ec[1]],ed=eA[1],eh=eA[0],ep=Math.ceil(eo[eu-1]/2),eg=ep*Math.ceil(eo[eu-2]/2),eb="int b, int row, int col",em=`b * ${eg} + (row / 2) * ${ep} + (col / 2)`;for(let en=2;en<eu-1;en++)eb=`int b${en}, `+eb,eg*=eo[eu-en-1],em=`b${en} * ${eg} + `+em;let ey=`vec4 ${en}(${eb}) {
|
|
177
|
+
int index = ${em};
|
|
178
|
+
int texR = index / ${eh};
|
|
179
|
+
int texC = index - texR * ${eh};
|
|
180
|
+
vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${eh}, ${ed});
|
|
181
|
+
return ${ef.texture2D}(${er}, uv);
|
|
182
|
+
}`;return new ea.GlslLibRoutine(ey)}getUnpackedSamplerScalar(en,er,ei){let[eo,es]=[ei.width,ei.height];if(1===eo&&1===es){let ei=`
|
|
183
|
+
float ${en}() {
|
|
184
|
+
return sampleTexture(${er}, halfCR);
|
|
185
|
+
}
|
|
186
|
+
`;return new ea.GlslLibRoutine(ei,["coordinates.sampleTexture"])}let eu=`
|
|
187
|
+
float ${en}() {
|
|
188
|
+
int offset_${er} = coordsToOffset(TexCoords, ${eo}, ${es});
|
|
189
|
+
vec2 uv = uvFromFlat(${eo}, ${es}, offset_${er});
|
|
190
|
+
return sampleTexture(${er}, uv);
|
|
191
|
+
}
|
|
192
|
+
`;return new ea.GlslLibRoutine(eu,["coordinates.uvFromFlat","coordinates.sampleTexture","coordinates.coordsToOffset"])}getUnpackedSampler1D(en,er,ei){let eo=ei.width,es=ei.height;if(1===es&&1===eo){let ei=`
|
|
193
|
+
float ${en}(int index) {
|
|
194
|
+
return sampleTexture(${er}, halfCR);
|
|
195
|
+
}
|
|
196
|
+
`;return new ea.GlslLibRoutine(ei,["coordinates.sampleTexture"])}if(1===es){let ei=`
|
|
197
|
+
float ${en}(int index) {
|
|
198
|
+
vec2 uv = vec2((float(index) + 0.5) / ${eo}.0, 0.5);
|
|
199
|
+
return sampleTexture(${er}, uv);
|
|
200
|
+
}
|
|
201
|
+
`;return new ea.GlslLibRoutine(ei,["coordinates.sampleTexture"])}if(1===eo){let ei=`
|
|
202
|
+
float ${en}(int index) {
|
|
203
|
+
vec2 uv = vec2(0.5, (float(index) + 0.5) / ${es}.0);
|
|
204
|
+
return sampleTexture(${er}, uv);
|
|
205
|
+
}
|
|
206
|
+
`;return new ea.GlslLibRoutine(ei,["coordinates.sampleTexture"])}let eu=`
|
|
207
|
+
float ${en}(int index) {
|
|
208
|
+
vec2 uv = uvFromFlat(${eo}, ${es}, index);
|
|
209
|
+
return sampleTexture(${er}, uv);
|
|
210
|
+
}
|
|
211
|
+
`;return new ea.GlslLibRoutine(eu,["coordinates.uvFromFlat","coordinates.sampleTexture"])}getUnpackedSampler2D(en,er,ei){let es=ei.unpackedShape,ef=[ei.height,ei.width];if(null!=ef&&eo.ArrayUtil.arraysEqual(es,ef)){let ei=`
|
|
212
|
+
float ${en}(int row, int col) {
|
|
213
|
+
vec2 uv = (vec2(row, col) + halfCR) / vec2(${ef[1]}.0, ${ef[0]}.0);
|
|
214
|
+
return sampleTexture(${er}, uv);
|
|
215
|
+
}
|
|
216
|
+
`;return new ea.GlslLibRoutine(ei,["coordinates.sampleTexture"])}let{newShape:eA,keptDims:ed}=(0,eu.squeezeShape)(es),eh=eA;if(eh.length<es.length){let eo=(0,ec.squeezeInputShape)(es,eh),eu=JSON.parse(JSON.stringify(ei));eu.unpackedShape=eo;let ef=["col","row"],eA=`
|
|
217
|
+
${this.getUnpackedSamplerFromInput(en,er,eu).routineBody}
|
|
218
|
+
float ${en}(int row, int col) {
|
|
219
|
+
return ${en}(${(0,ec.getSqueezedParams)(ef,ed)});
|
|
220
|
+
}
|
|
221
|
+
`;return new ea.GlslLibRoutine(eA,["coordinates.sampleTexture"])}let ep=ef[1],eg=ef[0];if(1===eg){let ei=`
|
|
222
|
+
float ${en}(int row, int col) {
|
|
223
|
+
int offset_${er} = coordsToOffset(TexCoords, ${ep}, ${eg});
|
|
224
|
+
float index = dot(vec3(row, col, offset_${er}), vec3(${es[1]}, 1, 1));
|
|
225
|
+
vec2 uv = vec2(0.5, (index + 0.5) / ${ep}.0);
|
|
226
|
+
return sampleTexture(${er}, uv);
|
|
227
|
+
}
|
|
228
|
+
`;return new ea.GlslLibRoutine(ei,["coordinates.sampleTexture","coordinates.coordsToOffset"])}if(1===ep){let ei=`
|
|
229
|
+
float ${en}(int row, int col) {
|
|
230
|
+
int offset_${er} = coordsToOffset(TexCoords, ${ep}, ${eg});
|
|
231
|
+
float index = dot(vec3(row, col, offset_${er}), vec3(${es[1]}, 1, 1));
|
|
232
|
+
vec2 uv = vec2((index + 0.5) / ${eg}.0, 0.5);
|
|
233
|
+
return sampleTexture(${er}, uv);
|
|
234
|
+
}
|
|
235
|
+
`;return new ea.GlslLibRoutine(ei,["coordinates.sampleTexture","coordinates.coordsToOffset"])}let eb=`
|
|
236
|
+
float ${en}(int row, int col) {
|
|
237
|
+
int index = col * ${es[1]} + row;
|
|
238
|
+
vec2 uv = uvFromFlat(${ep}, ${eg}, index);
|
|
239
|
+
return sampleTexture(${er}, uv);
|
|
240
|
+
}
|
|
241
|
+
`;return new ea.GlslLibRoutine(eb,["coordinates.uvFromFlat","coordinates.sampleTexture","coordinates.coordsToOffset"])}getUnpackedSampler3D(en,er,ei){let eo=ei.unpackedShape,es=eo[1]*eo[2],ef=eo[2],{newShape:eA,keptDims:ed}=(0,eu.squeezeShape)(eo),eh=eA;if(eh.length<eo.length){let es=(0,ec.squeezeInputShape)(eo,eh),eu=["batch","col","row"],ef=JSON.parse(JSON.stringify(ei));ef.unpackedShape=es;let eA=this.getUnpackedSamplerFromInput(en,er,ef),ep=ed.reverse(),eg=`
|
|
242
|
+
${eA.routineBody}
|
|
243
|
+
float ${en}(int batch, int row, int col) {
|
|
244
|
+
return ${en}(${(0,ec.getSqueezedParams)(eu,ep)});
|
|
245
|
+
}
|
|
246
|
+
`;return new ea.GlslLibRoutine(eg,eA.dependencies)}let ep=`
|
|
247
|
+
float ${en}(int depth, int row, int col) {
|
|
248
|
+
// Explicitly use integer operations as dot() only works on floats.
|
|
249
|
+
int index = depth * ${es} + col * ${ef} + row;
|
|
250
|
+
vec2 uv = uvFromFlat(${ei.width}, ${ei.height}, index);
|
|
251
|
+
return sampleTexture(${er}, uv);
|
|
252
|
+
}
|
|
253
|
+
`;return new ea.GlslLibRoutine(ep,["coordinates.uvFromFlat","coordinates.sampleTexture","coordinates.coordsToOffset"])}getUnpackedSampler4D(en,er,ei){let eo=ei.unpackedShape,es=eo[3],eu=eo[2]*es,ec=`
|
|
254
|
+
float ${en}(int row, int col, int depth, int depth2) {
|
|
255
|
+
int index = row * ${eo[1]*eu} + col * ${eu} +
|
|
256
|
+
depth2 * ${es} + depth;
|
|
257
|
+
vec2 uv = uvFromFlat(${ei.width}, ${ei.height}, index);
|
|
258
|
+
return sampleTexture(${er}, uv);
|
|
259
|
+
}
|
|
260
|
+
`;return new ea.GlslLibRoutine(ec,["coordinates.uvFromFlat","coordinates.sampleTexture"])}getUnpackedSampler5D(en,er,ei){let eo=ei.unpackedShape,es=eo[4],ef=eo[3]*es,eA=eo[2]*ef,ed=eo[1]*eA,{newShape:eh,keptDims:ep}=(0,eu.squeezeShape)(eo);if(eh.length<eo.length){let es=(0,ec.squeezeInputShape)(eo,eh),eu=["row","col","depth","depth2","depth3"],ef=JSON.parse(JSON.stringify(ei));ef.unpackedShape=es;let eA=`
|
|
261
|
+
${this.getUnpackedSamplerFromInput(en,er,ef).routineBody}
|
|
262
|
+
float ${en}(int row, int col, int depth, int depth2, int depth3) {
|
|
263
|
+
return ${en}(${(0,ec.getSqueezedParams)(eu,ep)});
|
|
264
|
+
}
|
|
265
|
+
`;return new ea.GlslLibRoutine(eA,["coordinates.sampleTexture","coordinates.uvFromFlat"])}let eg=`
|
|
266
|
+
float ${en}(int row, int col, int depth, int depth2, int depth3) {
|
|
267
|
+
int index = row * ${ed} + col * ${eA} + depth * ${ef} +
|
|
268
|
+
depth3 * ${es} + depth2;
|
|
269
|
+
vec2 uv = uvFromFlat(${ei.width}, ${ei.height}, index);
|
|
270
|
+
return sampleTexture(${er}, uv);
|
|
271
|
+
}
|
|
272
|
+
`;return new ea.GlslLibRoutine(eg,["coordinates.sampleTexture","coordinates.uvFromFlat"])}getUnpackedSampler6D(en,er,ei){let eo=ei.unpackedShape,es=eo[5],ef=eo[4]*es,eA=eo[3]*ef,ed=eo[2]*eA,eh=eo[1]*ed,{newShape:ep,keptDims:eg}=(0,eu.squeezeShape)(eo);if(ep.length<eo.length){let es=(0,ec.squeezeInputShape)(eo,ep),eu=["row","col","depth","depth2","depth3","depth4"],ef=JSON.parse(JSON.stringify(ei));ef.unpackedShape=es;let eA=`
|
|
273
|
+
${this.getUnpackedSamplerFromInput(en,er,ef).routineBody}
|
|
274
|
+
float ${en}(int row, int col, int depth,
|
|
275
|
+
int depth2, int depth3, int depth4) {
|
|
276
|
+
return ${en}(${(0,ec.getSqueezedParams)(eu,eg)});
|
|
277
|
+
}
|
|
278
|
+
`;return new ea.GlslLibRoutine(eA,["coordinates.sampleTexture","coordinates.uvFromFlat"])}let eb=`
|
|
279
|
+
float ${en}(int row, int col, int depth,
|
|
280
|
+
int depth2, int depth3, int depth4) {
|
|
281
|
+
int index = row * ${eh} + col * ${ed} + depth * ${eA} +
|
|
282
|
+
depth2 * ${ef} + depth3 * ${es} + depth4;
|
|
283
|
+
vec2 uv = uvFromFlat(${ei.width}, ${ei.height}, index);
|
|
284
|
+
return sampleTexture(${er}, uv);
|
|
285
|
+
}
|
|
286
|
+
`;return new ea.GlslLibRoutine(eb,["coordinates.uvFromFlat","coordinates.sampleTexture","coordinates.coordsToOffset"])}toVec(){let en=this.context.outputTextureLayout,er=en.shape.length,ei=en.strides,eo=en.width,es=en.height,eu=[];for(let en=0;en<er-1;++en)eu.push(`
|
|
287
|
+
c[${en}] = offset / ${ei[en]};`),eu.push(`
|
|
288
|
+
offset -= c[${en}] * ${ei[en]};`);eu.push(`
|
|
289
|
+
c[${er-1}] = offset;`);let ec=`
|
|
290
|
+
void toVec(vec2 texCoords, out int c[${er}]) {
|
|
291
|
+
int offset = coordsToOffset(texCoords, ${eo}, ${es});
|
|
292
|
+
${eu.join("")}
|
|
293
|
+
}
|
|
294
|
+
void toVec(int offset, out int c[${er}]) {
|
|
295
|
+
${eu.join("")}
|
|
296
|
+
}
|
|
297
|
+
`;return{toVec:new ea.GlslLibRoutine(ec,["coordinates.coordsToOffset"])}}valueFrom(){let en={};return this.context.programInfo.inputNames.forEach((er,ei)=>{let eo=this.context.inputTextureLayouts[ei],es=(eo.unpackedShape.length>0?eo.unpackedShape:eo.shape).length,eu=`_${er}`;en[eu]=new ea.GlslLibRoutine(this.getValueFromSingle(er,es,eo.width,eo.height,!1),[`shapeUtils.indicesToOffset${eu}`,"coordinates.offsetToCoords","fragcolor.getColorAsFloat"]),en[eu+="_T"]=new ea.GlslLibRoutine(this.getValueFromSingle(er,es,eo.width,eo.height,!0),[`shapeUtils.indicesToOffset${eu}`,"coordinates.offsetToCoords","fragcolor.getColorAsFloat"])}),en}getValueFromSingle(en,er,ei,eo,ea){let eu=`_${en}`;return ea&&(eu+="_T"),`
|
|
298
|
+
float ${eu}(int m[${er}]) {
|
|
299
|
+
int offset = indicesToOffset${eu}(m);
|
|
300
|
+
vec2 coords = offsetToCoords(offset, ${ei}, ${eo});
|
|
301
|
+
float value = getColorAsFloat(${(0,es.getGlsl)(this.context.glContext.version).texture2D}(${en}, coords));
|
|
302
|
+
return value;
|
|
303
|
+
}
|
|
304
|
+
`}getPackedValueFrom(en,er,ei,eo,ea){let eu=`_${en}_Pack`;return ea&&(eu+="_T"),`
|
|
305
|
+
vec4 ${eu}(int m[${er}]) {
|
|
306
|
+
int offset = indicesToOffset_${en}(m);
|
|
307
|
+
vec2 coords = offsetToCoords(offset, ${ei}, ${eo});
|
|
308
|
+
return ${(0,es.getGlsl)(this.context.glContext.version).texture2D}(${en}, coords);
|
|
309
|
+
}
|
|
310
|
+
`}}er.CoordsGlslLib=ef},8520:(en,er)=>{"use strict";var ei;Object.defineProperty(er,"__esModule",{value:!0}),er.TopologicalSortGlslRoutines=er.GlslLibRoutineNode=er.GlslLibRoutine=er.GlslLib=er.GlslContext=er.FunctionType=void 0,(ei=er.FunctionType||(er.FunctionType={}))[ei.ValueBased=0]="ValueBased",ei[ei.Positional=1]="Positional",er.GlslContext=class{constructor(en,er,ei,eo){this.glContext=en,this.programInfo=er,this.inputTextureLayouts=ei,this.outputTextureLayout=eo}},er.GlslLib=class{constructor(en){this.context=en}},er.GlslLibRoutine=class{constructor(en,er){this.routineBody=en,this.dependencies=er}},er.GlslLibRoutineNode=class{constructor(en,er,ei){this.name=en,this.dependencies=ei||[],er&&(this.routineBody=er)}addDependency(en){en&&this.dependencies.push(en)}},er.TopologicalSortGlslRoutines=class{static returnOrderedNodes(en){if(!en||0===en.length)return[];if(1===en.length)return en;let er=new Set,ei=new Set,eo=[];return this.createOrderedNodes(en,er,ei,eo),eo}static createOrderedNodes(en,er,ei,eo){for(let ea=0;ea<en.length;++ea)this.dfsTraverse(en[ea],er,ei,eo)}static dfsTraverse(en,er,ei,eo){if(!en||ei.has(en.name))return;if(er.has(en.name))throw Error("Cyclic dependency detected. Can't topologically sort routines needed for shader.");er.add(en.name);let ea=en.dependencies;if(ea&&ea.length>0)for(let en=0;en<ea.length;++en)this.dfsTraverse(ea[en],er,ei,eo);eo.push(en),ei.add(en.name),er.delete(en.name)}}},7341:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.EncodingGlslLib=void 0;let eo=ei(8520);class ea extends eo.GlslLib{constructor(en){super(en)}getFunctions(){return Object.assign(Object.assign({},this.encodeFloat32()),this.decodeFloat32())}getCustomTypes(){return{}}encodeFloat32(){return{encode:new eo.GlslLibRoutine("highp vec4 encode(highp float f) {\n return vec4(f, 0.0, 0.0, 0.0);\n }\n ")}}decodeFloat32(){return{decode:new eo.GlslLibRoutine("highp float decode(highp vec4 rgba) {\n return rgba.r;\n }\n ")}}encodeUint8(){let en=ea.isLittleEndian()?"rgba.rgba=rgba.abgr;":"";return{encode:new eo.GlslLibRoutine(`
|
|
311
|
+
highp vec4 encode(highp float f) {
|
|
312
|
+
highp float F = abs(f);
|
|
313
|
+
highp float Sign = step(0.0,-f);
|
|
314
|
+
highp float Exponent = floor(log2(F));
|
|
315
|
+
highp float Mantissa = (exp2(- Exponent) * F);
|
|
316
|
+
Exponent = floor(log2(F) + 127.0) + floor(log2(Mantissa));
|
|
317
|
+
highp vec4 rgba;
|
|
318
|
+
rgba[0] = 128.0 * Sign + floor(Exponent*exp2(-1.0));
|
|
319
|
+
rgba[1] = 128.0 * mod(Exponent,2.0) + mod(floor(Mantissa*128.0),128.0);
|
|
320
|
+
rgba[2] = floor(mod(floor(Mantissa*exp2(23.0 -8.0)),exp2(8.0)));
|
|
321
|
+
rgba[3] = floor(exp2(23.0)*mod(Mantissa,exp2(-15.0)));
|
|
322
|
+
${en}
|
|
323
|
+
rgba = rgba / 255.0; // values need to be normalized to [0,1]
|
|
324
|
+
return rgba;
|
|
325
|
+
}
|
|
326
|
+
`)}}decodeUint8(){let en=ea.isLittleEndian()?"rgba.rgba=rgba.abgr;":"";return{decode:new eo.GlslLibRoutine(`
|
|
327
|
+
highp float decode(highp vec4 rgba) {
|
|
328
|
+
rgba = rgba * 255.0; // values need to be de-normalized from [0,1] to [0,255]
|
|
329
|
+
${en}
|
|
330
|
+
highp float Sign = 1.0 - step(128.0,rgba[0])*2.0;
|
|
331
|
+
highp float Exponent = 2.0 * mod(rgba[0],128.0) + step(128.0,rgba[1]) - 127.0;
|
|
332
|
+
highp float Mantissa = mod(rgba[1],128.0)*65536.0 + rgba[2]*256.0 +rgba[3] + float(0x800000);
|
|
333
|
+
highp float Result = Sign * exp2(Exponent) * (Mantissa * exp2(-23.0 ));
|
|
334
|
+
return Result;
|
|
335
|
+
}
|
|
336
|
+
`)}}static isLittleEndian(){let en=new ArrayBuffer(4),er=new Uint32Array(en),ei=new Uint8Array(en);if(er[0]=3735928559,239===ei[0])return!0;if(222===ei[0])return!1;throw Error("unknown endianness")}}er.EncodingGlslLib=ea},9894:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.FragColorGlslLib=void 0;let eo=ei(8520),ea=ei(5060);class es extends eo.GlslLib{constructor(en){super(en)}getFunctions(){return Object.assign(Object.assign({},this.setFragColor()),this.getColorAsFloat())}getCustomTypes(){return{}}setFragColor(){let en=(0,ea.getGlsl)(this.context.glContext.version);return{setFragColor:new eo.GlslLibRoutine(`
|
|
337
|
+
void setFragColor(float value) {
|
|
338
|
+
${en.output} = encode(value);
|
|
339
|
+
}
|
|
340
|
+
`,["encoding.encode"])}}getColorAsFloat(){return{getColorAsFloat:new eo.GlslLibRoutine("\n float getColorAsFloat(vec4 color) {\n return decode(color);\n }\n ",["encoding.decode"])}}}er.FragColorGlslLib=es},2848:(en,er)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.replaceInlines=void 0;let ei=/@inline[\s\n\r]+(\w+)[\s\n\r]+([0-9a-zA-Z_]+)\s*\(([^)]*)\)\s*{(([^}]|[\n\r])*)}/gm;er.replaceInlines=function(en){let er;let eo={};for(;null!==(er=ei.exec(en));){let en=er[3].split(",").map(en=>{let er=en.trim().split(" ");return er&&2===er.length?{type:er[0],name:er[1]}:null}).filter(en=>null!==en);eo[er[2]]={params:en,body:er[4]}}for(let ei in eo){let ea="(\\w+)?\\s+([_0-9a-zA-Z]+)\\s+=\\s+__FUNC__\\((.*)\\)\\s*;".replace("__FUNC__",ei),es=RegExp(ea,"gm");for(;null!==(er=es.exec(en));){let ea=er[1],es=er[2],eu=er[3].split(","),ec=ea?`${ea} ${es};`:"",ef=eo[ei].body,eA="";eo[ei].params.forEach((en,er)=>{en&&(eA+=`${en.type} ${en.name} = ${eu[er]};
|
|
341
|
+
`)}),ef=(ef=`${eA}
|
|
342
|
+
${ef}`).replace("return",`${es} = `);let ed=`
|
|
343
|
+
${ec}
|
|
344
|
+
{
|
|
345
|
+
${ef}
|
|
346
|
+
}
|
|
347
|
+
`;en=en.replace(er[0],ed)}}return en.replace(ei,"")}},8879:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.GlslPreprocessor=void 0;let eo=ei(8520),ea=ei(2848),es=ei(5483),eu=ei(5060);er.GlslPreprocessor=class{constructor(en,er,ei,ea){this.libs={},this.glslLibRoutineDependencyGraph={},this.context=new eo.GlslContext(en,er,ei,ea),Object.keys(es.glslRegistry).forEach(en=>{let er=new es.glslRegistry[en](this.context);this.libs[en]=er});let eu=this.glslLibRoutineDependencyGraph;for(let en in this.libs){let er=this.libs[en].getFunctions();for(let ei in er){let ea;let es=en+"."+ei;eu[es]?(ea=eu[es]).routineBody=er[ei].routineBody:(ea=new eo.GlslLibRoutineNode(es,er[ei].routineBody),eu[es]=ea);let ec=er[ei].dependencies;if(ec)for(let en=0;en<ec.length;++en)if(eu[ec[en]])ea.addDependency(eu[ec[en]]);else{let er=new eo.GlslLibRoutineNode(ec[en]);eu[ec[en]]=er,ea.addDependency(er)}}}}preprocess(){let en=this.context.programInfo,er=en.shaderSource;return this.context.programInfo.hasMain||(er=`${er}
|
|
348
|
+
${(0,eu.getDefaultFragShaderMain)(this.context.glContext.version,this.context.outputTextureLayout.shape.length)}`),er=(0,ea.replaceInlines)(er),`${(0,eu.getFragShaderPreamble)(this.context.glContext.version)}
|
|
349
|
+
${this.getUniforms(en.inputNames,en.variables)}
|
|
350
|
+
${this.getImports(er)}
|
|
351
|
+
${er}`}getImports(en){let er=this.selectGlslLibRoutinesToBeIncluded(en);if(0===er.length)return"";let ei="";for(let en=0;en<er.length;++en){if(!er[en].routineBody)throw Error(`Missing body for the Glsl Library routine: ${er[en].name}`);ei+=er[en].routineBody+"\n"}return ei}selectGlslLibRoutinesToBeIncluded(en){let er=[];return Object.keys(this.glslLibRoutineDependencyGraph).forEach(ei=>{let eo=ei.split(".")[1];-1!==en.indexOf(eo)&&er.push(this.glslLibRoutineDependencyGraph[ei])}),eo.TopologicalSortGlslRoutines.returnOrderedNodes(er)}getUniforms(en,er){let ei=[];if(en)for(let er of en)ei.push(`uniform sampler2D ${er};`);if(er)for(let en of er)ei.push(`uniform ${en.type} ${en.name}${en.arrayLength?`[${en.arrayLength}]`:""};`);return ei.join("\n")}}},5483:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.glslRegistry=void 0;let eo=ei(5107),ea=ei(7341),es=ei(9894),eu=ei(2655),ec=ei(3891);er.glslRegistry={encoding:ea.EncodingGlslLib,fragcolor:es.FragColorGlslLib,vec:ec.VecGlslLib,shapeUtils:eu.ShapeUtilsGlslLib,coordinates:eo.CoordsGlslLib}},2655:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.ShapeUtilsGlslLib=void 0;let eo=ei(8520);class ea extends eo.GlslLib{constructor(en){super(en)}getFunctions(){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.bcastIndex()),this.bcastMatmulIndex()),this.offsetToIndices()),this.indicesToOffset()),this.incrementIndices())}getCustomTypes(){return{}}bcastIndex(){let en=this.context.outputTextureLayout.shape.length,er={};return this.context.programInfo.inputNames.forEach((ei,ea)=>{let es=this.context.inputTextureLayouts[ea].unpackedShape;if(es.length<=en){let ea=es.length,eu=en-ea,ec=`bcastIndices_${ei}`,ef="";for(let en=0;en<ea;++en)ef+=`
|
|
352
|
+
realIndices[${en}] = int( mod(float(bcastedIndices[${eu+en}]), ${es[en]}.0) );
|
|
353
|
+
`;let eA=`
|
|
354
|
+
void ${ec} (int bcastedIndices[${en}], out int realIndices[${ea}]) {
|
|
355
|
+
${ef}
|
|
356
|
+
}
|
|
357
|
+
`;er[ec]=new eo.GlslLibRoutine(eA)}}),er}bcastMatmulIndex(){let en=this.context.outputTextureLayout.shape.length,er={};return this.context.programInfo.inputNames.forEach((ei,ea)=>{let es=this.context.inputTextureLayouts[ea].shape;if(!(es.length<2||es.length>en)){let ea=es.length,eu=en-ea,ec=`bcastMatmulIndices_${ei}`,ef="";for(let en=0;en<ea-2;++en)ef+=`
|
|
358
|
+
realIndices[${en}] = int( mod(float(bcastedIndices[${eu+en}]), ${es[en]}.0) );
|
|
359
|
+
`;let eA=`
|
|
360
|
+
void ${ec}(int bcastedIndices[${en}], out int realIndices[${ea}]) {
|
|
361
|
+
${ef}
|
|
362
|
+
realIndices[${ea-1}] = bcastedIndices[${en-1}];
|
|
363
|
+
realIndices[${ea-2}] = bcastedIndices[${en-2}];
|
|
364
|
+
}
|
|
365
|
+
`;er[ec]=new eo.GlslLibRoutine(eA)}}),er}indicesToOffset(){let en={};return this.context.programInfo.inputNames.forEach((er,ei)=>{let es=this.context.inputTextureLayouts[ei].shape,eu=this.context.inputTextureLayouts[ei].strides,ec=es.length,ef=`indicesToOffset_${er}`;en[ef]=new eo.GlslLibRoutine(ea.indexToOffsetSingle(ef,ec,eu)),en[ef=`indicesToOffset_${er}_T`]=new eo.GlslLibRoutine(ea.indexToOffsetSingle(ef,ec,eu.slice().reverse()))}),en}static indexToOffsetSingle(en,er,ei){let eo="";for(let en=er-1;en>=0;--en)eo+=`
|
|
366
|
+
offset += indices[${en}] * ${ei[en]};
|
|
367
|
+
`;return`
|
|
368
|
+
int ${en}(int indices[${er}]) {
|
|
369
|
+
int offset = 0;
|
|
370
|
+
${eo}
|
|
371
|
+
return offset;
|
|
372
|
+
}
|
|
373
|
+
`}offsetToIndices(){let en={};return this.context.programInfo.inputNames.forEach((er,ei)=>{let es=this.context.inputTextureLayouts[ei].shape,eu=this.context.inputTextureLayouts[ei].strides,ec=es.length,ef=`offsetToIndices_${er}`;en[ef]=new eo.GlslLibRoutine(ea.offsetToIndicesSingle(ef,ec,eu)),en[ef=`offsetToIndices_${er}_T`]=new eo.GlslLibRoutine(ea.offsetToIndicesSingle(ef,ec,eu.slice().reverse()))}),en}static offsetToIndicesSingle(en,er,ei){let eo=[];for(let en=0;en<er-1;++en)eo.push(`
|
|
374
|
+
indices[${en}] = offset / ${ei[en]};`),eo.push(`
|
|
375
|
+
offset -= indices[${en}] * ${ei[en]};`);return eo.push(`
|
|
376
|
+
indices[${er-1}] = offset;`),`
|
|
377
|
+
void ${en}(int offset, out int indices[${er}]) {
|
|
378
|
+
${eo.join("")}
|
|
379
|
+
}
|
|
380
|
+
`}incrementIndices(){let en={};return this.context.programInfo.inputNames.forEach((er,ei)=>{let ea=this.context.inputTextureLayouts[ei].shape,es=ea.length,eu=`incrementIndices_${er}`,ec="";for(let en=0;en<es;++en)ec+=`
|
|
381
|
+
shape[${en}] = ${ea[en]};`;let ef=`
|
|
382
|
+
void ${eu}(int axis, out int indices[${es}]) {
|
|
383
|
+
int shape[${es}];
|
|
384
|
+
${ec};
|
|
385
|
+
for(int i = ${es} -1 ; i >= 0; --i) {
|
|
386
|
+
if(i > axis) continue;
|
|
387
|
+
indices[i] += 1;
|
|
388
|
+
if(indices[i] < shape[i]) {
|
|
389
|
+
break;
|
|
390
|
+
}
|
|
391
|
+
indices[i] = 0;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
`;en[eu]=new eo.GlslLibRoutine(ef)}),en}}er.ShapeUtilsGlslLib=ea},5060:(en,er)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.getDefaultFragShaderMain=er.getFragShaderPreamble=er.getVertexShaderSource=er.getGlsl=void 0;let ei={version:"",attribute:"attribute",varyingVertex:"varying",varyingFrag:"varying",texture2D:"texture2D",output:"gl_FragColor",outputDeclaration:""},eo={version:"#version 300 es",attribute:"in",varyingVertex:"out",varyingFrag:"in",texture2D:"texture",output:"outputColor",outputDeclaration:"out vec4 outputColor;"};function ea(en){return 1===en?ei:eo}er.getGlsl=ea,er.getVertexShaderSource=function(en){let er=ea(en);return`${er.version}
|
|
395
|
+
precision highp float;
|
|
396
|
+
${er.attribute} vec3 position;
|
|
397
|
+
${er.attribute} vec2 textureCoord;
|
|
398
|
+
|
|
399
|
+
${er.varyingVertex} vec2 TexCoords;
|
|
400
|
+
|
|
401
|
+
void main()
|
|
402
|
+
{
|
|
403
|
+
gl_Position = vec4(position, 1.0);
|
|
404
|
+
TexCoords = textureCoord;
|
|
405
|
+
}`},er.getFragShaderPreamble=function(en){let er=ea(en);return`${er.version}
|
|
406
|
+
precision highp float;
|
|
407
|
+
precision highp int;
|
|
408
|
+
precision highp sampler2D;
|
|
409
|
+
${er.varyingFrag} vec2 TexCoords;
|
|
410
|
+
${er.outputDeclaration}
|
|
411
|
+
const vec2 halfCR = vec2(0.5, 0.5);
|
|
412
|
+
|
|
413
|
+
// Custom vector types to handle higher dimenalities.
|
|
414
|
+
struct ivec5
|
|
415
|
+
{
|
|
416
|
+
int x;
|
|
417
|
+
int y;
|
|
418
|
+
int z;
|
|
419
|
+
int w;
|
|
420
|
+
int u;
|
|
421
|
+
};
|
|
422
|
+
|
|
423
|
+
struct ivec6
|
|
424
|
+
{
|
|
425
|
+
int x;
|
|
426
|
+
int y;
|
|
427
|
+
int z;
|
|
428
|
+
int w;
|
|
429
|
+
int u;
|
|
430
|
+
int v;
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
int imod(int x, int y) {
|
|
434
|
+
return x - y * (x / y);
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
`},er.getDefaultFragShaderMain=function(en,er){return`
|
|
438
|
+
void main() {
|
|
439
|
+
int indices[${er}];
|
|
440
|
+
toVec(TexCoords, indices);
|
|
441
|
+
vec4 result = vec4(process(indices));
|
|
442
|
+
${ea(en).output} = result;
|
|
443
|
+
}
|
|
444
|
+
`}},3891:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.VecGlslLib=void 0;let eo=ei(8520);class ea extends eo.GlslLib{constructor(en){super(en)}getCustomTypes(){return{}}getFunctions(){return Object.assign(Object.assign(Object.assign(Object.assign({},this.binaryVecFunctions()),this.copyVec()),this.setVecItem()),this.getVecItem())}binaryVecFunctions(){let en=this.context.outputTextureLayout.shape.length,er={add:"+=",sub:"-=",mul:"*=",div:"/="},ei={};for(let ea in er){let es=`${ea}Vec`,eu="";for(let ei=0;ei<en;++ei)eu+=`
|
|
445
|
+
dest[${ei}] ${er[ea]} src[${ei}];
|
|
446
|
+
`;let ec=`
|
|
447
|
+
void ${es}(int src[${en}], out int dest[${en}]) {
|
|
448
|
+
${eu}
|
|
449
|
+
}
|
|
450
|
+
`;ei[es]=new eo.GlslLibRoutine(ec)}return ei}copyVec(){let en=this.context.outputTextureLayout.shape.length,er="";for(let ei=0;ei<en;++ei)er+=`
|
|
451
|
+
dest[${ei}] = src[${ei}];
|
|
452
|
+
`;let ei=`
|
|
453
|
+
void copyVec(int src[${en}], out int dest[${en}]) {
|
|
454
|
+
${er}
|
|
455
|
+
}
|
|
456
|
+
`;return{copyVec:new eo.GlslLibRoutine(ei)}}setVecItem(){let en=this.context.outputTextureLayout.shape.length,er=`
|
|
457
|
+
if(index < 0)
|
|
458
|
+
index =${en} + index;
|
|
459
|
+
if (index == 0)
|
|
460
|
+
m[0] = value;
|
|
461
|
+
`;for(let ei=1;ei<en-1;++ei)er+=`
|
|
462
|
+
else if (index == ${ei})
|
|
463
|
+
m[${ei}] = value;
|
|
464
|
+
`;er+=`
|
|
465
|
+
else
|
|
466
|
+
m[${en-1}] = value;
|
|
467
|
+
`;let ei=`
|
|
468
|
+
void setVecItem(out int m[${en}], int index, int value) {
|
|
469
|
+
${er}
|
|
470
|
+
}
|
|
471
|
+
`;return{setVecItem:new eo.GlslLibRoutine(ei)}}getVecItem(){let en=this.context.outputTextureLayout.shape.length,er=`
|
|
472
|
+
if(index < 0)
|
|
473
|
+
index = ${en} + index;
|
|
474
|
+
if (index == 0)
|
|
475
|
+
return m[0];
|
|
476
|
+
`;for(let ei=1;ei<en-1;++ei)er+=`
|
|
477
|
+
else if (index == ${ei})
|
|
478
|
+
return m[${ei}];
|
|
479
|
+
`;er+=`
|
|
480
|
+
else
|
|
481
|
+
return m[${en-1}];
|
|
482
|
+
`;let ei=`
|
|
483
|
+
int getVecItem(int m[${en}], int index) {
|
|
484
|
+
${er}
|
|
485
|
+
}
|
|
486
|
+
`;return{getVecItem:new eo.GlslLibRoutine(ei)}}}er.VecGlslLib=ea},8316:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.WebGLInferenceHandler=void 0;let eo=ei(6231),ea=ei(9162),es=ei(2517),eu=ei(2403),ec=ei(7019),ef=ei(8710),eA=ei(5611),ed=ei(4057),eh=ei(2039);er.WebGLInferenceHandler=class{constructor(en){this.session=en,this.packedTextureDataCache=new Map,this.unpackedTextureDataCache=new Map}calculateTextureWidthAndHeight(en,er){return(0,ed.calculateTextureWidthAndHeight)(this.session.layoutStrategy,en,er)}executeProgram(en,er){if(er.length<en.inputNames.length)throw Error(`Input size mustn't be less than ${en.inputNames.length}.`);if(en.inputNames.length!==en.inputTypes.length)throw Error("input names size does not match input types");let ei=[];for(let eo=0;eo<en.inputNames.length;++eo)ei[eo]=this.getOrCreateTextureData(er[eo],en.inputTypes[eo]);let eo=((en,er)=>{let ei=er.map(en=>`${en.unpackedShape.join(",")};${en.width}x${en.height}`).join("_"),eo=en.name;return en.cacheHint&&(eo+="["+en.cacheHint+"]"),eo+=":"+ei})(en,ei),ea=this.session.programManager.getArtifact(eo),es=ea?ea.programInfo:"function"==typeof en.get?en.get():en,eu=(0,ed.createTextureLayoutFromTextureType)(this.session.layoutStrategy,es.output.dims,es.output.textureType),ec=this.createTextureData(eu,es.output.type);return ea||(ea=this.session.programManager.build(es,ei,ec),this.session.programManager.setArtifact(eo,ea)),this.runProgram(ea,ei,ec),ec}run(en,er){return this.executeProgram(en,er).tensor}runProgram(en,er,ei){for(let ei=0;ei<er.length;++ei)if(!!er[ei].isPacked!=(en.programInfo.inputTypes[ei]===eh.TextureType.packed))throw Error(`input[${ei}] property packed inconsistent`);if(!!ei.isPacked!=(en.programInfo.output.textureType===eh.TextureType.packed))throw Error("output property packed inconsistent");this.session.programManager.run(en,er,ei)}getOrCreateTextureData(en,er){let ei=this.getTextureData(en.dataId,er===eh.TextureType.packed);if(!ei&&(ei=this.getTextureData(en.dataId,er!==eh.TextureType.packed)))return er===eh.TextureType.packed?this.pack(ei):this.unpack(ei);if(!ei){let eo=(0,ed.createTextureLayoutFromTextureType)(this.session.layoutStrategy,en.dims,er);if(er===eh.TextureType.packedLastDimension){let ei=1,eo=4,ea=en.dims;if(4===ea.length){let es=[ea[0],Math.ceil(ea[1]*ea[2]*ea[3]/eo)],eu=(0,ed.createTextureLayoutFromTextureType)(this.session.layoutStrategy,es,er),ec=en.numberData;if(ea[1]*ea[2]*ea[3]%eo!=0){let er=ea[0],es=ea[1]*ea[2]*ea[3],eu=Math.ceil(es*ei/eo)*eo;ec=new Float32Array(er*eu);for(let eo=0;eo<er;++eo){let er=eo*es,ea=eo*eu+eo%ei*es;ec.set(en.numberData.subarray(er,er+es),ea)}}return this.createTextureData(eu,en.type,ec,en,1)}}if(er===eh.TextureType.packed){let er=(0,ed.createTextureLayoutFromShape)(this.session.layoutStrategy,en.dims,1,[],{reverseWH:!0}),eo=this.createTextureData(er,en.type,en.numberData,en,1);ei=this.pack(eo)}else ei=this.createTextureData(eo,en.type,en.numberData,en,1)}return ei}createTextureDataFromLayoutBindTensor(en,er,ei,eo){return this.createTextureData(en,er,ei,eo,1)}createTextureData(en,er,ei,ea,es){eo.Logger.verbose("InferenceHandler",`Creating TextureData: layout:[${JSON.stringify(en)}]`);let eu=this.session.textureManager.createTextureFromLayout(er,en,ei,es);return this.createTextureDataFromTexture(en,er,eu,ea)}reshapeUnpacked(en,er){let ei=this.getOrCreateTextureData(en,eh.TextureType.unpacked),eo={channels:ei.channels,height:ei.height,width:ei.width,shape:0!==er.length?er:[1],strides:es.ShapeUtil.computeStrides(er),unpackedShape:er};return this.createTextureDataFromTexture(eo,en.type,ei.texture).tensor}reshapePacked(en,er){let ei=this.getOrCreateTextureData(en,eh.TextureType.packed);if((0,ec.isReshapeCheap)(en.dims,er)){let eo={channels:ei.channels,height:ei.height,width:ei.width,shape:0!==er.length?er:[1],strides:es.ShapeUtil.computeStrides(er),unpackedShape:er,isPacked:!0};return this.createTextureDataFromTexture(eo,en.type,ei.texture).tensor}let eo=(0,ec.processDims3D)(en.dims),ea=(0,ec.processDims3D)(er),eu=this.reshapePacked(en,eo),ef=this.run((0,ec.createPackedReshape3DProgramInfoLoader)(this,eu,ea),[eu]);return this.reshapePacked(ef,er)}cast(en,er){let ei=this.getOrCreateTextureData(en,eh.TextureType.unpacked);return this.createTextureDataFromTexture(ei,er,ei.texture).tensor}createTextureDataFromTexture(en,er,ei,eo,es){let eu=Object.assign(Object.assign({},en),{tensor:eo||new ea.Tensor(en.unpackedShape,er,en=>this.readTexture(eu),async en=>this.readTextureAsync(eu),void 0,es),texture:ei});return this.setTextureData(eu.tensor.dataId,eu,en.isPacked),eu}getTextureData(en,er=!1){return this.session.isInitializer(en)?this.session.getTextureData(en,er):er?this.packedTextureDataCache.get(en):this.unpackedTextureDataCache.get(en)}setTextureData(en,er,ei=!1){this.session.isInitializer(en)?this.session.setTextureData(en,er,ei):(ei?this.packedTextureDataCache:this.unpackedTextureDataCache).set(en,er)}isTextureLayoutCached(en,er=!1){return!!this.getTextureData(en.dataId,er)}dispose(){this.session.textureManager.clearActiveTextures(),this.packedTextureDataCache.forEach(en=>this.session.textureManager.releaseTexture(en)),this.packedTextureDataCache=new Map,this.unpackedTextureDataCache.forEach(en=>this.session.textureManager.releaseTexture(en)),this.unpackedTextureDataCache=new Map}readTexture(en){return en.isPacked?this.readTexture(this.unpack(en)):this.session.backend.glContext.isFloat32DownloadSupported?this.session.textureManager.readTexture(en,en.tensor.type,en.channels):this.session.textureManager.readUint8TextureAsFloat((0,ef.encodeAsUint8)(this,en))}async readTextureAsync(en){return en.isPacked?this.readTextureAsync(this.unpack(en)):this.session.backend.glContext.isFloat32DownloadSupported?this.session.textureManager.readTextureAsync(en,en.tensor.type,en.channels):this.session.textureManager.readUint8TextureAsFloat((0,ef.encodeAsUint8)(this,en))}pack(en){return this.executeProgram((0,eu.createPackProgramInfoLoader)(this,en.tensor),[en.tensor])}unpack(en){return this.executeProgram((0,eA.createUnpackProgramInfoLoader)(this,en.tensor),[en.tensor])}}},1640:function(en,er,ei){"use strict";var eo=this&&this.__createBinding||(Object.create?function(en,er,ei,eo){void 0===eo&&(eo=ei);var ea=Object.getOwnPropertyDescriptor(er,ei);ea&&!("get"in ea?!er.__esModule:ea.writable||ea.configurable)||(ea={enumerable:!0,get:function(){return er[ei]}}),Object.defineProperty(en,eo,ea)}:function(en,er,ei,eo){void 0===eo&&(eo=ei),en[eo]=er[ei]}),ea=this&&this.__setModuleDefault||(Object.create?function(en,er){Object.defineProperty(en,"default",{enumerable:!0,value:er})}:function(en,er){en.default=er}),es=this&&this.__importStar||function(en){if(en&&en.__esModule)return en;var er={};if(null!=en)for(var ei in en)"default"!==ei&&Object.prototype.hasOwnProperty.call(en,ei)&&eo(er,en,ei);return ea(er,en),er};Object.defineProperty(er,"__esModule",{value:!0}),er.WEBGL_OP_RESOLVE_RULES=void 0;let eu=ei(2898),ec=es(ei(7839)),ef=ei(4196),eA=ei(2069),ed=ei(8138),eh=ei(9663),ep=ei(5193),eg=ei(7992),eb=ei(1253),em=ei(4776),ey=ei(6572),ev=ei(3346),eI=ei(5623),ew=ei(2870),eE=ei(2143),eC=ei(4939),eT=ei(718),eS=ei(2268),eB=ei(8117),ex=ei(2278),e_=ei(5524),eD=ei(5975),eP=ei(3933),eO=ei(6558),ek=ei(5723),eQ=ei(3738),eM=es(ei(4909)),eF=ei(8428),eN=ei(9793);er.WEBGL_OP_RESOLVE_RULES=[["Abs","","6+",eM.abs],["Acos","","7+",eM.acos],["Add","","7+",ec.add],["And","","7+",ec.and],["Asin","","7+",eM.asin],["Atan","","7+",eM.atan],["AveragePool","","7+",eE.averagePool,eE.parseAveragePoolAttributes],["BatchNormalization","","7+",eu.batchNormalization,eu.parseBatchNormalizationAttributes],["Cast","","6+",ef.cast,ef.parseCastAttributes],["Ceil","","6+",eM.ceil],["Clip","","6-10",eM.clip,eM.parseClipAttributes],["Clip","","11+",eM.clipV11],["Concat","","4+",eA.concat,eA.parseConcatAttributes],["Conv","","1+",ed.conv,ed.parseConvAttributes],["ConvTranspose","","1+",eh.convTranspose,eh.parseConvTransposeAttributes],["Cos","","7+",eM.cos],["Div","","7+",ec.div],["Dropout","","7+",eM.identity],["DepthToSpace","","1+",ep.depthToSpace,ep.parseDepthToSpaceAttributes],["Equal","","7+",ec.equal],["Elu","","6+",eM.elu,eM.parseEluAttributes],["Exp","","6+",eM.exp],["Flatten","","1+",eg.flatten,eg.parseFlattenAttributes],["Floor","","6+",eM.floor],["FusedConv","com.microsoft","1+",ed.conv,ed.parseConvAttributes],["Gather","","1+",eb.gather,eb.parseGatherAttributes],["Gemm","","7-10",em.gemm,em.parseGemmAttributesV7],["Gemm","","11+",em.gemm,em.parseGemmAttributesV11],["GlobalAveragePool","","1+",eE.globalAveragePool,eE.parseGlobalAveragePoolAttributes],["GlobalMaxPool","","1+",eE.globalMaxPool],["Greater","","7+",ec.greater],["Identity","","1+",eM.identity],["ImageScaler","","1+",ey.imageScaler,ey.parseImageScalerAttributes],["InstanceNormalization","","6+",ev.instanceNormalization,ev.parseInstanceNormalizationAttributes],["LeakyRelu","","6+",eM.leakyRelu,eM.parseLeakyReluAttributes],["Less","","7+",ec.less],["Log","","6+",eM.log],["MatMul","","1+",eI.matMul,eI.parseMatMulAttributes],["MaxPool","","1+",eE.maxPool,eE.parseMaxPoolAttributes],["Mul","","7+",ec.mul],["Neg","","6+",eM.neg],["Not","","1+",eM.not],["Or","","7+",ec.or],["Pad","","2-10",ew.padV2,ew.parsePadAttributesV2],["Pad","","11+",ew.padV11,ew.parsePadAttributesV11],["Pow","","7+",ec.pow],["PRelu","","7+",ec.pRelu],["ReduceLogSum","","1+",eC.reduceLogSum,eC.parseReduceAttributes],["ReduceMax","","1+",eC.reduceMax,eC.parseReduceAttributes],["ReduceMean","","1+",eC.reduceMean,eC.parseReduceAttributes],["ReduceMin","","1+",eC.reduceMin,eC.parseReduceAttributes],["ReduceProd","","1+",eC.reduceProd,eC.parseReduceAttributes],["ReduceSum","","1-12",eC.reduceSum,eC.parseReduceAttributes],["ReduceSumSquare","","1+",eC.reduceLogSumSquare,eC.parseReduceAttributes],["Relu","","6+",eM.relu],["Reshape","","5+",eT.reshape],["Resize","","10",eS.resize,eS.parseResizeAttributesV10],["Resize","","11+",eS.resize,eS.parseResizeAttributesV11],["Shape","","1+",eB.shape],["Sigmoid","","6+",eM.sigmoid],["Sin","","7+",eM.sin],["Slice","","10+",ex.sliceV10],["Slice","","1-9",ex.slice,ex.parseSliceAttributes],["Softmax","","1-12",e_.softmax,e_.parseSoftmaxAttributes],["Softmax","","13+",e_.softmaxV13,e_.parseSoftmaxAttributesV13],["Split","","2-12",eD.split,eD.parseSplitAttributes],["Sqrt","","6+",eM.sqrt],["Squeeze","","1-12",eP.squeeze,eP.parseSqueezeAttributes],["Squeeze","","13+",eP.squeezeV13],["Sub","","7+",ec.sub],["Sum","","6+",eO.sum],["Tan","","7+",eM.tan],["Tanh","","6+",eM.tanh],["Tile","","6+",ek.tile],["Transpose","","1+",eQ.transpose,eQ.parseTransposeAttributes],["Upsample","","7-8",eN.upsample,eN.parseUpsampleAttributesV7],["Upsample","","9",eN.upsample,eN.parseUpsampleAttributesV9],["Unsqueeze","","1-12",eF.unsqueeze,eF.parseUnsqueezeAttributes],["Unsqueeze","","13+",eF.unsqueezeV13],["Xor","","7+",ec.xor]]},2898:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseBatchNormalizationAttributes=er.batchNormalization=void 0;let eo=ei(246),ea=ei(5060),es=ei(2039),eu={name:"BatchNormalization",inputNames:["A","Scale","B","Mean","Variance"],inputTypes:[es.TextureType.unpacked,es.TextureType.unpacked,es.TextureType.unpacked,es.TextureType.unpacked,es.TextureType.unpacked]};er.batchNormalization=(en,er,ei)=>(ef(er),[en.run(Object.assign(Object.assign({},eu),{cacheHint:ei.cacheKey,get:()=>ec(en,er,ei)}),er)]),er.parseBatchNormalizationAttributes=en=>{let er=en.attributes.getFloat("epsilon",1e-5),ei=en.attributes.getFloat("momentum",.9),ea=en.attributes.getInt("spatial",1);return(0,eo.createAttributeWithCacheKey)({epsilon:er,momentum:ei,spatial:ea})};let ec=(en,er,ei)=>{let eo=(0,ea.getGlsl)(en.session.backend.glContext.version),ec=er[0].dims.length,[ef,eA]=en.calculateTextureWidthAndHeight(er[1].dims,es.TextureType.unpacked),ed=`
|
|
487
|
+
float process(int[${ec}] indices) {
|
|
488
|
+
vec2 position = offsetToCoords(indices[1], ${ef}, ${eA});
|
|
489
|
+
float scale = getColorAsFloat(${eo.texture2D}(Scale, position));
|
|
490
|
+
float mean = getColorAsFloat(${eo.texture2D}(Mean, position));
|
|
491
|
+
float variance = getColorAsFloat(${eo.texture2D}(Variance, position));
|
|
492
|
+
float b = getColorAsFloat(${eo.texture2D}(B, position));
|
|
493
|
+
|
|
494
|
+
return scale * ( (_A(indices) - mean) / sqrt(variance + float(${ei.epsilon})) ) + b;
|
|
495
|
+
}`;return Object.assign(Object.assign({},eu),{output:{dims:er[0].dims,type:er[0].type,textureType:es.TextureType.unpacked},shaderSource:ed})},ef=en=>{if(!en||5!==en.length)throw Error("BatchNormalization requires 5 inputs.");let er=en[0],ei=en[1],eo=en[2],ea=en[3],es=en[4];if(er.dims.length<3||1!==ei.dims.length||1!==eo.dims.length||1!==ea.dims.length||1!==es.dims.length||ei.dims[0]!==er.dims[1]||eo.dims[0]!==er.dims[1]||ea.dims[0]!==er.dims[1]||es.dims[0]!==er.dims[1])throw Error("invalid input shape.");if("float32"!==er.type&&"float64"!==er.type||"float32"!==ei.type&&"float64"!==ei.type||"float32"!==eo.type&&"float64"!==eo.type||"float32"!==ea.type&&"float64"!==ea.type||"float32"!==es.type&&"float64"!==es.type)throw Error("invalid input tensor types.")}},7839:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.xor=er.sub=er.pRelu=er.pow=er.or=er.mul=er.less=er.greater=er.equal=er.div=er.and=er.add=er.glslPRelu=er.glslPow=er.glslXor=er.glslOr=er.glslAnd=er.glslLess=er.glslGreater=er.glslEqual=er.glslSub=er.glslMul=er.glslDiv=er.glslAdd=void 0;let eo=ei(2517),ea=ei(8520),es=ei(5060),eu=ei(2039);function ec(){let en="add_";return{body:`
|
|
496
|
+
float ${en}(float a, float b) {
|
|
497
|
+
return a + b;
|
|
498
|
+
}
|
|
499
|
+
vec4 ${en}(vec4 v1, vec4 v2) {
|
|
500
|
+
return v1 + v2;
|
|
501
|
+
}
|
|
502
|
+
`,name:en,type:ea.FunctionType.ValueBased}}function ef(){let en="div_";return{body:`
|
|
503
|
+
float ${en}(float a, float b) {
|
|
504
|
+
return a / b;
|
|
505
|
+
}
|
|
506
|
+
vec4 ${en}(vec4 v1, vec4 v2) {
|
|
507
|
+
return v1 / v2;
|
|
508
|
+
}
|
|
509
|
+
`,name:en,type:ea.FunctionType.ValueBased}}function eA(){let en="mul_";return{body:`
|
|
510
|
+
float ${en}(float a, float b) {
|
|
511
|
+
return a * b;
|
|
512
|
+
}
|
|
513
|
+
vec4 ${en}(vec4 v1, vec4 v2) {
|
|
514
|
+
return v1 * v2;
|
|
515
|
+
}
|
|
516
|
+
`,name:en,type:ea.FunctionType.ValueBased}}function ed(){let en="sub_";return{body:`
|
|
517
|
+
float ${en}(float a, float b) {
|
|
518
|
+
return a - b;
|
|
519
|
+
}
|
|
520
|
+
vec4 ${en}(vec4 v1, vec4 v2) {
|
|
521
|
+
return v1 - v2;
|
|
522
|
+
}
|
|
523
|
+
`,name:en,type:ea.FunctionType.ValueBased}}function eh(){let en="equal_";return{body:`
|
|
524
|
+
float ${en}(float a, float b) {
|
|
525
|
+
return float(a == b);
|
|
526
|
+
}
|
|
527
|
+
vec4 ${en}(vec4 v1, vec4 v2) {
|
|
528
|
+
return vec4(equal(v1, v2));
|
|
529
|
+
}
|
|
530
|
+
`,name:en,type:ea.FunctionType.ValueBased}}function ep(){let en="greater_";return{body:`
|
|
531
|
+
float ${en}(float a, float b) {
|
|
532
|
+
return float(a > b);
|
|
533
|
+
}
|
|
534
|
+
vec4 ${en}(vec4 v1, vec4 v2) {
|
|
535
|
+
return vec4( v1.r > v2.r ,
|
|
536
|
+
v1.g > v2.g,
|
|
537
|
+
v1.b > v2.b,
|
|
538
|
+
v1.a > v2.a );
|
|
539
|
+
}
|
|
540
|
+
`,name:en,type:ea.FunctionType.ValueBased}}function eg(){let en="less_";return{body:`
|
|
541
|
+
float ${en}(float a, float b) {
|
|
542
|
+
return float(a < b);
|
|
543
|
+
}
|
|
544
|
+
vec4 ${en}(vec4 v1, vec4 v2) {
|
|
545
|
+
return vec4( v1.r < v2.r ,
|
|
546
|
+
v1.g < v2.g,
|
|
547
|
+
v1.b < v2.b,
|
|
548
|
+
v1.a < v2.a );
|
|
549
|
+
}
|
|
550
|
+
`,name:en,type:ea.FunctionType.ValueBased}}function eb(){let en="and_";return{body:`
|
|
551
|
+
float ${en}(float a, float b) {
|
|
552
|
+
return float( bool(a) && bool(b) );
|
|
553
|
+
}
|
|
554
|
+
vec4 ${en}(vec4 v1, vec4 v2) {
|
|
555
|
+
bvec4 b1 = bvec4(v1);
|
|
556
|
+
bvec4 b2 = bvec4(v2);
|
|
557
|
+
return vec4( b1.r && b2.r ,
|
|
558
|
+
b1.g && b2.g,
|
|
559
|
+
b1.b && b2.b,
|
|
560
|
+
b1.a && b2.a );
|
|
561
|
+
}
|
|
562
|
+
`,name:en,type:ea.FunctionType.ValueBased}}function em(){let en="or_";return{body:`
|
|
563
|
+
float ${en}(float a, float b) {
|
|
564
|
+
return float( bool(a) || bool(b) );
|
|
565
|
+
}
|
|
566
|
+
vec4 ${en}(vec4 v1, vec4 v2) {
|
|
567
|
+
bvec4 b1 = bvec4(v1);
|
|
568
|
+
bvec4 b2 = bvec4(v2);
|
|
569
|
+
return vec4( b1.r || b2.r ,
|
|
570
|
+
b1.g || b2.g,
|
|
571
|
+
b1.b || b2.b,
|
|
572
|
+
b1.a || b2.a );
|
|
573
|
+
}
|
|
574
|
+
`,name:en,type:ea.FunctionType.ValueBased}}function ey(){let en="xor_";return{body:`
|
|
575
|
+
float ${en}(float a, float b) {
|
|
576
|
+
return float( bool(a) ^^ bool(b) );
|
|
577
|
+
}
|
|
578
|
+
vec4 ${en}(vec4 v1, vec4 v2) {
|
|
579
|
+
bvec4 b1 = bvec4(v1);
|
|
580
|
+
bvec4 b2 = bvec4(v2);
|
|
581
|
+
return vec4( b1.r ^^ b2.r ,
|
|
582
|
+
b1.g ^^ b2.g,
|
|
583
|
+
b1.b ^^ b2.b,
|
|
584
|
+
b1.a ^^ b2.a );
|
|
585
|
+
}
|
|
586
|
+
`,name:en,type:ea.FunctionType.ValueBased}}function ev(){return function(en){let er=`${en}_`;return{body:`
|
|
587
|
+
float ${er}(float a, float b) {
|
|
588
|
+
return ${en}(a, b);
|
|
589
|
+
}
|
|
590
|
+
vec4 ${er}(vec4 v1, vec4 v2) {
|
|
591
|
+
return ${en}(v1, v2);
|
|
592
|
+
}
|
|
593
|
+
`,name:er,type:ea.FunctionType.ValueBased}}("pow")}function eI(){let en="prelu_";return{body:`
|
|
594
|
+
float ${en}(float a, float b) {
|
|
595
|
+
return a < 0.0 ? a * b: a;
|
|
596
|
+
}
|
|
597
|
+
vec4 ${en}(vec4 v1, vec4 v2) {
|
|
598
|
+
return vec4(
|
|
599
|
+
v1.r < 0.0 ? v1.r * v2.r: v1.r,
|
|
600
|
+
v1.g < 0.0 ? v1.g * v2.g: v1.g,
|
|
601
|
+
v1.b < 0.0 ? v1.b * v2.b: v1.b,
|
|
602
|
+
v1.a < 0.0 ? v1.a * v2.a: v1.a
|
|
603
|
+
);
|
|
604
|
+
}
|
|
605
|
+
`,name:en,type:ea.FunctionType.ValueBased}}er.glslAdd=ec,er.glslDiv=ef,er.glslMul=eA,er.glslSub=ed,er.glslEqual=eh,er.glslGreater=ep,er.glslLess=eg,er.glslAnd=eb,er.glslOr=em,er.glslXor=ey,er.glslPow=ev,er.glslPRelu=eI;let ew=(en,er,ei,eo=er[0].type,ea)=>{let es=en.session.pack?eu.TextureType.packed:eu.TextureType.unpacked;return{name:ei.name,inputNames:["A","B"],inputTypes:[es,es],cacheHint:ea,get:()=>eE(en,er,ei,eo)}},eE=(en,er,ei,ea=er[0].type)=>{let ec=en.session.pack?eu.TextureType.packed:eu.TextureType.unpacked,ef=!eo.ShapeUtil.areEqual(er[0].dims,er[1].dims),eA=er[0].dims,ed=en.session.pack;if(ef){let eu=eo.BroadcastUtil.calcShape(er[0].dims,er[1].dims,!1);if(!eu)throw Error("Can't perform binary op on the given tensors");eA=eu;let ef=eA.length,eh=0!==er[0].dims.length?er[0].dims.length:1,ep=0!==er[1].dims.length?er[1].dims.length:1,eg=0!==er[0].dims.length?"bcastIndices_A(indices, aindices);":"aindices[0] = 0;",eb=0!==er[1].dims.length?"bcastIndices_B(indices, bindices);":"bindices[0] = 0;",em=(0,es.getGlsl)(en.session.backend.glContext.version),ey=ed?`
|
|
606
|
+
${ei.body}
|
|
607
|
+
void main() {
|
|
608
|
+
vec4 a = getAAtOutCoords();
|
|
609
|
+
vec4 b = getBAtOutCoords();
|
|
610
|
+
vec4 result = ${ei.name}(a, b);
|
|
611
|
+
${em.output} = result;
|
|
612
|
+
}`:`
|
|
613
|
+
${ei.body}
|
|
614
|
+
float process(int indices[${ef}]) {
|
|
615
|
+
int aindices[${eh}];
|
|
616
|
+
int bindices[${ep}];
|
|
617
|
+
${eg}
|
|
618
|
+
${eb}
|
|
619
|
+
return ${ei.name}(_A(aindices), _B(bindices));
|
|
620
|
+
}`;return{name:ei.name,inputNames:["A","B"],inputTypes:[ec,ec],output:{dims:eA,type:ea,textureType:ec},shaderSource:ey,hasMain:ed}}let eh=(0,es.getGlsl)(en.session.backend.glContext.version),ep=`
|
|
621
|
+
${ei.body}
|
|
622
|
+
void main() {
|
|
623
|
+
vec4 v1 = ${eh.texture2D}(A, TexCoords);
|
|
624
|
+
vec4 v2 = ${eh.texture2D}(B, TexCoords);
|
|
625
|
+
vec4 result = ${ei.name}(v1, v2);
|
|
626
|
+
${eh.output} = result;
|
|
627
|
+
}
|
|
628
|
+
`;return{name:ei.name,inputNames:["A","B"],inputTypes:[ec,ec],output:{dims:er[0].dims,type:ea,textureType:ec},shaderSource:ep,hasMain:!0}};er.add=(en,er)=>[en.run(ew(en,er,ec()),er)],er.and=(en,er)=>[en.run(ew(en,er,eb(),"bool"),er)],er.div=(en,er)=>[en.run(ew(en,er,ef()),er)],er.equal=(en,er)=>[en.run(ew(en,er,eh(),"bool"),er)],er.greater=(en,er)=>[en.run(ew(en,er,ep(),"bool"),er)],er.less=(en,er)=>[en.run(ew(en,er,eg(),"bool"),er)],er.mul=(en,er)=>[en.run(ew(en,er,eA()),er)],er.or=(en,er)=>[en.run(ew(en,er,em(),"bool"),er)],er.pow=(en,er)=>[en.run(ew(en,er,ev()),er)],er.pRelu=(en,er)=>[en.run(ew(en,er,eI()),er)],er.sub=(en,er)=>[en.run(ew(en,er,ed()),er)],er.xor=(en,er)=>[en.run(ew(en,er,ey(),"bool"),er)]},4196:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseCastAttributes=er.cast=void 0;let eo=ei(2517);er.cast=(en,er,ei)=>(ea(er),[en.cast(er[0],ei)]),er.parseCastAttributes=en=>eo.ProtoUtil.tensorDataTypeFromProto(en.attributes.getInt("to"));let ea=en=>{if(!en||1!==en.length)throw Error("Cast requires 1 input.");if("string"===en[0].type)throw Error("Invalid input type.")}},1163:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.createPackedConcatProgramInfoLoader=void 0;let eo=ei(5060),ea=ei(2039),es=ei(9390),eu=ei(2827);er.createPackedConcatProgramInfoLoader=(en,er,ei)=>{var ef,eA;let ed=(ef=er.length,eA=ei.cacheKey,{name:"Concat (packed)",inputNames:Array.from({length:ef},(en,er)=>`X${er}`),inputTypes:Array(ef).fill(ea.TextureType.packed),cacheHint:eA});return Object.assign(Object.assign({},ed),{get:()=>((en,er,ei,ef)=>{let eA=ei[0].dims.slice();if(ef>=eA.length||ef<-1*eA.length)throw Error("axis specified for concat doesn't match input dimensionality");ef<0&&(ef=eA.length+ef);let ed=eA.slice(0);for(let en=1;en<ei.length;en++){let er=ei[en].dims.slice();for(let en=0;en<eA.length;en++)if(en===ef)ed[ef]+=er[en];else if(eA[en]!==er[en])throw Error("non concat dimensions must match")}let eh=ed.length,ep=(0,eu.getChannels)("coords",eh),eg=(0,es.getCoordsDataType)(eh),eb=(0,eu.unpackFromChannel)(),em=ei.map(en=>en.dims),ey=(0,es.getGlChannels)(eh),ev=Array(em.length-1);ev[0]=em[0][ef];for(let en=1;en<ev.length;en++)ev[en]=ev[en-1]+em[en][ef];let eI=ey[ef],ew=ey.slice(-2),eE=ey.join(),eC=`if (${eI} < ${ev[0]}) {
|
|
629
|
+
return getChannel(
|
|
630
|
+
getX0(${eE}), vec2(${ew.join()}));
|
|
631
|
+
}`;for(let en=1;en<ev.length;en++){let er=ev[en-1];eC+=`
|
|
632
|
+
if (${eI} < ${ev[en]} && ${eI} >= ${ev[en-1]}) {
|
|
633
|
+
return getChannel(
|
|
634
|
+
getX${en}(${ec(ey,eI,er)}),
|
|
635
|
+
vec2(${ec(ew,eI,er)}));
|
|
636
|
+
}`}let eT=ev.length,eS=ev[ev.length-1];eC+=`
|
|
637
|
+
return getChannel(
|
|
638
|
+
getX${eT}(${ec(ey,eI,eS)}),
|
|
639
|
+
vec2(${ec(ew,eI,eS)}));`;let eB=(0,eo.getGlsl)(en.session.backend.glContext.version),ex=`
|
|
640
|
+
${eb}
|
|
641
|
+
float getValue(${ey.map(en=>"int "+en)}) {
|
|
642
|
+
${eC}
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
void main() {
|
|
646
|
+
${eg} coords = getOutputCoords();
|
|
647
|
+
int lastDim = coords.${ey[eh-1]};
|
|
648
|
+
coords.${ey[eh-1]} = coords.${ey[eh-2]};
|
|
649
|
+
coords.${ey[eh-2]} = lastDim;
|
|
650
|
+
|
|
651
|
+
vec4 result = vec4(getValue(${ep}), 0., 0., 0.);
|
|
652
|
+
|
|
653
|
+
${ep[eh-1]} = ${ep[eh-1]} + 1;
|
|
654
|
+
if (${ep[eh-1]} < ${ed[eh-1]}) {
|
|
655
|
+
result.g = getValue(${ep});
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
${ep[eh-2]} = ${ep[eh-2]} + 1;
|
|
659
|
+
if (${ep[eh-2]} < ${ed[eh-2]}) {
|
|
660
|
+
result.a = getValue(${ep});
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
${ep[eh-1]} = ${ep[eh-1]} - 1;
|
|
664
|
+
if (${ep[eh-2]} < ${ed[eh-2]} &&
|
|
665
|
+
${ep[eh-1]} < ${ed[eh-1]}) {
|
|
666
|
+
result.b = getValue(${ep});
|
|
667
|
+
}
|
|
668
|
+
${eB.output} = result;
|
|
669
|
+
}
|
|
670
|
+
`;return Object.assign(Object.assign({},er),{output:{dims:ed,type:ei[0].type,textureType:ea.TextureType.packed},shaderSource:ex,hasMain:!0})})(en,ed,er,ei.axis)})};let ec=(en,er,ei)=>{let eo=en.indexOf(er);return en.map((en,er)=>er===eo?`${en} - ${ei}`:en).join()}},2069:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseConcatAttributes=er.concat=void 0;let eo=ei(246),ea=ei(2039),es=ei(1163);er.concat=(en,er,ei)=>(eh(er),en.session.pack&&er[0].dims.length>1?[en.run((0,es.createPackedConcatProgramInfoLoader)(en,er,ei),er)]:[en.run(eu(en,er,ei),er)]);let eu=(en,er,ei)=>{var eo,es;let eu=(eo=er.length,es=ei.cacheKey,{name:"Concat",inputNames:Array.from({length:eo},(en,er)=>`X${er}`),inputTypes:Array(eo).fill(ea.TextureType.unpacked),cacheHint:es});return Object.assign(Object.assign({},eu),{get:()=>((en,er,ei,eo)=>{let es=ei[0].dims.slice();if(eo>=es.length||eo<-1*es.length)throw Error("axis specified for concat doesn't match input dimensionality");eo<0&&(eo=es.length+eo);let eu=es.slice(0);for(let en=1;en<ei.length;en++){let er=ei[en].dims.slice();for(let en=0;en<es.length;en++)if(en===eo)eu[eo]+=er[en];else if(es[en]!==er[en])throw Error("non concat dimensions must match")}let eh=eu.length,ep=Array(ei.length),eg=0;for(let en=0;en<ep.length;++en)eg+=ei[en].dims[eo],ep[en]=eg;let eb="";eb=ei.length<5?ec(ep):ef(ep);let em=`
|
|
671
|
+
${eA(ei.length,eh)}
|
|
672
|
+
${ed(ep)}
|
|
673
|
+
${eb}
|
|
674
|
+
float process(int indices[${eh}]) {
|
|
675
|
+
int textureIndex = getTextureWhereDataResides (indices[${eo}]);
|
|
676
|
+
|
|
677
|
+
if(textureIndex != 0) {
|
|
678
|
+
indices[${eo}] = indices[${eo}] - int(getSizeInConcatAxisValueFromIndex(textureIndex-int(1)));
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
return fetchDataFromCorrectTexture(textureIndex, indices);
|
|
682
|
+
}`;return Object.assign(Object.assign({},er),{output:{dims:eu,type:ei[0].type,textureType:ea.TextureType.unpacked},shaderSource:em})})(0,eu,er,ei.axis)})},ec=en=>`int getTextureWhereDataResides(int index) {
|
|
683
|
+
${en.map((en,er)=>`if(index<${en}) {return ${er};}
|
|
684
|
+
`).join("")}
|
|
685
|
+
}`,ef=en=>ec(en),eA=(en,er)=>{let ei=[`float fetchDataFromCorrectTexture(int textureIndex, int indices[${er}]) {`];for(let er=0;er<en;++er)0===er?ei.push(` if (textureIndex == ${er}) { return _X${er}(indices); }`):er===en-1?ei.push(` else { return _X${er}(indices); }`):ei.push(` else if (textureIndex == ${er}) { return _X${er}(indices); }`);return ei.push(" }"),ei.join("\n")},ed=en=>{let er=["int getSizeInConcatAxisValueFromIndex(int index) {"];for(let ei=0;ei<en.length;++ei)0===ei?er.push(` if (index == ${ei}) { return ${en[ei]}; }`):ei===en.length-1?er.push(` else { return ${en[ei]}; }`):er.push(` else if (index == ${ei}) { return ${en[ei]}; }`);return er.push(" }"),er.join("\n")};er.parseConcatAttributes=en=>(0,eo.createAttributeWithCacheKey)({axis:en.attributes.getInt("axis")});let eh=en=>{if(!en||en.length<1)throw Error("too few inputs");let er=en[0].type,ei=en[0].dims.length;if("string"===er)throw Error("string tensor is not supported yet");for(let eo of en){if(eo.type!==er)throw Error("input tensors should be one type");if(eo.dims.length!==ei)throw Error("input tensors should have the same shape")}}},4770:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.createUnpackedGroupedConvProgramInfoLoader=void 0;let eo=ei(6231),ea=ei(5060),es=ei(2039),eu=ei(8138),ec=ei(2823);er.createUnpackedGroupedConvProgramInfoLoader=(en,er,ei)=>{var ef,eA;let ed=(ef=er.length>2,eA=ei.cacheKey,{name:"GroupedConv",inputNames:ef?["X","W","Bias"]:["X","W"],inputTypes:ef?[es.TextureType.unpacked,es.TextureType.unpacked,es.TextureType.unpacked]:[es.TextureType.unpacked,es.TextureType.unpacked],cacheHint:eA});return Object.assign(Object.assign({},ed),{get:()=>((en,er,ei,ef)=>{let eA=er.length>2?"value += getBias(output_channel);":"",ed=er[0].dims.slice(),eh=er[1].dims.slice(),ep=eh[0]/ef.group;eo.Logger.verbose("GroupedConv",`autpPad:${ef.autoPad}, dilations:${ef.dilations}, group:${ef.group}, kernelShape:${ef.kernelShape}, pads:${ef.pads}, strides:${ef.strides}`);let eg=(0,eu.calculateOutputShape)(ed,eh,ef.dilations,ef.pads,ef.strides),eb=(0,ea.getGlsl)(en.session.backend.glContext.version),{activationFunction:em,applyActivation:ey}=(0,ec.getActivationSnippet)(ef),ev=`
|
|
686
|
+
const ivec2 strides = ivec2(${ef.strides[0]}, ${ef.strides[1]});
|
|
687
|
+
const ivec2 pads = ivec2(${ef.pads[0]}, ${ef.pads[1]});
|
|
688
|
+
${em}
|
|
689
|
+
void main() {
|
|
690
|
+
ivec4 coords = getOutputCoords();
|
|
691
|
+
int batch = coords.x;
|
|
692
|
+
int output_channel = coords.y;
|
|
693
|
+
ivec2 xRCCorner = coords.zw * strides - pads;
|
|
694
|
+
int group_id = output_channel / ${ep};
|
|
695
|
+
|
|
696
|
+
float value = 0.0;
|
|
697
|
+
for (int wInChannel = 0; wInChannel < ${eh[1]}; wInChannel++) {
|
|
698
|
+
int input_channel = group_id * ${eh[1]} + wInChannel;
|
|
699
|
+
for (int wHeight = 0; wHeight < ${eh[2]}; wHeight++) {
|
|
700
|
+
int xHeight = xRCCorner.x + wHeight * ${ef.dilations[0]};
|
|
701
|
+
|
|
702
|
+
if (xHeight < 0 || xHeight >= ${ed[2]}) {
|
|
703
|
+
continue;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
for (int wWidth = 0; wWidth < ${eh[3]}; wWidth++) {
|
|
707
|
+
int xWidth = xRCCorner.y + wWidth * ${ef.dilations[1]};
|
|
708
|
+
if (xWidth < 0 || xWidth >= ${ed[3]}) {
|
|
709
|
+
continue;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
float xVal = getX(batch, input_channel, xWidth, xHeight);
|
|
713
|
+
float wVal = getW(output_channel, wInChannel, wWidth, wHeight);
|
|
714
|
+
value += xVal*wVal;
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
${eA}
|
|
719
|
+
${ey}
|
|
720
|
+
${eb.output} = vec4(value, .0, .0, .0);
|
|
721
|
+
}
|
|
722
|
+
`;return Object.assign(Object.assign({},ei),{output:{dims:eg,type:er[0].type,textureType:es.TextureType.unpacked},shaderSource:ev,hasMain:!0})})(en,er,ed,ei)})}},1386:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.conv2DPacked=er.conv2DPackedPointwise=void 0;let eo=ei(8138),ea=ei(8555),es=ei(708);er.conv2DPackedPointwise=(en,er,ei)=>{let ea=er[0].dims,eu=er[1].dims,ec=(0,eo.calculateOutputShape)(ea,eu,ei.dilations,ei.pads,ei.strides),ef=en.reshapePacked(er[0],[ea[1],ea[2]*ea[3]]),eA=en.reshapePacked(er[1],[eu[0],eu[1]]),ed=er.length>2?[eA,ef,er[2]]:[eA,ef],eh=en.run((0,es.createPackedMatmulProgramInfoLoader)(en,ed,ei),ed);return en.reshapePacked(eh,ec)},er.conv2DPacked=(en,er,ei)=>{let eu=er[0].dims,ec=er[1].dims,ef=(0,eo.calculateOutputShape)(eu,ec,ei.dilations,ei.pads,ei.strides),eA=en.run((0,ea.createPackedIm2ColProgramInfoLoader)(en,er[0],er[1],ef,ei),[er[0]]),ed=en.reshapePacked(er[1],[ec[0],ec[1]*ec[2]*ec[3]]),eh=3===er.length?[ed,eA,er[2]]:[ed,eA],ep=en.run((0,es.createPackedMatmulProgramInfoLoader)(en,eh,ei),eh);return en.reshapePacked(ep,ef)}},9663:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseConvTransposeAttributes=er.convTranspose=void 0;let eo=ei(246),ea=ei(5060),es=ei(2039),eu=ei(2823),ec=(en,er,ei,eo,ea,es)=>(en-1)*er+ei+(eo-1)*ea+1-es,ef=(en,er,ei,eo,ea)=>{let es=Math.floor(en/2);"SAME_UPPER"===er?(ei[eo]=es,ei[ea]=en-es):"SAME_LOWER"===er&&(ei[eo]=en-es,ei[ea]=es)};er.convTranspose=(en,er,ei)=>(ep(er,ei),eA(en,er,ei));let eA=(en,er,ei)=>{let eo=eh(ei,er);return[ed(en,er,eo)]},ed=(en,er,ei)=>en.run(((en,er,ei)=>{var eo,ec;let ef=(eo=er.length>2,ec=ei.cacheKey,{name:"ConvTranspose",inputNames:eo?["X","W","B"]:["X","W"],inputTypes:eo?[es.TextureType.unpacked,es.TextureType.unpacked,es.TextureType.unpacked]:[es.TextureType.unpacked,es.TextureType.unpacked],cacheHint:ec});return Object.assign(Object.assign({},ef),{get:()=>((en,er,ei,eo)=>{let ec=er.length>2?"getB(output_channel)":"0.0",ef=er[0].dims,eA=er[1].dims,ed=eA[1],eh=eA[0]/eo.group,ep=[er[0].dims[0],er[1].dims[1]*eo.group,...eo.outputShape],eg=(0,ea.getGlsl)(en.session.backend.glContext.version),{activationFunction:eb,applyActivation:em}=(0,eu.getActivationSnippet)(eo),ey=`
|
|
723
|
+
const ivec2 strides = ivec2(${eo.strides[0]}, ${eo.strides[1]});
|
|
724
|
+
const ivec2 pads = ivec2(${eo.pads[0]}, ${eo.pads[1]});
|
|
725
|
+
${eb}
|
|
726
|
+
void main() {
|
|
727
|
+
ivec4 coords = getOutputCoords();
|
|
728
|
+
int batch = coords.x;
|
|
729
|
+
int output_channel = coords.y;
|
|
730
|
+
|
|
731
|
+
ivec2 loc = coords.zw + pads;
|
|
732
|
+
|
|
733
|
+
int group_id = output_channel / ${ed};
|
|
734
|
+
int wOutChannel = output_channel - group_id * ${ed};
|
|
735
|
+
|
|
736
|
+
float value = ${ec};
|
|
737
|
+
for (int inChannelOffset = 0; inChannelOffset < ${eh}; inChannelOffset++) {
|
|
738
|
+
int input_channel = group_id * ${eh} + inChannelOffset;
|
|
739
|
+
for (int wWOff = 0; wWOff < ${eA[2]}; wWOff++) {
|
|
740
|
+
for (int wHOff = 0; wHOff < ${eA[3]}; wHOff++) {
|
|
741
|
+
ivec2 wOff = ivec2(wWOff * ${eo.dilations[0]}, wHOff * ${eo.dilations[1]});
|
|
742
|
+
ivec2 wLoc = loc - wOff;
|
|
743
|
+
ivec2 wLocIn = wLoc / strides;
|
|
744
|
+
if (
|
|
745
|
+
wLocIn * strides == wLoc &&
|
|
746
|
+
wLocIn.x >= 0 && wLocIn.x < ${ef[2]} &&
|
|
747
|
+
wLocIn.y >= 0 && wLocIn.y < ${ef[3]}
|
|
748
|
+
) {
|
|
749
|
+
float xVal = getX(batch, input_channel, wLocIn.y, wLocIn.x);
|
|
750
|
+
float wVal = getW(input_channel, wOutChannel, wHOff, wWOff);
|
|
751
|
+
value += xVal * wVal;
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
${em}
|
|
757
|
+
${eg.output} = vec4(value, .0, .0, .0);
|
|
758
|
+
}
|
|
759
|
+
`;return Object.assign(Object.assign({},ei),{output:{dims:ep,type:er[0].type,textureType:es.TextureType.unpacked},shaderSource:ey,hasMain:!0})})(en,er,ef,ei)})})(en,er,ei),er),eh=(en,er)=>{let ei=en.kernelShape.slice();if(0===en.kernelShape.length)for(let en=2;en<er[1].dims.length;++en)ei.push(er[1].dims[en]);let eo=en.pads.slice(),ea=en.outputShape.slice();((en,er,ei,eo,ea,es,eu,eA)=>{let ed=en.length-2,eh=0===eA.length;for(let ep=0;ep<ed;++ep){let eg=eh?en[ep+2]*es[ep]:eA[ep],eb=ec(en[ep+2],es[ep],ea[ep],er[ep],ei[ep],eg);ef(eb,eo,ea,ep,ep+ed),eh&&eA.push(es[ep]*(en[ep+2]-1)+eu[ep]+(er[ep]-1)*ei[ep]+1-ea[ep]-ea[ep+ed])}})(er[0].dims,ei,en.dilations,en.autoPad,eo,en.strides,en.outputPadding,ea);let es=Object.assign({},en);return Object.assign(es,{kernelShape:ei,pads:eo,outputShape:ea,cacheKey:en.cacheKey}),es};er.parseConvTransposeAttributes=en=>{let er=en.attributes,ei=(0,eu.parseInternalActivationAttributes)(er),ea=er.getString("auto_pad","NOTSET"),es=er.getInts("dilations",[1,1]),ec=er.getInt("group",1),ef=er.getInts("kernel_shape",[]),eA=er.getInts("output_padding",[0,0]),ed=er.getInts("output_shape",[]),eh=er.getInts("pads",[0,0,0,0]),ep=er.getInts("strides",[1,1]);return(0,eo.createAttributeWithCacheKey)(Object.assign({autoPad:ea,dilations:es,group:ec,kernelShape:ef,outputPadding:eA,outputShape:ed,pads:eh,strides:ep},ei))};let ep=(en,er)=>{if(!en||2!==en.length&&3!==en.length)throw Error("Conv requires 2 or 3 inputs");if(4!==en[0].dims.length||4!==en[1].dims.length)throw Error("currently only support 2-dimensional conv");if(en[0].dims[1]!==en[1].dims[0])throw Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");let ei=en[1].dims[1]*er.group;if(3===en.length&&(1!==en[2].dims.length||en[2].dims[0]!==ei))throw Error("invalid bias");let eo=en[0].dims.length-2;if(er.dilations.length!==eo)throw Error(`dilations should be ${eo}D`);if(er.strides.length!==eo)throw Error(`strides should be ${eo}D`);if(er.pads.length!==2*eo)throw Error(`pads should be ${2*eo}D`);if(er.outputPadding.length!==eo)throw Error(`output_padding should be ${eo}D`);if(0!==er.kernelShape.length&&er.kernelShape.length!==en[1].dims.length-2)throw Error("invalid kernel shape");if(0!==er.outputShape.length&&er.outputShape.length!==en[0].dims.length-2)throw Error("invalid output shape");if("float32"!==en[0].type||"float32"!==en[1].type)throw Error("ConvTranspose input(X,W) should be float tensor");if(3===en.length&&"float32"!==en[2].type)throw Error("ConvTranspose input(bias) should be float tensor")}},8138:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseConvAttributes=er.conv=er.calculateOutputShape=void 0;let eo=ei(246),ea=ei(2517),es=ei(4770),eu=ei(1386),ec=ei(9828),ef=ei(2823),eA=ei(3248),ed=ei(5623);er.calculateOutputShape=(en,er,ei,eo,ea)=>{let es=en[0],eu=en.slice(2),ec=eu.length,ef=er[0],eA=er.slice(2).map((en,er)=>en+(en-1)*(ei[er]-1)),ed=eu.map((en,er)=>en+eo[er]+eo[er+ec]).map((en,er)=>Math.floor((en-eA[er]+ea[er])/ea[er]));return[es,ef].concat(...ed)},er.conv=(en,er,ei)=>(em(er,ei),eh(en,er,ei));let eh=(en,er,ei)=>{let eo=eb(ei,er),ea=en.session.pack,ec=1===eo.kernelShape[0]&&1===eo.kernelShape[1];return eo.group>1?[en.run((0,es.createUnpackedGroupedConvProgramInfoLoader)(en,er,eo),er)]:ec&&ea?[ep(en,er,eo)]:ea&&4===er[0].dims.length&&1===er[0].dims[0]&&!ec?[(0,eu.conv2DPacked)(en,er,eo)]:[eg(en,er,eo)]},ep=(en,ei,eo)=>{let ea=ei[0].dims,es=ei[1].dims,eu=(0,er.calculateOutputShape)(ea,es,eo.dilations,eo.pads,eo.strides),ec=en.reshapeUnpacked(ei[0],[ea[1],ea[2]*ea[3]]),ef=en.reshapeUnpacked(ei[1],[es[0],es[1]]),eA=ei.length>2?[ef,ec,ei[2]]:[ef,ec],eh=en.run((0,ed.createMatmulProgramInfoLoader)(eA,eo),eA);return en.reshapeUnpacked(eh,eu)},eg=(en,ei,eo)=>{let ea=ei[0].dims,es=ei[1].dims,eu=(0,er.calculateOutputShape)(ea,es,eo.dilations,eo.pads,eo.strides),ef=en.run((0,eA.createIm2ColProgramInfoLoader)(en,ei[0],ei[1],eu,eo),[ei[0]]),ed=3===ei.length?[ef,ei[1],ei[2]]:[ef,ei[1]];return en.run((0,ec.createDotProductProgramInfoLoader)(en,ei,eu,eo),ed)},eb=(en,er)=>{let ei=en.kernelShape.slice();if(0===en.kernelShape.length)for(let en=2;en<er[1].dims.length;++en)ei.push(er[1].dims[en]);let eo=en.pads.slice();ea.PoolConvUtil.adjustPadsBasedOnAutoPad(er[0].dims,en.strides,en.dilations,ei,eo,en.autoPad);let es=Object.assign({},en);return Object.assign(es,{kernelShape:ei,pads:eo,cacheKey:en.cacheKey}),es};er.parseConvAttributes=en=>{let er=en.attributes,ei=(0,ef.parseInternalActivationAttributes)(er),ea=er.getString("auto_pad","NOTSET"),es=er.getInts("dilations",[1,1]),eu=er.getInt("group",1),ec=er.getInts("kernel_shape",[]),eA=er.getInts("pads",[0,0,0,0]),ed=er.getInts("strides",[1,1]);return(0,eo.createAttributeWithCacheKey)(Object.assign({autoPad:ea,dilations:es,group:eu,kernelShape:ec,pads:eA,strides:ed},ei))};let em=(en,er)=>{if(!en||2!==en.length&&3!==en.length)throw Error("Conv requires 2 or 3 inputs");if(4!==en[0].dims.length||4!==en[1].dims.length)throw Error("currently only support 2-dimensional conv");if(en[0].dims[1]!==en[1].dims[1]*er.group)throw Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");if(3===en.length&&(1!==en[2].dims.length||en[1].dims[0]!==en[2].dims[0]))throw Error("invalid bias");let ei=en[0].dims.length-2;if(er.dilations.length!==ei)throw Error(`dilations should be ${ei}D`);if(er.strides.length!==ei)throw Error(`strides should be ${ei}D`);if(er.pads.length!==2*ei)throw Error(`pads should be ${2*ei}D`);if(0!==er.kernelShape.length&&er.kernelShape.length!==en[1].dims.length-2)throw Error("invalid kernel shape");if("float32"!==en[0].type||"float32"!==en[1].type)throw Error("Conv input(X,W) should be float tensor");if(3===en.length&&"float32"!==en[2].type)throw Error("Conv input(bias) should be float tensor")}},5193:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseDepthToSpaceAttributes=er.depthToSpace=void 0;let eo=ei(3738);er.depthToSpace=(en,er,ei)=>{ea(er);let es=ei.blocksize,eu=es*es,ec="DCR"===ei.mode?[0,3,4,1,5,2]:[0,1,4,2,5,3],ef="DCR"===ei.mode?[er[0].dims[0],es,es,er[0].dims[1]/eu,er[0].dims[2],er[0].dims[3]]:[er[0].dims[0],er[0].dims[1]/eu,es,es,er[0].dims[2],er[0].dims[3]],eA=en.reshapeUnpacked(er[0],ef),ed={perm:ec,cacheKey:`${ec}`},[eh]=(0,eo.transpose)(en,[eA],ed),ep=[er[0].dims[0],er[0].dims[1]/eu,er[0].dims[2]*es,er[0].dims[3]*es];return[en.reshapeUnpacked(eh,ep)]},er.parseDepthToSpaceAttributes=en=>{let er=en.attributes.getInt("blocksize");if(er<1)throw Error(`blocksize must be >= 1, but got : ${er} for DepthToSpace`);let ei=en.attributes.getString("mode","DCR");if("DCR"!==ei&&"CRD"!==ei)throw Error(`unrecognized mode: ${ei} for DepthToSpace`);return{mode:ei,blocksize:er}};let ea=en=>{if(1!==en.length)throw Error(`DepthToSpace expect 1 inputs, but got ${en.length}`);if("string"===en[0].type||4!==en[0].dims.length)throw TypeError("DepthToSpace input should be a 4-D numeric tensor")}},9828:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.createDotProductProgramInfoLoader=void 0;let eo=ei(2517),ea=ei(5060),es=ei(2039),eu=ei(2823),ec=ei(3248);er.createDotProductProgramInfoLoader=(en,er,ei,ef)=>{var eA,ed;let eh=(eA=er.length>2,ed=ef,{name:"ConvDotProduct",inputNames:eA?["Im2Col","K","B"]:["Im2Col","K"],inputTypes:eA?[es.TextureType.unpacked,es.TextureType.packedLastDimension,es.TextureType.unpacked]:[es.TextureType.unpacked,es.TextureType.packedLastDimension],cacheKey:ed.activationCacheKey});return Object.assign(Object.assign({},eh),{get:()=>((en,er,ei,ef,eA)=>{let ed=ei[0].dims,eh=ei[1].dims,ep=[eh[0],Math.ceil(ed[1]*eh[2]*eh[3]/4)],eg=(0,ec.calculateIm2ColDims)(ed,eh,ef),[eb,em]=en.calculateTextureWidthAndHeight(ep,es.TextureType.packedLastDimension),ey=eo.ShapeUtil.computeStrides(eg),[ev,eI]=en.calculateTextureWidthAndHeight(eg,es.TextureType.packedLastDimension),ew=ef.length,eE=ei.length<3?"0.0":"_B(b)",eC=Math.ceil(ed[1]*eh[2]*eh[3]/4),{activationFunction:eT,applyActivation:eS}=(0,eu.getActivationSnippet)(eA),eB=(0,ea.getGlsl)(en.session.backend.glContext.version),ex=`
|
|
760
|
+
${eT}
|
|
761
|
+
float process(int indices[${ew}]) {
|
|
762
|
+
int b[1];
|
|
763
|
+
b[0] = indices[1];
|
|
764
|
+
int im2col[4];
|
|
765
|
+
im2col[0] = indices[0];
|
|
766
|
+
im2col[1] = indices[2];
|
|
767
|
+
im2col[2] = indices[3];
|
|
768
|
+
int im2colOffset = im2col[0] * ${ey[0]} + im2col[1] * ${ey[1]} + im2col[2] * ${ey[2]};
|
|
769
|
+
int kernelOffset = indices[1] * ${ep[1]};
|
|
770
|
+
float value = ${eE};
|
|
771
|
+
for (int i = 0; i < ${eC}; ++i) {
|
|
772
|
+
vec2 im2colCoords = offsetToCoords(im2colOffset, ${ev}, ${eI});
|
|
773
|
+
vec2 kernelCoords = offsetToCoords(kernelOffset, ${eb}, ${em});
|
|
774
|
+
value += dot(${eB.texture2D}(Im2Col, im2colCoords), ${eB.texture2D}(K, kernelCoords));
|
|
775
|
+
++im2colOffset;
|
|
776
|
+
++kernelOffset;
|
|
777
|
+
}
|
|
778
|
+
${eS}
|
|
779
|
+
return value;
|
|
780
|
+
}`;return Object.assign(Object.assign({},er),{output:{dims:ef,type:ei[0].type,textureType:es.TextureType.unpacked},shaderSource:ex})})(en,eh,er,ei,ef)})}},7992:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseFlattenAttributes=er.flatten=void 0;let eo=ei(2517);er.flatten=(en,er,ei)=>{ea(er,ei);let es=eo.ShapeUtil.flattenShape(er[0].dims,ei);return[en.reshapeUnpacked(er[0],es)]},er.parseFlattenAttributes=en=>en.attributes.getInt("axis",1);let ea=(en,er)=>{if(!en||1!==en.length)throw Error("Flatten requires 1 input.");let ei=en[0].dims.length;if(0===ei)throw Error("scalar tensor is not supported.");if(er<-ei||er>ei)throw Error("Invalid axis");if("string"===en[0].type)throw Error("string tensor is not supported.")}},2823:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseInternalActivationAttributes=er.getActivationSnippet=void 0;let eo=ei(2517),ea=ei(4909);er.getActivationSnippet=function(en){let er;switch(en.activation){case"Relu":er=(0,ea.glslRelu)();break;case"Sigmoid":er=(0,ea.glslSigmoid)();break;case"Clip":er=(0,ea.glslClip)(en.clipMin,en.clipMax);break;default:return{activationFunction:"",applyActivation:""}}let ei=er.name;return{activationFunction:er.body,applyActivation:`value = ${ei}_(value);`}},er.parseInternalActivationAttributes=en=>{let er=en.getString("activation","");if("Clip"===er){let[ei,ea]=en.getFloats("activation_params",[eo.MIN_CLIP,eo.MAX_CLIP]);return{activation:er,clipMax:ea,clipMin:ei,activationCacheKey:`${er}:${ei},${ea}`}}return{activation:er,activationCacheKey:er}}},1253:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseGatherAttributes=er.gather=void 0;let eo=ei(246),ea=ei(782),es=ei(2517),eu=ei(2039);er.gather=(en,er,ei)=>(eA(er,ei.axis),[en.run(ef(en,er,ei),er)]),er.parseGatherAttributes=en=>(0,eo.createAttributeWithCacheKey)({axis:en.attributes.getInt("axis",0)});let ec={name:"Gather",inputNames:["A","B"],inputTypes:[eu.TextureType.unpacked,eu.TextureType.unpacked]},ef=(en,er,ei)=>{let eo=Object.assign(Object.assign({},ec),{cacheHint:ei.cacheKey});return Object.assign(Object.assign({},eo),{get:()=>((en,er,ei,eo)=>{let ea=ei[0].dims.slice(),ec=ei[1].dims.slice(),ef=Array(ea.length+ec.length-1);eo=es.ShapeUtil.normalizeAxis(eo,ea.length);let eA=[];for(let en=0;en<ef.length;en++)en<eo?(ef[en]=ea[en],eA.push(`inputIdx[${en}] = outputIdx[${en}];`)):en<eo+ec.length?(ef[en]=ec[en-eo],eA.push(`indexDataIdx[${en-eo}] = outputIdx[${en}];`)):(ef[en]=ea[en-ec.length+1],eA.push(`inputIdx[${en-ec.length+1}] = outputIdx[${en}];`));let ed=`
|
|
781
|
+
float process(int outputIdx[${ef.length||1}]) {
|
|
782
|
+
int inputIdx[${ea.length}];
|
|
783
|
+
int indexDataIdx[${ec.length||1}];
|
|
784
|
+
indexDataIdx[0] = 0;
|
|
785
|
+
${eA.join("\n ")}
|
|
786
|
+
int idx = int(_B(indexDataIdx));
|
|
787
|
+
inputIdx[${eo}] = idx < 0 ? idx + ${ea[eo]} : idx;
|
|
788
|
+
return _A(inputIdx);
|
|
789
|
+
}`;return Object.assign(Object.assign({},er),{output:{dims:ef,type:ei[0].type,textureType:eu.TextureType.unpacked},shaderSource:ed})})(0,eo,er,ei.axis)})},eA=(en,er)=>{if(!en||2!==en.length)throw Error("Gather requires 2 inputs.");let ei=en[0].dims.length;if(ei<1)throw Error("Invalid input shape.");if(er<-ei||er>ei-1)throw Error("Invalid axis.");if(-1===ea.NUMBER_TYPES.indexOf(en[0].type)||"int32"!==en[1].type&&"int16"!==en[1].type)throw Error("Invaid input type.")}},4776:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseGemmAttributesV11=er.parseGemmAttributesV7=er.gemm=void 0;let eo=ei(246),ea=ei(2517),es=ei(2039);er.gemm=(en,er,ei)=>(eA(er,ei),[en.run(ec(er,ei),er)]);let eu=(en,er)=>{let ei=0!==en.attributes.getInt("transA",0),ea=0!==en.attributes.getInt("transB",0),es=en.attributes.getFloat("alpha",1),eu=en.attributes.getFloat("beta",1);return(0,eo.createAttributeWithCacheKey)({transA:ei,transB:ea,alpha:es,beta:eu,isOptionalC:er})};er.parseGemmAttributesV7=en=>eu(en,!1),er.parseGemmAttributesV11=en=>eu(en,!0);let ec=(en,er)=>{let ei={name:"Gemm",inputNames:3===en.length?["A","B","C"]:["A","B"],inputTypes:3===en.length?[es.TextureType.unpacked,es.TextureType.unpacked,es.TextureType.unpacked]:[es.TextureType.unpacked,es.TextureType.unpacked],key:er.cacheKey};return Object.assign(Object.assign({},ei),{get:()=>ef(ei,en,er)})},ef=(en,er,ei)=>{let eo=er[0].dims.slice(),eu=er[1].dims.slice(),[ec,ef]=ea.GemmUtil.getShapeOfGemmResult(eo,ei.transA,eu,ei.transB,3===er.length?er[2].dims:void 0),eA=[ec,ef];if(!eA)throw Error("Can't use gemm on the given tensors");let ed=eo[eo.length-1],eh="";ei.transA&&(ed=eo[0]),ei.transA&&ei.transB?eh="value += _A_T(a) * _B_T(b);":ei.transA&&!ei.transB?eh="value += _A_T(a) * _B(b);":!ei.transA&&ei.transB?eh="value += _A(a) * _B_T(b);":ei.transA||ei.transB||(eh="value += _A(a) * _B(b);");let ep=eA.length,eg=`
|
|
790
|
+
float process(int indices[${ep}]) {
|
|
791
|
+
int a[${ep}];
|
|
792
|
+
int b[${ep}];
|
|
793
|
+
${3===er.length?`int c[${er[2].dims.length}];`:""}
|
|
794
|
+
|
|
795
|
+
copyVec(indices, a);
|
|
796
|
+
copyVec(indices, b);
|
|
797
|
+
${3===er.length?"bcastIndices_C(indices, c);":""}
|
|
798
|
+
|
|
799
|
+
float value = 0.0;
|
|
800
|
+
for (int k=0; k<${ed}; ++k) {
|
|
801
|
+
a[${ep-1}] = k;
|
|
802
|
+
b[${ep-2}] = k;
|
|
803
|
+
${eh}
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
value = value * alpha;
|
|
807
|
+
${3===er.length?"value += beta * _C(c);":""}
|
|
808
|
+
return value;
|
|
809
|
+
}`;return Object.assign(Object.assign({},en),{output:{dims:eA,type:er[0].type,textureType:es.TextureType.unpacked},variables:[{name:"alpha",type:"float",data:ei.alpha},{name:"beta",type:"float",data:ei.beta}],shaderSource:eg})},eA=(en,er)=>{if(!en)throw Error("Input is missing");if(er.isOptionalC&&(en.length<2||en.length>3))throw Error("Invaid input shape.");if(!er.isOptionalC&&3!==en.length)throw Error("Gemm requires 3 inputs");if(3===en.length&&1!==en[2].dims.length&&2!==en[2].dims.length)throw Error("Invalid input shape of C");if("float32"!==en[0].type&&"float64"!==en[0].type||"float32"!==en[1].type&&"float64"!==en[1].type||3===en.length&&"float32"!==en[2].type&&"float64"!==en[2].type)throw Error("Invalid input type.");if(en[0].type!==en[1].type||3===en.length&&en[0].type!==en[2].type)throw Error("Input types are mismatched")}},8555:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.createPackedIm2ColProgramInfoLoader=void 0;let eo=ei(5060),ea=ei(2039),es=ei(2827);er.createPackedIm2ColProgramInfoLoader=(en,er,ei,eu,ec)=>{var ef;let eA=(ef=ec.cacheKey,{name:"Im2Col (packed)",inputNames:["A"],inputTypes:[ea.TextureType.packed],cacheHint:ef});return Object.assign(Object.assign({},eA),{get:()=>((en,er,ei,eu,ec,ef)=>{let eA=ei.dims,ed=eu.dims,eh=ec.length,ep=[ed[1]*ed[2]*ed[3],ec[2]*ec[3]],eg=ed[2]*ed[3],eb=(0,es.unpackFromChannel)(),em=(0,eo.getGlsl)(en.session.backend.glContext.version),ey="";for(let en=0;en<=1;en++)for(let er=0;er<=1;er++)ey+=`
|
|
810
|
+
blockIndex = rc.x + ${er};
|
|
811
|
+
pos = rc.y + ${en};
|
|
812
|
+
|
|
813
|
+
if(blockIndex < ${ep[1]} && pos < ${ep[0]}) {
|
|
814
|
+
offsetY = int(blockIndex / (${ec[eh-1]})) * ${ef.strides[0]} -
|
|
815
|
+
${ef.pads[0]};
|
|
816
|
+
d0 = offsetY + ${ef.dilations[0]} * (imod(pos, ${eg}) / ${ed[2]});
|
|
817
|
+
|
|
818
|
+
if(d0 < ${eA[2]} && d0 >= 0) {
|
|
819
|
+
offsetX = imod(blockIndex, ${ec[eh-1]}) * ${ef.strides[1]} -
|
|
820
|
+
${ef.pads[1]};
|
|
821
|
+
d1 = offsetX + ${ef.dilations[1]} * imod(imod(pos, ${eg}), ${ed[2]});
|
|
822
|
+
|
|
823
|
+
if(d1 < ${eA[3]} && d1 >= 0) {
|
|
824
|
+
|
|
825
|
+
ch = int(float(pos)/ ${eg}.);
|
|
826
|
+
innerDims = vec2(d0, d1);
|
|
827
|
+
result[${2*en+er}] = getChannel(
|
|
828
|
+
getA(0, ch, int(innerDims.x),
|
|
829
|
+
int(innerDims.y)), innerDims);
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
`;let ev=`
|
|
835
|
+
${eb}
|
|
836
|
+
|
|
837
|
+
void main() {
|
|
838
|
+
ivec2 rc = getOutputCoords();
|
|
839
|
+
vec4 result = vec4(0.0);
|
|
840
|
+
int blockIndex, pos, offsetY, d0, offsetX, d1, ch;
|
|
841
|
+
vec2 innerDims;
|
|
842
|
+
${ey}
|
|
843
|
+
${em.output} = result;
|
|
844
|
+
}
|
|
845
|
+
`;return Object.assign(Object.assign({},er),{output:{dims:ep,type:ei.type,textureType:ea.TextureType.packed},shaderSource:ev,hasMain:!0})})(en,eA,er,ei,eu,ec)})}},3248:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.calculateIm2ColDims=er.createIm2ColProgramInfoLoader=void 0;let eo=ei(2039);er.createIm2ColProgramInfoLoader=(en,ei,ea,es,eu)=>{var ec;let ef=(ec=eu.cacheKey,{name:"Im2Col",inputNames:["X"],inputTypes:[eo.TextureType.unpacked],cacheHint:ec});return Object.assign(Object.assign({},ef),{get:()=>((en,ei,ea,es,eu,ec)=>{let ef=ea.dims,eA=es.dims,ed=eu.length,eh=(0,er.calculateIm2ColDims)(ef,eA,eu,4),ep=`
|
|
846
|
+
const int XC = ${ef[1]};
|
|
847
|
+
const int XH = ${ef[2]};
|
|
848
|
+
const int XW = ${ef[3]};
|
|
849
|
+
const int KH = ${ec.kernelShape[0]};
|
|
850
|
+
const int KW = ${ec.kernelShape[1]};
|
|
851
|
+
const int dilationH = ${ec.dilations[0]};
|
|
852
|
+
const int dilationW = ${ec.dilations[1]};
|
|
853
|
+
const int strideH = ${ec.strides[0]};
|
|
854
|
+
const int strideW = ${ec.strides[1]};
|
|
855
|
+
const int padH = ${ec.pads[0]};
|
|
856
|
+
const int padW = ${ec.pads[1]};
|
|
857
|
+
const int KHKW = KH*KW;
|
|
858
|
+
const int XCKHKW = XC * KHKW;
|
|
859
|
+
const int outputChannels = 4;
|
|
860
|
+
vec4 process(int indices[${ed}]) {
|
|
861
|
+
int b = indices[0]; // batch size
|
|
862
|
+
int oh = indices[1] * strideH - padH; //output height
|
|
863
|
+
int ow = indices[2] * strideW - padW; //output width
|
|
864
|
+
int p = indices[3] * outputChannels; //patch
|
|
865
|
+
vec4 value = vec4(0.0);
|
|
866
|
+
for(int i=0; i < outputChannels; ++i) {
|
|
867
|
+
if(p < XCKHKW) {
|
|
868
|
+
int patchC = p / KHKW;
|
|
869
|
+
int patchH = (p - patchC*KHKW) / KW;
|
|
870
|
+
int patchW = (p - patchC*KHKW) - patchH * KW;
|
|
871
|
+
int xh2 = oh + patchH * dilationH;
|
|
872
|
+
int xw2 = ow + patchW * dilationW;
|
|
873
|
+
int x[${ef.length}];
|
|
874
|
+
x[0] = b;
|
|
875
|
+
x[1] = patchC;
|
|
876
|
+
x[2] = xh2;
|
|
877
|
+
x[3] = xw2;
|
|
878
|
+
if(xh2 >= 0 &&
|
|
879
|
+
xh2 < XH &&
|
|
880
|
+
xw2 >= 0 &&
|
|
881
|
+
xw2 < XW) {
|
|
882
|
+
value[i] = _X(x);
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
++p;
|
|
886
|
+
}
|
|
887
|
+
return value;
|
|
888
|
+
}
|
|
889
|
+
`;return Object.assign(Object.assign({},ei),{output:{dims:eh,type:ea.type,textureType:eo.TextureType.packedLastDimension},shaderSource:ep})})(0,ef,ei,ea,es,eu)})},er.calculateIm2ColDims=(en,er,ei,eo=4)=>[ei[0],ei[2],ei[3],Math.ceil(en[1]*er[2]*er[3]/eo)]},6572:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseImageScalerAttributes=er.imageScaler=void 0;let eo=ei(246),ea=ei(2039);er.imageScaler=(en,er,ei)=>(ef(er),[en.run(eu(en,er,ei),er)]),er.parseImageScalerAttributes=en=>{let er=en.attributes.getFloat("scale"),ei=en.attributes.getFloats("bias");return(0,eo.createAttributeWithCacheKey)({scale:er,bias:ei})};let es={name:"ImageScaler",inputNames:["X"],inputTypes:[ea.TextureType.unpacked]},eu=(en,er,ei)=>{let eo=Object.assign(Object.assign({},es),{cacheHint:ei.cacheKey});return Object.assign(Object.assign({},eo),{get:()=>((en,er,ei,eo)=>{let es=ei[0].dims.slice(),eu=es.length,ef=`
|
|
890
|
+
${ec(eo.bias.length)}
|
|
891
|
+
float process(int indices[${eu}]) {
|
|
892
|
+
return _X(indices) * scale + getBias(bias, indices[1]);
|
|
893
|
+
}`;return Object.assign(Object.assign({},er),{output:{dims:es,type:ei[0].type,textureType:ea.TextureType.unpacked},variables:[{name:"bias",type:"float",arrayLength:eo.bias.length,data:eo.bias},{name:"scale",type:"float",data:eo.scale}],shaderSource:ef})})(0,eo,er,ei)})},ec=en=>{let er=[`float getBias(float bias[${en}], int channel) {`];for(let ei=0;ei<en;++ei)0===ei?er.push(` if (channel == ${ei}) { return bias[${ei}]; }`):ei===en-1?er.push(` else { return bias[${ei}]; }`):er.push(` else if (channel == ${ei}) { return bias[${ei}]; }`);return er.push(" }"),er.join("\n")},ef=en=>{if(!en||1!==en.length)throw Error("ImageScaler requires 1 input.");if(4!==en[0].dims.length)throw Error("Invalid input shape.");if("float32"!==en[0].type&&"float64"!==en[0].type)throw Error("Invalid input type.")}},3346:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseInstanceNormalizationAttributes=er.instanceNormalization=void 0;let eo=ei(5060),ea=ei(2039);er.instanceNormalization=(en,er,ei)=>{eA(er);let eo=en.run(eu(er[0]),er);return[en.run(ef(en,er[0],ei,eo.dims),[er[0],eo,er[1],er[2]])]},er.parseInstanceNormalizationAttributes=en=>en.attributes.getFloat("epsilon",1e-5);let es={name:"InstanceNormalization_MeanAndVariance",inputNames:["X"],inputTypes:[ea.TextureType.unpacked]},eu=en=>Object.assign(Object.assign({},es),{get:()=>((en,er)=>{let ei=er.dims.slice(),eo=ei[1],es=ei[2]*ei[3],eu=[ei[0],eo],ec=`
|
|
894
|
+
vec4 process(int[2] indices) {
|
|
895
|
+
vec4 v = vec4(0.0);
|
|
896
|
+
int a[4];
|
|
897
|
+
a[0] = indices[0];
|
|
898
|
+
a[1] = indices[1];
|
|
899
|
+
float temp = 0.0;
|
|
900
|
+
for(int a2=0; a2<${ei[2]}; a2++) {
|
|
901
|
+
a[2] = a2;
|
|
902
|
+
for(int a3=0; a3<${ei[3]}; a3++) {
|
|
903
|
+
a[3] = a3;
|
|
904
|
+
float x = _X(a);
|
|
905
|
+
temp += x;
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
float mean = temp / float(${es});
|
|
909
|
+
temp = 0.0;
|
|
910
|
+
for(int a2=0; a2<${ei[2]}; a2++) {
|
|
911
|
+
a[2] = a2;
|
|
912
|
+
for(int a3=0; a3<${ei[3]}; a3++) {
|
|
913
|
+
a[3] = a3;
|
|
914
|
+
float x = _X(a);
|
|
915
|
+
temp += (x - mean) * (x - mean);
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
v.r = mean;
|
|
919
|
+
v.g = temp / float(${es});
|
|
920
|
+
|
|
921
|
+
return v;
|
|
922
|
+
}`;return Object.assign(Object.assign({},en),{output:{dims:eu,type:er.type,textureType:ea.TextureType.packedLastDimension},shaderSource:ec})})(es,en)}),ec={name:"InstanceNormalization_ComputeOutput",inputNames:["X","MeanAndVariance","Scale","B"],inputTypes:[ea.TextureType.unpacked,ea.TextureType.packedLastDimension,ea.TextureType.unpacked,ea.TextureType.unpacked]},ef=(en,er,ei,es)=>{let eu=Object.assign(Object.assign({},ec),{cacheHint:`${ei}`});return Object.assign(Object.assign({},eu),{get:()=>((en,er,ei,es,eu)=>{let ec=(0,eo.getGlsl)(en.session.backend.glContext.version),[ef,eA]=en.calculateTextureWidthAndHeight(eu,ea.TextureType.packedLastDimension),[ed,eh]=[ef/4,eA],ep=`
|
|
923
|
+
vec4 get_MeanAndVariance(int[2] mv) {
|
|
924
|
+
int offset = indicesToOffset_MeanAndVariance(mv);
|
|
925
|
+
vec2 coords = offsetToCoords(offset, ${ed}, ${eh});
|
|
926
|
+
return ${ec.texture2D}(MeanAndVariance, coords);
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
float process(int[4] indices) {
|
|
930
|
+
int mv[2];
|
|
931
|
+
mv[0] = indices[0];
|
|
932
|
+
mv[1] = indices[1];
|
|
933
|
+
vec4 mean_and_variance = get_MeanAndVariance(mv);
|
|
934
|
+
float mean = mean_and_variance.r;
|
|
935
|
+
float variance = mean_and_variance.g;
|
|
936
|
+
|
|
937
|
+
int sb[1];
|
|
938
|
+
sb[0] = indices[1];
|
|
939
|
+
float scale = _Scale(sb);
|
|
940
|
+
float b = _B(sb);
|
|
941
|
+
|
|
942
|
+
return scale * (_X(indices) - mean) / sqrt(variance + epsilon) + b;
|
|
943
|
+
}`;return Object.assign(Object.assign({},er),{output:{dims:ei.dims,type:ei.type,textureType:ea.TextureType.unpacked},variables:[{name:"epsilon",type:"float",data:es}],shaderSource:ep})})(en,eu,er,ei,es)})},eA=en=>{if(!en||3!==en.length)throw Error("InstanceNormalization requires 3 inputs.");let er=en[0],ei=en[1],eo=en[2];if(er.dims.length<3||1!==ei.dims.length||1!==eo.dims.length)throw Error("Invalid input shape.");if(ei.dims[0]!==er.dims[1]||eo.dims[0]!==er.dims[1])throw Error("Input shapes are mismatched.");if("float32"!==er.type&&"float64"!==er.type||"float32"!==ei.type&&"float64"!==ei.type||"float32"!==eo.type&&"float64"!==eo.type)throw Error("Invalid input type.");if(4!==en[0].dims.length)throw Error("Only support 4-D input shape.")}},708:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.createPackedMatmulProgramInfoLoader=void 0;let eo=ei(2517),ea=ei(5060),es=ei(2039),eu=ei(9390),ec=ei(2823),ef=ei(5623);er.createPackedMatmulProgramInfoLoader=(en,er,ei)=>{var eA,ed;let eh=(eA=er.length>2,ed=ei.activationCacheKey,{name:"MatMul (packed)",inputNames:eA?["A","B","Bias"]:["A","B"],inputTypes:eA?[es.TextureType.packed,es.TextureType.packed,es.TextureType.packed]:[es.TextureType.packed,es.TextureType.packed],cacheHint:ed});return Object.assign(Object.assign({},eh),{get:()=>((en,er,ei,eA)=>{let ed=ei.length>2,eh=ed?"value += getBiasForMatmul();":"",ep=ei[0].dims,eg=ei[1].dims,eb=eo.BroadcastUtil.calcShape(ep,eg,!0),em=!eo.ShapeUtil.areEqual(ei[0].dims,ei[1].dims);if(!eb)throw Error("Can't use matmul on the given tensors");let ey=ep[ep.length-1],ev=Math.ceil(ey/2),eI=ep.length,ew=eg.length,eE=(0,ea.getGlsl)(en.session.backend.glContext.version),eC=(0,eu.getCoordsDataType)(eb.length),eT=eb.length,eS=(0,eu.getGlChannels)(),{activationFunction:eB,applyActivation:ex}=(0,ec.getActivationSnippet)(eA),e_=ed?`${(0,ef.getBiasForMatmul)(eC,eS,ei[2].dims,eb,!0)}`:"",eD=em?`${function(en,er,ei,ea){let es=[],eu=[],ec=ei[0].dims,ef=ei[1].dims,eA=ec.length,ed=ef.length,eh=ea.length,ep=eh-eA,eg=eh-ed;(es=ec.map((en,ei)=>`coords.${er[ei+ep]}`))[eA-1]="i*2",es.join(", "),(eu=ef.map((en,ei)=>`coords.${er[ei+eg]}`))[ed-2]="i*2",eu.join(", ");let eb=eo.BroadcastUtil.getBroadcastDims(ec,ea),em=eo.BroadcastUtil.getBroadcastDims(ef,ea),ey=eb.map(en=>`coords.${er[en+ep]} = 0;`).join("\n"),ev=em.map(en=>`coords.${er[en+eg]} = 0;`).join("\n"),eI=`int lastDim = coords.${er[eh-1]};
|
|
944
|
+
coords.${er[eh-1]} = coords.${er[eh-2]};
|
|
945
|
+
coords.${er[eh-2]} = lastDim;`;return`
|
|
946
|
+
vec4 getAAtOutCoordsMatmul(int i) {
|
|
947
|
+
${en} coords = getOutputCoords();
|
|
948
|
+
${eI}
|
|
949
|
+
${ey}
|
|
950
|
+
vec4 outputValue = getA(${es});
|
|
951
|
+
return outputValue;
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
vec4 getBAtOutCoordsMatmul(int i) {
|
|
955
|
+
${en} coords = getOutputCoords();
|
|
956
|
+
${eI}
|
|
957
|
+
${ev}
|
|
958
|
+
vec4 outputValue = getB(${eu});
|
|
959
|
+
return outputValue;
|
|
960
|
+
}`}(eC,eS,ei,eb)}`:"",eP=em?"getAAtOutCoordsMatmul(i)":`getA(${function(en,er){let ei="";for(let eo=0;eo<er-2;eo++)ei+=`rc.${en[eo]}, `;return ei+`rc.${en[er-2]}, i*2`}(eS,eI)})`,eO=em?"getBAtOutCoordsMatmul(i)":`getB(${function(en,er){let ei="";for(let eo=0;eo<er-2;eo++)ei+=`rc.${en[eo]}, `;return ei+`i*2, rc.${en[er-1]}`}(eS,ew)})`,ek=`
|
|
961
|
+
${eD}
|
|
962
|
+
${e_}
|
|
963
|
+
${eB}
|
|
964
|
+
void main() {
|
|
965
|
+
${em?"":`${eC} rc =
|
|
966
|
+
getOutputCoords(); int lastDim = rc.${eS[eT-1]}; rc.${eS[eT-1]} =
|
|
967
|
+
rc.${eS[eT-2]}; rc.${eS[eT-2]} = lastDim;
|
|
968
|
+
`}
|
|
969
|
+
|
|
970
|
+
vec4 value = vec4(0);
|
|
971
|
+
for (int i = 0; i < ${ev}; i++) {
|
|
972
|
+
vec4 a = ${eP};
|
|
973
|
+
vec4 b = ${eO};
|
|
974
|
+
|
|
975
|
+
value += (a.rrbb * b.rgrg);
|
|
976
|
+
value += (a.ggaa * b.baba);
|
|
977
|
+
}
|
|
978
|
+
${eh}
|
|
979
|
+
${ex}
|
|
980
|
+
${eE.output} = value;
|
|
981
|
+
}`;return Object.assign(Object.assign({},er),{output:{dims:eb,type:ei[0].type,textureType:es.TextureType.packed},shaderSource:ek,hasMain:!0})})(en,eh,er,ei)})}},5623:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.getBiasForMatmul=er.createMatmulProgramInfoLoader=er.parseMatMulAttributes=er.matMul=void 0;let eo=ei(2517),ea=ei(2039),es=ei(9390),eu=ei(2823),ec=ei(708);function ef(en,er){var ei,ec;let ef=(ei=en.length>2,ec=er.activationCacheKey,{name:"MatMul",inputNames:ei?["A","B","Bias"]:["A","B"],inputTypes:ei?[ea.TextureType.unpacked,ea.TextureType.unpacked,ea.TextureType.unpacked]:[ea.TextureType.unpacked,ea.TextureType.unpacked],cacheHint:ec});return Object.assign(Object.assign({},ef),{get:()=>(function(en,er,ei){let ec=er[0].dims,ef=er[1].dims,eA=eo.BroadcastUtil.calcShape(ec,ef,!0);if(!eA)throw Error("Can't use matmul on the given tensors");let eh=(0,es.getCoordsDataType)(eA.length),ep=(0,es.getGlChannels)(),{activationFunction:eg,applyActivation:eb}=(0,eu.getActivationSnippet)(ei),em=er.length>2,ey=em?"value += getBiasForMatmul();":"",ev=em?`${ed(eh,ep,er[2].dims,eA,!1)}`:"",eI=eA.length,ew=ec.length,eE=ef.length,eC=`
|
|
982
|
+
${eg}
|
|
983
|
+
${ev}
|
|
984
|
+
float process(int indices[${eI}]) {
|
|
985
|
+
int a[${ew}];
|
|
986
|
+
int b[${eE}];
|
|
987
|
+
bcastMatmulIndices_A(indices, a);
|
|
988
|
+
bcastMatmulIndices_B(indices, b);
|
|
989
|
+
|
|
990
|
+
float value;
|
|
991
|
+
for (int k=0; k<${ec[ec.length-1]}; ++k) {
|
|
992
|
+
a[${ew-1}] = k;
|
|
993
|
+
b[${eE-2}] = k;
|
|
994
|
+
value += _A(a) * _B(b);
|
|
995
|
+
}
|
|
996
|
+
${ey}
|
|
997
|
+
${eb}
|
|
998
|
+
return value;
|
|
999
|
+
}`;return Object.assign(Object.assign({},en),{output:{dims:eA,type:er[0].type,textureType:ea.TextureType.unpacked},shaderSource:eC})})(ef,en,er)})}er.matMul=(en,er,ei)=>(eA(er),en.session.pack?[en.run((0,ec.createPackedMatmulProgramInfoLoader)(en,er,ei),er)]:[en.run(ef(er,ei),er)]),er.parseMatMulAttributes=en=>(0,eu.parseInternalActivationAttributes)(en.attributes),er.createMatmulProgramInfoLoader=ef;let eA=en=>{if(!en||2!==en.length)throw Error("MatMul requires 2 inputs.");if(en[0].dims[en[0].dims.length-1]!==en[1].dims[en[1].dims.length-2])throw Error("shared dimension does not match.");if("float32"!==en[0].type&&"float64"!==en[0].type||"float32"!==en[1].type&&"float64"!==en[1].type)throw Error("inputs should be float type");if(en[0].type!==en[1].type)throw Error("inputs types should match")};function ed(en,er,ei,ea,es){let eu="",ec=ei.length,ef=ea.length,eA=ef-ec;eu=ef<2&&ec>0?"coords":ei.map((en,ei)=>`coords.${er[ei+eA]}`).join(", ");let ed=eo.BroadcastUtil.getBroadcastDims(ei,ea).map(en=>`coords.${er[en+eA]} = 0;`).join("\n"),eh="vec4(outputValue.xx, outputValue.yy)";return 1===eo.ShapeUtil.size(ei)&&(eh="vec4(outputValue.x)"),es?`
|
|
1000
|
+
vec4 getBiasForMatmul() {
|
|
1001
|
+
${en} coords = getOutputCoords();
|
|
1002
|
+
${ed}
|
|
1003
|
+
vec4 outputValue = getBias(${eu});
|
|
1004
|
+
return ${eh};
|
|
1005
|
+
}`:`
|
|
1006
|
+
float getBiasForMatmul() {
|
|
1007
|
+
${en} coords = getOutputCoords();
|
|
1008
|
+
${ed}
|
|
1009
|
+
return getBias(coords.x);
|
|
1010
|
+
}`}er.getBiasForMatmul=ed},2403:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.createPackProgramInfoLoader=void 0;let eo=ei(5060),ea=ei(2039),es=ei(9390),eu=ei(2827),ec={name:"pack",inputNames:["A"],inputTypes:[ea.TextureType.unpackedReversed]};er.createPackProgramInfoLoader=(en,er)=>Object.assign(Object.assign({},ec),{get:()=>((en,er)=>{var ei,ef,eA,ed;let eh;let ep=(0,eo.getGlsl)(en.session.backend.glContext.version),eg=er.dims,eb=eg.length,em=er.dims.length,ey=(0,es.getCoordsDataType)(em),ev=(0,eu.getChannels)("rc",em),eI=(ei=em,ef=ev,eA=eg[eg.length-2],ed=eg[eg.length-1],0===ei||1===ei?"":`
|
|
1011
|
+
int r = ${ef[ei-2]};
|
|
1012
|
+
int c = ${ef[ei-1]};
|
|
1013
|
+
int rp1 = ${ef[ei-2]} + 1;
|
|
1014
|
+
int cp1 = ${ef[ei-1]} + 1;
|
|
1015
|
+
bool rEdge = rp1 >= ${ed};
|
|
1016
|
+
bool cEdge = cp1 >= ${eA};
|
|
1017
|
+
`);eh=0===eb?[1,1]:1===eb?[eg[0],1]:[eg[em-1],eg[em-2]];let ew=function(en,er,ei){if(0===en)return"false";if(1===en)return`rc > ${er[0]}`;let eo="";for(let ea=en-2;ea<en;ea++)eo+=`${ei[ea]} >= ${er[ea-en+2]}`,ea<en-1&&(eo+="||");return eo}(em,eh,ev),eE=function(en,er){let ei=en.length;if(0===ei)return"getA(), 0, 0, 0";if(1===ei)return`getA(rc),
|
|
1018
|
+
rc + 1 >= ${en[0]} ? 0. : getA(rc + 1),
|
|
1019
|
+
0, 0`;let eo="";if(ei>2)for(let en=0;en<ei-2;++en)eo+=`${er[en]},`;return`getA(${eo}r, c),
|
|
1020
|
+
rEdge ? 0. : getA(${eo}rp1, c),
|
|
1021
|
+
cEdge ? 0. : getA(${eo}r, cp1),
|
|
1022
|
+
rEdge || cEdge ? 0. : getA(${eo}rp1, cp1)`}(eg,ev),eC=`
|
|
1023
|
+
void main() {
|
|
1024
|
+
${ey} rc = getOutputCoords();
|
|
1025
|
+
|
|
1026
|
+
if(${ew}) {
|
|
1027
|
+
${ep.output} = vec4(0);
|
|
1028
|
+
} else {
|
|
1029
|
+
${eI}
|
|
1030
|
+
|
|
1031
|
+
${ep.output} = vec4(${eE});
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
`;return Object.assign(Object.assign({},ec),{hasMain:!0,output:{dims:er.dims,type:er.type,textureType:ea.TextureType.packed},shaderSource:eC})})(en,er)})},2827:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.unpackFromChannel=er.getChannels=er.getVecChannels=void 0;let eo=ei(9390);function ea(en,er){return(0,eo.getGlChannels)(er).map(er=>`${en}.${er}`)}er.getVecChannels=ea,er.getChannels=function(en,er){return 1===er?[en]:ea(en,er)},er.unpackFromChannel=function(){return"\n float getChannel(vec4 frag, int dim) {\n int modCoord = imod(dim, 2);\n return modCoord == 0 ? frag.r : frag.g;\n }\n\n float getChannel(vec4 frag, vec2 innerDims) {\n vec2 modCoord = mod(innerDims, 2.);\n return modCoord.x == 0. ?\n (modCoord.y == 0. ? frag.r : frag.g) :\n (modCoord.y == 0. ? frag.b : frag.a);\n }\n "}},2870:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parsePadAttributesV11=er.padV11=er.parsePadAttributesV2=er.padV2=void 0;let eo=ei(246),ea=ei(2517),es=ei(5060),eu=ei(2039),ec={name:"Pad",inputNames:["A"],inputTypes:[eu.TextureType.unpacked]};er.padV2=(en,er,ei)=>(ed(er),[en.run(Object.assign(Object.assign({},ec),{cacheHint:ei.cacheKey,get:()=>eA(en,er[0],ei)}),er)]),er.parsePadAttributesV2=en=>{let er=en.attributes.getString("mode","constant"),ei=en.attributes.getFloat("value",0),ea=en.attributes.getInts("pads");return(0,eo.createAttributeWithCacheKey)({mode:er,value:ei,pads:ea})},er.padV11=(en,ei,eo)=>{eh(ei);let ea=ef(en,ei,eo);return(0,er.padV2)(en,[ei[0]],ea)},er.parsePadAttributesV11=en=>en.attributes.getString("mode","constant");let ef=(en,er,ei)=>{if(!en.session.isInitializer(er[1].dataId)||er.length>=3&&!en.session.isInitializer(er[2].dataId))throw Error("dynamic pad attributes are not allowed");let ea=Array.from(er[1].integerData),es=er.length>=3?er[2].floatData[0]:0;return(0,eo.createAttributeWithCacheKey)({mode:ei,pads:ea,value:es})},eA=(en,er,ei)=>{let eo=ea.ShapeUtil.padShape(er.dims.slice(),ei.pads),es=eo.length,ec=`
|
|
1035
|
+
${ep(en,er,ei)}
|
|
1036
|
+
float process(int[${es}] indices) {
|
|
1037
|
+
return padA(indices);
|
|
1038
|
+
}`;return{name:"Pad",inputNames:["A"],inputTypes:[eu.TextureType.unpacked],output:{dims:eo,type:er.type,textureType:eu.TextureType.unpacked},shaderSource:ec}},ed=en=>{if(!en||1!==en.length)throw Error("Pad requires 1 input");if("float32"!==en[0].type&&"float64"!==en[0].type)throw Error("Invalid input type.")},eh=en=>{if(!en||2!==en.length&&3!==en.length)throw Error("Pad requires 2 or 3 inputs");if("int32"!==en[1].type||en.length>=3&&"string"===en[2].type)throw Error("Invalid input type.")},ep=(en,er,ei)=>{let eo=(0,es.getGlsl)(en.session.backend.glContext.version),[ec,ef]=en.calculateTextureWidthAndHeight(er.dims,eu.TextureType.unpacked),eA=ea.ShapeUtil.computeStrides(er.dims);switch(ei.mode){case"constant":return eg(eo,er.dims,eA,ec,ef,ei.pads,ei.value);case"reflect":return eb(eo,er.dims,eA,ec,ef,ei.pads);case"edge":return em(eo,er.dims,eA,ec,ef,ei.pads);default:throw Error("Invalid mode")}},eg=(en,er,ei,eo,ea,es,eu)=>{let ec=er.length,ef="";for(let en=ec-1;en>=0;--en)ef+=`
|
|
1039
|
+
k = m[${en}] - ${es[en]};
|
|
1040
|
+
if (k < 0) return constant;
|
|
1041
|
+
if (k >= ${er[en]}) return constant;
|
|
1042
|
+
offset += k * ${ei[en]};
|
|
1043
|
+
`;return`
|
|
1044
|
+
float padA(int m[${ec}]) {
|
|
1045
|
+
const float constant = float(${eu});
|
|
1046
|
+
int offset = 0;
|
|
1047
|
+
int k = 0;
|
|
1048
|
+
${ef}
|
|
1049
|
+
vec2 coords = offsetToCoords(offset, ${eo}, ${ea});
|
|
1050
|
+
float value = getColorAsFloat(${en.texture2D}(A, coords));
|
|
1051
|
+
return value;
|
|
1052
|
+
}
|
|
1053
|
+
`},eb=(en,er,ei,eo,ea,es)=>{let eu=er.length,ec="";for(let en=eu-1;en>=0;--en)ec+=`
|
|
1054
|
+
k = m[${en}] - ${es[en]};
|
|
1055
|
+
if (k < 0) { k = -k; }
|
|
1056
|
+
{
|
|
1057
|
+
const int _2n_1 = ${2*(er[en]-1)};
|
|
1058
|
+
k = int( mod( float(k), float(_2n_1) ) ) ;
|
|
1059
|
+
if(k >= ${er[en]}) { k = _2n_1 - k; }
|
|
1060
|
+
}
|
|
1061
|
+
offset += k * ${ei[en]};
|
|
1062
|
+
`;return`
|
|
1063
|
+
float padA(int m[${eu}]) {
|
|
1064
|
+
int offset = 0;
|
|
1065
|
+
int k = 0;
|
|
1066
|
+
${ec}
|
|
1067
|
+
vec2 coords = offsetToCoords(offset, ${eo}, ${ea});
|
|
1068
|
+
float value = getColorAsFloat(${en.texture2D}(A, coords));
|
|
1069
|
+
return value;
|
|
1070
|
+
}
|
|
1071
|
+
`},em=(en,er,ei,eo,ea,es)=>{let eu=er.length,ec="";for(let en=eu-1;en>=0;--en)ec+=`
|
|
1072
|
+
k = m[${en}] - ${es[en]};
|
|
1073
|
+
if (k < 0) k = 0;
|
|
1074
|
+
if (k >= ${er[en]}) k = ${er[en]-1};
|
|
1075
|
+
offset += k * ${ei[en]};
|
|
1076
|
+
`;return`
|
|
1077
|
+
float padA(int m[${eu}]) {
|
|
1078
|
+
int offset = 0;
|
|
1079
|
+
int k = 0;
|
|
1080
|
+
${ec}
|
|
1081
|
+
vec2 coords = offsetToCoords(offset, ${eo}, ${ea});
|
|
1082
|
+
float value = getColorAsFloat(${en.texture2D}(A, coords));
|
|
1083
|
+
return value;
|
|
1084
|
+
}
|
|
1085
|
+
`}},2143:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.globalMaxPool=er.parseMaxPoolAttributes=er.maxPool=er.parseGlobalAveragePoolAttributes=er.globalAveragePool=er.parseAveragePoolAttributes=er.averagePool=void 0;let eo=ei(246),ea=ei(2517),es=ei(2039);er.averagePool=(en,er,ei)=>{eh(er);let eo={name:"AveragePool",inputNames:["X"],inputTypes:[es.TextureType.unpacked],cacheHint:ei.cacheKey};return[en.run(Object.assign(Object.assign({},eo),{get:()=>eu(er,eo,!1,ei)}),er)]},er.parseAveragePoolAttributes=en=>{let er=en.attributes.getString("auto_pad","NOTSET"),ei=en.attributes.getInt("ceil_mode",0),ea=0!==en.attributes.getInt("count_include_pad",0),es=en.attributes.getInts("kernel_shape"),eu=en.attributes.getInts("strides",[]),ec=en.attributes.getInts("pads",[]);if(0!==ei)throw Error("using ceil() in shape computation is not yet supported for AveragePool");return(0,eo.createAttributeWithCacheKey)({autoPad:er,ceilMode:ei,countIncludePad:ea,kernelShape:es,strides:eu,pads:ec})};let eu=(en,er,ei,eo)=>{let[eu,ec]=ef(en,eo,ei),eA=ea.ShapeUtil.size(eu.kernelShape),ed="";eu.countIncludePad?ed+=`value /= float(${eA});`:ed+=`value /= float(${eA} - pad);`;let eh=`
|
|
1086
|
+
${ep(en[0].dims,eu,"value += _X(x);",ed,"0.0")}
|
|
1087
|
+
`;return Object.assign(Object.assign({},er),{output:{dims:ec,type:en[0].type,textureType:es.TextureType.unpacked},shaderSource:eh})};er.globalAveragePool=(en,er,ei)=>{eh(er);let eo={name:"GlobalAveragePool",inputNames:["X"],inputTypes:[es.TextureType.unpacked],cacheHint:`${ei.countIncludePad}`};return[en.run(Object.assign(Object.assign({},eo),{get:()=>eu(er,eo,!0,ei)}),er)]},er.parseGlobalAveragePoolAttributes=en=>{let er=0!==en.attributes.getInt("count_include_pad",0);return(0,eo.createAttributeWithCacheKey)({autoPad:"",ceilMode:0,countIncludePad:er,kernelShape:[],strides:[],pads:[]})},er.maxPool=(en,er,ei)=>{eh(er);let eo={name:"MaxPool",inputNames:["X"],inputTypes:[es.TextureType.unpacked],cacheHint:ei.cacheKey};return[en.run(Object.assign(Object.assign({},eo),{get:()=>ec(er,eo,!1,ei)}),er)]},er.parseMaxPoolAttributes=en=>{let er=en.attributes.getString("auto_pad","NOTSET"),ei=en.attributes.getInt("ceil_mode",0),ea=en.attributes.getInts("kernel_shape"),es=en.attributes.getInts("strides",[]),eu=en.attributes.getInts("pads",[]),ec=en.attributes.getInt("storage_order",0),ef=en.attributes.getInts("dilations",[]);if(0!==ec)throw Error("column major storage order is not yet supported for MaxPool");if(0!==ei)throw Error("using ceil() in shape computation is not yet supported for MaxPool");return(0,eo.createAttributeWithCacheKey)({autoPad:er,ceilMode:ei,countIncludePad:!1,kernelShape:ea,strides:es,pads:eu,storageOrder:ec,dilations:ef})};let ec=(en,er,ei,eo)=>{let[ea,eu]=ef(en,eo,ei),ec=`
|
|
1088
|
+
${ep(en[0].dims,ea,"\n value = max(_X(x), value);\n ","","-1e5")}
|
|
1089
|
+
`;return Object.assign(Object.assign({},er),{output:{dims:eu,type:en[0].type,textureType:es.TextureType.unpacked},shaderSource:ec})},ef=(en,er,ei)=>{let eo=en[0].dims.slice(),es=Object.hasOwnProperty.call(er,"dilations"),eu=er.kernelShape.slice(),ec=er.strides.slice(),ef=es?er.dilations.slice():[],eA=er.pads.slice();ea.PoolConvUtil.adjustPoolAttributes(ei,eo,eu,ec,ef,eA);let ed=ea.PoolConvUtil.computePoolOutputShape(ei,eo,ec,ef,eu,eA,er.autoPad),eh=Object.assign({},er);return es?Object.assign(eh,{kernelShape:eu,strides:ec,pads:eA,dilations:ef,cacheKey:er.cacheKey}):Object.assign(eh,{kernelShape:eu,strides:ec,pads:eA,cacheKey:er.cacheKey}),[eh,ed]},eA={autoPad:"",ceilMode:0,countIncludePad:!1,kernelShape:[],strides:[],pads:[],storageOrder:0,dilations:[],cacheKey:""},ed={name:"GlobalMaxPool",inputNames:["X"],inputTypes:[es.TextureType.unpacked]};er.globalMaxPool=(en,er)=>(eh(er),[en.run(Object.assign(Object.assign({},ed),{get:()=>ec(er,ed,!0,eA)}),er)]);let eh=en=>{if(!en||1!==en.length)throw Error("Pool ops requires 1 input.");if("float32"!==en[0].type&&"float64"!==en[0].type)throw Error("Invalid input type.")},ep=(en,er,ei,eo,es)=>{let eu=en.length;if(er.kernelShape.length<=2){let ea=er.kernelShape[er.kernelShape.length-1],ec=er.strides[er.strides.length-1],ef=er.pads[er.pads.length/2-1],eA=er.pads[er.pads.length-1],ed=en[eu-1],eh="",ep="",eg="";if(eh=ef+eA!==0?`
|
|
1090
|
+
for (int i = 0; i < ${ea}; i++) {
|
|
1091
|
+
x[${eu} - 1] = indices[${eu} - 1] * ${ec} - ${ef} + i;
|
|
1092
|
+
if (x[${eu} - 1] < 0 || x[${eu} - 1] >= ${ed}) {
|
|
1093
|
+
pad++;
|
|
1094
|
+
continue;
|
|
1095
|
+
}
|
|
1096
|
+
${ei}
|
|
1097
|
+
}`:`
|
|
1098
|
+
for (int i = 0; i < ${ea}; i++) {
|
|
1099
|
+
x[${eu} - 1] = indices[${eu} - 1] * ${ec} - ${ef} + i;
|
|
1100
|
+
${ei}
|
|
1101
|
+
}`,2===er.kernelShape.length){let ei=er.kernelShape[er.kernelShape.length-2],eo=er.strides[er.strides.length-2],es=er.pads[er.pads.length/2-2],ec=er.pads[er.pads.length-2],ef=en[eu-2];ep=es+ec!==0?`
|
|
1102
|
+
for (int j = 0; j < ${ei}; j++) {
|
|
1103
|
+
x[${eu} - 2] = indices[${eu} - 2] * ${eo} - ${es} + j;
|
|
1104
|
+
if (x[${eu} - 2] < 0 || x[${eu} - 2] >= ${ef}) {
|
|
1105
|
+
pad+= ${ea};
|
|
1106
|
+
continue;
|
|
1107
|
+
}
|
|
1108
|
+
`:`
|
|
1109
|
+
for (int j = 0; j < ${ei}; j++) {
|
|
1110
|
+
x[${eu} - 2] = indices[${eu} - 2] * ${eo} - ${es} + j;
|
|
1111
|
+
`,eg="\n }\n "}return`
|
|
1112
|
+
float process(int indices[${eu}]) {
|
|
1113
|
+
int x[${eu}];
|
|
1114
|
+
copyVec(indices, x);
|
|
1115
|
+
|
|
1116
|
+
float value = ${es};
|
|
1117
|
+
int pad = 0;
|
|
1118
|
+
${ep}
|
|
1119
|
+
${eh}
|
|
1120
|
+
${eg}
|
|
1121
|
+
${eo}
|
|
1122
|
+
return value;
|
|
1123
|
+
}
|
|
1124
|
+
`}{let ec=ea.ShapeUtil.size(er.kernelShape),ef=ea.ShapeUtil.computeStrides(er.kernelShape),eA=ef.length,ed=er.pads.length,eh=eb(eA),ep=eg(en,"inputDims"),em=eg(er.pads,"pads"),ey=eg(ef,"kernelStrides"),ev=eg(er.strides,"strides"),eI="";return`
|
|
1125
|
+
${eh}
|
|
1126
|
+
float process(int indices[${eu}]) {
|
|
1127
|
+
int x[${eu}];
|
|
1128
|
+
copyVec(indices, x);
|
|
1129
|
+
int offset[${eA}];
|
|
1130
|
+
int pads[${ed}];
|
|
1131
|
+
int inputDims[${eu}];
|
|
1132
|
+
int kernelStrides[${eA}];
|
|
1133
|
+
int strides[${eA}];
|
|
1134
|
+
${em}
|
|
1135
|
+
${ep}
|
|
1136
|
+
${ev}
|
|
1137
|
+
${ey}
|
|
1138
|
+
|
|
1139
|
+
float value = ${es};
|
|
1140
|
+
int pad = 0;
|
|
1141
|
+
bool isPad = false;
|
|
1142
|
+
for (int i = 0; i < ${ec}; i++) {
|
|
1143
|
+
offsetToIndices(i, kernelStrides, offset);
|
|
1144
|
+
isPad = false;
|
|
1145
|
+
for (int j = ${eu} - ${eA}; j < ${eu}; j++) {
|
|
1146
|
+
x[j] = indices[j] * strides[j - ${eu} + ${eA}]
|
|
1147
|
+
+ offset[j - ${eu} + ${eA}] - pads[j - 2];
|
|
1148
|
+
${eI=er.pads.reduce((en,er)=>en+er)?`
|
|
1149
|
+
if (x[j] >= inputDims[j] || x[j] < 0) {
|
|
1150
|
+
pad++;
|
|
1151
|
+
isPad = true;
|
|
1152
|
+
break;
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
if (!isPad) {
|
|
1156
|
+
${ei}
|
|
1157
|
+
}`:`
|
|
1158
|
+
}
|
|
1159
|
+
${ei}
|
|
1160
|
+
`}
|
|
1161
|
+
}
|
|
1162
|
+
${eo}
|
|
1163
|
+
|
|
1164
|
+
return value;
|
|
1165
|
+
}
|
|
1166
|
+
`}},eg=(en,er)=>{let ei="";for(let eo=0;eo<en.length;eo++)ei+=`
|
|
1167
|
+
${er}[${eo}] = ${en[eo]};
|
|
1168
|
+
`;return ei},eb=en=>`
|
|
1169
|
+
void offsetToIndices(int offset, int[${en}] strides, out int[${en}] indices) {
|
|
1170
|
+
if (${en} == 0) {
|
|
1171
|
+
return;
|
|
1172
|
+
}
|
|
1173
|
+
for (int i = 0; i < ${en} - 1; ++i) {
|
|
1174
|
+
indices[i] = offset / strides[i];
|
|
1175
|
+
offset -= indices[i] * strides[i];
|
|
1176
|
+
}
|
|
1177
|
+
indices[${en} - 1] = offset;
|
|
1178
|
+
}`},4939:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.reduceLogSumSquare=er.reduceLogSum=er.reduceProd=er.reduceMin=er.reduceMax=er.reduceMean=er.reduceSum=er.parseReduceAttributes=void 0;let eo=ei(246),ea=ei(782),es=ei(2517),eu=ei(2039),ec=(en,er,ei,eo,ea)=>{eA(er);let es={name:eo,inputNames:["A"],inputTypes:[eu.TextureType.unpacked]};return[en.run(Object.assign(Object.assign({},es),{cacheHint:ei.cacheKey,get:()=>ef(en,er,ei,eo,ea,es)}),er)]};er.parseReduceAttributes=en=>{let er=en.attributes.getInts("axes",[]),ei=1===en.attributes.getInt("keepdims",1);return(0,eo.createAttributeWithCacheKey)({axes:er,keepDims:ei})};let ef=(en,er,ei,eo,ea,ec)=>{let ef=[],eA=er[0].dims.length||1,ed=[],eh=es.ShapeUtil.normalizeAxes(ei.axes,er[0].dims.length),ep=ea(er,eh),eg=ep[1];for(let en=0;en<er[0].dims.length;en++)eh.indexOf(en)>=0||0===eh.length?(ei.keepDims&&ef.push(1),eg=`
|
|
1179
|
+
for(int j${en} = 0; j${en} < ${er[0].dims[en]}; j${en}++) {
|
|
1180
|
+
inputIdx[${en}] = j${en};
|
|
1181
|
+
${eg}
|
|
1182
|
+
}`):(ed.push(`inputIdx[${en}] = outputIdx[${ef.length}];`),ef.push(er[0].dims[en]));let eb=`
|
|
1183
|
+
float process(int outputIdx[${ef.length||1}]) {
|
|
1184
|
+
float value; // final result
|
|
1185
|
+
int inputIdx[${eA}]; // addressing input data
|
|
1186
|
+
${ed.join("\n")}
|
|
1187
|
+
${ep[0]} // init ops for reduce max/min
|
|
1188
|
+
${eg}
|
|
1189
|
+
${ep[2]} // final computation for reduce mean
|
|
1190
|
+
return value;
|
|
1191
|
+
}`;return Object.assign(Object.assign({},ec),{output:{dims:ef,type:er[0].type,textureType:eu.TextureType.unpacked},shaderSource:eb})},eA=en=>{if(!en||1!==en.length)throw Error("Reduce op requires 1 input.");if(-1===ea.NUMBER_TYPES.indexOf(en[0].type))throw Error("Invalid input type.")};er.reduceSum=(en,er,ei)=>ec(en,er,ei,"ReduceSum",()=>["value = 0.0;","value += _A(inputIdx);",""]),er.reduceMean=(en,er,ei)=>ec(en,er,ei,"ReduceMean",(en,er)=>{let ei=1;for(let eo=0;eo<en[0].dims.length;eo++)(er.indexOf(eo)>=0||0===er.length)&&(ei*=en[0].dims[eo]);return["value = 0.0;","value += _A(inputIdx);",`value /= ${ei}.;`]}),er.reduceMax=(en,er,ei)=>ec(en,er,ei,"ReduceMax",(en,er)=>{let ei=[];for(let eo=0;eo<en[0].dims.length;eo++)(er.indexOf(eo)>=0||0===er.length)&&ei.push(`inputIdx[${eo}] = 0;`);return[`${ei.join("\n")}
|
|
1192
|
+
value = _A(inputIdx);`,"value = max(value, _A(inputIdx));",""]}),er.reduceMin=(en,er,ei)=>ec(en,er,ei,"ReduceMin",(en,er)=>{let ei=[];for(let eo=0;eo<en[0].dims.length;eo++)(er.indexOf(eo)>=0||0===er.length)&&ei.push(`inputIdx[${eo}] = 0;`);return[`${ei.join("\n")}
|
|
1193
|
+
value = _A(inputIdx);`,"value = min(value, _A(inputIdx));",""]}),er.reduceProd=(en,er,ei)=>ec(en,er,ei,"ReduceProd",()=>["value = 1.0;","value *= _A(inputIdx);",""]),er.reduceLogSum=(en,er,ei)=>ec(en,er,ei,"ReduceLogSum",()=>["value = 0.0;","value += _A(inputIdx);","value = log(value);"]),er.reduceLogSumSquare=(en,er,ei)=>ec(en,er,ei,"ReduceLogSumSquare",()=>["float t; value = 0.0;","t = _A(inputIdx); value += t * t;",""])},7019:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.isReshapeCheap=er.processDims3D=er.createPackedReshape3DProgramInfoLoader=void 0;let eo=ei(2517),ea=ei(5060),es=ei(2039),eu=ei(2827);er.createPackedReshape3DProgramInfoLoader=(en,er,ei)=>{var ec;let ef=(ec=ei,{name:"Reshape (packed)",inputTypes:[es.TextureType.packed],inputNames:["A"],cacheHint:`${ec}`});return Object.assign(Object.assign({},ef),{get:()=>((en,er,ei,ec)=>{let ef=er.dims,eA=ec,ed="";for(let en=0;en<4;en++){let er="";switch(en){case 0:er="outputCoords = rc;";break;case 1:er="outputCoords = ivec3(rc.x, rc.y+1, rc.z);";break;case 2:er="outputCoords = ivec3(rc.x, rc.y, rc.z+1);";break;case 3:er="outputCoords = ivec3(rc.x, rc.y+1, rc.z+1);";break;default:throw Error()}ed+=`
|
|
1194
|
+
${er}
|
|
1195
|
+
${en>0?"if(outputCoords.y < rows && outputCoords.z < cols){":""}
|
|
1196
|
+
int flattenedIndex = getFlattenedIndex(outputCoords);
|
|
1197
|
+
|
|
1198
|
+
ivec3 inputRC = inputCoordsFromReshapedOutCoords(flattenedIndex);
|
|
1199
|
+
vec2 innerDims = vec2(float(inputRC.y),float(inputRC.z));
|
|
1200
|
+
|
|
1201
|
+
result[${en}] = getChannel(getA(inputRC.x, inputRC.y, inputRC.z), innerDims);
|
|
1202
|
+
|
|
1203
|
+
${en>0?"}":""}
|
|
1204
|
+
`}let eh=(0,ea.getGlsl)(en.session.backend.glContext.version),ep=`
|
|
1205
|
+
${function(en){let er=eo.ShapeUtil.computeStrides(en),ei=["b","r","c"],ea="index";return`
|
|
1206
|
+
ivec3 inputCoordsFromReshapedOutCoords(int index) {
|
|
1207
|
+
${er.map((en,eo)=>`int ${ei[eo]} = ${ea} / ${en}; ${eo===er.length-1?`int ${ei[eo+1]} = ${ea} - ${ei[eo]} * ${en}`:`index -= ${ei[eo]} * ${en}`};`).join("")}
|
|
1208
|
+
return ivec3(b, r, c);
|
|
1209
|
+
}
|
|
1210
|
+
`}(ef)}
|
|
1211
|
+
${function(en){let er=eo.ShapeUtil.computeStrides(en);return`
|
|
1212
|
+
int getFlattenedIndex(ivec3 coords) {
|
|
1213
|
+
// reverse y, z order
|
|
1214
|
+
return coords.x * ${er[0]} + coords.z * ${er[1]} + coords.y;
|
|
1215
|
+
}
|
|
1216
|
+
`}(eA)}
|
|
1217
|
+
${(0,eu.unpackFromChannel)()}
|
|
1218
|
+
|
|
1219
|
+
void main() {
|
|
1220
|
+
ivec3 rc = getOutputCoords();
|
|
1221
|
+
|
|
1222
|
+
vec4 result = vec4(0.0);
|
|
1223
|
+
|
|
1224
|
+
ivec3 outputCoords;
|
|
1225
|
+
int rows = ${eA[2]};
|
|
1226
|
+
int cols = ${eA[1]};
|
|
1227
|
+
|
|
1228
|
+
${ed}
|
|
1229
|
+
${eh.output} = result;
|
|
1230
|
+
}
|
|
1231
|
+
`;return Object.assign(Object.assign({},ei),{output:{dims:eA,type:er.type,textureType:es.TextureType.packed},shaderSource:ep,hasMain:!0})})(en,er,ef,ei)})},er.processDims3D=function(en){if(0===en.length)return[1,1,1];let er=1;for(let ei=0;ei<en.length-2;++ei)er*=en[ei];return[er,en.length>1?en[en.length-2]:1,en[en.length-1]]},er.isReshapeCheap=function(en,er){return 0===en.length||0===er.length||(en.length<2||er.length<2?en[en.length-1]===er[er.length-1]:en[en.length-1]===er[er.length-1]&&en[en.length-2]===er[er.length-2])}},718:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.reshape=void 0;let eo=ei(2517);er.reshape=(en,er)=>{let ei=eo.ShapeUtil.calculateReshapedDims(er[0].dims,er[1].integerData);return en.session.pack?[en.reshapePacked(er[0],ei)]:[en.reshapeUnpacked(er[0],ei)]}},2268:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseResizeAttributesV11=er.parseResizeAttributesV10=er.resize=void 0;let eo=ei(5060),ea=ei(2039),es=ei(9390),eu=ei(2827),ec=ei(9793),ef={name:"Resize",inputNames:["A"],inputTypes:[ea.TextureType.packed]};er.resize=(en,er,ei)=>((0,ec.validateInputs)(er,ei),[en.run(Object.assign(Object.assign({},ef),{cacheHint:ei.cacheKey,get:()=>eA(en,er,ei)}),er)]),er.parseResizeAttributesV10=en=>(0,ec.parseUpsampleAttributes)(en,10),er.parseResizeAttributesV11=en=>(0,ec.parseUpsampleAttributes)(en,11);let eA=(en,er,ei)=>{let ec=(0,eo.getGlsl)(en.session.backend.glContext.version),[eA,eh]=ed(er,ei);if(eA.every(en=>1===en)&&"tf_crop_and_resize"!==ei.coordinateTransformMode)return Object.assign(Object.assign({},ef),{output:{dims:eh,type:er[0].type,textureType:ea.TextureType.packed},hasMain:!0,shaderSource:`void main() {
|
|
1232
|
+
vec4 v = ${ec.texture2D}(X, TexCoords);
|
|
1233
|
+
${ec.output} = v;
|
|
1234
|
+
}`});let ep=eh.length;if(ep<2)throw Error(`output dimension should be at least 2, but got ${ep}`);let eg=eh[ep-2],eb=eh[ep-1],em=er[0].dims;if(ep!==em.length)throw Error(`output dimension should match input ${em.length}, but got ${ep}`);let ey=em[ep-2],ev=em[ep-1],eI=eA[ep-2],ew=eA[ep-1],eE="";if("linear"!==ei.mode)throw Error(`resize (packed) does not support mode: '${ei.mode}'`);switch(ei.coordinateTransformMode){case"asymmetric":eE="\n vec4 getSourceFracIndex(ivec4 coords) {\n return vec4(coords) / scaleWHWH;\n }\n ";break;case"half_pixel":eE="\n vec4 getSourceFracIndex(ivec4 coords) {\n return (vec4(coords) + 0.5) / scaleWHWH - 0.5;\n }\n ";break;case"pytorch_half_pixel":eE=`
|
|
1235
|
+
vec4 getSourceFracIndex(ivec4 coords) {
|
|
1236
|
+
vec4 fcoords = vec4(coords);
|
|
1237
|
+
return vec4(
|
|
1238
|
+
${eb}.0 > 1.0 ? (fcoords.x + 0.5) / scaleWHWH.x - 0.5 : 0.0,
|
|
1239
|
+
${eg}.0 > 1.0 ? (fcoords.y + 0.5) / scaleWHWH.y - 0.5 : 0.0,
|
|
1240
|
+
${eb}.0 > 1.0 ? (fcoords.z + 0.5) / scaleWHWH.z - 0.5 : 0.0,
|
|
1241
|
+
${eg}.0 > 1.0 ? (fcoords.w + 0.5) / scaleWHWH.w - 0.5 : 0.0
|
|
1242
|
+
);
|
|
1243
|
+
}
|
|
1244
|
+
`;break;case"align_corners":eE=`
|
|
1245
|
+
vec4 getSourceFracIndex(ivec4 coords) {
|
|
1246
|
+
vec4 resized = vec4(${eb}.0 - 1.0, ${eg}.0 - 1.0, ${eb}.0 - 1.0,
|
|
1247
|
+
${eg}.0 - 1.0);
|
|
1248
|
+
vec4 original = vec4(${ev}.0 - 1.0, ${ey}.0 - 1.0, ${ev}.0 - 1.0,
|
|
1249
|
+
${ey}.0 - 1.0);
|
|
1250
|
+
vec4 new_scale = original / resized;
|
|
1251
|
+
return vec4(coords) * new_scale;
|
|
1252
|
+
}
|
|
1253
|
+
`;break;default:throw Error(`resize (packed) does not support coordinateTransformMode: '${ei.coordinateTransformMode}'`)}let eC=(0,es.getCoordsDataType)(ep),eT=`
|
|
1254
|
+
const vec2 inputWH = vec2(${ey}.0, ${ev}.0);
|
|
1255
|
+
const vec4 scaleWHWH = vec4(float(${eI}), float(${ew}), float(${eI}), float(${ew}));
|
|
1256
|
+
${(0,eu.unpackFromChannel)()}
|
|
1257
|
+
${eE}
|
|
1258
|
+
float getAValue(int x10, int r, int c, int d) {
|
|
1259
|
+
return getChannel(getA(x10, r, c, d), vec2(c, d));
|
|
1260
|
+
}
|
|
1261
|
+
void main() {
|
|
1262
|
+
${eC} rc = getOutputCoords();
|
|
1263
|
+
|
|
1264
|
+
int batch = rc[0];
|
|
1265
|
+
int depth = rc[1];
|
|
1266
|
+
|
|
1267
|
+
// retrieve the 4 coordinates that is used in the 4 packed output values.
|
|
1268
|
+
ivec4 coords = ivec4(rc.wz, rc.w + 1, rc.z + 1);
|
|
1269
|
+
|
|
1270
|
+
// calculate the source index in fraction
|
|
1271
|
+
vec4 sourceFrac = getSourceFracIndex(coords);
|
|
1272
|
+
|
|
1273
|
+
// get the lower and upper bound of the 4 values that will be packed into one texel.
|
|
1274
|
+
ivec4 x00 = ivec4(max(sourceFrac.xy, vec2(0.0)), min(inputWH - 1.0, ceil(sourceFrac.xy)));
|
|
1275
|
+
ivec4 x01 = ivec4(max(sourceFrac.xw, vec2(0.0)), min(inputWH - 1.0, ceil(sourceFrac.xw)));
|
|
1276
|
+
ivec4 x10 = ivec4(max(sourceFrac.zy, vec2(0.0)), min(inputWH - 1.0, ceil(sourceFrac.zy)));
|
|
1277
|
+
ivec4 x11 = ivec4(max(sourceFrac.zw, vec2(0.0)), min(inputWH - 1.0, ceil(sourceFrac.zw)));
|
|
1278
|
+
|
|
1279
|
+
bool hasNextRow = rc.w < ${eg-1};
|
|
1280
|
+
bool hasNextCol = rc.z < ${eb-1};
|
|
1281
|
+
|
|
1282
|
+
// pack x00, x01, x10, x11's top-left corner into one vec4 structure
|
|
1283
|
+
vec4 topLeft = vec4(
|
|
1284
|
+
getAValue(batch, depth, x00.x, x00.y),
|
|
1285
|
+
hasNextCol ? getAValue(batch, depth, x01.x, x01.y) : 0.0,
|
|
1286
|
+
hasNextRow ? getAValue(batch, depth, x10.x, x10.y) : 0.0,
|
|
1287
|
+
(hasNextRow && hasNextCol) ? getAValue(batch, depth, x11.x, x11.y) : 0.0);
|
|
1288
|
+
|
|
1289
|
+
// pack x00, x01, x10, x11's top-right corner into one vec4 structure
|
|
1290
|
+
vec4 topRight = vec4(
|
|
1291
|
+
getAValue(batch, depth, x00.x, x00.w),
|
|
1292
|
+
hasNextCol ? getAValue(batch, depth, x01.x, x01.w) : 0.0,
|
|
1293
|
+
hasNextRow ? getAValue(batch, depth, x10.x, x10.w) : 0.0,
|
|
1294
|
+
(hasNextRow && hasNextCol) ? getAValue(batch, depth, x11.x, x11.w) : 0.0);
|
|
1295
|
+
|
|
1296
|
+
// pack x00, x01, x10, x11's bottom-left corner into one vec4 structure
|
|
1297
|
+
vec4 bottomLeft = vec4(
|
|
1298
|
+
getAValue(batch, depth, x00.z, x00.y),
|
|
1299
|
+
hasNextCol ? getAValue(batch, depth, x01.z, x01.y) : 0.0,
|
|
1300
|
+
hasNextRow ? getAValue(batch, depth, x10.z, x10.y) : 0.0,
|
|
1301
|
+
(hasNextRow && hasNextCol) ? getAValue(batch, depth, x11.z, x11.y) : 0.0);
|
|
1302
|
+
|
|
1303
|
+
// pack x00, x01, x10, x11's bottom-right corner into one vec4 structure
|
|
1304
|
+
vec4 bottomRight = vec4(
|
|
1305
|
+
getAValue(batch, depth, x00.z, x00.w),
|
|
1306
|
+
hasNextCol ? getAValue(batch, depth, x01.z, x01.w) : 0.0,
|
|
1307
|
+
hasNextRow ? getAValue(batch, depth, x10.z, x10.w) : 0.0,
|
|
1308
|
+
(hasNextRow && hasNextCol) ? getAValue(batch, depth, x11.z, x11.w) : 0.0);
|
|
1309
|
+
|
|
1310
|
+
// calculate the interpolation fraction on u and v direction
|
|
1311
|
+
vec4 frac = vec4(sourceFrac) - floor(sourceFrac);
|
|
1312
|
+
vec4 clampFrac = clamp(frac, vec4(0.0), vec4(1.0));
|
|
1313
|
+
|
|
1314
|
+
vec4 top = mix(topLeft, topRight, clampFrac.ywyw);
|
|
1315
|
+
vec4 bottom = mix(bottomLeft, bottomRight, clampFrac.ywyw);
|
|
1316
|
+
vec4 newValue = mix(top, bottom, clampFrac.xxzz);
|
|
1317
|
+
|
|
1318
|
+
${ec.output} = vec4(newValue);
|
|
1319
|
+
}
|
|
1320
|
+
`;return Object.assign(Object.assign({},ef),{output:{dims:eh,type:er[0].type,textureType:ea.TextureType.packed},hasMain:!0,shaderSource:eT})},ed=(en,er)=>{let ei=en[0].dims,eo,ea=er.scales;if(0===ea.length){let es=en[er.scalesInputIdx];if(es&&0!==es.size){if(en[er.sizesInputIdx])throw Error("Only one of scales or sizes must be provided as input.");ea=eh(es,er.mode,er.isResize)}else{let es=en[er.sizesInputIdx];if(!es||0===es.size)throw Error("Either scales or sizes MUST be provided as input.");ea=ep(eo=Array.from(es.integerData),ei,er.mode,er.isResize)}}else if(en[er.sizesInputIdx])throw Error("Only one of scales or sizes must be provided as input.");let es=eo||ei.map((en,er)=>Math.floor(en*ea[er]));return[ea,es]},eh=(en,er,ei)=>{let eo=Array.from(en.floatData);return(0,ec.scalesValidation)(eo,er,ei),eo},ep=(en,er,ei,eo)=>{let ea=er.length,es=Array(ea);for(let ei=0,eo=ea;ei<eo;ei++)if(0===er[ei]){if(0!==en[ei])throw Error("Input dim is zero but required output dim is non-zero.");es[ei]=1}else es[ei]=en[ei]/er[ei];return(0,ec.scalesValidation)(es,ei,eo),es}},8117:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.shape=void 0;let eo=ei(9162);er.shape=(en,er)=>(ea(er),[new eo.Tensor([er[0].dims.length],"int32",void 0,void 0,new Int32Array(er[0].dims))]);let ea=en=>{if(!en||1!==en.length)throw Error("Shape requires 1 input.")}},2278:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.sliceV10=er.parseSliceAttributes=er.slice=void 0;let eo=ei(246),ea=ei(782),es=ei(2517),eu=ei(2039),ec={name:"Slice",inputNames:["A"],inputTypes:[eu.TextureType.unpacked]};er.slice=(en,er,ei)=>(eA(er),[en.run(Object.assign(Object.assign({},ec),{cacheHint:ei.cacheKey,get:()=>ef(en,er[0],ei)}),er)]),er.parseSliceAttributes=en=>{let er=en.attributes.getInts("starts"),ei=en.attributes.getInts("ends"),ea=en.attributes.getInts("axes",[]);return(0,eo.createAttributeWithCacheKey)({starts:er,ends:ei,axes:ea})};let ef=(en,er,ei)=>{let eo=0===ei.axes.length?er.dims.slice(0).map((en,er)=>er):ei.axes,ea=es.ShapeUtil.normalizeAxes(eo,er.dims.length),ef=ei.starts.map((en,ei)=>en>er.dims[ea[ei]]-1?er.dims[ea[ei]]:es.ShapeUtil.normalizeAxis(en,er.dims[ea[ei]])),eA=ei.ends.map((en,ei)=>en>er.dims[ea[ei]]-1?er.dims[ea[ei]]:es.ShapeUtil.normalizeAxis(en,er.dims[ea[ei]])),ed=er.dims.slice(),eh=[];for(let en=0;en<ea.length;en++)ed[ea[en]]=eA[en]-ef[en],ef[en]>0&&eh.push(`outputIdx[${ea[en]}] += ${ef[en]};`);let ep=`
|
|
1321
|
+
float process(int outputIdx[${ed.length}]) {
|
|
1322
|
+
${eh.join("\n ")}
|
|
1323
|
+
return _A(outputIdx);
|
|
1324
|
+
}`;return Object.assign(Object.assign({},ec),{output:{dims:ed,type:er.type,textureType:eu.TextureType.unpacked},shaderSource:ep})},eA=en=>{if(!en||1!==en.length)throw Error("Slice requires 1 input.");if(-1===ea.NUMBER_TYPES.indexOf(en[0].type))throw Error("Invalid input type.")};er.sliceV10=(en,er)=>{eh(er);let ei=ed(en,er);return[en.run(Object.assign(Object.assign({},ec),{cacheHint:ei.cacheKey,get:()=>ef(en,er[0],ei)}),[er[0]])]};let ed=(en,er)=>{if(!en.session.isInitializer(er[1].dataId)||!en.session.isInitializer(er[2].dataId)||er.length>=4&&!en.session.isInitializer(er[3].dataId)||er.length>=5&&!en.session.isInitializer(er[4].dataId))throw Error("dynamic slice attributes are not allowed");if(er.length>=5&&er[4].integerData.some(en=>1!==en))throw Error("currently non-1 steps is not supported for Slice");let ei=Array.from(er[1].integerData),eo=Array.from(er[2].integerData),ea=er.length>=4?Array.from(er[3].integerData):[];return{starts:ei,ends:eo,axes:ea,cacheKey:`${ea};${ei};${eo}`}},eh=en=>{if(!en||en.length<3||en.length>5)throw Error("Invalid input number.");if("int32"!==en[1].type||1!==en[1].dims.length||"int32"!==en[2].type||1!==en[2].dims.length||en.length>=4&&("int32"!==en[3].type||1!==en[3].dims.length)||en.length>=5&&("int32"!==en[4].type||1!==en[4].dims.length))throw Error("Invalid input type.")}},5524:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.softmaxV13=er.parseSoftmaxAttributesV13=er.parseSoftmaxAttributes=er.softmax=void 0;let eo=ei(246),ea=ei(2517),es=ei(5060),eu=ei(2039),ec=ei(3738),ef={name:"SoftmaxComputeMax",inputNames:["A"],inputTypes:[eu.TextureType.unpacked]},eA={name:"SoftmaxComputeScale",inputNames:["A","Max"],inputTypes:[eu.TextureType.unpacked,eu.TextureType.unpacked]},ed={name:"SoftMax",inputNames:["A","Max","Norm"],inputTypes:[eu.TextureType.unpacked,eu.TextureType.unpacked,eu.TextureType.unpacked]};er.softmax=(en,er,ei)=>{em(er);let eo=er[0].dims.slice(),es=ea.ShapeUtil.normalizeAxis(ei.axis,eo.length),eu=ea.ShapeUtil.sizeToDimension(eo,es),ec=ea.ShapeUtil.sizeFromDimension(eo,es);return eh(en,er,ei,eu,ec)},er.parseSoftmaxAttributes=en=>(0,eo.createAttributeWithCacheKey)({axis:en.attributes.getInt("axis",1)}),er.parseSoftmaxAttributesV13=en=>(0,eo.createAttributeWithCacheKey)({axis:en.attributes.getInt("axis",-1)}),er.softmaxV13=(en,er,ei)=>{em(er);let es=er[0].dims.slice(),eu=ea.ShapeUtil.normalizeAxis(ei.axis,es.length),ef=es.length,eA=eu!==ef-1,ed=[],ep,eg=[],eb=[];eA&&((eg=Array.from({length:ef}).map((en,er)=>er))[eu]=ef-1,eg[ef-1]=eu,eg.map(en=>ed.push(es[en])),ep=(0,eo.createAttributeWithCacheKey)({perm:eg}),eb=(0,ec.transpose)(en,er,ep));let ey=eA?ea.ShapeUtil.sizeToDimension(ed,ef-1):ea.ShapeUtil.sizeToDimension(es,ef-1),ev=eA?ea.ShapeUtil.sizeFromDimension(ed,ef-1):ea.ShapeUtil.sizeFromDimension(es,ef-1),eI=eh(en,eA?eb:er,ei,ey,ev);return eA?(0,ec.transpose)(en,eI,ep):eI};let eh=(en,er,ei,eo,ea)=>{let es=ep(en,er[0],eo,ea,[eo]),eu=en.run(Object.assign(Object.assign({},ef),{cacheHint:ei.cacheKey,get:()=>es}),er),ec=eg(en,er[0],eo,ea,es.output.dims,[eo]),eh=en.run(Object.assign(Object.assign({},eA),{cacheHint:ei.cacheKey,get:()=>ec}),[er[0],eu]),em=eb(en,er[0],eo,ea,es.output.dims,ec.output.dims);return[en.run(Object.assign(Object.assign({},ed),{cacheHint:ei.cacheKey,get:()=>em}),[er[0],eu,eh])]},ep=(en,er,ei,eo,ea)=>{let[ec,eA]=en.calculateTextureWidthAndHeight(er.dims,eu.TextureType.unpacked),ed=ea.length;if(ei<1||eo<1)throw Error("Logical row count N and feature count D must be greater than or equal to 1");if(1!==ea.length)throw Error("Dimensionality of the output should be 1");if(ea[0]!==ei)throw Error("Shape of the output should be equal to logical row count");let eh=(0,es.getGlsl)(en.session.backend.glContext.version),ep=`
|
|
1325
|
+
float process(int[${ed}] indices) {
|
|
1326
|
+
int logical_row_start_offset = indices[0] * ${eo};
|
|
1327
|
+
|
|
1328
|
+
float max = getColorAsFloat(${eh.texture2D}(A, offsetToCoords(logical_row_start_offset, ${ec},
|
|
1329
|
+
${eA} )));
|
|
1330
|
+
for(int i=1; i<${eo}; ++i)
|
|
1331
|
+
{
|
|
1332
|
+
float current = getColorAsFloat(${eh.texture2D}(A, offsetToCoords(logical_row_start_offset + i,
|
|
1333
|
+
${ec}, ${eA})));
|
|
1334
|
+
if(current > max)
|
|
1335
|
+
max = current;
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
return max;
|
|
1339
|
+
}`;return Object.assign(Object.assign({},ef),{output:{dims:ea,type:er.type,textureType:eu.TextureType.unpacked},shaderSource:ep})},eg=(en,er,ei,eo,ea,ec)=>{let[ef,ed]=en.calculateTextureWidthAndHeight(er.dims,eu.TextureType.unpacked),eh=ec.length;if(ei<1||eo<1)throw Error("Logical row count N and feature count D must be greater than or equal to 1");if(1!==ec.length)throw Error("Dimensionality of the output should be 1");if(ec[0]!==ei)throw Error("Shape of the output should be equal to logical row count");if(1!==ea.length)throw Error("Dimensionality of the intermediate results should be 1");if(ea[0]!==ei)throw Error("Shape of the intermediate results should be equal to logical row count");let ep=`
|
|
1340
|
+
float process(int[${eh}] indices) {
|
|
1341
|
+
int logical_row_start_offset = indices[0] * ${eo};
|
|
1342
|
+
|
|
1343
|
+
float norm_factor = 0.0;
|
|
1344
|
+
float max = _Max(indices);
|
|
1345
|
+
for(int i=0; i<${eo}; ++i)
|
|
1346
|
+
{
|
|
1347
|
+
norm_factor += exp(getColorAsFloat(${(0,es.getGlsl)(en.session.backend.glContext.version).texture2D}(A, offsetToCoords(logical_row_start_offset + i,
|
|
1348
|
+
${ef}, ${ed}))) - max);
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
return norm_factor;
|
|
1352
|
+
}`;return Object.assign(Object.assign({},eA),{output:{dims:ec,type:er.type,textureType:eu.TextureType.unpacked},shaderSource:ep})},eb=(en,er,ei,eo,ea,es)=>{let[ec,ef]=en.calculateTextureWidthAndHeight(er.dims,eu.TextureType.unpacked),eA=er.dims.length;if(ei<1||eo<1)throw Error("Logical row count N and feature count D must be greater than or equal to 1");if(1!==ea.length||1!==es.length)throw Error("Dimensionality of the intermediate results should be 1");if(ea[0]!==ei||es[0]!==ei)throw Error("Shape of the intermediate results should be equal to logical row count");let eh=`
|
|
1353
|
+
float process(int[${eA}] indices) {
|
|
1354
|
+
|
|
1355
|
+
// get offset of current logical tensor index from the 2-D texture coordinates (TexCoords)
|
|
1356
|
+
int offset = coordsToOffset(TexCoords, ${ec}, ${ef});
|
|
1357
|
+
|
|
1358
|
+
//determine the logical row for this index
|
|
1359
|
+
int logical_row_index[1];
|
|
1360
|
+
logical_row_index[0] = offset / ${eo};
|
|
1361
|
+
|
|
1362
|
+
float norm_factor = _Norm(logical_row_index);
|
|
1363
|
+
|
|
1364
|
+
// avoid possible division by 0
|
|
1365
|
+
// if norm_facor is 0, all elements are zero
|
|
1366
|
+
// if so, return 0
|
|
1367
|
+
if(norm_factor == 0.0)
|
|
1368
|
+
return 0.0;
|
|
1369
|
+
|
|
1370
|
+
return exp(_A(indices) - _Max(logical_row_index)) / norm_factor;
|
|
1371
|
+
}`;return Object.assign(Object.assign({},ed),{output:{dims:er.dims,type:er.type,textureType:eu.TextureType.unpacked},shaderSource:eh})},em=en=>{if(!en||1!==en.length)throw Error("Softmax requires 1 input.");if("float32"!==en[0].type&&"float64"!==en[0].type)throw Error("Invalid input type")}},5975:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseSplitAttributes=er.split=void 0;let eo=ei(246),ea=ei(2517),es=ei(2039),eu={name:"Split",inputNames:["A"],inputTypes:[es.TextureType.unpacked]};er.split=(en,er,ei)=>{eA(er);let eo=ea.ShapeUtil.normalizeAxis(ei.axis,er[0].dims.length),es=ec(en,er,eo,ei),ed=[];for(let ea=0;ea<es;++ea)ed.push(en.run(Object.assign(Object.assign({},eu),{cacheHint:`${ei.cacheKey};${ea}`,get:()=>ef(en,er[0],ei,eo,ea)}),er));return ed},er.parseSplitAttributes=en=>{let er=en.attributes.getInt("axis",0),ei=en.attributes.getInts("split",[]),ea=en.outputs.length;return(0,eo.createAttributeWithCacheKey)({axis:er,split:ei,numOutputs:ea})};let ec=(en,er,ei,eo)=>{let[,es]=ea.SplitUtil.splitShape(er[0].dims,ei,eo.split,eo.numOutputs);return es.length},ef=(en,er,ei,eo,ec)=>{let[ef,eA]=ea.SplitUtil.splitShape(er.dims,eo,ei.split,ei.numOutputs),ed=eA[ec],eh=ef[ec],ep=`
|
|
1372
|
+
float process(int indices[${eh.length}]) {
|
|
1373
|
+
indices[${eo}] += ${ed};
|
|
1374
|
+
return _A(indices);
|
|
1375
|
+
}
|
|
1376
|
+
`;return Object.assign(Object.assign({},eu),{cacheHint:`${ei.cacheKey}:${ec}`,output:{dims:eh,type:er.type,textureType:es.TextureType.unpacked},shaderSource:ep})},eA=en=>{if(!en||1!==en.length)throw Error("Split requires one input.");if("int8"!==en[0].type&&"uint8"!==en[0].type&&"int16"!==en[0].type&&"uint16"!==en[0].type&&"int32"!==en[0].type&&"uint32"!==en[0].type&&"float32"!==en[0].type&&"float64"!==en[0].type&&"bool"!==en[0].type)throw Error("Invalid input type.")}},3933:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseSqueezeAttributes=er.squeezeV13=er.squeeze=void 0;let eo=ei(2517);er.squeeze=(en,er,ei)=>{ea(er);let es=eo.ShapeUtil.squeezeShape(er[0].dims,ei);return[en.reshapeUnpacked(er[0],es)]},er.squeezeV13=(en,ei)=>(es(ei),(0,er.squeeze)(en,[ei[0]],Array.from(ei[1].integerData))),er.parseSqueezeAttributes=en=>en.attributes.getInts("axes");let ea=en=>{if(!en||1!==en.length)throw Error("Squeeze requires 1 input.");if("string"===en[0].type)throw Error("invalid input tensor types.")},es=en=>{if(!en||2!==en.length)throw Error("Squeeze requires 2 inputs.");if("int32"!==en[1].type)throw Error("Invalid input type.")}},6558:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.sum=void 0;let eo=ei(5060),ea=ei(2039);er.sum=(en,er)=>{eu(er);let ei={name:"Sum",inputNames:er.map((en,er)=>`X${er}`),inputTypes:Array(er.length).fill(ea.TextureType.unpacked)};return[en.run(Object.assign(Object.assign({},ei),{get:()=>es(en,er,ei)}),er)]};let es=(en,er,ei)=>{let es=(0,eo.getGlsl)(en.session.backend.glContext.version),eu=er[0].dims.slice(),ec=`
|
|
1377
|
+
void main() {
|
|
1378
|
+
vec4 result = ${er.map((en,er)=>`${es.texture2D}(X${er},TexCoords)`).join(" + ")};
|
|
1379
|
+
${es.output} = result;
|
|
1380
|
+
}
|
|
1381
|
+
`;return Object.assign(Object.assign({},ei),{output:{dims:eu,type:er[0].type,textureType:ea.TextureType.unpacked},hasMain:!0,shaderSource:ec})},eu=en=>{if(!en||0===en.length)throw Error("Sum requires inputs.");let er=en[0].dims.length;for(let ei=1;ei<en.length;ei++){if(er!==en[ei].dims.length)throw Error("Input shapes are mismatched.");for(let eo=0;eo<er;eo++)if(en[0].dims[eo]!==en[ei].dims[eo])throw Error("Input shapes are not matched.")}if("float32"!==en[0].type&&"float64"!==en[0].type)throw Error("Invalid input type.");for(let er=1;er<en.length;er++)if(en[0].type!==en[er].type)throw Error("Input types are not matched.")}},5723:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.tile=void 0;let eo=ei(782),ea=ei(2039);er.tile=(en,er)=>{eu(er);let ei={name:"Tile",inputNames:["A"],inputTypes:[ea.TextureType.unpacked]};return[en.run(Object.assign(Object.assign({},ei),{get:()=>es(en,er,ei)}),er)]};let es=(en,er,ei)=>{let eo=er[0].dims.slice(),es=Array(eo.length),eu=[];for(let en=0;en<eo.length;en++)es[en]=eo[en]*er[1].numberData[en],eu.push(`inputIdx[${en}] = int(mod(float(outputIdx[${en}]), ${eo[en]}.));`);let ec=es.length,ef=`
|
|
1382
|
+
float process(int outputIdx[${ec}]) {
|
|
1383
|
+
int inputIdx[${ec}];
|
|
1384
|
+
${eu.join("\n")}
|
|
1385
|
+
return _A(inputIdx);
|
|
1386
|
+
}
|
|
1387
|
+
`;return Object.assign(Object.assign({},ei),{output:{dims:es,type:er[0].type,textureType:ea.TextureType.unpacked},shaderSource:ef})},eu=en=>{if(!en||2!==en.length)throw Error("Tile requires 2 input.");if(1!==en[1].dims.length)throw Error("The second input shape must 1 dimension.");if(en[1].dims[0]!==en[0].dims.length)throw Error("Invalid input shape.");if(-1===eo.NUMBER_TYPES.indexOf(en[0].type))throw Error("Invalid input type.");if("int32"!==en[1].type&&"int16"!==en[1].type)throw Error("Invalid repeat type.")}},3738:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseTransposeAttributes=er.transpose=void 0;let eo=ei(246),ea=ei(2517),es=ei(2039),eu={name:"Transpose",inputNames:["A"],inputTypes:[es.TextureType.unpacked]};er.transpose=(en,er,ei)=>(eh(er),[en.run(Object.assign(Object.assign({},eu),{cacheHint:ei.cacheKey,get:()=>ec(en,er[0],ei.perm)}),er)]),er.parseTransposeAttributes=en=>(0,eo.createAttributeWithCacheKey)({perm:en.attributes.getInts("perm",[])});let ec=(en,er,ei)=>{let eo=er.dims;ei=ef(eo,ei);let ea=eA(eo,ei),ec=eo.length,eh=`
|
|
1388
|
+
${ed("perm",ei,ec)}
|
|
1389
|
+
float process(int indices[${ec}]) {
|
|
1390
|
+
int a[${ec}];
|
|
1391
|
+
perm(a, indices);
|
|
1392
|
+
return _A(a);
|
|
1393
|
+
}`;return Object.assign(Object.assign({},eu),{output:{dims:ea,type:er.type,textureType:es.TextureType.unpacked},shaderSource:eh})},ef=(en,er)=>(er&&er.length!==en.length&&(er=[...en.keys()].reverse()),er),eA=(en,er)=>(er=ef(en,er),ea.ShapeUtil.sortBasedOnPerm(en,er)),ed=(en,er,ei)=>{let eo=[];eo.push(`void ${en}(out int a[${ei}], int src[${ei}]) {`);for(let en=0;en<ei;++en)eo.push(` a[${er[en]}]=src[${en}];`);return eo.push(" }"),eo.join("\n")},eh=en=>{if(!en||1!==en.length)throw Error("Transpose requires 1 input.");if("float32"!==en[0].type&&"float64"!==en[0].type)throw Error("input should be float tensor")}},8710:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.encodeAsUint8=void 0;let eo=ei(5060),ea=ei(2039);er.encodeAsUint8=(en,er)=>{let ei=er.shape,es=(0,eo.getGlsl)(en.session.backend.glContext.version),eu=`
|
|
1394
|
+
const float FLOAT_MAX = 1.70141184e38;
|
|
1395
|
+
const float FLOAT_MIN = 1.17549435e-38;
|
|
1396
|
+
|
|
1397
|
+
bool isNaN(float val) {
|
|
1398
|
+
return (val < 1.0 || 0.0 < val || val == 0.0) ? false : true;
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1401
|
+
highp vec4 encodeAsUint8(highp float v) {
|
|
1402
|
+
if (isNaN(v)) {
|
|
1403
|
+
return vec4(255, 255, 255, 255);
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
highp float av = abs(v);
|
|
1407
|
+
|
|
1408
|
+
if(av < FLOAT_MIN) {
|
|
1409
|
+
return vec4(0.0, 0.0, 0.0, 0.0);
|
|
1410
|
+
} else if(v > FLOAT_MAX) {
|
|
1411
|
+
return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;
|
|
1412
|
+
} else if(v < -FLOAT_MAX) {
|
|
1413
|
+
return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
highp vec4 c = vec4(0,0,0,0);
|
|
1417
|
+
|
|
1418
|
+
highp float e = floor(log2(av));
|
|
1419
|
+
highp float m = exp2(fract(log2(av))) - 1.0;
|
|
1420
|
+
|
|
1421
|
+
c[2] = floor(128.0 * m);
|
|
1422
|
+
m -= c[2] / 128.0;
|
|
1423
|
+
c[1] = floor(32768.0 * m);
|
|
1424
|
+
m -= c[1] / 32768.0;
|
|
1425
|
+
c[0] = floor(8388608.0 * m);
|
|
1426
|
+
|
|
1427
|
+
highp float ebias = e + 127.0;
|
|
1428
|
+
c[3] = floor(ebias / 2.0);
|
|
1429
|
+
ebias -= c[3] * 2.0;
|
|
1430
|
+
c[2] += floor(ebias) * 128.0;
|
|
1431
|
+
|
|
1432
|
+
c[3] += 128.0 * step(0.0, -v);
|
|
1433
|
+
|
|
1434
|
+
return c / 255.0;
|
|
1435
|
+
}
|
|
1436
|
+
|
|
1437
|
+
void main() {
|
|
1438
|
+
float value = ${es.texture2D}(X,TexCoords).r;
|
|
1439
|
+
${es.output} = encodeAsUint8(value);
|
|
1440
|
+
}`,ec={name:"Uint8Encode",inputTypes:[ea.TextureType.unpacked],inputNames:["X"],output:{dims:ei,type:er.tensor.type,textureType:ea.TextureType.downloadUint8AsFloat},shaderSource:eu,hasMain:!0};return en.executeProgram(ec,[er.tensor])}},4909:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.tanh=er.tan=er.sqrt=er.sin=er.sigmoid=er.relu=er.not=er.neg=er.log=er.parseLeakyReluAttributes=er.leakyRelu=er.identity=er.floor=er.exp=er.parseEluAttributes=er.elu=er.cos=er.ceil=er.clipV11=er.parseClipAttributes=er.clip=er.atan=er.asin=er.acos=er.abs=er.glslTanh=er.glslTan=er.glslSqrt=er.glslSigmoid=er.glslRelu=er.glslSin=er.glslNot=er.glslNeg=er.glslLog=er.glslLeakyRelu=er.glslIdentity=er.glslClip=er.glslFloor=er.glslExp=er.glslElu=er.glslCos=er.glslCeil=er.glslAtan=er.glslAsin=er.glslAcos=er.glslAbs=void 0;let eo=ei(246),ea=ei(2517),es=ei(8520),eu=ei(5060),ec=ei(2039);function ef(){return eO("abs")}function eA(){return eO("acos")}function ed(){return eO("asin")}function eh(){return eO("atan")}function ep(){return eO("ceil")}function eg(){return eO("cos")}function eb(en){let er="elu";return{body:`
|
|
1441
|
+
const float alpha = float(${en});
|
|
1442
|
+
|
|
1443
|
+
float ${er}_(float a) {
|
|
1444
|
+
return a >= 0.0 ? a: (exp(a) - 1.0) * alpha;
|
|
1445
|
+
}
|
|
1446
|
+
vec4 ${er}_(vec4 v) {
|
|
1447
|
+
return vec4(${er}_(v.x), ${er}_(v.y), ${er}_(v.z), ${er}_(v.w));
|
|
1448
|
+
}
|
|
1449
|
+
`,name:er,type:es.FunctionType.ValueBased}}function em(){return eO("exp")}function ey(){return eO("floor")}function ev(en,er){let ei="clip";return{body:`
|
|
1450
|
+
const float min = float(${en});
|
|
1451
|
+
const float max = float(${er});
|
|
1452
|
+
|
|
1453
|
+
float ${ei}_(float a) {
|
|
1454
|
+
return clamp(a, min, max);
|
|
1455
|
+
}
|
|
1456
|
+
vec4 ${ei}_(vec4 v) {
|
|
1457
|
+
return clamp(v, min, max);
|
|
1458
|
+
}
|
|
1459
|
+
`,name:ei,type:es.FunctionType.ValueBased}}function eI(){let en="indentity";return{body:`
|
|
1460
|
+
float ${en}_(float a) {
|
|
1461
|
+
return a;
|
|
1462
|
+
}
|
|
1463
|
+
vec4 ${en}_(vec4 v) {
|
|
1464
|
+
return v;
|
|
1465
|
+
}
|
|
1466
|
+
`,name:en,type:es.FunctionType.ValueBased}}function ew(en){let er="leakyRelu";return{body:`
|
|
1467
|
+
const float alpha = float(${en});
|
|
1468
|
+
|
|
1469
|
+
float ${er}_(float a) {
|
|
1470
|
+
return a < 0.0 ? a * alpha : a;
|
|
1471
|
+
}
|
|
1472
|
+
vec4 ${er}_(vec4 v) {
|
|
1473
|
+
return vec4(${er}_(v.x), ${er}_(v.y), ${er}_(v.z), ${er}_(v.w));
|
|
1474
|
+
}
|
|
1475
|
+
`,name:er,type:es.FunctionType.ValueBased}}function eE(){return eO("log")}function eC(){let en="neg";return{body:`
|
|
1476
|
+
float ${en}_(float a) {
|
|
1477
|
+
return -a;
|
|
1478
|
+
}
|
|
1479
|
+
vec4 ${en}_(vec4 v) {
|
|
1480
|
+
return -v;
|
|
1481
|
+
}
|
|
1482
|
+
`,name:en,type:es.FunctionType.ValueBased}}function eT(){let en="not";return{body:`
|
|
1483
|
+
float ${en}_(float a) {
|
|
1484
|
+
return float( ! bool(a) );
|
|
1485
|
+
}
|
|
1486
|
+
bool ${en}_(bool a) {
|
|
1487
|
+
return !a;
|
|
1488
|
+
}
|
|
1489
|
+
vec4 ${en}_(vec4 v) {
|
|
1490
|
+
return vec4(!bool(v.x), !bool(v.y), !bool(v.z), !bool(v.w));
|
|
1491
|
+
}
|
|
1492
|
+
bvec4 ${en}_(bvec4 v) {
|
|
1493
|
+
return bvec4(!v.x, !v.y, !v.z, !v.w);
|
|
1494
|
+
}
|
|
1495
|
+
`,name:en,type:es.FunctionType.ValueBased}}function eS(){return eO("sin")}function eB(){let en="relu";return{body:`
|
|
1496
|
+
float ${en}_(float a) {
|
|
1497
|
+
return max( a, 0.0 );
|
|
1498
|
+
}
|
|
1499
|
+
vec4 ${en}_(vec4 v) {
|
|
1500
|
+
return max( v, 0.0 );
|
|
1501
|
+
}
|
|
1502
|
+
`,name:en,type:es.FunctionType.ValueBased}}function ex(){let en="sigmoid";return{body:`
|
|
1503
|
+
float ${en}_(float a) {
|
|
1504
|
+
return 1.0 / (1.0 + exp(-a));
|
|
1505
|
+
}
|
|
1506
|
+
vec4 ${en}_(vec4 v) {
|
|
1507
|
+
return 1.0 / (1.0 + exp(-v));
|
|
1508
|
+
}
|
|
1509
|
+
`,name:en,type:es.FunctionType.ValueBased}}function e_(){return eO("sqrt")}function eD(){return eO("tan")}function eP(){let en="tanh";return{body:`
|
|
1510
|
+
float ${en}_(float a) {
|
|
1511
|
+
a = clamp(a, -10., 10.);
|
|
1512
|
+
a = exp(2.*a);
|
|
1513
|
+
return (a - 1.) / (a + 1.);
|
|
1514
|
+
}
|
|
1515
|
+
vec4 ${en}_(vec4 v) {
|
|
1516
|
+
v = clamp(v, -10., 10.);
|
|
1517
|
+
v = exp(2.*v);
|
|
1518
|
+
return (v - 1.) / (v + 1.);
|
|
1519
|
+
}
|
|
1520
|
+
`,name:en,type:es.FunctionType.ValueBased}}function eO(en){return{body:`
|
|
1521
|
+
float ${en}_(float a) {
|
|
1522
|
+
return ${en}(a);
|
|
1523
|
+
}
|
|
1524
|
+
vec4 ${en}_(vec4 v) {
|
|
1525
|
+
return ${en}(v);
|
|
1526
|
+
}
|
|
1527
|
+
`,name:en,type:es.FunctionType.ValueBased}}er.glslAbs=ef,er.glslAcos=eA,er.glslAsin=ed,er.glslAtan=eh,er.glslCeil=ep,er.glslCos=eg,er.glslElu=eb,er.glslExp=em,er.glslFloor=ey,er.glslClip=ev,er.glslIdentity=eI,er.glslLeakyRelu=ew,er.glslLog=eE,er.glslNeg=eC,er.glslNot=eT,er.glslSin=eS,er.glslRelu=eB,er.glslSigmoid=ex,er.glslSqrt=e_,er.glslTan=eD,er.glslTanh=eP;let ek=(en,er,ei,eo)=>{let ea=en.session.pack?ec.TextureType.packed:ec.TextureType.unpacked,es={name:ei.name,inputTypes:[ea],inputNames:["A"],cacheHint:eo};return Object.assign(Object.assign({},es),{get:()=>((en,er,ei,eo)=>{let ea=en.session.pack?ec.TextureType.packed:ec.TextureType.unpacked,es=(0,eu.getGlsl)(en.session.backend.glContext.version);return Object.assign(Object.assign({},er),{output:{dims:ei.dims,type:ei.type,textureType:ea},shaderSource:`
|
|
1528
|
+
${eo.body}
|
|
1529
|
+
void main() {
|
|
1530
|
+
vec4 v = ${es.texture2D}(A, TexCoords);
|
|
1531
|
+
v = ${eo.name}_(v);
|
|
1532
|
+
${es.output} = v;
|
|
1533
|
+
}
|
|
1534
|
+
`,hasMain:!0})})(en,es,er,ei)})};er.abs=(en,er)=>[en.run(ek(en,er[0],ef()),er)],er.acos=(en,er)=>[en.run(ek(en,er[0],eA()),er)],er.asin=(en,er)=>[en.run(ek(en,er[0],ed()),er)],er.atan=(en,er)=>[en.run(ek(en,er[0],eh()),er)],er.clip=(en,er,ei)=>[en.run(ek(en,er[0],ev(ei.min,ei.max),ei.cacheKey),er)],er.parseClipAttributes=en=>(0,eo.createAttributeWithCacheKey)({min:en.attributes.getFloat("min",ea.MIN_CLIP),max:en.attributes.getFloat("max",ea.MAX_CLIP)}),er.clipV11=(en,ei)=>{let eo=eQ(en,ei);return(0,er.clip)(en,[ei[0]],eo)};let eQ=(en,er)=>{if(er.length>=3&&(!en.session.isInitializer(er[1].dataId)||!en.session.isInitializer(er[2].dataId)))throw Error("dynamic clip attributes are not allowed");let ei=er.length>=3?er[1].numberData[0]:ea.MIN_CLIP,es=er.length>=3?er[2].numberData[0]:ea.MAX_CLIP;return(0,eo.createAttributeWithCacheKey)({min:ei,max:es})};er.ceil=(en,er)=>[en.run(ek(en,er[0],ep()),er)],er.cos=(en,er)=>[en.run(ek(en,er[0],eg()),er)],er.elu=(en,er,ei)=>[en.run(ek(en,er[0],eb(ei.alpha),ei.cacheKey),er)],er.parseEluAttributes=en=>(0,eo.createAttributeWithCacheKey)({alpha:en.attributes.getFloat("alpha",1)}),er.exp=(en,er)=>[en.run(ek(en,er[0],em()),er)],er.floor=(en,er)=>[en.run(ek(en,er[0],ey()),er)],er.identity=(en,er)=>[en.run(ek(en,er[0],eI()),er)],er.leakyRelu=(en,er,ei)=>[en.run(ek(en,er[0],ew(ei.alpha),ei.cacheKey),er)],er.parseLeakyReluAttributes=en=>(0,eo.createAttributeWithCacheKey)({alpha:en.attributes.getFloat("alpha",.01)}),er.log=(en,er)=>[en.run(ek(en,er[0],eE()),er)],er.neg=(en,er)=>[en.run(ek(en,er[0],eC()),er)],er.not=(en,er)=>[en.run(ek(en,er[0],eT()),er)],er.relu=(en,er)=>[en.run(ek(en,er[0],eB()),er)],er.sigmoid=(en,er)=>[en.run(ek(en,er[0],ex()),er)],er.sin=(en,er)=>[en.run(ek(en,er[0],eS()),er)],er.sqrt=(en,er)=>[en.run(ek(en,er[0],e_()),er)],er.tan=(en,er)=>[en.run(ek(en,er[0],eD()),er)],er.tanh=(en,er)=>[en.run(ek(en,er[0],eP()),er)]},5611:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.createUnpackProgramInfoLoader=er.createUnpackProgramInfo=void 0;let eo=ei(5060),ea=ei(2039),es=ei(9390),eu=ei(2827),ec={name:"unpack",inputNames:["A"],inputTypes:[ea.TextureType.packed]};er.createUnpackProgramInfo=(en,er)=>{let ei=er.dims.length,ef=(0,eu.getChannels)("rc",ei),eA=ef.slice(-2),ed=(0,es.getCoordsDataType)(ei),eh=(0,eu.unpackFromChannel)(),ep=0===er.dims.length?"":function(en,er){if(1===en)return"rc";let ei="";for(let eo=0;eo<en;eo++)ei+=er[eo],eo<en-1&&(ei+=",");return ei}(ei,ef),eg=ei<=1?"rc":`vec2(${eA.join(",")})`,eb=`
|
|
1535
|
+
${eh}
|
|
1536
|
+
void main() {
|
|
1537
|
+
${ed} rc = getOutputCoords();
|
|
1538
|
+
|
|
1539
|
+
// Sample the texture with the coords to get the rgba channel value.
|
|
1540
|
+
vec4 packedInput = getA(${ep});
|
|
1541
|
+
|
|
1542
|
+
${(0,eo.getGlsl)(en.session.backend.glContext.version).output} = vec4(getChannel(packedInput, ${eg}), 0, 0, 0);
|
|
1543
|
+
}
|
|
1544
|
+
`;return Object.assign(Object.assign({},ec),{hasMain:!0,output:{dims:er.dims,type:er.type,textureType:ea.TextureType.unpacked},shaderSource:eb})},er.createUnpackProgramInfoLoader=(en,ei)=>Object.assign(Object.assign({},ec),{get:()=>(0,er.createUnpackProgramInfo)(en,ei)})},8428:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.parseUnsqueezeAttributes=er.unsqueezeV13=er.unsqueeze=void 0;let eo=ei(2517);er.unsqueeze=(en,er,ei)=>{ea(er);let es=eo.ShapeUtil.unsqueezeShape(er[0].dims,ei);return[en.reshapeUnpacked(er[0],es)]},er.unsqueezeV13=(en,ei)=>(es(ei),(0,er.unsqueeze)(en,[ei[0]],Array.from(ei[1].integerData))),er.parseUnsqueezeAttributes=en=>en.attributes.getInts("axes");let ea=en=>{if(!en||1!==en.length)throw Error("Unsqueeze requires 1 input.");if("string"===en[0].type)throw Error("invalid input tensor types.")},es=en=>{if(!en||2!==en.length)throw Error("Unsqueeze requires 2 inputs.");if("int32"!==en[1].type)throw Error("Invalid input type.")}},9793:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.scalesValidation=er.validateInputs=er.parseUpsampleAttributes=er.parseUpsampleAttributesV9=er.parseUpsampleAttributesV7=er.upsample=void 0;let eo=ei(246),ea=ei(5060),es=ei(2039),eu={name:"Upsample",inputNames:["X"],inputTypes:[es.TextureType.unpacked]};er.upsample=(en,ei,eo)=>((0,er.validateInputs)(ei,eo),[en.run(Object.assign(Object.assign({},eu),{cacheHint:eo.cacheKey,get:()=>ec(en,ei,eo)}),ei)]),er.parseUpsampleAttributesV7=en=>(0,er.parseUpsampleAttributes)(en,7),er.parseUpsampleAttributesV9=en=>(0,er.parseUpsampleAttributes)(en,9),er.parseUpsampleAttributes=(en,ei)=>{let ea=ei>=10,es=en.attributes.getString("mode","nearest");if("nearest"!==es&&"linear"!==es&&(ei<11||"cubic"!==es))throw Error(`unrecognized mode: ${es}`);let eu=[];ei<9&&(eu=en.attributes.getFloats("scales"),(0,er.scalesValidation)(eu,es,ea));let ec=en.attributes.getFloat("extrapolation_value",0),ef=ei>10?en.attributes.getString("coordinate_transformation_mode","half_pixel"):"asymmetric";if(-1===["asymmetric","pytorch_half_pixel","tf_half_pixel_for_nn","align_corners","tf_crop_and_resize","half_pixel"].indexOf(ef))throw Error(`coordinate_transform_mode '${ef}' is not supported`);let eA="tf_crop_and_resize"===ef,ed=eA,eh="nearest"===es&&ei>=11?en.attributes.getString("nearest_mode","round_prefer_floor"):"";if(-1===["round_prefer_floor","round_prefer_ceil","floor","ceil",""].indexOf(eh))throw Error(`nearest_mode '${eh}' is not supported`);let ep=en.attributes.getFloat("cubic_coeff_a",-.75),eg=0!==en.attributes.getInt("exclude_outside",0);if(eg&&"cubic"!==es)throw Error("exclude_outside can be set to 1 only when mode is CUBIC.");let eb=ei<11||"nearest"===es&&"asymmetric"===ef&&"floor"===eh,em=0,ey=0,ev=0;return ei>10?en.inputs.length>2?(em=1,ey=2,ev=3):(ey=1,ev=2):9===ei&&(ey=1),(0,eo.createAttributeWithCacheKey)({opset:ei,isResize:ea,mode:es,scales:eu,extrapolationValue:ec,coordinateTransformMode:ef,useExtrapolation:ed,needRoiInput:eA,nearestMode:eh,cubicCoefficientA:ep,excludeOutside:eg,useNearest2xOptimization:eb,roiInputIdx:em,scalesInputIdx:ey,sizesInputIdx:ev})};let ec=(en,er,ei)=>{let eo=(0,ea.getGlsl)(en.session.backend.glContext.version),[ec,ef]=en.calculateTextureWidthAndHeight(er[0].dims,es.TextureType.unpacked),eA=er[0].dims.map((en,er)=>Math.floor(en*ei.scales[er])),[ed,eh]=en.calculateTextureWidthAndHeight(eA,es.TextureType.unpacked),ep=eA.length,eg=Array(ep),eb=Array(ep),em=`
|
|
1545
|
+
int output_pitches[${ep}];
|
|
1546
|
+
int input_pitches[${ep}];
|
|
1547
|
+
`;for(let en=ep-1;en>=0;en--)eg[en]=en===ep-1?1:eg[en+1]*eA[en+1],eb[en]=en===ep-1?1:eb[en+1]*er[0].dims[en+1],em+=`
|
|
1548
|
+
output_pitches[${en}] = ${eg[en]};
|
|
1549
|
+
input_pitches[${en}] = ${eb[en]};
|
|
1550
|
+
`;let ey=`
|
|
1551
|
+
float getInputFloat(int index) {
|
|
1552
|
+
vec2 coords = offsetToCoords(index, ${ec}, ${ef});
|
|
1553
|
+
float value = getColorAsFloat(${eo.texture2D}(X, coords));
|
|
1554
|
+
return value;
|
|
1555
|
+
}
|
|
1556
|
+
`,ev="nearest"===ei.mode?`
|
|
1557
|
+
${ey}
|
|
1558
|
+
float process(int indices[${ep}]) {
|
|
1559
|
+
int input_index = 0;
|
|
1560
|
+
int output_index = coordsToOffset(TexCoords, ${ed}, ${eh});
|
|
1561
|
+
|
|
1562
|
+
${em}
|
|
1563
|
+
|
|
1564
|
+
int d, m;
|
|
1565
|
+
for (int dim = 0; dim < ${ep}; ++dim) {
|
|
1566
|
+
d = output_index / output_pitches[dim];
|
|
1567
|
+
m = output_index - d * output_pitches[dim];
|
|
1568
|
+
output_index = m;
|
|
1569
|
+
|
|
1570
|
+
if (scales[dim] != 1 && d > 0) {
|
|
1571
|
+
int d2 = d / scales[dim];
|
|
1572
|
+
m = d - d2 * scales[dim];
|
|
1573
|
+
d = d2;
|
|
1574
|
+
}
|
|
1575
|
+
input_index += input_pitches[dim] * d;
|
|
1576
|
+
}
|
|
1577
|
+
|
|
1578
|
+
return getInputFloat(input_index);
|
|
1579
|
+
}`:4===ep?`
|
|
1580
|
+
${ey}
|
|
1581
|
+
float process(int indices[4]) {
|
|
1582
|
+
int input_index = 0;
|
|
1583
|
+
int output_index = coordsToOffset(TexCoords, ${ed}, ${eh});
|
|
1584
|
+
|
|
1585
|
+
${em}
|
|
1586
|
+
|
|
1587
|
+
int m;
|
|
1588
|
+
int index_of_dim0, index_of_dim1, index_of_dim2, index_of_dim3;
|
|
1589
|
+
index_of_dim0 = output_index / output_pitches[0];
|
|
1590
|
+
m = output_index - index_of_dim0 * output_pitches[0];
|
|
1591
|
+
index_of_dim1 = m / output_pitches[1];
|
|
1592
|
+
m = m - index_of_dim1 * output_pitches[1];
|
|
1593
|
+
index_of_dim2 = m / output_pitches[2];
|
|
1594
|
+
m = m - index_of_dim2 * output_pitches[2];
|
|
1595
|
+
index_of_dim3 = m;
|
|
1596
|
+
|
|
1597
|
+
int index_of_input_dim2, index_of_input_dim3, x_offset, y_offset;
|
|
1598
|
+
index_of_input_dim2 = index_of_dim2 / scales[2];
|
|
1599
|
+
y_offset = index_of_dim2 - index_of_input_dim2 * scales[2];
|
|
1600
|
+
index_of_input_dim3 = index_of_dim3 / scales[3];
|
|
1601
|
+
x_offset = index_of_dim3 - index_of_input_dim3 * scales[3];
|
|
1602
|
+
|
|
1603
|
+
input_index = index_of_dim0 * input_pitches[0] +
|
|
1604
|
+
index_of_dim1 * input_pitches[1] +
|
|
1605
|
+
index_of_input_dim2 * input_pitches[2] +
|
|
1606
|
+
index_of_input_dim3;
|
|
1607
|
+
|
|
1608
|
+
float x00 = getInputFloat(input_index);
|
|
1609
|
+
float x10, x01, x11;
|
|
1610
|
+
|
|
1611
|
+
bool end_of_dim2 = false;
|
|
1612
|
+
if (index_of_input_dim2 == (${er[0].dims[2]} - 1)) {
|
|
1613
|
+
// It's the end in dimension 2
|
|
1614
|
+
x01 = x00;
|
|
1615
|
+
end_of_dim2 = true;
|
|
1616
|
+
} else {
|
|
1617
|
+
x01 = getInputFloat(input_index + input_pitches[2]);
|
|
1618
|
+
}
|
|
1619
|
+
|
|
1620
|
+
if (index_of_input_dim3 == (input_pitches[2] - 1)) {
|
|
1621
|
+
// It's the end in dimension 3
|
|
1622
|
+
x10 = x00;
|
|
1623
|
+
x11 = x01;
|
|
1624
|
+
}
|
|
1625
|
+
else {
|
|
1626
|
+
x10 = getInputFloat(input_index + 1);
|
|
1627
|
+
x11 = end_of_dim2 ? x10 : getInputFloat(input_index + input_pitches[2] + 1);
|
|
1628
|
+
}
|
|
1629
|
+
|
|
1630
|
+
float y0 = x00 + float(y_offset) * (x01 - x00) / float(scales[2]);
|
|
1631
|
+
float y1 = x10 + float(y_offset) * (x11 - x10) / float(scales[2]);
|
|
1632
|
+
return y0 + float(x_offset) * (y1 - y0) / float(scales[3]);
|
|
1633
|
+
}`:`
|
|
1634
|
+
${ey}
|
|
1635
|
+
float process(int indices[2]) {
|
|
1636
|
+
int input_index = 0;
|
|
1637
|
+
int output_index = coordsToOffset(TexCoords, ${ed}, ${eh});
|
|
1638
|
+
|
|
1639
|
+
${em}
|
|
1640
|
+
|
|
1641
|
+
int m;
|
|
1642
|
+
int index_of_dim0, index_of_dim1;
|
|
1643
|
+
index_of_dim0 = output_index / output_pitches[0];
|
|
1644
|
+
m = output_index - index_of_dim0 * output_pitches[0];
|
|
1645
|
+
index_of_dim1 = m;
|
|
1646
|
+
|
|
1647
|
+
int index_of_input_dim0, index_of_input_dim1, x_offset, y_offset;
|
|
1648
|
+
index_of_input_dim0 = index_of_dim0 / scales[0];
|
|
1649
|
+
y_offset = index_of_dim0 - index_of_input_dim0 * scales[0];
|
|
1650
|
+
index_of_input_dim1 = index_of_dim1 / scales[1];
|
|
1651
|
+
x_offset = index_of_dim1 - index_of_input_dim1 * scales[1];
|
|
1652
|
+
|
|
1653
|
+
input_index = index_of_input_dim0 * input_pitches[0] + index_of_input_dim1;
|
|
1654
|
+
|
|
1655
|
+
float x00 = getInputFloat(input_index);
|
|
1656
|
+
float x10, x01, x11;
|
|
1657
|
+
|
|
1658
|
+
bool end_of_dim0 = false;
|
|
1659
|
+
if (index_of_input_dim0 == (${er[0].dims[0]} - 1)) {
|
|
1660
|
+
// It's the end in dimension 0
|
|
1661
|
+
x01 = x00;
|
|
1662
|
+
end_of_dim0 = true;
|
|
1663
|
+
} else {
|
|
1664
|
+
x01 = getInputFloat(input_index + input_pitches[0]);
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
if (index_of_input_dim1 == (input_pitches[0] - 1)) {
|
|
1668
|
+
// It's the end in dimension 1
|
|
1669
|
+
x10 = x00;
|
|
1670
|
+
x11 = x01;
|
|
1671
|
+
}
|
|
1672
|
+
else {
|
|
1673
|
+
x10 = getInputFloat(input_index + 1);
|
|
1674
|
+
x11 = end_of_dim0 ? x10 : getInputFloat(input_index + input_pitches[0] + 1);
|
|
1675
|
+
}
|
|
1676
|
+
|
|
1677
|
+
float y0 = x00 + float(y_offset) * (x01 - x00) / float(scales[0]);
|
|
1678
|
+
float y1 = x10 + float(y_offset) * (x11 - x10) / float(scales[0]);
|
|
1679
|
+
return y0 + float(x_offset) * (y1 - y0) / float(scales[1]);
|
|
1680
|
+
}`;return Object.assign(Object.assign({},eu),{output:{dims:eA,type:er[0].type,textureType:es.TextureType.unpacked},shaderSource:ev,variables:[{name:"scales",type:"int",arrayLength:ei.scales.length,data:ei.scales.map(en=>Math.ceil(en))}]})};er.validateInputs=(en,er)=>{if(!en||er.opset<9&&1!==en.length||er.opset>=9&&er.opset<11&&2!==en.length||er.opset>=11&&en.length<2)throw Error("invalid inputs.");if(er.scales.length>0&&en[0].dims.length!==er.scales.length)throw Error("Invalid input shape.");if("string"===en[0].type)throw Error("Invalid input tensor types.")},er.scalesValidation=(en,er,ei)=>{if(ei){for(let er of en)if(er<=0)throw Error("Scale value should be greater than 0.")}else for(let er of en)if(er<1)throw Error("Scale value should be greater than or equal to 1.");if(!("linear"!==er&&"cubic"!==er||2===en.length||4===en.length&&1===en[0]&&1===en[1]))throw Error(`'Linear' mode and 'Cubic' mode only support 2-D inputs ('Bilinear', 'Bicubic') or 4-D inputs with the corresponding outermost 2 scale values being 1 in the ${ei?"Resize":"Upsample"} opeartor.`)}},1958:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.ProgramManager=void 0;let eo=ei(1670),ea=ei(6231),es=ei(8879),eu=ei(5060);er.ProgramManager=class{constructor(en,er,ei){this.profiler=en,this.glContext=er,this.textureLayoutStrategy=ei,this.repo=new Map,this.attributesBound=!1}getArtifact(en){return this.repo.get(en)}setArtifact(en,er){this.repo.set(en,er)}run(en,er,ei){var eo;this.profiler.event("op",`ProgramManager.run ${null!==(eo=en.programInfo.name)&&void 0!==eo?eo:"unknown kernel"}`,()=>{var eo;let es=this.glContext.gl,eu=en.program;es.useProgram(eu);try{this.bindOutput(ei),this.attributesBound||this.bindAttributes(en.attribLocations),this.bindUniforms(en.uniformLocations,null!==(eo=en.programInfo.variables)&&void 0!==eo?eo:[],er)}catch(er){throw ea.Logger.error("ProgramManager",en.programInfo.shaderSource),er}this.profiler.event("backend","GlContext.draw()",()=>{this.glContext.draw()})},this.glContext)}dispose(){this.vertexShader&&this.glContext.deleteShader(this.vertexShader),this.repo.forEach(en=>this.glContext.deleteProgram(en.program))}build(en,er,ei){return this.profiler.event("backend","ProgramManager.build",()=>{let eo=new es.GlslPreprocessor(this.glContext,en,er,ei),ea=eo.preprocess(),eu=this.compile(ea);return{programInfo:en,program:eu,uniformLocations:this.getUniformLocations(eu,eo.context.programInfo.inputNames,eo.context.programInfo.variables),attribLocations:this.getAttribLocations(eu)}})}compile(en){if(!this.vertexShader){ea.Logger.verbose("ProrgramManager","Compiling and caching Vertex shader for the first time");let en=(0,eu.getVertexShaderSource)(this.glContext.version);this.vertexShader=this.glContext.compileShader(en,this.glContext.gl.VERTEX_SHADER)}eo.env.debug&&ea.Logger.verbose("ProrgramManager",`FragShader:
|
|
1681
|
+
${en}
|
|
1682
|
+
`);let er=this.glContext.compileShader(en,this.glContext.gl.FRAGMENT_SHADER),ei=this.glContext.createProgram(this.vertexShader,er);return this.glContext.deleteShader(er),ei}bindOutput(en){let er=en.width,ei=en.height;ea.Logger.verbose("ProrgramManager",`Binding output texture to Framebuffer: w/h=${er}/${ei}, shape=${en.shape}, type=${en.tensor.type}`),this.glContext.attachFramebuffer(en.texture,er,ei)}bindAttributes(en){let er=en.position,ei=en.textureCoord;this.glContext.setVertexAttributes(er,ei),this.attributesBound=!0}bindUniforms(en,er,ei){var eo;let ea=this.glContext.gl,es=0;for(let{name:eu,type:ec,location:ef,arrayLength:eA}of en){let en=null===(eo=er.find(en=>en.name===eu))||void 0===eo?void 0:eo.data;if("sampler2D"!==ec&&!en)throw Error(`variable '${eu}' does not have data defined in program info`);switch(ec){case"sampler2D":this.bindTexture(ei[es],ef,es),es++;break;case"float":eA?ea.uniform1fv(ef,en):ea.uniform1f(ef,en);break;case"int":eA?ea.uniform1iv(ef,en):ea.uniform1i(ef,en);break;default:throw Error(`Uniform not implemented: ${ec}`)}}}bindTexture(en,er,ei){this.glContext.bindTextureToUniform(en.texture,ei,er)}getAttribLocations(en){return{position:this.getAttribLocation(en,"position"),textureCoord:this.getAttribLocation(en,"textureCoord")}}getUniformLocations(en,er,ei){let eo=[];if(er)for(let ei of er)eo.push({name:ei,type:"sampler2D",location:this.getUniformLocation(en,ei)});if(ei)for(let er of ei)eo.push(Object.assign(Object.assign({},er),{location:this.getUniformLocation(en,er.name)}));return eo}getUniformLocation(en,er){let ei=this.glContext.gl.getUniformLocation(en,er);if(null===ei)throw Error(`Uniform ${er} not found.`);return ei}getAttribLocation(en,er){return this.glContext.gl.getAttribLocation(en,er)}}},6416:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.WebGLSessionHandler=void 0;let eo=ei(6231),ea=ei(1047),es=ei(8316),eu=ei(1640),ec=ei(1958),ef=ei(7859),eA=ei(5702);er.WebGLSessionHandler=class{constructor(en,er){this.backend=en,this.context=er,this.layoutStrategy=new ef.PreferLogicalStrategy(en.glContext.maxTextureSize),this.programManager=new ec.ProgramManager(this.context.profiler,en.glContext,this.layoutStrategy),this.textureManager=new eA.TextureManager(en.glContext,this.layoutStrategy,this.context.profiler,{reuseTextures:"full"===en.textureCacheMode}),this.packedTextureDataCache=new Map,this.unpackedTextureDataCache=new Map,this.pack=en.pack,this.pack2unpackMap=new Map,this.unpack2packMap=new Map}createInferenceHandler(){return new es.WebGLInferenceHandler(this)}onGraphInitialized(en){let er=en.getValues().filter(en=>-1===en.from&&en.tensor).map(en=>en.tensor.dataId);this.initializers=new Set(er)}isInitializer(en){return!!this.initializers&&this.initializers.has(en)}addInitializer(en){this.initializers.add(en)}getTextureData(en,er){return er?this.packedTextureDataCache.get(en):this.unpackedTextureDataCache.get(en)}setTextureData(en,er,ei=!1){eo.Logger.verbose("WebGLSessionHandler","Storing Texture data in cache"),ei?this.packedTextureDataCache.set(en,er):this.unpackedTextureDataCache.set(en,er)}dispose(){this.programManager.dispose(),this.textureManager.clearActiveTextures(),this.packedTextureDataCache.forEach(en=>this.textureManager.releaseTexture(en,!0)),this.packedTextureDataCache=new Map,this.unpackedTextureDataCache.forEach(en=>this.textureManager.releaseTexture(en,!0)),this.unpackedTextureDataCache=new Map}resolve(en,er,ei){let eo=(0,ea.resolveOperator)(en,er,eu.WEBGL_OP_RESOLVE_RULES);return{impl:eo.opImpl,context:eo.opInit?eo.opInit(en,ei):en}}}},7769:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.Uint8DataEncoder=er.RGBAFloatDataEncoder=er.RedFloat32DataEncoder=void 0;let eo=ei(6231);er.RedFloat32DataEncoder=class{constructor(en,er=1){if(1===er)this.internalFormat=en.R32F,this.format=en.RED,this.textureType=en.FLOAT,this.channelSize=er;else{if(4!==er)throw Error(`Invalid number of channels: ${er}`);this.internalFormat=en.RGBA32F,this.format=en.RGBA,this.textureType=en.FLOAT,this.channelSize=er}}encode(en,er){let ei,ea;return en.constructor!==Float32Array&&(eo.Logger.warning("Encoder","data was not of type Float32; creating new Float32Array"),ea=new Float32Array(en)),er*this.channelSize>en.length?(eo.Logger.warning("Encoder","Source data too small. Allocating larger array"),ea=en,ei=this.allocate(er*this.channelSize),ea.forEach((en,er)=>ei[er]=en)):ei=ea=en,ei}allocate(en){return new Float32Array(4*en)}decode(en,er){return 1===this.channelSize?en.filter((en,er)=>er%4==0).subarray(0,er):en.subarray(0,er)}},er.RGBAFloatDataEncoder=class{constructor(en,er=1,ei){if(1!==er&&4!==er)throw Error(`Invalid number of channels: ${er}`);this.internalFormat=en.RGBA,this.format=en.RGBA,this.channelSize=er,this.textureType=ei||en.FLOAT}encode(en,er){let ei=en;return 1===this.channelSize&&(eo.Logger.verbose("Encoder","Exploding into a larger array"),ei=this.allocate(er),en.forEach((en,er)=>ei[4*er]=en)),ei}allocate(en){return new Float32Array(4*en)}decode(en,er){return 1===this.channelSize?en.filter((en,er)=>er%4==0).subarray(0,er):en.subarray(0,er)}},er.Uint8DataEncoder=class{constructor(en,er=1){if(this.channelSize=4,1===er)this.internalFormat=en.ALPHA,this.format=en.ALPHA,this.textureType=en.UNSIGNED_BYTE,this.channelSize=er;else{if(4!==er)throw Error(`Invalid number of channels: ${er}`);this.internalFormat=en.RGBA,this.format=en.RGBA,this.textureType=en.UNSIGNED_BYTE,this.channelSize=er}}encode(en,er){return new Uint8Array(en.buffer,en.byteOffset,en.byteLength)}allocate(en){return new Uint8Array(en*this.channelSize)}decode(en,er){if(en instanceof Uint8Array)return en.subarray(0,er);throw Error(`Invalid array type: ${en.constructor}`)}}},7859:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.getBatchDim=er.sizeToSquarishShape=er.getRowsCols=er.sizeFromShape=er.isInt=er.parseAxisParam=er.squeezeShape=er.PreferLogicalStrategy=er.AlwaysKeepOriginalSizeStrategy=void 0;let eo=ei(6231),ea=ei(2517);function es(en,er){let ei=[],eo=[],ea=null!=er&&Array.isArray(er)&&0===er.length,es=null==er||ea?null:eu(er,en).sort(),ec=0;for(let er=0;er<en.length;++er){if(null!=es){if(es[ec]===er&&1!==en[er])throw Error(`Can't squeeze axis ${er} since its dim '${en[er]}' is not 1`);(null==es[ec]||es[ec]>er)&&1===en[er]&&(ei.push(en[er]),eo.push(er)),es[ec]<=er&&ec++}1!==en[er]&&(ei.push(en[er]),eo.push(er))}return{newShape:ei,keptDims:eo}}function eu(en,er){let ei=er.length;return en=null==en?er.map((en,er)=>er):[].concat(en),(0,ea.assert)(en.every(en=>en>=-ei&&en<ei),()=>`All values in axis param must be in range [-${ei}, ${ei}) but got axis ${en}`),(0,ea.assert)(en.every(ec),()=>`All values in axis param must be integers but got axis ${en}`),en.map(en=>en<0?ei+en:en)}function ec(en){return en%1==0}function ef(en){if(0===en.length)return 1;let er=en[0];for(let ei=1;ei<en.length;ei++)er*=en[ei];return er}function eA(en){let er=Math.ceil(Math.sqrt(en));return[er,Math.ceil(en/er)]}er.AlwaysKeepOriginalSizeStrategy=class{constructor(en){this.maxTextureSize=en}computeTextureWH(en,er){if(0===en.length)return[1,1];let ei=this.maxTextureSize;if(er&&void 0!==er.breakAxis){let ea=er.breakAxis>=en.length?1:en.slice(er.breakAxis).reduce((en,er)=>en*er),es=er.breakAxis<=0?1:en.slice(0,er.breakAxis).reduce((en,er)=>en*er);if(!(ea>ei||es>ei))return[ea,es];eo.Logger.verbose("TextureLayout",`Given width/height preferences were unattainable: shape:${en}, breakAxis:${er.breakAxis}`)}let ea=en.reduce((en,er)=>en*er),es=Math.floor(Math.sqrt(ea));for(;es<ei&&es<ea&&ea%es!=0;es++);if(es>=ei||ea%es!=0)throw Error(`The given dimensions are outside this GPU's boundaries: ${en}`);return[es,ea/es]}},er.PreferLogicalStrategy=class{constructor(en){this.maxTextureSize=en}computeTextureWH(en,er){let ei=this.computeTexture(en,er);return er&&er.isPacked&&(ei[0]/=2,ei[1]/=2),er&&er.reverseWH?[ei[1],ei[0]]:ei}computeTexture(en,er){let ei=er&&er.isPacked;if(0===en.length)return ei?[2,2]:[1,1];let ea=this.maxTextureSize;if(er&&void 0!==er.breakAxis){let ei=er.breakAxis>=en.length?1:en.slice(er.breakAxis).reduce((en,er)=>en*er),es=er.breakAxis<=0?1:en.slice(0,er.breakAxis).reduce((en,er)=>en*er);if(!(ei>ea||es>ea))return[ei,es];eo.Logger.verbose("TextureLayout",`Given width/height preferences were unattainable: shape:${en}, breakAxis:${er.breakAxis}`)}let eu=en.slice(0);if(ei&&(ea*=2,1===(eu=eu.map((en,er)=>er>=eu.length-2?eu[er]%2==0?eu[er]:eu[er]+1:eu[er])).length&&(eu=[2,eu[0]])),2!==eu.length){let en=es(eu);eu=en.newShape}let ec=ef(eu);return eu.length<=1&&ec<=ea?[1,ec]:2===eu.length&&eu[0]<=ea&&eu[1]<=ea?eu:3===eu.length&&eu[0]*eu[1]<=ea&&eu[2]<=ea?[eu[0]*eu[1],eu[2]]:3===eu.length&&eu[0]<=ea&&eu[1]*eu[2]<=ea?[eu[0],eu[1]*eu[2]]:4===eu.length&&eu[0]*eu[1]*eu[2]<=ea&&eu[3]<=ea?[eu[0]*eu[1]*eu[2],eu[3]]:4===eu.length&&eu[0]<=ea&&eu[1]*eu[2]*eu[3]<=ea?[eu[0],eu[1]*eu[2]*eu[3]]:ei?eA(ec/4).map(en=>2*en):eA(ec)}},er.squeezeShape=es,er.parseAxisParam=eu,er.isInt=ec,er.sizeFromShape=ef,er.getRowsCols=function(en){if(0===en.length)throw Error("Cannot get rows and columns of an empty shape array.");return[en.length>1?en[en.length-2]:1,en[en.length-1]]},er.sizeToSquarishShape=eA,er.getBatchDim=function(en,er=2){return ef(en.slice(0,en.length-er))}},4057:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.createTextureLayoutFromShape=er.calculateTextureWidthAndHeight=er.createTextureLayoutFromTextureType=void 0;let eo=ei(2517),ea=ei(2039);er.createTextureLayoutFromTextureType=(en,ei,eo)=>{let es=eo===ea.TextureType.unpacked||eo===ea.TextureType.unpackedReversed?1:4,eu=eo===ea.TextureType.packed,ec=eo===ea.TextureType.unpackedReversed||eo===ea.TextureType.packed,ef=eo===ea.TextureType.packedLastDimension?ei.length-1:void 0,eA=eo===ea.TextureType.packedLastDimension?ei.map((en,er)=>er===ei.length-1?4*en:en):void 0;return(0,er.createTextureLayoutFromShape)(en,ei,es,eA,{isPacked:eu,reverseWH:ec,breakAxis:ef})},er.calculateTextureWidthAndHeight=(en,ei,eo)=>{let ea=(0,er.createTextureLayoutFromTextureType)(en,ei,eo);return[ea.width,ea.height]},er.createTextureLayoutFromShape=(en,er,ei=1,ea,es)=>{let eu=!(!es||!es.isPacked),[ec,ef]=en.computeTextureWH(eu&&ea||er,es),eA=er.length,ed=er.slice(0);if(0===eA&&(ed=[1]),1===ei)ea=er;else if(eu){if(4!==ei)throw Error("a packed texture must be 4-channel");ea=er,eA>0&&(ed[eA-1]=Math.ceil(ed[eA-1]/2)),eA>1&&(ed[eA-2]=Math.ceil(ed[eA-2]/2))}else if(!ea)throw Error("Unpacked shape is needed when using channels > 1");return{width:ec,height:ef,channels:ei,isPacked:eu,shape:ed,strides:eo.ShapeUtil.computeStrides(ed),unpackedShape:ea,reversedWH:es&&es.reverseWH}}},5702:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.TextureManager=void 0;let eo=ei(6231);er.TextureManager=class{constructor(en,er,ei,eo){this.glContext=en,this.layoutStrategy=er,this.profiler=ei,this.config=eo,this.pendingRead=new Map,eo.reuseTextures&&(this.inUseTextures=new Map,this.idleTextures=new Map,this.textureLookup=new Map)}createTextureFromLayout(en,er,ei,ea){let es,eu;let ec=this.toEncoderType(en),ef=this.glContext.getEncoder(ec,er.channels||1,ea);if(er.isPacked&&1===ea)throw Error("not implemented");let eA=er.width,ed=er.height;if(this.config.reuseTextures){es=`${eA}x${ed}_${ef.format}_${ef.internalFormat}_${ef.textureType}`,(eu=this.inUseTextures.get(es))||(eu=[],this.inUseTextures.set(es,eu));let er=this.idleTextures.get(es);if(er&&er.length>0){let eo=er.pop();return eu.push(eo),1===ea&&this.glContext.updateTexture(eo,eA,ed,ef,this.toTextureData(en,ei)),eo}}eo.Logger.verbose("TextureManager",`Creating new texture of size ${er.width}x${er.height}`);let eh=this.glContext.allocateTexture(eA,ed,ef,this.toTextureData(en,ei));return this.config.reuseTextures&&(eu.push(eh),this.textureLookup.set(eh,es)),eh}readTexture(en,er,ei){return ei||(ei=1),this.profiler.event("backend","TextureManager.readTexture",()=>{let eo=en.shape.reduce((en,er)=>en*er)*ei,ea=this.glContext.readTexture(en.texture,en.width,en.height,eo,this.toEncoderType(er),ei);return this.toTensorData(er,ea)})}async readTextureAsync(en,er,ei){let eo=en.tensor.dataId;if(ei||(ei=1),this.pendingRead.has(eo)){let en=this.pendingRead.get(eo);return new Promise(er=>null==en?void 0:en.push(er))}return this.profiler.event("backend","TextureManager.readTextureAsync",async()=>{this.pendingRead.set(eo,[]);let ea=en.shape.reduce((en,er)=>en*er)*ei;await this.glContext.createAndWaitForFence();let es=this.glContext.readTexture(en.texture,en.width,en.height,ea,this.toEncoderType(er),ei),eu=this.toTensorData(er,es),ec=this.pendingRead.get(eo);return this.pendingRead.delete(eo),null==ec||ec.forEach(en=>en(eu)),eu})}readUint8TextureAsFloat(en){return this.profiler.event("backend","TextureManager.readUint8TextureAsFloat",()=>{let er=en.shape.reduce((en,er)=>en*er),ei=this.glContext.readTexture(en.texture,en.width,en.height,4*er,"byte",4);return new Float32Array(ei.buffer,ei.byteOffset,er)})}releaseTexture(en,er){let ei;if(this.config.reuseTextures&&(ei=this.textureLookup.get(en.texture))){er&&this.textureLookup.delete(ei);let eo=this.inUseTextures.get(ei);if(eo){let er=eo.indexOf(en.texture);if(-1!==er){eo.splice(er,1);let ea=this.idleTextures.get(ei);ea||(ea=[],this.idleTextures.set(ei,ea)),ea.push(en.texture)}}}ei&&!er||(eo.Logger.verbose("TextureManager",`Deleting texture of size ${en.width}x${en.height}`),this.glContext.deleteTexture(en.texture))}toTensorData(en,er){switch(en){case"int16":return er instanceof Int16Array?er:Int16Array.from(er);case"int32":return er instanceof Int32Array?er:Int32Array.from(er);case"int8":return er instanceof Int8Array?er:Int8Array.from(er);case"uint16":return er instanceof Uint16Array?er:Uint16Array.from(er);case"uint32":return er instanceof Uint32Array?er:Uint32Array.from(er);case"uint8":case"bool":return er instanceof Uint8Array?er:Uint8Array.from(er);case"float32":return er instanceof Float32Array?er:Float32Array.from(er);case"float64":return er instanceof Float64Array?er:Float64Array.from(er);default:throw Error(`TensorData type ${en} is not supported`)}}toTextureData(en,er){if(er)return er instanceof Float32Array?er:new Float32Array(er)}toEncoderType(en){return"float"}clearActiveTextures(){this.glContext.clearActiveTextures()}}},2039:(en,er)=>{"use strict";var ei;Object.defineProperty(er,"__esModule",{value:!0}),er.TextureType=void 0,(ei=er.TextureType||(er.TextureType={}))[ei.unpacked=0]="unpacked",ei[ei.unpackedReversed=1]="unpackedReversed",ei[ei.packed=2]="packed",ei[ei.downloadUint8AsFloat=3]="downloadUint8AsFloat",ei[ei.packedLastDimension=4]="packedLastDimension"},9390:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.getGlChannels=er.getCoordsDataType=er.getSqueezedParams=er.squeezeInputShape=er.generateShaderFuncNameFromInputSamplerNameAtOutCoords=er.generateShaderFuncNameFromInputSamplerName=er.repeatedTry=er.getPackedShape=void 0;let eo=ei(2517);er.getPackedShape=function(en){let er=en.length;return en.slice(0,er-1).concat(en[er-1]/4)},er.repeatedTry=async function(en,er=en=>0,ei){return new Promise((eo,ea)=>{let es=0,eu=()=>{if(en())return void eo();es++;let ec=er(es);null!=ei&&es>=ei?ea():setTimeout(eu,ec)};eu()})},er.generateShaderFuncNameFromInputSamplerName=function(en){return(0,eo.assert)(void 0!==en&&0!==en.length,()=>"empty string found for sampler name"),"get"+en.charAt(0).toUpperCase()+en.slice(1)},er.generateShaderFuncNameFromInputSamplerNameAtOutCoords=function(en){return(0,eo.assert)(void 0!==en&&0!==en.length,()=>"empty string found for sampler name"),"get"+en.charAt(0).toUpperCase()+en.slice(1)+"AtOutCoords"},er.squeezeInputShape=function(en,er){return JSON.parse(JSON.stringify(en)),er},er.getSqueezedParams=function(en,er){return er.map(er=>en[er]).join(", ")},er.getCoordsDataType=function(en){if(en<=1)return"int";if(2===en)return"ivec2";if(3===en)return"ivec3";if(4===en)return"ivec4";if(5===en)return"ivec5";if(6===en)return"ivec6";throw Error(`GPU for rank ${en} is not yet supported`)},er.getGlChannels=function(en=6){return["x","y","z","w","u","v"].slice(0,en)}},7305:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.createNewWebGLContext=er.createWebGLContext=void 0;let eo=ei(6231),ea=ei(1713),es={};function eu(en){let er;let ei=function(){if("undefined"==typeof document){if("undefined"==typeof OffscreenCanvas)throw TypeError("failed to create canvas: OffscreenCanvas is not supported");return new OffscreenCanvas(1,1)}let en=document.createElement("canvas");return en.width=1,en.height=1,en}(),es={alpha:!1,depth:!1,antialias:!1,stencil:!1,preserveDrawingBuffer:!1,premultipliedAlpha:!1,failIfMajorPerformanceCaveat:!1};if((!en||"webgl2"===en)&&(er=ei.getContext("webgl2",es)))try{return new ea.WebGLContext(er,2)}catch(en){eo.Logger.warning("GlContextFactory",`failed to create WebGLContext using contextId 'webgl2'. Error: ${en}`)}if((!en||"webgl"===en)&&(er=ei.getContext("webgl",es)||ei.getContext("experimental-webgl",es)))try{return new ea.WebGLContext(er,1)}catch(en){eo.Logger.warning("GlContextFactory",`failed to create WebGLContext using contextId 'webgl' or 'experimental-webgl'. Error: ${en}`)}throw Error("WebGL is not supported")}er.createWebGLContext=function en(er){let ei;(!er||"webgl2"===er)&&"webgl2"in es?ei=es.webgl2:(!er||"webgl"===er)&&"webgl"in es&&(ei=es.webgl),ei=ei||eu(er),er=er||1===ei.version?"webgl":"webgl2";let eo=ei.gl;return es[er]=ei,eo.isContextLost()?(delete es[er],en(er)):(eo.disable(eo.DEPTH_TEST),eo.disable(eo.STENCIL_TEST),eo.disable(eo.BLEND),eo.disable(eo.DITHER),eo.disable(eo.POLYGON_OFFSET_FILL),eo.disable(eo.SAMPLE_COVERAGE),eo.enable(eo.SCISSOR_TEST),eo.enable(eo.CULL_FACE),eo.cullFace(eo.BACK),ei)},er.createNewWebGLContext=eu},1713:function(en,er,ei){"use strict";var eo=this&&this.__createBinding||(Object.create?function(en,er,ei,eo){void 0===eo&&(eo=ei);var ea=Object.getOwnPropertyDescriptor(er,ei);ea&&!("get"in ea?!er.__esModule:ea.writable||ea.configurable)||(ea={enumerable:!0,get:function(){return er[ei]}}),Object.defineProperty(en,eo,ea)}:function(en,er,ei,eo){void 0===eo&&(eo=ei),en[eo]=er[ei]}),ea=this&&this.__setModuleDefault||(Object.create?function(en,er){Object.defineProperty(en,"default",{enumerable:!0,value:er})}:function(en,er){en.default=er}),es=this&&this.__importStar||function(en){if(en&&en.__esModule)return en;var er={};if(null!=en)for(var ei in en)"default"!==ei&&Object.prototype.hasOwnProperty.call(en,ei)&&eo(er,en,ei);return ea(er,en),er};Object.defineProperty(er,"__esModule",{value:!0}),er.WebGLContext=er.linearSearchLastTrue=void 0;let eu=ei(1670),ec=es(ei(7769)),ef=ei(9390);function eA(en){let er=0;for(;er<en.length&&en[er]();++er);return er-1}er.linearSearchLastTrue=eA,er.WebGLContext=class{constructor(en,er){this.frameBufferBound=!1,this.itemsToPoll=[],this.gl=en,this.version=er,this.getExtensions(),this.vertexbuffer=this.createVertexbuffer(),this.framebuffer=this.createFramebuffer(),this.queryVitalParameters()}allocateTexture(en,er,ei,eo){let ea=this.gl,es=ea.createTexture();ea.bindTexture(ea.TEXTURE_2D,es),ea.texParameteri(ea.TEXTURE_2D,ea.TEXTURE_MIN_FILTER,ea.NEAREST),ea.texParameteri(ea.TEXTURE_2D,ea.TEXTURE_MAG_FILTER,ea.NEAREST),ea.texParameteri(ea.TEXTURE_2D,ea.TEXTURE_WRAP_S,ea.CLAMP_TO_EDGE),ea.texParameteri(ea.TEXTURE_2D,ea.TEXTURE_WRAP_T,ea.CLAMP_TO_EDGE);let eu=eo?ei.encode(eo,en*er):null;return ea.texImage2D(ea.TEXTURE_2D,0,ei.internalFormat,en,er,0,ei.format,ei.textureType,eu),this.checkError(),es}updateTexture(en,er,ei,eo,ea){let es=this.gl;es.bindTexture(es.TEXTURE_2D,en);let eu=eo.encode(ea,er*ei);es.texSubImage2D(es.TEXTURE_2D,0,0,0,er,ei,eo.format,eo.textureType,eu),this.checkError()}attachFramebuffer(en,er,ei){let eo=this.gl;eo.bindTexture(eo.TEXTURE_2D,en),eo.bindFramebuffer(eo.FRAMEBUFFER,this.framebuffer),eo.framebufferTexture2D(eo.FRAMEBUFFER,eo.COLOR_ATTACHMENT0,eo.TEXTURE_2D,en,0),this.checkError(),eo.viewport(0,0,er,ei),eo.scissor(0,0,er,ei)}readTexture(en,er,ei,eo,ea,es){let eu=this.gl;es||(es=1),this.frameBufferBound||this.attachFramebuffer(en,er,ei);let ec=this.getEncoder(ea,es),ef=ec.allocate(er*ei);return eu.bindTexture(eu.TEXTURE_2D,en),eu.framebufferTexture2D(eu.FRAMEBUFFER,eu.COLOR_ATTACHMENT0,eu.TEXTURE_2D,en,0),eu.readPixels(0,0,er,ei,eu.RGBA,ec.textureType,ef),this.checkError(),ec.decode(ef,eo)}isFramebufferReady(){return!0}getActiveTexture(){let en=this.gl;return"TEXTURE"+(en.getParameter(this.gl.ACTIVE_TEXTURE)-en.TEXTURE0)}getTextureBinding(){return this.gl.getParameter(this.gl.TEXTURE_BINDING_2D)}getFramebufferBinding(){return this.gl.getParameter(this.gl.FRAMEBUFFER_BINDING)}setVertexAttributes(en,er){let ei=this.gl;ei.vertexAttribPointer(en,3,ei.FLOAT,!1,20,0),ei.enableVertexAttribArray(en),-1!==er&&(ei.vertexAttribPointer(er,2,ei.FLOAT,!1,20,12),ei.enableVertexAttribArray(er)),this.checkError()}createProgram(en,er){let ei=this.gl,eo=ei.createProgram();return ei.attachShader(eo,en),ei.attachShader(eo,er),ei.linkProgram(eo),eo}compileShader(en,er){let ei=this.gl,eo=ei.createShader(er);if(!eo)throw Error(`createShader() returned null with type ${er}`);if(ei.shaderSource(eo,en),ei.compileShader(eo),!1===ei.getShaderParameter(eo,ei.COMPILE_STATUS))throw Error(`Failed to compile shader: ${ei.getShaderInfoLog(eo)}
|
|
1683
|
+
Shader source:
|
|
1684
|
+
${en}`);return eo}deleteShader(en){this.gl.deleteShader(en)}bindTextureToUniform(en,er,ei){let eo=this.gl;eo.activeTexture(eo.TEXTURE0+er),this.checkError(),eo.bindTexture(eo.TEXTURE_2D,en),this.checkError(),eo.uniform1i(ei,er),this.checkError()}draw(){this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,4),this.checkError()}checkError(){if(eu.env.debug){let en=this.gl,er=en.getError(),ei="";switch(er){case en.NO_ERROR:return;case en.INVALID_ENUM:ei="INVALID_ENUM";break;case en.INVALID_VALUE:ei="INVALID_VALUE";break;case en.INVALID_OPERATION:ei="INVALID_OPERATION";break;case en.INVALID_FRAMEBUFFER_OPERATION:ei="INVALID_FRAMEBUFFER_OPERATION";break;case en.OUT_OF_MEMORY:ei="OUT_OF_MEMORY";break;case en.CONTEXT_LOST_WEBGL:ei="CONTEXT_LOST_WEBGL";break;default:ei=`Unknown WebGL Error: ${er.toString(16)}`}throw Error(ei)}}deleteTexture(en){this.gl.deleteTexture(en)}deleteProgram(en){this.gl.deleteProgram(en)}getEncoder(en,er,ei=0){if(2===this.version)return new ec.RedFloat32DataEncoder(this.gl,er);switch(en){case"float":return 1===ei||this.isRenderFloat32Supported?new ec.RGBAFloatDataEncoder(this.gl,er):new ec.RGBAFloatDataEncoder(this.gl,er,this.textureHalfFloatExtension.HALF_FLOAT_OES);case"int":throw Error("not implemented");case"byte":return new ec.Uint8DataEncoder(this.gl,er);default:throw Error(`Invalid dataType: ${en}`)}}clearActiveTextures(){let en=this.gl;for(let er=0;er<this.maxTextureImageUnits;++er)en.activeTexture(en.TEXTURE0+er),en.bindTexture(en.TEXTURE_2D,null)}dispose(){if(this.disposed)return;let en=this.gl;en.bindFramebuffer(en.FRAMEBUFFER,null),en.deleteFramebuffer(this.framebuffer),en.bindBuffer(en.ARRAY_BUFFER,null),en.deleteBuffer(this.vertexbuffer),en.bindBuffer(en.ELEMENT_ARRAY_BUFFER,null),en.finish(),this.disposed=!0}createDefaultGeometry(){return new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0])}createVertexbuffer(){let en=this.gl,er=en.createBuffer();if(!er)throw Error("createBuffer() returned null");let ei=this.createDefaultGeometry();return en.bindBuffer(en.ARRAY_BUFFER,er),en.bufferData(en.ARRAY_BUFFER,ei,en.STATIC_DRAW),this.checkError(),er}createFramebuffer(){let en=this.gl.createFramebuffer();if(!en)throw Error("createFramebuffer returned null");return en}queryVitalParameters(){let en=this.gl;if(this.isFloatTextureAttachableToFrameBuffer=this.checkFloatTextureAttachableToFrameBuffer(),this.isRenderFloat32Supported=this.checkRenderFloat32(),this.isFloat32DownloadSupported=this.checkFloat32Download(),1===this.version&&!this.textureHalfFloatExtension&&!this.isRenderFloat32Supported)throw Error("both float32 and float16 TextureType are not supported");this.isBlendSupported=!this.isRenderFloat32Supported||this.checkFloat32Blend(),this.maxTextureSize=en.getParameter(en.MAX_TEXTURE_SIZE),this.maxTextureImageUnits=en.getParameter(en.MAX_TEXTURE_IMAGE_UNITS),this.version}getExtensions(){2===this.version?(this.colorBufferFloatExtension=this.gl.getExtension("EXT_color_buffer_float"),this.disjointTimerQueryWebgl2Extension=this.gl.getExtension("EXT_disjoint_timer_query_webgl2")):(this.textureFloatExtension=this.gl.getExtension("OES_texture_float"),this.textureHalfFloatExtension=this.gl.getExtension("OES_texture_half_float"))}checkFloatTextureAttachableToFrameBuffer(){let en=this.gl,er=en.createTexture();en.bindTexture(en.TEXTURE_2D,er);let ei=2===this.version?en.RGBA32F:en.RGBA;en.texImage2D(en.TEXTURE_2D,0,ei,1,1,0,en.RGBA,en.FLOAT,null);let eo=en.createFramebuffer();en.bindFramebuffer(en.FRAMEBUFFER,eo),en.framebufferTexture2D(en.FRAMEBUFFER,en.COLOR_ATTACHMENT0,en.TEXTURE_2D,er,0);let ea=en.checkFramebufferStatus(en.FRAMEBUFFER)===en.FRAMEBUFFER_COMPLETE;return en.bindTexture(en.TEXTURE_2D,null),en.bindFramebuffer(en.FRAMEBUFFER,null),en.deleteTexture(er),en.deleteFramebuffer(eo),ea}checkRenderFloat32(){if(2===this.version){if(!this.colorBufferFloatExtension)return!1}else if(!this.textureFloatExtension)return!1;return this.isFloatTextureAttachableToFrameBuffer}checkFloat32Download(){if(2===this.version){if(!this.colorBufferFloatExtension)return!1}else if(!this.textureFloatExtension||!this.gl.getExtension("WEBGL_color_buffer_float"))return!1;return this.isFloatTextureAttachableToFrameBuffer}checkFloat32Blend(){let en,er,ei,eo,ea;let es=this.gl;try{en=es.createTexture(),er=es.createFramebuffer(),es.bindTexture(es.TEXTURE_2D,en);let eu=2===this.version?es.RGBA32F:es.RGBA;return es.texImage2D(es.TEXTURE_2D,0,eu,1,1,0,es.RGBA,es.FLOAT,null),es.bindFramebuffer(es.FRAMEBUFFER,er),es.framebufferTexture2D(es.FRAMEBUFFER,es.COLOR_ATTACHMENT0,es.TEXTURE_2D,en,0),es.enable(es.BLEND),!!(ei=es.createShader(es.VERTEX_SHADER))&&(es.shaderSource(ei,"void main(){}"),es.compileShader(ei),!!(eo=es.createShader(es.FRAGMENT_SHADER))&&(es.shaderSource(eo,"precision highp float;void main(){gl_FragColor=vec4(0.5);}"),es.compileShader(eo),!!(ea=es.createProgram())&&(es.attachShader(ea,ei),es.attachShader(ea,eo),es.linkProgram(ea),es.useProgram(ea),es.drawArrays(es.POINTS,0,1),es.getError()===es.NO_ERROR)))}finally{es.disable(es.BLEND),ea&&es.deleteProgram(ea),ei&&es.deleteShader(ei),eo&&es.deleteShader(eo),er&&(es.bindFramebuffer(es.FRAMEBUFFER,null),es.deleteFramebuffer(er)),en&&(es.bindTexture(es.TEXTURE_2D,null),es.deleteTexture(en))}}beginTimer(){if(2===this.version&&this.disjointTimerQueryWebgl2Extension){let en=this.gl,er=this.disjointTimerQueryWebgl2Extension,ei=en.createQuery();return en.beginQuery(er.TIME_ELAPSED_EXT,ei),ei}throw Error("WebGL1 profiling currently not supported.")}endTimer(){if(2!==this.version||!this.disjointTimerQueryWebgl2Extension)throw Error("WebGL1 profiling currently not supported");{let en=this.gl,er=this.disjointTimerQueryWebgl2Extension;en.endQuery(er.TIME_ELAPSED_EXT)}}isTimerResultAvailable(en){let er=!1,ei=!1;if(2!==this.version||!this.disjointTimerQueryWebgl2Extension)throw Error("WebGL1 profiling currently not supported");{let eo=this.gl,ea=this.disjointTimerQueryWebgl2Extension;er=eo.getQueryParameter(en,eo.QUERY_RESULT_AVAILABLE),ei=eo.getParameter(ea.GPU_DISJOINT_EXT)}return er&&!ei}getTimerResult(en){let er=0;if(2!==this.version)throw Error("WebGL1 profiling currently not supported");{let ei=this.gl;er=ei.getQueryParameter(en,ei.QUERY_RESULT),ei.deleteQuery(en)}return er/1e6}async waitForQueryAndGetTime(en){return await (0,ef.repeatedTry)(()=>this.isTimerResultAvailable(en)),this.getTimerResult(en)}async createAndWaitForFence(){let en=this.createFence(this.gl);return this.pollFence(en)}createFence(en){let er;let ei=en,eo=ei.fenceSync(ei.SYNC_GPU_COMMANDS_COMPLETE,0);return en.flush(),er=null===eo?()=>!0:()=>{let en=ei.clientWaitSync(eo,0,0);return en===ei.ALREADY_SIGNALED||en===ei.CONDITION_SATISFIED},{query:eo,isFencePassed:er}}async pollFence(en){return new Promise(er=>{this.addItemToPoll(()=>en.isFencePassed(),()=>er())})}pollItems(){let en=eA(this.itemsToPoll.map(en=>en.isDoneFn));for(let er=0;er<=en;++er){let{resolveFn:en}=this.itemsToPoll[er];en()}this.itemsToPoll=this.itemsToPoll.slice(en+1)}async addItemToPoll(en,er){this.itemsToPoll.push({isDoneFn:en,resolveFn:er}),this.itemsToPoll.length>1||await (0,ef.repeatedTry)(()=>(this.pollItems(),0===this.itemsToPoll.length))}}},1036:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.ExecutionPlan=void 0;let eo=ei(6231);class ea{constructor(en,er){this.op=en,this.node=er}}er.ExecutionPlan=class{constructor(en,er,ei){this.graph=en,this.profiler=ei,this.initialize(er)}initialize(en){this.profiler.event("session","ExecutionPlan.initialize",()=>{let er=this.graph.getNodes();if(er.length!==en.length)throw Error("The size of nodes and OPs do not match.");this._ops=en.map((en,ei)=>new ea(en,er[ei])),this.reset(),this._starter=[],this._ops.forEach((en,er)=>{let ei=!0;for(let er of en.node.inputs)if(!this._values[er]&&-1===this.graph.getInputIndices().indexOf(er)){ei=!1;break}ei&&this._starter.push(er)})})}reset(){this._values=this.graph.getValues().map(en=>en.tensor)}async execute(en,er){return this.profiler.event("session","ExecutionPlan.execute",async()=>{this.reset();let ei=en.createInferenceHandler(),ea=this.graph.getInputIndices();if(er.length!==ea.length)throw Error(`number of input tensors don't match the number of inputs to the model: actual: ${er.length} expected: ${ea.length}`);er.forEach((en,er)=>{let ei=ea[er];this._values[ei]=en});let es=this._starter.slice(0),eu=this.graph.getValues(),ec=this.graph.getNodes(),ef=0;for(;ef<es.length;){let en=es[ef++],er=this._ops[en],ea=er.node.inputs.map(en=>this._values[en]);if(-1!==ea.indexOf(void 0))throw Error(`unresolved input detected: op: ${er.node}`);let eA=ea;eo.Logger.verbose("ExecPlan",`Runing op:${er.node.name} (${eA.map((en,ei)=>`'${er.node.inputs[ei]}': ${en.type}[${en.dims.join(",")}]`).join(", ")})`);let ed=await this.profiler.event("node",er.node.name,async()=>er.op.impl(ei,eA,er.op.context));if(ed.length!==er.node.outputs.length)throw Error("the size of output does not match model definition.");ed.forEach((en,ei)=>{let eo=er.node.outputs[ei];if(this._values[eo])throw Error(`output [${eo}] already has value: op:${er.node.name}`);this._values[eo]=en});let eh=new Set;ed.forEach((en,ei)=>{let eo=er.node.outputs[ei];for(let en of eu[eo].to){let er=ec[en],ei=!0;for(let en of er.inputs)if(!this._values[en]){ei=!1;break}ei&&eh.add(en)}}),es.push(...eh)}let eA=[];for(let en=0;en<this.graph.getOutputIndices().length;en++){let er=this.graph.getOutputIndices()[en],ei=this._values[er];if(void 0===ei)throw Error(`required output [${er}] does not have value`);0===er?await ei.getData():ei.data,eA.push(ei)}return eo.Logger.verbose("ExecPlan","disposing of inferenceHandler"),ei.dispose(),eA})}}},7070:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.Graph=void 0;let eo=ei(1446),ea=ei(7778),es=ei(9395),eu=ei(9162),ec=ei(2517);var ef=es.onnxruntime.experimental.fbs;er.Graph={from:(en,er)=>new eh(en,er)};class eA{constructor(en){this._from=void 0,this._to=[],this.tensor=void 0,this.type=void 0,en&&(this.type=ec.ProtoUtil.tensorValueTypeFromProto(en.type.tensorType))}get from(){return this._from}get to(){return this._to}}class ed{constructor(en,er){en instanceof eo.onnx.NodeProto?(this.name=en.name,this.opType=en.opType,this.attributes=new ea.Attribute(en.attribute)):en instanceof ef.Node&&(this.name=null!=er?er:en.name(),this.opType=en.opType(),this.attributes=new ea.Attribute(ec.ProtoUtil.tensorAttributesFromORTFormat(en))),this.inputs=[],this.outputs=[],this.executeNode=!0}}class eh{constructor(en,er){if(!en)throw TypeError("graph is empty");this.buildGraph(en),this.transformGraph(er),this.checkIsAcyclic()}getInputIndices(){return this._allInputIndices}getInputNames(){return this._allInputNames}getOutputIndices(){return this._allOutputIndices}getOutputNames(){return this._allOutputNames}getValues(){return this._allData}getNodes(){return this._nodes}buildGraph(en){if(en instanceof eo.onnx.GraphProto)this.buildGraphFromOnnxFormat(en);else{if(!(en instanceof ef.Graph))throw TypeError("Graph type is not supported.");this.buildGraphFromOrtFormat(en)}}buildGraphFromOnnxFormat(en){let er=new Map;this._allData=[],this._allInputIndices=[],this._allInputNames=[],this._allOutputIndices=[],this._allOutputNames=[],this._nodes=[];let ei=new Map;if(!en.input)throw Error("missing information in graph: input");let eo=[];for(let ei of en.input){if(er.has(ei.name))throw Error(`duplicated input name: ${ei.name}`);let en=this._allData.push(new eA(ei))-1;er.set(ei.name,en),eo.push(ei.name)}if(!en.initializer)throw Error("missing information in graph: initializer");for(let ei of en.initializer){let en=er.get(ei.name);if(void 0===en){let eo=new eA;eo.type={shape:{dims:ec.ProtoUtil.tensorDimsFromProto(ei.dims)},tensorType:ec.ProtoUtil.tensorDataTypeFromProto(ei.dataType)},en=this._allData.push(eo)-1,er.set(ei.name,en)}this._allData[en]._from=-1,this._allData[en].tensor=eu.Tensor.fromProto(ei)}for(let en=0;en<this._allData.length;en++)this._allData[en].tensor||(this._allInputIndices.push(en),this._allInputNames.push(eo[en]));if(!en.output)throw Error("missing information in graph: output");for(let ei of en.output){if(er.has(ei.name))throw Error(`duplicated output name: ${ei.name}`);let en=this._allData.push(new eA(ei))-1;er.set(ei.name,en),this._allOutputIndices.push(en),this._allOutputNames.push(ei.name)}if(!en.node)throw Error("missing information in graph: node");for(let er of en.node){if(!er.name)for(let en=0;;en++){let eo=`unnamed_${er.opType}_${en}`;if(!ei.has(eo)){er.name=eo;break}}if(ei.has(er.name))throw Error(`duplicated node name: ${er.name}`);let en=this._nodes.push(new ed(er))-1;ei.set(er.name,en)}for(let ei=0;ei<this._nodes.length;ei++){let eo=this._nodes[ei],ea=en.node[ei];if(!ea.output)throw Error(`missing output for node: ${ea.name}`);for(let en of ea.output){let es=er.get(en);if(void 0===es&&(es=this._allData.push(new eA)-1,er.set(en,es)),eo.outputs.push(es),void 0!==this._allData[es]._from)throw Error(`multiple nodes output to one data value: ${es}`);if(this._allData[es]._from=ei,"Constant"===ea.opType){if(!ea.attribute||1!==ea.attribute.length||!ea.attribute[0].t)throw Error("missing attributes or missing tensor value in attributes for this Constant operator");if(!ea.output||1!==ea.output.length)throw Error("missing output or incorrect number of outputs for this Constant operator");eo.outputs.pop(),eo.executeNode=!1,this._allData[es]._from=-1,this._allData[es].tensor=eu.Tensor.fromProto(ea.attribute[0].t)}}}for(let ei=0;ei<this._nodes.length;ei++){let eo=this._nodes[ei],ea=en.node[ei];if(!ea.input)throw Error(`missing input for node: ${ea.name}`);for(let en of ea.input){let es=er.get(en);if(void 0===es){if(""===en&&3===ea.input.length&&"Resize"===ea.opType)continue;throw Error(`unrecognized input '${en}' for node: ${ea.name}`)}eo.inputs.push(es),this._allData[es]._to.push(ei)}}return!0}buildGraphFromOrtFormat(en){var er,ei,eo;let ea=new Map;this._allData=[],this._allInputIndices=[],this._allInputNames=[],this._allOutputIndices=[],this._allOutputNames=[],this._nodes=[];let es=new Map,eh=[];for(let es=0;es<en.inputsLength();es++){let eu=en.inputs(es);if(ea.has(eu))throw Error(`duplicated input name: ${eu}`);for(let es=0;es<en.nodeArgsLength();es++)if((null===(er=en.nodeArgs(es))||void 0===er?void 0:er.name())===eu){let er=new eA;if((null===(eo=null===(ei=en.nodeArgs(es))||void 0===ei?void 0:ei.type())||void 0===eo?void 0:eo.valueType())!==ef.TypeInfoValue.tensor_type)throw Error("Unexpected value type for the nodeArg.");let ed=en.nodeArgs(es).type().value(new ef.TensorTypeAndShape),ep=ec.ProtoUtil.tensorDataTypeFromProto(ed.elemType()),eg=ed.shape(),eb=[];for(let en=0;en<eg.dimLength();en++)eb.push(ec.LongUtil.longToNumber(eg.dim(en).value().dimValue()));er.type={shape:{dims:eb},tensorType:ep};let em=this._allData.push(er)-1;ea.set(eu,em),eh.push(eu)}}for(let er=0;er<en.initializersLength();er++){let ei=en.initializers(er),eo=ea.get(ei.name());if(void 0===eo){let en=new eA,er=ec.ProtoUtil.tensorDimsFromORTFormat(ei),es=ec.ProtoUtil.tensorDataTypeFromProto(ei.dataType());en.type={shape:{dims:er},tensorType:es},eo=this._allData.push(en)-1,ea.set(ei.name(),eo)}this._allData[eo]._from=-1,this._allData[eo].tensor=eu.Tensor.fromOrtTensor(ei)}for(let en=0;en<this._allData.length;en++)this._allData[en].tensor||(this._allInputIndices.push(en),this._allInputNames.push(eh[en]));for(let er=0;er<en.outputsLength();er++){let ei=en.outputs(er);if(ea.has(ei))throw Error(`duplicated output name: ${ei}`);let eo=this._allData.push(new eA)-1;ea.set(ei,eo),this._allOutputIndices.push(eo),this._allOutputNames.push(ei)}if(!en.nodes)throw Error("missing information in graph: node");for(let er=0;er<en.nodesLength();er++){let ei=en.nodes(er),eo=ei.name();if(!eo)for(let en=0;eo=`unnamed_${ei.opType()}_${en}`,es.has(eo);en++);if(es.has(eo))throw Error(`duplicated node name: ${eo}`);let ea=this._nodes.push(new ed(ei,eo))-1;es.set(eo,ea)}for(let er=0;er<this._nodes.length;er++){let ei=this._nodes[er],eo=en.nodes(er);if(null==eo)throw Error(`No node exists at index ${er}`);if(0===(null==eo?void 0:eo.outputsLength()))throw Error(`missing output for node: ${eo.name}`);for(let en=0;en<(null==eo?void 0:eo.outputsLength());en++){let es=null==eo?void 0:eo.outputs(en),ec=ea.get(es);if(void 0===ec&&(ec=this._allData.push(new eA)-1,ea.set(es,ec)),ei.outputs.push(ec),void 0!==this._allData[ec]._from)throw Error(`multiple nodes output to one data value: ${ec}`);if(this._allData[ec]._from=er,"Constant"===eo.opType()){if(1!==eo.attributesLength()||!eo.attributes(0).t())throw Error("missing attributes or missing tensor value in attributes for this Constant operator");if(1!==eo.outputsLength())throw Error("missing output or incorrect number of outputs for this Constant operator");ei.outputs.pop(),ei.executeNode=!1,this._allData[ec]._from=-1,this._allData[ec].tensor=eu.Tensor.fromOrtTensor(eo.attributes(0).t())}}}for(let er=0;er<this._nodes.length;er++){let ei=this._nodes[er],eo=en.nodes(er);if(0===eo.inputsLength())throw Error(`missing input for node: ${eo.name}`);for(let en=0;en<eo.inputsLength();en++){let es=eo.inputs(en),eu=ea.get(es);if(void 0===eu)throw Error(`unrecognized input '${es}' for node: ${eo.name()}`);ei.inputs.push(eu),this._allData[eu]._to.push(er)}}}checkIsAcyclic(){let en=new Set;this._allInputIndices.forEach(er=>{this._allData[er]._to.forEach(er=>{en.add(er)})});let er=Array.from(en),ei=Array(this._nodes.length).fill("white");for(;er.length>0;){let en=er.pop();"gray"===ei[en]?ei[en]="black":(er.push(en),ei[en]="gray",this._nodes[en].outputs.forEach(eo=>{let ea=this._allData[eo];if(void 0!==ea.tensor)throw Error("node outputs should not be initialized");if(ea._from!==en)throw Error("from property of the Value object doesn't match index of Node being processed");ea._to.forEach(en=>{if("gray"===ei[en])throw Error("model graph is cyclic");"white"===ei[en]&&er.push(en)})}))}}transformGraph(en){this.removeAllIdentityNodes(),this.removeAllDropoutNodes(),this.fuseConvActivationNodes(),en&&en.transformGraph(this),this.finalizeGraph()}finalizeGraph(){let en=0;for(let er=0;er<this._nodes.length;er++)this._nodes[er].executeNode?en>0&&(this._nodes[er].inputs.forEach(ei=>{let eo=this._allData[ei]._to.indexOf(er+en);-1!==eo&&(this._allData[ei]._to[eo]=er)}),this._nodes[er].outputs.forEach(ei=>{this._allData[ei]._from&&this._allData[ei]._from===er+en&&(this._allData[ei]._from=er)})):(en++,this._nodes[er].outputs.forEach(en=>{this._allData[en]._from=-2}),this._nodes.splice(er,1),er--);en=0;for(let er=0;er<this._allData.length;er++)if(-2!==this._allData[er].from||-1!==this._allOutputIndices.indexOf(er+en)){if(en>0){let ei=-1;void 0!==this._allData[er].from&&-1!==this._allData[er].from?-1!==(ei=this._nodes[this._allData[er].from].outputs.indexOf(er+en))&&(this._nodes[this._allData[er].from].outputs[ei]=er):-1!==(ei=this._allInputIndices.indexOf(er+en))&&(this._allInputIndices[ei]=er),this._allData[er].to.forEach(eo=>{-1!==(ei=this._nodes[eo].inputs.indexOf(er+en))&&(this._nodes[eo].inputs[ei]=er)}),0===this._allData[er].to.length&&-1!==(ei=this._allOutputIndices.indexOf(er+en))&&(this._allOutputIndices[ei]=er)}}else en++,this._allData.splice(er,1),er--}deleteNode(en){let er=this._nodes[en];if(er.outputs.length>1){for(let en=1;en<er.outputs.length;en++)if(this._allData[er.outputs[en]].to.length>0)throw Error("Node deletion with more than one output connected to other nodes is not supported. ")}er.executeNode=!1;let ei=er.inputs[0],eo=er.outputs[0],ea=this._allData[eo].to,es=this._allData[ei].to.indexOf(en);if(-1===es)throw Error("The Value object doesn't have the current Node in it's 'to' property ");this._allData[ei].to.splice(es,1),this._allData[eo]._to=[];let eu=this._allOutputIndices.indexOf(eo);if(-1!==eu&&(this._allOutputIndices[eu]=ei),ea&&ea.length>0)for(let en of ea){let er=this._nodes[en].inputs.indexOf(eo);if(-1===er)throw Error("The Node object doesn't have the output Value in it's 'inputs' property ");this._nodes[en].inputs[er]=ei,this._allData[ei].to.push(en)}}removeAllDropoutNodes(){let en=0;for(let er of this._nodes){if("Dropout"===er.opType){if(1!==er.inputs.length)throw Error("Dropout nodes should only contain one input. ");if(1!==er.outputs.length&&2!==er.outputs.length)throw Error("Dropout nodes should contain either 1 or 2 output(s)");if(2===er.outputs.length&&0!==this._allData[er.outputs[1]]._to.length)throw Error("Dropout nodes's second output should not be referenced by other nodes");this.deleteNode(en)}en++}}removeAllIdentityNodes(){let en=0;for(let er of this._nodes)"Identity"===er.opType&&this.deleteNode(en),en++}isActivation(en){switch(en.opType){case"Relu":case"Sigmoid":case"Clip":return!0;default:return!1}}fuseConvActivationNodes(){for(let en of this._nodes)if("Conv"===en.opType){let er=this._allData[en.outputs[0]]._to;if(1===er.length&&this.isActivation(this._nodes[er[0]])){let ei=this._nodes[er[0]];if("Clip"===ei.opType){if(1===ei.inputs.length)try{en.attributes.set("activation_params","floats",[ei.attributes.getFloat("min"),ei.attributes.getFloat("max")])}catch(er){en.attributes.set("activation_params","floats",[ec.MIN_CLIP,ec.MAX_CLIP])}else{if(!(ei.inputs.length>=3&&void 0!==this._allData[ei.inputs[1]].tensor&&void 0!==this._allData[ei.inputs[2]].tensor))continue;en.attributes.set("activation_params","floats",[this._allData[ei.inputs[1]].tensor.floatData[0],this._allData[ei.inputs[2]].tensor.floatData[0]])}}en.attributes.set("activation","string",ei.opType),this.deleteNode(er[0])}}}}},6231:(en,er)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.now=er.Profiler=er.Logger=void 0;let ei={verbose:1e3,info:2e3,warning:4e3,error:5e3,fatal:6e3},eo={none:new class{log(en,er,ei){}},console:new class{log(en,er,ei){console.log(`${this.color(en)} ${ei?"\x1b[35m"+ei+"\x1b[0m ":""}${er}`)}color(en){switch(en){case"verbose":return"\x1b[34;40mv\x1b[0m";case"info":return"\x1b[32mi\x1b[0m";case"warning":return"\x1b[30;43mw\x1b[0m";case"error":return"\x1b[31;40me\x1b[0m";case"fatal":return"\x1b[101mf\x1b[0m";default:throw Error(`unsupported severity: ${en}`)}}}},ea={provider:"console",minimalSeverity:"warning",logDateTime:!0,logSourceLocation:!1},es={"":ea};function eu(en,er,ei,eo){var ea;if(void 0===er)return ea=en,{verbose:eu.verbose.bind(null,ea),info:eu.info.bind(null,ea),warning:eu.warning.bind(null,ea),error:eu.error.bind(null,ea),fatal:eu.fatal.bind(null,ea)};if(void 0===ei)ec(en,er);else if("number"==typeof ei&&void 0===eo)ec(en,er);else if("string"==typeof ei&&void 0===eo)ec(en,ei,0,er);else{if("string"!=typeof ei||"number"!=typeof eo)throw TypeError("input is valid");ec(en,ei,0,er)}}function ec(en,er,ea,eu){let ec=es[eu||""]||es[""];ei[en]<ei[ec.minimalSeverity]||(ec.logDateTime&&(er=`${(new Date).toISOString()}|${er}`),ec.logSourceLocation,eo[ec.provider].log(en,er,eu))}!function(en){function er(en){es={},ei("",en||{})}function ei(en,ei){if("*"===en)er(ei);else{let er=es[en]||ea;es[en]={provider:ei.provider||er.provider,minimalSeverity:ei.minimalSeverity||er.minimalSeverity,logDateTime:void 0===ei.logDateTime?er.logDateTime:ei.logDateTime,logSourceLocation:void 0===ei.logSourceLocation?er.logSourceLocation:ei.logSourceLocation}}}en.verbose=function(er,ei){en("verbose",er,ei)},en.info=function(er,ei){en("info",er,ei)},en.warning=function(er,ei){en("warning",er,ei)},en.error=function(er,ei){en("error",er,ei)},en.fatal=function(er,ei){en("fatal",er,ei)},en.reset=er,en.set=ei,en.setWithEnv=function(en){let er={};en.logLevel&&(er.minimalSeverity=en.logLevel),ei("",er)}}(eu||(eu={})),er.Logger=eu;class ef{constructor(en,er,ei,eo,ea,es){this.category=en,this.name=er,this.startTime=ei,this.endCallback=eo,this.timer=ea,this.ctx=es}end(){return this.endCallback(this)}async checkTimer(){if(void 0===this.ctx||void 0===this.timer)throw Error("No webgl timer found");return this.ctx.endTimer(),this.ctx.waitForQueryAndGetTime(this.timer)}}class eA{constructor(en,er,ei,eo){this.category=en,this.name=er,this.startTime=ei,this.endTime=eo}}er.Profiler=class{static create(en){return void 0===en?new this:new this(en.maxNumberEvents,en.flushBatchSize,en.flushIntervalInMilliseconds)}constructor(en,er,ei){this._started=!1,this._flushPointer=0,this._started=!1,this._maxNumberEvents=void 0===en?1e4:en,this._flushBatchSize=void 0===er?10:er,this._flushIntervalInMilliseconds=void 0===ei?5e3:ei}start(){this._started=!0,this._timingEvents=[],this._flushTime=(0,er.now)(),this._flushPointer=0}stop(){for(this._started=!1;this._flushPointer<this._timingEvents.length;this._flushPointer++)this.logOneEvent(this._timingEvents[this._flushPointer])}event(en,er,ei,eo){let ea=this._started?this.begin(en,er,eo):void 0,es=!1,eu=ei();if(eu&&"function"==typeof eu.then)return es=!0,new Promise((en,er)=>{eu.then(async er=>{ea&&await ea.end(),en(er)},async en=>{ea&&await ea.end(),er(en)})});if(!es&&ea){let en=ea.end();if(en&&"function"==typeof en.then)return new Promise((er,ei)=>{en.then(()=>{er(eu)},en=>{ei(en)})})}return eu}begin(en,ei,eo){if(!this._started)throw Error("profiler is not started yet");if(void 0===eo){let eo=(0,er.now)();return this.flush(eo),new ef(en,ei,eo,en=>this.endSync(en))}{let er=eo.beginTimer();return new ef(en,ei,0,async en=>this.end(en),er,eo)}}async end(en){let er=await en.checkTimer();this._timingEvents.length<this._maxNumberEvents&&(this._timingEvents.push(new eA(en.category,en.name,en.startTime,er)),this.flush(er))}endSync(en){let ei=(0,er.now)();this._timingEvents.length<this._maxNumberEvents&&(this._timingEvents.push(new eA(en.category,en.name,en.startTime,ei)),this.flush(ei))}logOneEvent(en){er.Logger.verbose(`Profiler.${en.category}`,`${(en.endTime-en.startTime).toFixed(2)}ms on event '${en.name}' at ${en.endTime.toFixed(2)}`)}flush(en){if(this._timingEvents.length-this._flushPointer>=this._flushBatchSize||en-this._flushTime>=this._flushIntervalInMilliseconds){for(let en=this._flushPointer;this._flushPointer<en+this._flushBatchSize&&this._flushPointer<this._timingEvents.length;this._flushPointer++)this.logOneEvent(this._timingEvents[this._flushPointer]);this._flushTime=(0,er.now)()}}get started(){return this._started}},er.now="undefined"!=typeof performance&&performance.now?()=>performance.now():Date.now},2644:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.Model=void 0;let eo=ei(5686),ea=ei(1446),es=ei(7070),eu=ei(9395),ec=ei(2517);var ef=eu.onnxruntime.experimental.fbs;er.Model=class{constructor(){}load(en,er,ei){if(!ei)try{return void this.loadFromOnnxFormat(en,er)}catch(en){if(void 0!==ei)throw en}this.loadFromOrtFormat(en,er)}loadFromOnnxFormat(en,er){let ei=ea.onnx.ModelProto.decode(en);if(3>ec.LongUtil.longToNumber(ei.irVersion))throw Error("only support ONNX model with IR_VERSION>=3");this._opsets=ei.opsetImport.map(en=>({domain:en.domain,version:ec.LongUtil.longToNumber(en.version)})),this._graph=es.Graph.from(ei.graph,er)}loadFromOrtFormat(en,er){let ei=new eo.flatbuffers.ByteBuffer(en),ea=ef.InferenceSession.getRootAsInferenceSession(ei).model();if(3>ec.LongUtil.longToNumber(ea.irVersion()))throw Error("only support ONNX model with IR_VERSION>=3");this._opsets=[];for(let en=0;en<ea.opsetImportLength();en++){let er=ea.opsetImport(en);this._opsets.push({domain:null==er?void 0:er.domain(),version:ec.LongUtil.longToNumber(er.version())})}this._graph=es.Graph.from(ea.graph(),er)}get graph(){return this._graph}get opsets(){return this._opsets}}},782:(en,er)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.FLOAT_TYPES=er.INT_TYPES=er.NUMBER_TYPES=void 0,er.NUMBER_TYPES=["float32","float64","int32","int16","int8","uint16","uint32","uint8"],er.INT_TYPES=["int32","int16","int8","uint16","uint32","uint8"],er.FLOAT_TYPES=["float32","float64"]},1047:(en,er)=>{"use strict";function ei(en,er){if(er.endsWith("+")){let ei=Number.parseInt(er.substring(0,er.length-1),10);return!isNaN(ei)&&ei<=en}if(2===er.split("-").length){let ei=er.split("-"),eo=Number.parseInt(ei[0],10),ea=Number.parseInt(ei[1],10);return!isNaN(eo)&&!isNaN(ea)&&eo<=en&&en<=ea}return Number.parseInt(er,10)===en}Object.defineProperty(er,"__esModule",{value:!0}),er.resolveOperator=void 0,er.resolveOperator=function(en,er,eo){for(let ea of eo){let eo=ea[0],es=ea[1],eu=ea[2],ec=ea[3],ef=ea[4];if(en.opType===eo){for(let en of er)if((en.domain===es||"ai.onnx"===en.domain&&""===es)&&ei(en.version,eu))return{opImpl:ec,opInit:ef}}}throw TypeError(`cannot resolve operator '${en.opType}' with opsets: ${er.map(en=>`${en.domain||"ai.onnx"} v${en.version}`).join(", ")}`)}},9395:(en,er,ei)=>{"use strict";var eo,ea;Object.defineProperty(er,"__esModule",{value:!0}),er.onnxruntime=void 0;let es=ei(5686);(function(en){let er;!function(en){en[en.UNDEFINED=0]="UNDEFINED",en[en.FLOAT=1]="FLOAT",en[en.INT=2]="INT",en[en.STRING=3]="STRING",en[en.TENSOR=4]="TENSOR",en[en.GRAPH=5]="GRAPH",en[en.FLOATS=6]="FLOATS",en[en.INTS=7]="INTS",en[en.STRINGS=8]="STRINGS",en[en.TENSORS=9]="TENSORS",en[en.GRAPHS=10]="GRAPHS",en[en.SPARSE_TENSOR=11]="SPARSE_TENSOR",en[en.SPARSE_TENSORS=12]="SPARSE_TENSORS"}(er=en.AttributeType||(en.AttributeType={}))})((ea=(eo=er.onnxruntime||(er.onnxruntime={})).experimental||(eo.experimental={})).fbs||(ea.fbs={})),function(en){!function(en){!function(en){let er;!function(en){en[en.UNKNOWN=0]="UNKNOWN",en[en.VALUE=1]="VALUE",en[en.PARAM=2]="PARAM"}(er=en.DimensionValueType||(en.DimensionValueType={}))}(en.fbs||(en.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(en){!function(en){let er;!function(en){en[en.UNDEFINED=0]="UNDEFINED",en[en.FLOAT=1]="FLOAT",en[en.UINT8=2]="UINT8",en[en.INT8=3]="INT8",en[en.UINT16=4]="UINT16",en[en.INT16=5]="INT16",en[en.INT32=6]="INT32",en[en.INT64=7]="INT64",en[en.STRING=8]="STRING",en[en.BOOL=9]="BOOL",en[en.FLOAT16=10]="FLOAT16",en[en.DOUBLE=11]="DOUBLE",en[en.UINT32=12]="UINT32",en[en.UINT64=13]="UINT64",en[en.COMPLEX64=14]="COMPLEX64",en[en.COMPLEX128=15]="COMPLEX128",en[en.BFLOAT16=16]="BFLOAT16"}(er=en.TensorDataType||(en.TensorDataType={}))}(en.fbs||(en.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(en){!function(en){let er;!function(en){en[en.Primitive=0]="Primitive",en[en.Fused=1]="Fused"}(er=en.NodeType||(en.NodeType={}))}(en.fbs||(en.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(en){!function(en){let er;!function(en){en[en.NONE=0]="NONE",en[en.tensor_type=1]="tensor_type",en[en.sequence_type=2]="sequence_type",en[en.map_type=3]="map_type"}(er=en.TypeInfoValue||(en.TypeInfoValue={}))}(en.fbs||(en.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsShape(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsShape(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}dim(er,ei){let eo=this.bb.__offset(this.bb_pos,4);return eo?(ei||new en.experimental.fbs.Dimension).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+eo)+4*er),this.bb):null}dimLength(){let en=this.bb.__offset(this.bb_pos,4);return en?this.bb.__vector_len(this.bb_pos+en):0}static startShape(en){en.startObject(1)}static addDim(en,er){en.addFieldOffset(0,er,0)}static createDimVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startDimVector(en,er){en.startVector(4,er,4)}static endShape(en){return en.endObject()}static createShape(en,er){return ei.startShape(en),ei.addDim(en,er),ei.endShape(en)}}er.Shape=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsDimension(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsDimension(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}value(er){let ei=this.bb.__offset(this.bb_pos,4);return ei?(er||new en.experimental.fbs.DimensionValue).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}denotation(en){let er=this.bb.__offset(this.bb_pos,6);return er?this.bb.__string(this.bb_pos+er,en):null}static startDimension(en){en.startObject(2)}static addValue(en,er){en.addFieldOffset(0,er,0)}static addDenotation(en,er){en.addFieldOffset(1,er,0)}static endDimension(en){return en.endObject()}static createDimension(en,er,eo){return ei.startDimension(en),ei.addValue(en,er),ei.addDenotation(en,eo),ei.endDimension(en)}}er.Dimension=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsDimensionValue(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsDimensionValue(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}dimType(){let er=this.bb.__offset(this.bb_pos,4);return er?this.bb.readInt8(this.bb_pos+er):en.experimental.fbs.DimensionValueType.UNKNOWN}dimValue(){let en=this.bb.__offset(this.bb_pos,6);return en?this.bb.readInt64(this.bb_pos+en):this.bb.createLong(0,0)}dimParam(en){let er=this.bb.__offset(this.bb_pos,8);return er?this.bb.__string(this.bb_pos+er,en):null}static startDimensionValue(en){en.startObject(3)}static addDimType(er,ei){er.addFieldInt8(0,ei,en.experimental.fbs.DimensionValueType.UNKNOWN)}static addDimValue(en,er){en.addFieldInt64(1,er,en.createLong(0,0))}static addDimParam(en,er){en.addFieldOffset(2,er,0)}static endDimensionValue(en){return en.endObject()}static createDimensionValue(en,er,eo,ea){return ei.startDimensionValue(en),ei.addDimType(en,er),ei.addDimValue(en,eo),ei.addDimParam(en,ea),ei.endDimensionValue(en)}}er.DimensionValue=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsTensorTypeAndShape(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsTensorTypeAndShape(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}elemType(){let er=this.bb.__offset(this.bb_pos,4);return er?this.bb.readInt32(this.bb_pos+er):en.experimental.fbs.TensorDataType.UNDEFINED}shape(er){let ei=this.bb.__offset(this.bb_pos,6);return ei?(er||new en.experimental.fbs.Shape).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}static startTensorTypeAndShape(en){en.startObject(2)}static addElemType(er,ei){er.addFieldInt32(0,ei,en.experimental.fbs.TensorDataType.UNDEFINED)}static addShape(en,er){en.addFieldOffset(1,er,0)}static endTensorTypeAndShape(en){return en.endObject()}static createTensorTypeAndShape(en,er,eo){return ei.startTensorTypeAndShape(en),ei.addElemType(en,er),ei.addShape(en,eo),ei.endTensorTypeAndShape(en)}}er.TensorTypeAndShape=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsMapType(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsMapType(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}keyType(){let er=this.bb.__offset(this.bb_pos,4);return er?this.bb.readInt32(this.bb_pos+er):en.experimental.fbs.TensorDataType.UNDEFINED}valueType(er){let ei=this.bb.__offset(this.bb_pos,6);return ei?(er||new en.experimental.fbs.TypeInfo).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}static startMapType(en){en.startObject(2)}static addKeyType(er,ei){er.addFieldInt32(0,ei,en.experimental.fbs.TensorDataType.UNDEFINED)}static addValueType(en,er){en.addFieldOffset(1,er,0)}static endMapType(en){return en.endObject()}static createMapType(en,er,eo){return ei.startMapType(en),ei.addKeyType(en,er),ei.addValueType(en,eo),ei.endMapType(en)}}er.MapType=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsSequenceType(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsSequenceType(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}elemType(er){let ei=this.bb.__offset(this.bb_pos,4);return ei?(er||new en.experimental.fbs.TypeInfo).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}static startSequenceType(en){en.startObject(1)}static addElemType(en,er){en.addFieldOffset(0,er,0)}static endSequenceType(en){return en.endObject()}static createSequenceType(en,er){return ei.startSequenceType(en),ei.addElemType(en,er),ei.endSequenceType(en)}}er.SequenceType=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(en){(en.fbs||(en.fbs={})).EdgeEnd=class{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}nodeIndex(){return this.bb.readUint32(this.bb_pos)}srcArgIndex(){return this.bb.readInt32(this.bb_pos+4)}dstArgIndex(){return this.bb.readInt32(this.bb_pos+8)}static createEdgeEnd(en,er,ei,eo){return en.prep(4,12),en.writeInt32(eo),en.writeInt32(ei),en.writeInt32(er),en.offset()}}}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsNodeEdge(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsNodeEdge(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}nodeIndex(){let en=this.bb.__offset(this.bb_pos,4);return en?this.bb.readUint32(this.bb_pos+en):0}inputEdges(er,ei){let eo=this.bb.__offset(this.bb_pos,6);return eo?(ei||new en.experimental.fbs.EdgeEnd).__init(this.bb.__vector(this.bb_pos+eo)+12*er,this.bb):null}inputEdgesLength(){let en=this.bb.__offset(this.bb_pos,6);return en?this.bb.__vector_len(this.bb_pos+en):0}outputEdges(er,ei){let eo=this.bb.__offset(this.bb_pos,8);return eo?(ei||new en.experimental.fbs.EdgeEnd).__init(this.bb.__vector(this.bb_pos+eo)+12*er,this.bb):null}outputEdgesLength(){let en=this.bb.__offset(this.bb_pos,8);return en?this.bb.__vector_len(this.bb_pos+en):0}static startNodeEdge(en){en.startObject(3)}static addNodeIndex(en,er){en.addFieldInt32(0,er,0)}static addInputEdges(en,er){en.addFieldOffset(1,er,0)}static startInputEdgesVector(en,er){en.startVector(12,er,4)}static addOutputEdges(en,er){en.addFieldOffset(2,er,0)}static startOutputEdgesVector(en,er){en.startVector(12,er,4)}static endNodeEdge(en){return en.endObject()}static createNodeEdge(en,er,eo,ea){return ei.startNodeEdge(en),ei.addNodeIndex(en,er),ei.addInputEdges(en,eo),ei.addOutputEdges(en,ea),ei.endNodeEdge(en)}}er.NodeEdge=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsNode(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsNode(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}name(en){let er=this.bb.__offset(this.bb_pos,4);return er?this.bb.__string(this.bb_pos+er,en):null}docString(en){let er=this.bb.__offset(this.bb_pos,6);return er?this.bb.__string(this.bb_pos+er,en):null}domain(en){let er=this.bb.__offset(this.bb_pos,8);return er?this.bb.__string(this.bb_pos+er,en):null}sinceVersion(){let en=this.bb.__offset(this.bb_pos,10);return en?this.bb.readInt32(this.bb_pos+en):0}index(){let en=this.bb.__offset(this.bb_pos,12);return en?this.bb.readUint32(this.bb_pos+en):0}opType(en){let er=this.bb.__offset(this.bb_pos,14);return er?this.bb.__string(this.bb_pos+er,en):null}type(){let er=this.bb.__offset(this.bb_pos,16);return er?this.bb.readInt32(this.bb_pos+er):en.experimental.fbs.NodeType.Primitive}executionProviderType(en){let er=this.bb.__offset(this.bb_pos,18);return er?this.bb.__string(this.bb_pos+er,en):null}inputs(en,er){let ei=this.bb.__offset(this.bb_pos,20);return ei?this.bb.__string(this.bb.__vector(this.bb_pos+ei)+4*en,er):null}inputsLength(){let en=this.bb.__offset(this.bb_pos,20);return en?this.bb.__vector_len(this.bb_pos+en):0}outputs(en,er){let ei=this.bb.__offset(this.bb_pos,22);return ei?this.bb.__string(this.bb.__vector(this.bb_pos+ei)+4*en,er):null}outputsLength(){let en=this.bb.__offset(this.bb_pos,22);return en?this.bb.__vector_len(this.bb_pos+en):0}attributes(er,ei){let eo=this.bb.__offset(this.bb_pos,24);return eo?(ei||new en.experimental.fbs.Attribute).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+eo)+4*er),this.bb):null}attributesLength(){let en=this.bb.__offset(this.bb_pos,24);return en?this.bb.__vector_len(this.bb_pos+en):0}inputArgCounts(en){let er=this.bb.__offset(this.bb_pos,26);return er?this.bb.readInt32(this.bb.__vector(this.bb_pos+er)+4*en):0}inputArgCountsLength(){let en=this.bb.__offset(this.bb_pos,26);return en?this.bb.__vector_len(this.bb_pos+en):0}inputArgCountsArray(){let en=this.bb.__offset(this.bb_pos,26);return en?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+en),this.bb.__vector_len(this.bb_pos+en)):null}implicitInputs(en,er){let ei=this.bb.__offset(this.bb_pos,28);return ei?this.bb.__string(this.bb.__vector(this.bb_pos+ei)+4*en,er):null}implicitInputsLength(){let en=this.bb.__offset(this.bb_pos,28);return en?this.bb.__vector_len(this.bb_pos+en):0}static startNode(en){en.startObject(13)}static addName(en,er){en.addFieldOffset(0,er,0)}static addDocString(en,er){en.addFieldOffset(1,er,0)}static addDomain(en,er){en.addFieldOffset(2,er,0)}static addSinceVersion(en,er){en.addFieldInt32(3,er,0)}static addIndex(en,er){en.addFieldInt32(4,er,0)}static addOpType(en,er){en.addFieldOffset(5,er,0)}static addType(er,ei){er.addFieldInt32(6,ei,en.experimental.fbs.NodeType.Primitive)}static addExecutionProviderType(en,er){en.addFieldOffset(7,er,0)}static addInputs(en,er){en.addFieldOffset(8,er,0)}static createInputsVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startInputsVector(en,er){en.startVector(4,er,4)}static addOutputs(en,er){en.addFieldOffset(9,er,0)}static createOutputsVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startOutputsVector(en,er){en.startVector(4,er,4)}static addAttributes(en,er){en.addFieldOffset(10,er,0)}static createAttributesVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startAttributesVector(en,er){en.startVector(4,er,4)}static addInputArgCounts(en,er){en.addFieldOffset(11,er,0)}static createInputArgCountsVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addInt32(er[ei]);return en.endVector()}static startInputArgCountsVector(en,er){en.startVector(4,er,4)}static addImplicitInputs(en,er){en.addFieldOffset(12,er,0)}static createImplicitInputsVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startImplicitInputsVector(en,er){en.startVector(4,er,4)}static endNode(en){return en.endObject()}static createNode(en,er,eo,ea,es,eu,ec,ef,eA,ed,eh,ep,eg,eb){return ei.startNode(en),ei.addName(en,er),ei.addDocString(en,eo),ei.addDomain(en,ea),ei.addSinceVersion(en,es),ei.addIndex(en,eu),ei.addOpType(en,ec),ei.addType(en,ef),ei.addExecutionProviderType(en,eA),ei.addInputs(en,ed),ei.addOutputs(en,eh),ei.addAttributes(en,ep),ei.addInputArgCounts(en,eg),ei.addImplicitInputs(en,eb),ei.endNode(en)}}er.Node=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsValueInfo(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsValueInfo(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}name(en){let er=this.bb.__offset(this.bb_pos,4);return er?this.bb.__string(this.bb_pos+er,en):null}docString(en){let er=this.bb.__offset(this.bb_pos,6);return er?this.bb.__string(this.bb_pos+er,en):null}type(er){let ei=this.bb.__offset(this.bb_pos,8);return ei?(er||new en.experimental.fbs.TypeInfo).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}static startValueInfo(en){en.startObject(3)}static addName(en,er){en.addFieldOffset(0,er,0)}static addDocString(en,er){en.addFieldOffset(1,er,0)}static addType(en,er){en.addFieldOffset(2,er,0)}static endValueInfo(en){return en.endObject()}static createValueInfo(en,er,eo,ea){return ei.startValueInfo(en),ei.addName(en,er),ei.addDocString(en,eo),ei.addType(en,ea),ei.endValueInfo(en)}}er.ValueInfo=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsTypeInfo(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsTypeInfo(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}denotation(en){let er=this.bb.__offset(this.bb_pos,4);return er?this.bb.__string(this.bb_pos+er,en):null}valueType(){let er=this.bb.__offset(this.bb_pos,6);return er?this.bb.readUint8(this.bb_pos+er):en.experimental.fbs.TypeInfoValue.NONE}value(en){let er=this.bb.__offset(this.bb_pos,8);return er?this.bb.__union(en,this.bb_pos+er):null}static startTypeInfo(en){en.startObject(3)}static addDenotation(en,er){en.addFieldOffset(0,er,0)}static addValueType(er,ei){er.addFieldInt8(1,ei,en.experimental.fbs.TypeInfoValue.NONE)}static addValue(en,er){en.addFieldOffset(2,er,0)}static endTypeInfo(en){return en.endObject()}static createTypeInfo(en,er,eo,ea){return ei.startTypeInfo(en),ei.addDenotation(en,er),ei.addValueType(en,eo),ei.addValue(en,ea),ei.endTypeInfo(en)}}er.TypeInfo=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(en){!function(en){class er{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsOperatorSetId(en,ei){return(ei||new er).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsOperatorSetId(en,ei){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(ei||new er).__init(en.readInt32(en.position())+en.position(),en)}domain(en){let er=this.bb.__offset(this.bb_pos,4);return er?this.bb.__string(this.bb_pos+er,en):null}version(){let en=this.bb.__offset(this.bb_pos,6);return en?this.bb.readInt64(this.bb_pos+en):this.bb.createLong(0,0)}static startOperatorSetId(en){en.startObject(2)}static addDomain(en,er){en.addFieldOffset(0,er,0)}static addVersion(en,er){en.addFieldInt64(1,er,en.createLong(0,0))}static endOperatorSetId(en){return en.endObject()}static createOperatorSetId(en,ei,eo){return er.startOperatorSetId(en),er.addDomain(en,ei),er.addVersion(en,eo),er.endOperatorSetId(en)}}en.OperatorSetId=er}(en.fbs||(en.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsTensor(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsTensor(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}name(en){let er=this.bb.__offset(this.bb_pos,4);return er?this.bb.__string(this.bb_pos+er,en):null}docString(en){let er=this.bb.__offset(this.bb_pos,6);return er?this.bb.__string(this.bb_pos+er,en):null}dims(en){let er=this.bb.__offset(this.bb_pos,8);return er?this.bb.readInt64(this.bb.__vector(this.bb_pos+er)+8*en):this.bb.createLong(0,0)}dimsLength(){let en=this.bb.__offset(this.bb_pos,8);return en?this.bb.__vector_len(this.bb_pos+en):0}dataType(){let er=this.bb.__offset(this.bb_pos,10);return er?this.bb.readInt32(this.bb_pos+er):en.experimental.fbs.TensorDataType.UNDEFINED}rawData(en){let er=this.bb.__offset(this.bb_pos,12);return er?this.bb.readUint8(this.bb.__vector(this.bb_pos+er)+en):0}rawDataLength(){let en=this.bb.__offset(this.bb_pos,12);return en?this.bb.__vector_len(this.bb_pos+en):0}rawDataArray(){let en=this.bb.__offset(this.bb_pos,12);return en?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+en),this.bb.__vector_len(this.bb_pos+en)):null}stringData(en,er){let ei=this.bb.__offset(this.bb_pos,14);return ei?this.bb.__string(this.bb.__vector(this.bb_pos+ei)+4*en,er):null}stringDataLength(){let en=this.bb.__offset(this.bb_pos,14);return en?this.bb.__vector_len(this.bb_pos+en):0}static startTensor(en){en.startObject(6)}static addName(en,er){en.addFieldOffset(0,er,0)}static addDocString(en,er){en.addFieldOffset(1,er,0)}static addDims(en,er){en.addFieldOffset(2,er,0)}static createDimsVector(en,er){en.startVector(8,er.length,8);for(let ei=er.length-1;ei>=0;ei--)en.addInt64(er[ei]);return en.endVector()}static startDimsVector(en,er){en.startVector(8,er,8)}static addDataType(er,ei){er.addFieldInt32(3,ei,en.experimental.fbs.TensorDataType.UNDEFINED)}static addRawData(en,er){en.addFieldOffset(4,er,0)}static createRawDataVector(en,er){en.startVector(1,er.length,1);for(let ei=er.length-1;ei>=0;ei--)en.addInt8(er[ei]);return en.endVector()}static startRawDataVector(en,er){en.startVector(1,er,1)}static addStringData(en,er){en.addFieldOffset(5,er,0)}static createStringDataVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startStringDataVector(en,er){en.startVector(4,er,4)}static endTensor(en){return en.endObject()}static createTensor(en,er,eo,ea,es,eu,ec){return ei.startTensor(en),ei.addName(en,er),ei.addDocString(en,eo),ei.addDims(en,ea),ei.addDataType(en,es),ei.addRawData(en,eu),ei.addStringData(en,ec),ei.endTensor(en)}}er.Tensor=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsSparseTensor(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsSparseTensor(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}values(er){let ei=this.bb.__offset(this.bb_pos,4);return ei?(er||new en.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}indices(er){let ei=this.bb.__offset(this.bb_pos,6);return ei?(er||new en.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}dims(en){let er=this.bb.__offset(this.bb_pos,8);return er?this.bb.readInt64(this.bb.__vector(this.bb_pos+er)+8*en):this.bb.createLong(0,0)}dimsLength(){let en=this.bb.__offset(this.bb_pos,8);return en?this.bb.__vector_len(this.bb_pos+en):0}static startSparseTensor(en){en.startObject(3)}static addValues(en,er){en.addFieldOffset(0,er,0)}static addIndices(en,er){en.addFieldOffset(1,er,0)}static addDims(en,er){en.addFieldOffset(2,er,0)}static createDimsVector(en,er){en.startVector(8,er.length,8);for(let ei=er.length-1;ei>=0;ei--)en.addInt64(er[ei]);return en.endVector()}static startDimsVector(en,er){en.startVector(8,er,8)}static endSparseTensor(en){return en.endObject()}static createSparseTensor(en,er,eo,ea){return ei.startSparseTensor(en),ei.addValues(en,er),ei.addIndices(en,eo),ei.addDims(en,ea),ei.endSparseTensor(en)}}er.SparseTensor=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsAttribute(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsAttribute(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}name(en){let er=this.bb.__offset(this.bb_pos,4);return er?this.bb.__string(this.bb_pos+er,en):null}docString(en){let er=this.bb.__offset(this.bb_pos,6);return er?this.bb.__string(this.bb_pos+er,en):null}type(){let er=this.bb.__offset(this.bb_pos,8);return er?this.bb.readInt32(this.bb_pos+er):en.experimental.fbs.AttributeType.UNDEFINED}f(){let en=this.bb.__offset(this.bb_pos,10);return en?this.bb.readFloat32(this.bb_pos+en):0}i(){let en=this.bb.__offset(this.bb_pos,12);return en?this.bb.readInt64(this.bb_pos+en):this.bb.createLong(0,0)}s(en){let er=this.bb.__offset(this.bb_pos,14);return er?this.bb.__string(this.bb_pos+er,en):null}t(er){let ei=this.bb.__offset(this.bb_pos,16);return ei?(er||new en.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}g(er){let ei=this.bb.__offset(this.bb_pos,18);return ei?(er||new en.experimental.fbs.Graph).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}floats(en){let er=this.bb.__offset(this.bb_pos,20);return er?this.bb.readFloat32(this.bb.__vector(this.bb_pos+er)+4*en):0}floatsLength(){let en=this.bb.__offset(this.bb_pos,20);return en?this.bb.__vector_len(this.bb_pos+en):0}floatsArray(){let en=this.bb.__offset(this.bb_pos,20);return en?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+en),this.bb.__vector_len(this.bb_pos+en)):null}ints(en){let er=this.bb.__offset(this.bb_pos,22);return er?this.bb.readInt64(this.bb.__vector(this.bb_pos+er)+8*en):this.bb.createLong(0,0)}intsLength(){let en=this.bb.__offset(this.bb_pos,22);return en?this.bb.__vector_len(this.bb_pos+en):0}strings(en,er){let ei=this.bb.__offset(this.bb_pos,24);return ei?this.bb.__string(this.bb.__vector(this.bb_pos+ei)+4*en,er):null}stringsLength(){let en=this.bb.__offset(this.bb_pos,24);return en?this.bb.__vector_len(this.bb_pos+en):0}tensors(er,ei){let eo=this.bb.__offset(this.bb_pos,26);return eo?(ei||new en.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+eo)+4*er),this.bb):null}tensorsLength(){let en=this.bb.__offset(this.bb_pos,26);return en?this.bb.__vector_len(this.bb_pos+en):0}graphs(er,ei){let eo=this.bb.__offset(this.bb_pos,28);return eo?(ei||new en.experimental.fbs.Graph).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+eo)+4*er),this.bb):null}graphsLength(){let en=this.bb.__offset(this.bb_pos,28);return en?this.bb.__vector_len(this.bb_pos+en):0}static startAttribute(en){en.startObject(13)}static addName(en,er){en.addFieldOffset(0,er,0)}static addDocString(en,er){en.addFieldOffset(1,er,0)}static addType(er,ei){er.addFieldInt32(2,ei,en.experimental.fbs.AttributeType.UNDEFINED)}static addF(en,er){en.addFieldFloat32(3,er,0)}static addI(en,er){en.addFieldInt64(4,er,en.createLong(0,0))}static addS(en,er){en.addFieldOffset(5,er,0)}static addT(en,er){en.addFieldOffset(6,er,0)}static addG(en,er){en.addFieldOffset(7,er,0)}static addFloats(en,er){en.addFieldOffset(8,er,0)}static createFloatsVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addFloat32(er[ei]);return en.endVector()}static startFloatsVector(en,er){en.startVector(4,er,4)}static addInts(en,er){en.addFieldOffset(9,er,0)}static createIntsVector(en,er){en.startVector(8,er.length,8);for(let ei=er.length-1;ei>=0;ei--)en.addInt64(er[ei]);return en.endVector()}static startIntsVector(en,er){en.startVector(8,er,8)}static addStrings(en,er){en.addFieldOffset(10,er,0)}static createStringsVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startStringsVector(en,er){en.startVector(4,er,4)}static addTensors(en,er){en.addFieldOffset(11,er,0)}static createTensorsVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startTensorsVector(en,er){en.startVector(4,er,4)}static addGraphs(en,er){en.addFieldOffset(12,er,0)}static createGraphsVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startGraphsVector(en,er){en.startVector(4,er,4)}static endAttribute(en){return en.endObject()}static createAttribute(en,er,eo,ea,es,eu,ec,ef,eA,ed,eh,ep,eg,eb){return ei.startAttribute(en),ei.addName(en,er),ei.addDocString(en,eo),ei.addType(en,ea),ei.addF(en,es),ei.addI(en,eu),ei.addS(en,ec),ei.addT(en,ef),ei.addG(en,eA),ei.addFloats(en,ed),ei.addInts(en,eh),ei.addStrings(en,ep),ei.addTensors(en,eg),ei.addGraphs(en,eb),ei.endAttribute(en)}}er.Attribute=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsGraph(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsGraph(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}initializers(er,ei){let eo=this.bb.__offset(this.bb_pos,4);return eo?(ei||new en.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+eo)+4*er),this.bb):null}initializersLength(){let en=this.bb.__offset(this.bb_pos,4);return en?this.bb.__vector_len(this.bb_pos+en):0}nodeArgs(er,ei){let eo=this.bb.__offset(this.bb_pos,6);return eo?(ei||new en.experimental.fbs.ValueInfo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+eo)+4*er),this.bb):null}nodeArgsLength(){let en=this.bb.__offset(this.bb_pos,6);return en?this.bb.__vector_len(this.bb_pos+en):0}nodes(er,ei){let eo=this.bb.__offset(this.bb_pos,8);return eo?(ei||new en.experimental.fbs.Node).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+eo)+4*er),this.bb):null}nodesLength(){let en=this.bb.__offset(this.bb_pos,8);return en?this.bb.__vector_len(this.bb_pos+en):0}maxNodeIndex(){let en=this.bb.__offset(this.bb_pos,10);return en?this.bb.readUint32(this.bb_pos+en):0}nodeEdges(er,ei){let eo=this.bb.__offset(this.bb_pos,12);return eo?(ei||new en.experimental.fbs.NodeEdge).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+eo)+4*er),this.bb):null}nodeEdgesLength(){let en=this.bb.__offset(this.bb_pos,12);return en?this.bb.__vector_len(this.bb_pos+en):0}inputs(en,er){let ei=this.bb.__offset(this.bb_pos,14);return ei?this.bb.__string(this.bb.__vector(this.bb_pos+ei)+4*en,er):null}inputsLength(){let en=this.bb.__offset(this.bb_pos,14);return en?this.bb.__vector_len(this.bb_pos+en):0}outputs(en,er){let ei=this.bb.__offset(this.bb_pos,16);return ei?this.bb.__string(this.bb.__vector(this.bb_pos+ei)+4*en,er):null}outputsLength(){let en=this.bb.__offset(this.bb_pos,16);return en?this.bb.__vector_len(this.bb_pos+en):0}sparseInitializers(er,ei){let eo=this.bb.__offset(this.bb_pos,18);return eo?(ei||new en.experimental.fbs.SparseTensor).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+eo)+4*er),this.bb):null}sparseInitializersLength(){let en=this.bb.__offset(this.bb_pos,18);return en?this.bb.__vector_len(this.bb_pos+en):0}static startGraph(en){en.startObject(8)}static addInitializers(en,er){en.addFieldOffset(0,er,0)}static createInitializersVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startInitializersVector(en,er){en.startVector(4,er,4)}static addNodeArgs(en,er){en.addFieldOffset(1,er,0)}static createNodeArgsVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startNodeArgsVector(en,er){en.startVector(4,er,4)}static addNodes(en,er){en.addFieldOffset(2,er,0)}static createNodesVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startNodesVector(en,er){en.startVector(4,er,4)}static addMaxNodeIndex(en,er){en.addFieldInt32(3,er,0)}static addNodeEdges(en,er){en.addFieldOffset(4,er,0)}static createNodeEdgesVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startNodeEdgesVector(en,er){en.startVector(4,er,4)}static addInputs(en,er){en.addFieldOffset(5,er,0)}static createInputsVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startInputsVector(en,er){en.startVector(4,er,4)}static addOutputs(en,er){en.addFieldOffset(6,er,0)}static createOutputsVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startOutputsVector(en,er){en.startVector(4,er,4)}static addSparseInitializers(en,er){en.addFieldOffset(7,er,0)}static createSparseInitializersVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startSparseInitializersVector(en,er){en.startVector(4,er,4)}static endGraph(en){return en.endObject()}static createGraph(en,er,eo,ea,es,eu,ec,ef,eA){return ei.startGraph(en),ei.addInitializers(en,er),ei.addNodeArgs(en,eo),ei.addNodes(en,ea),ei.addMaxNodeIndex(en,es),ei.addNodeEdges(en,eu),ei.addInputs(en,ec),ei.addOutputs(en,ef),ei.addSparseInitializers(en,eA),ei.endGraph(en)}}er.Graph=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsModel(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsModel(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}irVersion(){let en=this.bb.__offset(this.bb_pos,4);return en?this.bb.readInt64(this.bb_pos+en):this.bb.createLong(0,0)}opsetImport(er,ei){let eo=this.bb.__offset(this.bb_pos,6);return eo?(ei||new en.experimental.fbs.OperatorSetId).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+eo)+4*er),this.bb):null}opsetImportLength(){let en=this.bb.__offset(this.bb_pos,6);return en?this.bb.__vector_len(this.bb_pos+en):0}producerName(en){let er=this.bb.__offset(this.bb_pos,8);return er?this.bb.__string(this.bb_pos+er,en):null}producerVersion(en){let er=this.bb.__offset(this.bb_pos,10);return er?this.bb.__string(this.bb_pos+er,en):null}domain(en){let er=this.bb.__offset(this.bb_pos,12);return er?this.bb.__string(this.bb_pos+er,en):null}modelVersion(){let en=this.bb.__offset(this.bb_pos,14);return en?this.bb.readInt64(this.bb_pos+en):this.bb.createLong(0,0)}docString(en){let er=this.bb.__offset(this.bb_pos,16);return er?this.bb.__string(this.bb_pos+er,en):null}graph(er){let ei=this.bb.__offset(this.bb_pos,18);return ei?(er||new en.experimental.fbs.Graph).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}graphDocString(en){let er=this.bb.__offset(this.bb_pos,20);return er?this.bb.__string(this.bb_pos+er,en):null}static startModel(en){en.startObject(9)}static addIrVersion(en,er){en.addFieldInt64(0,er,en.createLong(0,0))}static addOpsetImport(en,er){en.addFieldOffset(1,er,0)}static createOpsetImportVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startOpsetImportVector(en,er){en.startVector(4,er,4)}static addProducerName(en,er){en.addFieldOffset(2,er,0)}static addProducerVersion(en,er){en.addFieldOffset(3,er,0)}static addDomain(en,er){en.addFieldOffset(4,er,0)}static addModelVersion(en,er){en.addFieldInt64(5,er,en.createLong(0,0))}static addDocString(en,er){en.addFieldOffset(6,er,0)}static addGraph(en,er){en.addFieldOffset(7,er,0)}static addGraphDocString(en,er){en.addFieldOffset(8,er,0)}static endModel(en){return en.endObject()}static createModel(en,er,eo,ea,es,eu,ec,ef,eA,ed){return ei.startModel(en),ei.addIrVersion(en,er),ei.addOpsetImport(en,eo),ei.addProducerName(en,ea),ei.addProducerVersion(en,es),ei.addDomain(en,eu),ei.addModelVersion(en,ec),ei.addDocString(en,ef),ei.addGraph(en,eA),ei.addGraphDocString(en,ed),ei.endModel(en)}}er.Model=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(en){!function(en){class er{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsKernelCreateInfos(en,ei){return(ei||new er).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsKernelCreateInfos(en,ei){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(ei||new er).__init(en.readInt32(en.position())+en.position(),en)}nodeIndices(en){let er=this.bb.__offset(this.bb_pos,4);return er?this.bb.readUint32(this.bb.__vector(this.bb_pos+er)+4*en):0}nodeIndicesLength(){let en=this.bb.__offset(this.bb_pos,4);return en?this.bb.__vector_len(this.bb_pos+en):0}nodeIndicesArray(){let en=this.bb.__offset(this.bb_pos,4);return en?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+en),this.bb.__vector_len(this.bb_pos+en)):null}kernelDefHashes(en){let er=this.bb.__offset(this.bb_pos,6);return er?this.bb.readUint64(this.bb.__vector(this.bb_pos+er)+8*en):this.bb.createLong(0,0)}kernelDefHashesLength(){let en=this.bb.__offset(this.bb_pos,6);return en?this.bb.__vector_len(this.bb_pos+en):0}static startKernelCreateInfos(en){en.startObject(2)}static addNodeIndices(en,er){en.addFieldOffset(0,er,0)}static createNodeIndicesVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addInt32(er[ei]);return en.endVector()}static startNodeIndicesVector(en,er){en.startVector(4,er,4)}static addKernelDefHashes(en,er){en.addFieldOffset(1,er,0)}static createKernelDefHashesVector(en,er){en.startVector(8,er.length,8);for(let ei=er.length-1;ei>=0;ei--)en.addInt64(er[ei]);return en.endVector()}static startKernelDefHashesVector(en,er){en.startVector(8,er,8)}static endKernelCreateInfos(en){return en.endObject()}static createKernelCreateInfos(en,ei,eo){return er.startKernelCreateInfos(en),er.addNodeIndices(en,ei),er.addKernelDefHashes(en,eo),er.endKernelCreateInfos(en)}}en.KernelCreateInfos=er}(en.fbs||(en.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsSubGraphSessionState(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsSubGraphSessionState(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}graphId(en){let er=this.bb.__offset(this.bb_pos,4);return er?this.bb.__string(this.bb_pos+er,en):null}sessionState(er){let ei=this.bb.__offset(this.bb_pos,6);return ei?(er||new en.experimental.fbs.SessionState).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}static startSubGraphSessionState(en){en.startObject(2)}static addGraphId(en,er){en.addFieldOffset(0,er,0)}static addSessionState(en,er){en.addFieldOffset(1,er,0)}static endSubGraphSessionState(en){let er=en.endObject();return en.requiredField(er,4),er}static createSubGraphSessionState(en,er,eo){return ei.startSubGraphSessionState(en),ei.addGraphId(en,er),ei.addSessionState(en,eo),ei.endSubGraphSessionState(en)}}er.SubGraphSessionState=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsSessionState(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsSessionState(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}kernels(er){let ei=this.bb.__offset(this.bb_pos,4);return ei?(er||new en.experimental.fbs.KernelCreateInfos).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}subGraphSessionStates(er,ei){let eo=this.bb.__offset(this.bb_pos,6);return eo?(ei||new en.experimental.fbs.SubGraphSessionState).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+eo)+4*er),this.bb):null}subGraphSessionStatesLength(){let en=this.bb.__offset(this.bb_pos,6);return en?this.bb.__vector_len(this.bb_pos+en):0}static startSessionState(en){en.startObject(2)}static addKernels(en,er){en.addFieldOffset(0,er,0)}static addSubGraphSessionStates(en,er){en.addFieldOffset(1,er,0)}static createSubGraphSessionStatesVector(en,er){en.startVector(4,er.length,4);for(let ei=er.length-1;ei>=0;ei--)en.addOffset(er[ei]);return en.endVector()}static startSubGraphSessionStatesVector(en,er){en.startVector(4,er,4)}static endSessionState(en){return en.endObject()}static createSessionState(en,er,eo){return ei.startSessionState(en),ei.addKernels(en,er),ei.addSubGraphSessionStates(en,eo),ei.endSessionState(en)}}er.SessionState=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={})),function(en){!function(er){!function(er){class ei{constructor(){this.bb=null,this.bb_pos=0}__init(en,er){return this.bb_pos=en,this.bb=er,this}static getRootAsInferenceSession(en,er){return(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static getSizePrefixedRootAsInferenceSession(en,er){return en.setPosition(en.position()+es.flatbuffers.SIZE_PREFIX_LENGTH),(er||new ei).__init(en.readInt32(en.position())+en.position(),en)}static bufferHasIdentifier(en){return en.__has_identifier("ORTM")}ortVersion(en){let er=this.bb.__offset(this.bb_pos,4);return er?this.bb.__string(this.bb_pos+er,en):null}model(er){let ei=this.bb.__offset(this.bb_pos,6);return ei?(er||new en.experimental.fbs.Model).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}sessionState(er){let ei=this.bb.__offset(this.bb_pos,8);return ei?(er||new en.experimental.fbs.SessionState).__init(this.bb.__indirect(this.bb_pos+ei),this.bb):null}static startInferenceSession(en){en.startObject(3)}static addOrtVersion(en,er){en.addFieldOffset(0,er,0)}static addModel(en,er){en.addFieldOffset(1,er,0)}static addSessionState(en,er){en.addFieldOffset(2,er,0)}static endInferenceSession(en){return en.endObject()}static finishInferenceSessionBuffer(en,er){en.finish(er,"ORTM")}static finishSizePrefixedInferenceSessionBuffer(en,er){en.finish(er,"ORTM",!0)}static createInferenceSession(en,er,eo,ea){return ei.startInferenceSession(en),ei.addOrtVersion(en,er),ei.addModel(en,eo),ei.addSessionState(en,ea),ei.endInferenceSession(en)}}er.InferenceSession=ei}(er.fbs||(er.fbs={}))}(en.experimental||(en.experimental={}))}(er.onnxruntime||(er.onnxruntime={}))},7448:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.OnnxjsSessionHandler=void 0;let eo=ei(1670),ea=ei(9162);er.OnnxjsSessionHandler=class{constructor(en){this.session=en,this.inputNames=this.session.inputNames,this.outputNames=this.session.outputNames}async dispose(){}async run(en,er,ei){let es=new Map;for(let er in en)if(Object.hasOwnProperty.call(en,er)){let ei=en[er];es.set(er,new ea.Tensor(ei.dims,ei.type,void 0,void 0,ei.data))}let eu=await this.session.run(es),ec={};return eu.forEach((en,er)=>{ec[er]=new eo.Tensor(en.type,en.data,en.dims)}),ec}startProfiling(){this.session.startProfiling()}endProfiling(){this.session.endProfiling()}}},6919:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.Session=void 0;let eo=ei(7067),ea=ei(1296),es=ei(7091),eu=ei(1036),ec=ei(6231),ef=ei(2644);er.Session=class{constructor(en={}){this._initialized=!1,this.backendHint=en.backendHint,this.profiler=ec.Profiler.create(en.profiler),this.context={profiler:this.profiler,graphInputTypes:[],graphInputDims:[]}}get inputNames(){return this._model.graph.getInputNames()}get outputNames(){return this._model.graph.getOutputNames()}startProfiling(){this.profiler.start()}endProfiling(){this.profiler.stop()}async loadModel(en,er,ei){await this.profiler.event("session","Session.loadModel",async()=>{let eu=await (0,es.resolveBackend)(this.backendHint);if(this.sessionHandler=eu.createSessionHandler(this.context),this._model=new ef.Model,"string"==typeof en){let er=en.endsWith(".ort");if("undefined"==typeof fetch){let ei=await (0,ea.promisify)(eo.readFile)(en);this.initialize(ei,er)}else{let ei=await fetch(en),eo=await ei.arrayBuffer();this.initialize(new Uint8Array(eo),er)}}else if(ArrayBuffer.isView(en))this.initialize(en);else{let eo=new Uint8Array(en,er||0,ei||en.byteLength);this.initialize(eo)}})}initialize(en,er){if(this._initialized)throw Error("already initialized");this.profiler.event("session","Session.initialize",()=>{let ei=this.sessionHandler.transformGraph?this.sessionHandler:void 0;this._model.load(en,ei,er),this.sessionHandler.onGraphInitialized&&this.sessionHandler.onGraphInitialized(this._model.graph),this.initializeOps(this._model.graph),this._executionPlan=new eu.ExecutionPlan(this._model.graph,this._ops,this.profiler)}),this._initialized=!0}async run(en){if(!this._initialized)throw Error("session not initialized yet");return this.profiler.event("session","Session.run",async()=>{let er=this.normalizeAndValidateInputs(en),ei=await this._executionPlan.execute(this.sessionHandler,er);return this.createOutput(ei)})}normalizeAndValidateInputs(en){let er=this._model.graph.getInputNames();if(Array.isArray(en)){if(en.length!==er.length)throw Error(`incorrect input array length: expected ${er.length} but got ${en.length}`)}else{if(en.size!==er.length)throw Error(`incorrect input map size: expected ${er.length} but got ${en.size}`);let ei=Array(en.size),eo=0;for(let ea=0;ea<er.length;++ea){let es=en.get(er[ea]);if(!es)throw Error(`missing input tensor for: '${name}'`);ei[eo++]=es}en=ei}if(this.context.graphInputTypes&&0!==this.context.graphInputTypes.length&&this.context.graphInputDims&&0!==this.context.graphInputDims.length)this.validateInputTensorDims(this.context.graphInputDims,en,!1);else{let er=this._model.graph.getInputIndices(),ei=this._model.graph.getValues(),eo=Array(er.length);for(let ea=0;ea<er.length;++ea){let es=ei[er[ea]];eo[ea]=es.type.shape.dims,this.context.graphInputTypes.push(es.type.tensorType),this.context.graphInputDims.push(en[ea].dims)}this.validateInputTensorDims(eo,en,!0)}return this.validateInputTensorTypes(this.context.graphInputTypes,en),en}validateInputTensorTypes(en,er){for(let ei=0;ei<er.length;ei++){let eo=en[ei],ea=er[ei].type;if(eo!==ea)throw Error(`input tensor[${ei}] check failed: expected type '${eo}' but got ${ea}`)}}validateInputTensorDims(en,er,ei){for(let eo=0;eo<er.length;eo++){let ea=en[eo],es=er[eo].dims;if(!this.compareTensorDims(ea,es,ei))throw Error(`input tensor[${eo}] check failed: expected shape '[${ea.join(",")}]' but got [${es.join(",")}]`)}}compareTensorDims(en,er,ei){if(en.length!==er.length)return!1;for(let eo=0;eo<en.length;++eo)if(en[eo]!==er[eo]&&(!ei||0!==en[eo]))return!1;return!0}createOutput(en){let er=this._model.graph.getOutputNames();if(en.length!==er.length)throw Error("expected number of outputs do not match number of generated outputs");let ei=new Map;for(let eo=0;eo<er.length;++eo)ei.set(er[eo],en[eo]);return ei}initializeOps(en){let er=en.getNodes();this._ops=Array(er.length);for(let ei=0;ei<er.length;ei++)this._ops[ei]=this.sessionHandler.resolve(er[ei],this._model.opsets,en)}}},9162:function(en,er,ei){"use strict";var eo=this&&this.__importDefault||function(en){return en&&en.__esModule?en:{default:en}};Object.defineProperty(er,"__esModule",{value:!0}),er.Tensor=void 0;let ea=ei(3442),es=eo(ei(3720)),eu=ei(1446),ec=ei(9395),ef=ei(2517);var eA=ec.onnxruntime.experimental.fbs;class ed{get data(){if(void 0===this.cache){let en=this.dataProvider(this.dataId);if(en.length!==this.size)throw Error("Length of data provided by the Data Provider is inconsistent with the dims of this Tensor.");this.cache=en}return this.cache}get stringData(){if("string"!==this.type)throw TypeError("data type is not string");return this.data}get integerData(){switch(this.type){case"uint8":case"int8":case"uint16":case"int16":case"int32":case"uint32":case"bool":return this.data;default:throw TypeError("data type is not integer (uint8, int8, uint16, int16, int32, uint32, bool)")}}get floatData(){switch(this.type){case"float32":case"float64":return this.data;default:throw TypeError("data type is not float (float32, float64)")}}get numberData(){if("string"!==this.type)return this.data;throw TypeError("type cannot be non-number (string)")}get(en){return this.data[ef.ShapeUtil.indicesToOffset(en,this.strides)]}set(en,er){this.data[ef.ShapeUtil.indicesToOffset(en,this.strides)]=er}async getData(){return void 0===this.cache&&(this.cache=await this.asyncDataProvider(this.dataId)),this.cache}get strides(){return this._strides||(this._strides=ef.ShapeUtil.computeStrides(this.dims)),this._strides}constructor(en,er,ei,eo,es,eu=ea.Guid.create()){this.dims=en,this.type=er,this.dataProvider=ei,this.asyncDataProvider=eo,this.cache=es,this.dataId=eu,this.size=ef.ShapeUtil.validateDimsAndCalcSize(en);let ec=this.size,eA=void 0===ei&&void 0===eo&&void 0===es;if(void 0!==es&&es.length!==ec)throw RangeError("Input dims doesn't match data length.");if("string"===er){if(!(void 0===es||Array.isArray(es)&&es.every(en=>"string"==typeof en)))throw TypeError("cache should be a string array");eA&&(this.cache=Array(ec))}else{if(void 0!==es){let en=ep(er);if(!(es instanceof en))throw TypeError(`cache should be type ${en.name}`)}if(eA){let en=new ArrayBuffer(ec*function(en){switch(en){case"bool":case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;case"float64":return 8;default:throw Error(`cannot calculate sizeof() on type ${en}`)}}(er));this.cache=function(en,er){return new(ep(er))(en)}(en,er)}}}static fromProto(en){if(!en)throw Error("cannot construct Value from an empty tensor");let er=ef.ProtoUtil.tensorDataTypeFromProto(en.dataType),ei=ef.ProtoUtil.tensorDimsFromProto(en.dims),eo=new ed(ei,er);if("string"===er)en.stringData.forEach((en,er)=>{eo.data[er]=(0,ef.decodeUtf8String)(en)});else if(en.rawData&&"number"==typeof en.rawData.byteLength&&en.rawData.byteLength>0){let er=eo.data,ei=new DataView(en.rawData.buffer,en.rawData.byteOffset,en.rawData.byteLength),ea=eh(en.dataType),es=en.rawData.byteLength/ea;if(en.rawData.byteLength%ea!=0)throw Error("invalid buffer length");if(er.length!==es)throw Error("buffer length mismatch");for(let eo=0;eo<es;eo++){let es=eb(ei,en.dataType,eo*ea);er[eo]=es}}else{let er;switch(en.dataType){case eu.onnx.TensorProto.DataType.FLOAT:er=en.floatData;break;case eu.onnx.TensorProto.DataType.INT32:case eu.onnx.TensorProto.DataType.INT16:case eu.onnx.TensorProto.DataType.UINT16:case eu.onnx.TensorProto.DataType.INT8:case eu.onnx.TensorProto.DataType.UINT8:case eu.onnx.TensorProto.DataType.BOOL:er=en.int32Data;break;case eu.onnx.TensorProto.DataType.INT64:er=en.int64Data;break;case eu.onnx.TensorProto.DataType.DOUBLE:er=en.doubleData;break;case eu.onnx.TensorProto.DataType.UINT32:case eu.onnx.TensorProto.DataType.UINT64:er=en.uint64Data;break;default:throw Error("unspecific error")}if(null==er)throw Error("failed to populate data from a tensorproto value");let ei=eo.data;if(ei.length!==er.length)throw Error("array length mismatch");for(let eo=0;eo<er.length;eo++){let ea=er[eo];es.default.isLong(ea)?ei[eo]=eg(ea,en.dataType):ei[eo]=ea}}return eo}static fromData(en,er,ei){return new ed(er,ei,void 0,void 0,en)}static fromOrtTensor(en){if(!en)throw Error("cannot construct Value from an empty tensor");let er=ef.ProtoUtil.tensorDimsFromORTFormat(en),ei=ef.ProtoUtil.tensorDataTypeFromProto(en.dataType()),eo=new ed(er,ei);if("string"===ei)for(let er=0;er<en.stringDataLength();er++)eo.data[er]=en.stringData(er);else if(en.rawDataArray()&&"number"==typeof en.rawDataLength()&&en.rawDataLength()>0){let er=eo.data,ei=new DataView(en.rawDataArray().buffer,en.rawDataArray().byteOffset,en.rawDataLength()),ea=eh(en.dataType()),es=en.rawDataLength()/ea;if(en.rawDataLength()%ea!=0)throw Error("invalid buffer length");if(er.length!==es)throw Error("buffer length mismatch");for(let eo=0;eo<es;eo++){let es=eb(ei,en.dataType(),eo*ea);er[eo]=es}}return eo}}function eh(en){switch(en){case eu.onnx.TensorProto.DataType.UINT8:case eu.onnx.TensorProto.DataType.INT8:case eu.onnx.TensorProto.DataType.BOOL:return 1;case eu.onnx.TensorProto.DataType.UINT16:case eu.onnx.TensorProto.DataType.INT16:return 2;case eu.onnx.TensorProto.DataType.FLOAT:case eu.onnx.TensorProto.DataType.INT32:case eu.onnx.TensorProto.DataType.UINT32:return 4;case eu.onnx.TensorProto.DataType.INT64:case eu.onnx.TensorProto.DataType.DOUBLE:case eu.onnx.TensorProto.DataType.UINT64:return 8;default:throw Error(`cannot calculate sizeof() on type ${eu.onnx.TensorProto.DataType[en]}`)}}function ep(en){switch(en){case"bool":case"uint8":return Uint8Array;case"int8":return Int8Array;case"int16":return Int16Array;case"uint16":return Uint16Array;case"int32":return Int32Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;default:throw Error("unspecified error")}}function eg(en,er){if(er===eu.onnx.TensorProto.DataType.INT64||er===eA.TensorDataType.INT64){if(en.greaterThanOrEqual(2147483648)||en.lessThan(-2147483648))throw TypeError("int64 is not supported")}else{if(er!==eu.onnx.TensorProto.DataType.UINT32&&er!==eA.TensorDataType.UINT32&&er!==eu.onnx.TensorProto.DataType.UINT64&&er!==eA.TensorDataType.UINT64)throw TypeError(`not a LONG type: ${eu.onnx.TensorProto.DataType[er]}`);if(en.greaterThanOrEqual(4294967296)||en.lessThan(0))throw TypeError("uint64 is not supported")}return en.toNumber()}function eb(en,er,ei){switch(er){case eu.onnx.TensorProto.DataType.BOOL:case eu.onnx.TensorProto.DataType.UINT8:return en.getUint8(ei);case eu.onnx.TensorProto.DataType.INT8:return en.getInt8(ei);case eu.onnx.TensorProto.DataType.UINT16:return en.getUint16(ei,!0);case eu.onnx.TensorProto.DataType.INT16:return en.getInt16(ei,!0);case eu.onnx.TensorProto.DataType.FLOAT:return en.getFloat32(ei,!0);case eu.onnx.TensorProto.DataType.INT32:return en.getInt32(ei,!0);case eu.onnx.TensorProto.DataType.UINT32:return en.getUint32(ei,!0);case eu.onnx.TensorProto.DataType.INT64:return eg(es.default.fromBits(en.getUint32(ei,!0),en.getUint32(ei+4,!0),!1),er);case eu.onnx.TensorProto.DataType.DOUBLE:return en.getFloat64(ei,!0);case eu.onnx.TensorProto.DataType.UINT64:return eg(es.default.fromBits(en.getUint32(ei,!0),en.getUint32(ei+4,!0),!0),er);default:throw Error(`cannot read from DataView for type ${eu.onnx.TensorProto.DataType[er]}`)}}er.Tensor=ed},2517:function(en,er,ei){"use strict";var eo=this&&this.__importDefault||function(en){return en&&en.__esModule?en:{default:en}};Object.defineProperty(er,"__esModule",{value:!0}),er.decodeUtf8String=er.MAX_CLIP=er.MIN_CLIP=er.PoolConvUtil=er.ReduceUtil=er.SplitUtil=er.MathUtil=er.ShapeUtil=er.LongUtil=er.ProtoUtil=er.GemmUtil=er.arrayCopyHelper=er.BroadcastUtil=er.MatMulUtil=er.ArrayUtil=er.assert=er.checkInputsShape=void 0;let ea=ei(5686),es=eo(ei(3720)),eu=ei(1446),ec=ei(9162);er.checkInputsShape=function(en,...er){if(!en||en.length!==er.length)return!1;for(let ei=0;ei<en.length;ei++)if(!en[ei].dims||en[ei].dims.length!==er[ei])return!1;return!0},er.assert=function(en,er){if(!en)throw Error("string"==typeof er?er:er())},er.ArrayUtil=class{static arraysEqual(en,er){if(en.length!==er.length)return!1;for(let ei=0;ei<en.length;ei++)if(en[ei]!==er[ei])return!1;return!0}};class ef{static preprocessInputShapes(en,er){return[1===en.length?[1,en[0]]:en,1===er.length?[er[0],1]:er]}static postprocessOutputShape(en,er,ei){1===er&&en.splice(en.length-2,1),1===ei&&en.pop()}static calcMatMulShape(en,er){return en[1]!==er[0]?void 0:[en[0],er[1]]}}er.MatMulUtil=ef;class eA{static calcShape(en,er,ei=!1){let eo=en.length,ea=er.length;if(0===eo)return er;if(0===ea)return en;let es=Math.max(en.length,er.length),eu=Array(es);if(ei){if(eo<2||ea<2)return;let ei=ef.calcMatMulShape([en[eo-2],en[eo-1]],[er[ea-2],er[ea-1]]);if(void 0===ei)return;[eu[es-2],eu[es-1]]=ei}for(let ec=ei?3:1;ec<=es;ec++){let ei=eo-ec<0?1:en[eo-ec],ef=ea-ec<0?1:er[ea-ec];if(ei!==ef&&ei>1&&ef>1)return;eu[es-ec]=Math.max(ei,ef)}return eu}static index(en,er){let ei=Array(er.length);return eA.fillIndex(en,er,ei),ei}static fillIndex(en,er,ei){let eo=en.length-er.length;for(let ea=0;ea<er.length;ea++)ei[ea]=en[eo+ea]%er[ea]}static calc(en,er,ei,eo,ea){let es=eA.calcShape(en.dims,er.dims);if(es){if(eo&&!ep.areEqual(es,en.dims))return;let eu=ep.size(es),ef=eo?en:new ec.Tensor(es,ea||en.type);if(0===es.length)ef.set([],ei(en.get([]),er.get([])));else{let eo=Array(es.length),ea=Array(en.dims.length),ec=Array(er.dims.length),ed,eh=0,ep=0,eg=!1,eb=!1;0===en.dims.length&&(eh=en.get([]),eg=!0),0===er.dims.length&&(ep=er.get([]),eb=!0);for(let em=0;em<eu;em++){ed=em;for(let en=es.length-1;en>=0;en--)eo[en]=ed%es[en],ed=Math.floor(ed/es[en]);eg||(eA.fillIndex(eo,en.dims,ea),eh=en.get(ea)),eb||(eA.fillIndex(eo,er.dims,ec),ep=er.get(ec)),ef.set(eo,ei(eh,ep))}}return ef}}static isValidBroadcast(en,er){let ei=en.length,eo=er.length;if(ei>eo)return!1;for(let ea=1;ea<=ei;ea++)if(1!==en[ei-ea]&&en[ei-ea]!==er[eo-ea])return!1;return!0}static getBroadcastDims(en,er){let ei=en.length,eo=[];for(let ea=0;ea<ei;ea++){let es=ei-1-ea,eu=en[es]||1;(er[er.length-1-ea]||1)>1&&1===eu&&eo.unshift(es)}return eo}}er.BroadcastUtil=eA,er.arrayCopyHelper=function(en,er,ei,eo,ea){if(eo<0||eo>=er.length)throw Error("sourceIndex out of bounds");if(ei<0||ei>=en.length)throw Error("targetIndex out of bounds");if(eo+ea>er.length)throw Error("source indices to be copied are outside bounds");if(ei+ea>en.length)throw Error("target array is too small to hold result");for(let es=0;es<ea;es++)en[ei+es]=er[eo+es]},er.GemmUtil=class{static getShapeOfGemmResult(en,er,ei,eo,ea){let es,eu,ec;if(2!==en.length||2!==ei.length)throw Error("shape need to be of size 2");er?(es=en[1],eu=en[0]):(es=en[0],eu=en[1]);let ef=-1;if(eo?(ec=ei[0],ef=1):(ec=ei[1],ef=0),ei[ef]!==eu)throw Error("dimension mismatch");if(es<=0||ec<=0||eu<=0)throw Error("invalid shape specified");if(ea&&!eA.isValidBroadcast(ea,[es,ec]))throw Error("gemm: invalid bias shape for broadcast");return[es,ec,eu]}};class ed{static tensorDataTypeFromProto(en){switch(en){case eu.onnx.TensorProto.DataType.INT8:return"int8";case eu.onnx.TensorProto.DataType.UINT8:return"uint8";case eu.onnx.TensorProto.DataType.BOOL:return"bool";case eu.onnx.TensorProto.DataType.INT16:return"int16";case eu.onnx.TensorProto.DataType.UINT16:return"uint16";case eu.onnx.TensorProto.DataType.INT32:return"int32";case eu.onnx.TensorProto.DataType.UINT32:return"uint32";case eu.onnx.TensorProto.DataType.FLOAT:return"float32";case eu.onnx.TensorProto.DataType.DOUBLE:return"float64";case eu.onnx.TensorProto.DataType.STRING:return"string";case eu.onnx.TensorProto.DataType.INT64:return"int32";case eu.onnx.TensorProto.DataType.UINT64:return"uint32";default:throw Error(`unsupported data type: ${eu.onnx.TensorProto.DataType[en]}`)}}static tensorDataTypeStringToEnum(en){switch(en){case"int8":return eu.onnx.TensorProto.DataType.INT8;case"uint8":return eu.onnx.TensorProto.DataType.UINT8;case"bool":return eu.onnx.TensorProto.DataType.BOOL;case"int16":return eu.onnx.TensorProto.DataType.INT16;case"uint16":return eu.onnx.TensorProto.DataType.UINT16;case"int32":return eu.onnx.TensorProto.DataType.INT32;case"uint32":return eu.onnx.TensorProto.DataType.UINT32;case"float32":return eu.onnx.TensorProto.DataType.FLOAT;case"float64":return eu.onnx.TensorProto.DataType.DOUBLE;case"string":return eu.onnx.TensorProto.DataType.STRING;case"int64":return eu.onnx.TensorProto.DataType.INT64;case"uint64":return eu.onnx.TensorProto.DataType.UINT64;default:throw Error(`unsupported data type: ${en}`)}}static tensorDimsFromProto(en){return en.map(en=>es.default.isLong(en)?en.toNumber():en)}static tensorValueTypeFromProto(en){return{tensorType:ed.tensorDataTypeFromProto(en.elemType),shape:{dims:ed.tensorDimsFromProto(en.shape.dim.map(en=>en.dimValue))}}}static tensorDimsFromORTFormat(en){let er=[];for(let ei=0;ei<en.dimsLength();ei++)er.push(eh.longToNumber(en.dims(ei)));return er}static tensorAttributesFromORTFormat(en){let er=[];for(let ei=0;ei<en.attributesLength();ei++)er.push(en.attributes(ei));return er}}er.ProtoUtil=ed;class eh{static longToNumber(en,er){return es.default.isLong(en)?en.toNumber():en instanceof ea.flatbuffers.Long?es.default.fromValue({low:en.low,high:en.high,unsigned:null!=er&&er}).toNumber():en}static isLong(en){return es.default.isLong(en)||en instanceof ea.flatbuffers.Long}}er.LongUtil=eh;class ep{static size(en){return ep.getSizeFromDimensionRange(en,0,en.length)}static sizeFromDimension(en,er){if(er<0||er>en.length)throw Error(`invalid dimension of ${er} for sizeFromDimension as Tensor has ${en.length} dimensions.`);return ep.getSizeFromDimensionRange(en,er,en.length)}static sizeToDimension(en,er){if(er<0||er>en.length)throw Error(`invalid dimension of ${er} for sizeToDimension as Tensor has ${en.length} dimensions.`);return ep.getSizeFromDimensionRange(en,0,er)}static getSizeFromDimensionRange(en,er,ei){let eo=1;for(let ea=er;ea<ei;ea++){if(en[ea]<=0)throw Error("cannot get valid size from specified dimension range. Most likely the range contains 0 or negative values in them.");eo*=en[ea]}return eo}static computeStrides(en){let er=en.length;if(0===er)return[];if(1===er)return[1];let ei=Array(er);ei[er-1]=1,ei[er-2]=en[er-1];for(let eo=er-3;eo>=0;--eo)ei[eo]=ei[eo+1]*en[eo+1];return ei}static transpose(en){return en.slice().reverse()}static indicesToOffset(en,er,ei){void 0===ei&&(ei=en.length);let eo=0;for(let ea=0;ea<ei;++ea)eo+=er[ea]*en[ea];return eo}static offsetToIndices(en,er){let ei=er.length;if(0===ei)return[];if(1===ei)return[en*er[0]];let eo=Array(er.length);for(let ei=0;ei<eo.length-1;++ei)eo[ei]=Math.floor(en/er[ei]),en-=eo[ei]*er[ei];return eo[eo.length-1]=en,eo}static normalizeAxis(en,er){if(en<-er&&en>=er)throw Error("unsupported axis for this operation.");return en<0?en+er:en}static normalizeAxes(en,er){return en.map(en=>this.normalizeAxis(en,er))}static incrementIndex(en,er,ei){if(0===er.length||0===en.length)throw Error("Index incrementing unsupported for scalar Tensor");if(void 0===ei)ei=er.length;else if(ei<=0||ei>er.length)throw Error("Incorrect axis to increment on");for(let eo=ei-1;eo>=0&&(en[eo]++,!(en[eo]<er[eo]));--eo)en[eo]=0}static calculateReshapedDims(en,er){if(0===er.length){if(0===en.length||1===ep.size(en))return[];throw Error("cannot reshape to a scalar Tensor")}let ei=er.length,eo=Array(ei),ea=-1,es=1;for(let eu=0;eu<ei;eu++){if(er[eu]<-1)throw Error("a dimension in shape hints cannot be less than -1");if(-1===er[eu]){if(-1!==ea)throw Error("at most one dimension in shape hints can be -1");ea=eu}else{if(0===er[eu]){if(eu>=en.length)throw Error("the dimension with value zero exceeds the dimension size of the input tensor");eo[eu]=en[eu]}else eo[eu]=er[eu];es*=eo[eu]}}let eu=ep.size(en);if(-1!==ea){if(eu%es!=0)throw Error(`the input tensor cannot be reshaped to the requested shape. Input shape: [${en}] Output shape: [${er}]`);eo[ea]=eu/es}else if(es!==eu)throw Error("reshapedDims and originalDims don't have matching sizes");return eo}static sortBasedOnPerm(en,er){return er?er.map(er=>en[er]):en.slice().reverse()}static padShape(en,er){let ei=en.length;return en.map((en,eo)=>en+er[eo]+er[eo+ei])}static areEqual(en,er){return en.length===er.length&&en.every((en,ei)=>en===er[ei])}static validateDimsAndCalcSize(en){if(en.length>6)throw TypeError("Only rank 0 to 6 is supported for tensor shape.");let er=1;for(let ei of en){if(!Number.isInteger(ei))throw TypeError(`Invalid shape: ${ei} is not an integer`);if(ei<0||ei>2147483647)throw TypeError(`Invalid shape: length ${ei} is not allowed`);er*=ei}return er}static flattenShape(en,er){er<0&&(er+=en.length);let ei=en.reduce((en,er)=>en*er,1),eo=en.slice(er).reduce((en,er)=>en*er,1);return[ei/eo,eo]}static squeezeShape(en,er){let ei=[];er=ep.normalizeAxes(er,en.length);for(let eo=0;eo<en.length;eo++){let ea=er.indexOf(eo)>=0;if(ea&&1!==en[eo])throw Error("squeeze an axis of size different than 1");(0===er.length&&en[eo]>1||er.length>0&&!ea)&&ei.push(en[eo])}return ei}static unsqueezeShape(en,er){let ei=Array(en.length+er.length);ei.fill(0);for(let en=0;en<er.length;en++){let eo=ep.normalizeAxis(er[en],ei.length);if(eo>=ei.length)throw Error("'axes' has an out of range axis");if(0!==ei[eo])throw Error("'axes' has a duplicate axis");ei[eo]=1}let eo=0;for(let er=0;er<ei.length;er++)0===ei[er]&&(ei[er]=en[eo++]);if(eo!==en.length)throw Error("the unsqueezed dimension could not be established");return ei}}er.ShapeUtil=ep,er.MathUtil=class{static sqr(en,er,ei,eo,ea){if(eo<0||eo>=er.length)throw Error("sourceIndex out of bounds");if(ei<0||ei>=en.length)throw Error("targetIndex out of bounds");if(eo+ea>er.length)throw Error("source indices to be copied are outside bounds");if(ei+ea>en.length)throw Error("target array is too small to hold result");for(let es=0;es<ea;es++)en[ei+es]+=Math.pow(er[eo+es],2)}static axpy(en,er,ei,eo,ea,es){if(eo<0||eo>=er.length)throw Error("sourceIndex out of bounds");if(ei<0||ei>=en.length)throw Error("targetIndex out of bounds");if(eo+ea>er.length)throw Error("source indices to be copied are outside bounds");if(ei+ea>en.length)throw Error("target array is too small to hold result");for(let eu=0;eu<ea;eu++)en[ei+eu]+=es*er[eo+eu]}static powx(en,er,ei,eo,ea,es){if(eo<0||eo>=er.length)throw Error("sourceIndex out of bounds");if(ei<0||ei>=en.length)throw Error("targetIndex out of bounds");if(eo+ea>er.length)throw Error("source indices to be copied are outside bounds");if(ei+ea>en.length)throw Error("target array is too small to hold result");for(let eu=0;eu<ea;eu++)en[ei+eu]=Math.pow(er[eo+eu],es)}static mul(en,er,ei,eo,ea){if(eo<0||eo>=er.length)throw Error("sourceIndex out of bounds");if(ei<0||ei>=en.length)throw Error("targetIndex out of bounds");if(eo+ea>er.length)throw Error("source indices to be copied are outside bounds");if(ei+ea>en.length)throw Error("target array is too small to hold result");for(let es=0;es<ea;es++)en[ei+es]=er[eo+es]*en[ei+es]}};class eg{static splitShape(en,er,ei,eo){if(0===ei.length){if(!eo)throw Error("need to know number of outputs when the 'split' attribute is not specified");eg.determineSplit(en[er],eo,ei)}let ea=[],es=[0];for(let eo=0;eo<ei.length;++eo){0!==eo&&es.push(es[eo-1]+ei[eo-1]);let eu=en.slice();eu[er]=ei[eo],ea.push(eu)}return[ea,es]}static determineSplit(en,er,ei){if(en%er!=0)throw Error("cannot split tensor to equal sized parts");for(let eo=0;eo<er;++eo)ei.push(en/er)}}er.SplitUtil=eg;class eb{static calcReduce(en,er,ei,eo,ea){let es=en.dims.slice(0);0===er.length&&es.forEach((en,ei)=>er.push(ei));let eu=eb.calcReduceShape(es,er,!0),ef=ep.size(eu),ed=new ec.Tensor(eu,en.type),eh=ep.computeStrides(eu),eg=ep.computeStrides(es),em=Array(es.length);for(let ei=0;ei<ef;ei++){let eu=ep.offsetToIndices(ei,eh);eA.fillIndex(eu,es,em),ed.set(eu,eb.calcReduceByAxis(en.numberData,er,es,0,ep.indicesToOffset(em,eg),eo,ea))}return ei?ed:new ec.Tensor(eb.calcReduceShape(es,er,ei),ed.type,void 0,void 0,ed.data,ed.dataId)}static calcReduceByAxis(en,er,ei,eo,ea,es,eu){let ec=0;if(eo>=er.length)return es(en[ea]);let ef=er[eo],eA=ef>=ei.length?1:ep.size(ei.slice(ef+1));for(let ed=0;ed<ei[ef];ed++)ec=0===ed?eb.calcReduceByAxis(en,er,ei,eo+1,ea,es,eu):eu(ec,eb.calcReduceByAxis(en,er,ei,eo+1,ea,es,eu)),ea+=eA;return ec}static calcReduceShape(en,er,ei){let eo=en.slice();for(let en=0;en<er.length;en++)eo[er[en]]=ei?1:0;return eo.filter(en=>0!==en)}}er.ReduceUtil=eb;class em{static adjustPoolAttributes(en,er,ei,eo,ea,es){if(!en&&ei.length!==er.length-2)throw Error("length of specified kernel shapes should be 2 less than length of input dimensions");if(en)for(let en=0;en<er.length-2;en++)en>=ei.length?ei.push(er[en+2]):ei[en]=er[en+2];for(let en=0;en<ei.length;en++)if(en<eo.length){if(eo[en]<0)throw Error("strides should be greater than or equal to 1")}else eo.push(1);for(let en=0;en<ei.length;en++)if(en<ea.length){if(ea[en]<0)throw Error("dilations should be greater than or equal to 1")}else ea.push(1);for(let en=0;en<2*ei.length;en++)if(en<es.length){if(es[en]<0)throw Error("pad should be greater than or equal to 1")}else es.push(0);for(let en=0;en<ei.length;en++){if(ei[en]<=0)throw Error("kernel shapes need to be greater than 0");if(es[en]>=ei[en]||es[en+ei.length]>=ei[en])throw Error("pads should be smaller than kernel")}}static adjustPadsBasedOnAutoPad(en,er,ei,eo,ea,es){if(es){if(ea.length!==2*(en.length-2))throw Error("length of pads should be twice the length of data dimensions");if(er.length!==en.length-2)throw Error("length of strides should be the length of data dimensions");if(eo.length!==en.length-2)throw Error("length of kernel shapes should be the length of data dimensions");for(let eu=0;eu<en.length-2;eu++)em.adjustPadAndReturnShape(en[eu+2],er[eu],ei[eu],eo[eu],ea,eu,eu+en.length-2,es)}}static computePoolOutputShape(en,er,ei,eo,ea,es,eu){if(er.length<=0)throw Error("input shape must be of size greater than 0");let ec=[er[0],er[1]];return em.computeShapeHelper(en,er,ec,ei,eo,ea,es,eu),ec}static computeConvOutputShape(en,er,ei,eo,ea,es,eu){if(en.length<=0||er.length<=0)throw Error("invalid input tensor dims or invalid filter tensor dims");let ec=[en[0],er[0]];return em.computeShapeHelper(!1,en,ec,ei,eo,ea,es,eu),ec}static computeShapeHelper(en,er,ei,eo,ea,es,eu,ec){if(en)for(let en=0;en<er.length-2;en++)ei.push(1);else for(let en=0;en<er.length-2;en++)ei.push(em.adjustPadAndReturnShape(er[en+2],eo[en],ea[en],es[en],eu,en,en+er.length-2,ec))}static adjustPadAndReturnShape(en,er,ei,eo,ea,es,eu,ec){let ef=ei*(eo-1)+1;if(!ec||"NOTSET"===ec)return Math.floor((en+ea[es]+ea[eu]-ef)/er+1);switch(ec){case"VALID":return ea[es]=0,ea[eu]=0,Math.floor((en-ef)/er+1);case"SAME_LOWER":case"SAME_UPPER":if(1!==ei)throw Error("Dilation not supported for SAME_UPPER or SAME_LOWER");{let ei=((en+er-1)/er-1)*er+eo-en;return ea[es]="SAME_LOWER"===ec?Math.floor((ei+1)/2):Math.floor(ei/2),ea[eu]=ei-ea[es],Math.floor((en+ei-eo)/er+1)}default:throw Error("Unsupported AutoPad type")}}}er.PoolConvUtil=em,er.MIN_CLIP=-34028234663852886e22,er.MAX_CLIP=34028234663852886e22,er.decodeUtf8String=function(en){return(new TextDecoder).decode(en)}},7967:(en,er)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.iterateExtraOptions=void 0,er.iterateExtraOptions=(en,ei,eo,ea)=>{if("object"==typeof en&&null!==en){if(eo.has(en))throw Error("Circular reference in options");eo.add(en)}Object.entries(en).forEach(([en,es])=>{let eu=ei?ei+en:en;if("object"==typeof es)(0,er.iterateExtraOptions)(es,eu+".",eo,ea);else if("string"==typeof es||"number"==typeof es)ea(eu,es.toString());else{if("boolean"!=typeof es)throw Error("Can't handle extra config type: "+typeof es);ea(eu,es?"1":"0")}})}},2157:function(en,er,ei){"use strict";var eo,ea=this&&this.__createBinding||(Object.create?function(en,er,ei,eo){void 0===eo&&(eo=ei);var ea=Object.getOwnPropertyDescriptor(er,ei);ea&&!("get"in ea?!er.__esModule:ea.writable||ea.configurable)||(ea={enumerable:!0,get:function(){return er[ei]}}),Object.defineProperty(en,eo,ea)}:function(en,er,ei,eo){void 0===eo&&(eo=ei),en[eo]=er[ei]}),es=this&&this.__setModuleDefault||(Object.create?function(en,er){Object.defineProperty(en,"default",{enumerable:!0,value:er})}:function(en,er){en.default=er}),eu=this&&this.__importStar||function(en){if(en&&en.__esModule)return en;var er={};if(null!=en)for(var ei in en)"default"!==ei&&Object.prototype.hasOwnProperty.call(en,ei)&&ea(er,en,ei);return es(er,en),er};Object.defineProperty(er,"__esModule",{value:!0}),er.endProfiling=er.run=er.releaseSession=er.createSession=er.createSessionFinalize=er.createSessionAllocate=er.initOrt=er.initWasm=void 0;let ec=ei(1670),ef=eu(ei(349)),eA=ei(6361),ed=()=>!!ec.env.wasm.proxy&&"undefined"!=typeof document,eh,ep,eg,eb=!1,em=!1,ey=!1,ev=[],eI=[],ew=[],eE=[],eC=[],eT=[],eS=()=>{if(eb||!em||ey||!eh)throw Error("worker not ready")},eB=en=>{switch(en.data.type){case"init-wasm":eb=!1,en.data.err?(ey=!0,ep[1](en.data.err)):(em=!0,ep[0]());break;case"init-ort":en.data.err?eg[1](en.data.err):eg[0]();break;case"create_allocate":en.data.err?ev.shift()[1](en.data.err):ev.shift()[0](en.data.out);break;case"create_finalize":en.data.err?eI.shift()[1](en.data.err):eI.shift()[0](en.data.out);break;case"create":en.data.err?ew.shift()[1](en.data.err):ew.shift()[0](en.data.out);break;case"release":en.data.err?eE.shift()[1](en.data.err):eE.shift()[0]();break;case"run":en.data.err?eC.shift()[1](en.data.err):eC.shift()[0](en.data.out);break;case"end-profiling":en.data.err?eT.shift()[1](en.data.err):eT.shift()[0]()}},ex="undefined"!=typeof document?null===(eo=null==document?void 0:document.currentScript)||void 0===eo?void 0:eo.src:void 0;er.initWasm=async()=>{if(ed()){if(em)return;if(eb)throw Error("multiple calls to 'initWasm()' detected.");if(ey)throw Error("previous call to 'initWasm()' failed.");return eb=!0,void 0===ec.env.wasm.wasmPaths&&ex&&0!==ex.indexOf("blob:")&&(ec.env.wasm.wasmPaths=ex.substr(0,+ex.lastIndexOf("/")+1)),new Promise((en,er)=>{null==eh||eh.terminate(),(eh=ei(9710).Z()).onmessage=eB,ep=[en,er];let eo={type:"init-wasm",in:ec.env.wasm};eh.postMessage(eo)})}return(0,eA.initializeWebAssembly)(ec.env.wasm)},er.initOrt=async(en,er)=>{if(ed())return eS(),new Promise((ei,eo)=>{eg=[ei,eo];let ea={type:"init-ort",in:{numThreads:en,loggingLevel:er}};eh.postMessage(ea)});ef.initOrt(en,er)},er.createSessionAllocate=async en=>ed()?(eS(),new Promise((er,ei)=>{ev.push([er,ei]);let eo={type:"create_allocate",in:{model:en}};eh.postMessage(eo,[en.buffer])})):ef.createSessionAllocate(en),er.createSessionFinalize=async(en,er)=>ed()?(eS(),new Promise((ei,eo)=>{eI.push([ei,eo]);let ea={type:"create_finalize",in:{modeldata:en,options:er}};eh.postMessage(ea)})):ef.createSessionFinalize(en,er),er.createSession=async(en,er)=>ed()?(eS(),new Promise((ei,eo)=>{ew.push([ei,eo]);let ea={type:"create",in:{model:en,options:er}};eh.postMessage(ea,[en.buffer])})):ef.createSession(en,er),er.releaseSession=async en=>{if(ed())return eS(),new Promise((er,ei)=>{eE.push([er,ei]);let eo={type:"release",in:en};eh.postMessage(eo)});ef.releaseSession(en)},er.run=async(en,er,ei,eo,ea)=>ed()?(eS(),new Promise((es,eu)=>{eC.push([es,eu]);let ec={type:"run",in:{sessionId:en,inputIndices:er,inputs:ei,outputIndices:eo,options:ea}};eh.postMessage(ec,ef.extractTransferableBuffers(ei))})):ef.run(en,er,ei,eo,ea),er.endProfiling=async en=>{if(ed())return eS(),new Promise((er,ei)=>{eT.push([er,ei]);let eo={type:"end-profiling",in:en};eh.postMessage(eo)});ef.endProfiling(en)}},586:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.setRunOptions=void 0;let eo=ei(7967),ea=ei(4983),es=ei(6361);er.setRunOptions=en=>{let er=(0,es.getInstance)(),ei=0,eu=[],ec=en||{};try{if(void 0===(null==en?void 0:en.logSeverityLevel))ec.logSeverityLevel=2;else if("number"!=typeof en.logSeverityLevel||!Number.isInteger(en.logSeverityLevel)||en.logSeverityLevel<0||en.logSeverityLevel>4)throw Error(`log serverity level is not valid: ${en.logSeverityLevel}`);if(void 0===(null==en?void 0:en.logVerbosityLevel))ec.logVerbosityLevel=0;else if("number"!=typeof en.logVerbosityLevel||!Number.isInteger(en.logVerbosityLevel))throw Error(`log verbosity level is not valid: ${en.logVerbosityLevel}`);void 0===(null==en?void 0:en.terminate)&&(ec.terminate=!1);let es=0;if(void 0!==(null==en?void 0:en.tag)&&(es=(0,ea.allocWasmString)(en.tag,eu)),ei=er._OrtCreateRunOptions(ec.logSeverityLevel,ec.logVerbosityLevel,!!ec.terminate,es),0===ei)throw Error("Can't create run options");return void 0!==(null==en?void 0:en.extra)&&(0,eo.iterateExtraOptions)(en.extra,"",new WeakSet,(en,eo)=>{let es=(0,ea.allocWasmString)(en,eu),ec=(0,ea.allocWasmString)(eo,eu);if(0!==er._OrtAddRunConfigEntry(ei,es,ec))throw Error(`Can't set a run config entry: ${en} - ${eo}`)}),[ei,eu]}catch(en){throw 0!==ei&&er._OrtReleaseRunOptions(ei),eu.forEach(er._free),en}}},2306:(en,er,ei)=>{"use strict";let eo;Object.defineProperty(er,"__esModule",{value:!0}),er.OnnxruntimeWebAssemblySessionHandler=void 0;let ea=ei(2806),es=ei(1670),eu=ei(2850),ec=ei(2157);er.OnnxruntimeWebAssemblySessionHandler=class{async createSessionAllocate(en){let er=await fetch(en),ei=await er.arrayBuffer();return(0,ec.createSessionAllocate)(new Uint8Array(ei))}async loadModel(en,er){if(eo||(await (0,ec.initOrt)(es.env.wasm.numThreads,(en=>{switch(en){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw Error(`unsupported logging level: ${en}`)}})(es.env.logLevel)),eo=!0),"string"==typeof en){if("undefined"==typeof fetch){let ei=await (0,eu.promisify)(ea.readFile)(en);[this.sessionId,this.inputNames,this.outputNames]=await (0,ec.createSession)(ei,er)}else{let ei=await this.createSessionAllocate(en);[this.sessionId,this.inputNames,this.outputNames]=await (0,ec.createSessionFinalize)(ei,er)}}else[this.sessionId,this.inputNames,this.outputNames]=await (0,ec.createSession)(en,er)}async dispose(){return(0,ec.releaseSession)(this.sessionId)}async run(en,er,ei){let eo=[],ea=[];Object.entries(en).forEach(en=>{let er=en[0],ei=en[1],es=this.inputNames.indexOf(er);if(-1===es)throw Error(`invalid input '${er}'`);eo.push(ei),ea.push(es)});let eu=[];Object.entries(er).forEach(en=>{let er=en[0],ei=this.outputNames.indexOf(er);if(-1===ei)throw Error(`invalid output '${er}'`);eu.push(ei)});let ef=await (0,ec.run)(this.sessionId,ea,eo.map(en=>[en.type,en.dims,en.data]),eu,ei),eA={};for(let en=0;en<ef.length;en++)eA[this.outputNames[eu[en]]]=new es.Tensor(ef[en][0],ef[en][2],ef[en][1]);return eA}startProfiling(){}endProfiling(){(0,ec.endProfiling)(this.sessionId)}}},4919:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.setSessionOptions=void 0;let eo=ei(7967),ea=ei(4983),es=ei(6361);er.setSessionOptions=en=>{let er=(0,es.getInstance)(),ei=0,eu=[],ec=en||{};(en=>{en.extra||(en.extra={}),en.extra.session||(en.extra.session={});let er=en.extra.session;er.use_ort_model_bytes_directly||(er.use_ort_model_bytes_directly="1")})(ec);try{void 0===(null==en?void 0:en.graphOptimizationLevel)&&(ec.graphOptimizationLevel="all");let ef=(en=>{switch(en){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw Error(`unsupported graph optimization level: ${en}`)}})(ec.graphOptimizationLevel);void 0===(null==en?void 0:en.enableCpuMemArena)&&(ec.enableCpuMemArena=!0),void 0===(null==en?void 0:en.enableMemPattern)&&(ec.enableMemPattern=!0),void 0===(null==en?void 0:en.executionMode)&&(ec.executionMode="sequential");let eA=(en=>{switch(en){case"sequential":return 0;case"parallel":return 1;default:throw Error(`unsupported execution mode: ${en}`)}})(ec.executionMode),ed=0;if(void 0!==(null==en?void 0:en.logId)&&(ed=(0,ea.allocWasmString)(en.logId,eu)),void 0===(null==en?void 0:en.logSeverityLevel))ec.logSeverityLevel=2;else if("number"!=typeof en.logSeverityLevel||!Number.isInteger(en.logSeverityLevel)||en.logSeverityLevel<0||en.logSeverityLevel>4)throw Error(`log serverity level is not valid: ${en.logSeverityLevel}`);if(void 0===(null==en?void 0:en.logVerbosityLevel))ec.logVerbosityLevel=0;else if("number"!=typeof en.logVerbosityLevel||!Number.isInteger(en.logVerbosityLevel))throw Error(`log verbosity level is not valid: ${en.logVerbosityLevel}`);if(void 0===(null==en?void 0:en.enableProfiling)&&(ec.enableProfiling=!1),ei=er._OrtCreateSessionOptions(ef,!!ec.enableCpuMemArena,!!ec.enableMemPattern,eA,!!ec.enableProfiling,0,ed,ec.logSeverityLevel,ec.logVerbosityLevel),0===ei)throw Error("Can't create session options");return(null==en?void 0:en.executionProviders)&&((en,er,ei)=>{for(let eo of er){let er="string"==typeof eo?eo:eo.name;switch(er){case"xnnpack":er="XNNPACK";break;case"wasm":case"cpu":continue;default:throw Error(`not supported EP: ${er}`)}let eu=(0,ea.allocWasmString)(er,ei);if(0!==(0,es.getInstance)()._OrtAppendExecutionProvider(en,eu))throw Error(`Can't append execution provider: ${er}`)}})(ei,en.executionProviders,eu),void 0!==(null==en?void 0:en.extra)&&(0,eo.iterateExtraOptions)(en.extra,"",new WeakSet,(en,eo)=>{let es=(0,ea.allocWasmString)(en,eu),ec=(0,ea.allocWasmString)(eo,eu);if(0!==er._OrtAddSessionConfigEntry(ei,es,ec))throw Error(`Can't set a session config entry: ${en} - ${eo}`)}),[ei,eu]}catch(en){throw 0!==ei&&er._OrtReleaseSessionOptions(ei),eu.forEach(er._free),en}}},4983:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.allocWasmString=void 0;let eo=ei(6361);er.allocWasmString=(en,er)=>{let ei=(0,eo.getInstance)(),ea=ei.lengthBytesUTF8(en)+1,es=ei._malloc(ea);return ei.stringToUTF8(en,es,ea),er.push(es),es}},349:(en,er,ei)=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0}),er.extractTransferableBuffers=er.endProfiling=er.run=er.releaseSession=er.createSession=er.createSessionFinalize=er.createSessionAllocate=er.initOrt=void 0;let eo=ei(586),ea=ei(4919),es=ei(4983),eu=ei(6361);er.initOrt=(en,er)=>{let ei=(0,eu.getInstance)()._OrtInit(en,er);if(0!==ei)throw Error(`Can't initialize onnxruntime. error code = ${ei}`)};let ec=new Map;er.createSessionAllocate=en=>{let er=(0,eu.getInstance)(),ei=er._malloc(en.byteLength);return er.HEAPU8.set(en,ei),[ei,en.byteLength]},er.createSessionFinalize=(en,er)=>{let ei=(0,eu.getInstance)(),eo=0,es=0,ef=[];try{if([es,ef]=(0,ea.setSessionOptions)(er),eo=ei._OrtCreateSession(en[0],en[1],es),0===eo)throw Error("Can't create a session")}finally{ei._free(en[0]),ei._OrtReleaseSessionOptions(es),ef.forEach(ei._free)}let eA=ei._OrtGetInputCount(eo),ed=ei._OrtGetOutputCount(eo),eh=[],ep=[],eg=[],eb=[];for(let en=0;en<eA;en++){let er=ei._OrtGetInputName(eo,en);if(0===er)throw Error("Can't get an input name");ep.push(er),eh.push(ei.UTF8ToString(er))}for(let en=0;en<ed;en++){let er=ei._OrtGetOutputName(eo,en);if(0===er)throw Error("Can't get an output name");eb.push(er),eg.push(ei.UTF8ToString(er))}return ec.set(eo,[eo,ep,eb]),[eo,eh,eg]},er.createSession=(en,ei)=>{let eo=(0,er.createSessionAllocate)(en);return(0,er.createSessionFinalize)(eo,ei)},er.releaseSession=en=>{let er=(0,eu.getInstance)(),ei=ec.get(en);if(!ei)throw Error("invalid session id");let eo=ei[0],ea=ei[1],es=ei[2];ea.forEach(er._OrtFree),es.forEach(er._OrtFree),er._OrtReleaseSession(eo),ec.delete(en)};let ef=en=>{switch(en){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;default:throw Error(`unsupported data type: ${en}`)}},eA=en=>{switch(en){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";default:throw Error(`unsupported data type: ${en}`)}},ed=en=>{switch(en){case"float32":return Float32Array;case"uint8":case"bool":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw Error(`unsupported type: ${en}`)}};er.run=(en,er,ei,ea,eh)=>{let ep=(0,eu.getInstance)(),eg=ec.get(en);if(!eg)throw Error("invalid session id");let eb=eg[0],em=eg[1],ey=eg[2],ev=er.length,eI=ea.length,ew=0,eE=[],eC=[],eT=[];try{[ew,eE]=(0,eo.setRunOptions)(eh);for(let en=0;en<ev;en++){let er,eo;let ea=ei[en][0],eu=ei[en][1],ec=ei[en][2];if(Array.isArray(ec)){eo=4*ec.length,er=ep._malloc(eo),eT.push(er);let en=er/4;for(let er=0;er<ec.length;er++){if("string"!=typeof ec[er])throw TypeError(`tensor data at index ${er} is not a string`);ep.HEAPU32[en++]=(0,es.allocWasmString)(ec[er],eT)}}else eo=ec.byteLength,er=ep._malloc(eo),eT.push(er),ep.HEAPU8.set(new Uint8Array(ec.buffer,ec.byteOffset,eo),er);let eA=ep.stackSave(),ed=ep.stackAlloc(4*eu.length);try{let en=ed/4;eu.forEach(er=>ep.HEAP32[en++]=er);let ei=ep._OrtCreateTensor(ef(ea),er,eo,ed,eu.length);if(0===ei)throw Error("Can't create a tensor");eC.push(ei)}finally{ep.stackRestore(eA)}}let en=ep.stackSave(),eu=ep.stackAlloc(4*ev),ec=ep.stackAlloc(4*ev),eg=ep.stackAlloc(4*eI),eS=ep.stackAlloc(4*eI);try{let en=eu/4,ei=ec/4,eo=eg/4,es=eS/4;for(let eo=0;eo<ev;eo++)ep.HEAPU32[en++]=eC[eo],ep.HEAPU32[ei++]=em[er[eo]];for(let en=0;en<eI;en++)ep.HEAPU32[eo++]=0,ep.HEAPU32[es++]=ey[ea[en]];let ef=ep._OrtRun(eb,ec,eu,ev,eS,eI,eg,ew),eh=[];if(0===ef)for(let en=0;en<eI;en++){let er=ep.HEAPU32[eg/4+en],ei=ep.stackSave(),eo=ep.stackAlloc(16),ea,es=0;try{if(ef=ep._OrtGetTensorData(er,eo,eo+4,eo+8,eo+12),0!==ef)throw Error(`Can't access output tensor data. error code = ${ef}`);let en=eo/4,ei=ep.HEAPU32[en++];es=ep.HEAPU32[en++];let eu=ep.HEAPU32[en++],ec=ep.HEAPU32[en++],eg=[];for(let en=0;en<ec;en++)eg.push(ep.HEAPU32[eu/4+en]);ep._OrtFree(eu);let eb=0===eg.length?1:eg.reduce((en,er)=>en*er);if(ea=eA(ei),"string"===ea){let en=[],er=es/4;for(let ei=0;ei<eb;ei++){let eo=ep.HEAPU32[er++],ea=ei===eb-1?void 0:ep.HEAPU32[er]-eo;en.push(ep.UTF8ToString(eo,ea))}eh.push([ea,eg,en])}else{let en=new(ed(ea))(eb);new Uint8Array(en.buffer,en.byteOffset,en.byteLength).set(ep.HEAPU8.subarray(es,es+en.byteLength)),eh.push([ea,eg,en])}}finally{ep.stackRestore(ei),"string"===ea&&es&&ep._free(es),ep._OrtReleaseTensor(er)}}if(0===ef)return eh;throw Error(`failed to call OrtRun(). error code = ${ef}.`)}finally{ep.stackRestore(en)}}finally{eC.forEach(ep._OrtReleaseTensor),eT.forEach(ep._free),ep._OrtReleaseRunOptions(ew),eE.forEach(ep._free)}},er.endProfiling=en=>{let er=(0,eu.getInstance)(),ei=ec.get(en);if(!ei)throw Error("invalid session id");let eo=ei[0],ea=er._OrtEndProfiling(eo);if(0===ea)throw Error("Can't get an profile file name");er._OrtFree(ea)},er.extractTransferableBuffers=en=>{let er=[];for(let ei of en){let en=ei[2];!Array.isArray(en)&&en.buffer&&er.push(en.buffer)}return er}},6361:function(en,er,ei){"use strict";var eo=this&&this.__createBinding||(Object.create?function(en,er,ei,eo){void 0===eo&&(eo=ei);var ea=Object.getOwnPropertyDescriptor(er,ei);ea&&!("get"in ea?!er.__esModule:ea.writable||ea.configurable)||(ea={enumerable:!0,get:function(){return er[ei]}}),Object.defineProperty(en,eo,ea)}:function(en,er,ei,eo){void 0===eo&&(eo=ei),en[eo]=er[ei]}),ea=this&&this.__setModuleDefault||(Object.create?function(en,er){Object.defineProperty(en,"default",{enumerable:!0,value:er})}:function(en,er){en.default=er}),es=this&&this.__importStar||function(en){if(en&&en.__esModule)return en;var er={};if(null!=en)for(var ei in en)"default"!==ei&&Object.prototype.hasOwnProperty.call(en,ei)&&eo(er,en,ei);return ea(er,en),er},eu=this&&this.__importDefault||function(en){return en&&en.__esModule?en:{default:en}};Object.defineProperty(er,"__esModule",{value:!0}),er.dispose=er.getInstance=er.initializeWebAssembly=void 0;let ec=es(ei(6449)),ef=eu(ei(932)),eA=ei(3474),ed,eh=!1,ep=!1,eg=!1,eb=(en,er)=>er?en?"ort-wasm-simd-threaded.wasm":"ort-wasm-threaded.wasm":en?"ort-wasm-simd.wasm":"ort-wasm.wasm";er.initializeWebAssembly=async en=>{if(eh)return Promise.resolve();if(ep)throw Error("multiple calls to 'initializeWebAssembly()' detected.");if(eg)throw Error("previous call to 'initializeWebAssembly()' failed.");ep=!0;let er=en.initTimeout,eo=en.numThreads,ea=en.simd,es=eo>1&&(()=>{try{return"undefined"!=typeof SharedArrayBuffer&&("undefined"!=typeof MessageChannel&&(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11])))}catch(en){return!1}})(),eu=ea&&(()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch(en){return!1}})(),em="string"==typeof en.wasmPaths?en.wasmPaths:void 0,ey=eb(!1,es),ev=eb(eu,es),eI="object"==typeof en.wasmPaths?en.wasmPaths[ev]:void 0,ew=!1,eE=[];if(er>0&&eE.push(new Promise(en=>{setTimeout(()=>{ew=!0,en()},er)})),eE.push(new Promise((en,er)=>{let eo=es?eA:ef.default,ea={locateFile:(en,er)=>es&&en.endsWith(".worker.js")&&"undefined"!=typeof Blob?URL.createObjectURL(new Blob([ei(4154)],{type:"text/javascript"})):en===ey?null!=eI?eI:(null!=em?em:er)+ev:er+en};if(es){if("undefined"==typeof Blob)ea.mainScriptUrlOrBlob=ec.join("/","ort-wasm-threaded.js");else{let en=`var ortWasmThreaded=(function(){var _scriptDir;return ${eo.toString()}})();`;ea.mainScriptUrlOrBlob=new Blob([en],{type:"text/javascript"})}}eo(ea).then(er=>{ep=!1,eh=!0,ed=er,en()},en=>{ep=!1,eg=!0,er(en)})})),await Promise.race(eE),ew)throw Error(`WebAssembly backend initializing failed due to timeout: ${er}ms`)},er.getInstance=()=>{if(eh&&ed)return ed;throw Error("WebAssembly is not initialized yet.")},er.dispose=()=>{var en;!eh||ep||eg||(ep=!0,null===(en=ed.PThread)||void 0===en||en.terminateAllThreads(),ed=void 0,ep=!1,eh=!1,eg=!0)}},9710:(en,er,ei)=>{"use strict";ei.d(er,{Z:()=>es});var eo=ei(477),ea=ei.n(eo);function es(){return ea()('/*!\n* ONNX Runtime Web v1.14.0\n* Copyright (c) Microsoft Corporation. All rights reserved.\n* Licensed under the MIT License.\n*/\n(()=>{var t={474:(t,e,n)=>{var _scriptDir,r=(_scriptDir=(_scriptDir="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(t){function e(){return j.buffer!=D&&N(j.buffer),P}function r(){return j.buffer!=D&&N(j.buffer),U}function a(){return j.buffer!=D&&N(j.buffer),F}function i(){return j.buffer!=D&&N(j.buffer),I}function o(){return j.buffer!=D&&N(j.buffer),W}var u,c,s;t=t||{},u||(u=void 0!==t?t:{}),u.ready=new Promise((function(t,e){c=t,s=e}));var l,f,p,h,d,y,b=Object.assign({},u),m="./this.program",g=(t,e)=>{throw e},v="object"==typeof window,w="function"==typeof importScripts,_="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,O=u.ENVIRONMENT_IS_PTHREAD||!1,A="";function S(t){return u.locateFile?u.locateFile(t,A):A+t}if(_){let e;A=w?n(908).dirname(A)+"/":"//",y=()=>{d||(h=n(384),d=n(908))},l=function(t,e){return y(),t=d.normalize(t),h.readFileSync(t,e?void 0:"utf8")},p=t=>((t=l(t,!0)).buffer||(t=new Uint8Array(t)),t),f=(t,e,n)=>{y(),t=d.normalize(t),h.readFile(t,(function(t,r){t?n(t):e(r.buffer)}))},1<process.argv.length&&(m=process.argv[1].replace(/\\\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",(function(t){if(!(t instanceof ct))throw t})),process.on("unhandledRejection",(function(t){throw t})),g=(t,e)=>{if(Q())throw process.exitCode=t,e;e instanceof ct||x("exiting due to exception: "+e),process.exit(t)},u.inspect=function(){return"[Emscripten Module object]"};try{e=n(925)}catch(t){throw console.error(\'The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?\'),t}n.g.Worker=e.Worker}else(v||w)&&(w?A=self.location.href:"undefined"!=typeof document&&document.currentScript&&(A=document.currentScript.src),_scriptDir&&(A=_scriptDir),A=0!==A.indexOf("blob:")?A.substr(0,A.replace(/[?#].*/,"").lastIndexOf("/")+1):"",_||(l=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},w&&(p=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),f=(t,e,n)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n()},r.onerror=n,r.send(null)}));_&&"undefined"==typeof performance&&(n.g.performance=n(953).performance);var T=console.log.bind(console),E=console.warn.bind(console);_&&(y(),T=t=>h.writeSync(1,t+"\\n"),E=t=>h.writeSync(2,t+"\\n"));var M,C=u.print||T,x=u.printErr||E;Object.assign(u,b),b=null,u.thisProgram&&(m=u.thisProgram),u.quit&&(g=u.quit),u.wasmBinary&&(M=u.wasmBinary);var R=u.noExitRuntime||!1;"object"!=typeof WebAssembly&&at("no native wasm support detected");var j,k,D,P,U,F,I,W,H=!1,L="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function z(t,e,n){var r=(e>>>=0)+n;for(n=e;t[n]&&!(n>=r);)++n;if(16<n-e&&t.buffer&&L)return L.decode(t.buffer instanceof SharedArrayBuffer?t.slice(e,n):t.subarray(e,n));for(r="";e<n;){var a=t[e++];if(128&a){var i=63&t[e++];if(192==(224&a))r+=String.fromCharCode((31&a)<<6|i);else{var o=63&t[e++];65536>(a=224==(240&a)?(15&a)<<12|i<<6|o:(7&a)<<18|i<<12|o<<6|63&t[e++])?r+=String.fromCharCode(a):(a-=65536,r+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else r+=String.fromCharCode(a)}return r}function Y(t,e){return(t>>>=0)?z(r(),t,e):""}function B(t,e,n,r){if(!(0<r))return 0;var a=n>>>=0;r=n+r-1;for(var i=0;i<t.length;++i){var o=t.charCodeAt(i);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&t.charCodeAt(++i)),127>=o){if(n>=r)break;e[n++>>>0]=o}else{if(2047>=o){if(n+1>=r)break;e[n++>>>0]=192|o>>6}else{if(65535>=o){if(n+2>=r)break;e[n++>>>0]=224|o>>12}else{if(n+3>=r)break;e[n++>>>0]=240|o>>18,e[n++>>>0]=128|o>>12&63}e[n++>>>0]=128|o>>6&63}e[n++>>>0]=128|63&o}}return e[n>>>0]=0,n-a}function G(t){for(var e=0,n=0;n<t.length;++n){var r=t.charCodeAt(n);127>=r?e++:2047>=r?e+=2:55296<=r&&57343>=r?(e+=4,++n):e+=3}return e}function N(t){D=t,u.HEAP8=P=new Int8Array(t),u.HEAP16=new Int16Array(t),u.HEAP32=F=new Int32Array(t),u.HEAPU8=U=new Uint8Array(t),u.HEAPU16=new Uint16Array(t),u.HEAPU32=I=new Uint32Array(t),u.HEAPF32=new Float32Array(t),u.HEAPF64=W=new Float64Array(t)}O&&(D=u.buffer);var V=u.INITIAL_MEMORY||16777216;if(O)j=u.wasmMemory,D=u.buffer;else if(u.wasmMemory)j=u.wasmMemory;else if(!((j=new WebAssembly.Memory({initial:V/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw x("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),_&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"),Error("bad memory");j&&(D=j.buffer),V=D.byteLength,N(D);var $,q=[],X=[],J=[],Z=[];function Q(){return R||!1}function K(){var t=u.preRun.shift();q.unshift(t)}var tt,et=0,nt=null,rt=null;function at(t){throw O?postMessage({cmd:"onAbort",arg:t}):u.onAbort&&u.onAbort(t),x(t="Aborted("+t+")"),H=!0,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),s(t),t}function it(){return tt.startsWith("data:application/octet-stream;base64,")}function ot(){var t=tt;try{if(t==tt&&M)return new Uint8Array(M);if(p)return p(t);throw"both async and sync fetching of the wasm failed"}catch(t){at(t)}}tt="ort-wasm-threaded.wasm",it()||(tt=S(tt));var ut={};function ct(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function st(t){(t=ht.Vb[t])||at(),ht.mc(t)}function lt(t){var e=ht.Cc();if(!e)return 6;ht.ac.push(e),ht.Vb[t.Ub]=e,e.Ub=t.Ub;var n={cmd:"run",start_routine:t.Ic,arg:t.zc,pthread_ptr:t.Ub};return e.$b=()=>{n.time=performance.now(),e.postMessage(n,t.Nc)},e.loaded&&(e.$b(),delete e.$b),0}function ft(t){if(O)return $t(1,1,t);Q()||(ht.oc(),u.onExit&&u.onExit(t),H=!0),g(t,new ct(t))}function pt(t,e){if(!e&&O)throw bt(t),"unwind";Q()||O||(me(),dt(J),be(0),re[1].length&&ae(1,10),re[2].length&&ae(2,10),ht.oc()),ft(t)}var ht={Yb:[],ac:[],qc:[],Vb:{},fc:function(){O&&ht.Ec()},Pc:function(){},Ec:function(){ht.receiveObjectTransfer=ht.Gc,ht.threadInitTLS=ht.pc,ht.setExitStatus=ht.nc,R=!1},nc:function(){},oc:function(){for(var t of Object.values(ht.Vb))ht.mc(t);for(t of ht.Yb)t.terminate();ht.Yb=[]},mc:function(t){var e=t.Ub;delete ht.Vb[e],ht.Yb.push(t),ht.ac.splice(ht.ac.indexOf(t),1),t.Ub=0,Oe(e)},Gc:function(){},pc:function(){ht.qc.forEach((t=>t()))},Fc:function(t,e){t.onmessage=n=>{var r=(n=n.data).cmd;if(t.Ub&&(ht.Bc=t.Ub),n.targetThread&&n.targetThread!=he()){var a=ht.Vb[n.Qc];a?a.postMessage(n,n.transferList):x(\'Internal error! Worker sent a message "\'+r+\'" to target pthread \'+n.targetThread+", but that thread no longer exists!")}else"processProxyingQueue"===r?zt(n.queue):"spawnThread"===r?lt(n):"cleanupThread"===r?st(n.thread):"killThread"===r?(n=n.thread,r=ht.Vb[n],delete ht.Vb[n],r.terminate(),Oe(n),ht.ac.splice(ht.ac.indexOf(r),1),r.Ub=0):"cancelThread"===r?ht.Vb[n.thread].postMessage({cmd:"cancel"}):"loaded"===r?(t.loaded=!0,e&&e(t),t.$b&&(t.$b(),delete t.$b)):"print"===r?C("Thread "+n.threadId+": "+n.text):"printErr"===r?x("Thread "+n.threadId+": "+n.text):"alert"===r?alert("Thread "+n.threadId+": "+n.text):"setimmediate"===n.target?t.postMessage(n):"onAbort"===r?u.onAbort&&u.onAbort(n.arg):r&&x("worker sent an unknown command "+r);ht.Bc=void 0},t.onerror=t=>{throw x("worker sent an error! "+t.filename+":"+t.lineno+": "+t.message),t},_&&(t.on("message",(function(e){t.onmessage({data:e})})),t.on("error",(function(e){t.onerror(e)})),t.on("detachedExit",(function(){}))),t.postMessage({cmd:"load",urlOrBlob:u.mainScriptUrlOrBlob||_scriptDir,wasmMemory:j,wasmModule:k})},yc:function(){var t=S("ort-wasm-threaded.worker.js");ht.Yb.push(new Worker(t))},Cc:function(){return 0==ht.Yb.length&&(ht.yc(),ht.Fc(ht.Yb[0])),ht.Yb.pop()}};function dt(t){for(;0<t.length;)t.shift()(u)}function yt(t){var e=Ee();return t=t(),Me(e),t}function bt(t){if(O)return $t(2,0,t);try{pt(t)}catch(t){t instanceof ct||"unwind"==t||g(1,t)}}u.PThread=ht,u.establishStackSpace=function(){var t=he(),e=a()[t+44>>2>>>0];t=a()[t+48>>2>>>0],Te(e,e-t),Me(e)};var mt=[];function gt(t){var e=mt[t];return e||(t>=mt.length&&(mt.length=t+1),mt[t]=e=$.get(t)),e}u.invokeEntryPoint=function(t,e){t=gt(t)(e),Q()?ht.nc(t):Ae(t)};var vt,wt,_t=[],Ot=0,At=0;function St(t){this.Zb=t,this.Sb=t-24,this.xc=function(t){i()[this.Sb+4>>2>>>0]=t},this.bc=function(){return i()[this.Sb+4>>2>>>0]},this.wc=function(t){i()[this.Sb+8>>2>>>0]=t},this.Dc=function(){return i()[this.Sb+8>>2>>>0]},this.rc=function(){a()[this.Sb>>2>>>0]=0},this.hc=function(t){t=t?1:0,e()[this.Sb+12>>0>>>0]=t},this.uc=function(){return 0!=e()[this.Sb+12>>0>>>0]},this.ic=function(t){t=t?1:0,e()[this.Sb+13>>0>>>0]=t},this.kc=function(){return 0!=e()[this.Sb+13>>0>>>0]},this.fc=function(t,e){this.cc(0),this.xc(t),this.wc(e),this.rc(),this.hc(!1),this.ic(!1)},this.sc=function(){Atomics.add(a(),this.Sb>>2,1)},this.Hc=function(){return 1===Atomics.sub(a(),this.Sb>>2,1)},this.cc=function(t){i()[this.Sb+16>>2>>>0]=t},this.tc=function(){return i()[this.Sb+16>>2>>>0]},this.vc=function(){if(Re(this.bc()))return i()[this.Zb>>2>>>0];var t=this.tc();return 0!==t?t:this.Zb}}function Tt(t){return ye(new St(t).Sb)}function Et(t,e,n,r){return O?$t(3,1,t,e,n,r):Mt(t,e,n,r)}function Mt(t,e,n,r){if("undefined"==typeof SharedArrayBuffer)return x("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var a=[];return O&&0===a.length?Et(t,e,n,r):(t={Ic:n,Ub:t,zc:r,Nc:a},O?(t.Oc="spawnThread",postMessage(t,a),0):lt(t))}function Ct(t,e,n){return O?$t(4,1,t,e,n):0}function xt(t,e){if(O)return $t(5,1,t,e)}function Rt(t,e){if(O)return $t(6,1,t,e)}function jt(t,e,n){if(O)return $t(7,1,t,e,n)}function kt(t,e,n){return O?$t(8,1,t,e,n):0}function Dt(t,e){if(O)return $t(9,1,t,e)}function Pt(t,e,n){if(O)return $t(10,1,t,e,n)}function Ut(t,e,n,r){if(O)return $t(11,1,t,e,n,r)}function Ft(t,e,n,r){if(O)return $t(12,1,t,e,n,r)}function It(t,e,n,r){if(O)return $t(13,1,t,e,n,r)}function Wt(t){if(O)return $t(14,1,t)}function Ht(t,e){if(O)return $t(15,1,t,e)}function Lt(t,e,n){if(O)return $t(16,1,t,e,n)}function zt(t){Atomics.store(a(),t>>2,1),he()&&_e(t),Atomics.compareExchange(a(),t>>2,1,0)}function Yt(t){return i()[t>>>2]+4294967296*a()[t+4>>>2]}function Bt(t,e,n,r,a,i){return O?$t(17,1,t,e,n,r,a,i):-52}function Gt(t,e,n,r,a,i){if(O)return $t(18,1,t,e,n,r,a,i)}function Nt(t){var n=G(t)+1,r=de(n);return r&&B(t,e(),r,n),r}function Vt(t,e,n){function r(t){return(t=t.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?t[1]:"GMT"}if(O)return $t(19,1,t,e,n);var o=(new Date).getFullYear(),u=new Date(o,0,1),c=new Date(o,6,1);o=u.getTimezoneOffset();var s=c.getTimezoneOffset(),l=Math.max(o,s);a()[t>>2>>>0]=60*l,a()[e>>2>>>0]=Number(o!=s),t=r(u),e=r(c),t=Nt(t),e=Nt(e),s<o?(i()[n>>2>>>0]=t,i()[n+4>>2>>>0]=e):(i()[n>>2>>>0]=e,i()[n+4>>2>>>0]=t)}function $t(t,e){var n=arguments.length-2,r=arguments;return yt((()=>{for(var a=Ce(8*n),i=a>>3,u=0;u<n;u++){var c=r[2+u];o()[i+u>>>0]=c}return we(t,n,a,e)}))}u.executeNotifiedProxyingQueue=zt,wt=_?()=>{var t=process.hrtime();return 1e3*t[0]+t[1]/1e6}:O?()=>performance.now()-u.__performance_now_clock_drift:()=>performance.now();var qt,Xt=[],Jt={};function Zt(){if(!qt){var t,e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:m||"./this.program"};for(t in Jt)void 0===Jt[t]?delete e[t]:e[t]=Jt[t];var n=[];for(t in e)n.push(t+"="+e[t]);qt=n}return qt}function Qt(t,n){if(O)return $t(20,1,t,n);var r=0;return Zt().forEach((function(a,o){var u=n+r;for(o=i()[t+4*o>>2>>>0]=u,u=0;u<a.length;++u)e()[o++>>0>>>0]=a.charCodeAt(u);e()[o>>0>>>0]=0,r+=a.length+1})),0}function Kt(t,e){if(O)return $t(21,1,t,e);var n=Zt();i()[t>>2>>>0]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1})),i()[e>>2>>>0]=r,0}function te(t){return O?$t(22,1,t):52}function ee(t,e,n,r){return O?$t(23,1,t,e,n,r):52}function ne(t,e,n,r,a){return O?$t(24,1,t,e,n,r,a):70}var re=[null,[],[]];function ae(t,e){var n=re[t];0===e||10===e?((1===t?C:x)(z(n,0)),n.length=0):n.push(e)}function ie(t,e,n,a){if(O)return $t(25,1,t,e,n,a);for(var o=0,u=0;u<n;u++){var c=i()[e>>2>>>0],s=i()[e+4>>2>>>0];e+=8;for(var l=0;l<s;l++)ae(t,r()[c+l>>>0]);o+=s}return i()[a>>2>>>0]=o,0}var oe=0;function ue(t){return 0==t%4&&(0!=t%100||0==t%400)}var ce=[31,29,31,30,31,30,31,31,30,31,30,31],se=[31,28,31,30,31,30,31,31,30,31,30,31];function le(t,n,r,i){function o(t,e,n){for(t="number"==typeof t?t.toString():t||"";t.length<e;)t=n[0]+t;return t}function u(t,e){return o(t,e,"0")}function c(t,e){function n(t){return 0>t?-1:0<t?1:0}var r;return 0===(r=n(t.getFullYear()-e.getFullYear()))&&0===(r=n(t.getMonth()-e.getMonth()))&&(r=n(t.getDate()-e.getDate())),r}function s(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function l(t){var e=t.Wb;for(t=new Date(new Date(t.Xb+1900,0,1).getTime());0<e;){var n=t.getMonth(),r=(ue(t.getFullYear())?ce:se)[n];if(!(e>r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return n=new Date(t.getFullYear()+1,0,4),e=s(new Date(t.getFullYear(),0,4)),n=s(n),0>=c(e,t)?0>=c(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var f=a()[i+40>>2>>>0];for(var p in i={Lc:a()[i>>2>>>0],Kc:a()[i+4>>2>>>0],dc:a()[i+8>>2>>>0],jc:a()[i+12>>2>>>0],ec:a()[i+16>>2>>>0],Xb:a()[i+20>>2>>>0],Tb:a()[i+24>>2>>>0],Wb:a()[i+28>>2>>>0],Rc:a()[i+32>>2>>>0],Jc:a()[i+36>>2>>>0],Mc:f?Y(f):""},r=Y(r),f={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})r=r.replace(new RegExp(p,"g"),f[p]);var h="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),d="January February March April May June July August September October November December".split(" ");for(p in f={"%a":function(t){return h[t.Tb].substring(0,3)},"%A":function(t){return h[t.Tb]},"%b":function(t){return d[t.ec].substring(0,3)},"%B":function(t){return d[t.ec]},"%C":function(t){return u((t.Xb+1900)/100|0,2)},"%d":function(t){return u(t.jc,2)},"%e":function(t){return o(t.jc,2," ")},"%g":function(t){return l(t).toString().substring(2)},"%G":function(t){return l(t)},"%H":function(t){return u(t.dc,2)},"%I":function(t){return 0==(t=t.dc)?t=12:12<t&&(t-=12),u(t,2)},"%j":function(t){for(var e=0,n=0;n<=t.ec-1;e+=(ue(t.Xb+1900)?ce:se)[n++]);return u(t.jc+e,3)},"%m":function(t){return u(t.ec+1,2)},"%M":function(t){return u(t.Kc,2)},"%n":function(){return"\\n"},"%p":function(t){return 0<=t.dc&&12>t.dc?"AM":"PM"},"%S":function(t){return u(t.Lc,2)},"%t":function(){return"\\t"},"%u":function(t){return t.Tb||7},"%U":function(t){return u(Math.floor((t.Wb+7-t.Tb)/7),2)},"%V":function(t){var e=Math.floor((t.Wb+7-(t.Tb+6)%7)/7);if(2>=(t.Tb+371-t.Wb-2)%7&&e++,e)53==e&&(4==(n=(t.Tb+371-t.Wb)%7)||3==n&&ue(t.Xb)||(e=1));else{e=52;var n=(t.Tb+7-t.Wb-1)%7;(4==n||5==n&&ue(t.Xb%400-1))&&e++}return u(e,2)},"%w":function(t){return t.Tb},"%W":function(t){return u(Math.floor((t.Wb+7-(t.Tb+6)%7)/7),2)},"%y":function(t){return(t.Xb+1900).toString().substring(2)},"%Y":function(t){return t.Xb+1900},"%z":function(t){var e=0<=(t=t.Jc);return t=Math.abs(t)/60,(e?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.Mc},"%%":function(){return"%"}},r=r.replace(/%%/g,"\\0\\0"),f)r.includes(p)&&(r=r.replace(new RegExp(p,"g"),f[p](i)));return p=function(t){var e=Array(G(t)+1);return B(t,e,0,e.length),e}(r=r.replace(/\\0\\0/g,"%")),p.length>n?0:(function(t,n){e().set(t,n>>>0)}(p,t),p.length-1)}ht.fc();var fe=[null,ft,bt,Et,Ct,xt,Rt,jt,kt,Dt,Pt,Ut,Ft,It,Wt,Ht,Lt,Bt,Gt,Vt,Qt,Kt,te,ee,ne,ie],pe={b:function(t){return de(t+24)+24},n:function(t){return(t=new St(t)).uc()||(t.hc(!0),Ot--),t.ic(!1),_t.push(t),t.sc(),t.vc()},ma:function(t){throw x("Unexpected exception thrown, this is not properly supported - aborting"),H=!0,t},x:function(){Se(0);var t=_t.pop();if(t.Hc()&&!t.kc()){var e=t.Dc();e&>(e)(t.Zb),Tt(t.Zb)}At=0},e:function(){var t=At;if(!t)return oe=0;var e=new St(t);e.cc(t);var n=e.bc();if(!n)return oe=0,t;for(var r=Array.prototype.slice.call(arguments),a=0;a<r.length;a++){var i=r[a];if(0===i||i===n)break;if(xe(i,n,e.Sb+16))return oe=i,t}return oe=n,t},l:function(){var t=At;if(!t)return oe=0;var e=new St(t);e.cc(t);var n=e.bc();if(!n)return oe=0,t;for(var r=Array.prototype.slice.call(arguments),a=0;a<r.length;a++){var i=r[a];if(0===i||i===n)break;if(xe(i,n,e.Sb+16))return oe=i,t}return oe=n,t},h:function(){var t=At;if(!t)return oe=0;var e=new St(t);e.cc(t);var n=e.bc();if(!n)return oe=0,t;for(var r=Array.prototype.slice.call(arguments),a=0;a<r.length;a++){var i=r[a];if(0===i||i===n)break;if(xe(i,n,e.Sb+16))return oe=i,t}return oe=n,t},t:Tt,M:function(){var t=_t.pop();t||at("no exception to throw");var e=t.Zb;throw t.kc()||(_t.push(t),t.ic(!0),t.hc(!1),Ot++),At=e,e},c:function(t,e,n){throw new St(t).fc(e,n),At=t,Ot++,t},pa:function(){return Ot},Fa:function(t){ge(t,!w,1,!v),ht.pc()},T:function(t){O?postMessage({cmd:"cleanupThread",thread:t}):st(t)},xa:Mt,j:function(t){throw At||(At=t),t},H:Ct,Ma:xt,ua:Rt,wa:jt,oa:kt,Ka:Dt,Ca:Pt,Ja:Ut,V:Ft,va:It,sa:Wt,La:Ht,ta:Lt,Ta:function(){},X:function(){at("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},Ua:function(){at("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},W:function(){return Date.now()},ya:function(){return 2097152},Oa:function(){return!0},za:function(t,e,n,r){if(t==e)setTimeout((()=>zt(r)));else if(O)postMessage({targetThread:t,cmd:"processProxyingQueue",queue:r});else{if(!(t=ht.Vb[t]))return;t.postMessage({cmd:"processProxyingQueue",queue:r})}return 1},Ea:function(){return-1},Pa:function(t,e){t=new Date(1e3*Yt(t)),a()[e>>2>>>0]=t.getUTCSeconds(),a()[e+4>>2>>>0]=t.getUTCMinutes(),a()[e+8>>2>>>0]=t.getUTCHours(),a()[e+12>>2>>>0]=t.getUTCDate(),a()[e+16>>2>>>0]=t.getUTCMonth(),a()[e+20>>2>>>0]=t.getUTCFullYear()-1900,a()[e+24>>2>>>0]=t.getUTCDay(),t=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,a()[e+28>>2>>>0]=t},Qa:function(t,e){t=new Date(1e3*Yt(t)),a()[e>>2>>>0]=t.getSeconds(),a()[e+4>>2>>>0]=t.getMinutes(),a()[e+8>>2>>>0]=t.getHours(),a()[e+12>>2>>>0]=t.getDate(),a()[e+16>>2>>>0]=t.getMonth(),a()[e+20>>2>>>0]=t.getFullYear()-1900,a()[e+24>>2>>>0]=t.getDay();var n=new Date(t.getFullYear(),0,1),r=(t.getTime()-n.getTime())/864e5|0;a()[e+28>>2>>>0]=r,a()[e+36>>2>>>0]=-60*t.getTimezoneOffset(),r=new Date(t.getFullYear(),6,1).getTimezoneOffset(),t=0|(r!=(n=n.getTimezoneOffset())&&t.getTimezoneOffset()==Math.min(n,r)),a()[e+32>>2>>>0]=t},Ra:function(t){var e=new Date(a()[t+20>>2>>>0]+1900,a()[t+16>>2>>>0],a()[t+12>>2>>>0],a()[t+8>>2>>>0],a()[t+4>>2>>>0],a()[t>>2>>>0],0),n=a()[t+32>>2>>>0],r=e.getTimezoneOffset(),i=new Date(e.getFullYear(),0,1),o=new Date(e.getFullYear(),6,1).getTimezoneOffset(),u=i.getTimezoneOffset(),c=Math.min(u,o);return 0>n?a()[t+32>>2>>>0]=Number(o!=u&&c==r):0<n!=(c==r)&&(o=Math.max(u,o),e.setTime(e.getTime()+6e4*((0<n?c:o)-r))),a()[t+24>>2>>>0]=e.getDay(),n=(e.getTime()-i.getTime())/864e5|0,a()[t+28>>2>>>0]=n,a()[t>>2>>>0]=e.getSeconds(),a()[t+4>>2>>>0]=e.getMinutes(),a()[t+8>>2>>>0]=e.getHours(),a()[t+12>>2>>>0]=e.getDate(),a()[t+16>>2>>>0]=e.getMonth(),e.getTime()/1e3|0},Aa:Bt,Ba:Gt,Sa:function t(e,n,r){t.Ac||(t.Ac=!0,Vt(e,n,r))},y:function(){at("")},U:function(){if(!_&&!w){var t="Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread";vt||(vt={}),vt[t]||(vt[t]=1,_&&(t="warning: "+t),x(t))}},ra:function(){return 4294901760},B:wt,Ia:function(t,e,n){r().copyWithin(t>>>0,e>>>0,e+n>>>0)},F:function(){return _?n(993).cpus().length:navigator.hardwareConcurrency},Da:function(t,e,n){Xt.length=e,n>>=3;for(var r=0;r<e;r++)Xt[r]=o()[n+r>>>0];return(0>t?ut[-t-1]:fe[t]).apply(null,Xt)},qa:function(t){var e=r().length;if((t>>>=0)<=e||4294901760<t)return!1;for(var n=1;4>=n;n*=2){var a=e*(1+.2/n);a=Math.min(a,t+100663296);var i=Math;a=Math.max(t,a),i=i.min.call(i,4294901760,a+(65536-a%65536)%65536);t:{try{j.grow(i-D.byteLength+65535>>>16),N(j.buffer);var o=1;break t}catch(t){}o=void 0}if(o)return!0}return!1},Na:function(){throw"unwind"},Ga:Qt,Ha:Kt,J:pt,I:te,S:ee,ga:ne,R:ie,d:function(){return oe},na:function t(r,a){t.lc||(t.lc=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return()=>(crypto.getRandomValues(t),t[0])}if(_)try{var e=n(Object(function(){var t=new Error("Cannot find module \'crypto\'");throw t.code="MODULE_NOT_FOUND",t}()));return()=>e.randomBytes(1)[0]}catch(t){}return()=>at("randomDevice")}());for(var i=0;i<a;i++)e()[r+i>>0>>>0]=t.lc();return 0},ia:function(t,e,n){var r=Ee();try{return gt(t)(e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},ja:function(t,e,n){var r=Ee();try{return gt(t)(e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},K:function(t){var e=Ee();try{return gt(t)()}catch(t){if(Me(e),t!==t+0)throw t;Se(1,0)}},f:function(t,e){var n=Ee();try{return gt(t)(e)}catch(t){if(Me(n),t!==t+0)throw t;Se(1,0)}},P:function(t,e,n){var r=Ee();try{return gt(t)(e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},Q:function(t,e,n){var r=Ee();try{return gt(t)(e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},k:function(t,e,n){var r=Ee();try{return gt(t)(e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},p:function(t,e,n,r){var a=Ee();try{return gt(t)(e,n,r)}catch(t){if(Me(a),t!==t+0)throw t;Se(1,0)}},q:function(t,e,n,r,a){var i=Ee();try{return gt(t)(e,n,r,a)}catch(t){if(Me(i),t!==t+0)throw t;Se(1,0)}},N:function(t,e,n,r,a,i){var o=Ee();try{return gt(t)(e,n,r,a,i)}catch(t){if(Me(o),t!==t+0)throw t;Se(1,0)}},s:function(t,e,n,r,a,i){var o=Ee();try{return gt(t)(e,n,r,a,i)}catch(t){if(Me(o),t!==t+0)throw t;Se(1,0)}},w:function(t,e,n,r,a,i,o){var u=Ee();try{return gt(t)(e,n,r,a,i,o)}catch(t){if(Me(u),t!==t+0)throw t;Se(1,0)}},L:function(t,e,n,r,a,i,o,u){var c=Ee();try{return gt(t)(e,n,r,a,i,o,u)}catch(t){if(Me(c),t!==t+0)throw t;Se(1,0)}},E:function(t,e,n,r,a,i,o,u,c,s,l,f){var p=Ee();try{return gt(t)(e,n,r,a,i,o,u,c,s,l,f)}catch(t){if(Me(p),t!==t+0)throw t;Se(1,0)}},aa:function(t,e,n,r,a,i,o,u){var c=Ee();try{return He(t,e,n,r,a,i,o,u)}catch(t){if(Me(c),t!==t+0)throw t;Se(1,0)}},_:function(t,e,n,r,a,i,o){var u=Ee();try{return ke(t,e,n,r,a,i,o)}catch(t){if(Me(u),t!==t+0)throw t;Se(1,0)}},Z:function(t,e,n,r,a){var i=Ee();try{return Le(t,e,n,r,a)}catch(t){if(Me(i),t!==t+0)throw t;Se(1,0)}},ca:function(t,e,n,r){var a=Ee();try{return Ie(t,e,n,r)}catch(t){if(Me(a),t!==t+0)throw t;Se(1,0)}},$:function(t){var e=Ee();try{return je(t)}catch(t){if(Me(e),t!==t+0)throw t;Se(1,0)}},ba:function(t,e){var n=Ee();try{return We(t,e)}catch(t){if(Me(n),t!==t+0)throw t;Se(1,0)}},Y:function(t,e,n){var r=Ee();try{return De(t,e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},g:function(t){var e=Ee();try{gt(t)()}catch(t){if(Me(e),t!==t+0)throw t;Se(1,0)}},r:function(t,e){var n=Ee();try{gt(t)(e)}catch(t){if(Me(n),t!==t+0)throw t;Se(1,0)}},i:function(t,e,n){var r=Ee();try{gt(t)(e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},ha:function(t,e,n,r){var a=Ee();try{gt(t)(e,n,r)}catch(t){if(Me(a),t!==t+0)throw t;Se(1,0)}},m:function(t,e,n,r){var a=Ee();try{gt(t)(e,n,r)}catch(t){if(Me(a),t!==t+0)throw t;Se(1,0)}},v:function(t,e,n,r,a){var i=Ee();try{gt(t)(e,n,r,a)}catch(t){if(Me(i),t!==t+0)throw t;Se(1,0)}},u:function(t,e,n,r,a,i){var o=Ee();try{gt(t)(e,n,r,a,i)}catch(t){if(Me(o),t!==t+0)throw t;Se(1,0)}},O:function(t,e,n,r,a,i,o){var u=Ee();try{gt(t)(e,n,r,a,i,o)}catch(t){if(Me(u),t!==t+0)throw t;Se(1,0)}},A:function(t,e,n,r,a,i,o,u){var c=Ee();try{gt(t)(e,n,r,a,i,o,u)}catch(t){if(Me(c),t!==t+0)throw t;Se(1,0)}},ka:function(t,e,n,r,a,i,o,u,c){var s=Ee();try{gt(t)(e,n,r,a,i,o,u,c)}catch(t){if(Me(s),t!==t+0)throw t;Se(1,0)}},C:function(t,e,n,r,a,i,o,u,c,s,l){var f=Ee();try{gt(t)(e,n,r,a,i,o,u,c,s,l)}catch(t){if(Me(f),t!==t+0)throw t;Se(1,0)}},D:function(t,e,n,r,a,i,o,u,c,s,l,f,p,h,d,y){var b=Ee();try{gt(t)(e,n,r,a,i,o,u,c,s,l,f,p,h,d,y)}catch(t){if(Me(b),t!==t+0)throw t;Se(1,0)}},fa:function(t,e,n,r,a,i,o,u){var c=Ee();try{Pe(t,e,n,r,a,i,o,u)}catch(t){if(Me(c),t!==t+0)throw t;Se(1,0)}},da:function(t,e,n,r,a,i,o,u,c,s,l,f){var p=Ee();try{Fe(t,e,n,r,a,i,o,u,c,s,l,f)}catch(t){if(Me(p),t!==t+0)throw t;Se(1,0)}},ea:function(t,e,n,r,a,i){var o=Ee();try{Ue(t,e,n,r,a,i)}catch(t){if(Me(o),t!==t+0)throw t;Se(1,0)}},o:function(t){return t},a:j||u.wasmMemory,G:function(t){oe=t},la:le,z:function(t,e,n,r){return le(t,e,n,r)}};!function(){function t(t,e){u.asm=t.exports,ht.qc.push(u.asm.sb),$=u.asm.ub,X.unshift(u.asm.Va),k=e,O||(et--,u.monitorRunDependencies&&u.monitorRunDependencies(et),0==et&&(null!==nt&&(clearInterval(nt),nt=null),rt&&(t=rt,rt=null,t())))}function e(e){t(e.instance,e.module)}function n(t){return function(){if(!M&&(v||w)){if("function"==typeof fetch&&!tt.startsWith("file://"))return fetch(tt,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at \'"+tt+"\'";return t.arrayBuffer()})).catch((function(){return ot()}));if(f)return new Promise((function(t,e){f(tt,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return ot()}))}().then((function(t){return WebAssembly.instantiate(t,r)})).then((function(t){return t})).then(t,(function(t){x("failed to asynchronously prepare wasm: "+t),at(t)}))}var r={a:pe};if(O||(et++,u.monitorRunDependencies&&u.monitorRunDependencies(et)),u.instantiateWasm)try{return u.instantiateWasm(r,t)}catch(t){return x("Module.instantiateWasm callback failed with error: "+t),!1}(M||"function"!=typeof WebAssembly.instantiateStreaming||it()||tt.startsWith("file://")||_||"function"!=typeof fetch?n(e):fetch(tt,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,r).then(e,(function(t){return x("wasm streaming compile failed: "+t),x("falling back to ArrayBuffer instantiation"),n(e)}))}))).catch(s)}(),u.___wasm_call_ctors=function(){return(u.___wasm_call_ctors=u.asm.Va).apply(null,arguments)},u._OrtInit=function(){return(u._OrtInit=u.asm.Wa).apply(null,arguments)},u._OrtCreateSessionOptions=function(){return(u._OrtCreateSessionOptions=u.asm.Xa).apply(null,arguments)},u._OrtAppendExecutionProvider=function(){return(u._OrtAppendExecutionProvider=u.asm.Ya).apply(null,arguments)},u._OrtAddSessionConfigEntry=function(){return(u._OrtAddSessionConfigEntry=u.asm.Za).apply(null,arguments)},u._OrtReleaseSessionOptions=function(){return(u._OrtReleaseSessionOptions=u.asm._a).apply(null,arguments)},u._OrtCreateSession=function(){return(u._OrtCreateSession=u.asm.$a).apply(null,arguments)},u._OrtReleaseSession=function(){return(u._OrtReleaseSession=u.asm.ab).apply(null,arguments)},u._OrtGetInputCount=function(){return(u._OrtGetInputCount=u.asm.bb).apply(null,arguments)},u._OrtGetOutputCount=function(){return(u._OrtGetOutputCount=u.asm.cb).apply(null,arguments)},u._OrtGetInputName=function(){return(u._OrtGetInputName=u.asm.db).apply(null,arguments)},u._OrtGetOutputName=function(){return(u._OrtGetOutputName=u.asm.eb).apply(null,arguments)},u._OrtFree=function(){return(u._OrtFree=u.asm.fb).apply(null,arguments)},u._OrtCreateTensor=function(){return(u._OrtCreateTensor=u.asm.gb).apply(null,arguments)},u._OrtGetTensorData=function(){return(u._OrtGetTensorData=u.asm.hb).apply(null,arguments)},u._OrtReleaseTensor=function(){return(u._OrtReleaseTensor=u.asm.ib).apply(null,arguments)},u._OrtCreateRunOptions=function(){return(u._OrtCreateRunOptions=u.asm.jb).apply(null,arguments)},u._OrtAddRunConfigEntry=function(){return(u._OrtAddRunConfigEntry=u.asm.kb).apply(null,arguments)},u._OrtReleaseRunOptions=function(){return(u._OrtReleaseRunOptions=u.asm.lb).apply(null,arguments)},u._OrtRun=function(){return(u._OrtRun=u.asm.mb).apply(null,arguments)},u._OrtEndProfiling=function(){return(u._OrtEndProfiling=u.asm.nb).apply(null,arguments)};var he=u._pthread_self=function(){return(he=u._pthread_self=u.asm.ob).apply(null,arguments)},de=u._malloc=function(){return(de=u._malloc=u.asm.pb).apply(null,arguments)},ye=u._free=function(){return(ye=u._free=u.asm.qb).apply(null,arguments)},be=u._fflush=function(){return(be=u._fflush=u.asm.rb).apply(null,arguments)};u.__emscripten_tls_init=function(){return(u.__emscripten_tls_init=u.asm.sb).apply(null,arguments)};var me=u.___funcs_on_exit=function(){return(me=u.___funcs_on_exit=u.asm.tb).apply(null,arguments)},ge=u.__emscripten_thread_init=function(){return(ge=u.__emscripten_thread_init=u.asm.vb).apply(null,arguments)};u.__emscripten_thread_crashed=function(){return(u.__emscripten_thread_crashed=u.asm.wb).apply(null,arguments)};var ve,we=u._emscripten_run_in_main_runtime_thread_js=function(){return(we=u._emscripten_run_in_main_runtime_thread_js=u.asm.xb).apply(null,arguments)},_e=u.__emscripten_proxy_execute_task_queue=function(){return(_e=u.__emscripten_proxy_execute_task_queue=u.asm.yb).apply(null,arguments)},Oe=u.__emscripten_thread_free_data=function(){return(Oe=u.__emscripten_thread_free_data=u.asm.zb).apply(null,arguments)},Ae=u.__emscripten_thread_exit=function(){return(Ae=u.__emscripten_thread_exit=u.asm.Ab).apply(null,arguments)},Se=u._setThrew=function(){return(Se=u._setThrew=u.asm.Bb).apply(null,arguments)},Te=u._emscripten_stack_set_limits=function(){return(Te=u._emscripten_stack_set_limits=u.asm.Cb).apply(null,arguments)},Ee=u.stackSave=function(){return(Ee=u.stackSave=u.asm.Db).apply(null,arguments)},Me=u.stackRestore=function(){return(Me=u.stackRestore=u.asm.Eb).apply(null,arguments)},Ce=u.stackAlloc=function(){return(Ce=u.stackAlloc=u.asm.Fb).apply(null,arguments)},xe=u.___cxa_can_catch=function(){return(xe=u.___cxa_can_catch=u.asm.Gb).apply(null,arguments)},Re=u.___cxa_is_pointer_type=function(){return(Re=u.___cxa_is_pointer_type=u.asm.Hb).apply(null,arguments)},je=u.dynCall_j=function(){return(je=u.dynCall_j=u.asm.Ib).apply(null,arguments)},ke=u.dynCall_iiiiij=function(){return(ke=u.dynCall_iiiiij=u.asm.Jb).apply(null,arguments)},De=u.dynCall_jii=function(){return(De=u.dynCall_jii=u.asm.Kb).apply(null,arguments)},Pe=u.dynCall_viiiiij=function(){return(Pe=u.dynCall_viiiiij=u.asm.Lb).apply(null,arguments)},Ue=u.dynCall_vjji=function(){return(Ue=u.dynCall_vjji=u.asm.Mb).apply(null,arguments)},Fe=u.dynCall_viiijjjii=function(){return(Fe=u.dynCall_viiijjjii=u.asm.Nb).apply(null,arguments)},Ie=u.dynCall_iij=function(){return(Ie=u.dynCall_iij=u.asm.Ob).apply(null,arguments)},We=u.dynCall_ji=function(){return(We=u.dynCall_ji=u.asm.Pb).apply(null,arguments)},He=u.dynCall_iiiiiij=function(){return(He=u.dynCall_iiiiiij=u.asm.Qb).apply(null,arguments)},Le=u.dynCall_iiij=function(){return(Le=u.dynCall_iiij=u.asm.Rb).apply(null,arguments)};function ze(){function t(){if(!ve&&(ve=!0,u.calledRun=!0,!H)&&(O||dt(X),c(u),u.onRuntimeInitialized&&u.onRuntimeInitialized(),!O)){if(u.postRun)for("function"==typeof u.postRun&&(u.postRun=[u.postRun]);u.postRun.length;){var t=u.postRun.shift();Z.unshift(t)}dt(Z)}}if(!(0<et))if(O)c(u),O||dt(X),postMessage({cmd:"loaded"});else{if(u.preRun)for("function"==typeof u.preRun&&(u.preRun=[u.preRun]);u.preRun.length;)K();dt(q),0<et||(u.setStatus?(u.setStatus("Running..."),setTimeout((function(){setTimeout((function(){u.setStatus("")}),1),t()}),1)):t())}}if(u.UTF8ToString=Y,u.stringToUTF8=function(t,e,n){return B(t,r(),e,n)},u.lengthBytesUTF8=G,u.keepRuntimeAlive=Q,u.wasmMemory=j,u.stackSave=Ee,u.stackRestore=Me,u.stackAlloc=Ce,u.ExitStatus=ct,u.PThread=ht,rt=function t(){ve||ze(),ve||(rt=t)},u.preInit)for("function"==typeof u.preInit&&(u.preInit=[u.preInit]);0<u.preInit.length;)u.preInit.pop()();return ze(),t.ready});t.exports=r},932:(t,e,n)=>{var _scriptDir,r=(_scriptDir=(_scriptDir="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(t){var e,r,a;t=t||{},e||(e=void 0!==t?t:{}),e.ready=new Promise((function(t,e){r=t,a=e}));var i,o,u,c,s,l,f=Object.assign({},e),p="./this.program",h=(t,e)=>{throw e},d="object"==typeof window,y="function"==typeof importScripts,b="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,m="";b?(m=y?n(908).dirname(m)+"/":"//",l=()=>{s||(c=n(384),s=n(908))},i=function(t,e){return l(),t=s.normalize(t),c.readFileSync(t,e?void 0:"utf8")},u=t=>((t=i(t,!0)).buffer||(t=new Uint8Array(t)),t),o=(t,e,n)=>{l(),t=s.normalize(t),c.readFile(t,(function(t,r){t?n(t):e(r.buffer)}))},1<process.argv.length&&(p=process.argv[1].replace(/\\\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",(function(t){if(!(t instanceof J))throw t})),process.on("unhandledRejection",(function(t){throw t})),h=(t,e)=>{if(_||0<L)throw process.exitCode=t,e;e instanceof J||w("exiting due to exception: "+e),process.exit(t)},e.inspect=function(){return"[Emscripten Module object]"}):(d||y)&&(y?m=self.location.href:"undefined"!=typeof document&&document.currentScript&&(m=document.currentScript.src),_scriptDir&&(m=_scriptDir),m=0!==m.indexOf("blob:")?m.substr(0,m.replace(/[?#].*/,"").lastIndexOf("/")+1):"",i=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},y&&(u=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),o=(t,e,n)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n()},r.onerror=n,r.send(null)});var g,v=e.print||console.log.bind(console),w=e.printErr||console.warn.bind(console);Object.assign(e,f),f=null,e.thisProgram&&(p=e.thisProgram),e.quit&&(h=e.quit),e.wasmBinary&&(g=e.wasmBinary);var _=e.noExitRuntime||!1;"object"!=typeof WebAssembly&&V("no native wasm support detected");var O,A,S,T,E,M,C=!1,x="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function R(t,e,n){var r=(e>>>=0)+n;for(n=e;t[n]&&!(n>=r);)++n;if(16<n-e&&t.buffer&&x)return x.decode(t.subarray(e,n));for(r="";e<n;){var a=t[e++];if(128&a){var i=63&t[e++];if(192==(224&a))r+=String.fromCharCode((31&a)<<6|i);else{var o=63&t[e++];65536>(a=224==(240&a)?(15&a)<<12|i<<6|o:(7&a)<<18|i<<12|o<<6|63&t[e++])?r+=String.fromCharCode(a):(a-=65536,r+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else r+=String.fromCharCode(a)}return r}function j(t,e){return(t>>>=0)?R(T,t,e):""}function k(t,e,n,r){if(!(0<r))return 0;var a=n>>>=0;r=n+r-1;for(var i=0;i<t.length;++i){var o=t.charCodeAt(i);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&t.charCodeAt(++i)),127>=o){if(n>=r)break;e[n++>>>0]=o}else{if(2047>=o){if(n+1>=r)break;e[n++>>>0]=192|o>>6}else{if(65535>=o){if(n+2>=r)break;e[n++>>>0]=224|o>>12}else{if(n+3>=r)break;e[n++>>>0]=240|o>>18,e[n++>>>0]=128|o>>12&63}e[n++>>>0]=128|o>>6&63}e[n++>>>0]=128|63&o}}return e[n>>>0]=0,n-a}function D(t){for(var e=0,n=0;n<t.length;++n){var r=t.charCodeAt(n);127>=r?e++:2047>=r?e+=2:55296<=r&&57343>=r?(e+=4,++n):e+=3}return e}function P(){var t=O.buffer;A=t,e.HEAP8=S=new Int8Array(t),e.HEAP16=new Int16Array(t),e.HEAP32=E=new Int32Array(t),e.HEAPU8=T=new Uint8Array(t),e.HEAPU16=new Uint16Array(t),e.HEAPU32=M=new Uint32Array(t),e.HEAPF32=new Float32Array(t),e.HEAPF64=new Float64Array(t)}var U,F=[],I=[],W=[],H=[],L=0;function z(){var t=e.preRun.shift();F.unshift(t)}var Y,B=0,G=null,N=null;function V(t){throw e.onAbort&&e.onAbort(t),w(t="Aborted("+t+")"),C=!0,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),a(t),t}function $(){return Y.startsWith("data:application/octet-stream;base64,")}if(Y="ort-wasm.wasm",!$()){var q=Y;Y=e.locateFile?e.locateFile(q,m):m+q}function X(){var t=Y;try{if(t==Y&&g)return new Uint8Array(g);if(u)return u(t);throw"both async and sync fetching of the wasm failed"}catch(t){V(t)}}function J(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function Z(t){for(;0<t.length;)t.shift()(e)}var Q=[],K=0,tt=0;function et(t){this.Db=t,this.zb=t-24,this.Ub=function(t){M[this.zb+4>>2>>>0]=t},this.Eb=function(){return M[this.zb+4>>2>>>0]},this.Sb=function(t){M[this.zb+8>>2>>>0]=t},this.Wb=function(){return M[this.zb+8>>2>>>0]},this.Tb=function(){E[this.zb>>2>>>0]=0},this.Ib=function(t){S[this.zb+12>>0>>>0]=t?1:0},this.Pb=function(){return 0!=S[this.zb+12>>0>>>0]},this.Jb=function(t){S[this.zb+13>>0>>>0]=t?1:0},this.Lb=function(){return 0!=S[this.zb+13>>0>>>0]},this.Rb=function(t,e){this.Fb(0),this.Ub(t),this.Sb(e),this.Tb(),this.Ib(!1),this.Jb(!1)},this.Nb=function(){E[this.zb>>2>>>0]+=1},this.Xb=function(){var t=E[this.zb>>2>>>0];return E[this.zb>>2>>>0]=t-1,1===t},this.Fb=function(t){M[this.zb+16>>2>>>0]=t},this.Ob=function(){return M[this.zb+16>>2>>>0]},this.Qb=function(){if(Mt(this.Eb()))return M[this.Db>>2>>>0];var t=this.Ob();return 0!==t?t:this.Db}}function nt(t){return vt(new et(t).zb)}var rt=[];function at(t){var e=rt[t];return e||(t>=rt.length&&(rt.length=t+1),rt[t]=e=U.get(t)),e}function it(t){var e=D(t)+1,n=gt(e);return n&&k(t,S,n,e),n}var ot={};function ut(){if(!ct){var t,e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:p||"./this.program"};for(t in ot)void 0===ot[t]?delete e[t]:e[t]=ot[t];var n=[];for(t in e)n.push(t+"="+e[t]);ct=n}return ct}var ct,st=[null,[],[]];function lt(t,e){var n=st[t];0===e||10===e?((1===t?v:w)(R(n,0)),n.length=0):n.push(e)}var ft=0;function pt(t){return 0==t%4&&(0!=t%100||0==t%400)}var ht=[31,29,31,30,31,30,31,31,30,31,30,31],dt=[31,28,31,30,31,30,31,31,30,31,30,31];function yt(t,e,n,r){function a(t,e,n){for(t="number"==typeof t?t.toString():t||"";t.length<e;)t=n[0]+t;return t}function i(t,e){return a(t,e,"0")}function o(t,e){function n(t){return 0>t?-1:0<t?1:0}var r;return 0===(r=n(t.getFullYear()-e.getFullYear()))&&0===(r=n(t.getMonth()-e.getMonth()))&&(r=n(t.getDate()-e.getDate())),r}function u(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function c(t){var e=t.Bb;for(t=new Date(new Date(t.Cb+1900,0,1).getTime());0<e;){var n=t.getMonth(),r=(pt(t.getFullYear())?ht:dt)[n];if(!(e>r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return n=new Date(t.getFullYear()+1,0,4),e=u(new Date(t.getFullYear(),0,4)),n=u(n),0>=o(e,t)?0>=o(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var s=E[r+40>>2>>>0];for(var l in r={$b:E[r>>2>>>0],Zb:E[r+4>>2>>>0],Gb:E[r+8>>2>>>0],Kb:E[r+12>>2>>>0],Hb:E[r+16>>2>>>0],Cb:E[r+20>>2>>>0],Ab:E[r+24>>2>>>0],Bb:E[r+28>>2>>>0],bc:E[r+32>>2>>>0],Yb:E[r+36>>2>>>0],ac:s?j(s):""},n=j(n),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})n=n.replace(new RegExp(l,"g"),s[l]);var f="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),p="January February March April May June July August September October November December".split(" ");for(l in s={"%a":function(t){return f[t.Ab].substring(0,3)},"%A":function(t){return f[t.Ab]},"%b":function(t){return p[t.Hb].substring(0,3)},"%B":function(t){return p[t.Hb]},"%C":function(t){return i((t.Cb+1900)/100|0,2)},"%d":function(t){return i(t.Kb,2)},"%e":function(t){return a(t.Kb,2," ")},"%g":function(t){return c(t).toString().substring(2)},"%G":function(t){return c(t)},"%H":function(t){return i(t.Gb,2)},"%I":function(t){return 0==(t=t.Gb)?t=12:12<t&&(t-=12),i(t,2)},"%j":function(t){for(var e=0,n=0;n<=t.Hb-1;e+=(pt(t.Cb+1900)?ht:dt)[n++]);return i(t.Kb+e,3)},"%m":function(t){return i(t.Hb+1,2)},"%M":function(t){return i(t.Zb,2)},"%n":function(){return"\\n"},"%p":function(t){return 0<=t.Gb&&12>t.Gb?"AM":"PM"},"%S":function(t){return i(t.$b,2)},"%t":function(){return"\\t"},"%u":function(t){return t.Ab||7},"%U":function(t){return i(Math.floor((t.Bb+7-t.Ab)/7),2)},"%V":function(t){var e=Math.floor((t.Bb+7-(t.Ab+6)%7)/7);if(2>=(t.Ab+371-t.Bb-2)%7&&e++,e)53==e&&(4==(n=(t.Ab+371-t.Bb)%7)||3==n&&pt(t.Cb)||(e=1));else{e=52;var n=(t.Ab+7-t.Bb-1)%7;(4==n||5==n&&pt(t.Cb%400-1))&&e++}return i(e,2)},"%w":function(t){return t.Ab},"%W":function(t){return i(Math.floor((t.Bb+7-(t.Ab+6)%7)/7),2)},"%y":function(t){return(t.Cb+1900).toString().substring(2)},"%Y":function(t){return t.Cb+1900},"%z":function(t){var e=0<=(t=t.Yb);return t=Math.abs(t)/60,(e?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.ac},"%%":function(){return"%"}},n=n.replace(/%%/g,"\\0\\0"),s)n.includes(l)&&(n=n.replace(new RegExp(l,"g"),s[l](r)));return l=function(t){var e=Array(D(t)+1);return k(t,e,0,e.length),e}(n=n.replace(/\\0\\0/g,"%")),l.length>e?0:(S.set(l,t>>>0),l.length-1)}var bt={a:function(t){return gt(t+24)+24},m:function(t){return(t=new et(t)).Pb()||(t.Ib(!0),K--),t.Jb(!1),Q.push(t),t.Nb(),t.Qb()},ia:function(t){throw w("Unexpected exception thrown, this is not properly supported - aborting"),C=!0,t},w:function(){Ot(0);var t=Q.pop();if(t.Xb()&&!t.Lb()){var e=t.Wb();e&&at(e)(t.Db),nt(t.Db)}tt=0},d:function(){var t=tt;if(!t)return ft=0;var e=new et(t);e.Fb(t);var n=e.Eb();if(!n)return ft=0,t;for(var r=Array.prototype.slice.call(arguments),a=0;a<r.length;a++){var i=r[a];if(0===i||i===n)break;if(Et(i,n,e.zb+16))return ft=i,t}return ft=n,t},k:function(){var t=tt;if(!t)return ft=0;var e=new et(t);e.Fb(t);var n=e.Eb();if(!n)return ft=0,t;for(var r=Array.prototype.slice.call(arguments),a=0;a<r.length;a++){var i=r[a];if(0===i||i===n)break;if(Et(i,n,e.zb+16))return ft=i,t}return ft=n,t},g:function(){var t=tt;if(!t)return ft=0;var e=new et(t);e.Fb(t);var n=e.Eb();if(!n)return ft=0,t;for(var r=Array.prototype.slice.call(arguments),a=0;a<r.length;a++){var i=r[a];if(0===i||i===n)break;if(Et(i,n,e.zb+16))return ft=i,t}return ft=n,t},s:nt,L:function(){var t=Q.pop();t||V("no exception to throw");var e=t.Db;throw t.Lb()||(Q.push(t),t.Jb(!0),t.Ib(!1),K++),tt=e,e},b:function(t,e,n){throw new et(t).Rb(e,n),tt=t,K++,t},la:function(){return K},i:function(t){throw tt||(tt=t),t},H:function(){return 0},Ba:function(){},pa:function(){},ra:function(){},ka:function(){return 0},za:function(){},ua:function(){},ya:function(){},R:function(){},qa:function(){},na:function(){},Aa:function(){},oa:function(){},Ha:function(){},Ja:function(){V("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},Ia:function(){V("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},S:function(){return Date.now()},Ca:function(){return!0},Da:function(t,e){t=new Date(1e3*(M[t>>>2]+4294967296*E[t+4>>>2])),E[e>>2>>>0]=t.getUTCSeconds(),E[e+4>>2>>>0]=t.getUTCMinutes(),E[e+8>>2>>>0]=t.getUTCHours(),E[e+12>>2>>>0]=t.getUTCDate(),E[e+16>>2>>>0]=t.getUTCMonth(),E[e+20>>2>>>0]=t.getUTCFullYear()-1900,E[e+24>>2>>>0]=t.getUTCDay(),E[e+28>>2>>>0]=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},Ea:function(t,e){t=new Date(1e3*(M[t>>>2]+4294967296*E[t+4>>>2])),E[e>>2>>>0]=t.getSeconds(),E[e+4>>2>>>0]=t.getMinutes(),E[e+8>>2>>>0]=t.getHours(),E[e+12>>2>>>0]=t.getDate(),E[e+16>>2>>>0]=t.getMonth(),E[e+20>>2>>>0]=t.getFullYear()-1900,E[e+24>>2>>>0]=t.getDay();var n=new Date(t.getFullYear(),0,1);E[e+28>>2>>>0]=(t.getTime()-n.getTime())/864e5|0,E[e+36>>2>>>0]=-60*t.getTimezoneOffset();var r=new Date(t.getFullYear(),6,1).getTimezoneOffset();n=n.getTimezoneOffset(),E[e+32>>2>>>0]=0|(r!=n&&t.getTimezoneOffset()==Math.min(n,r))},Fa:function(t){var e=new Date(E[t+20>>2>>>0]+1900,E[t+16>>2>>>0],E[t+12>>2>>>0],E[t+8>>2>>>0],E[t+4>>2>>>0],E[t>>2>>>0],0),n=E[t+32>>2>>>0],r=e.getTimezoneOffset(),a=new Date(e.getFullYear(),0,1),i=new Date(e.getFullYear(),6,1).getTimezoneOffset(),o=a.getTimezoneOffset(),u=Math.min(o,i);return 0>n?E[t+32>>2>>>0]=Number(i!=o&&u==r):0<n!=(u==r)&&(i=Math.max(o,i),e.setTime(e.getTime()+6e4*((0<n?u:i)-r))),E[t+24>>2>>>0]=e.getDay(),E[t+28>>2>>>0]=(e.getTime()-a.getTime())/864e5|0,E[t>>2>>>0]=e.getSeconds(),E[t+4>>2>>>0]=e.getMinutes(),E[t+8>>2>>>0]=e.getHours(),E[t+12>>2>>>0]=e.getDate(),E[t+16>>2>>>0]=e.getMonth(),e.getTime()/1e3|0},sa:function(){return-52},ta:function(){},Ga:function t(e,n,r){t.Vb||(t.Vb=!0,function(t,e,n){function r(t){return(t=t.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?t[1]:"GMT"}var a=(new Date).getFullYear(),i=new Date(a,0,1),o=new Date(a,6,1);a=i.getTimezoneOffset();var u=o.getTimezoneOffset();E[t>>2>>>0]=60*Math.max(a,u),E[e>>2>>>0]=Number(a!=u),t=r(i),e=r(o),t=it(t),e=it(e),u<a?(M[n>>2>>>0]=t,M[n+4>>2>>>0]=e):(M[n>>2>>>0]=e,M[n+4>>2>>>0]=t)}(e,n,r))},B:function(){V("")},ma:function(){return 4294901760},I:b?()=>{var t=process.hrtime();return 1e3*t[0]+t[1]/1e6}:()=>performance.now(),xa:function(t,e,n){T.copyWithin(t>>>0,e>>>0,e+n>>>0)},G:function(t){var e=T.length;if(4294901760<(t>>>=0))return!1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var a=Math;r=Math.max(t,r),a=a.min.call(a,4294901760,r+(65536-r%65536)%65536);t:{try{O.grow(a-A.byteLength+65535>>>16),P();var i=1;break t}catch(t){}i=void 0}if(i)return!0}return!1},va:function(t,e){var n=0;return ut().forEach((function(r,a){var i=e+n;for(a=M[t+4*a>>2>>>0]=i,i=0;i<r.length;++i)S[a++>>0>>>0]=r.charCodeAt(i);S[a>>0>>>0]=0,n+=r.length+1})),0},wa:function(t,e){var n=ut();M[t>>2>>>0]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1})),M[e>>2>>>0]=r,0},ba:function(t){_||0<L||(_t(),Z(W),wt(0),st[1].length&<(1,10),st[2].length&<(2,10)),_||0<L||(e.onExit&&e.onExit(t),C=!0),h(t,new J(t))},E:function(){return 52},Q:function(){return 52},ca:function(){return 70},P:function(t,e,n,r){for(var a=0,i=0;i<n;i++){var o=M[e>>2>>>0],u=M[e+4>>2>>>0];e+=8;for(var c=0;c<u;c++)lt(t,T[o+c>>>0]);a+=u}return M[r>>2>>>0]=a,0},c:function(){return ft},ja:function t(e,r){t.Mb||(t.Mb=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return()=>(crypto.getRandomValues(t),t[0])}if(b)try{var e=n(Object(function(){var t=new Error("Cannot find module \'crypto\'");throw t.code="MODULE_NOT_FOUND",t}()));return()=>e.randomBytes(1)[0]}catch(t){}return()=>V("randomDevice")}());for(var a=0;a<r;a++)S[e+a>>0>>>0]=t.Mb();return 0},ea:function(t,e,n){var r=At();try{return at(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},fa:function(t,e,n){var r=At();try{return at(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},J:function(t){var e=At();try{return at(t)()}catch(t){if(St(e),t!==t+0)throw t;Ot(1,0)}},e:function(t,e){var n=At();try{return at(t)(e)}catch(t){if(St(n),t!==t+0)throw t;Ot(1,0)}},N:function(t,e,n){var r=At();try{return at(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},O:function(t,e,n){var r=At();try{return at(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},j:function(t,e,n){var r=At();try{return at(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},o:function(t,e,n,r){var a=At();try{return at(t)(e,n,r)}catch(t){if(St(a),t!==t+0)throw t;Ot(1,0)}},p:function(t,e,n,r,a){var i=At();try{return at(t)(e,n,r,a)}catch(t){if(St(i),t!==t+0)throw t;Ot(1,0)}},M:function(t,e,n,r,a,i){var o=At();try{return at(t)(e,n,r,a,i)}catch(t){if(St(o),t!==t+0)throw t;Ot(1,0)}},r:function(t,e,n,r,a,i){var o=At();try{return at(t)(e,n,r,a,i)}catch(t){if(St(o),t!==t+0)throw t;Ot(1,0)}},v:function(t,e,n,r,a,i,o){var u=At();try{return at(t)(e,n,r,a,i,o)}catch(t){if(St(u),t!==t+0)throw t;Ot(1,0)}},K:function(t,e,n,r,a,i,o,u){var c=At();try{return at(t)(e,n,r,a,i,o,u)}catch(t){if(St(c),t!==t+0)throw t;Ot(1,0)}},D:function(t,e,n,r,a,i,o,u,c,s,l,f){var p=At();try{return at(t)(e,n,r,a,i,o,u,c,s,l,f)}catch(t){if(St(p),t!==t+0)throw t;Ot(1,0)}},X:function(t,e,n,r,a,i,o,u){var c=At();try{return Ft(t,e,n,r,a,i,o,u)}catch(t){if(St(c),t!==t+0)throw t;Ot(1,0)}},V:function(t,e,n,r,a,i,o){var u=At();try{return xt(t,e,n,r,a,i,o)}catch(t){if(St(u),t!==t+0)throw t;Ot(1,0)}},U:function(t,e,n,r,a){var i=At();try{return It(t,e,n,r,a)}catch(t){if(St(i),t!==t+0)throw t;Ot(1,0)}},Z:function(t,e,n,r){var a=At();try{return Pt(t,e,n,r)}catch(t){if(St(a),t!==t+0)throw t;Ot(1,0)}},W:function(t){var e=At();try{return Ct(t)}catch(t){if(St(e),t!==t+0)throw t;Ot(1,0)}},Y:function(t,e){var n=At();try{return Ut(t,e)}catch(t){if(St(n),t!==t+0)throw t;Ot(1,0)}},T:function(t,e,n){var r=At();try{return Rt(t,e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},f:function(t){var e=At();try{at(t)()}catch(t){if(St(e),t!==t+0)throw t;Ot(1,0)}},q:function(t,e){var n=At();try{at(t)(e)}catch(t){if(St(n),t!==t+0)throw t;Ot(1,0)}},h:function(t,e,n){var r=At();try{at(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},da:function(t,e,n,r){var a=At();try{at(t)(e,n,r)}catch(t){if(St(a),t!==t+0)throw t;Ot(1,0)}},l:function(t,e,n,r){var a=At();try{at(t)(e,n,r)}catch(t){if(St(a),t!==t+0)throw t;Ot(1,0)}},t:function(t,e,n,r,a){var i=At();try{at(t)(e,n,r,a)}catch(t){if(St(i),t!==t+0)throw t;Ot(1,0)}},u:function(t,e,n,r,a,i){var o=At();try{at(t)(e,n,r,a,i)}catch(t){if(St(o),t!==t+0)throw t;Ot(1,0)}},x:function(t,e,n,r,a,i,o){var u=At();try{at(t)(e,n,r,a,i,o)}catch(t){if(St(u),t!==t+0)throw t;Ot(1,0)}},z:function(t,e,n,r,a,i,o,u){var c=At();try{at(t)(e,n,r,a,i,o,u)}catch(t){if(St(c),t!==t+0)throw t;Ot(1,0)}},ga:function(t,e,n,r,a,i,o,u,c){var s=At();try{at(t)(e,n,r,a,i,o,u,c)}catch(t){if(St(s),t!==t+0)throw t;Ot(1,0)}},A:function(t,e,n,r,a,i,o,u,c,s,l){var f=At();try{at(t)(e,n,r,a,i,o,u,c,s,l)}catch(t){if(St(f),t!==t+0)throw t;Ot(1,0)}},C:function(t,e,n,r,a,i,o,u,c,s,l,f,p,h,d,y){var b=At();try{at(t)(e,n,r,a,i,o,u,c,s,l,f,p,h,d,y)}catch(t){if(St(b),t!==t+0)throw t;Ot(1,0)}},aa:function(t,e,n,r,a,i,o,u){var c=At();try{jt(t,e,n,r,a,i,o,u)}catch(t){if(St(c),t!==t+0)throw t;Ot(1,0)}},_:function(t,e,n,r,a,i,o,u,c,s,l,f){var p=At();try{Dt(t,e,n,r,a,i,o,u,c,s,l,f)}catch(t){if(St(p),t!==t+0)throw t;Ot(1,0)}},$:function(t,e,n,r,a,i){var o=At();try{kt(t,e,n,r,a,i)}catch(t){if(St(o),t!==t+0)throw t;Ot(1,0)}},n:function(t){return t},F:function(t){ft=t},ha:yt,y:function(t,e,n,r){return yt(t,e,n,r)}};!function(){function t(t){e.asm=t.exports,O=e.asm.Ka,P(),U=e.asm.ib,I.unshift(e.asm.La),B--,e.monitorRunDependencies&&e.monitorRunDependencies(B),0==B&&(null!==G&&(clearInterval(G),G=null),N&&(t=N,N=null,t()))}function n(e){t(e.instance)}function r(t){return function(){if(!g&&(d||y)){if("function"==typeof fetch&&!Y.startsWith("file://"))return fetch(Y,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at \'"+Y+"\'";return t.arrayBuffer()})).catch((function(){return X()}));if(o)return new Promise((function(t,e){o(Y,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return X()}))}().then((function(t){return WebAssembly.instantiate(t,i)})).then((function(t){return t})).then(t,(function(t){w("failed to asynchronously prepare wasm: "+t),V(t)}))}var i={a:bt};if(B++,e.monitorRunDependencies&&e.monitorRunDependencies(B),e.instantiateWasm)try{return e.instantiateWasm(i,t)}catch(t){return w("Module.instantiateWasm callback failed with error: "+t),!1}(g||"function"!=typeof WebAssembly.instantiateStreaming||$()||Y.startsWith("file://")||b||"function"!=typeof fetch?r(n):fetch(Y,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,i).then(n,(function(t){return w("wasm streaming compile failed: "+t),w("falling back to ArrayBuffer instantiation"),r(n)}))}))).catch(a)}(),e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.La).apply(null,arguments)},e._OrtInit=function(){return(e._OrtInit=e.asm.Ma).apply(null,arguments)},e._OrtCreateSessionOptions=function(){return(e._OrtCreateSessionOptions=e.asm.Na).apply(null,arguments)},e._OrtAppendExecutionProvider=function(){return(e._OrtAppendExecutionProvider=e.asm.Oa).apply(null,arguments)},e._OrtAddSessionConfigEntry=function(){return(e._OrtAddSessionConfigEntry=e.asm.Pa).apply(null,arguments)},e._OrtReleaseSessionOptions=function(){return(e._OrtReleaseSessionOptions=e.asm.Qa).apply(null,arguments)},e._OrtCreateSession=function(){return(e._OrtCreateSession=e.asm.Ra).apply(null,arguments)},e._OrtReleaseSession=function(){return(e._OrtReleaseSession=e.asm.Sa).apply(null,arguments)},e._OrtGetInputCount=function(){return(e._OrtGetInputCount=e.asm.Ta).apply(null,arguments)},e._OrtGetOutputCount=function(){return(e._OrtGetOutputCount=e.asm.Ua).apply(null,arguments)},e._OrtGetInputName=function(){return(e._OrtGetInputName=e.asm.Va).apply(null,arguments)},e._OrtGetOutputName=function(){return(e._OrtGetOutputName=e.asm.Wa).apply(null,arguments)},e._OrtFree=function(){return(e._OrtFree=e.asm.Xa).apply(null,arguments)},e._OrtCreateTensor=function(){return(e._OrtCreateTensor=e.asm.Ya).apply(null,arguments)},e._OrtGetTensorData=function(){return(e._OrtGetTensorData=e.asm.Za).apply(null,arguments)},e._OrtReleaseTensor=function(){return(e._OrtReleaseTensor=e.asm._a).apply(null,arguments)},e._OrtCreateRunOptions=function(){return(e._OrtCreateRunOptions=e.asm.$a).apply(null,arguments)},e._OrtAddRunConfigEntry=function(){return(e._OrtAddRunConfigEntry=e.asm.ab).apply(null,arguments)},e._OrtReleaseRunOptions=function(){return(e._OrtReleaseRunOptions=e.asm.bb).apply(null,arguments)},e._OrtRun=function(){return(e._OrtRun=e.asm.cb).apply(null,arguments)},e._OrtEndProfiling=function(){return(e._OrtEndProfiling=e.asm.db).apply(null,arguments)};var mt,gt=e._malloc=function(){return(gt=e._malloc=e.asm.eb).apply(null,arguments)},vt=e._free=function(){return(vt=e._free=e.asm.fb).apply(null,arguments)},wt=e._fflush=function(){return(wt=e._fflush=e.asm.gb).apply(null,arguments)},_t=e.___funcs_on_exit=function(){return(_t=e.___funcs_on_exit=e.asm.hb).apply(null,arguments)},Ot=e._setThrew=function(){return(Ot=e._setThrew=e.asm.jb).apply(null,arguments)},At=e.stackSave=function(){return(At=e.stackSave=e.asm.kb).apply(null,arguments)},St=e.stackRestore=function(){return(St=e.stackRestore=e.asm.lb).apply(null,arguments)},Tt=e.stackAlloc=function(){return(Tt=e.stackAlloc=e.asm.mb).apply(null,arguments)},Et=e.___cxa_can_catch=function(){return(Et=e.___cxa_can_catch=e.asm.nb).apply(null,arguments)},Mt=e.___cxa_is_pointer_type=function(){return(Mt=e.___cxa_is_pointer_type=e.asm.ob).apply(null,arguments)},Ct=e.dynCall_j=function(){return(Ct=e.dynCall_j=e.asm.pb).apply(null,arguments)},xt=e.dynCall_iiiiij=function(){return(xt=e.dynCall_iiiiij=e.asm.qb).apply(null,arguments)},Rt=e.dynCall_jii=function(){return(Rt=e.dynCall_jii=e.asm.rb).apply(null,arguments)},jt=e.dynCall_viiiiij=function(){return(jt=e.dynCall_viiiiij=e.asm.sb).apply(null,arguments)},kt=e.dynCall_vjji=function(){return(kt=e.dynCall_vjji=e.asm.tb).apply(null,arguments)},Dt=e.dynCall_viiijjjii=function(){return(Dt=e.dynCall_viiijjjii=e.asm.ub).apply(null,arguments)},Pt=e.dynCall_iij=function(){return(Pt=e.dynCall_iij=e.asm.vb).apply(null,arguments)},Ut=e.dynCall_ji=function(){return(Ut=e.dynCall_ji=e.asm.wb).apply(null,arguments)},Ft=e.dynCall_iiiiiij=function(){return(Ft=e.dynCall_iiiiiij=e.asm.xb).apply(null,arguments)},It=e.dynCall_iiij=function(){return(It=e.dynCall_iiij=e.asm.yb).apply(null,arguments)};function Wt(){function t(){if(!mt&&(mt=!0,e.calledRun=!0,!C)){if(Z(I),r(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t=e.postRun.shift();H.unshift(t)}Z(H)}}if(!(0<B)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)z();Z(F),0<B||(e.setStatus?(e.setStatus("Running..."),setTimeout((function(){setTimeout((function(){e.setStatus("")}),1),t()}),1)):t())}}if(e.UTF8ToString=j,e.stringToUTF8=function(t,e,n){return k(t,T,e,n)},e.lengthBytesUTF8=D,e.stackSave=At,e.stackRestore=St,e.stackAlloc=Tt,N=function t(){mt||Wt(),mt||(N=t)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();return Wt(),t.ready});t.exports=r},967:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.iterateExtraOptions=void 0,e.iterateExtraOptions=(t,n,r,a)=>{if("object"==typeof t&&null!==t){if(r.has(t))throw new Error("Circular reference in options");r.add(t)}Object.entries(t).forEach((([t,i])=>{const o=n?n+t:t;if("object"==typeof i)(0,e.iterateExtraOptions)(i,o+".",r,a);else if("string"==typeof i||"number"==typeof i)a(o,i.toString());else{if("boolean"!=typeof i)throw new Error("Can\'t handle extra config type: "+typeof i);a(o,i?"1":"0")}}))}},586:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setRunOptions=void 0;const r=n(967),a=n(983),i=n(361);e.setRunOptions=t=>{const e=(0,i.getInstance)();let n=0;const o=[],u=t||{};try{if(void 0===(null==t?void 0:t.logSeverityLevel))u.logSeverityLevel=2;else if("number"!=typeof t.logSeverityLevel||!Number.isInteger(t.logSeverityLevel)||t.logSeverityLevel<0||t.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${t.logSeverityLevel}`);if(void 0===(null==t?void 0:t.logVerbosityLevel))u.logVerbosityLevel=0;else if("number"!=typeof t.logVerbosityLevel||!Number.isInteger(t.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${t.logVerbosityLevel}`);void 0===(null==t?void 0:t.terminate)&&(u.terminate=!1);let i=0;if(void 0!==(null==t?void 0:t.tag)&&(i=(0,a.allocWasmString)(t.tag,o)),n=e._OrtCreateRunOptions(u.logSeverityLevel,u.logVerbosityLevel,!!u.terminate,i),0===n)throw new Error("Can\'t create run options");return void 0!==(null==t?void 0:t.extra)&&(0,r.iterateExtraOptions)(t.extra,"",new WeakSet,((t,r)=>{const i=(0,a.allocWasmString)(t,o),u=(0,a.allocWasmString)(r,o);if(0!==e._OrtAddRunConfigEntry(n,i,u))throw new Error(`Can\'t set a run config entry: ${t} - ${r}`)})),[n,o]}catch(t){throw 0!==n&&e._OrtReleaseRunOptions(n),o.forEach(e._free),t}}},919:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setSessionOptions=void 0;const r=n(967),a=n(983),i=n(361);e.setSessionOptions=t=>{const e=(0,i.getInstance)();let n=0;const o=[],u=t||{};(t=>{t.extra||(t.extra={}),t.extra.session||(t.extra.session={});const e=t.extra.session;e.use_ort_model_bytes_directly||(e.use_ort_model_bytes_directly="1")})(u);try{void 0===(null==t?void 0:t.graphOptimizationLevel)&&(u.graphOptimizationLevel="all");const c=(t=>{switch(t){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${t}`)}})(u.graphOptimizationLevel);void 0===(null==t?void 0:t.enableCpuMemArena)&&(u.enableCpuMemArena=!0),void 0===(null==t?void 0:t.enableMemPattern)&&(u.enableMemPattern=!0),void 0===(null==t?void 0:t.executionMode)&&(u.executionMode="sequential");const s=(t=>{switch(t){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${t}`)}})(u.executionMode);let l=0;if(void 0!==(null==t?void 0:t.logId)&&(l=(0,a.allocWasmString)(t.logId,o)),void 0===(null==t?void 0:t.logSeverityLevel))u.logSeverityLevel=2;else if("number"!=typeof t.logSeverityLevel||!Number.isInteger(t.logSeverityLevel)||t.logSeverityLevel<0||t.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${t.logSeverityLevel}`);if(void 0===(null==t?void 0:t.logVerbosityLevel))u.logVerbosityLevel=0;else if("number"!=typeof t.logVerbosityLevel||!Number.isInteger(t.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${t.logVerbosityLevel}`);if(void 0===(null==t?void 0:t.enableProfiling)&&(u.enableProfiling=!1),n=e._OrtCreateSessionOptions(c,!!u.enableCpuMemArena,!!u.enableMemPattern,s,!!u.enableProfiling,0,l,u.logSeverityLevel,u.logVerbosityLevel),0===n)throw new Error("Can\'t create session options");return(null==t?void 0:t.executionProviders)&&((t,e,n)=>{for(const r of e){let e="string"==typeof r?r:r.name;switch(e){case"xnnpack":e="XNNPACK";break;case"wasm":case"cpu":continue;default:throw new Error(`not supported EP: ${e}`)}const o=(0,a.allocWasmString)(e,n);if(0!==(0,i.getInstance)()._OrtAppendExecutionProvider(t,o))throw new Error(`Can\'t append execution provider: ${e}`)}})(n,t.executionProviders,o),void 0!==(null==t?void 0:t.extra)&&(0,r.iterateExtraOptions)(t.extra,"",new WeakSet,((t,r)=>{const i=(0,a.allocWasmString)(t,o),u=(0,a.allocWasmString)(r,o);if(0!==e._OrtAddSessionConfigEntry(n,i,u))throw new Error(`Can\'t set a session config entry: ${t} - ${r}`)})),[n,o]}catch(t){throw 0!==n&&e._OrtReleaseSessionOptions(n),o.forEach(e._free),t}}},983:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.allocWasmString=void 0;const r=n(361);e.allocWasmString=(t,e)=>{const n=(0,r.getInstance)(),a=n.lengthBytesUTF8(t)+1,i=n._malloc(a);return n.stringToUTF8(t,i,a),e.push(i),i}},349:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.extractTransferableBuffers=e.endProfiling=e.run=e.releaseSession=e.createSession=e.createSessionFinalize=e.createSessionAllocate=e.initOrt=void 0;const r=n(586),a=n(919),i=n(983),o=n(361);e.initOrt=(t,e)=>{const n=(0,o.getInstance)()._OrtInit(t,e);if(0!==n)throw new Error(`Can\'t initialize onnxruntime. error code = ${n}`)};const u=new Map;e.createSessionAllocate=t=>{const e=(0,o.getInstance)(),n=e._malloc(t.byteLength);return e.HEAPU8.set(t,n),[n,t.byteLength]},e.createSessionFinalize=(t,e)=>{const n=(0,o.getInstance)();let r=0,i=0,c=[];try{if([i,c]=(0,a.setSessionOptions)(e),r=n._OrtCreateSession(t[0],t[1],i),0===r)throw new Error("Can\'t create a session")}finally{n._free(t[0]),n._OrtReleaseSessionOptions(i),c.forEach(n._free)}const s=n._OrtGetInputCount(r),l=n._OrtGetOutputCount(r),f=[],p=[],h=[],d=[];for(let t=0;t<s;t++){const e=n._OrtGetInputName(r,t);if(0===e)throw new Error("Can\'t get an input name");p.push(e),f.push(n.UTF8ToString(e))}for(let t=0;t<l;t++){const e=n._OrtGetOutputName(r,t);if(0===e)throw new Error("Can\'t get an output name");d.push(e),h.push(n.UTF8ToString(e))}return u.set(r,[r,p,d]),[r,f,h]},e.createSession=(t,n)=>{const r=(0,e.createSessionAllocate)(t);return(0,e.createSessionFinalize)(r,n)},e.releaseSession=t=>{const e=(0,o.getInstance)(),n=u.get(t);if(!n)throw new Error("invalid session id");const r=n[0],a=n[1],i=n[2];a.forEach(e._OrtFree),i.forEach(e._OrtFree),e._OrtReleaseSession(r),u.delete(t)};const c=t=>{switch(t){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;default:throw new Error(`unsupported data type: ${t}`)}},s=t=>{switch(t){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";default:throw new Error(`unsupported data type: ${t}`)}},l=t=>{switch(t){case"float32":return Float32Array;case"uint8":case"bool":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${t}`)}};e.run=(t,e,n,a,f)=>{const p=(0,o.getInstance)(),h=u.get(t);if(!h)throw new Error("invalid session id");const d=h[0],y=h[1],b=h[2],m=e.length,g=a.length;let v=0,w=[];const _=[],O=[];try{[v,w]=(0,r.setRunOptions)(f);for(let t=0;t<m;t++){const e=n[t][0],r=n[t][1],a=n[t][2];let o,u;if(Array.isArray(a)){u=4*a.length,o=p._malloc(u),O.push(o);let t=o/4;for(let e=0;e<a.length;e++){if("string"!=typeof a[e])throw new TypeError(`tensor data at index ${e} is not a string`);p.HEAPU32[t++]=(0,i.allocWasmString)(a[e],O)}}else u=a.byteLength,o=p._malloc(u),O.push(o),p.HEAPU8.set(new Uint8Array(a.buffer,a.byteOffset,u),o);const s=p.stackSave(),l=p.stackAlloc(4*r.length);try{let t=l/4;r.forEach((e=>p.HEAP32[t++]=e));const n=p._OrtCreateTensor(c(e),o,u,l,r.length);if(0===n)throw new Error("Can\'t create a tensor");_.push(n)}finally{p.stackRestore(s)}}const t=p.stackSave(),o=p.stackAlloc(4*m),u=p.stackAlloc(4*m),h=p.stackAlloc(4*g),A=p.stackAlloc(4*g);try{let n=o/4,r=u/4,i=h/4,c=A/4;for(let t=0;t<m;t++)p.HEAPU32[n++]=_[t],p.HEAPU32[r++]=y[e[t]];for(let t=0;t<g;t++)p.HEAPU32[i++]=0,p.HEAPU32[c++]=b[a[t]];let f=p._OrtRun(d,u,o,m,A,g,h,v);const w=[];if(0===f)for(let t=0;t<g;t++){const e=p.HEAPU32[h/4+t],n=p.stackSave(),r=p.stackAlloc(16);let a,i=0;try{if(f=p._OrtGetTensorData(e,r,r+4,r+8,r+12),0!==f)throw new Error(`Can\'t access output tensor data. error code = ${f}`);let t=r/4;const o=p.HEAPU32[t++];i=p.HEAPU32[t++];const u=p.HEAPU32[t++],c=p.HEAPU32[t++],h=[];for(let t=0;t<c;t++)h.push(p.HEAPU32[u/4+t]);p._OrtFree(u);const d=0===h.length?1:h.reduce(((t,e)=>t*e));if(a=s(o),"string"===a){const t=[];let e=i/4;for(let n=0;n<d;n++){const r=p.HEAPU32[e++],a=n===d-1?void 0:p.HEAPU32[e]-r;t.push(p.UTF8ToString(r,a))}w.push([a,h,t])}else{const t=new(l(a))(d);new Uint8Array(t.buffer,t.byteOffset,t.byteLength).set(p.HEAPU8.subarray(i,i+t.byteLength)),w.push([a,h,t])}}finally{p.stackRestore(n),"string"===a&&i&&p._free(i),p._OrtReleaseTensor(e)}}if(0===f)return w;throw new Error(`failed to call OrtRun(). error code = ${f}.`)}finally{p.stackRestore(t)}}finally{_.forEach(p._OrtReleaseTensor),O.forEach(p._free),p._OrtReleaseRunOptions(v),w.forEach(p._free)}},e.endProfiling=t=>{const e=(0,o.getInstance)(),n=u.get(t);if(!n)throw new Error("invalid session id");const r=n[0],a=e._OrtEndProfiling(r);if(0===a)throw new Error("Can\'t get an profile file name");e._OrtFree(a)},e.extractTransferableBuffers=t=>{const e=[];for(const n of t){const t=n[2];!Array.isArray(t)&&t.buffer&&e.push(t.buffer)}return e}},361:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(e,n);a&&!("get"in a?!e.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,a)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),a=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return a(e,t),e},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.dispose=e.getInstance=e.initializeWebAssembly=void 0;const u=i(n(449)),c=o(n(932)),s=n(474);let l,f=!1,p=!1,h=!1;const d=(t,e)=>e?t?"ort-wasm-simd-threaded.wasm":"ort-wasm-threaded.wasm":t?"ort-wasm-simd.wasm":"ort-wasm.wasm";e.initializeWebAssembly=async t=>{if(f)return Promise.resolve();if(p)throw new Error("multiple calls to \'initializeWebAssembly()\' detected.");if(h)throw new Error("previous call to \'initializeWebAssembly()\' failed.");p=!0;const e=t.initTimeout,r=t.numThreads,a=t.simd,i=r>1&&(()=>{try{return"undefined"!=typeof SharedArrayBuffer&&("undefined"!=typeof MessageChannel&&(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11])))}catch(t){return!1}})(),o=a&&(()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch(t){return!1}})(),y="string"==typeof t.wasmPaths?t.wasmPaths:void 0,b=d(!1,i),m=d(o,i),g="object"==typeof t.wasmPaths?t.wasmPaths[m]:void 0;let v=!1;const w=[];if(e>0&&w.push(new Promise((t=>{setTimeout((()=>{v=!0,t()}),e)}))),w.push(new Promise(((t,e)=>{const r=i?s:c.default,a={locateFile:(t,e)=>i&&t.endsWith(".worker.js")&&"undefined"!=typeof Blob?URL.createObjectURL(new Blob([n(154)],{type:"text/javascript"})):t===b?null!=g?g:(null!=y?y:e)+m:e+t};if(i)if("undefined"==typeof Blob)a.mainScriptUrlOrBlob=u.join("/","ort-wasm-threaded.js");else{const t=`var ortWasmThreaded=(function(){var _scriptDir;return ${r.toString()}})();`;a.mainScriptUrlOrBlob=new Blob([t],{type:"text/javascript"})}r(a).then((e=>{p=!1,f=!0,l=e,t()}),(t=>{p=!1,h=!0,e(t)}))}))),await Promise.race(w),v)throw new Error(`WebAssembly backend initializing failed due to timeout: ${e}ms`)},e.getInstance=()=>{if(f&&l)return l;throw new Error("WebAssembly is not initialized yet.")},e.dispose=()=>{var t;!f||p||h||(p=!0,null===(t=l.PThread)||void 0===t||t.terminateAllThreads(),l=void 0,p=!1,f=!1,h=!0)}},154:t=>{"use strict";t.exports=\'"use strict";var e={},t="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node;if(t){var r=require("worker_threads"),a=r.parentPort;a.on("message",(e=>onmessage({data:e})));var o=require("fs");Object.assign(global,{self:global,require:require,Module:e,location:{href:__filename},Worker:r.Worker,importScripts:function(e){(0,eval)(o.readFileSync(e,"utf8"))},postMessage:function(e){a.postMessage(e)},performance:global.performance||{now:function(){return Date.now()}}})}var s=!1,n=[],i=function(){var e=Array.prototype.slice.call(arguments).join(" ");t?o.writeSync(2,e+"\\\\n"):console.error(e)};self.alert=function(){var t=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:t,threadId:e._pthread_self()})},e.instantiateWasm=(t,r)=>{var a=new WebAssembly.Instance(e.wasmModule,t);return r(a),e.wasmModule=null,a.exports},self.onunhandledrejection=e=>{throw e.reason??e},self.onmessage=t=>{try{if("load"===t.data.cmd){if(e.wasmModule=t.data.wasmModule,e.wasmMemory=t.data.wasmMemory,e.buffer=e.wasmMemory.buffer,e.ENVIRONMENT_IS_PTHREAD=!0,"string"==typeof t.data.urlOrBlob)importScripts(t.data.urlOrBlob);else{var r=URL.createObjectURL(t.data.urlOrBlob);importScripts(r),URL.revokeObjectURL(r)}ortWasmThreaded(e).then((function(t){e=t}))}else if("run"===t.data.cmd){e.__performance_now_clock_drift=performance.now()-t.data.time,e.__emscripten_thread_init(t.data.pthread_ptr,0,0,1),e.establishStackSpace(),e.PThread.receiveObjectTransfer(t.data),e.PThread.threadInitTLS(),s||(n.forEach((t=>{e.executeNotifiedProxyingQueue(t)})),n=[],s=!0);try{e.invokeEntryPoint(t.data.start_routine,t.data.arg)}catch(t){if("unwind"!=t){if(!(t instanceof e.ExitStatus))throw t;e.keepRuntimeAlive()||e.__emscripten_thread_exit(t.status)}}}else"cancel"===t.data.cmd?e._pthread_self()&&e.__emscripten_thread_exit(-1):"setimmediate"===t.data.target||("processProxyingQueue"===t.data.cmd?s?e.executeNotifiedProxyingQueue(t.data.queue):n.push(t.data.queue):(i("worker.js received unknown command "+t.data.cmd),i(t.data)))}catch(t){throw i("worker.js onmessage() captured an uncaught exception: "+t),t&&t.stack&&i(t.stack),e.__emscripten_thread_crashed&&e.__emscripten_thread_crashed(),t}};\\n\'},384:()=>{},993:()=>{},908:()=>{},953:()=>{},925:()=>{},449:()=>{}},e={};function n(r){var a=e[r];if(void 0!==a)return a.exports;var i=e[r]={exports:{}};return t[r].call(i.exports,i,i.exports,n),i.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),(()=>{"use strict";const t=n(349),e=n(361);self.onmessage=n=>{switch(n.data.type){case"init-wasm":(0,e.initializeWebAssembly)(n.data.in).then((()=>postMessage({type:"init-wasm"})),(t=>postMessage({type:"init-wasm",err:t})));break;case"init-ort":try{const{numThreads:e,loggingLevel:r}=n.data.in;(0,t.initOrt)(e,r),postMessage({type:"init-ort"})}catch(t){postMessage({type:"init-ort",err:t})}break;case"create_allocate":try{const{model:e}=n.data.in,r=(0,t.createSessionAllocate)(e);postMessage({type:"create_allocate",out:r})}catch(t){postMessage({type:"create_allocate",err:t})}break;case"create_finalize":try{const{modeldata:e,options:r}=n.data.in,a=(0,t.createSessionFinalize)(e,r);postMessage({type:"create_finalize",out:a})}catch(t){postMessage({type:"create_finalize",err:t})}break;case"create":try{const{model:e,options:r}=n.data.in,a=(0,t.createSession)(e,r);postMessage({type:"create",out:a})}catch(t){postMessage({type:"create",err:t})}break;case"release":try{const e=n.data.in;(0,t.releaseSession)(e),postMessage({type:"release"})}catch(t){postMessage({type:"release",err:t})}break;case"run":try{const{sessionId:e,inputIndices:r,inputs:a,outputIndices:i,options:o}=n.data.in,u=(0,t.run)(e,r,a,i,o);postMessage({type:"run",out:u},(0,t.extractTransferableBuffers)(u))}catch(t){postMessage({type:"run",err:t})}break;case"end-profiling":try{const e=n.data.in;(0,t.endProfiling)(e),postMessage({type:"end-profiling"})}catch(t){postMessage({type:"end-profiling",err:t})}}}})()})();\n',"Worker",void 0,void 0)}},477:en=>{"use strict";en.exports=function(en,er,ei,eo){var ea=self||window;try{try{try{es=new ea.Blob([en])}catch(er){(es=new(ea.BlobBuilder||ea.WebKitBlobBuilder||ea.MozBlobBuilder||ea.MSBlobBuilder)).append(en),es=es.getBlob()}var es,eu=ea.URL||ea.webkitURL,ec=eu.createObjectURL(es),ef=new ea[er](ec,ei);return eu.revokeObjectURL(ec),ef}catch(eo){return new ea[er]("data:application/javascript,".concat(encodeURIComponent(en)),ei)}}catch(en){if(!eo)throw Error("Inline worker is not supported");return new ea[er](eo,ei)}}},4154:en=>{"use strict";en.exports='"use strict";var e={},t="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node;if(t){var r=require("worker_threads"),a=r.parentPort;a.on("message",(e=>onmessage({data:e})));var o=require("fs");Object.assign(global,{self:global,require:require,Module:e,location:{href:__filename},Worker:r.Worker,importScripts:function(e){(0,eval)(o.readFileSync(e,"utf8"))},postMessage:function(e){a.postMessage(e)},performance:global.performance||{now:function(){return Date.now()}}})}var s=!1,n=[],i=function(){var e=Array.prototype.slice.call(arguments).join(" ");t?o.writeSync(2,e+"\\n"):console.error(e)};self.alert=function(){var t=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:t,threadId:e._pthread_self()})},e.instantiateWasm=(t,r)=>{var a=new WebAssembly.Instance(e.wasmModule,t);return r(a),e.wasmModule=null,a.exports},self.onunhandledrejection=e=>{throw e.reason??e},self.onmessage=t=>{try{if("load"===t.data.cmd){if(e.wasmModule=t.data.wasmModule,e.wasmMemory=t.data.wasmMemory,e.buffer=e.wasmMemory.buffer,e.ENVIRONMENT_IS_PTHREAD=!0,"string"==typeof t.data.urlOrBlob)importScripts(t.data.urlOrBlob);else{var r=URL.createObjectURL(t.data.urlOrBlob);importScripts(r),URL.revokeObjectURL(r)}ortWasmThreaded(e).then((function(t){e=t}))}else if("run"===t.data.cmd){e.__performance_now_clock_drift=performance.now()-t.data.time,e.__emscripten_thread_init(t.data.pthread_ptr,0,0,1),e.establishStackSpace(),e.PThread.receiveObjectTransfer(t.data),e.PThread.threadInitTLS(),s||(n.forEach((t=>{e.executeNotifiedProxyingQueue(t)})),n=[],s=!0);try{e.invokeEntryPoint(t.data.start_routine,t.data.arg)}catch(t){if("unwind"!=t){if(!(t instanceof e.ExitStatus))throw t;e.keepRuntimeAlive()||e.__emscripten_thread_exit(t.status)}}}else"cancel"===t.data.cmd?e._pthread_self()&&e.__emscripten_thread_exit(-1):"setimmediate"===t.data.target||("processProxyingQueue"===t.data.cmd?s?e.executeNotifiedProxyingQueue(t.data.queue):n.push(t.data.queue):(i("worker.js received unknown command "+t.data.cmd),i(t.data)))}catch(t){throw i("worker.js onmessage() captured an uncaught exception: "+t),t&&t.stack&&i(t.stack),e.__emscripten_thread_crashed&&e.__emscripten_thread_crashed(),t}};\n'},1670:en=>{"use strict";en.exports=__WEBPACK_EXTERNAL_MODULE__1670__},7067:()=>{},1296:()=>{},1384:()=>{},3993:()=>{},908:()=>{},6953:()=>{},9925:()=>{},2806:()=>{},6449:()=>{},2850:()=>{},5381:()=>{},5686:(en,er,ei)=>{"use strict";ei.r(er),ei.d(er,{flatbuffers:()=>eo});var eo={};eo.Offset,eo.Table,eo.SIZEOF_SHORT=2,eo.SIZEOF_INT=4,eo.FILE_IDENTIFIER_LENGTH=4,eo.SIZE_PREFIX_LENGTH=4,eo.Encoding={UTF8_BYTES:1,UTF16_STRING:2},eo.int32=new Int32Array(2),eo.float32=new Float32Array(eo.int32.buffer),eo.float64=new Float64Array(eo.int32.buffer),eo.isLittleEndian=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0],eo.Long=function(en,er){this.low=0|en,this.high=0|er},eo.Long.create=function(en,er){return 0==en&&0==er?eo.Long.ZERO:new eo.Long(en,er)},eo.Long.prototype.toFloat64=function(){return(this.low>>>0)+4294967296*this.high},eo.Long.prototype.equals=function(en){return this.low==en.low&&this.high==en.high},eo.Long.ZERO=new eo.Long(0,0),eo.Builder=function(en){if(en)er=en;else var er=1024;this.bb=eo.ByteBuffer.allocate(er),this.space=er,this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},eo.Builder.prototype.clear=function(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},eo.Builder.prototype.forceDefaults=function(en){this.force_defaults=en},eo.Builder.prototype.dataBuffer=function(){return this.bb},eo.Builder.prototype.asUint8Array=function(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())},eo.Builder.prototype.prep=function(en,er){en>this.minalign&&(this.minalign=en);for(var ei=1+~(this.bb.capacity()-this.space+er)&en-1;this.space<ei+en+er;){var ea=this.bb.capacity();this.bb=eo.Builder.growByteBuffer(this.bb),this.space+=this.bb.capacity()-ea}this.pad(ei)},eo.Builder.prototype.pad=function(en){for(var er=0;er<en;er++)this.bb.writeInt8(--this.space,0)},eo.Builder.prototype.writeInt8=function(en){this.bb.writeInt8(this.space-=1,en)},eo.Builder.prototype.writeInt16=function(en){this.bb.writeInt16(this.space-=2,en)},eo.Builder.prototype.writeInt32=function(en){this.bb.writeInt32(this.space-=4,en)},eo.Builder.prototype.writeInt64=function(en){this.bb.writeInt64(this.space-=8,en)},eo.Builder.prototype.writeFloat32=function(en){this.bb.writeFloat32(this.space-=4,en)},eo.Builder.prototype.writeFloat64=function(en){this.bb.writeFloat64(this.space-=8,en)},eo.Builder.prototype.addInt8=function(en){this.prep(1,0),this.writeInt8(en)},eo.Builder.prototype.addInt16=function(en){this.prep(2,0),this.writeInt16(en)},eo.Builder.prototype.addInt32=function(en){this.prep(4,0),this.writeInt32(en)},eo.Builder.prototype.addInt64=function(en){this.prep(8,0),this.writeInt64(en)},eo.Builder.prototype.addFloat32=function(en){this.prep(4,0),this.writeFloat32(en)},eo.Builder.prototype.addFloat64=function(en){this.prep(8,0),this.writeFloat64(en)},eo.Builder.prototype.addFieldInt8=function(en,er,ei){(this.force_defaults||er!=ei)&&(this.addInt8(er),this.slot(en))},eo.Builder.prototype.addFieldInt16=function(en,er,ei){(this.force_defaults||er!=ei)&&(this.addInt16(er),this.slot(en))},eo.Builder.prototype.addFieldInt32=function(en,er,ei){(this.force_defaults||er!=ei)&&(this.addInt32(er),this.slot(en))},eo.Builder.prototype.addFieldInt64=function(en,er,ei){!this.force_defaults&&er.equals(ei)||(this.addInt64(er),this.slot(en))},eo.Builder.prototype.addFieldFloat32=function(en,er,ei){(this.force_defaults||er!=ei)&&(this.addFloat32(er),this.slot(en))},eo.Builder.prototype.addFieldFloat64=function(en,er,ei){(this.force_defaults||er!=ei)&&(this.addFloat64(er),this.slot(en))},eo.Builder.prototype.addFieldOffset=function(en,er,ei){(this.force_defaults||er!=ei)&&(this.addOffset(er),this.slot(en))},eo.Builder.prototype.addFieldStruct=function(en,er,ei){er!=ei&&(this.nested(er),this.slot(en))},eo.Builder.prototype.nested=function(en){if(en!=this.offset())throw Error("FlatBuffers: struct must be serialized inline.")},eo.Builder.prototype.notNested=function(){if(this.isNested)throw Error("FlatBuffers: object serialization must not be nested.")},eo.Builder.prototype.slot=function(en){this.vtable[en]=this.offset()},eo.Builder.prototype.offset=function(){return this.bb.capacity()-this.space},eo.Builder.growByteBuffer=function(en){var er=en.capacity();if(3221225472&er)throw Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");var ei=er<<1,ea=eo.ByteBuffer.allocate(ei);return ea.setPosition(ei-er),ea.bytes().set(en.bytes(),ei-er),ea},eo.Builder.prototype.addOffset=function(en){this.prep(eo.SIZEOF_INT,0),this.writeInt32(this.offset()-en+eo.SIZEOF_INT)},eo.Builder.prototype.startObject=function(en){this.notNested(),null==this.vtable&&(this.vtable=[]),this.vtable_in_use=en;for(var er=0;er<en;er++)this.vtable[er]=0;this.isNested=!0,this.object_start=this.offset()},eo.Builder.prototype.endObject=function(){if(null==this.vtable||!this.isNested)throw Error("FlatBuffers: endObject called without startObject");this.addInt32(0);for(var en=this.offset(),er=this.vtable_in_use-1;er>=0&&0==this.vtable[er];er--);for(var ei=er+1;er>=0;er--)this.addInt16(0!=this.vtable[er]?en-this.vtable[er]:0);this.addInt16(en-this.object_start);var ea=(ei+2)*eo.SIZEOF_SHORT;this.addInt16(ea);var es=0,eu=this.space;e:for(er=0;er<this.vtables.length;er++){var ec=this.bb.capacity()-this.vtables[er];if(ea==this.bb.readInt16(ec)){for(var ef=eo.SIZEOF_SHORT;ef<ea;ef+=eo.SIZEOF_SHORT)if(this.bb.readInt16(eu+ef)!=this.bb.readInt16(ec+ef))continue e;es=this.vtables[er];break}}return es?(this.space=this.bb.capacity()-en,this.bb.writeInt32(this.space,es-en)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-en,this.offset()-en)),this.isNested=!1,en},eo.Builder.prototype.finish=function(en,er,ei){var ea=ei?eo.SIZE_PREFIX_LENGTH:0;if(er){var es=er;if(this.prep(this.minalign,eo.SIZEOF_INT+eo.FILE_IDENTIFIER_LENGTH+ea),es.length!=eo.FILE_IDENTIFIER_LENGTH)throw Error("FlatBuffers: file identifier must be length "+eo.FILE_IDENTIFIER_LENGTH);for(var eu=eo.FILE_IDENTIFIER_LENGTH-1;eu>=0;eu--)this.writeInt8(es.charCodeAt(eu))}this.prep(this.minalign,eo.SIZEOF_INT+ea),this.addOffset(en),ea&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)},eo.Builder.prototype.finishSizePrefixed=function(en,er){this.finish(en,er,!0)},eo.Builder.prototype.requiredField=function(en,er){var ei=this.bb.capacity()-en,eo=ei-this.bb.readInt32(ei);if(0==this.bb.readInt16(eo+er))throw Error("FlatBuffers: field "+er+" must be set")},eo.Builder.prototype.startVector=function(en,er,ei){this.notNested(),this.vector_num_elems=er,this.prep(eo.SIZEOF_INT,en*er),this.prep(ei,en*er)},eo.Builder.prototype.endVector=function(){return this.writeInt32(this.vector_num_elems),this.offset()},eo.Builder.prototype.createString=function(en){if(en instanceof Uint8Array)var er=en;else{er=[];for(var ei=0;ei<en.length;){var eo,ea=en.charCodeAt(ei++);(eo=ea<55296||ea>=56320?ea:(ea<<10)+en.charCodeAt(ei++)+-56613888)<128?er.push(eo):(eo<2048?er.push(eo>>6&31|192):(eo<65536?er.push(eo>>12&15|224):er.push(eo>>18&7|240,eo>>12&63|128),er.push(eo>>6&63|128)),er.push(63&eo|128))}}this.addInt8(0),this.startVector(1,er.length,1),this.bb.setPosition(this.space-=er.length),ei=0;for(var es=this.space,eu=this.bb.bytes();ei<er.length;ei++)eu[es++]=er[ei];return this.endVector()},eo.Builder.prototype.createLong=function(en,er){return eo.Long.create(en,er)},eo.ByteBuffer=function(en){this.bytes_=en,this.position_=0},eo.ByteBuffer.allocate=function(en){return new eo.ByteBuffer(new Uint8Array(en))},eo.ByteBuffer.prototype.clear=function(){this.position_=0},eo.ByteBuffer.prototype.bytes=function(){return this.bytes_},eo.ByteBuffer.prototype.position=function(){return this.position_},eo.ByteBuffer.prototype.setPosition=function(en){this.position_=en},eo.ByteBuffer.prototype.capacity=function(){return this.bytes_.length},eo.ByteBuffer.prototype.readInt8=function(en){return this.readUint8(en)<<24>>24},eo.ByteBuffer.prototype.readUint8=function(en){return this.bytes_[en]},eo.ByteBuffer.prototype.readInt16=function(en){return this.readUint16(en)<<16>>16},eo.ByteBuffer.prototype.readUint16=function(en){return this.bytes_[en]|this.bytes_[en+1]<<8},eo.ByteBuffer.prototype.readInt32=function(en){return this.bytes_[en]|this.bytes_[en+1]<<8|this.bytes_[en+2]<<16|this.bytes_[en+3]<<24},eo.ByteBuffer.prototype.readUint32=function(en){return this.readInt32(en)>>>0},eo.ByteBuffer.prototype.readInt64=function(en){return new eo.Long(this.readInt32(en),this.readInt32(en+4))},eo.ByteBuffer.prototype.readUint64=function(en){return new eo.Long(this.readUint32(en),this.readUint32(en+4))},eo.ByteBuffer.prototype.readFloat32=function(en){return eo.int32[0]=this.readInt32(en),eo.float32[0]},eo.ByteBuffer.prototype.readFloat64=function(en){return eo.int32[eo.isLittleEndian?0:1]=this.readInt32(en),eo.int32[eo.isLittleEndian?1:0]=this.readInt32(en+4),eo.float64[0]},eo.ByteBuffer.prototype.writeInt8=function(en,er){this.bytes_[en]=er},eo.ByteBuffer.prototype.writeUint8=function(en,er){this.bytes_[en]=er},eo.ByteBuffer.prototype.writeInt16=function(en,er){this.bytes_[en]=er,this.bytes_[en+1]=er>>8},eo.ByteBuffer.prototype.writeUint16=function(en,er){this.bytes_[en]=er,this.bytes_[en+1]=er>>8},eo.ByteBuffer.prototype.writeInt32=function(en,er){this.bytes_[en]=er,this.bytes_[en+1]=er>>8,this.bytes_[en+2]=er>>16,this.bytes_[en+3]=er>>24},eo.ByteBuffer.prototype.writeUint32=function(en,er){this.bytes_[en]=er,this.bytes_[en+1]=er>>8,this.bytes_[en+2]=er>>16,this.bytes_[en+3]=er>>24},eo.ByteBuffer.prototype.writeInt64=function(en,er){this.writeInt32(en,er.low),this.writeInt32(en+4,er.high)},eo.ByteBuffer.prototype.writeUint64=function(en,er){this.writeUint32(en,er.low),this.writeUint32(en+4,er.high)},eo.ByteBuffer.prototype.writeFloat32=function(en,er){eo.float32[0]=er,this.writeInt32(en,eo.int32[0])},eo.ByteBuffer.prototype.writeFloat64=function(en,er){eo.float64[0]=er,this.writeInt32(en,eo.int32[eo.isLittleEndian?0:1]),this.writeInt32(en+4,eo.int32[eo.isLittleEndian?1:0])},eo.ByteBuffer.prototype.getBufferIdentifier=function(){if(this.bytes_.length<this.position_+eo.SIZEOF_INT+eo.FILE_IDENTIFIER_LENGTH)throw Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");for(var en="",er=0;er<eo.FILE_IDENTIFIER_LENGTH;er++)en+=String.fromCharCode(this.readInt8(this.position_+eo.SIZEOF_INT+er));return en},eo.ByteBuffer.prototype.__offset=function(en,er){var ei=en-this.readInt32(en);return er<this.readInt16(ei)?this.readInt16(ei+er):0},eo.ByteBuffer.prototype.__union=function(en,er){return en.bb_pos=er+this.readInt32(er),en.bb=this,en},eo.ByteBuffer.prototype.__string=function(en,er){en+=this.readInt32(en);var ei=this.readInt32(en),ea="",es=0;if(en+=eo.SIZEOF_INT,er===eo.Encoding.UTF8_BYTES)return this.bytes_.subarray(en,en+ei);for(;es<ei;){var eu,ec=this.readUint8(en+es++);if(ec<192)eu=ec;else{var ef=this.readUint8(en+es++);if(ec<224)eu=(31&ec)<<6|63&ef;else{var eA=this.readUint8(en+es++);eu=ec<240?(15&ec)<<12|(63&ef)<<6|63&eA:(7&ec)<<18|(63&ef)<<12|(63&eA)<<6|63&this.readUint8(en+es++)}}eu<65536?ea+=String.fromCharCode(eu):(eu-=65536,ea+=String.fromCharCode(55296+(eu>>10),56320+(1023&eu)))}return ea},eo.ByteBuffer.prototype.__indirect=function(en){return en+this.readInt32(en)},eo.ByteBuffer.prototype.__vector=function(en){return en+this.readInt32(en)+eo.SIZEOF_INT},eo.ByteBuffer.prototype.__vector_len=function(en){return this.readInt32(en+this.readInt32(en))},eo.ByteBuffer.prototype.__has_identifier=function(en){if(en.length!=eo.FILE_IDENTIFIER_LENGTH)throw Error("FlatBuffers: file identifier must be length "+eo.FILE_IDENTIFIER_LENGTH);for(var er=0;er<eo.FILE_IDENTIFIER_LENGTH;er++)if(en.charCodeAt(er)!=this.readInt8(this.position_+eo.SIZEOF_INT+er))return!1;return!0},eo.ByteBuffer.prototype.createLong=function(en,er){return eo.Long.create(en,er)}}},__webpack_module_cache__={};function __nested_webpack_require_546802__(en){var er=__webpack_module_cache__[en];if(void 0!==er)return er.exports;var ei=__webpack_module_cache__[en]={exports:{}};return __webpack_modules__[en].call(ei.exports,ei,ei.exports,__nested_webpack_require_546802__),ei.exports}__nested_webpack_require_546802__.n=en=>{var er=en&&en.__esModule?()=>en.default:()=>en;return __nested_webpack_require_546802__.d(er,{a:er}),er},__nested_webpack_require_546802__.d=(en,er)=>{for(var ei in er)__nested_webpack_require_546802__.o(er,ei)&&!__nested_webpack_require_546802__.o(en,ei)&&Object.defineProperty(en,ei,{enumerable:!0,get:er[ei]})},__nested_webpack_require_546802__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(en){if("object"==typeof window)return window}}(),__nested_webpack_require_546802__.o=(en,er)=>Object.prototype.hasOwnProperty.call(en,er),__nested_webpack_require_546802__.r=en=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(en,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(en,"__esModule",{value:!0})};var __nested_webpack_exports__=__nested_webpack_require_546802__(6018);return __nested_webpack_exports__})())},8985:(en,er)=>{Object.defineProperty(er,"__esModule",{value:!0}),er.Deferred=void 0;class ei{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise((en,er)=>{this.reject=er,this.resolve=en})}}er.Deferred=ei},7279:(en,er)=>{Object.defineProperty(er,"__esModule",{value:!0}),er.EndOfStreamError=er.defaultMessages=void 0,er.defaultMessages="End-Of-Stream";class ei extends Error{constructor(){super(er.defaultMessages)}}er.EndOfStreamError=ei},6654:(en,er,ei)=>{Object.defineProperty(er,"__esModule",{value:!0}),er.StreamReader=er.EndOfStreamError=void 0;let eo=ei(7279),ea=ei(8985);var es=ei(7279);Object.defineProperty(er,"EndOfStreamError",{enumerable:!0,get:function(){return es.EndOfStreamError}});let eu=1048576;class ec{constructor(en){if(this.s=en,this.deferred=null,this.endOfStream=!1,this.peekQueue=[],!en.read||!en.once)throw Error("Expected an instance of stream.Readable");this.s.once("end",()=>this.reject(new eo.EndOfStreamError)),this.s.once("error",en=>this.reject(en)),this.s.once("close",()=>this.reject(Error("Stream closed")))}async peek(en,er,ei){let eo=await this.read(en,er,ei);return this.peekQueue.push(en.subarray(er,er+eo)),eo}async read(en,er,ei){if(0===ei)return 0;if(0===this.peekQueue.length&&this.endOfStream)throw new eo.EndOfStreamError;let ea=ei,es=0;for(;this.peekQueue.length>0&&ea>0;){let ei=this.peekQueue.pop();if(!ei)throw Error("peekData should be defined");let eo=Math.min(ei.length,ea);en.set(ei.subarray(0,eo),er+es),es+=eo,ea-=eo,eo<ei.length&&this.peekQueue.push(ei.subarray(eo))}for(;ea>0&&!this.endOfStream;){let ei=Math.min(ea,eu),eo=await this.readFromStream(en,er+es,ei);if(es+=eo,eo<ei)break;ea-=eo}return es}async readFromStream(en,er,ei){let eo=this.s.read(ei);if(eo)return en.set(eo,er),eo.length;{let eo={buffer:en,offset:er,length:ei,deferred:new ea.Deferred};return this.deferred=eo.deferred,this.s.once("readable",()=>{this.readDeferred(eo)}),eo.deferred.promise}}readDeferred(en){let er=this.s.read(en.length);er?(en.buffer.set(er,en.offset),en.deferred.resolve(er.length),this.deferred=null):this.s.once("readable",()=>{this.readDeferred(en)})}reject(en){this.endOfStream=!0,this.deferred&&(this.deferred.reject(en),this.deferred=null)}}er.StreamReader=ec},5167:(en,er,ei)=>{Object.defineProperty(er,"__esModule",{value:!0}),er.StreamReader=er.EndOfStreamError=void 0;var eo=ei(7279);Object.defineProperty(er,"EndOfStreamError",{enumerable:!0,get:function(){return eo.EndOfStreamError}});var ea=ei(6654);Object.defineProperty(er,"StreamReader",{enumerable:!0,get:function(){return ea.StreamReader}})},4155:en=>{var er,ei,eo,ea=en.exports={};function es(){throw Error("setTimeout has not been defined")}function eu(){throw Error("clearTimeout has not been defined")}function ec(en){if(er===setTimeout)return setTimeout(en,0);if((er===es||!er)&&setTimeout)return er=setTimeout,setTimeout(en,0);try{return er(en,0)}catch(ei){try{return er.call(null,en,0)}catch(ei){return er.call(this,en,0)}}}function ef(en){if(ei===clearTimeout)return clearTimeout(en);if((ei===eu||!ei)&&clearTimeout)return ei=clearTimeout,clearTimeout(en);try{return ei(en)}catch(er){try{return ei.call(null,en)}catch(er){return ei.call(this,en)}}}!function(){try{er="function"==typeof setTimeout?setTimeout:es}catch(en){er=es}try{ei="function"==typeof clearTimeout?clearTimeout:eu}catch(en){ei=eu}}();var eA=[],ed=!1,eh=-1;function ep(){ed&&eo&&(ed=!1,eo.length?eA=eo.concat(eA):eh=-1,eA.length&&eg())}function eg(){if(!ed){var en=ec(ep);ed=!0;for(var er=eA.length;er;){for(eo=eA,eA=[];++eh<er;)eo&&eo[eh].run();eh=-1,er=eA.length}eo=null,ed=!1,ef(en)}}function eb(en,er){this.fun=en,this.array=er}function em(){}ea.nextTick=function(en){var er=Array(arguments.length-1);if(arguments.length>1)for(var ei=1;ei<arguments.length;ei++)er[ei-1]=arguments[ei];eA.push(new eb(en,er)),1!==eA.length||ed||ec(eg)},eb.prototype.run=function(){this.fun.apply(null,this.array)},ea.title="browser",ea.browser=!0,ea.env={},ea.argv=[],ea.version="",ea.versions={},ea.on=em,ea.addListener=em,ea.once=em,ea.off=em,ea.removeListener=em,ea.removeAllListeners=em,ea.emit=em,ea.prependListener=em,ea.prependOnceListener=em,ea.listeners=function(en){return[]},ea.binding=function(en){throw Error("process.binding is not supported")},ea.cwd=function(){return"/"},ea.chdir=function(en){throw Error("process.chdir is not supported")},ea.umask=function(){return 0}},842:(en,er,ei)=>{Object.defineProperty(er,"__esModule",{value:!0}),er.AbstractTokenizer=void 0;let eo=ei(5167);class ea{constructor(en){this.position=0,this.numBuffer=new Uint8Array(8),this.fileInfo=en||{}}async readToken(en,er=this.position){let ei=Buffer.alloc(en.len),ea=await this.readBuffer(ei,{position:er});if(ea<en.len)throw new eo.EndOfStreamError;return en.get(ei,0)}async peekToken(en,er=this.position){let ei=Buffer.alloc(en.len),ea=await this.peekBuffer(ei,{position:er});if(ea<en.len)throw new eo.EndOfStreamError;return en.get(ei,0)}async readNumber(en){let er=await this.readBuffer(this.numBuffer,{length:en.len});if(er<en.len)throw new eo.EndOfStreamError;return en.get(this.numBuffer,0)}async peekNumber(en){let er=await this.peekBuffer(this.numBuffer,{length:en.len});if(er<en.len)throw new eo.EndOfStreamError;return en.get(this.numBuffer,0)}async ignore(en){if(void 0!==this.fileInfo.size){let er=this.fileInfo.size-this.position;if(en>er)return this.position+=er,er}return this.position+=en,en}async close(){}normalizeOptions(en,er){if(er&&void 0!==er.position&&er.position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");return er?{mayBeLess:!0===er.mayBeLess,offset:er.offset?er.offset:0,length:er.length?er.length:en.length-(er.offset?er.offset:0),position:er.position?er.position:this.position}:{mayBeLess:!1,offset:0,length:en.length,position:this.position}}}er.AbstractTokenizer=ea},778:(en,er,ei)=>{Object.defineProperty(er,"__esModule",{value:!0}),er.BufferTokenizer=void 0;let eo=ei(5167),ea=ei(842);class es extends ea.AbstractTokenizer{constructor(en,er){super(er),this.uint8Array=en,this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:en.length}async readBuffer(en,er){if(er&&er.position){if(er.position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");this.position=er.position}let ei=await this.peekBuffer(en,er);return this.position+=ei,ei}async peekBuffer(en,er){let ei=this.normalizeOptions(en,er),ea=Math.min(this.uint8Array.length-ei.position,ei.length);if(ei.mayBeLess||!(ea<ei.length))return en.set(this.uint8Array.subarray(ei.position,ei.position+ea),ei.offset),ea;throw new eo.EndOfStreamError}async close(){}}er.BufferTokenizer=es},7859:(en,er,ei)=>{Object.defineProperty(er,"__esModule",{value:!0}),er.fromFile=er.FileTokenizer=void 0;let eo=ei(842),ea=ei(5167),es=ei(7209);class eu extends eo.AbstractTokenizer{constructor(en,er){super(er),this.fd=en}async readBuffer(en,er){let ei=this.normalizeOptions(en,er);this.position=ei.position;let eo=await es.read(this.fd,en,ei.offset,ei.length,ei.position);if(this.position+=eo.bytesRead,eo.bytesRead<ei.length&&(!er||!er.mayBeLess))throw new ea.EndOfStreamError;return eo.bytesRead}async peekBuffer(en,er){let ei=this.normalizeOptions(en,er),eo=await es.read(this.fd,en,ei.offset,ei.length,ei.position);if(!ei.mayBeLess&&eo.bytesRead<ei.length)throw new ea.EndOfStreamError;return eo.bytesRead}async close(){return es.close(this.fd)}}async function ec(en){let er=await es.stat(en);if(!er.isFile)throw Error(`File not a file: ${en}`);let ei=await es.open(en,"r");return new eu(ei,{path:en,size:er.size})}er.FileTokenizer=eu,er.fromFile=ec},7209:(en,er,ei)=>{Object.defineProperty(er,"__esModule",{value:!0}),er.readFile=er.writeFileSync=er.writeFile=er.read=er.open=er.close=er.stat=er.createReadStream=er.pathExists=void 0;let eo=ei(4059);async function ea(en){return new Promise((er,ei)=>{eo.stat(en,(en,eo)=>{en?ei(en):er(eo)})})}async function es(en){return new Promise((er,ei)=>{eo.close(en,en=>{en?ei(en):er()})})}async function eu(en,er){return new Promise((ei,ea)=>{eo.open(en,er,(en,er)=>{en?ea(en):ei(er)})})}async function ec(en,er,ei,ea,es){return new Promise((eu,ec)=>{eo.read(en,er,ei,ea,es,(en,er,ei)=>{en?ec(en):eu({bytesRead:er,buffer:ei})})})}async function ef(en,er){return new Promise((ei,ea)=>{eo.writeFile(en,er,en=>{en?ea(en):ei()})})}function eA(en,er){eo.writeFileSync(en,er)}async function ed(en){return new Promise((er,ei)=>{eo.readFile(en,(en,eo)=>{en?ei(en):er(eo)})})}er.pathExists=eo.existsSync,er.createReadStream=eo.createReadStream,er.stat=ea,er.close=es,er.open=eu,er.read=ec,er.writeFile=ef,er.writeFileSync=eA,er.readFile=ed},599:(en,er,ei)=>{Object.defineProperty(er,"__esModule",{value:!0}),er.ReadStreamTokenizer=void 0;let eo=ei(842),ea=ei(5167),es=256e3;class eu extends eo.AbstractTokenizer{constructor(en,er){super(er),this.streamReader=new ea.StreamReader(en)}async getFileInfo(){return this.fileInfo}async readBuffer(en,er){let ei=this.normalizeOptions(en,er),eo=ei.position-this.position;if(eo>0)return await this.ignore(eo),this.readBuffer(en,er);if(eo<0)throw Error("`options.position` must be equal or greater than `tokenizer.position`");if(0===ei.length)return 0;let es=await this.streamReader.read(en,ei.offset,ei.length);if(this.position+=es,(!er||!er.mayBeLess)&&es<ei.length)throw new ea.EndOfStreamError;return es}async peekBuffer(en,er){let ei=this.normalizeOptions(en,er),eo=0;if(ei.position){let er=ei.position-this.position;if(er>0){let ea=new Uint8Array(ei.length+er);return eo=await this.peekBuffer(ea,{mayBeLess:ei.mayBeLess}),en.set(ea.subarray(er),ei.offset),eo-er}if(er<0)throw Error("Cannot peek from a negative offset in a stream")}if(ei.length>0){try{eo=await this.streamReader.peek(en,ei.offset,ei.length)}catch(en){if(er&&er.mayBeLess&&en instanceof ea.EndOfStreamError)return 0;throw en}if(!ei.mayBeLess&&eo<ei.length)throw new ea.EndOfStreamError}return eo}async ignore(en){let er=Math.min(es,en),ei=new Uint8Array(er),eo=0;for(;eo<en;){let ea=en-eo,es=await this.readBuffer(ei,{length:Math.min(er,ea)});if(es<0)return es;eo+=es}return eo}}er.ReadStreamTokenizer=eu},5849:(en,er,ei)=>{Object.defineProperty(er,"__esModule",{value:!0}),er.fromBuffer=er.fromStream=er.EndOfStreamError=void 0;let eo=ei(599),ea=ei(778);var es=ei(5167);function eu(en,er){return er=er||{},new eo.ReadStreamTokenizer(en,er)}function ec(en,er){return new ea.BufferTokenizer(en,er)}Object.defineProperty(er,"EndOfStreamError",{enumerable:!0,get:function(){return es.EndOfStreamError}}),er.fromStream=eu,er.fromBuffer=ec},6597:(en,er,ei)=>{es={value:!0},es=er.FY=er.dL=es=void 0;let eo=ei(7209),ea=ei(5849);var es,eu=ei(7859);es={enumerable:!0,get:function(){return eu.fromFile}};var ec=ei(5849);Object.defineProperty(er,"dL",{enumerable:!0,get:function(){return ec.EndOfStreamError}}),Object.defineProperty(er,"FY",{enumerable:!0,get:function(){return ec.fromBuffer}}),es=async function(en,er){if(er=er||{},en.path){let ei=await eo.stat(en.path);er.path=en.path,er.size=ei.size}return ea.fromStream(en,er)}},814:(en,er,ei)=>{ei.d(er,{Z:()=>eK});var eo=ei(5072);let ea=[{oneLetterKey:"a",fullNameKey:"userAgent"},{oneLetterKey:"c",fullNameKey:"capturedMethod"},{oneLetterKey:"l",fullNameKey:"logs"},{oneLetterKey:"s",fullNameKey:"steps"},{oneLetterKey:"v",fullNameKey:"version"}];var es=ei(404);class eu{constructor(){this.data={},this.currentStep=""}set step(en){"steps"in this.data||(this.data.steps={}),en in this.data.steps||(this.data.steps[en]={start:0,end:0,duration:0}),this.currentStep=en}get step(){return this.currentStep}get stepData(){return this.data.steps[this.currentStep]}get steps(){let en={};return Object.keys(this.data.steps).forEach(er=>{let ei=es.Z[er].id;en[ei]=this.data.steps[er].duration}),en}start(){this.data.steps[this.currentStep].start=Math.trunc(performance.now())}end(){let en=this.data.steps[this.currentStep];en.end=Math.trunc(performance.now()),en.duration=en.end-en.start}}function ec(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function ef(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function eA(en,er,ei){return er&&ef(en.prototype,er),ei&&ef(en,ei),en}var ed=function(){"use strict";function en(){ec(this,en),this.logger=new eu}return eA(en,[{key:"startLogger",value:function(en){this.changeStep(en),this.logger.start()}},{key:"setLogger",value:function(en){this.logger.currentStep||this.startLogger(en),this.logger.currentStep!==en&&(this.logger.end(),this.startLogger(en))}},{key:"end",value:function(){this.logger.end()}},{key:"start",value:function(){this.logger.start()}},{key:"changeStep",value:function(en){this.logger.step=en}},{key:"changeCurrentStep",value:function(en){this.logger.currentStep=en}},{key:"getSteps",value:function(){return this.logger.steps}},{key:"getStep",value:function(){return this.logger.step}},{key:"prepareDataForSubmit",value:function(){var en=this,er={};return Object.keys(this.logger.data).forEach(function(ei){ea.forEach(function(eo){eo.fullNameKey===ei&&(er[eo.oneLetterKey]=en.logger[ei])})}),er}}]),en}(),eh=ei(9910);function ep(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function eg(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function eb(en,er,ei){return er&&eg(en.prototype,er),ei&&eg(en,ei),en}function em(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}var ey=function(){"use strict";function en(){var er=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";ep(this,en),em(this,"userAgent",void 0),em(this,"capturedMethod",void 0),em(this,"version",void 0),em(this,"logs",void 0),this.userAgent=window.navigator.userAgent,this.capturedMethod="",this.logs={},this.version=er}return eb(en,[{key:"captureMethod",value:function(en){this.capturedMethod=en.reduce(function(en,er){var ei="";return!0===er.isAuto?ei="1":"file"===er.source?ei="0":"video"===er.source&&(ei="2"),"".concat(en).concat(ei)},"")}},{key:"getMetaData",value:function(en){var er=this;this.captureMethod(en);var ei=Object.keys(this),eo={};return ei.forEach(function(en){eo[en]=er[en]}),eo}},{key:"prepareMetaDataForSubmit",value:function(en){return JSON.stringify(this.getMetaData(en))}}]),en}(),ev=ei(726),eI=function(en,er){var ei=Math.ceil(en);return Math.floor(Math.random()*(Math.floor(er)-ei+1))+ei},ew=function(){var en=document.createElement("canvas");return!!(en.getContext&&en.getContext("2d"))&&0===en.toDataURL("image/webp").indexOf("data:image/webp")},eE="https://neurons.cdn.idscan.net",eC={isIIphone:!1,topImage:null,running:!1,steps:[],allowedTypesIds:[],curStep:0,type:0,isRealFaceAvailable:!1,realFaceTurnSide:ev.m.LEFT,capturingMode:"processImage5",isStarted:!1,isBrowserSupport:!0,origData:null,resizedData:null,cameraSupported:!0,isMirroring:!1,imageFormat:"jpeg",VERSION:"2.5.8",minPDFframes:1,networkUrl:"",isVideoCapture:!1,isDetectFace:!1,isMobile:!1,videoLoading:!1,sizeK:1.56,stream:null,track:null,config:{},invertFace:!1,loop:null,loopStarted:!1,loopFrame:!1,showForceCapturingBtn:!1,baseWidth:0,baseHeight:0,resizedCanvasSizes:{width:0,height:0},videoCanvasSizes:{width:0,height:0},cropResizedSizes:{width:0,height:0},cropFace:{width:0,height:0},cropSizes:{width:0,height:0},resizedToBorder:{width:0,height:0},offsetsFace:{left:0,top:0},offsetsResized:{left:0,top:0},offsets:{left:0,top:0},isShowComeBackText:!1,isShowTurnText:!1,isShowCloserText:!1,isShowCenterText:!1,isShowAwayText:!1,isShowStayCalmText:!1,isShowNotSeeText:!1,isShowFacePercentText:!1,isShowHelpText:!1,isShowStayText:!1,isShowHoldText:!1,isShowDocumentCloserText:!1,uploader:null,loggerController:null,keys:{imageProcessingKey:"",pdf417key:"",commonLicenseKey:""},licenseKeyError:null,metaData:null,processFace3d:{started:!1,ended:!0,start:function(){this.started=!0,this.ended=!1},end:function(){this.started=!1,this.ended=!0}},resetHints:function(){this.isShowStayText=!1,this.isShowHoldText=!1,this.isShowHelpText=!1,this.isShowCloserText=!1,this.isShowCenterText=!1,this.isShowAwayText=!1,this.isShowComeBackText=!1,this.isShowTurnText=!1,this.isShowFacePercentText=!1,this.isShowStayCalmText=!1,this.isShowNotSeeText=!1},clearStepData:function(){this.resizedData=null,this.origData=null},resetStats:function(){this.topImage=null,this.clearStepData()},get cropSize(){return{width:this.cropSizes.width,height:this.cropSizes.height}},set cropSize(param){var eT=param.width,eS=param.height;this.cropSizes.width=eT,this.cropSizes.height=eS},get cropResizedSize(){return{width:this.cropResizedSizes.width,height:this.cropResizedSizes.height}},set cropResizedSize(param){var eB=param.width,ex=param.height;this.cropResizedSizes.width=eB,this.cropResizedSizes.height=ex},get cropFaceSize(){return{width:this.cropFace.width,height:this.cropFace.height}},set cropFaceSize(param){var e_=param.width,eD=param.height;this.cropFace.width=e_,this.cropFace.height=eD},set baseSizes(param){var eP=param.width,eO=param.height;this.baseWidth=eP,this.baseHeight=eO},get baseSizes(){return{width:this.baseWidth,height:this.baseHeight}},get currentStepObj(){return this.steps[this.currentStep]},get currentStepMode(){return this.currentStepObj.capturingMode},get currentStepType(){var ek,eQ,eM=this.currentStep>=0?this.currentStep:0;return null===(ek=null===(eQ=this)||void 0===eQ?void 0:eQ.steps[eM])||void 0===ek?void 0:ek.type},set currentStepImg(val){var eF=this.currentStep>=0?this.currentStep:0;this.steps[eF].img=val},get currentStepImg(){var eN,eL,eR=this.currentStep>=0?this.currentStep:0;return null===(eN=null===(eL=this)||void 0===eL?void 0:eL.steps[eR])||void 0===eN?void 0:eN.img},set currentStepBlob(val){var eG=this.currentStep>=0?this.currentStep:0;this.steps[eG].img=val},get currentStepBlob(){var eU,ej,eV=this.currentStep>=0?this.currentStep:0;return null===(eU=null===(ej=this)||void 0===ej?void 0:ej.steps[eV])||void 0===eU?void 0:eU.img},get currentStepCamera(){var eH,ez,eZ=this.currentStep>=0?this.currentStep:0,eW=null===(eH=null===(ez=this)||void 0===ez?void 0:ez.steps[eZ])||void 0===eH?void 0:eH.camera;if(eW)return eW;return"environment"},get currentStep(){return this.curStep},set currentStep(val){this.curStep=+val},set resizedToBorderScale(param){var eq=param.width,e$=param.height;this.resizedToBorder.width=+eq,this.resizedToBorder.height=+e$},get resizedToBorderScale(){return{width:this.resizedToBorder.width,height:this.resizedToBorder.height}},get hasFrontStep(){return -1!==this.config.steps.findIndex(function(en){return"front"===en.type})},calculateIsMirroring:function(){this.isMirroring="user"===this.currentStepObj.camera||!this.isMobile},dropSizes:function(){this.baseWidth=1600,this.baseHeight=1600,this.resizedCanvasSizes={width:0,height:0},this.videoCanvasSizes={width:0,height:0},this.cropResizedSize={width:0,height:0},this.cropFaceSize={width:0,height:0},this.cropSize={width:0,height:0},this.offsetsFace={left:0,top:0},this.offsetsResized={left:0,top:0},this.offsets={left:0,top:0}},dropKeys:function(){if(this.keys={pdf417key:"",imageProcessingKey:"",commonLicenseKey:""},delete this.licenseKeyError,this.config.licenseKey)try{this.keys=JSON.parse(atob(this.config.licenseKey))}catch(en){this.licenseKeyError="Invalid License Key"}},dropMediaDevices:function(){this.stream=null,this.track=null,this.videoLoading=!1,this.invertFace=!1,this.isDetectFace=!1},dropState:function(){this.isVideoCapture=!1,this.isStarted=!1,this.steps=[],this.curStep=-1,this.type=0,this.loopFrame=!1},dropCounters:function(){this.sizeK=1.56},fillSteps:function(){this.type=eo.Z.idByName(this.config.types[0]),this.config.steps=this.config.documentTypes[this.config.types[0]],this.steps=Object.values(this.config.steps).map(function(en){return eh.Z.createStep(en)})},setMRZParsedResults:function(en){this.currentStepObj.mrzText=en.mrzText},updateRealFaceTurnSide:function(){this.realFaceTurnSide=eI(0,1)},init:function(){this.dropKeys(),this.resetStats(),this.dropSizes(),this.resetHints(),this.dropMediaDevices(),this.dropState(),this.fillSteps(),this.capturingMode="processImage5",this.showForceCapturingBtn=!1,this.isRealFaceAvailable=!0,this.allowedTypesIds=eo.Z.idsByNames(this.config.types),this.loggerController=new ed,this.metaData=new ey(this.VERSION),this.imageFormat=ew()?"webp":"jpeg",this.networkUrl=this.config.useCDN?eE:"".concat(this.config.networkUrl)}};let eK=eC},1263:(en,er,ei)=>{ei.d(er,{Z:()=>ej});var eo={distanceBetweenPoints:function(en,er){return Math.sqrt(Math.pow(en[0]-er[0],2)+Math.pow(en[1]-er[1],2))},distanceBetweenPointsX:function(en,er){return Math.sqrt(Math.pow(en[0]-er[0],2))},distanceBetweenPointsXoR:function(en,er){return Math.trunc(Math.sqrt(Math.abs(en[0]-er[0]^2+(en[1]-er[1])^2)))},sizeByTwoPoints:function(en,er){return(er[0]-en[0])*(er[1]-en[1])},rectCenter:function(en,er){return[en[0]+(er[0]-en[0])/2,en[1]+(er[1]-en[1])/2]},angleBetweenTwoVectors:function(en,er){var ei=en.reduce(function(en,ei,eo){return en+ei*er[eo]},0),eo=function(en){return Math.sqrt(en.map(function(en){return Math.pow(en,2)}).reduce(function(en,er){return en+er}))};return 180*Math.acos(ei/(eo(en)*eo(er)))/Math.PI},triangleArea:function(en,er,ei){var eo=(en+er+ei)/2;return Math.sqrt(eo*(eo-en)*(eo-er)*(eo-ei))}};let ea=eo;var es=ei(417),eu=ei(814),ec=ei(5467),ef=ei(683),eA=ei(286);function ed(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function eh(en){for(var er=1;er<arguments.length;er++){var ei=null!=arguments[er]?arguments[er]:{},eo=Object.keys(ei);"function"==typeof Object.getOwnPropertySymbols&&(eo=eo.concat(Object.getOwnPropertySymbols(ei).filter(function(en){return Object.getOwnPropertyDescriptor(ei,en).enumerable}))),eo.forEach(function(er){ed(en,er,ei[er])})}return en}function ep(en,er){var ei=Object.keys(en);if(Object.getOwnPropertySymbols){var eo=Object.getOwnPropertySymbols(en);er&&(eo=eo.filter(function(er){return Object.getOwnPropertyDescriptor(en,er).enumerable})),ei.push.apply(ei,eo)}return ei}function eg(en,er){return er=null!=er?er:{},Object.getOwnPropertyDescriptors?Object.defineProperties(en,Object.getOwnPropertyDescriptors(er)):ep(Object(er)).forEach(function(ei){Object.defineProperty(en,ei,Object.getOwnPropertyDescriptor(er,ei))}),en}var eb={pdf:function(en){return en.init(ea,eu.Z.minPDFframes,eu.Z.cropSize,ec.ZP.ui.canvas.borderCanvas)},face:function(en){return en.init(ea,ef.ZP)},docDetector:function(en){return en.init(ea,es.ZP)},barcode:function(en){return en.init({base64ToArrayBuffer:eA.RG,getDataFromBase64Img:eA.uH})}},em=function(en){return en in eb};let ey=eg(eh({},eb),{hasModule:em});function ev(en,er){(null==er||er>en.length)&&(er=en.length);for(var ei=0,eo=Array(er);ei<er;ei++)eo[ei]=en[ei];return eo}function eI(en){if(Array.isArray(en))return en}function ew(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function eE(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){ew(es,eo,ea,eu,ec,"next",en)}function ec(en){ew(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function eC(en,er){var ei,eo,ea=null==en?null:"undefined"!=typeof Symbol&&en[Symbol.iterator]||en["@@iterator"];if(null!=ea){var es=[],eu=!0,ec=!1;try{for(ea=ea.call(en);!(eu=(ei=ea.next()).done)&&(es.push(ei.value),!er||es.length!==er);eu=!0);}catch(en){ec=!0,eo=en}finally{try{eu||null==ea.return||ea.return()}finally{if(ec)throw eo}}return es}}function eT(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function eS(en,er){return eI(en)||eC(en,er)||eB(en,er)||eT()}function eB(en,er){if(en){if("string"==typeof en)return ev(en,er);var ei=Object.prototype.toString.call(en).slice(8,-1);if("Object"===ei&&en.constructor&&(ei=en.constructor.name),"Map"===ei||"Set"===ei)return Array.from(ei);if("Arguments"===ei||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ei))return ev(en,er)}}function ex(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var e_={type:null,angles:null,blazeFace:null,meshFace:null,classLocal:null},eD={mrz:null,pdf:null,face:null,barcode:null,docDetector:null,heic:null},eP=function(en,er){return Object.keys(en).includes(er)},eO=function(en,er){var ei="model"===en.toLowerCase()?e_:eD;return eP(ei,er)?ei:null},ek=function(en,er){if("module"===en.toLowerCase()){var ei=eO("module",er)[er];ey.hasModule(er)&&ey[er](ei)}},eQ=function(en,er,ei){eO(en,er)[er]=ei,ei instanceof Promise?ei.then(function(){return ek(en,er)}):ek(en,er)},eM=function(en,er){return!!eO(en,er)[er]},eF=function(en,er,ei){for(var eo=arguments.length,ea=Array(eo>3?eo-3:0),es=3;es<eo;es++)ea[es-3]=arguments[es];var eu=eO(en,er)[er];if(!eu)return!1;var ec=eu[ei];return"function"==typeof ec?ec.apply(eu,ea):ec},eN=function(){var en=eE(function(en,er,ei){var eo,ea,es,eu,ec,ef,eA,ed=arguments;return ex(this,function(eh){switch(eh.label){case 0:for(ea=Array((eo=ed.length)>3?eo-3:0),es=3;es<eo;es++)ea[es-3]=ed[es];if(!(eu=eO(en,er)[er]))return[2,!1];if(!(eu instanceof Promise))return[3,2];return[4,eu];case 1:return[2,"function"==typeof(ef=(ec=eh.sent())[ei])?ef.apply(ec,ea):ef];case 2:return[2,"function"==typeof(eA=eu[ei])?eA.apply(eu,ea):eA]}})});return function(er,ei,eo){return en.apply(this,arguments)}}(),eL=function(en,er){return!(eO(en,er)[er]instanceof Promise)},eR=function(en,er,ei){eO(en,er)[er].then(function(){ei()})},eG=function(en,er){var ei=!1;return eM("module",en)&&(ei=er in eO("module",en)),ei},eU=function(){var en={pdf:eu.Z.cropSize,mrz:eu.Z.cropSize,docDetector:eu.Z.cropResizedSize,face:eu.Z.cropFaceSize},er=Object.keys(en);return Object.entries(eD).filter(function(en){var ei=eS(en,2),eo=ei[0];return!!ei[1]&&er.includes(eo)}).map(function(){var er=eE(function(er){var ei,eo,ea,es,ec,ef,eA;return ex(this,function(ed){return eo=(ei=eS(er,2))[0],ea=ei[1],ec=(es=en[eo]).width,ef=es.height,["pdf"].includes(eo)&&ea.setSizes(ec,ef),eA="face"===eo&&!eu.Z.isRealFaceAvailable&&"face"===eu.Z.currentStepType,("face"!==eo||eA)&&(ea instanceof Promise?ea.then(function(en){return en.allocate(ec,ef)}):ea.allocate(ec,ef)),[2]})});return function(en){return er.apply(this,arguments)}}())};let ej={isExist:eM,isLoaded:eL,setModule:eQ,execute:eF,asyncExecute:eN,addCallback:eR,existPropertyInModule:eG,allocateAll:eU}},5072:(en,er,ei)=>{ei.d(er,{Z:()=>ea});var eo={items:[{name:"ID",id:1,nName:"",humanName:"Driver's License or ID card"},{name:"Passport",id:2,nName:"passp",humanName:"Passport"},{name:"PassportCard",id:3,nName:"passpcard",humanName:"Passport Card"},{name:"GreenCard",id:6,nName:"gc",humanName:"Green Card or Employment Authorization"},{name:"InternationalId",id:7,nName:"iid",humanName:"International ID"},{name:"VIN",id:8,nName:"vin",humanName:"Vehicle Identification Number"},{name:"Barcode",id:9,nName:"barcode",humanName:"1-D and 2-D Barcodes"},{name:"FaceAuthorization",id:10,nName:"faceauth",humanName:"Face Authorization"}],get length(){return this.items.length},ids:function(){return this.items.map(function(en){return en.id})},names:function(){return this.items.map(function(en){return en.name})},nameById:function(en){var er=this.items.filter(function(er){return er.id===en});return er.length?er[0].name:""},humanNameById:function(en){var er=this.items.filter(function(er){return er.id===en});return er.length?er[0].humanName:""},humanNames:function(){var en=[];return this.items.forEach(function(er){en[er.id]=er.humanName}),en},humanNameByName:function(en){var er=en.toLowerCase(),ei=this.items.find(function(en){return en.name.toLowerCase()===er});return ei?ei.humanName:""},setHumanName:function(en){var er=this;Object.keys(en).forEach(function(ei){er.items.find(function(en){return en.name===ei}).humanName=en[ei]})},idByName:function(en){var er=en.toLowerCase();if(this.items&&this.items.length>0){var ei=this.items.find(function(en){return(null==en?void 0:en.name.toLowerCase())===er});return(null==ei?void 0:ei.id)||0}return 0},idsByNames:function(en){return en.map(this.idByName.bind(this))},recordById:function(en){if(0===en)return null;for(var er=0;er<=this.length;er+=1)if(this.items[er].id===en)return this.items[er];return null}};let ea=eo},8944:(en,er,ei)=>{ei.d(er,{J3:()=>eo,_2:()=>eu,i0:()=>ec});var eo=["en","es"],ea={es:{errorCodes:{mrz:"Advertencia: <br/>MRZ no pudo ser le\xeddo (o reconocido)",barcode:"Advertencia: <br/>No se pudieron leer los datos del c\xf3digo de barras.<br/>Intenta tomar una imagen de mayor calidad.",heic:"El archivo HEIC est\xe1 da\xf1ado",fileTypeHeic:"Error de tipo de archivo. Solo se admiten los tipos de archivo JPEG, PNG y HEIC.",fileType:"Error de tipo de archivo. Solo se admiten los tipos de archivo JPEG y PNG.",disableStepFileUpload:"Se debe utilizar un dispositivo con una c\xe1mara para capturar esta imagen",notAllowedDocument:"Este tipo de documento no est\xe1 permitido",frontSide:"Advertencia: <br/>No se pudo leer la parte frontal del documento. <br/>Intenta tomar una imagen de mayor calidad",default:"Lo sentimos, pero algo sali\xf3 mal. Int\xe9ntalo de nuevo",CameraNotFound:"No se encontr\xf3 ninguna c\xe1mara en su dispositivo",CameraNotAllowed:"Se le ha denegado el permiso para acceder a la c\xe1mara",CameraNotAvailable:"La c\xe1mara no est\xe1 disponible en este momento",CameraInUse:"La c\xe1mara ya est\xe1 en uso",MediaDevicesNotSupported:"Tu navegador no es compatible",lowImageResolution:"La resoluci\xf3n de la imagen cargada es demasiado baja"},hintTexts:{front:"Coloque el anverso del documento",frontMRZ:"Haga zoom para capturar el c\xf3digo en la parte inferior",mrz:"Haga zoom para capturar el c\xf3digo en la parte posterior",capturing:"Coloque el anverso del documento",pdf:"Coloque el c\xf3digo de barras dentro del marco",back:"Da la vuelta a tu documento",barcode:"Coloque el c\xf3digo de barras dentro del marco",hold:"Sostener el **placeholder** lado del documento <br> dentro de la caja",dontSee:"No te veo",dontMove:"No te muevas",turnFaceLeft:"Gira la cara a la izquierda",turnFaceRight:"Gira la cara a la derecha",turnFaceUp:"Levanta tu cara",turnFaceDown:"Bajar la cara",faceCam:"Enfr\xe9ntate a la c\xe1mara",camAway:"Mover la c\xe1mara m\xe1s lejos",moveCenter:"Mover al centro",comeCloser:"Ac\xe9rcate",documentCloser:"Acerque el documento",holdCamera:"Mant\xe9ngase firme, analizando el documento <br>"},keyErrors:["La clave de licencia ha caducado","Clave de licencia no v\xe1lida"],camera:{loading:"Carga",awaiting:"A la espera de la respuesta de la c\xe1mara"},general:{documentType:"Su Tipo de Documento es",selectDocumentTypeText:"Seleccionar Tipo de Documento",changeBtn:"Cambiar",correctBtn:"Corregir",cancelBtn:"Cancelar",doneBtn:"Hecho",closeBtn:"Cerrar",retakeBtn:"VOLVER",continueBtn:"CONTINUAR",submitBtn:"ENVIAR",resetAllStepsBtn:"Restablecer todos los pasos",btnUploader:"Cambiar a cargador manual",btnCamera:"Cambiar al modo de c\xe1mara",pressToUpdateText:"Pulse para actualizar",pressToUpdateTextSuccess:"Pulse para actualizar"},uploaderDescription:{textFront:"Haga clic aqu\xed para cargar el frente de su identificaci\xf3n",textBack:"Haga clic aqu\xed para cargar el reverso de una identificaci\xf3n",textFace:"Haga clic aqu\xed para cargar una foto de su rostro",textPdf:"Haga clic aqu\xed para cargar el reverso de una identificaci\xf3n",textMrz:"Haga clic aqu\xed para cargar una foto de su documento'",textFrontBack:"Aseg\xfarese de que su identificaci\xf3n llene toda la pantalla de la c\xe1mara con poco o ning\xfan fondo.",textPass:"Aseg\xfarese de que su identificaci\xf3n llene toda la pantalla de la c\xe1mara <br> con poco o ning\xfan fondo, y que se incluya el c\xf3digo MRZ completo",textFacePosition:"Coloque su rostro para ocupar toda la pantalla de la c\xe1mara con poco o ning\xfan fondo."},documentsTypes:{ID:"Licencia de Conducir",Passport:"Pasaporte",PassportCard:"Tarjeta de Pasaporte",GreenCard:"Tarjeta Verde o Autorizaci\xf3n de Empleo",InternationalId:"Identificaci\xf3n Internacional"},spinnerText:{warmup:{top:"La red neuronal se est\xe1 calentando",bottom:"La captura de documentos estar\xe1 lista para su uso en breve"}}},en:{errorCodes:{mrz:"Warning: <br/>MRZ could not be read (or recognized)",barcode:"Warning: <br/>Barcode data could not be read.<br/>Try taking a higher quality image.",heic:"HEIC file incorrupted",fileType:"Error file type. Only jpeg and png supported.",fileTypeHeic:"Error file type. Only jpeg, png and heic supported.",disableStepFileUpload:"A device with a camera must be used to capture this image",notAllowedDocument:"This document type is not allowed",frontSide:"Warning: <br/>Front of the document could not be read. <br/>Try taking a higher quality image",default:"We're sorry, but something went wrong. Please try again",CameraNotFound:"No camera was found on your device",CameraNotAllowed:"You have denied camera access permission",CameraNotAvailable:"Camera is not available at this moment",CameraInUse:"Camera is already in use",MediaDevicesNotSupported:"Your browser is not supported",lowImageResolution:"The resolution of the uploaded image is too low"},hintTexts:{front:"Position the front of the document",frontMRZ:"Zoom in to capture code at bottom",mrz:"Zoom in to capture code on back side",capturing:"Position the front of the document",pdf:"Position the barcode inside the frame",back:"Turn around your document",barcode:"Position the barcode inside the frame",hold:"Hold the **placeholder** side of the document <br> inside the box",dontSee:"I don't see you",dontMove:"Don't move",turnFaceLeft:"Turn your face left",turnFaceRight:"Turn your face right",turnFaceUp:"Turn your face up",turnFaceDown:"Turn your face down",faceCam:"Face the camera",camAway:"Move camera further away",moveCenter:"Move to the center",comeCloser:"Come closer",documentCloser:"Bring the document closer",holdCamera:"Hold steady, analyzing document <br>"},keyErrors:["License Key has expired","Invalid License Key"],camera:{loading:"Loading",awaiting:"Awaiting camera response"},general:{documentType:"Your document type is",selectDocumentTypeText:"Select Document Type",changeBtn:"Change",correctBtn:"Correct",cancelBtn:"Cancel",doneBtn:"Done",closeBtn:"CLOSE",retakeBtn:"Retake",continueBtn:"CONTINUE",submitBtn:"SUBMIT",resetAllStepsBtn:"Reset all steps",btnUploader:"Switch to manual uploader",btnCamera:"Switch to camera mode",pressToUpdateText:"Press to update",pressToUpdateTextSuccess:"Press to update"},documentsTypes:{ID:"Driver's License",Passport:"Passport",PassportCard:"Passport Card",GreenCard:"Green Card or Employment Authorization",InternationalId:"International ID"},uploaderDescription:{textFront:"Click here to upload the front of your ID",textBack:"Click here to upload the back of your ID",textFace:"Click here to upload a photo of your face",textPdf:"Click here to upload the back of a ID",textMrz:"Click here to upload a photo of your document",textFrontBack:"Please make sure your ID fills up the entire <br> camera screen with little to no background.",textPass:"Please make sure your ID fills up the entire camera screen <br> with little to no background, and the full MRZ code is included.",textFacePosition:"Please position your face to take up <br> the full camera screen with little to no background."},spinnerText:{warmup:{top:"Neural network is warming up",bottom:"Document capture will be ready to use shortly"}}}},es=ea.en,eu=function(en){if(en){var er=en.toLowerCase(),ei=Object.keys(ea).includes(er)?er:"en";es=ea[ei]}else es=ea.en},ec=function(en){return en?es[en]:es}},4654:(en,er,ei)=>{ei.d(er,{B:()=>ea,h:()=>eo});var eo={center:{description:"Place the document type selection modal in the component's middle."},bottom:{description:"Place the document type selection modal in the component's bottom."},top:{description:"Place the document type selection modal in the component's top."},"sticky-top":{description:"Sticks the document type selection modal in the component's top."},"sticky-bottom":{description:"Sticks the document type selection modal in the component's bottom."}},ea={center:"vc-dialog-bottom--center",bottom:"vc-dialog-bottom--bottom",top:"vc-dialog-bottom--top","sticky-top":"vc-dialog-bottom--sticky-top","sticky-bottom":"vc-dialog-bottom--sticky-bottom"}},404:(en,er,ei)=>{ei.d(er,{Z:()=>eo});let eo={mrz:{id:1,camera:"environment",name:"MRZ",time:5,core:["mrz"],description:"detection, capture and parsing of the mrz-code of a document."},front:{id:2,camera:"environment",name:"Front Scan",time:5,max:.15,core:["front","classLocal"],description:"capture front of a document without analysis."},pdf:{id:3,camera:"environment",name:"PDF",time:5,core:["pdf","classLocal"],description:"detection and capture of pdf417 of a document."},face:{id:5,camera:"user",name:"Face",time:10,max:.33,core:["face"],description:"detection and capture of a face using the front camera."},barcode:{id:6,camera:"environment",name:"Barcode",time:5,core:["barcode"],description:"detection, capture and parsing 1 dimensional (barcodes) or 2 dimensional (qr codes)."},photo:{id:7,camera:"environment",name:"Photo",time:5,core:[],description:"Take a photo."}}},528:(en,er,ei)=>{ei.d(er,{B$:()=>eI,BX:()=>eg,Br:()=>em,DN:()=>eE,SI:()=>ev,Sf:()=>eb,VD:()=>eA,uR:()=>eh,vL:()=>ew,wz:()=>ed});var eo=ei(814),ea=ei(5467);function es(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function eu(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var eu=en.apply(er,ei);function ec(en){es(eu,eo,ea,ec,ef,"next",en)}function ef(en){es(eu,eo,ea,ec,ef,"throw",en)}ec(void 0)})}}function ec(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var ef=new ImageData(new Uint8ClampedArray([0,0,0,0]),1,1),eA=function(){if(eo.Z.origData)return eo.Z.origData;try{var en=eo.Z.offsets,er=en.left,ei=en.top,es=eo.Z.cropSize,eu=es.width,ec=es.height;return eo.Z.origData=ea.ZP.ui.canvas.videoCtx.getImageData(er,ei,eu,ec),eo.Z.origData}catch(en){return new ImageData(1,1)}},ed=function(){if(eo.Z.resizedData)return eo.Z.resizedData;var en=eo.Z.offsetsResized,er=en.left,ei=en.top,es=eo.Z.cropResizedSize,eu=es.width,ec=es.height;return 0===eu?eo.Z.resizedData||ef:(eo.Z.resizedData=ea.ZP.ui.canvas.resizedCtx.getImageData(er,ei,eu,ec),eo.Z.resizedData)},eh=function(){var en=eu(function(){return ec(this,function(en){return ea.ZP.ui.canvas.drawVideo(),eo.Z.origData=null,[2,eA()]})});return function(){return en.apply(this,arguments)}}(),ep=function(en,er){var ei=c.offsets,eo=ei.left,ea=ei.top,es=c.cropSize,eu=es.width,ec=es.height,ef=2*en,eA=2*er,ed=Math.trunc(eu/2)-er+eo,eh=Math.trunc(ec/2)-en+ea;return Ui.ui.canvas.videoCtx.getImageData(ed,eh,eA,ef)},eg=function(){return ea.ZP.ui.canvas.videoCanvas.toDataURL("image/jpeg")},eb=function(en){var er=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"jpeg",ei=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.95;return Promise.resolve(en.toDataURL("image/".concat(er),ei))},em=function(en){var er=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"jpeg",ei=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.95;return new Promise(function(eo){en.toBlob(function(en){return eo(en)},"image/".concat(er),ei)})},ey=function(en){var er=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"testCanvas",ei=function(){return en instanceof HTMLVideoElement?{width:en.videoWidth,height:en.videoHeight}:en}(),eo=ei.width,ea=ei.height,es=document.getElementById(er);es||((es=document.createElement("canvas")).id=er,es.width=eo,es.height=ea,document.body.append(es)),es.width=eo,es.height=ea;var eu=es.getContext("2d");return eu&&(en instanceof ImageData?eu.putImageData(en,0,0):eu.drawImage(en,0,0)),eu},ev=function(en,er,ei,eo){var ea=er.getContext("2d",{willReadFrequently:!0});if(!ea)throw Error("No destination element");var es=en instanceof HTMLVideoElement?en.videoWidth:en.width,eu=en instanceof HTMLVideoElement?en.videoHeight:en.height;return ea.drawImage(en,(null==ei?void 0:ei.left)||0,(null==ei?void 0:ei.top)||0,(null==eo?void 0:eo.width)||es,(null==eo?void 0:eo.height)||eu,0,0,er.width,er.height),ea.getImageData(0,0,er.width,er.height)},eI=function(en,er){var ei=er.getContext("2d",{willReadFrequently:!0});if(!ei)throw Error("No destination element");var eo=en instanceof HTMLVideoElement?en.videoWidth:en.width,ea=en instanceof HTMLVideoElement?en.videoHeight:en.height,es=eo/ea,eu=er.width/er.height,ec={x:0,y:0,width:eo,height:ea},ef={x:0,y:0,width:er.width,height:er.height};es>eu?(ef.height=~~(er.width/es),ef.y=(er.height-ef.height)/2):(ef.width=~~(ef.height*es),ef.x=(er.width-ef.width)/2),ei.drawImage(en,0,0,eo,ea,ef.x,ef.y,ef.width,ef.height);var eA=ei.getImageData(0,0,er.width,er.height);return ec.x-=ef.x*ec.width/ef.width,ec.y-=ef.y*ec.height/ef.height,ec.width=er.width*ec.width/ef.width,ec.height=er.height*ec.height/ef.height,{crop:ec,resized:eA}},ew=function(en,er){var ei=document.createElement("canvas");return ei.id=en,ei.width=er.width,ei.height=er.height,ei},eE=function(en,er){var ei=ew(en,er);return ei.getContext("2d").drawImage(er,0,0),ei},eC={getOrigData:eA,getResizedData:ed,getBase64Data:eg,cropAndResize:eI}},683:(en,er,ei)=>{ei.d(er,{Di:()=>eu,Fv:()=>es,ZP:()=>ec,eQ:()=>eo}),function(en){en[en.STANDART=255]="STANDART",en[en.HALF=127.5]="HALF",en[en.WITHOUT=1]="WITHOUT"}(eo||(eo={}));var eo,ea=function(en,er,ei,eo){for(var ea=0;ea<ei;++ea)for(var es=0;es<eo;++es)en[ea*eo+es]=(2*er[4*ea*eo+4*es+0]+7*er[4*ea*eo+4*es+1]+1*er[4*ea*eo+4*es+2])/10},es=function(en){for(var er=arguments.length>1&&void 0!==arguments[1]?arguments[1]:eo.WITHOUT,ei=0;ei<en.length;ei+=1)en[ei]/=er;return en},eu=function(en){for(var er=arguments.length>1&&void 0!==arguments[1]?arguments[1]:eo.WITHOUT,ei=en.width*en.height,ea=new Float32Array(3*ei),es=0;es<ei;es+=1){var eu=es<<2,ec=3*es;ea[ec]=en.data[eu]/er,ea[ec+1]=en.data[eu+1]/er,ea[ec+2]=en.data[eu+2]/er}return ea};let ec={rgbaToGrayscale:ea}},6960:(en,er,ei)=>{ei.d(er,{ew:()=>eo,jA:()=>em});var eo=function(en){var er=Math.abs(Math.trunc(255-en));return er>200&&(er=200),er<50&&(er=50),"rgba(255,215,".concat(er.toString(),",0.3)")},ea=function(en){var er,ei=arguments.length>1&&void 0!==arguments[1]?arguments[1]:120,eo=1,ea=en.width*en.height,es=new Uint8ClampedArray(ea),eu=0,ec=0,ef=0,eA=0;for(er=0;er<ea;er+=1){var ed=er<<2;(eA=77*(eu=en.data[ed+0])+151*(ec=en.data[ed+1])+28*(ef=en.data[ed+2])>>8)<ei&&(es[er]=eo)}return es},es=function(en,er){return en-er},eu=function(en,er){return en+er},ec=function(en,er){return en%er>1?en-1:-1},ef=function(en,er){return(en+1)%er>=0?en+1:-1},eA=function(en,er){return ec(es(en,er),er)},ed=function(en,er){return ef(es(en,er),er)},eh=function(en,er){return ec(eu(en,er),er)},ep=function(en,er){return ef(eu(en,er),er)},eg=function(en,er){return[eA,es,ed,ef,ep,eu,eh,ec].map(function(ei){return ei(en,er)})},eb=function(en,er){var ei,eo=[],ea=[],es=en.length,eu=0,ec=function(){for(var ei=function(er){return er>0&&0!==en[er]&&er<es};eo.length;){var ec=eo.pop();if(!ec)break;en[ec]=0,ea[eu].add(ec),eg(ec,er).forEach(function(en){ei(en)&&eo.push(en)})}};for(ei=0;ei<es;ei+=1)0!==en[ei]&&(ea[eu]=new Set,eo.push(ei),ec(),eu+=1);return ea},em=function(en,er){var ei=er.baseWidth,eo=er.baseHeight,ea=en,es=en;return ei>eo&&(es=(ea=en)*eo/ei),eo>ei&&(ea=(es=en)*ei/eo),{width:Math.trunc(ea),height:Math.trunc(es)}},ey=function(en,er){var ei=en.width/en.height,eo=er.width/er.height,ea={x:0,y:0,width:er.width,height:er.height};return ei>eo?(ea.height=~~(er.width/ei),ea.y=(er.height-ea.height)/2):(ea.width=~~(ea.height*ei),ea.x=(er.width-ea.width)/2),ea}},4295:(en,er,ei)=>{ei.d(er,{Z:()=>eu});var eo=ei(814),ea=ei(5467),es=ei(8944);function eu(){var en=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,er=(0,es.i0)("keyErrors"),ei=+en,eu=ei>=0&&ei<=er.length;eo.Z.licenseKeyError=eu?er[ei]:er[0],ea.ZP.ui.updateKeyError()}},417:(en,er,ei)=>{ei.d(er,{ZP:()=>ec,lv:()=>eu});var eo=function(){for(var en=arguments.length,er=Array(en),ei=0;ei<en;ei++)er[ei]=arguments[ei];var eo=function(en,er){return en+(Number.isFinite(er)?er:0)},ea=Array.isArray(er[0])?er[0]:er,es=ea.length;return Array.isArray(ea)&&ea.length?ea.reduce(eo,0)/es:0},ea={unbiased:function(en){return Array.isArray(en)?en.length-1:-1},biased:function(en){return Array.isArray(en)?en.length+1:-1},uncorrected:function(en){return Array.isArray(en)?en.length:-1}},es=function(en){var er=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"unbiased",ei=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(!Array.isArray(en)||!en.length)return -1;var es=eo(en),eu=ea[er](en),ec=Math.sqrt(en.reduce(function(en,er){return en+Math.pow(es-er,2)},0)/eu);return ei>-1?+ec.toFixed(ei):ec},eu=function(en,er){return Math.floor(Math.random()*(er-en+1)+en)};let ec={randomIntFromInterval:eu,mean:eo,STD:es}},286:(en,er,ei)=>{ei.d(er,{RG:()=>eA,Ue:()=>eb,uH:()=>ed});var eo=function(en){return window.btoa(en)},ea=function(en){return window.atob(en)},es=function(en){return JSON.stringify(en)},eu=function(en){return JSON.parse(en)},ec=function(en){return eo(es(en))},ef=function(en){return eu(ea(en))},eA=function(en){for(var er=ea(en),ei=er.length,eo=new Uint8Array(new ArrayBuffer(ei)),es=0;es<ei;es+=1)eo[es]=er.charCodeAt(es);return eo},ed=function(en){var er=";base64,",ei=en.indexOf(er)+er.length;return en.substring(ei)},eh=function(en){var er=en.match(/([A-Z]?[^A-Z]*)/g);return(null==er?void 0:er.length)?er.slice(0,-1):[en]},ep=function(en){return eh(en).join(" ")},eg=function(en){return en.replace(/(<([^>]+)>)/gi,"")},eb=function(en){return en.trim().toLowerCase()}},7728:(en,er,ei)=>{ei.d(er,{Z:()=>eu});var eo=ei(814),ea=ei(5072),es=function(en){var er=eo.Z.allowedTypesIds;en.clearList(),er.map(function(en){return ea.Z.recordById(en)}).forEach(function(er){er&&en.addType(er)}),en.render()};let eu=es},9910:(en,er,ei)=>{ei.d(er,{Z:()=>ef});var eo=ei(404);function ea(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function es(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function eu(en,er,ei){return er&&es(en.prototype,er),ei&&es(en,ei),en}function ec(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}var ef=function(){"use strict";function en(er,ei,eo,es,eu){var ef=this;if(ea(this,en),ec(this,"blob",void 0),ec(this,"errorCode",void 0),ec(this,"mrzText",void 0),ec(this,"mrzImg",void 0),ec(this,"mrzBlob",void 0),ec(this,"trackString",void 0),ec(this,"err",void 0),ec(this,"text",void 0),ec(this,"isAuto",void 0),ec(this,"source",void 0),ec(this,"configs",[]),ec(this,"name",void 0),ec(this,"type",void 0),ec(this,"camera",void 0),ec(this,"img",void 0),"string"==typeof er)this.name=er,this.type=ei||"front",this.camera=eo||"environment",this.img=eu||null;else{var eA=er.name,ed=er.type,eh=er.camera,ep=er.img,eg=er.err,eb=er.text,em=er.configs;this.name=eA,this.type=ed,this.camera=eh,this.img=ep,eg&&(this.err=eg),eb&&(this.text=eb),em&&em.length&&em.forEach(function(en){ef.setConfig(en.name,en.value)})}}return eu(en,[{key:"setConfig",value:function(en,er){var ei=this.hasConfig(en);ei?ei.value=er:this.configs.push({name:en,value:er})}},{key:"hasConfig",value:function(en){return this.configs.find(function(er){return er.name===en})}},{key:"getConfig",value:function(en){var er=this.configs.find(function(er){return er.name===en});return er?er.value:null}},{key:"isShowManualSwitchButton",get:function(){var en=this.getConfig("mode"),er=!0;return en&&(er=!!(en.uploader&&en.video)),er}},{key:"capturingMode",get:function(){var en=this.getConfig("mode"),er={uploader:!0,video:!0};return en&&(er.video="boolean"!=typeof en.video||en.video,er.uploader="boolean"!=typeof en.uploader||en.uploader),er}},{key:"prepareStepForCallback",value:function(en){var er={index:en+1,img:this.img,blob:this.blob,type:this.type,isAuto:this.isAuto,source:this.source?this.source:""};return this.trackString&&(er.trackString=this.trackString),this.mrzText&&(er.mrzText=this.mrzText),this.mrzImg&&(er.mrzImg=this.mrzImg),this.mrzBlob&&(er.mrzBlob=this.mrzBlob),this.text&&(er.text=this.text),er}}],[{key:"createStep",value:function(er){var ei=Object.keys(er).filter(function(en){var er=en.toLowerCase().trim();return"type"!==er&&"camera"!==er&&"name"!==er&&er}),ea=er.type,es=er.camera,eu=er.name,ec={type:ea,img:null,camera:es||eo.Z[ea].camera,name:eu||eo.Z[ea].name,err:null,text:"",time:eo.Z[ea].time,configs:[]};return ei.forEach(function(en){ec.configs&&en in er&&ec.configs.push({name:en,value:er[en]})}),new en(ec)}}]),en}()},6665:(en,er,ei)=>{function eo(){return WebAssembly.validate(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]))}function ea(en,er){(null==er||er>en.length)&&(er=en.length);for(var ei=0,eo=Array(er);ei<er;ei++)eo[ei]=en[ei];return eo}function es(en){if(Array.isArray(en))return ea(en)}function eu(en){if("undefined"!=typeof Symbol&&null!=en[Symbol.iterator]||null!=en["@@iterator"])return Array.from(en)}function ec(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ef(en){return es(en)||eu(en)||eA(en)||ec()}function eA(en,er){if(en){if("string"==typeof en)return ea(en,er);var ei=Object.prototype.toString.call(en).slice(8,-1);if("Object"===ei&&en.constructor&&(ei=en.constructor.name),"Map"===ei||"Set"===ei)return Array.from(ei);if("Arguments"===ei||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ei))return ea(en,er)}}ei.d(er,{B:()=>ed,e:()=>eb});var ed={simdSupport:!1,wasmSupport:!1,mediaSupport:!1,secureConnection:!1},eh=function(){return eo()},ep=function(){var en=!1;try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var er,ei=[0,97,115,109,1,0,0,0],eo=new WebAssembly.Module((er=Uint8Array).of.apply(er,ef(ei)));eo instanceof WebAssembly.Module&&(en=new WebAssembly.Instance(eo) instanceof WebAssembly.Instance)}}catch(en){}return en},eg=function(){return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia&&"function"==typeof navigator.mediaDevices.getUserMedia&&navigator.mediaDevices.enumerateDevices&&"function"==typeof navigator.mediaDevices.enumerateDevices&&window.MediaStreamTrack&&"function"==typeof window.MediaStreamTrack},eb=function(){ed.wasmSupport=ep(),ed.mediaSupport=eg(),ed.secureConnection=eg(),ed.wasmSupport&&(ed.simdSupport=eh())}},8512:(en,er,ei)=>{ei.d(er,{Jo:()=>ev,ZP:()=>eE,b3:()=>em,u7:()=>ey});var eo,ea,es=ei(814),eu=ei(8944),ec=[],ef="idvc-loading-spinner",eA="VC-video",ed=function(){var en=document.getElementById("VC-loading");es.Z.videoLoading?null==en||en.classList.add("vc-loading-mask--enabled"):null==en||en.classList.remove("vc-loading-mask--enabled")},eh=function(en,er){var ei=(0,eu.i0)("camera");en.innerText=er in ei?ei[er]:er},ep=function(){var en=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",er=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";eo||(eo=document.getElementById("VC-loading-text-bottom")),ea||(ea=document.getElementById("VC-loading-text-top")),eh(eo,en),eh(ea,er)},eg=function(){var en=document.getElementById(eA);ec.length?en.classList.add("video--active"):en.classList.remove("video--active")},eb=function(){es.Z.videoLoading=!!ec.length,ed(),eg();var en=ec[ec.length-1];en?ep(en.bottomText,en.topText):ep()},em=function(){var en=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",er=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",ei={bottomText:en,topText:er};ec.push(ei),eb()},ey=function(){ec.pop(),eb()},ev=function(){ec=[],eb()},eI=function(){var en=document.getElementById(ef);null==en||en.classList.remove("v-none")},ew=function(){var en=document.getElementById(ef);null==en||en.classList.add("v-none")};let eE={addSpinnerState:em,removeSpinnerState:ey,clearState:ev,showSpinner:eI,hideSpinner:ew}},813:(en,er,ei)=>{var eo;ei.d(er,{z:()=>eo}),function(en){en.WASM="wasm",en.WEBGL="webgl"}(eo||(eo={}))},6955:(en,er,ei)=>{ei.d(er,{Z:()=>eb});var eo=ei(8736),ea=ei.n(eo),es=ei(813);function eu(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function ec(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function ec(en){eu(es,eo,ea,ec,ef,"next",en)}function ef(en){eu(es,eo,ea,ec,ef,"throw",en)}ec(void 0)})}}function ef(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function eA(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function ed(en,er,ei){return er&&eA(en.prototype,er),ei&&eA(en,ei),en}function eh(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function ep(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var eg=function(){"use strict";function en(){var er=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",ei=arguments.length>1&&void 0!==arguments[1]?arguments[1]:es.z.WASM,eo=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";ef(this,en),eh(this,"model",void 0),eh(this,"provider",void 0),eh(this,"loading",void 0),eh(this,"session",void 0),eh(this,"uri",void 0),this.model=er,this.provider=ei,this.loading=!1,this.session=null,this.uri="",eo&&(this.prepareUri(eo),this.initWasmPath()),this.model?this.init():this.initWasm()}return ed(en,[{key:"prepareUri",value:function(en){var er;en.includes("://")?er=new URL(en):(er=new URL(window.location.origin),er.href+="".concat(en,"/").replaceAll("//","/")),this.uri=er.href}},{key:"initWasmPath",value:function(){eo.env.wasm.wasmPaths=this.uri}},{key:"initWasm",value:function(){var en=this;return ec(function(){var er;return ep(this,function(ei){switch(ei.label){case 0:return ei.trys.push([0,2,,3]),[4,eo.InferenceSession.create("",{executionProviders:[en.provider],graphOptimizationLevel:"all",enableCpuMemArena:!0,enableMemPattern:!0})];case 1:return ei.sent(),[3,3];case 2:return er=ei.sent(),[3,3];case 3:return[2]}})})()}},{key:"init",value:function(){var en=this;return ec(function(){var er,ei,ea;return ep(this,function(es){switch(es.label){case 0:return en.loading=!0,[4,fetch("".concat(en.uri).concat(en.model))];case 1:if(!(er=es.sent()).ok)throw Error("Can't fetch remote resource");return[4,er.arrayBuffer()];case 2:ei=es.sent(),es.label=3;case 3:return es.trys.push([3,5,6,7]),[4,eo.InferenceSession.create(ei,{executionProviders:[en.provider],graphOptimizationLevel:"all",enableCpuMemArena:!0,enableMemPattern:!0})];case 4:return en.session=es.sent(),[3,7];case 5:if(ea=es.sent(),en.model)throw Error(ea);return[3,7];case 6:return en.loading=!1,[7];case 7:return[2]}})})()}}]),en}();let eb=eg},726:(en,er,ei)=>{var eo;ei.d(er,{m:()=>eo}),function(en){en[en.LEFT=0]="LEFT",en[en.RIGHT=1]="RIGHT"}(eo||(eo={}))},5467:(en,er,ei)=>{function eo(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function ea(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function es(en,er,ei){return er&&ea(en.prototype,er),ei&&ea(en,ei),en}function eu(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}ei.d(er,{ZP:()=>nQ,LY:()=>nk});var ec,ef="VC-force-btn",eA=function(){"use strict";function en(){eo(this,en),eu(this,"isShowing",!1),eu(this,"el",void 0),eu(this,"callback",null),this.el=document.getElementById(ef)}return es(en,[{key:"state",get:function(){return this.isShowing},set:function(en){this.isShowing=en}},{key:"addClickCallback",value:function(en){var er=this;this.callback=en,this.el.addEventListener("click",function(){er.callback&&er.callback()})}},{key:"setAvailable",value:function(en){this.state=en,en?this.el.style.display="flex":this.el.style.display="none"}}]),en}();let ed=eA;var eh=ei(814),ep=ei(6960),eg=ei(5072);function eb(en,er){(null==er||er>en.length)&&(er=en.length);for(var ei=0,eo=Array(er);ei<er;ei++)eo[ei]=en[ei];return eo}function em(en){if(Array.isArray(en))return en}function ey(en){if(Array.isArray(en))return eb(en)}function ev(en){if("undefined"!=typeof Symbol&&null!=en[Symbol.iterator]||null!=en["@@iterator"])return Array.from(en)}function eI(en,er){var ei,eo,ea=null==en?null:"undefined"!=typeof Symbol&&en[Symbol.iterator]||en["@@iterator"];if(null!=ea){var es=[],eu=!0,ec=!1;try{for(ea=ea.call(en);!(eu=(ei=ea.next()).done)&&(es.push(ei.value),!er||es.length!==er);eu=!0);}catch(en){ec=!0,eo=en}finally{try{eu||null==ea.return||ea.return()}finally{if(ec)throw eo}}return es}}function ew(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function eE(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function eC(en,er){return em(en)||eI(en,er)||eS(en,er)||ew()}function eT(en){return ey(en)||ev(en)||eS(en)||eE()}function eS(en,er){if(en){if("string"==typeof en)return eb(en,er);var ei=Object.prototype.toString.call(en).slice(8,-1);if("Object"===ei&&en.constructor&&(ei=en.constructor.name),"Map"===ei||"Set"===ei)return Array.from(ei);if("Arguments"===ei||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ei))return eb(en,er)}}var eB=function(){var en,er=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"div",ei=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,eo=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],ea=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,es=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],eu=document.createElement(er);return ei&&Object.keys(ei).length&&Object.entries(ei).forEach(function(en){var er=eC(en,2),ei=er[0],eo=er[1];"textContent"===ei&&(eu.textContent=eo.toString()),"boolean"==typeof eo?eo&&eu.setAttribute(ei,""):eu.setAttribute(ei,eo)}),(en=eu.classList).add.apply(en,eT(eo)),null!==ea&&ea instanceof HTMLElement&&ea.appendChild(eu),0!==es.length&&es.forEach(function(en){return eu.appendChild(en)}),eu},ex=function(en){return new Promise(function(er){var ei=document.createElement("script");ei.async=!0,ei.type="module",document.getElementsByTagName("head")[0].appendChild(ei),ei.onload=function(){return er(ei)},ei.src=en})};function e_(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function eD(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function eP(en,er,ei){return er&&eD(en.prototype,er),ei&&eD(en,ei),en}function eO(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}var ek=function(){"use strict";function en(er){e_(this,en),eO(this,"background",null),eO(this,"container",void 0),eO(this,"doneBtn",void 0),eO(this,"cancelBtn",void 0),this.background=er.background,this.container=document.getElementById(er.containerId),this.doneBtn=document.getElementById(er.doneBtnId),this.cancelBtn=document.getElementById(er.cancelBtnId)}return eP(en,[{key:"addDoneHandler",value:function(en){this.doneBtn.onclick=function(){return en()}}},{key:"addCancelHandler",value:function(en){this.cancelBtn.onclick=function(){return en()}}},{key:"hide",value:function(){this.background&&this.container&&(this.background.classList.add("d-none"),this.container.classList.add("d-none"))}},{key:"show",value:function(){this.background&&this.container&&(this.container.classList.remove("d-none"),this.background.classList.remove("d-none"))}}]),en}();let eQ=ek,eM='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-right" viewBox="0 0 16 16">\n <path fill-rule="evenodd" d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"/>\n</svg>\n';function eF(en){var er=en.docType,ei=en.id;return new CustomEvent("documentTypeSelected",{bubbles:!0,detail:{docType:er,id:ei}})}function eN(en){if(void 0===en)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return en}function eL(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function eR(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function eG(en,er,ei){return er&&eR(en.prototype,er),ei&&eR(en,ei),en}function eU(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function ej(en,er,ei){return(ej="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(en,er,ei){var eo=eW(en,er);if(eo){var ea=Object.getOwnPropertyDescriptor(eo,er);return ea.get?ea.get.call(ei||en):ea.value}})(en,er,ei||en)}function eV(en){return(eV=Object.setPrototypeOf?Object.getPrototypeOf:function(en){return en.__proto__||Object.getPrototypeOf(en)})(en)}function eH(en,er){if("function"!=typeof er&&null!==er)throw TypeError("Super expression must either be null or a function");en.prototype=Object.create(er&&er.prototype,{constructor:{value:en,writable:!0,configurable:!0}}),er&&eZ(en,er)}function ez(en,er){return er&&("object"===eq(er)||"function"==typeof er)?er:eN(en)}function eZ(en,er){return(eZ=Object.setPrototypeOf||function(en,er){return en.__proto__=er,en})(en,er)}function eW(en,er){for(;!Object.prototype.hasOwnProperty.call(en,er)&&null!==(en=eV(en)););return en}function eq(en){return en&&"undefined"!=typeof Symbol&&en.constructor===Symbol?"symbol":typeof en}function e$(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(en){return!1}}function eK(en){var er=e$();return function(){var ei,eo=eV(en);if(er){var ea=eV(this).constructor;ei=Reflect.construct(eo,arguments,ea)}else ei=eo.apply(this,arguments);return ez(this,ei)}}var eY=function(en){"use strict";eH(ei,en);var er=eK(ei);function ei(en,eo,ea,es){var eu;return eL(this,ei),eU(eN(eu=er.call(this,{isMobile:en,background:eo,containerId:"vc-select-type-dialog",doneBtnId:"vc-btn-doctype-done",cancelBtnId:"vc-btn-doctype-cancel"})),"list",void 0),eU(eN(eu),"elementsList",[]),eU(eN(eu),"cancelButtonContainer",void 0),eU(eN(eu),"doneButtonContainer",void 0),eU(eN(eu),"spinner",void 0),eU(eN(eu),"createElement",function(en,er){var ei=eB("li",null,["select-doctype-dialog__content__element"]);eB("span",{textContent:er},["select-doctype-dialog__content__element__text"],ei);var eo=document.createElement("div");return eo.innerHTML=eM,eo.querySelector("svg").classList.add("select-doctype-dialog__content__element__chevron"),ei.append(eo),ei.addEventListener("click",function(er){var ei=eg.Z.idByName(en),eo=eF({docType:en,id:ei});er.target.dispatchEvent(eo),eu.hide()}),ei}),eu.spinner=ea,eu.cancelButtonContainer=eu.cancelBtn.parentElement,eu.doneButtonContainer=eu.doneBtn.parentElement,eu.list=document.getElementById("vc-doctype-dialog-container"),eu.container.classList.forEach(function(en){en.includes("--")&&eu.container.classList.remove(en)}),eu.container.classList.add(es),eu}return eG(ei,[{key:"show",value:function(){ej(eV(ei.prototype),"show",this).call(this),this.spinner.hideSpinner(),this.spinner.addSpinnerState(),this.container.clientWidth<315&&(this.container.classList.add("vc-dialog-bottom--f14"),this.doneButtonContainer.classList.add("vc-dialog-bottom__header__done--w50"),this.cancelButtonContainer.classList.add("vc-dialog-bottom__header__cancel--w50"))}},{key:"hide",value:function(){ej(eV(ei.prototype),"hide",this).call(this),this.hideCancelButton(),this.spinner.showSpinner(),this.spinner.removeSpinnerState()}},{key:"showCancelButton",value:function(){this.cancelButtonContainer.classList.remove("v-none")}},{key:"hideCancelButton",value:function(){this.cancelButtonContainer.classList.add("v-none")}},{key:"addDoneHandler",value:function(en){var er=this,eo=function(){er.list.querySelector(":checked")&&(er.hide(),er.spinner.hideSpinner(),en())};ej(eV(ei.prototype),"addDoneHandler",this).call(this,eo)}},{key:"addCancelHandler",value:function(en){var er=this,eo=function(){en(),er.hide()};ej(eV(ei.prototype),"addCancelHandler",this).call(this,eo)}},{key:"hasElement",value:function(en){return -1!==this.elementsList.findIndex(function(er){return er.name===en})}},{key:"addElement",value:function(en,er,ei){this.hasElement(en)||this.elementsList.push({name:en,element:er,id:ei})}},{key:"clearList",value:function(){this.elementsList.length=0}},{key:"addType",value:function(en){var er=en.name,ei=en.humanName,eo=en.id,ea=this.createElement(er,ei);this.addElement(er,ea,eo)}},{key:"render",value:function(){var en=this;this.list.innerHTML="",this.elementsList.forEach(function(er){var ei=er.element;return en.list.appendChild(ei)})}}]),ei}(eQ);let eX=eY;function eJ(en,er){if(er.has(en))throw TypeError("Cannot initialize the same private elements twice on an object")}function e0(en,er){return er.get?er.get.call(en):er.value}function e1(en,er,ei){if(er.set)er.set.call(en,ei);else{if(!er.writable)throw TypeError("attempted to set read only private field");er.value=ei}}function e2(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function e3(en,er,ei){if(!er.has(en))throw TypeError("attempted to "+ei+" private field on non-instance");return er.get(en)}function e4(en,er){var ei=e3(en,er,"get");return e0(en,ei)}function e6(en,er,ei){eJ(en,er),er.set(en,ei)}function e8(en,er,ei){var eo=e3(en,er,"set");return e1(en,eo,ei),ei}function e5(en,er,ei){if(!er.has(en))throw TypeError("attempted to get private field on non-instance");return ei}function e7(en,er){eJ(en,er),er.add(en)}function e9(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function tn(en,er,ei){return er&&e9(en.prototype,er),ei&&e9(en,ei),en}var tr=new WeakMap,ti=new WeakMap,ta=new WeakMap,ts=new WeakMap,tu=new WeakMap,tl=new WeakMap,tc=new WeakMap,tf=new WeakMap,tA=new WeakMap,td=new WeakSet,th=new WeakSet,tp=function(){"use strict";function en(){e2(this,en),e7(this,td),e7(this,th),e6(this,tr,{writable:!0,value:void 0}),e6(this,ti,{writable:!0,value:null}),e6(this,ta,{writable:!0,value:null}),e6(this,ts,{writable:!0,value:null}),e6(this,tu,{writable:!0,value:"message-box"}),e6(this,tl,{writable:!0,value:{primary:"message-box--primary",error:"message-box--error",pointer:"message-box--pointer"}}),e6(this,tc,{writable:!0,value:"Scan your document"}),e6(this,tf,{writable:!0,value:[]}),e6(this,tA,{writable:!0,value:1}),e8(this,tr,document.getElementById("vc-message-box")),null!==e4(this,tr)&&(e8(this,ti,e4(this,tr).querySelector(".message-box__text")),e8(this,ta,e4(this,tr).querySelector("#idvc-change-document-type-btn")))}return tn(en,[{key:"setClass",value:function(){e4(this,ts)&&(e4(this,tr).className="".concat(e4(this,tu)," ").concat(e4(this,tl)[e4(this,ts)]))}},{key:"type",get:function(){return e4(this,ts)}},{key:"message",value:function(){var en=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e4(this,tc),er=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"primary",ei=er.trim().toLowerCase(),eo=e4(this,ts),ea=["error","primary"].includes(ei)?ei:"primary";eo!==ea&&(e8(this,ts,ea),this.setClass(),e5(this,td,tg).call(this)),e4(this,ti) instanceof HTMLSpanElement&&(e4(this,ti).textContent=en)}},{key:"updateByTypesCount",value:function(){var en=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e4(this,tA);e8(this,tA,en),1===e4(this,tA)?(this.setCaretVisible(!1),this.removeAllChangeDocumentTypeListener(),e4(this,tr).classList.remove(e4(this,tl).pointer)):(e4(this,tr).classList.add(e4(this,tl).pointer),this.setCaretVisible(!0))}},{key:"addChangeDocumentTypeListener",value:function(en){e4(this,tf).push(en),e4(this,tr).addEventListener("click",en)}},{key:"removeAllChangeDocumentTypeListener",value:function(){var en=this;e4(this,tf).forEach(function(er){e4(en,tr).removeEventListener("click",er)})}},{key:"setCaretVisible",value:function(en){e4(this,ta)&&(en?e4(this,ta).classList.remove("d-none"):e4(this,ta).classList.add("d-none"))}}]),en}();function tg(){"error"===e4(this,ts)?(this.setCaretVisible(!1),this.removeAllChangeDocumentTypeListener(),e4(this,tr).classList.remove(e4(this,tl).pointer)):(this.updateByTypesCount(e4(this,tA)),e5(this,th,tb).call(this))}function tb(){var en=this;e4(this,tf).forEach(function(er){e4(en,tr).addEventListener("click",er)})}let tm=tp;function ty(en,er){(null==er||er>en.length)&&(er=en.length);for(var ei=0,eo=Array(er);ei<er;ei++)eo[ei]=en[ei];return eo}function tv(en){if(Array.isArray(en))return en}function tI(en,er){if(er.has(en))throw TypeError("Cannot initialize the same private elements twice on an object")}function tw(en,er){return er.get?er.get.call(en):er.value}function tE(en,er,ei){if(er.set)er.set.call(en,ei);else{if(!er.writable)throw TypeError("attempted to set read only private field");er.value=ei}}function tC(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function tT(en,er,ei){if(!er.has(en))throw TypeError("attempted to "+ei+" private field on non-instance");return er.get(en)}function tS(en,er){var ei=tT(en,er,"get");return tw(en,ei)}function tB(en,er,ei){tI(en,er),er.set(en,ei)}function tx(en,er,ei){var eo=tT(en,er,"set");return tE(en,eo,ei),ei}function t_(en,er,ei){if(!er.has(en))throw TypeError("attempted to get private field on non-instance");return ei}function tD(en,er){tI(en,er),er.add(en)}function tP(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function tO(en,er,ei){return er&&tP(en.prototype,er),ei&&tP(en,ei),en}function tk(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function tQ(en,er){var ei,eo,ea=null==en?null:"undefined"!=typeof Symbol&&en[Symbol.iterator]||en["@@iterator"];if(null!=ea){var es=[],eu=!0,ec=!1;try{for(ea=ea.call(en);!(eu=(ei=ea.next()).done)&&(es.push(ei.value),!er||es.length!==er);eu=!0);}catch(en){ec=!0,eo=en}finally{try{eu||null==ea.return||ea.return()}finally{if(ec)throw eo}}return es}}function tM(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function tF(en,er){return tv(en)||tQ(en,er)||tN(en,er)||tM()}function tN(en,er){if(en){if("string"==typeof en)return ty(en,er);var ei=Object.prototype.toString.call(en).slice(8,-1);if("Object"===ei&&en.constructor&&(ei=en.constructor.name),"Map"===ei||"Set"===ei)return Array.from(ei);if("Arguments"===ei||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ei))return ty(en,er)}}var tL=new WeakSet,tR=new WeakMap,tG=new WeakSet,tU=new WeakSet,tj=new WeakSet,tV=new WeakSet,tH=new WeakMap,tz=function(){"use strict";function en(er){tC(this,en),tD(this,tL),tB(this,tR,{get:void 0,set:tW}),tD(this,tG),tD(this,tU),tD(this,tj),tD(this,tV),tk(this,"svg",void 0),tk(this,"strokeMask",void 0),tk(this,"successMask",void 0),tk(this,"type","environment"),tk(this,"cssVarContainer",null),tk(this,"borders",{width:0,height:0}),tk(this,"cssVars",{width:"80%",height:"90%",rx:"16px",x:"10%",y:"5%"}),tk(this,"_mainContainerSizes",{width:"100%",height:"100%"}),tk(this,"getSizes",function(en){var er=getComputedStyle(en);return{width:er.getPropertyValue("width"),height:er.getPropertyValue("height")}}),tB(this,tH,{writable:!0,value:function(en,er){var ei,eo=Math.abs(en-er);return en&&er?ei=eo<10?en-.1*en:en>er?er:en:(ei=en||er,ei-=.1*ei),Math.trunc(ei)}}),this.svg=document.getElementById("vc-video-mask-overlay"),this.strokeMask=this.svg.querySelector(".video-mask-overlay__stroke--white"),this.successMask=this.svg.querySelector(".video-mask-overlay__stroke--success"),this.cssVarContainer=er}return tO(en,[{key:"svgSizes",get:function(){return this.getSizes(this.svg)}},{key:"strokeSizes",get:function(){var en=this.getSizes(this.strokeMask),er=en.width,ei=en.height;return{width:Math.ceil(Number.parseInt(er,10)),height:Math.ceil(Number.parseInt(ei,10))}}},{key:"strokeLength",get:function(){return Math.ceil(this.strokeMask.getTotalLength())}},{key:"sizes",set:function(en){tx(this,tR,{width:en.width,height:en.height})}},{key:"fillPercentage",set:function(en){try{var er=Math.min(100,en),ei=this.strokeLength;0===er?t_(this,tV,tY).call(this):t_(this,tj,tK).call(this);var eo=ei?ei/2:"50%",ea=eo/100*er,es=100===er?0:ea,eu=100===er?0:eo-ea,ec=100===er?"100%":eo+eo/100*er;this.successMask.style.strokeDasharray="".concat(es," ").concat(null!=eu?eu:"100%"),this.successMask.style.strokeDashoffset=ec}catch(en){this.successMask.style.strokeDasharray="0 0",this.successMask.style.strokeDashoffset=0}}},{key:"maskType",set:function(en){var er=["environment","user"];this.type=er.includes(en)?en:"environment"}},{key:"mainContainerSizes",set:function(en){var er=en.width,ei=en.height,eo=this.borders,ea=eo.width,es=eo.height;if(Number.isFinite(er)&&Number.isFinite(ei)&&(this._mainContainerSizes.width=er,this._mainContainerSizes.height=ei),"environment"===this.type){var eu=tS(this,tH).call(this,er,ea),ec=tS(this,tH).call(this,ei,es);Number.isFinite(ea)&&Number.isFinite(es)&&(this.cssVars.width=eu,this.cssVars.height=ec)}"user"===this.type?t_(this,tL,tZ).call(this):t_(this,tG,tq).call(this),t_(this,tU,t$).call(this)}}]),en}();function tZ(){var en=this.svgSizes,er=en.height,ei=en.width,eo=this.borders.width;this.cssVars.height="calc(".concat(Number.isFinite(er)?"".concat(er,"px"):er," * 0.9)"),this.cssVars.width="calc(".concat(Number.isFinite(eo)?"".concat(eo,"px"):eo," * 0.63)"),this.cssVars.rx="100%",this.cssVars.y="5%",this.cssVars.x="calc(".concat(ei," / 2 - var(--clean-width) / 2)")}function tW(en){var er=en.width,ei=en.height;this.borders.width=er,this.borders.height=ei}function tq(){var en=this.svgSizes,er=en.width,ei=en.height;this.cssVars.rx="16px",this.cssVars.y="calc((".concat(ei," - var(--clean-height)) / 2)"),this.cssVars.x="calc((".concat(er," - var(--clean-width)) / 2)")}function t$(){var en=this;Object.entries(this.cssVars).forEach(function(er){var ei=tF(er,2),eo=ei[0],ea=ei[1],es="--clean-".concat(eo);en.cssVarContainer.style.setProperty(es,Number.isFinite(ea)?"".concat(ea,"px"):ea)})}function tK(){this.successMask.classList.add("video-mask-overlay__stroke--animation")}function tY(){this.successMask.classList.remove("video-mask-overlay__stroke--animation")}let tX=tz;function tJ(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function t0(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function t1(en,er,ei){return er&&t0(en.prototype,er),ei&&t0(en,ei),en}function t2(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}var t3=function(){"use strict";function en(){tJ(this,en),t2(this,"icon",void 0),t2(this,"onIcon",void 0),t2(this,"offIcon",void 0),t2(this,"isEnableFlashLight",void 0),this.icon=document.getElementById("vc-flashlight"),this.onIcon=document.getElementById("vc-flashlight-icon--switched-on"),this.offIcon=document.getElementById("vc-flashlight-icon--switched-off"),this.isEnableFlashLight=!1,this.addClickEventListener()}return t1(en,[{key:"show",value:function(en){this.icon&&(en?(this.icon.classList.remove("vc-flashlight-icon--hide"),this.icon.classList.add("vc-flashlight-icon--show")):(this.icon.classList.remove("vc-flashlight-icon--show"),this.icon.classList.add("vc-flashlight-icon--hide")))}},{key:"turnOff",value:function(){this.offIcon&&this.onIcon&&(this.isEnableFlashLight=!1,this.offIcon.classList.remove("d-none"),this.onIcon.classList.add("d-none"))}},{key:"turnOn",value:function(){this.offIcon&&this.onIcon&&(this.isEnableFlashLight=!0,this.onIcon.classList.remove("d-none"),this.offIcon.classList.add("d-none"))}},{key:"isTurnedOn",get:function(){return this.isEnableFlashLight}},{key:"addClickEventListener",value:function(en){var er=this;this.icon&&(this.icon.onclick=function(){er.isEnableFlashLight?er.turnOff():er.turnOn(),en&&"function"==typeof en&&en()})}}]),en}();let t4=t3;var t6=ei(8944);function t8(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function t5(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function t7(en,er,ei){return er&&t5(en.prototype,er),ei&&t5(en,ei),en}function t9(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}var nn="manualSwitchBtn",nr=function(){"use strict";function en(er){t8(this,en),t9(this,"el",null),t9(this,"loadingEl",null),t9(this,"containerEl",null),t9(this,"state",null),t9(this,"callback",null),this.el=document.getElementById(nn),this.loadingEl=document.getElementById("manualSwitchBtnLoading"),this.containerEl=document.getElementById("manualSwitchBtnWrap"),this.el.classList.add("el-button--disabled"),this.setState(er?"uploader":"video")}return t7(en,[{key:"setLoading",value:function(en){if(this.el&&this.loadingEl){var er=!this.el.classList.contains("el-button--disabled");en?(this.loadingEl.style.display="block",this.el.classList.add("el-button--disabled")):(er&&this.el.classList.remove("el-button--disabled"),this.loadingEl.style.display="none")}}},{key:"setEnabled",value:function(en){this.el&&(en?this.el.classList.remove("el-button--disabled"):this.el.classList.add("el-button--disabled"))}},{key:"setAvailable",value:function(en){this.containerEl&&(en?this.containerEl.style.display="block":this.containerEl.style.display="none")}},{key:"setText",value:function(){var en=(0,t6.i0)("general");"video"===this.state&&(this.el.innerHTML="".concat(en.btnCamera)),"uploader"===this.state&&(this.el.innerHTML="".concat(en.btnUploader))}},{key:"setState",value:function(en){if(this.el){switch(en){case"video":case"uploader":this.state=en;break;default:throw Error("type ".concat(en," of state is not supported"))}this.setText()}}},{key:"addClickCallback",value:function(en){var er=this;this.callback=en,this.el&&this.el.addEventListener("click",function(){var en;(null===(en=er.el)||void 0===en?void 0:en.classList.contains("el-button--disabled"))||("video"===er.state?er.setState("uploader"):er.setState("video"),er.callback&&er.callback())})}}]),en}();let ni=nr;var no=ei(7728),na=ei(726);function ns(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function nu(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function nl(en,er,ei){return er&&nu(en.prototype,er),ei&&nu(en,ei),en}function nc(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}var nf=(nc(ec={},na.m.LEFT,"turnFaceLeft"),nc(ec,na.m.RIGHT,"turnFaceRight"),ec),nA=function(){var en=!1,er=eh.Z.steps.length>0,ei=Number.isInteger(+eh.Z.currentStep),eo=eh.Z.steps[eh.Z.currentStep];return er&&ei&&eo&&(en="type"in eh.Z.steps[eh.Z.currentStep]),en},nd=function(){"use strict";function en(){ns(this,en)}return nl(en,null,[{key:"init",value:function(){en.holdText=document.getElementById("VC-hold-text"),en.arrowUpHintContainer=document.getElementById("vc-arrow-up-hint-container"),en.arrowLeftHintContainer=document.getElementById("vc-arrow-left-hint-container"),en.arrowRightHintContainer=document.getElementById("vc-arrow-right-hint-container"),en.arrowLeftFaceTheCameraContainer=document.getElementById("vc-arrow-left-face-the-camera-container"),en.arrowRightFaceTheCameraContainer=document.getElementById("vc-arrow-right-face-the-camera-container")}},{key:"showFaceTheCameraArrows",value:function(){en.arrowLeftFaceTheCameraContainer.classList.remove("d-none"),en.arrowRightFaceTheCameraContainer.classList.remove("d-none")}},{key:"hideFaceTheCameraArrows",value:function(){en.arrowLeftFaceTheCameraContainer.classList.add("d-none"),en.arrowRightFaceTheCameraContainer.classList.add("d-none")}},{key:"showArrow",value:function(er,ei,eo){var ea=[en.arrowLeftHintContainer,en.arrowRightHintContainer,en.arrowUpHintContainer];ea.forEach(function(en){en.classList.add("d-none")}),en.currentArrowContainer=ea[er],en.currentArrowContainer.classList.remove("d-none");var es=Array.from(en.currentArrowContainer.firstElementChild.children),eu=0;eo&&(ei>=71&&ei<=90&&(eu=1),ei>=51&&ei<=70&&(eu=2),ei>=46&&ei<=60&&(eu=3),ei<46&&(eu=4));for(var ec=0;ec<es.length;ec+=1)"white"!==es[ec].getAttribute("fill")&&(es[ec].setAttribute("fill","white"),es[ec].setAttribute("fill-opacity","0.4"));for(var ef=0;ef<eu;ef+=1)"#17EA4C"!==es[ef].getAttribute("fill")&&(es[ef].setAttribute("fill","#17EA4C"),es[ef].setAttribute("fill-opacity","1"))}},{key:"hideArrows",value:function(){en.currentArrowContainer&&en.currentArrowContainer.classList.add("d-none")}},{key:"updateHoldText",value:function(er,ei){var eo=(0,t6.i0)("hintTexts"),ea="";if(en.hideArrows(),en.hideFaceTheCameraArrows(),eh.Z.isShowCloserText&&(ea=eo.comeCloser),eh.Z.isShowCenterText&&(ea=eo.moveCenter),eh.Z.isShowAwayText&&(ea=eo.camAway),eh.Z.isShowComeBackText&&(en.showFaceTheCameraArrows(),ea=eo.faceCam),eh.Z.isShowStayCalmText&&(ea=eo.dontMove),eh.Z.isShowNotSeeText&&(ea=eo.dontSee),eh.Z.isShowTurnText&&(ea=eo[nf[eh.Z.realFaceTurnSide]]),eh.Z.isShowFacePercentText&&er&&(en.showArrow(eh.Z.realFaceTurnSide,er,ei),ea=eo[nf[eh.Z.realFaceTurnSide]]),eh.Z.isShowCenterText&&(ea=eo.moveCenter),eh.Z.isShowHoldText&&nA()){var es=eh.Z.steps[eh.Z.currentStep].type;"front"===es&&(es="front"),"pdf"===es&&(es="back"),ea=eo.hold.replace("**placeholder**",es)}return eh.Z.isShowDocumentCloserText&&(ea=eo.documentCloser),eh.Z.isShowStayText&&nA()&&(ea="face"!==eh.Z.currentStepType?eo.holdCamera:""),eh.Z.isShowHelpText&&nA()&&(ea="pdf"===eh.Z.currentStepType?eo.pdf:""),en.holdText.textContent===ea||(en.holdText.innerHTML=ea),ea}}]),en}();nc(nd,"holdText",void 0),nc(nd,"arrowUpHintContainer",void 0),nc(nd,"arrowLeftHintContainer",void 0),nc(nd,"arrowRightHintContainer",void 0),nc(nd,"arrowLeftFaceTheCameraContainer",void 0),nc(nd,"arrowRightFaceTheCameraContainer",void 0),nc(nd,"currentArrowContainer",void 0);let nh=nd;var np=ei(8512);function ng(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function nb(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function nm(en,er,ei){return er&&nb(en.prototype,er),ei&&nb(en,ei),en}function ny(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}var nv=function(en,er){var ei=er.width,eo=er.height,ea=en.width,es=en.height;return!(ei!==ea||es!==eo)},nI=function(){"use strict";function en(er){ng(this,en),ny(this,"canvasNames",new Set(["VC-resized-canvas","VC-mrz-canvas","VC-video-canvas","VC-border-canvas","VC-class-local-canvas","VC-blaze-face-canvas","VC-mesh-face-canvas","VC-face-canvas"])),ny(this,"canvasCtxNames",new Set(["borderCtx","resizedCtx","mrzCtx","videoCtx","faceCtx","blazeFaceCtx","meshFaceCtx"])),ny(this,"videoCanvas",void 0),ny(this,"resizedCanvas",void 0),ny(this,"mrzCanvas",void 0),ny(this,"borderCanvas",void 0),ny(this,"faceCanvas",void 0),ny(this,"classLocalCanvas",void 0),ny(this,"blazeFaceCanvas",void 0),ny(this,"meshFaceCanvas",void 0),ny(this,"mrzCtx",void 0),ny(this,"videoCtx",void 0),ny(this,"resizedCtx",void 0),ny(this,"borderCtx",void 0),ny(this,"faceCtx",void 0),ny(this,"classLocalCtx",void 0),ny(this,"blazeFaceCtx",void 0),ny(this,"meshFaceCtx",void 0),ny(this,"video",void 0),ny(this,"faceOffset",{left:0,top:0}),this.video=er,this.resizedCanvas=document.getElementById("VC-resized-canvas"),this.mrzCanvas=document.getElementById("VC-mrz-canvas"),this.videoCanvas=document.getElementById("VC-video-canvas"),this.borderCanvas=document.getElementById("VC-border-canvas"),this.faceCanvas=document.getElementById("VC-face-canvas"),this.classLocalCanvas=document.getElementById("VC-class-local-canvas"),this.blazeFaceCanvas=document.getElementById("VC-blaze-face-canvas"),this.meshFaceCanvas=document.getElementById("VC-mesh-face-canvas"),this.borderCtx=this.borderCanvas.getContext("2d",{willReadFrequently:!0}),this.faceCtx=this.faceCanvas.getContext("2d",{willReadFrequently:!0}),this.resizedCtx=this.resizedCanvas.getContext("2d",{willReadFrequently:!0}),this.mrzCtx=this.mrzCanvas.getContext("2d",{willReadFrequently:!0}),this.videoCtx=this.videoCanvas.getContext("2d",{willReadFrequently:!0}),this.classLocalCtx=this.classLocalCanvas.getContext("2d",{willReadFrequently:!0}),this.blazeFaceCtx=this.blazeFaceCanvas.getContext("2d",{willReadFrequently:!0}),this.meshFaceCtx=this.meshFaceCanvas.getContext("2d",{willReadFrequently:!0})}return nm(en,[{key:"saveCanvas",value:function(){this.resizedCtx.save(),this.borderCtx.save(),this.videoCtx.save()}},{key:"restoreCanvas",value:function(){this.resizedCtx.restore(),this.borderCtx.restore(),this.videoCtx.restore()}},{key:"toggleBorderCanvas",value:function(){var en="face"===eh.Z.currentStepType?"border-canvas--active-face":"border-canvas--active";this.borderCanvas&&(eh.Z.isStarted?this.borderCanvas.classList.add(en):this.borderCanvas.classList.remove(en))}},{key:"clearBorderCtx",value:function(){this.borderCtx.clearRect(0,0,this.borderCanvas.width,this.borderCanvas.height)}},{key:"setVideoCanvasSizes",value:function(en){var er=en.width,ei=en.height;nv(this.videoCanvas,{width:er,height:ei})||(this.videoCanvas.width=er||1,this.videoCanvas.height=ei||1)}},{key:"getBaseSizes",value:function(){var en=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,er=this.videoCanvas.width,ei=Math.trunc(er/en);return ei>this.videoCanvas.height&&(er=Math.trunc((ei=this.videoCanvas.height)*en)),{baseHeight:ei,baseWidth:er}}},{key:"setResizedCanvas",value:function(){if(!nv(this.resizedCanvas,eh.Z.resizedCanvasSizes)){var en=eh.Z.resizedCanvasSizes,er=en.width,ei=en.height;this.resizedCanvas.width=er||1,this.resizedCanvas.height=ei||1}}},{key:"setBorderCanvas",value:function(en,er){this.borderCanvas.width=en,this.borderCanvas.height=er}},{key:"recreateCanvas",value:function(en){var er=en,ei=er.parentElement,eo=er.width,ea=er.height,es=er.id,eu=er.className,ec=eo&&ea?er.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,eo,ea):new ImageData(new Uint8ClampedArray([]),0,0);er.width=0,er.height=0,er.remove(),er=null;var ef=document.createElement("canvas");ef.id=es,ei&&ei.append(ef),ef.width=eo,ef.height=ea,ef.className=eu;var eA=ef.getContext("2d");return eA&&eA.putImageData(ec,0,0),{canvas:ef,ctx:eA}}},{key:"rectreateDistinctCanvas",value:function(en){var er="".concat(en,"Canvas"),ei="".concat(en,"Ctx");if(this&&this.canvasNames.has(er)&&this.canvasCtxNames.has(ei)){var eo=this.recreateCanvas(this[er]),ea=eo.canvas,es=eo.ctx;this[er]=ea,this[ei]=es}}},{key:"prepareFaceCanvas",value:function(en,er){this.faceCanvas.width=en,this.faceCanvas.height=er;var ei=this.video.videoWidth>this.video.videoHeight?this.video.videoHeight:this.video.videoWidth;this.faceOffset.top=(this.video.videoHeight-ei)/2,this.faceOffset.left=(this.video.videoWidth-ei)/2}},{key:"drawVideo",value:function(){var en=this.videoCanvas,er=en.width,ei=en.height;this.videoCtx.drawImage(this.video,0,0,er,ei)}},{key:"drawResized",value:function(){var en=this.resizedCanvas,er=en.width,ei=en.height;this.resizedCtx.drawImage(this.videoCanvas,0,0,er,ei)}},{key:"drawFace",value:function(){this.faceCtx.drawImage(this.video,this.faceOffset.left,this.faceOffset.top,this.video.videoWidth-2*this.faceOffset.left,this.video.videoHeight-2*this.faceOffset.top,0,0,this.faceCanvas.width,this.faceCanvas.height)}},{key:"recreateWorkingCanvas",value:function(){eh.Z.browser&&"iOS"===eh.Z.browser.os&&eh.Z.browserMajorVersion&&eh.Z.browserMajorVersion<15&&["resized","video"].forEach(this.rectreateDistinctCanvas)}},{key:"drawResizedVideo",value:function(){"face"===eh.Z.currentStepType&&eh.Z.isRealFaceAvailable?this.drawFace():(this.drawVideo(),this.drawResized())}},{key:"drawBbox",value:function(en){this.borderCtx.beginPath(),this.borderCtx.lineWidth=6,this.borderCtx.strokeStyle="red",this.borderCtx.rect(en.topLeft.x,en.topLeft.y,en.bottomRight.x-en.topLeft.x,en.bottomRight.y-en.topLeft.y),this.borderCtx.stroke()}}]),en}(),nw=ei(4654);function nE(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function nC(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function nT(en,er,ei){return er&&nC(en.prototype,er),ei&&nC(en,ei),en}function nS(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}var nB=function(){return"face"===eh.Z.currentStepType?1:eh.Z.sizeK},nx=.85,n_=1600,nD=640,nP=function(){"use strict";function en(){nE(this,en),nS(this,"dialogTypeBackground",void 0),nS(this,"stepImg",void 0),nS(this,"videoError",void 0),nS(this,"btnsWrap",void 0),nS(this,"uploaderWrap",void 0),nS(this,"videoPos",void 0),nS(this,"fakeContour",void 0),nS(this,"stepsWrapper",void 0),nS(this,"guidlinesBtn",void 0),nS(this,"videoWrap",void 0),nS(this,"resetAllStepsBtn",void 0),nS(this,"version",void 0),nS(this,"selectDocumentTypeText",void 0),nS(this,"retakeBtn",void 0),nS(this,"continueBtn",void 0),nS(this,"submitBtn",void 0),nS(this,"changeBtn",void 0),nS(this,"correctBtn",void 0),nS(this,"cancelBtn",void 0),nS(this,"doneBtn",void 0),nS(this,"closeBtn",void 0),nS(this,"pressToUpdateText",void 0),nS(this,"pressToUpdateTextSuccess",void 0),nS(this,"documentType",void 0),nS(this,"videoErrorText",void 0),nS(this,"mainContainer",void 0),nS(this,"Mask",void 0),nS(this,"selectDocumentType",void 0),nS(this,"forceBtn",void 0),nS(this,"msBtn",void 0),nS(this,"messageBox",void 0),nS(this,"flashlight",void 0),nS(this,"canvas",void 0),nS(this,"video",void 0),this.dialogTypeBackground=document.getElementById("vc-dialog-type-background"),this.stepImg=document.getElementById("VC-step-img"),this.videoError=document.getElementById("VC-video-wrap-error"),this.btnsWrap=document.getElementById("VC-btns"),this.uploaderWrap=document.getElementById("VC-uploader"),this.videoPos=document.getElementById("VC-videoPos"),this.fakeContour=document.getElementById("VC-fakeContour"),this.stepsWrapper=document.getElementById("VC-steps"),this.guidlinesBtn=document.getElementById("VC-guidlines"),this.videoWrap=document.getElementById("VC-videoWrap"),this.resetAllStepsBtn=document.getElementById("VC-reset-all"),this.version=document.getElementById("VC-version"),this.selectDocumentTypeText=document.getElementById("vc-select-type-dialog-text"),this.retakeBtn=document.getElementById("VS-retake-btn"),this.continueBtn=document.getElementById("VS-continue-btn"),this.submitBtn=document.getElementById("VS-submit-btn"),this.changeBtn=document.getElementById("vc-predicted-type-dialog-change"),this.correctBtn=document.getElementById("vc-predicted-type-dialog-correct"),this.cancelBtn=document.getElementById("vc-btn-doctype-cancel"),this.closeBtn=document.getElementById("closeTypeDialog"),this.doneBtn=document.getElementById("vc-btn-doctype-done"),this.videoErrorText=document.getElementById("VC-video-wrap-error-text"),this.mainContainer=document.getElementById("vc-main-content"),this.video=document.getElementById("VC-video"),this.pressToUpdateText=document.getElementById("vc-uploader-press-to-update"),this.pressToUpdateTextSuccess=document.getElementById("vc-uploader-press-to-update-success"),this.documentType=document.getElementById("vc-dialog-type-text"),this.messageBox=new tm,this.forceBtn=new ed,this.msBtn=new ni(eh.Z.cameraSupported),this.flashlight=new t4,this.Mask=new tX(this.videoPos),this.canvas=new nI(this.video),nh.init()}return nT(en,[{key:"initTypeSelect",value:function(){this.selectDocumentType||(this.selectDocumentType=new eX(eh.Z.isMobile,this.dialogTypeBackground,np.ZP,nw.B[eh.Z.config.modalPosition||"center"]))}},{key:"resizeMainContainer",value:function(){if(eh.Z.track){var en,er=eh.Z.track.getSettings(),ei=er.width,eo=void 0===ei?0:ei,ea=er.height,es=void 0===ea?0:ea,eu=function(){return Math.trunc(es/eo*100)};if(es<eo)en=eu();else{var ec=eu();en=ec>=100?100:ec}this.mainContainer.style.paddingTop="".concat(en,"%");var ef=window.getComputedStyle(this.mainContainer);this.Mask.mainContainerSizes={width:Math.ceil(+ef.getPropertyValue("width")),height:Math.ceil(+ef.getPropertyValue("height"))}}}},{key:"updateHoldText",value:function(en,er){nh.updateHoldText(en,er)}},{key:"updateStepImg",value:function(){if(eh.Z.steps&&this.stepImg&&void 0!==eh.Z.currentStep){if(eh.Z.currentStepImg){this.stepImg.classList.remove("d-none"),this.stepImg.style.setProperty("--vc-background-image",'url("'.concat(eh.Z.currentStepImg,'")'));var en=eh.Z.currentStepObj.errorCode;en?this.showVideoError(en):this.hideVideoError()}else this.stepImg.classList.add("d-none"),this.hideVideoError()}}},{key:"showVideoError",value:function(en){this.videoError.classList.remove("video-wrap__error--disabled"),this.videoError.classList.add("video-wrap__error--enabled");var er=(0,t6.i0)("errorCodes");en in er?this.videoErrorText.innerHTML=er[en]:this.videoErrorText.innerHTML=en}},{key:"hideVideoError",value:function(){this.videoError.classList.add("video-wrap__error--disabled"),this.videoError.classList.remove("video-wrap__error--enabled"),this.videoErrorText.innerText=""}},{key:"updateVideoWrap",value:function(){this.videoWrap&&(eh.Z.currentStepImg&&eh.Z.currentStepObj.isAuto?this.videoWrap.classList.add("video-wrap--has-image"):this.videoWrap.classList.remove("video-wrap--has-image"),eh.Z.isVideoCapture?this.videoWrap.classList.add("video-wrap--enabled"):this.videoWrap.classList.remove("video-wrap--enabled"))}},{key:"setVideoWrapEnabled",value:function(){var en=!(arguments.length>0)||void 0===arguments[0]||arguments[0];en?this.videoWrap.classList.add("video-wrap--enabled"):this.videoWrap.classList.remove("video-wrap--enabled")}},{key:"updateContinueBtn",value:function(){this.continueBtn&&((null===eh.Z||void 0===eh.Z?void 0:eh.Z.currentStepImg)?this.continueBtn.classList.remove("el-button--disabled"):this.continueBtn.classList.add("el-button--disabled"),eh.Z.currentStep<eh.Z.steps.length-1?this.continueBtn.classList.remove("d-none"):this.continueBtn.classList.add("d-none"))}},{key:"updateBtnsWrap",value:function(){var en;eh.Z.isVideoCapture||(null===(en=eh.Z.currentStepObj)||void 0===en?void 0:en.isAuto)?(this.btnsWrap.classList.remove("video-wrap__btns--one-btn"),this.btnsWrap.classList.add("video-wrap__btns--two-btn")):(this.btnsWrap.classList.remove("video-wrap__btns--two-btn"),this.btnsWrap.classList.add("video-wrap__btns--one-btn"))}},{key:"updateSubmitBtn",value:function(){var en=!0,er=eh.Z.steps.filter(function(en){return null!==en.img}).length===eh.Z.steps.length;this.submitBtn&&(er&&en&&eh.Z.config.showSubmitBtn?this.submitBtn.classList.remove("el-button--disabled"):this.submitBtn.classList.add("el-button--disabled"),eh.Z.currentStep>=eh.Z.steps.length-1&&eh.Z.config.showSubmitBtn?this.submitBtn.classList.remove("d-none"):this.submitBtn.classList.add("d-none"))}},{key:"updateResetAllBtn",value:function(){if(this.resetAllStepsBtn){var en=eh.Z.steps,er=en.filter(function(en){return null!==en.img}).length===eh.Z.steps.length;en&&er?this.resetAllStepsBtn.classList.remove("d-none"):this.resetAllStepsBtn.classList.add("d-none")}}},{key:"updateRetakeButton",value:function(){if(this.retakeBtn){var en;eh.Z.isStarted?this.retakeBtn.classList.add("el-button--disabled"):this.retakeBtn.classList.remove("el-button--disabled"),(null===(en=eh.Z.currentStepObj)||void 0===en?void 0:en.isAuto)||eh.Z.isVideoCapture?this.retakeBtn.classList.remove("d-none"):this.retakeBtn.classList.add("d-none")}}},{key:"updateKeyError",value:function(){eh.Z.licenseKeyError&&this.messageBox.message(eh.Z.licenseKeyError,"error")}},{key:"initGeneralText",value:function(){var en=this,er=(0,t6.i0)("documentsTypes"),ei=(0,t6.i0)("general");eh.Z.uploader&&eh.Z.uploader.setText(),eg.Z.setHumanName(er),(0,no.Z)(this.selectDocumentType),this.msBtn.setText(),this.messageBox.message(eg.Z.humanNameById(eh.Z.type)),Object.keys(ei).forEach(function(er){en[er]&&(en[er].innerText=ei[er])})}},{key:"toggleUploaderWrap",value:function(){eh.Z.isVideoCapture?this.uploaderWrap.classList.remove("uploader-wrap--enabled"):this.uploaderWrap.classList.add("uploader-wrap--enabled")}},{key:"setUploaderWrapEnabled",value:function(){var en=!(arguments.length>0)||void 0===arguments[0]||arguments[0];en?this.uploaderWrap.classList.add("uploader-wrap--enabled"):this.uploaderWrap.classList.remove("uploader-wrap--enabled")}},{key:"toggleVideoPos",value:function(){this.videoPos&&(eh.Z.isStarted?this.videoPos.classList.add("video-pos--active"):this.videoPos.classList.remove("video-pos--active"))}},{key:"resizeBorders",value:function(){var en=nB();this.setDefaultVideoCanvasSizes();var er=this.canvas.getBaseSizes(en),ei=er.baseWidth,eo=er.baseHeight;this.setOffsets(ei,eo),this.setCropSizes(ei,eo);var ea=(0,ep.jA)(nD,eh.Z),es=this.getResizedBaseSizes(en),eu=es.resizedBaseWidth,ec=es.resizedBasedHeight;this.setResizedCrops(eu,ec),this.setResizedOffsets();var ef=this.getCropSizes(en),eA=ef.width,ed=ef.height;this.setCropFace(),this.setFaceOffsets(ea),this.setResizedCanvasSizes(ea),this.canvas.setResizedCanvas(),this.canvas.setBorderCanvas(eA,ed),"face"===eh.Z.currentStepType&&this.canvas.prepareFaceCanvas(eA,ed),this.Mask.sizes={width:eA,height:ed},this.setFakeContourStyles(eA)}},{key:"setDefaultVideoCanvasSizes",value:function(){var en=(0,ep.jA)(n_,eh.Z),er=en.width,ei=en.height;eh.Z.videoCanvasSizes={width:er,height:ei},this.canvas.setVideoCanvasSizes(eh.Z.videoCanvasSizes)}},{key:"setOffsets",value:function(en,er){var ei=this.canvas.videoCanvas,eo=ei.width,ea=ei.height,es=Math.trunc((eo-(en<0?0:en))/2),eu=Math.trunc((ea-(er<0?0:er))/2);eh.Z.offsets.left=es,eh.Z.offsets.top=eu}},{key:"setCropSizes",value:function(en,er){eh.Z.cropSize={width:en<0?0:en,height:er<0?0:er}}},{key:"getResizedBaseSizes",value:function(en){var er=(0,ep.jA)(640,eh.Z),ei=er.width,eo=er.height,ea=ei,es=Math.trunc(ea/en);return es>eo&&(ea=Math.trunc((es=eo)*en)),{resizedBaseWidth:ea,resizedBasedHeight:es}}},{key:"setResizedCrops",value:function(en,er){eh.Z.cropResizedSize={width:Math.ceil(en),height:Math.ceil(er)}}},{key:"setResizedOffsets",value:function(){var en=(0,ep.jA)(640,eh.Z);eh.Z.offsetsResized.left=Math.trunc((en.width-eh.Z.cropResizedSize.width)/2),eh.Z.offsetsResized.top=Math.trunc((en.height-eh.Z.cropResizedSize.height)/2)}},{key:"getCropSizes",value:function(en){var er=Math.trunc(eh.Z.cropSize.width*this.videoWrap.offsetWidth/this.canvas.videoCanvas.width),ei=Math.trunc(er/en);return{width:er,height:ei}}},{key:"setCropFace",value:function(){eh.Z.cropFaceSize={width:Math.trunc(eh.Z.cropResizedSize.width/1.35*nx+20),height:Math.trunc(eh.Z.cropResizedSize.height*nx+20)}}},{key:"setFaceOffsets",value:function(en){var er=en.width;eh.Z.offsetsFace.left=Math.trunc((er-eh.Z.cropFaceSize.width)/2),eh.Z.offsetsFace.top=Math.trunc(eh.Z.offsetsResized.top+.1*eh.Z.cropFaceSize.height-20)}},{key:"setResizedCanvasSizes",value:function(en){var er=en.width,ei=en.height;eh.Z.resizedCanvasSizes={width:er,height:ei}}},{key:"getFakeContourWidth",value:function(en){return Math.trunc(en-.05*en)}},{key:"setFakeContourStyles",value:function(en){var er=this.getFakeContourWidth(en);this.fakeContour.style.width="".concat(er,"px"),this.fakeContour.style.height="".concat(Math.trunc(er/1.56),"px"),this.fakeContour.style.display="none"}},{key:"setMirroring",value:function(){eh.Z.isMirroring?this.videoWrap.classList.add("video-wrap--mirror"):this.videoWrap.classList.remove("video-wrap--mirror")}}]),en}(),nO={ui:null},nk=function(){nO.ui=new nP};let nQ=nO},3416:(en,er,ei)=>{Object.defineProperty(er,"__esModule",{value:!0}),er.AnsiStringType=er.StringType=er.BufferType=er.Uint8ArrayType=er.IgnoreType=er.Float80_LE=er.Float80_BE=er.Float64_LE=er.Float64_BE=er.Float32_LE=er.Float32_BE=er.Float16_LE=er.Float16_BE=er.INT64_BE=er.UINT64_BE=er.INT64_LE=er.UINT64_LE=er.INT32_LE=er.INT32_BE=er.INT24_BE=er.INT24_LE=er.INT16_LE=er.INT16_BE=er.INT8=er.UINT32_BE=er.UINT32_LE=er.UINT24_BE=er.UINT24_LE=er.UINT16_BE=er.UINT16_LE=er.UINT8=void 0;let eo=ei(645);function ea(en){return new DataView(en.buffer,en.byteOffset)}er.UINT8={len:1,get:(en,er)=>ea(en).getUint8(er),put:(en,er,ei)=>(ea(en).setUint8(er,ei),er+1)},er.UINT16_LE={len:2,get:(en,er)=>ea(en).getUint16(er,!0),put:(en,er,ei)=>(ea(en).setUint16(er,ei,!0),er+2)},er.UINT16_BE={len:2,get:(en,er)=>ea(en).getUint16(er),put:(en,er,ei)=>(ea(en).setUint16(er,ei),er+2)},er.UINT24_LE={len:3,get(en,er){let ei=ea(en);return ei.getUint8(er)+(ei.getUint16(er+1,!0)<<8)},put(en,er,ei){let eo=ea(en);return eo.setUint8(er,255&ei),eo.setUint16(er+1,ei>>8,!0),er+3}},er.UINT24_BE={len:3,get(en,er){let ei=ea(en);return(ei.getUint16(er)<<8)+ei.getUint8(er+2)},put(en,er,ei){let eo=ea(en);return eo.setUint16(er,ei>>8),eo.setUint8(er+2,255&ei),er+3}},er.UINT32_LE={len:4,get:(en,er)=>ea(en).getUint32(er,!0),put:(en,er,ei)=>(ea(en).setUint32(er,ei,!0),er+4)},er.UINT32_BE={len:4,get:(en,er)=>ea(en).getUint32(er),put:(en,er,ei)=>(ea(en).setUint32(er,ei),er+4)},er.INT8={len:1,get:(en,er)=>ea(en).getInt8(er),put:(en,er,ei)=>(ea(en).setInt8(er,ei),er+2)},er.INT16_BE={len:2,get:(en,er)=>ea(en).getInt16(er),put:(en,er,ei)=>(ea(en).setInt16(er,ei),er+2)},er.INT16_LE={len:2,get:(en,er)=>ea(en).getInt16(er,!0),put:(en,er,ei)=>(ea(en).setInt16(er,ei,!0),er+2)},er.INT24_LE={len:3,get(en,ei){let eo=er.UINT24_LE.get(en,ei);return eo>8388607?eo-16777216:eo},put(en,er,ei){let eo=ea(en);return eo.setUint8(er,255&ei),eo.setUint16(er+1,ei>>8,!0),er+3}},er.INT24_BE={len:3,get(en,ei){let eo=er.UINT24_BE.get(en,ei);return eo>8388607?eo-16777216:eo},put(en,er,ei){let eo=ea(en);return eo.setUint16(er,ei>>8),eo.setUint8(er+2,255&ei),er+3}},er.INT32_BE={len:4,get:(en,er)=>ea(en).getInt32(er),put:(en,er,ei)=>(ea(en).setInt32(er,ei),er+4)},er.INT32_LE={len:4,get:(en,er)=>ea(en).getInt32(er,!0),put:(en,er,ei)=>(ea(en).setInt32(er,ei,!0),er+4)},er.UINT64_LE={len:8,get:(en,er)=>ea(en).getBigUint64(er,!0),put:(en,er,ei)=>(ea(en).setBigUint64(er,ei,!0),er+8)},er.INT64_LE={len:8,get:(en,er)=>ea(en).getBigInt64(er,!0),put:(en,er,ei)=>(ea(en).setBigInt64(er,ei,!0),er+8)},er.UINT64_BE={len:8,get:(en,er)=>ea(en).getBigUint64(er),put:(en,er,ei)=>(ea(en).setBigUint64(er,ei),er+8)},er.INT64_BE={len:8,get:(en,er)=>ea(en).getBigInt64(er),put:(en,er,ei)=>(ea(en).setBigInt64(er,ei),er+8)},er.Float16_BE={len:2,get(en,er){return eo.read(en,er,!1,10,this.len)},put(en,er,ei){return eo.write(en,ei,er,!1,10,this.len),er+this.len}},er.Float16_LE={len:2,get(en,er){return eo.read(en,er,!0,10,this.len)},put(en,er,ei){return eo.write(en,ei,er,!0,10,this.len),er+this.len}},er.Float32_BE={len:4,get:(en,er)=>ea(en).getFloat32(er),put:(en,er,ei)=>(ea(en).setFloat32(er,ei),er+4)},er.Float32_LE={len:4,get:(en,er)=>ea(en).getFloat32(er,!0),put:(en,er,ei)=>(ea(en).setFloat32(er,ei,!0),er+4)},er.Float64_BE={len:8,get:(en,er)=>ea(en).getFloat64(er),put:(en,er,ei)=>(ea(en).setFloat64(er,ei),er+8)},er.Float64_LE={len:8,get:(en,er)=>ea(en).getFloat64(er,!0),put:(en,er,ei)=>(ea(en).setFloat64(er,ei,!0),er+8)},er.Float80_BE={len:10,get(en,er){return eo.read(en,er,!1,63,this.len)},put(en,er,ei){return eo.write(en,ei,er,!1,63,this.len),er+this.len}},er.Float80_LE={len:10,get(en,er){return eo.read(en,er,!0,63,this.len)},put(en,er,ei){return eo.write(en,ei,er,!0,63,this.len),er+this.len}};class es{constructor(en){this.len=en}get(en,er){}}er.IgnoreType=es;class eu{constructor(en){this.len=en}get(en,er){return en.subarray(er,er+this.len)}}er.Uint8ArrayType=eu;class ec{constructor(en){this.len=en}get(en,er){return en.slice(er,er+this.len)}}er.BufferType=ec;class ef{constructor(en,er){this.len=en,this.encoding=er}get(en,er){return Buffer.from(en).toString(this.encoding,er,er+this.len)}}er.StringType=ef;class eA{constructor(en){this.len=en}static decode(en,er,ei){let eo="";for(let ea=er;ea<ei;++ea)eo+=eA.codePointToString(eA.singleByteDecoder(en[ea]));return eo}static inRange(en,er,ei){return er<=en&&en<=ei}static codePointToString(en){return en<=65535?String.fromCharCode(en):String.fromCharCode(((en-=65536)>>10)+55296,(1023&en)+56320)}static singleByteDecoder(en){if(eA.inRange(en,0,127))return en;let er=eA.windows1252[en-128];if(null===er)throw Error("invaliding encoding");return er}get(en,er=0){return eA.decode(en,er,er+this.len)}}er.AnsiStringType=eA,eA.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]},7496:function(en,er){var ei;(function(){var eo=function(en){return en instanceof eo?en:this instanceof eo?void(this.EXIFwrapped=en):new eo(en)};en.exports&&(er=er.default=eo),er.EXIF=eo;var ea=eo.Tags={36864:"ExifVersion",40960:"FlashpixVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",37121:"ComponentsConfiguration",37122:"CompressedBitsPerPixel",37500:"MakerNote",37510:"UserComment",40964:"RelatedSoundFile",36867:"DateTimeOriginal",36868:"DateTimeDigitized",37520:"SubsecTime",37521:"SubsecTimeOriginal",37522:"SubsecTimeDigitized",33434:"ExposureTime",33437:"FNumber",34850:"ExposureProgram",34852:"SpectralSensitivity",34855:"ISOSpeedRatings",34856:"OECF",37377:"ShutterSpeedValue",37378:"ApertureValue",37379:"BrightnessValue",37380:"ExposureBias",37381:"MaxApertureValue",37382:"SubjectDistance",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37396:"SubjectArea",37386:"FocalLength",41483:"FlashEnergy",41484:"SpatialFrequencyResponse",41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:"FocalPlaneResolutionUnit",41492:"SubjectLocation",41493:"ExposureIndex",41495:"SensingMethod",41728:"FileSource",41729:"SceneType",41730:"CFAPattern",41985:"CustomRendered",41986:"ExposureMode",41987:"WhiteBalance",41988:"DigitalZoomRation",41989:"FocalLengthIn35mmFilm",41990:"SceneCaptureType",41991:"GainControl",41992:"Contrast",41993:"Saturation",41994:"Sharpness",41995:"DeviceSettingDescription",41996:"SubjectDistanceRange",40965:"InteroperabilityIFDPointer",42016:"ImageUniqueID"},es=eo.TiffTags={256:"ImageWidth",257:"ImageHeight",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer",40965:"InteroperabilityIFDPointer",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",274:"Orientation",277:"SamplesPerPixel",284:"PlanarConfiguration",530:"YCbCrSubSampling",531:"YCbCrPositioning",282:"XResolution",283:"YResolution",296:"ResolutionUnit",273:"StripOffsets",278:"RowsPerStrip",279:"StripByteCounts",513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",301:"TransferFunction",318:"WhitePoint",319:"PrimaryChromaticities",529:"YCbCrCoefficients",532:"ReferenceBlackWhite",306:"DateTime",270:"ImageDescription",271:"Make",272:"Model",305:"Software",315:"Artist",33432:"Copyright"},eu=eo.GPSTags={0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude",5:"GPSAltitudeRef",6:"GPSAltitude",7:"GPSTimeStamp",8:"GPSSatellites",9:"GPSStatus",10:"GPSMeasureMode",11:"GPSDOP",12:"GPSSpeedRef",13:"GPSSpeed",14:"GPSTrackRef",15:"GPSTrack",16:"GPSImgDirectionRef",17:"GPSImgDirection",18:"GPSMapDatum",19:"GPSDestLatitudeRef",20:"GPSDestLatitude",21:"GPSDestLongitudeRef",22:"GPSDestLongitude",23:"GPSDestBearingRef",24:"GPSDestBearing",25:"GPSDestDistanceRef",26:"GPSDestDistance",27:"GPSProcessingMethod",28:"GPSAreaInformation",29:"GPSDateStamp",30:"GPSDifferential"},ec=eo.IFD1Tags={256:"ImageWidth",257:"ImageHeight",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",273:"StripOffsets",274:"Orientation",277:"SamplesPerPixel",278:"RowsPerStrip",279:"StripByteCounts",282:"XResolution",283:"YResolution",284:"PlanarConfiguration",296:"ResolutionUnit",513:"JpegIFOffset",514:"JpegIFByteCount",529:"YCbCrCoefficients",530:"YCbCrSubSampling",531:"YCbCrPositioning",532:"ReferenceBlackWhite"},ef=eo.StringValues={ExposureProgram:{0:"Not defined",1:"Manual",2:"Normal program",3:"Aperture priority",4:"Shutter priority",5:"Creative program",6:"Action program",7:"Portrait mode",8:"Landscape mode"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{0:"Unknown",1:"Daylight",2:"Fluorescent",3:"Tungsten (incandescent light)",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 - 5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire",1:"Flash fired",5:"Strobe return light not detected",7:"Strobe return light detected",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},SensingMethod:{1:"Not defined",2:"One-chip color area sensor",3:"Two-chip color area sensor",4:"Three-chip color area sensor",5:"Color sequential area sensor",7:"Trilinear sensor",8:"Color sequential linear sensor"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},SceneType:{1:"Directly photographed"},CustomRendered:{0:"Normal process",1:"Custom process"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},GainControl:{0:"None",1:"Low gain up",2:"High gain up",3:"Low gain down",4:"High gain down"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},SubjectDistanceRange:{0:"Unknown",1:"Macro",2:"Close view",3:"Distant view"},FileSource:{3:"DSC"},Components:{0:"",1:"Y",2:"Cb",3:"Cr",4:"R",5:"G",6:"B"}};function eA(en){return!!en.exifdata}function ed(en){var er=new DataView(en);if(255!=er.getUint8(0)||216!=er.getUint8(1))return!1;for(var ei=2,eo=en.byteLength;ei<eo;){if(255!=er.getUint8(ei))return!1;if(225==er.getUint8(ei+1))return ey(er,ei+4,er.getUint16(ei+2)-2);ei+=2+er.getUint16(ei+2)}}var eh={120:"caption",110:"credit",25:"keywords",55:"dateCreated",80:"byline",85:"bylineTitle",122:"captionWriter",105:"headline",116:"copyright",15:"category"};function ep(en,er,ei){for(var eo,ea,es,eu,ec=new DataView(en),ef={},eA=er;eA<er+ei;)28===ec.getUint8(eA)&&2===ec.getUint8(eA+1)&&(eu=ec.getUint8(eA+2))in eh&&(es=ec.getInt16(eA+3),ea=eh[eu],eo=em(ec,eA+5,es),ef.hasOwnProperty(ea)?ef[ea]instanceof Array?ef[ea].push(eo):ef[ea]=[ef[ea],eo]:ef[ea]=eo),eA++;return ef}function eg(en,er,ei,eo,ea){var es,eu,ec,ef=en.getUint16(ei,!ea),eA={};for(ec=0;ec<ef;ec++)es=ei+12*ec+2,(eu=eo[en.getUint16(es,!ea)])||console.log("Unknown tag: "+en.getUint16(es,!ea)),eA[eu]=eb(en,es,er,ei,ea);return eA}function eb(en,er,ei,eo,ea){var es,eu,ec,ef,eA,ed,eh=en.getUint16(er+2,!ea),ep=en.getUint32(er+4,!ea),eg=en.getUint32(er+8,!ea)+ei;switch(eh){case 1:case 7:if(1==ep)return en.getUint8(er+8,!ea);for(ef=0,es=ep>4?eg:er+8,eu=[];ef<ep;ef++)eu[ef]=en.getUint8(es+ef);return eu;case 2:return em(en,es=ep>4?eg:er+8,ep-1);case 3:if(1==ep)return en.getUint16(er+8,!ea);for(ef=0,es=ep>2?eg:er+8,eu=[];ef<ep;ef++)eu[ef]=en.getUint16(es+2*ef,!ea);return eu;case 4:if(1==ep)return en.getUint32(er+8,!ea);for(ef=0,eu=[];ef<ep;ef++)eu[ef]=en.getUint32(eg+4*ef,!ea);return eu;case 5:if(1==ep)return eA=en.getUint32(eg,!ea),ed=en.getUint32(eg+4,!ea),(ec=new Number(eA/ed)).numerator=eA,ec.denominator=ed,ec;for(ef=0,eu=[];ef<ep;ef++)eA=en.getUint32(eg+8*ef,!ea),ed=en.getUint32(eg+4+8*ef,!ea),eu[ef]=new Number(eA/ed),eu[ef].numerator=eA,eu[ef].denominator=ed;return eu;case 9:if(1==ep)return en.getInt32(er+8,!ea);for(ef=0,eu=[];ef<ep;ef++)eu[ef]=en.getInt32(eg+4*ef,!ea);return eu;case 10:if(1==ep)return en.getInt32(eg,!ea)/en.getInt32(eg+4,!ea);for(ef=0,eu=[];ef<ep;ef++)eu[ef]=en.getInt32(eg+8*ef,!ea)/en.getInt32(eg+4+8*ef,!ea);return eu}}function em(en,er,ei){for(var eo="",ea=er;ea<er+ei;ea++)eo+=String.fromCharCode(en.getUint8(ea));return eo}function ey(en,er){if("Exif"!=em(en,er,4))return!1;var ei,eo,eA,ed,eh,ep=er+6;if(18761==en.getUint16(ep))ei=!1;else{if(19789!=en.getUint16(ep))return!1;ei=!0}if(42!=en.getUint16(ep+2,!ei))return!1;var eb=en.getUint32(ep+4,!ei);if(eb<8)return!1;if((eo=eg(en,ep,ep+eb,es,ei)).ExifIFDPointer)for(eA in ed=eg(en,ep,ep+eo.ExifIFDPointer,ea,ei)){switch(eA){case"LightSource":case"Flash":case"MeteringMode":case"ExposureProgram":case"SensingMethod":case"SceneCaptureType":case"SceneType":case"CustomRendered":case"WhiteBalance":case"GainControl":case"Contrast":case"Saturation":case"Sharpness":case"SubjectDistanceRange":case"FileSource":ed[eA]=ef[eA][ed[eA]];break;case"ExifVersion":case"FlashpixVersion":ed[eA]=String.fromCharCode(ed[eA][0],ed[eA][1],ed[eA][2],ed[eA][3]);break;case"ComponentsConfiguration":ed[eA]=ef.Components[ed[eA][0]]+ef.Components[ed[eA][1]]+ef.Components[ed[eA][2]]+ef.Components[ed[eA][3]]}eo[eA]=ed[eA]}if(eo.GPSInfoIFDPointer)for(eA in eh=eg(en,ep,ep+eo.GPSInfoIFDPointer,eu,ei))"GPSVersionID"===eA&&(eh[eA]=eh[eA][0]+"."+eh[eA][1]+"."+eh[eA][2]+"."+eh[eA][3]),eo[eA]=eh[eA];return eo.thumbnail=function(en,er,ei,eo){var ea,es,eu,ef,eA=(ea=en,es=er+ei,eu=eo,ef=ea.getUint16(es,!eu),ea.getUint32(es+2+12*ef,!eu));if(!eA||eA>en.byteLength)return{};var ed=eg(en,er,er+eA,ec,eo);if(ed.Compression)switch(ed.Compression){case 6:if(ed.JpegIFOffset&&ed.JpegIFByteCount){var eh=er+ed.JpegIFOffset,ep=ed.JpegIFByteCount;ed.blob=new Blob([new Uint8Array(en.buffer,eh,ep)],{type:"image/jpeg"})}break;case 1:console.log("Thumbnail image format is TIFF, which is not implemented.");break;default:console.log("Unknown thumbnail image format '%s'",ed.Compression)}else 2==ed.PhotometricInterpretation&&console.log("Thumbnail image format is RGB, which is not implemented.");return ed}(en,ep,eb,ei),eo}function ev(en){var er={};if(1==en.nodeType){if(en.attributes.length>0){er["@attributes"]={};for(var ei=0;ei<en.attributes.length;ei++){var eo=en.attributes.item(ei);er["@attributes"][eo.nodeName]=eo.nodeValue}}}else if(3==en.nodeType)return en.nodeValue;if(en.hasChildNodes())for(var ea=0;ea<en.childNodes.length;ea++){var es=en.childNodes.item(ea),eu=es.nodeName;if(null==er[eu])er[eu]=ev(es);else{if(null==er[eu].push){var ec=er[eu];er[eu]=[],er[eu].push(ec)}er[eu].push(ev(es))}}return er}function eI(en){try{var er={};if(en.children.length>0)for(var ei=0;ei<en.children.length;ei++){var eo=en.children.item(ei),ea=eo.attributes;for(var es in ea){var eu=ea[es],ec=eu.nodeName,ef=eu.nodeValue;void 0!==ec&&(er[ec]=ef)}var eA=eo.nodeName;if(void 0===er[eA])er[eA]=ev(eo);else{if(void 0===er[eA].push){var ed=er[eA];er[eA]=[],er[eA].push(ed)}er[eA].push(ev(eo))}}else er=en.textContent;return er}catch(en){console.log(en.message)}}eo.enableXmp=function(){eo.isXmpEnabled=!0},eo.disableXmp=function(){eo.isXmpEnabled=!1},eo.getData=function(en,er){return((!self.Image||!(en instanceof self.Image))&&(!self.HTMLImageElement||!(en instanceof self.HTMLImageElement))||!!en.complete)&&(eA(en)?er&&er.call(en):function(en,er){function ei(ei){var ea=ed(ei);en.exifdata=ea||{};var es=function(en){var er=new DataView(en);if(255!=er.getUint8(0)||216!=er.getUint8(1))return!1;for(var ei=2,eo=en.byteLength;ei<eo;){if(ea=er,es=ei,56===ea.getUint8(es)&&66===ea.getUint8(es+1)&&73===ea.getUint8(es+2)&&77===ea.getUint8(es+3)&&4===ea.getUint8(es+4)&&4===ea.getUint8(es+5)){var ea,es,eu=er.getUint8(ei+7);return eu%2!=0&&(eu+=1),0===eu&&(eu=4),ep(en,ei+8+eu,er.getUint16(ei+6+eu))}ei++}}(ei);if(en.iptcdata=es||{},eo.isXmpEnabled){var eu=function(en){if("DOMParser"in self){var er=new DataView(en);if(255!=er.getUint8(0)||216!=er.getUint8(1))return!1;for(var ei=2,eo=en.byteLength,ea=new DOMParser;ei<eo-4;){if("http"==em(er,ei,4)){var es=ei-1,eu=er.getUint16(ei-2)-1,ec=em(er,es,eu),ef=ec.indexOf("xmpmeta>")+8,eA=(ec=ec.substring(ec.indexOf("<x:xmpmeta"),ef)).indexOf("x:xmpmeta")+10;return ec=ec.slice(0,eA)+'xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tiff="http://ns.adobe.com/tiff/1.0/" xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus" xmlns:ext="http://www.gettyimages.com/xsltExtension/1.0" xmlns:exif="http://ns.adobe.com/exif/1.0/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:crs="http://ns.adobe.com/camera-raw-settings/1.0/" xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/" xmlns:Iptc4xmpExt="http://iptc.org/std/Iptc4xmpExt/2008-02-29/" '+ec.slice(eA),eI(ea.parseFromString(ec,"text/xml"))}ei++}}}(ei);en.xmpdata=eu||{}}er&&er.call(en)}if(en.src){if(/^data\:/i.test(en.src))ei(function(en,er){er=er||en.match(/^data\:([^\;]+)\;base64,/mi)[1]||"",en=en.replace(/^data\:([^\;]+)\;base64,/gmi,"");for(var ei=atob(en),eo=ei.length,ea=new ArrayBuffer(eo),es=new Uint8Array(ea),eu=0;eu<eo;eu++)es[eu]=ei.charCodeAt(eu);return ea}(en.src));else if(/^blob\:/i.test(en.src)){var ea=new FileReader;ea.onload=function(en){ei(en.target.result)},function(en,er){var ei=new XMLHttpRequest;ei.open("GET",en,!0),ei.responseType="blob",ei.onload=function(en){(200==this.status||0===this.status)&&er(this.response)},ei.send()}(en.src,function(en){ea.readAsArrayBuffer(en)})}else{var es=new XMLHttpRequest;es.onload=function(){if(200==this.status||0===this.status)ei(es.response);else throw"Could not load image";es=null},es.open("GET",en.src,!0),es.responseType="arraybuffer",es.send(null)}}else if(self.FileReader&&(en instanceof self.Blob||en instanceof self.File)){var ea=new FileReader;ea.onload=function(en){ei(en.target.result)},ea.readAsArrayBuffer(en)}}(en,er),!0)},eo.getTag=function(en,er){if(eA(en))return en.exifdata[er]},eo.getIptcTag=function(en,er){if(eA(en))return en.iptcdata[er]},eo.getAllTags=function(en){if(!eA(en))return{};var er,ei=en.exifdata,eo={};for(er in ei)ei.hasOwnProperty(er)&&(eo[er]=ei[er]);return eo},eo.getAllIptcTags=function(en){if(!eA(en))return{};var er,ei=en.iptcdata,eo={};for(er in ei)ei.hasOwnProperty(er)&&(eo[er]=ei[er]);return eo},eo.pretty=function(en){if(!eA(en))return"";var er,ei=en.exifdata,eo="";for(er in ei)ei.hasOwnProperty(er)&&("object"==typeof ei[er]?ei[er]instanceof Number?eo+=er+" : "+ei[er]+" ["+ei[er].numerator+"/"+ei[er].denominator+"]\r\n":eo+=er+" : ["+ei[er].length+" values]\r\n":eo+=er+" : "+ei[er]+"\r\n");return eo},eo.readFromBinaryFile=function(en){return ed(en)},void 0!==(ei=(function(){return eo}).apply(er,[]))&&(en.exports=ei)}).call(this)},4059:()=>{},4554:en=>{en.exports=JSON.parse('{"t":{"oz":"angle03032023.onnx","$I":"mrz03032023.onnx","cK":"classLocal03032023.onnx","h6":"faceLandmark03032023.onnx","Mx":"faceDetection03032023.onnx"}}')}},__webpack_module_cache__={};function __webpack_require__(en){var er=__webpack_module_cache__[en];if(void 0!==er)return er.exports;var ei=__webpack_module_cache__[en]={exports:{}};return __webpack_modules__[en].call(ei.exports,ei,ei.exports,__webpack_require__),ei.exports}__webpack_require__.m=__webpack_modules__,(()=>{__webpack_require__.amdD=function(){throw Error("define cannot be used indirect")}})(),(()=>{__webpack_require__.n=en=>{var er=en&&en.__esModule?()=>en.default:()=>en;return __webpack_require__.d(er,{a:er}),er}})(),(()=>{__webpack_require__.d=(en,er)=>{for(var ei in er)__webpack_require__.o(er,ei)&&!__webpack_require__.o(en,ei)&&Object.defineProperty(en,ei,{enumerable:!0,get:er[ei]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=en=>Promise.all(Object.keys(__webpack_require__.f).reduce((er,ei)=>(__webpack_require__.f[ei](en,er),er),[]))})(),(()=>{__webpack_require__.u=en=>""+(({343:"MRZ",596:"PDF",911:"ZXing",975:"Face"})[en]||en)+"-"+({77:"705c",156:"2c44",190:"00d9",343:"70ee",596:"4ee2",911:"f54a",975:"5c85"})[en]+"-chunk.js"})(),(()=>{__webpack_require__.miniCssF=en=>{}})(),(()=>{__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(en){if("object"==typeof window)return window}}()})(),(()=>{__webpack_require__.o=(en,er)=>Object.prototype.hasOwnProperty.call(en,er)})(),(()=>{var en={},er="@idscan/idvc2:";__webpack_require__.l=(ei,eo,ea,es)=>{if(en[ei]){en[ei].push(eo);return}if(void 0!==ea)for(var eu,ec,ef=document.getElementsByTagName("script"),eA=0;eA<ef.length;eA++){var ed=ef[eA];if(ed.getAttribute("src")==ei||ed.getAttribute("data-webpack")==er+ea){eu=ed;break}}eu||(ec=!0,(eu=document.createElement("script")).type="module",eu.charset="utf-8",eu.timeout=120,__webpack_require__.nc&&eu.setAttribute("nonce",__webpack_require__.nc),eu.setAttribute("data-webpack",er+ea),eu.src=ei),en[ei]=[eo];var eh=(er,eo)=>{eu.onerror=eu.onload=null,clearTimeout(ep);var ea=en[ei];if(delete en[ei],eu.parentNode&&eu.parentNode.removeChild(eu),ea&&ea.forEach(en=>en(eo)),er)return er(eo)},ep=setTimeout(eh.bind(null,void 0,{type:"timeout",target:eu}),12e4);eu.onerror=eh.bind(null,eu.onerror),eu.onload=eh.bind(null,eu.onload),ec&&document.head.appendChild(eu)}})(),(()=>{__webpack_require__.r=en=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(en,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(en,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.p=""})(),(()=>{__webpack_require__.b=document.baseURI||self.location.href;var en={20:0,951:0};__webpack_require__.f.j=(er,ei)=>{var eo=__webpack_require__.o(en,er)?en[er]:void 0;if(0!==eo){if(eo)ei.push(eo[2]);else{var ea=new Promise((ei,ea)=>eo=en[er]=[ei,ea]);ei.push(eo[2]=ea);var es=__webpack_require__.p+__webpack_require__.u(er),eu=Error(),ec=ei=>{if(__webpack_require__.o(en,er)&&(0!==(eo=en[er])&&(en[er]=void 0),eo)){var ea=ei&&("load"===ei.type?"missing":ei.type),es=ei&&ei.target&&ei.target.src;eu.message="Loading chunk "+er+" failed.\n("+ea+": "+es+")",eu.name="ChunkLoadError",eu.type=ea,eu.request=es,eo[1](eu)}};__webpack_require__.l(es,ec,"chunk-"+er,er)}}};var er=(er,ei)=>{var eo,ea,[es,eu,ec]=ei,ef=0;if(es.some(er=>0!==en[er])){for(eo in eu)__webpack_require__.o(eu,eo)&&(__webpack_require__.m[eo]=eu[eo]);if(ec)var eA=ec(__webpack_require__)}for(er&&er(ei);ef<es.length;ef++)ea=es[ef],__webpack_require__.o(en,ea)&&en[ea]&&en[ea][0](),en[ea]=0},ei=self.webpackChunk_idscan_idvc2=self.webpackChunk_idscan_idvc2||[];ei.forEach(er.bind(null,0)),ei.push=er.bind(null,ei.push.bind(ei))})();var __webpack_exports__={};(()=>{__webpack_require__.d(__webpack_exports__,{Z:()=>cg});var en,er,ei={auto:{description:'enable "realFaceMode" only for iphone.'},none:{description:"disable this option."},all:{description:'enable "realFaceMode" for all devices.'}};let eo=ei;var ea=__webpack_require__(8944),es=__webpack_require__(4654),eu=[{name:"el",type:"String",description:"Id of an element on the page where the component will be integrated.",defaultValue:"videoCapturingEl",validationFn:"validateElement"},{name:"licenseKey",type:"String",description:"Key for the library",defaultValue:"",validationFn:"validateString"},{name:"networkUrl",type:"String",description:"Path to the folder with neural networks. Specify the path on the server if you need to remove the folder to another location. The default path is 'networks'.",defaultValue:"networks",validationFn:"validateString"},{name:"chunkPublicPath",type:"String",description:"Path to the folder with chunks. Specify the path on the server if you need to remove the folder to another location. The default path is 'networks'.",defaultValue:"networks/",validationFn:"validateString"},{name:"language",values:Array.from(ea.J3),type:"Array",description:"The option sets the language used for the translation of the text in the library",defaultValue:"en",validationFn:"validateDistinctStringInArray",arrayValues:Array.from(ea.J3),multiple:!1},{name:"documentTypes",type:"Array",description:"The option that describes what steps needs for each document type you are needed",defaultValue:[{type:"ID",steps:[{type:"front",name:"Document Front",mode:{uploader:!0,video:!0}},{type:"pdf",name:"Document PDF417 Barcode",mode:{uploader:!0,video:!0}},{type:"face",name:"Face",mode:{uploader:!0,video:!0}}]}],validationFn:"validateDocumentTypes"},{name:"realFaceMode",values:["auto","none","all"],type:"Array",description:"Option that enable advanced capture with volumetric face detection. Available values: 'auto', 'none'. Auto - enable \"realFaceMode\" only for iphone. All - enable \"realFaceMode\" for all devices. None - disable this option.",defaultValue:"auto",validationFn:"validateDistinctStringInArray",arrayValues:Object.keys(eo),multiple:!1},{name:"modalPosition",type:"Array",description:"Place the document type selection modal inside the component.",defaultValue:"center",validationFn:"validateDistinctStringInArray",arrayValues:Object.keys(es.h),multiple:!1},{name:"resizeUploadedImage",type:"Number",description:"Sets the maximum size for manually loaded pictures.",defaultValue:-1,validationFn:"validateNumber"},{name:"showSubmitBtn",type:"Boolean",description:'This option enables/disables the "submit" button after capturing all the images',defaultValue:!0,hidden:!0,validationFn:"validateBool"},{name:"h_stepMode",type:"Object",description:"Default value for step mode (video/uploader)",defaultValue:{uploader:!0,video:!0},hidden:!0,validationFn:null},{name:"isShowDocumentTypeSelect",type:"Boolean",description:"If only one document type is in the config and this option is disabled, the library starts immediately.",defaultValue:!0,validationFn:"validateBool"},{name:"useCDN",type:"Boolean",description:"Set to true if you prefer to load neural networks from cdn instead of your domain.",defaultValue:!1,validationFn:"validateBool"},{name:"useHeic",type:"Boolean",description:"This option switches on/off the HEIC images processing (HEIC is Apple’s proprietary version of the Image File format). It’s possible to upload only via a Mac/MacBook.",defaultValue:!1,validationFn:"validateBool"},{name:"autoContinue",type:"Boolean",description:"This option switches on/off the automatic transition to the next step.",defaultValue:!0,validationFn:"validateBool"},{name:"isShowGuidelinesButton",type:"Boolean",description:"Switches on the button show guidLines",defaultValue:!1,validationFn:"validateBool"},{name:"fixFrontOrientAfterUpload",type:"Boolean",description:"This option provides the possibility to adjust the correct position of the document in case of manual uploading.",defaultValue:!1,validationFn:"validateBool"},{name:"onChange",type:"Function",description:"Callback-function which will be called after change one step. The returnable value is the object with the type and the image",defaultValue:function(){return!0},validationFn:"validateFunction"},{name:"clickGuidlines",type:"Function",description:"Callback-function which will be called after guidLines button.",defaultValue:function(){return!0},validationFn:"validateFunction"},{name:"onReset",type:"Function",description:"Callback-function which will be called after reset all the steps. The returnable value is the object with the steps",defaultValue:function(){return!0},validationFn:"validateFunction"},{name:"submit",type:"Function",description:"Callback-function which will be called after completing all the steps.",defaultValue:function(){return!0},validationFn:"validateFunction"},{name:"onRetakeHook",type:"Function",description:"The function that will be called before reset the current step. The returnable value is the object with the current step",defaultValue:function(){return!0},validationFn:"validateFunction"},{name:"onCameraError",type:"Function",description:"The function that is invoked in case if the camera is not available. The response value is the object with the error code and the message",defaultValue:function(){return!0},validationFn:"validateFunction"},{name:"onMounted",type:"Function",description:"the function that will be called on the component mounted. This function doesn't return a value.",defaultValue:function(){return!0},validationFn:"validateFunction"},{name:"onReloaded",type:"Function",description:"Callback-function which will be called on the start component reloading",defaultValue:function(){return!0},validationFn:"validateFunction"}];let ec=eu;function ef(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function eA(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function ed(en,er,ei){return er&&eA(en.prototype,er),ei&&eA(en,ei),en}var eh=function(){"use strict";function en(){ef(this,en)}return ed(en,[{key:"validate",value:function(en,er){var ei=en||er;if(document.getElementById(ei))return ei;throw Error("element with id '".concat(ei,"' does not exist "))}}]),en}();let ep=eh;var eg=function(en,er){console.error('Type of config param "'.concat(en,'" is not valid. "').concat(en,'" set to ').concat("object"==typeof er?JSON.stringify(er):er))};let eb=eg;function em(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function ey(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function ev(en,er,ei){return er&&ey(en.prototype,er),ei&&ey(en,ei),en}var eI=function(){"use strict";function en(){em(this,en)}return ev(en,[{key:"validate",value:function(en,er,ei){return"boolean"==typeof en?en:(eb(ei,er),er)}}]),en}();let ew=eI;var eE=function(en){return"boolean"==typeof en},eC=function(en){return!!(en&&"object"==typeof en)},eT=function(en){return!!(en&&"function"==typeof en)},eS=function(en){return"string"==typeof en},eB=function(en){return Number.isFinite(Number.parseInt(en,10))},ex=function(en,er){try{var ei=eS(er),eo=en.includes(er.toLowerCase());return ei&&eo}catch(en){return!1}};function e_(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function eD(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function eP(en,er,ei){return er&&eD(en.prototype,er),ei&&eD(en,ei),en}var eO=function(){"use strict";function en(){e_(this,en)}return eP(en,[{key:"validate",value:function(en,er,ei,eo){try{if(ex(eo,en))return en;return eb(ei,er),er}catch(en){return eb(ei,er),er}}}]),en}();let ek=eO;var eQ=__webpack_require__(5072),eM=__webpack_require__(286),eF=__webpack_require__(404);function eN(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function eL(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function eR(en,er,ei){return er&&eL(en.prototype,er),ei&&eL(en,ei),en}function eG(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}var eU=ec.filter(function(en){return"documentTypes"===en.name})[0],ej=function(en){return function(er){var ei=er.type;if(!["pdf","mrz"].includes(ei))return!0;var eo=!1,ea="id"===(0,eM.Ue)(en),es="pdf"===ei,eu="mrz"===ei;return ea&&es&&(eo=!0),!ea&&eu&&(eo=!0),eo}},eV=function(en){return!!Object.keys(eF.Z).includes(en.type)||(console.error("Next step types are not allowed: [".concat(en.type,"]")),!1)},eH=function(en){var er=en.mode,ei=en.type,eo=en.name;return er?(null==er?void 0:er.video)||(null==er?void 0:er.uploader)?{mode:er,type:ei,name:eo}:(console.error("{ name: ".concat(eo,", type: ").concat(ei,", mode: { uploader: false, video: false} } cannot have both modes set to false, it has been reconfigured to { name: ").concat(eo,", type: ").concat(ei,", mode: { uploader: true, video: true } }")),{mode:{uploader:!0,video:!0},type:ei,name:eo}):{mode:{uploader:!0,video:!0},type:ei,name:eo}},ez=function(){"use strict";function en(){eN(this,en),eG(this,"types",[]),eG(this,"steps",[]),eG(this,"commonStepTypes",new Set),eG(this,"documentTypes",[])}return eR(en,[{key:"validate",value:function(en,er,ei){var eo=this;this.types=[],this.steps=[];var ea=en,es=Array.isArray(ea),eu=function(en){return en.steps.length};es&&ea.length||(eb(ei,eU.defaultValue),ea=er);var ec=ea.map(function(en){return en.type}),ef=this.validateTypes(ec),eA=ea.filter(function(en){return ef.includes(en.type)}).map(function(en){var er=ej(en.type);return en.steps=en.steps.map(function(en){return en.type=(0,eM.Ue)(en.type),en}).filter(eV).filter(er).map(eH),en}).filter(eu);return eA.length?eA.forEach(function(en){return eo.transformDocType(en)}):(eb(ei,eU.defaultValue),this.validate(er,er,ei)),this.setCommonStepTypes(),{types:this.types,steps:this.steps,commonStepTypes:this.commonStepTypes,documentTypes:this.documentTypes}}},{key:"validateTypes",value:function(en){var er=eQ.Z.names(),ei=en&&en.length?en:[eU.type],eo=function(en){return er.includes(en)},ea=function(en){return!er.includes(en)};try{var es=Array.isArray(ei),eu=ei.filter(eo),ec=ei.filter(ea),ef=!!eu.length;if(ec.length&&console.error("Next types are not allowed: [".concat(ec,"]")),es&&ef)return this.types=eu,eu;return this.types=[],[]}catch(en){return this.types=[],[]}}},{key:"transformDocType",value:function(en){var er=en.type,ei=en.steps;this.steps=ei,this.documentTypes[er]=ei}},{key:"setCommonStepTypes",value:function(){var en,er=function(en){return en.type},ei=Object.keys(this.documentTypes);if(ei.length){var eo=null===(en=this.documentTypes[ei[0]])||void 0===en?void 0:en.map(er);if(ei.length>1)for(var ea=this,es=function(en){var es,eu=null===(es=ea.documentTypes[ei[1]])||void 0===es?void 0:es.map(er);eo=null==eo?void 0:eo.filter(function(en){return null==eu?void 0:eu.includes(en)})},eu=1;eu<ei.length;eu+=1)es(eu);this.commonStepTypes=new Set(eo)}}}]),en}();let eZ=ez;function eW(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function eq(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function e$(en,er,ei){return er&&eq(en.prototype,er),ei&&eq(en,ei),en}var eK=function(){"use strict";function en(){eW(this,en)}return e$(en,[{key:"validate",value:function(en,er,ei){var eo=eT(en);return en&&eo?en:(eb(ei,er),er)}}]),en}();let eY=eK;function eX(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function eJ(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function e0(en,er,ei){return er&&eJ(en.prototype,er),ei&&eJ(en,ei),en}var e1=function(){"use strict";function en(){eX(this,en)}return e0(en,[{key:"validate",value:function(en,er,ei){return eB(en)?+en:(eb(ei,er),er)}}]),en}();let e2=e1;function e3(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function e4(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function e6(en,er,ei){return er&&e4(en.prototype,er),ei&&e4(en,ei),en}var e8=function(){"use strict";function en(){e3(this,en)}return e6(en,[{key:"validate",value:function(en,er,ei){var eo=eS(en);return en&&eo?en:(eb(ei,er),er)}}]),en}();let e5=e8;var e7=function(en){switch(en){case"validateElement":return new ep;case"validateBool":return new ew;case"validateDistinctStringInArray":return new ek;case"validateDocumentTypes":return new eZ;case"validateFunction":return new eY;case"validateNumber":return new e2;case"validateString":return new e5;default:return!1}};let e9=e7;function tn(en,er){(null==er||er>en.length)&&(er=en.length);for(var ei=0,eo=Array(er);ei<er;ei++)eo[ei]=en[ei];return eo}function tr(en){if(Array.isArray(en))return en}function ti(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function ta(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function ts(en,er,ei){return er&&ta(en.prototype,er),ei&&ta(en,ei),en}function tu(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function tl(en,er){var ei,eo,ea=null==en?null:"undefined"!=typeof Symbol&&en[Symbol.iterator]||en["@@iterator"];if(null!=ea){var es=[],eu=!0,ec=!1;try{for(ea=ea.call(en);!(eu=(ei=ea.next()).done)&&(es.push(ei.value),!er||es.length!==er);eu=!0);}catch(en){ec=!0,eo=en}finally{try{eu||null==ea.return||ea.return()}finally{if(ec)throw eo}}return es}}function tc(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function tf(en,er){return tr(en)||tl(en,er)||tA(en,er)||tc()}function tA(en,er){if(en){if("string"==typeof en)return tn(en,er);var ei=Object.prototype.toString.call(en).slice(8,-1);if("Object"===ei&&en.constructor&&(ei=en.constructor.name),"Map"===ei||"Set"===ei)return Array.from(ei);if("Arguments"===ei||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ei))return tn(en,er)}}var td=function(){"use strict";function en(er){ti(this,en),tu(this,"el",""),tu(this,"commonStepTypes",new Set),tu(this,"types",[]),tu(this,"steps",[]),tu(this,"documentTypes",null),tu(this,"licenseKey",""),tu(this,"autoContinue",!1),tu(this,"resizeUploadedImage",-1),tu(this,"fixFrontOrientAfterUpload",!1),tu(this,"useCDN",!1),tu(this,"networkUrl","networks"),tu(this,"realFaceMode","auto"),tu(this,"language",void 0),this.validate(er)}return ts(en,[{key:"getFunction",value:function(en){return e9(en)}},{key:"validate",value:function(en){var er=this,ei=function(ei){var eo,ea=ei.name,es=ei.defaultValue,eu=ei.validationFn,ec=ei.arrayValues;eo=ea in en?"boolean"==typeof en[ea]?en[ea]:en[ea]||es:es;var ef=er.getFunction(eu);if(ef){var eA=ef.validate(eo,es,ea,ec);"object"==typeof eA?Object.entries(eA).forEach(function(en){var ei=tf(en,2),eo=ei[0],ea=ei[1];er[eo]=ea}):er[ea]=eA}};ec.forEach(ei)}}]),en}();let th=td;var tp=__webpack_require__(814),tg=__webpack_require__(6597),tb=__webpack_require__(8764);function tm(en,er){(null==er||er>en.length)&&(er=en.length);for(var ei=0,eo=Array(er);ei<er;ei++)eo[ei]=en[ei];return eo}function ty(en){if(Array.isArray(en))return en}function tv(en){if(Array.isArray(en))return tm(en)}function tI(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function tw(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){tI(es,eo,ea,eu,ec,"next",en)}function ec(en){tI(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function tE(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function tC(en){if("undefined"!=typeof Symbol&&null!=en[Symbol.iterator]||null!=en["@@iterator"])return Array.from(en)}function tT(en,er){var ei,eo,ea=null==en?null:"undefined"!=typeof Symbol&&en[Symbol.iterator]||en["@@iterator"];if(null!=ea){var es=[],eu=!0,ec=!1;try{for(ea=ea.call(en);!(eu=(ei=ea.next()).done)&&(es.push(ei.value),!er||es.length!==er);eu=!0);}catch(en){ec=!0,eo=en}finally{try{eu||null==ea.return||ea.return()}finally{if(ec)throw eo}}return es}}function tS(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function tB(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function tx(en){for(var er=1;er<arguments.length;er++){var ei=null!=arguments[er]?arguments[er]:{},eo=Object.keys(ei);"function"==typeof Object.getOwnPropertySymbols&&(eo=eo.concat(Object.getOwnPropertySymbols(ei).filter(function(en){return Object.getOwnPropertyDescriptor(ei,en).enumerable}))),eo.forEach(function(er){tE(en,er,ei[er])})}return en}function t_(en,er){return ty(en)||tT(en,er)||tO(en,er)||tS()}function tD(en){return tv(en)||tC(en)||tO(en)||tB()}function tP(en){return en&&"undefined"!=typeof Symbol&&en.constructor===Symbol?"symbol":typeof en}function tO(en,er){if(en){if("string"==typeof en)return tm(en,er);var ei=Object.prototype.toString.call(en).slice(8,-1);if("Object"===ei&&en.constructor&&(ei=en.constructor.name),"Map"===ei||"Set"===ei)return Array.from(ei);if("Arguments"===ei||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ei))return tm(en,er)}}function tk(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var tQ=__webpack_require__(3416);function tM(en){return en instanceof Int8Array||en instanceof Int16Array||en instanceof Int32Array||en instanceof Uint8Array||en instanceof Uint8ClampedArray||en instanceof Uint16Array||en instanceof Uint32Array||en instanceof Float32Array||en instanceof Float64Array}function tF(en){return tM(en)||tL(en)}__webpack_require__.g.Buffer=__webpack_require__.g.Buffer||tb.lW;var tN={"[object Int8Array]":!0,"[object Int16Array]":!0,"[object Int32Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Uint16Array]":!0,"[object Uint32Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0};function tL(en){return tN[toString.call(en)]}function tR(en){if(!tF(en))return tb.lW.from(en);var er=tb.lW.from(en.buffer,en.byteOffset,en.byteLength);return en.byteLength!==en.buffer.byteLength&&(er=er.slice(en.byteOffset,en.byteOffset+en.byteLength)),er}function tG(en){return tU.apply(this,arguments)}function tU(){return(tU=tw(function(en){var er;return tk(this,function(ei){if(!(en instanceof Uint8Array||en instanceof ArrayBuffer||tb.lW.isBuffer(en)))throw TypeError("Expected the `input` argument to be of type `Uint8Array` or `Buffer` or `ArrayBuffer`, got `".concat(void 0===en?"undefined":tP(en),"`"));return(er=en instanceof tb.lW?en:tb.lW.from(en))&&er.length>1?[2,tj(tg.FY(er))]:[2]})})).apply(this,arguments)}function tj(en){return tV.apply(this,arguments)}function tV(){return(tV=tw(function(en){return tk(this,function(er){try{return[2,t$(en)]}catch(en){if(!(en instanceof tg.dL))throw en}return[2]})})).apply(this,arguments)}function tH(en,er,ei){ei=tx({offset:0},ei);var eo=!0,ea=!1,es=void 0;try{for(var eu,ec=er.entries()[Symbol.iterator]();!(eo=(eu=ec.next()).done);eo=!0){var ef=t_(eu.value,2),eA=ef[0],ed=ef[1];if(ei.mask){if(ed!==(ei.mask[eA]&en[eA+ei.offset]))return!1}else if(ed!==en[eA+ei.offset])return!1}}catch(en){ea=!0,es=en}finally{try{eo||null==ec.return||ec.return()}finally{if(ea)throw es}}return!0}var tz=4100;function tZ(en){return tD(en).map(function(en){return en.charCodeAt(0)})}function tW(en,er,ei){return tq.apply(this,arguments)}function tq(){return(tq=tw(function(en,er,ei){var eo;return tk(this,function(ea){switch(ea.label){case 0:return eo=tb.lW.alloc(tz),[4,er.ignore(ei)];case 1:return ea.sent(),[4,er.peekBuffer(eo,{mayBeLess:!0})];case 2:return ea.sent(),[2,eo.includes(tb.lW.from(en))]}})})).apply(this,arguments)}function t$(en){return tK.apply(this,arguments)}function tK(){return(tK=tw(function(en){var er,ei,eo,ea,es,eu,ec,ef,eA,ed,eh;function ep(){return eg.apply(this,arguments)}function eg(){return(eg=tw(function(){var er;return tk(this,function(ei){switch(ei.label){case 0:return er={},[4,en.readToken(tQ.INT32_BE)];case 1:return er.length=ei.sent(),[4,en.readToken(new tQ.StringType(4,"binary"))];case 2:return[2,(er.type=ei.sent(),er)]}})})).apply(this,arguments)}function eb(){return em.apply(this,arguments)}function em(){return(em=tw(function(){var er,ei;return tk(this,function(eo){switch(eo.label){case 0:return er=tb.lW.alloc(16),[4,en.readBuffer(er)];case 1:return eo.sent(),ei={id:er},[4,en.readToken(tQ.UINT64_LE)];case 2:return[2,(ei.size=eo.sent(),ei)]}})})).apply(this,arguments)}return tk(this,function(eg){switch(eg.label){case 0:return er=tb.lW.alloc(tz),ei=12,eo=function(en,ei){return tH(er,en,ei)},ea=function(en,er){return eo(tZ(en),er)},es=function(er,ei){return tW(er,en,ei)},en.fileInfo.size||(en.fileInfo.size=Number.MAX_SAFE_INTEGER),[4,en.peekBuffer(er,{length:ei,mayBeLess:!0})];case 1:if(eg.sent(),eo([66,77]))return[2,{ext:"bmp",mime:"image/bmp"}];if(eo([11,119]))return[2,{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"}];if(eo([120,1]))return[2,{ext:"dmg",mime:"application/x-apple-diskimage"}];if(eo([77,90]))return[2,{ext:"exe",mime:"application/x-msdownload"}];if(!eo([37,33]))return[3,3];return[4,en.peekBuffer(er,{length:24,mayBeLess:!0})];case 2:if(eg.sent(),ea("PS-Adobe-",{offset:2})&&ea(" EPSF-",{offset:14}))return[2,{ext:"eps",mime:"application/eps"}];return[2,{ext:"ps",mime:"application/postscript"}];case 3:if(eo([31,160])||eo([31,157]))return[2,{ext:"Z",mime:"application/x-compress"}];if(eo([255,216,255]))return[2,{ext:"jpg",mime:"image/jpeg"}];if(eo([73,73,188]))return[2,{ext:"jxr",mime:"image/vnd.ms-photo"}];if(eo([31,139,8]))return[2,{ext:"gz",mime:"application/gzip"}];if(eo([66,90,104]))return[2,{ext:"bz2",mime:"application/x-bzip2"}];if(ea("MP+"))return[2,{ext:"mpc",mime:"audio/x-musepack"}];if((67===er[0]||70===er[0])&&eo([87,83],{offset:1}))return[2,{ext:"swf",mime:"application/x-shockwave-flash"}];if(eo([71,73,70]))return[2,{ext:"gif",mime:"image/gif"}];if(ea("FLIF"))return[2,{ext:"flif",mime:"image/flif"}];if(ea("8BPS"))return[2,{ext:"psd",mime:"image/vnd.adobe.photoshop"}];if(ea("WEBP",{offset:8}))return[2,{ext:"webp",mime:"image/webp"}];if(ea("MPCK"))return[2,{ext:"mpc",mime:"audio/x-musepack"}];if(ea("FORM"))return[2,{ext:"aif",mime:"audio/aiff"}];if(ea("icns",{offset:0}))return[2,{ext:"icns",mime:"image/icns"}];if(!ea("OggS"))return[3,6];return[4,en.ignore(28)];case 4:return eg.sent(),eu=tb.lW.alloc(8),[4,en.readBuffer(eu)];case 5:if(eg.sent(),tH(eu,[79,112,117,115,72,101,97,100]))return[2,{ext:"opus",mime:"audio/opus"}];if(tH(eu,[128,116,104,101,111,114,97]))return[2,{ext:"ogv",mime:"video/ogg"}];if(tH(eu,[1,118,105,100,101,111,0]))return[2,{ext:"ogm",mime:"video/ogg"}];if(tH(eu,[127,70,76,65,67]))return[2,{ext:"oga",mime:"audio/ogg"}];if(tH(eu,[83,112,101,101,120,32,32]))return[2,{ext:"spx",mime:"audio/ogg"}];if(tH(eu,[1,118,111,114,98,105,115]))return[2,{ext:"ogg",mime:"audio/ogg"}];return[2,{ext:"ogx",mime:"application/ogg"}];case 6:if(eo([80,75])&&(3===er[2]||5===er[2]||7===er[2])&&(4===er[3]||6===er[3]||8===er[3]))return[2,{ext:"zip",mime:"application/zip"}];if(ea("ftyp",{offset:4})&&(96&er[8])!=0)switch(ec=er.toString("binary",8,12).replace("\x00"," ").trim()){case"avif":return[2,{ext:"avif",mime:"image/avif"}];case"mif1":return[2,{ext:"heic",mime:"image/heif"}];case"msf1":return[2,{ext:"heic",mime:"image/heif-sequence"}];case"heic":case"heix":return[2,{ext:"heic",mime:"image/heic"}];case"hevc":case"hevx":return[2,{ext:"heic",mime:"image/heic-sequence"}];case"qt":return[2,{ext:"mov",mime:"video/quicktime"}];case"M4V":case"M4VH":case"M4VP":return[2,{ext:"m4v",mime:"video/x-m4v"}];case"M4P":return[2,{ext:"m4p",mime:"video/mp4"}];case"M4B":return[2,{ext:"m4b",mime:"audio/mp4"}];case"M4A":return[2,{ext:"m4a",mime:"audio/x-m4a"}];case"F4V":return[2,{ext:"f4v",mime:"video/mp4"}];case"F4P":return[2,{ext:"f4p",mime:"video/mp4"}];case"F4A":return[2,{ext:"f4a",mime:"audio/mp4"}];case"F4B":return[2,{ext:"f4b",mime:"audio/mp4"}];case"crx":return[2,{ext:"cr3",mime:"image/x-canon-cr3"}];default:if(ec.startsWith("3g")){if(ec.startsWith("3g2"))return[2,{ext:"3g2",mime:"video/3gpp2"}];return[2,{ext:"3gp",mime:"video/3gpp"}]}return[2,{ext:"mp4",mime:"video/mp4"}]}if(ea("MThd"))return[2,{ext:"mid",mime:"audio/midi"}];if(ea("wOFF")&&(eo([0,1,0,0],{offset:4})||ea("OTTO",{offset:4})))return[2,{ext:"woff",mime:"font/woff"}];if(ea("wOF2")&&(eo([0,1,0,0],{offset:4})||ea("OTTO",{offset:4})))return[2,{ext:"woff2",mime:"font/woff2"}];if(eo([212,195,178,161])||eo([161,178,195,212]))return[2,{ext:"pcap",mime:"application/vnd.tcpdump.pcap"}];if(ea("DSD "))return[2,{ext:"dsf",mime:"audio/x-dsf"}];if(ea("LZIP"))return[2,{ext:"lz",mime:"application/x-lzip"}];if(ea("fLaC"))return[2,{ext:"flac",mime:"audio/x-flac"}];if(eo([66,80,71,251]))return[2,{ext:"bpg",mime:"image/bpg"}];if(ea("wvpk"))return[2,{ext:"wv",mime:"audio/wavpack"}];if(!ea("%PDF"))return[3,8];return[4,es("Adobe Illustrator",1350)];case 7:if(eg.sent())return[2,{ext:"ai",mime:"application/postscript"}];return[2,{ext:"pdf",mime:"application/pdf"}];case 8:if(eo([0,97,115,109]))return[2,{ext:"wasm",mime:"application/wasm"}];if(!eo([73,73,42,0]))return[3,10];if(ea("CR",{offset:8}))return[2,{ext:"cr2",mime:"image/x-canon-cr2"}];if(eo([28,0,254,0],{offset:8})||eo([31,0,11,0],{offset:8}))return[2,{ext:"nef",mime:"image/x-nikon-nef"}];if(eo([8,0,0,0],{offset:4})&&(eo([45,0,254,0],{offset:8})||eo([39,0,254,0],{offset:8})))return[2,{ext:"dng",mime:"image/x-adobe-dng"}];return er=tb.lW.alloc(24),[4,en.peekBuffer(er)];case 9:if(eg.sent(),(eo([16,251,134,1],{offset:4})||eo([8,0,0,0],{offset:4}))&&eo([0,254,0,4,0,1,0,0,0,1,0,0,0,3,1],{offset:9}))return[2,{ext:"arw",mime:"image/x-sony-arw"}];return[2,{ext:"tif",mime:"image/tiff"}];case 10:if(eo([77,77,0,42]))return[2,{ext:"tif",mime:"image/tiff"}];if(ea("MAC "))return[2,{ext:"ape",mime:"audio/ape"}];if(eo([82,73,70,70])){if(eo([65,86,73],{offset:8}))return[2,{ext:"avi",mime:"video/vnd.avi"}];if(eo([87,65,86,69],{offset:8}))return[2,{ext:"wav",mime:"audio/vnd.wave"}];if(eo([81,76,67,77],{offset:8}))return[2,{ext:"qcp",mime:"audio/qcelp"}]}if(ea("SQLi"))return[2,{ext:"sqlite",mime:"application/x-sqlite3"}];if(eo([78,69,83,26]))return[2,{ext:"nes",mime:"application/x-nintendo-nes-rom"}];if(ea("Cr24"))return[2,{ext:"crx",mime:"application/x-google-chrome-extension"}];if(ea("MSCF")||ea("ISc("))return[2,{ext:"cab",mime:"application/vnd.ms-cab-compressed"}];if(eo([237,171,238,219]))return[2,{ext:"rpm",mime:"application/x-rpm"}];if(eo([197,208,211,198]))return[2,{ext:"eps",mime:"application/eps"}];if(eo([79,84,84,79,0]))return[2,{ext:"otf",mime:"font/otf"}];if(ea("#!AMR"))return[2,{ext:"amr",mime:"audio/amr"}];if(ea("{\\rtf"))return[2,{ext:"rtf",mime:"application/rtf"}];if(eo([70,76,86,1]))return[2,{ext:"flv",mime:"video/x-flv"}];if(ea("IMPM"))return[2,{ext:"it",mime:"audio/x-it"}];if(ea("-lh0-",{offset:2})||ea("-lh1-",{offset:2})||ea("-lh2-",{offset:2})||ea("-lh3-",{offset:2})||ea("-lh4-",{offset:2})||ea("-lh5-",{offset:2})||ea("-lh6-",{offset:2})||ea("-lh7-",{offset:2})||ea("-lzs-",{offset:2})||ea("-lz4-",{offset:2})||ea("-lz5-",{offset:2})||ea("-lhd-",{offset:2}))return[2,{ext:"lzh",mime:"application/x-lzh-compressed"}];if(eo([0,0,1,186])){if(eo([33],{offset:4,mask:[241]}))return[2,{ext:"mpg",mime:"video/MP1S"}];if(eo([68],{offset:4,mask:[196]}))return[2,{ext:"mpg",mime:"video/MP2P"}]}if(eo([253,55,122,88,90,0]))return[2,{ext:"xz",mime:"application/x-xz"}];if(ea("<?xml "))return[2,{ext:"xml",mime:"application/xml"}];if(ea("BEGIN:"))return[2,{ext:"ics",mime:"text/calendar"}];if(eo([55,122,188,175,39,28]))return[2,{ext:"7z",mime:"application/x-7z-compressed"}];if(eo([82,97,114,33,26,7])&&(0===er[6]||1===er[6]))return[2,{ext:"rar",mime:"application/x-rar-compressed"}];if(ea("BLENDER"))return[2,{ext:"blend",mime:"application/x-blender"}];if(!eo([137,80,78,71,13,10,26,10]))return[3,20];return[4,en.ignore(8)];case 11:eg.sent(),eg.label=12;case 12:return[4,ep()];case 13:switch((ef=eg.sent()).type){case"IDAT":return[3,14];case"acTL":return[3,15]}return[3,16];case 14:return[2,{ext:"png",mime:"image/png"}];case 15:return[2,{ext:"apng",mime:"image/apng"}];case 16:return[4,en.ignore(ef.length+4)];case 17:eg.sent(),eg.label=18;case 18:if(en.position<en.fileInfo.size)return[3,12];eg.label=19;case 19:return[2,{ext:"png",mime:"image/png"}];case 20:if(eo([65,82,82,79,87,49,0,0]))return[2,{ext:"arrow",mime:"application/x-apache-arrow"}];if(eo([103,108,84,70,2,0,0,0]))return[2,{ext:"glb",mime:"model/gltf-binary"}];if(eo([102,114,101,101],{offset:4})||eo([109,100,97,116],{offset:4})||eo([109,111,111,118],{offset:4})||eo([119,105,100,101],{offset:4}))return[2,{ext:"mov",mime:"video/quicktime"}];if(eo([73,73,82,79,8,0,0,0,24]))return[2,{ext:"orf",mime:"image/x-olympus-orf"}];if(eo([73,73,85,0,24,0,0,0,136,231,116,216]))return[2,{ext:"rw2",mime:"image/x-panasonic-rw2"}];if(!eo([48,38,178,117,142,102,207,17,166,217]))return[3,28];return[4,en.ignore(30)];case 21:eg.sent(),eg.label=22;case 22:if(!(en.position+24<en.fileInfo.size))return[3,27];return[4,eb()];case 23:if(ed=(eA=eg.sent()).size-24,!tH(eA.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101]))return[3,25];return eh=tb.lW.alloc(16),[4,en.readBuffer(eh)];case 24:if(ed-=eg.sent(),tH(eh,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return[2,{ext:"wma",mime:"audio/x-ms-wma"}];if(tH(eh,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return[2,{ext:"wmv",mime:"video/x-ms-asf"}];return[3,27];case 25:return[4,en.ignore(ed)];case 26:return eg.sent(),[3,22];case 27:return[2,{ext:"asf",mime:"application/vnd.ms-asf"}];case 28:if(eo([171,75,84,88,32,49,49,187,13,10,26,10]))return[2,{ext:"ktx",mime:"image/ktx"}];if((eo([126,16,4])||eo([126,24,4]))&&eo([48,77,73,69],{offset:4}))return[2,{ext:"mie",mime:"application/x-mie"}];if(eo([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return[2,{ext:"shp",mime:"application/x-esri-shape"}];if(!eo([0,0,0,12,106,80,32,32,13,10,135,10]))return[3,31];return[4,en.ignore(20)];case 29:return eg.sent(),[4,en.readToken(new tQ.StringType(4,"ascii"))];case 30:switch(eg.sent()){case"jp2 ":return[2,{ext:"jp2",mime:"image/jp2"}];case"jpx ":return[2,{ext:"jpx",mime:"image/jpx"}];case"jpm ":return[2,{ext:"jpm",mime:"image/jpm"}];case"mjp2":return[2,{ext:"mj2",mime:"image/mj2"}];default:return[2]}eg.label=31;case 31:return[2]}})})).apply(this,arguments)}function tY(en){return new Promise(function(){var er=tw(function(er,ei){var eo;return tk(this,function(ea){return(eo=new FileReader).addEventListener("loadend",function(en){var ei=en.target.result;ei instanceof ArrayBuffer&&(ei=tR(new Uint8Array(en.target.result))),tG(ei).then(function(en){er(en)})}),eo.addEventListener("error",function(en){ei(Error(en.message))}),eo.addEventListener("abort",function(en){ei(Error(en.type))}),eo.readAsArrayBuffer(en),[2]})});return function(en,ei){return er.apply(this,arguments)}}())}let tX="data:image/jpeg;base64,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",tJ="data:image/jpeg;base64,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",t0="data:image/png;base64,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",t1="data:image/jpeg;base64,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",t2="data:image/jpeg;base64,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";function t3(en){switch(en){case"front":case"capturing":return"url(".concat(tX,")");case"pdf":return"url(".concat(tJ,")");case"barcode":return"url(".concat(t0,")");case"face":return"url(".concat(t1,")");case"mrz":case"pass":return"url(".concat(t2,")");default:return"url()"}}function t4(en,er){(null==er||er>en.length)&&(er=en.length);for(var ei=0,eo=Array(er);ei<er;ei++)eo[ei]=en[ei];return eo}function t6(en){if(Array.isArray(en))return t4(en)}function t8(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function t5(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function t7(en,er,ei){return er&&t5(en.prototype,er),ei&&t5(en,ei),en}function t9(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function nn(en){if("undefined"!=typeof Symbol&&null!=en[Symbol.iterator]||null!=en["@@iterator"])return Array.from(en)}function nr(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ni(en){return t6(en)||nn(en)||no(en)||nr()}function no(en,er){if(en){if("string"==typeof en)return t4(en,er);var ei=Object.prototype.toString.call(en).slice(8,-1);if("Object"===ei&&en.constructor&&(ei=en.constructor.name),"Map"===ei||"Set"===ei)return Array.from(ei);if("Arguments"===ei||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ei))return t4(en,er)}}function na(en){en.preventDefault(),en.stopPropagation()}var ns=function(){"use strict";function en(er,ei,eo,es,eu,ec){var ef=this;t8(this,en),t9(this,"onsubmit",void 0),t9(this,"onHandle",void 0),t9(this,"states",void 0),t9(this,"types",void 0),t9(this,"dropArea",void 0),t9(this,"dropAreaBackground",void 0),t9(this,"fileInput",void 0),t9(this,"stepName",void 0),t9(this,"errorTextEl",void 0),t9(this,"pressToUpdate",void 0),t9(this,"translation",void 0),t9(this,"textFront",void 0),t9(this,"textBack",void 0),t9(this,"textFace",void 0),t9(this,"textPdf",void 0),t9(this,"textMrz",void 0),t9(this,"textFrontBack",void 0),t9(this,"textPass",void 0),t9(this,"textFacePosition",void 0),t9(this,"moduleController",void 0),t9(this,"addedFileTypes",void 0),this.onsubmit=eo,this.onHandle=es,this.states=["success","error","warning"],this.types=Object.keys(eF.Z),this.translation=(0,ea.i0)("errorCodes"),this.dropArea=document.getElementById(er),this.dropAreaBackground=this.dropArea.querySelector(".uploader__background"),this.fileInput=document.getElementById("vc-upload-drop-file"),this.stepName=document.getElementById("vc-uploader-drop-step-name"),this.errorTextEl=document.getElementById("vc-uploader-error-text"),this.pressToUpdate=document.getElementById("vc-uploader-press-to-update"),this.textFront=document.getElementById("uploader-text-front"),this.textBack=document.getElementById("uploader-text-back"),this.textFace=document.getElementById("uploader-text-face"),this.textPdf=document.getElementById("uploader-text-pdf"),this.textMrz=document.getElementById("uploader-text-mrz"),this.textFrontBack=document.getElementById("uploader-text-front-back"),this.textPass=document.getElementById("uploader-text-pass"),this.textFacePosition=document.getElementById("uploader-text-face-postion"),this.fileInput.onchange=this.handleFiles.bind(this),this.dropArea.ondrop=this.handleDrop.bind(this),this.moduleController=eu,this.addedFileTypes=ec,this.changeType(ei),["dragenter","dragover","dragleave","drop"].forEach(function(en){ef.dropArea.addEventListener(en,na,!1),document.body.addEventListener(en,na,!1)}),["dragenter","dragover"].forEach(function(en){ef.dropArea.addEventListener(en,ef.highlight.bind(ef),!1)}),["dragleave","drop"].forEach(function(en){ef.dropArea.addEventListener(en,ef.unhighlight.bind(ef),!1)}),this.setText()}return t7(en,[{key:"checkType",value:function(en){var er=en;if(-1!==["bmp","gif","jpg","png","tif"].concat(ni(this.addedFileTypes)).indexOf(en))this.dropArea.classList.remove("uploader__error"),this.dropArea.classList.add("uploader__success");else{var ei="fileType";this.addedFileTypes.includes("heic")&&(ei="fileTypeHeic"),this.showError(ei),er=!1}return er}},{key:"handleFiles",value:function(en){var er=this;this.onHandle();var ei=en.target.files;if(ei&&ei.length>0){var eo=ei[0];tY(eo).then(function(en){var ei=er.checkType(en.ext);if(ei){if("heic"===ei){var ea=new FileReader;ea.onload=function(en){var ei="heic";if(!er.moduleController.isExist("module","heic")){er.showError("disableStepFileUpload");return}er.moduleController.execute("module","heic","convert",en).then(function(en){en&&en.imageDataArr&&en.imageDataArr[0]?er.onsubmit({data:en.imageDataArr[0],err:!1}):(er.showError(ei),er.onsubmit({data:null,err:!0}))}).catch(function(){er.showError(ei),er.onsubmit({data:null,err:!0})})},ea.readAsArrayBuffer(eo)}else{var es=new FileReader;es.readAsDataURL(eo),es.onloadend=function(en){if("string"==typeof en.target.result){var ei=new Image;ei.onload=function(){600>Math.max(ei.naturalWidth,ei.naturalHeight)?(er.showError("lowImageResolution"),er.onsubmit({data:null,err:!0})):er.onsubmit({data:es.result,err:!1})},ei.src=en.target.result}else er.onsubmit({data:null,err:!0})}}}else er.onsubmit({data:null,err:!0})}).catch(function(){er.onsubmit({data:null,err:!0})})}else this.onsubmit({data:null,err:!0});this.resetInput()}},{key:"setText",value:function(){var en=this,er=(0,ea.i0)("uploaderDescription");Object.keys(er).forEach(function(ei){en[ei]&&(en[ei].innerHTML=er[ei])})}},{key:"showError",value:function(en){this.clearStates(),en in this.translation?this.errorTextEl.innerHTML=this.translation[en]:this.errorTextEl.innerHTML=en,"disableStepFileUpload"===en?this.pressToUpdate.classList.add("uploader__press-update--disabled"):this.pressToUpdate.classList.remove("uploader__press-update--disabled"),this.dropArea.classList.add("uploader__error")}},{key:"clearStates",value:function(){var en=this;this.states.forEach(function(er){en.dropArea.classList.remove("uploader__".concat(er))})}},{key:"resetInput",value:function(){this.fileInput.type="text",this.fileInput.type="file"}},{key:"highlight",value:function(){this.dropArea.classList.add("uploader__highlight")}},{key:"unhighlight",value:function(){this.dropArea.classList.remove("uploader__highlight")}},{key:"handleDrop",value:function(en){var er=en.dataTransfer;er&&this.handleFiles({target:{files:er.files}})}},{key:"changeType",value:function(en){var er=this;this.types.forEach(function(en){er.dropArea.classList.remove("uploader__".concat(en))}),this.clearStates(),this.dropArea.classList.add("uploader__".concat(en.type)),this.dropAreaBackground.style.backgroundImage=t3(en.type),en.img&&(this.dropArea.classList.remove("uploader__error"),this.dropArea.classList.add("uploader__success")),this.stepName.innerHTML=en.name||"",en.errorCode&&this.showError(en.errorCode)}},{key:"transition",value:function(){var en=this;this.dropArea.classList.add("transition"),setTimeout(function(){return en.dropArea.classList.remove("transition")},150)}},{key:"setDisabled",value:function(en){!0===en?this.fileInput.setAttribute("disabled","disabled"):this.fileInput.removeAttribute("disabled")}}]),en}();let nu=ns;function nl(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function nc(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){nl(es,eo,ea,eu,ec,"next",en)}function ec(en){nl(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function nf(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function nA(en){for(var er=1;er<arguments.length;er++){var ei=null!=arguments[er]?arguments[er]:{},eo=Object.keys(ei);"function"==typeof Object.getOwnPropertySymbols&&(eo=eo.concat(Object.getOwnPropertySymbols(ei).filter(function(en){return Object.getOwnPropertyDescriptor(ei,en).enumerable}))),eo.forEach(function(er){nf(en,er,ei[er])})}return en}function nd(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var nh=function(){return"ontouchstart"in document.documentElement};let np={checkIsTouchScreen:nh,prepareCameraErr:function(en){var er=["code","message","name"],ei={};return en&&er.forEach(function(er){en&&en[er]&&void 0!==en[er]&&(ei[er]=en[er])}),ei},formDataForSubmit:function(en,er){var ei=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},eo=nA({},ei,{steps:en,documentType:er.type});return er.metaData.logs=er.loggerController.prepareDataForSubmit(),eo.metaData=er.metaData.prepareMetaDataForSubmit(en),eo},imageToImageData:function(en){var er=document.createElement("canvas"),ei=er.getContext("2d",{willReadFrequently:!0});return er.height=en.height,er.width=en.width,ei.drawImage(en,0,0),ei.getImageData(0,0,en.width,en.height)},base64ToImageData:function(en){return nc(function(){var er;return nd(this,function(ei){return er=this,[2,new Promise(function(ei){var eo=new Image,ea=er;eo.onload=nc(function(){return nd(this,function(en){return ei(ea.imageToImageData(eo)),[2]})}),eo.src=en})]})}).apply(this)}};var ng=__webpack_require__(5467),nb=__webpack_require__(4155),nm=function(en,er,ei){if(ei||2==arguments.length)for(var eo,ea=0,es=er.length;ea<es;ea++)!eo&&ea in er||(eo||(eo=Array.prototype.slice.call(er,0,ea)),eo[ea]=er[ea]);return en.concat(eo||Array.prototype.slice.call(er))},ny=function(){return function(en,er,ei){this.name=en,this.version=er,this.os=ei,this.type="browser"}}(),nv=function(){return function(en){this.version=en,this.type="node",this.name="node",this.os=nb.platform}}(),nI=function(){return function(en,er,ei,eo){this.name=en,this.version=er,this.os=ei,this.bot=eo,this.type="bot-device"}}(),nw=function(){return function(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}}(),nE=function(){return function(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}}(),nC=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,nT=3,nS=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/]],nB=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function nx(en){return en?nD(en):"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product?new nE:"undefined"!=typeof navigator?nD(navigator.userAgent):nO()}function n_(en){return""!==en&&nS.reduce(function(er,ei){var eo=ei[0],ea=ei[1];if(er)return er;var es=ea.exec(en);return!!es&&[eo,es]},!1)}function nD(en){var er=n_(en);if(!er)return null;var ei=er[0],eo=er[1];if("searchbot"===ei)return new nw;var ea=eo[1]&&eo[1].split(".").join("_").split("_").slice(0,3);ea?ea.length<nT&&(ea=nm(nm([],ea,!0),nk(nT-ea.length),!0)):ea=[];var es=ea.join("."),eu=nP(en),ec=nC.exec(en);return ec&&ec[1]?new nI(ei,es,eu,ec[1]):new ny(ei,es,eu)}function nP(en){for(var er=0,ei=nB.length;er<ei;er++){var eo=nB[er],ea=eo[0];if(eo[1].exec(en))return ea}return null}function nO(){return void 0!==nb&&nb.version?new nv(nb.version.slice(1)):null}function nk(en){for(var er=[],ei=0;ei<en;ei++)er.push("0");return er}var nQ=__webpack_require__(2437),nM=__webpack_require__.n(nQ),nF=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,nN=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,nL=function(){return["iPad Simulator","iPhone Simulator","iPad","iPhone"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document},nR=function(){return navigator.maxTouchPoints>0},nG=function(){return"ontouchstart"in document.documentElement},nU=function(){var en=navigator.userAgent,er=window.matchMedia("(any-pointer: coarse)"),ei=nR(),eo=function(){return window.PointerEvent&&ei},ea=function(){return -1!==en.indexOf("Windows")&&eo()};return{isMobileUserAgent:function(){return nF.test(en)||nN.test(en.substring(0,4))||nL()},isTouchable:eo,isTouchScreen:function(){return er.matches},isSurface:ea}},nj=function(){var en=nU(),er=en.isMobileUserAgent(),ei=en.isTouchable(),eo=en.isTouchScreen(),ea=en.isSurface();return er&&ei&&eo||ea};let nV=nj;var nH=__webpack_require__(7728),nz=function(en){if(en&&(tp.Z.config.language=en),!tp.Z.config.language){var er=navigator.language.slice(0,2);tp.Z.config.language=ea.J3.includes(er)?er:ea.J3[0]}};function nZ(en){nz(en),(0,ea._2)(tp.Z.config.language),ng.ZP.ui.initGeneralText(),(0,nH.Z)(ng.ZP.ui.selectDocumentType)}var nW=new(nM())(window.navigator.userAgent),nq=function(){tp.Z.browser=nx(),tp.Z.browserMajorVersion=+tp.Z.browser.version.split(".")[0],tp.Z.isMobile=nV(),tp.Z.isIIphone=nW.is("iPhone")},n$=function(en){var er,ei=null===(er=ec.find(function(en){return"h_stepMode"===en.name}))||void 0===er?void 0:er.defaultValue;return tp.Z.config.types.map(function(en){return tp.Z.config.documentTypes[en]}).map(function(en){return en}).flat().filter(Boolean).map(function(er){var eo=er.mode;return en(eo&&"video"in eo?eo.video:ei.video,eo&&"uploader"in eo?eo.uploader:ei.uploader)}).some(Boolean)},nK=function(){return n$(function(en,er){return en&&!er})},nY=function(){return n$(function(en,er){return!en&&er})},nX=function(){return n$(function(en,er){return en&&er})},nJ=function(){nq()},n0=function(){switch(tp.Z.config.realFaceMode){case"all":tp.Z.isRealFaceAvailable=!0;break;case"auto":tp.Z.isRealFaceAvailable=nW.is("iPhone");break;default:tp.Z.isRealFaceAvailable=!1}},n1=function(){ng.ZP.ui.initTypeSelect(),nZ()},n2=function(){var en=tp.Z.config.types;if(1===en.length){var er=eQ.Z.names().indexOf(en[0]);tp.Z.type=eQ.Z.ids()[er]}};let n3={typesInit:n2,checkCompatibility:nJ,start:n1,isCameraRequired:nK,isUploaderRequired:nY,isCameraNeeded:nX,detectAndSetBrowser:nq,detectAndSetRealFaceMode:n0};var n4=__webpack_require__(1263);!function(en){en.Back="environment",en.Front="user"}(en||(en={})),function(en){en.MediaDevicesNotSupported="MediaDevicesNotSupported",en.CameraNotFound="CameraNotFound",en.CameraNotAllowed="CameraNotAllowed",en.CameraInUse="CameraInUse",en.CameraNotAvailable="CameraNotAvailable"}(er||(er={}));var n6=function(en){var er=document.getElementById("VC-browser-compatibility");er.classList.add("browser-not-compability--enable"),er.textContent=en},n8=function(){document.getElementById("VC-browser-compatibility").classList.remove("browser-not-compability--enable")};function n5(en,er){(null==er||er>en.length)&&(er=en.length);for(var ei=0,eo=Array(er);ei<er;ei++)eo[ei]=en[ei];return eo}function n7(en){if(Array.isArray(en))return n5(en)}function n9(en){if(void 0===en)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return en}function rn(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function rr(en,er,ei){return(rr=rb()?Reflect.construct:function(en,er,ei){var eo=[null];eo.push.apply(eo,er);var ea=new(Function.bind.apply(en,eo));return ei&&rf(ea,ei.prototype),ea}).apply(null,arguments)}function ri(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function ro(en){return(ro=Object.setPrototypeOf?Object.getPrototypeOf:function(en){return en.__proto__||Object.getPrototypeOf(en)})(en)}function ra(en,er){if("function"!=typeof er&&null!==er)throw TypeError("Super expression must either be null or a function");en.prototype=Object.create(er&&er.prototype,{constructor:{value:en,writable:!0,configurable:!0}}),er&&rf(en,er)}function rs(en){return -1!==Function.toString.call(en).indexOf("[native code]")}function ru(en){if("undefined"!=typeof Symbol&&null!=en[Symbol.iterator]||null!=en["@@iterator"])return Array.from(en)}function rl(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function rc(en,er){return er&&("object"===rh(er)||"function"==typeof er)?er:n9(en)}function rf(en,er){return(rf=Object.setPrototypeOf||function(en,er){return en.__proto__=er,en})(en,er)}function rA(en){return n7(en)||ru(en)||rp(en)||rl()}function rh(en){return en&&"undefined"!=typeof Symbol&&en.constructor===Symbol?"symbol":typeof en}function rp(en,er){if(en){if("string"==typeof en)return n5(en,er);var ei=Object.prototype.toString.call(en).slice(8,-1);if("Object"===ei&&en.constructor&&(ei=en.constructor.name),"Map"===ei||"Set"===ei)return Array.from(ei);if("Arguments"===ei||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ei))return n5(en,er)}}function rg(en){var er="function"==typeof Map?new Map:void 0;return(rg=function(en){if(null===en||!rs(en))return en;if("function"!=typeof en)throw TypeError("Super expression must either be null or a function");if(void 0!==er){if(er.has(en))return er.get(en);er.set(en,ei)}function ei(){return rr(en,arguments,ro(this).constructor)}return ei.prototype=Object.create(en.prototype,{constructor:{value:ei,enumerable:!1,writable:!0,configurable:!0}}),rf(ei,en)})(en)}function rb(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(en){return!1}}function rm(en){var er=rb();return function(){var ei,eo=ro(en);if(er){var ea=ro(this).constructor;ei=Reflect.construct(eo,arguments,ea)}else ei=eo.apply(this,arguments);return rc(this,ei)}}var ry=function(en){"use strict";ra(ei,en);var er=rm(ei);function ei(en){for(var eo,ea=arguments.length,es=Array(ea>1?ea-1:0),eu=1;eu<ea;eu++)es[eu-1]=arguments[eu];return rn(this,ei),ri(n9(eo=er.call.apply(er,[this].concat(rA(es)))),"reason",void 0),eo.reason=en,eo.name="CameraError",eo}return ei}(rg(Error)),rI=function(en){var er=(0,ea.i0)("errorCodes");n6(en.reason in er?er[en.reason]:er.default),console.log("".concat(en.name,": ").concat(en.message))};function rw(en,er){(null==er||er>en.length)&&(er=en.length);for(var ei=0,eo=Array(er);ei<er;ei++)eo[ei]=en[ei];return eo}function rE(en){if(Array.isArray(en))return rw(en)}function rC(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function rT(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){rC(es,eo,ea,eu,ec,"next",en)}function ec(en){rC(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function rS(en){if("undefined"!=typeof Symbol&&null!=en[Symbol.iterator]||null!=en["@@iterator"])return Array.from(en)}function rB(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function rx(en){return rE(en)||rS(en)||r_(en)||rB()}function r_(en,er){if(en){if("string"==typeof en)return rw(en,er);var ei=Object.prototype.toString.call(en).slice(8,-1);if("Object"===ei&&en.constructor&&(ei=en.constructor.name),"Map"===ei||"Set"===ei)return Array.from(ei);if("Arguments"===ei||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ei))return rw(en,er)}}function rD(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var rP=[],rO=function(en){en.getTracks().forEach(function(er){er.stop(),en.removeTrack(er)})},rk=function(en){var ei=er.CameraInUse;switch(en.name){case"NotFoundError":case"OverconstrainedError":ei=er.CameraNotFound;break;case"NotAllowedError":case"SecurityError":ei=er.CameraNotAllowed;break;case"AbortError":case"NotReadableError":ei=er.CameraNotAvailable;break;default:throw en}return new ry(ei)},rQ=["wide","telephoto","desk"],rM=["desk","rear","back","r\xfcck","arri\xe8re","trasera","tr\xe1s","traseira","posteriore","后面","後面","背面","后置","後置","背置","задней","الخلفية","후","arka","achterzijde","หลัง","baksidan","bagside","sau","bak","tylny","takakamera","belakang","אחורית","πίσω","spate","h\xe1ts\xf3","zadn\xed","darrere","zadn\xe1","задня","stražnja","belakang","बैक"],rF=function(en){var er=en.toLowerCase();return rM.some(function(en){return er.includes(en)})},rN=function(){var er=rT(function(){var er,ei;return rD(this,function(eo){switch(eo.label){case 0:return eo.trys.push([0,5,,6]),[4,navigator.mediaDevices.enumerateDevices()];case 1:if(!(er=eo.sent()).filter(function(en){return en.kind.toLowerCase().startsWith("video")}).every(function(en){return""===en.label}))return[3,4];return[4,navigator.mediaDevices.getUserMedia({video:!0,audio:!1})];case 2:return ei=eo.sent(),[4,navigator.mediaDevices.enumerateDevices()];case 3:er=eo.sent(),rO(ei),eo.label=4;case 4:return er.filter(function(en){return en.kind.toLowerCase().startsWith("video")}).filter(function(en){var er=en.label.toLowerCase();return!rQ.some(function(en){return er.includes(en)})}).forEach(function(er){var ei=er.label||"";er.cameraType=rF(ei)?en.Back:en.Front,ei&&rP.push(er)}),[2,rP];case 5:return[2,rk(eo.sent())];case 6:return[2]}})});return function(){return er.apply(this,arguments)}}(),rL=function(){var en=rT(function(en){var er,ei,eo,ea;return rD(this,function(es){switch(es.label){case 0:if(rP.length)return[3,2];return[4,rN()];case 1:es.sent(),es.label=2;case 2:if(!rP.length)return[2,!1];return(er=rP.filter(function(er){return er.cameraType===en})).length||(er=rP),er=er.sort(function(en,er){return en.label.localeCompare(er.label)}),ei=0,(eo=er.map(function(en){var er=en.label.match(/\b([0-9]+)MP?\b/i);return null!==er?parseInt(er[1],10):NaN})).some(Number.isNaN)||(ei=eo.lastIndexOf((ea=Math).max.apply(ea,rx(eo)))),[2,er[ei]]}})});return function(er){return en.apply(this,arguments)}}(),rR=function(){var ei=rT(function(ei){var eo,ea,es,eu;return rD(this,function(ec){switch(ec.label){case 0:eo=ei.cameraType,ea=ei.defaultConstraints,ec.label=1;case 1:return ec.trys.push([1,4,,5]),[4,rL(eo)];case 2:if(!(es=ec.sent()))return[2,new ry(er.CameraNotFound)];return eu=JSON.parse(JSON.stringify(ea)),""===es.deviceId?eu.video.facingMode={ideal:eo===en.Back?"environment":"user"}:eu.video.deviceId={exact:es.deviceId},[4,navigator.mediaDevices.getUserMedia(eu)];case 3:return[2,ec.sent()];case 4:return[2,rk(ec.sent())];case 5:return[2]}})});return function(en){return ei.apply(this,arguments)}}();function rG(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function rU(en,er){var ei=Object.keys(en);if(Object.getOwnPropertySymbols){var eo=Object.getOwnPropertySymbols(en);er&&(eo=eo.filter(function(er){return Object.getOwnPropertyDescriptor(en,er).enumerable})),ei.push.apply(ei,eo)}return ei}var rj=240,rV=768,rH=1920,rz=1080,rZ=1080,rW={audio:!1,video:{width:{min:1280,ideal:1920,max:1920}}},rq={audio:!1,video:function(en,er){return er=null!=er?er:{},Object.getOwnPropertyDescriptors?Object.defineProperties(en,Object.getOwnPropertyDescriptors(er)):rU(Object(er)).forEach(function(ei){Object.defineProperty(en,ei,Object.getOwnPropertyDescriptor(er,ei))}),en}(function(en){for(var er=1;er<arguments.length;er++){var ei=null!=arguments[er]?arguments[er]:{},eo=Object.keys(ei);"function"==typeof Object.getOwnPropertySymbols&&(eo=eo.concat(Object.getOwnPropertySymbols(ei).filter(function(en){return Object.getOwnPropertyDescriptor(ei,en).enumerable}))),eo.forEach(function(er){rG(en,er,ei[er])})}return en}({},{width:360}),{frameRate:{max:30}})},r$=__webpack_require__(8512);function rK(en,er){(null==er||er>en.length)&&(er=en.length);for(var ei=0,eo=Array(er);ei<er;ei++)eo[ei]=en[ei];return eo}function rY(en){if(Array.isArray(en))return en}function rX(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function rJ(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){rX(es,eo,ea,eu,ec,"next",en)}function ec(en){rX(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function r0(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function r1(en,er){var ei,eo,ea=null==en?null:"undefined"!=typeof Symbol&&en[Symbol.iterator]||en["@@iterator"];if(null!=ea){var es=[],eu=!0,ec=!1;try{for(ea=ea.call(en);!(eu=(ei=ea.next()).done)&&(es.push(ei.value),!er||es.length!==er);eu=!0);}catch(en){ec=!0,eo=en}finally{try{eu||null==ea.return||ea.return()}finally{if(ec)throw eo}}return es}}function r2(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r3(en){for(var er=1;er<arguments.length;er++){var ei=null!=arguments[er]?arguments[er]:{},eo=Object.keys(ei);"function"==typeof Object.getOwnPropertySymbols&&(eo=eo.concat(Object.getOwnPropertySymbols(ei).filter(function(en){return Object.getOwnPropertyDescriptor(ei,en).enumerable}))),eo.forEach(function(er){r0(en,er,ei[er])})}return en}function r4(en,er){var ei=Object.keys(en);if(Object.getOwnPropertySymbols){var eo=Object.getOwnPropertySymbols(en);er&&(eo=eo.filter(function(er){return Object.getOwnPropertyDescriptor(en,er).enumerable})),ei.push.apply(ei,eo)}return ei}function r6(en,er){return er=null!=er?er:{},Object.getOwnPropertyDescriptors?Object.defineProperties(en,Object.getOwnPropertyDescriptors(er)):r4(Object(er)).forEach(function(ei){Object.defineProperty(en,ei,Object.getOwnPropertyDescriptor(er,ei))}),en}function r8(en,er){return rY(en)||r1(en,er)||r5(en,er)||r2()}function r5(en,er){if(en){if("string"==typeof en)return rK(en,er);var ei=Object.prototype.toString.call(en).slice(8,-1);if("Object"===ei&&en.constructor&&(ei=en.constructor.name),"Map"===ei||"Set"===ei)return Array.from(ei);if("Arguments"===ei||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ei))return rK(en,er)}}function r7(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var r9={},ir=!1,io=!1,ia=function(){tp.Z.track&&(tp.Z.track.stop(),tp.Z.track=null),tp.Z.stream&&(rO(tp.Z.stream),tp.Z.stream&&(tp.Z.stream=null)),ng.ZP.ui.video.srcObject=null},is=function(en){tp.Z.isVideoCapture=en,ng.ZP.ui.toggleUploaderWrap(),ng.ZP.ui.updateVideoWrap(),ng.ZP.ui.updateBtnsWrap(),ng.ZP.ui.updateContinueBtn(),ng.ZP.ui.updateSubmitBtn(),ng.ZP.ui.updateRetakeButton()},iu=function(){var en=rJ(function(){return r7(this,function(en){return ir||(n4.Z.isExist("module","pdf")&&n4.Z.execute("module","pdf","allocate"),ng.ZP.ui.msBtn.setState("video"),is(!1),ng.ZP.ui.msBtn.setLoading(!1),ng.ZP.ui.msBtn.setLoading(!0),ng.ZP.ui.msBtn.setEnabled(!!tp.Z.stream),ng.ZP.ui.msBtn.setLoading(!1),(0,r$.u7)(),ir=!0),[2]})});return function(){return en.apply(this,arguments)}}(),il=function(){var en=rJ(function(en){return r7(this,function(er){switch(er.label){case 0:return[4,iu()];case 1:throw er.sent(),(0,r$.Jo)(),ng.ZP.ui.msBtn.setEnabled(!1),Error(en.message)}})});return function(er){return en.apply(this,arguments)}}(),ic=function(en){(0,r$.u7)(),is(!1),ng.ZP.ui.msBtn.setEnabled(!1),console.log(en),console.log("".concat(en.name,": ").concat(en.message))},iA=function(){var er=rJ(function(er){var ei,eo,ea,es,eu,ec;return r7(this,function(ef){switch(ef.label){case 0:if(er in r9&&void 0!==r9[er]&&(eo=(ei=r9[er]).width,ea=ei.height,eo&&ea))return[2,{width:eo,height:ea}];ef.label=1;case 1:return ef.trys.push([1,3,,4]),ia(),[4,rR({cameraType:"user"===er?en.Front:en.Back,defaultConstraints:rW})];case 2:if((es=ef.sent())instanceof ry)return rI(es),il(es),[2,{width:0,height:0}];return tp.Z.stream=es,eu=r8(tp.Z.stream.getVideoTracks(),1),tp.Z.track=eu[0],io=!0,ec=tp.Z.track.getCapabilities&&"function"==typeof tp.Z.track.getCapabilities?tp.Z.track.getCapabilities().width.max:tp.Z.track.getSettings().width,ec=rH<ec?rH:ec,r9[er]=r6(r3({},r9[er]),{width:ec}),[3,4];case 3:return il(ef.sent()),[3,4];case 4:return[2]}})});return function(en){return er.apply(this,arguments)}}(),ih=function(){var er=rJ(function(er){var ei;return r7(this,function(eo){switch(eo.label){case 0:is(!0),eo.label=1;case 1:if(eo.trys.push([1,5,,6]),!(tp.Z.stream&&io))return[3,2];return io=!1,[3,4];case 2:return ia(),[4,rR({cameraType:"user"===er?en.Front:en.Back,defaultConstraints:rW})];case 3:(ei=eo.sent())instanceof ry?(rI(ei),ic(ei)):(tp.Z.stream=ei,tp.Z.track=tp.Z.stream.getVideoTracks()[0]),eo.label=4;case 4:return ng.ZP.ui.video.srcObject=tp.Z.stream,[3,6];case 5:return ic(eo.sent()),[3,6];case 6:return[2]}})});return function(en){return er.apply(this,arguments)}}(),ip=function(en){tp.Z.config.onCameraError(np.prepareCameraErr(en)),console.error(en)},ig=function(en){return"getCapabilities"in en&&"function"==typeof en.getCapabilities&&!!en.getCapabilities().torch},ib=function(){var en=rJ(function(){var en;return r7(this,function(er){switch(er.label){case 0:if(er.trys.push([0,3,,4]),!(tp.Z.track&&ig(tp.Z.track)))return[3,2];return en={advanced:[{torch:ng.ZP.ui.flashlight.isTurnedOn}]},[4,tp.Z.track.applyConstraints(en)];case 1:er.sent(),er.label=2;case 2:return[3,4];case 3:return ip(er.sent()),[3,4];case 4:return[2]}})});return function(){return en.apply(this,arguments)}}(),im=function(){var en=rJ(function(en){var er;return r7(this,function(ei){switch(ei.label){case 0:(0,r$.b3)("awaiting"),ei.label=1;case 1:return ei.trys.push([1,5,,6]),ng.ZP.ui.Mask.maskType=en,[4,iA(en)];case 2:return ei.sent(),[4,ih(en)];case 3:return ei.sent(),ng.ZP.ui.flashlight.addClickEventListener(rJ(function(){return r7(this,function(en){switch(en.label){case 0:return[4,ib()];case 1:return en.sent(),[2]}})})),[4,ib()];case 4:return ei.sent(),[3,6];case 5:return er=ei.sent(),(0,r$.u7)(),ip(er),[3,6];case 6:return[2]}})});return function(er){return en.apply(this,arguments)}}(),iy=function(){var en=rJ(function(){return r7(this,function(en){switch(en.label){case 0:return(0,r$.b3)("awaiting"),ng.ZP.ui.msBtn.setState("uploader"),ng.ZP.ui.msBtn.setLoading(!1),[4,im(tp.Z.currentStepCamera)];case 1:return en.sent(),ng.ZP.ui.msBtn.setEnabled(!!tp.Z.stream),[2]}})});return function(){return en.apply(this,arguments)}}(),iv=function(){var en,er,ei=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"environment";"boolean"!=typeof(null===(en=r9[ei])||void 0===en?void 0:en.flashAvailable)&&tp.Z.track&&(r9[ei].flashAvailable=ig(tp.Z.track)),ng.ZP.ui.flashlight.show(!!(null===(er=r9[ei])||void 0===er?void 0:er.flashAvailable))},iI=function(){return Object.keys(r9).forEach(function(en){return delete r9[en]})};let iw={initUploader:iu,stopTrack:ia,init:iy,start:im,setCapture:is,checkFlashAvailable:iv,getResolution:iA,dropResolutions:iI};var iE=function(en){return new Promise(function(er){return setTimeout(er,en)})},iC=function(en){return new Promise(function(er){requestAnimationFrame(function(){if(en){var ei=en();"object"==typeof ei&&"then"in ei&&"function"==typeof(null==ei?void 0:ei.then)?ei.then(function(en){return er(en)}):er(ei)}else er(!0)})})};function iT(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function iS(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){iT(es,eo,ea,eu,ec,"next",en)}function ec(en){iT(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function iB(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var ix=function(){tp.Z.loopStarted&&iE(100).then(ix)},i_=function(en){tp.Z.isStarted=en,ng.ZP.ui.toggleVideoPos(),ng.ZP.ui.canvas.toggleBorderCanvas()},iD=function(){tp.Z.loopFrame&&(tp.Z.loopFrame=!1,ix()),tp.Z.resetStats(),i_(!1)},iP=function(){var en=iS(function(){return iB(this,function(en){switch(en.label){case 0:return tp.Z.resetStats(),ng.ZP.ui.updateRetakeButton(),[4,iE(200)];case 1:return en.sent(),ng.ZP.ui.resizeBorders(),[4,iE(300)];case 2:return en.sent(),ng.ZP.ui.toggleVideoPos(),[2]}})});return function(){return en.apply(this,arguments)}}(),iO=function(){"face"!==tp.Z.currentStepType||tp.Z.config.faceModule||(tp.Z.invertFace="user"===tp.Z.currentStepCamera)},ik=function(){var en=iS(function(){return iB(this,function(en){switch(en.label){case 0:return[4,iP()];case 1:return en.sent(),iO(),i_(!0),ng.ZP.ui.updateRetakeButton(),tp.Z.showForceCapturingBtn&&"photo"===tp.Z.currentStepType?ng.ZP.ui.forceBtn.setAvailable(!0):ng.ZP.ui.forceBtn.setAvailable(!1),[4,iE(400)];case 2:return en.sent(),tp.Z.loopFrame=!0,tp.Z.loop&&tp.Z.loop(),[2]}})});return function(){return en.apply(this,arguments)}}(),iQ=__webpack_require__(528);function iM(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function iF(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){iM(es,eo,ea,eu,ec,"next",en)}function ec(en){iM(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function iN(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var iL=function(){return tp.Z.steps&&tp.Z.steps.filter(function(en){return null!==en.img}).length===tp.Z.steps.length},iR=function(){var en="";ng.ZP.ui.stepsWrapper.innerHTML="",tp.Z.steps.forEach(function(er,ei){var eo="user"===er.camera?"idvc-step__img--mirror":"",ea=er.img?er.img:"",es=ea?"idvc-step__top--has-img":"",eu=ea?"idvc-step--has-img":"",ec=ei===tp.Z.currentStep?"idvc-step--active":"",ef="background-image: ".concat(t3(er.type));en+='<div class="idvc-step '.concat(ec," ").concat(eu,'" id="step').concat(ei,'" data-id="').concat(ei,'">\n <div class="idvc-step__top ').concat(es," idvc-step__top--").concat(er.type,'" style="').concat(ef,'">\n <div class="idvc-step__img ').concat(eo,'" style="background-image: url(\'').concat(ea,'\')"></div>\n </div>\n <div class="idvc-step__bottom"><div class="idvc-step__name">').concat(er.name,'</div><div class="idvc-step__icon"></div></div>\n </div>')}),1===tp.Z.steps.length?ng.ZP.ui.stepsWrapper.style.display="none":ng.ZP.ui.stepsWrapper.style.display="flex",ng.ZP.ui.stepsWrapper.innerHTML=en,Array.from(ng.ZP.ui.stepsWrapper.children).forEach(function(en){en.addEventListener("click",function(){var er=en.getAttribute("data-id");er&&iZ(+er)})})},iG=function(){iR(),ng.ZP.ui.updateContinueBtn(),ng.ZP.ui.updateSubmitBtn(),ng.ZP.ui.updateResetAllBtn()},iU=function(){var en="error"===ng.ZP.ui.messageBox.type,er=tp.Z.type;en||er?!en&&er&&ng.ZP.ui.messageBox.message(eQ.Z.humanNameById(er)):ng.ZP.ui.messageBox.message()},ij=function(){var en="photo"===tp.Z.currentStepType;tp.Z.capturingMode=en?"processImage4":"processImage5",tp.Z.showForceCapturingBtn=en},iV=function(en){var er=tp.Z.steps[en];return!!er&&er.isShowManualSwitchButton},iH=function(){var en=iF(function(){var en;return iN(this,function(er){switch(er.label){case 0:if(en=tp.Z.currentStepMode.video,tp.Z.isVideoCapture&&(iD(),iw.setCapture(!1)),!(tp.Z.cameraSupported&&en&&!tp.Z.currentStepImg))return[3,2];return[4,iw.init()];case 1:return er.sent(),[3,4];case 2:return[4,iw.initUploader()];case 3:er.sent(),tp.Z.currentStepImg||(ng.ZP.ui.setUploaderWrapEnabled(!0),ng.ZP.ui.setVideoWrapEnabled(!1)),er.label=4;case 4:return tp.Z.type&&tp.Z.uploader&&(tp.Z.uploader.changeType(tp.Z.currentStepObj),tp.Z.isVideoCapture||(0,r$.u7)()),[2]}})});return function(){return en.apply(this,arguments)}}(),iz=function(){"face"===tp.Z.currentStepType&&tp.Z.isRealFaceAvailable&&(tp.Z.updateRealFaceTurnSide(),n4.Z.execute("module","face","setDirection",tp.Z.realFaceTurnSide))},iZ=function(en){iU(),en!==tp.Z.currentStep&&(n4.Z.existPropertyInModule("face","setDetectFace")&&n4.Z.execute("module","face","setDetectFace",!1),tp.Z.currentStep=en,iz(),tp.Z.loggerController&&tp.Z.loggerController.setLogger(tp.Z.currentStepType),ij(),ng.ZP.ui.msBtn.setAvailable(iV(en)),ng.ZP.ui.forceBtn.setAvailable(!1),tp.Z.calculateIsMirroring(),ng.ZP.ui.setMirroring(),ng.ZP.ui.updateStepImg(),iR(),iH().then(function(){var en=tp.Z.currentStepObj.isAuto;tp.Z.currentStepImg&&(en?(ng.ZP.ui.setUploaderWrapEnabled(!1),ng.ZP.ui.setVideoWrapEnabled(!0)):(ng.ZP.ui.setUploaderWrapEnabled(!0),ng.ZP.ui.setVideoWrapEnabled(!1))),tp.Z.resetHints(),ng.ZP.ui.updateHoldText(),ng.ZP.ui.updateContinueBtn(),ng.ZP.ui.updateSubmitBtn(),ng.ZP.ui.updateRetakeButton(),ng.ZP.ui.updateResetAllBtn(),ng.ZP.ui.updateBtnsWrap()}))},iW=function(en){return!!tp.Z.steps[en].img},iq=function(){var en=-1;if(iL())en=tp.Z.steps.length-1;else do en=en+1>=tp.Z.steps.length?0:en+1;while(iW(en));return en},i$=function(){var en=tp.Z.steps,er=tp.Z.config.autoContinue,ei=en.length,eo=iq(),ea=eo<ei;er&&ea&&!iL()?iZ(eo):tp.Z.loggerController&&tp.Z.loggerController.end(),(!ea||iL())&&(0,r$.u7)()},iK=function(){ng.ZP.ui.updateVideoWrap(),ng.ZP.ui.updateStepImg(),ng.ZP.ui.updateContinueBtn(),ng.ZP.ui.updateSubmitBtn(),ng.ZP.ui.updateResetAllBtn(),iR(),ng.ZP.ui.forceBtn.setAvailable(!1)},iY=function(){var en=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(iL()&&!tp.Z.config.showSubmitBtn){var er=tp.Z.steps.map(function(en,er){return en.prepareStepForCallback(er)});tp.Z.config.submit(np.formDataForSubmit(er,tp.Z,en))}},iX=function(){var en=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,er=-1===en?tp.Z.currentStepObj:tp.Z.steps[en];(null==er?void 0:er.img)&&(er.img=null),delete tp.Z.currentStepObj.mrzText,delete tp.Z.currentStepObj.errorCode},iJ=function(){ng.ZP.ui.canvas.restoreCanvas(),tp.Z.clearStepData(),iX(),iz(),tp.Z.config.onChange({step:tp.Z.currentStepObj.prepareStepForCallback(tp.Z.currentStep)}),iK(),iw.start(tp.Z.steps[tp.Z.currentStep].camera)},i0=function(){iK(),iY({event:"filled"}),i$()},i2=function(){var en=iF(function(){var en,er,ei,eo,ea;return iN(this,function(es){switch(es.label){case 0:return er=(en=ng.ZP.ui.canvas).resizedCanvas,ei=en.mrzCanvas,eo=[(0,iQ.Sf)(er,tp.Z.imageFormat),(0,iQ.Br)(er,tp.Z.imageFormat)],"mrz"===tp.Z.currentStepType&&(eo.push((0,iQ.Sf)(ei,tp.Z.imageFormat)),eo.push((0,iQ.Br)(ei,tp.Z.imageFormat))),[4,Promise.all(eo)];case 1:return ea=es.sent(),tp.Z.currentStepImg=ea[0],tp.Z.currentStepObj.blob=ea[1],"mrz"===tp.Z.currentStepType&&(tp.Z.currentStepObj.mrzImg=ea[3],tp.Z.currentStepObj.mrzBlob=ea[4]),tp.Z.config.onChange({step:tp.Z.currentStepObj.prepareStepForCallback(tp.Z.currentStep)}),i0(),[2]}})});return function(){return en.apply(this,arguments)}}(),i3=function(){var en=!(arguments.length>0)||void 0===arguments[0]||arguments[0];tp.Z.config.onChange({step:tp.Z.currentStepObj.prepareStepForCallback(tp.Z.currentStep)}),en?i$():(0,r$.u7)(),iY({event:"filled"})},i4=__webpack_require__(417),i6={status:!1,cancel:!1,touch:!1,image:null};let i8=i6;var i5=307200,i7=function(en,er,ei,eo){var ea=er*eo+ei<<2,es=en[ea];return(es<<1)+es+(en[ea+1]<<2)+en[ea+2]>>3},i9=function(en,er,ei){for(var eo=28,ea=20,es=28*(ei-2)+20*(er-2),eu=0,ec=~~(er/29),ef=.5*ec,eA=~~(ei/21),ed=.5*eA,eh=0;eh<eo;eh+=1)for(var ep=~~(ec*eh+ef),eg=1;eg<ei-1;eg+=1){var eb=i7(en,eg,ep,er),em=i7(en,eg-1,ep,er),ey=i7(en,eg+1,ep,er),ev=em-eb,eI=eb-ey-ev;eu+=eI*eI}for(var ew=0;ew<ea;ew+=1)for(var eE=~~(eA*ew+ed),eC=1;eC<er-1;eC+=1){var eT=i7(en,eE,eC,er),eS=i7(en,eE,eC-1,er),eB=i7(en,eE,eC+1,er),ex=eS-eT,e_=eT-eB-ex;eu+=e_*e_}var eD=eu/es,eP=er*ei/i5;return eP>1?(eP>10&&(eP=10),eD/=eP):eD*=eP,eD},on=function(en){return~~i9(en.data,en.width,en.height)},or=70,oi=150,oo=80,oa=.4,ou=[],ol=!0,oc=null,of=null,oA=null,od=function(){setTimeout(function(){ol=!0},oi)},oh=function(){return ou.sort(function(en,er){var ei=en.blurConfidence*en.frameQuality;return er.blurConfidence*er.frameQuality-ei})},og=function(){return ou.splice(0,1)},ob=function(){ou.length=0},om=function(){var en=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,iQ.VD)(),er=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return oA||(oA=new Worker(new URL(__webpack_require__.p+__webpack_require__.u(77),__webpack_require__.b),{type:"module"})),oc||ol&&(ol=!1,od(),of="PENDING",oA.postMessage({fn:"process",iData:(0,iQ.wz)()}),oA.onmessage=function(ei){var eo=ei.data,ea=0;oc=Promise.resolve(on((0,iQ.wz)())).then(function(en){ea=en}).then(function(){return eo.blurConfidence<oa||ea<oo?"":n4.Z.execute("model","classLocal","predictFromImage",ng.ZP.ui.canvas.videoCanvas,ng.ZP.ui.canvas.classLocalCanvas,tp.Z.offsets,tp.Z.cropSizes)}).then(function(ei){if(oA.postMessage({fn:"drop"}),of="FULFILLED",null==ei?void 0:ei.perimeterInPercents){var es,eu=ei.perimeterInPercents.width;if((void 0===eu?0:eu)<or)return tp.Z.isShowDocumentCloserText=!0,"None"}if(tp.Z.isShowDocumentCloserText=!1,!ei||(null==ei?void 0:null===(es=ei.side)||void 0===es?void 0:es.toLowerCase())==="none")return"None";var ec={img:er?en:(0,iQ.VD)(),blurConfidence:eo.blurConfidence,frameQuality:ea};for(ou.push(ec),oh();ou.length>4;)og();return ei.side})}),{status:of,promise:oc}},oy=function(){var en=ou[0].img;return ob(),en},ov=function(){of=null,oc=null},oI="rgba(255, 255, 255, 0.5)",ow="rgba(255, 255, 255, 0)",oE=.3;function oC(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function oT(en){for(var er=1;er<arguments.length;er++){var ei=null!=arguments[er]?arguments[er]:{},eo=Object.keys(ei);"function"==typeof Object.getOwnPropertySymbols&&(eo=eo.concat(Object.getOwnPropertySymbols(ei).filter(function(en){return Object.getOwnPropertyDescriptor(ei,en).enumerable}))),eo.forEach(function(er){oC(en,er,ei[er])})}return en}var oS=null,oB=null,ox=0,o_=[],oD=5,oP="Front",oO=oT({},i8),ok=100,oQ=5,oM=2,oF=50,oN=90,oL=function(){oO.status=!0,oO.image=oy(),oO.cancel=!1,oO.touch=!1},oR=function(){oO.status=!1,oO.cancel=!1,oO.touch=!1,oO.image=null},oG=function(en){return en===oP},oU=function(en){en.r>=en.maxRadius&&(en.mode=1),en.r<=0&&(en.mode=0),0===en.mode&&(en.r+=en.step),1===en.mode&&(en.end=!0)},oj=function(en){ng.ZP.ui.canvas.clearBorderCtx();for(var er=ng.ZP.ui.canvas.borderCtx,ei=ng.ZP.ui.canvas.borderCanvas.width,eo=o_.length,ea=0;ea<eo;ea+=1){er.beginPath();var es=o_[ea],eu=tp.Z.isMirroring?ei-es.x:es.x;oU(es),er.arc(eu,es.y,es.r,0,2*Math.PI),er.fillStyle=oI,er.strokeStyle=ow,er.fill(),er.stroke()}if((o_=o_.filter(function(en){return!en.end})).length<ok){var ec=ok-en.length;ec<0&&(ec=ok);for(var ef=0;ef<ec;ef+=1)en[ef]&&o_.push({x:Math.trunc((en[ef].x2+en[ef].x1)/2),y:Math.trunc((en[ef].y2+en[ef].y1)/2),r:0,opacity:1,step:(0,i4.lv)(oF,oN)/100,maxRadius:(0,i4.lv)(oM,oQ)})}},oV=function(){var en=0,er=0;return function(){return en&&er||(en=Math.floor((0,iQ.wz)().width*oE),er=Math.floor((0,iQ.wz)().height*oE)),ng.ZP.ui.canvas.mrzCtx.getImageData(0,0,en,er)}},oH=function(){var en=oT({},i8);return ng.ZP.ui.canvas.videoCtx.drawImage(ng.ZP.ui.video,0,0,ng.ZP.ui.canvas.videoCanvas.width,ng.ZP.ui.canvas.videoCanvas.height),en},oz=function(en){en?ox+=1:(ox=0,ob()),ox>oD&&(ng.ZP.ui.canvas.videoCtx.drawImage(ng.ZP.ui.video,0,0,ng.ZP.ui.canvas.videoCanvas.width,ng.ZP.ui.canvas.videoCanvas.height),ox=0,oL(),o_.length=0),ng.ZP.ui.updateHoldText(),ng.ZP.ui.Mask.fillPercentage=Math.trunc(ox/oD*100)},oZ=function(en){if(en){var er=om(),ei=er.status,eo=er.promise;"FULFILLED"===ei&&eo.then(function(en){return oz(oG(en))}).then(ov)}else oz(!0)},oW=function(en){var er=ng.ZP.ui.canvas,ei=er.mrzCanvas,eo=er.mrzCtx;try{ei.width=(0,iQ.wz)().width,ei.height=(0,iQ.wz)().height,eo.putImageData((0,iQ.wz)(),0,0),eo.scale(oE,oE),eo.drawImage(ei,0,0),oB||(oB=oV()),oS||(oS=new Worker(new URL(__webpack_require__.p+__webpack_require__.u(156),__webpack_require__.b),{type:"module"})),oS.postMessage({iData:oB(),resizedToBorderScaleWidth:tp.Z.resizedToBorderScale.width,resizedToBorderScaleHeight:tp.Z.resizedToBorderScale.height}),oS.onmessage=function(en){var er=en.data;return oj(er.segments)},oZ(en)}catch(en){return console.log(en),oO}if(oO.status){var ea=oT({},oO);return oR(),ea}return oT({},oO)};let oq={processImage4:oH,processImage5:oW};function o$(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function oK(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){o$(es,eo,ea,eu,ec,"next",en)}function ec(en){o$(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function oY(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function oX(en){for(var er=1;er<arguments.length;er++){var ei=null!=arguments[er]?arguments[er]:{},eo=Object.keys(ei);"function"==typeof Object.getOwnPropertySymbols&&(eo=eo.concat(Object.getOwnPropertySymbols(ei).filter(function(en){return Object.getOwnPropertyDescriptor(ei,en).enumerable}))),eo.forEach(function(er){oY(en,er,ei[er])})}return en}function oJ(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var o0={status:!1,predict:!1,touch:!1,image:ImageData.prototype,type:"pdf",error:null,coords:[],trackString:"",pdfSuccessCount:0,pdfCount:0},o1=new Set(["Back"]),o2=function(){o0.status=!1,o0.touch=!1,o0.image=null,o0.coords.length=0,o0.type="pdf",o0.error=null,o0.trackString="",o0.pdfSuccessCount=0,o0.pdfCount=0},o3=function(en,er){(o0=oX({},o0,n4.Z.execute("module","pdf","proccessPDF",er))).status||o1.has(en)||o2()},o4=function(){var en=oK(function(en){var er,ei,eo;return oJ(this,function(ea){switch(ea.label){case 0:if(ei=(er=om(en)).status,eo=er.promise,"FULFILLED"!==ei)return[3,2];return[4,eo];case 1:o3(ea.sent(),en),ov(),ea.label=2;case 2:return[2]}})});return function(er){return en.apply(this,arguments)}}();let o6=function(){var en=oK(function(en){var er;return oJ(this,function(ei){switch(ei.label){case 0:return ei.trys.push([0,2,,3]),[4,o4(en)];case 1:return ei.sent(),[3,3];case 2:return console.log(ei.sent()),[2,o0];case 3:if(o0.status)return er=oX({},o0),o2(),[2,er];return[2,oX({},o0)]}})});return function(er){return en.apply(this,arguments)}}();function o8(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function o5(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){o8(es,eo,ea,eu,ec,"next",en)}function ec(en){o8(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function o7(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function o9(en){for(var er=1;er<arguments.length;er++){var ei=null!=arguments[er]?arguments[er]:{},eo=Object.keys(ei);"function"==typeof Object.getOwnPropertySymbols&&(eo=eo.concat(Object.getOwnPropertySymbols(ei).filter(function(en){return Object.getOwnPropertyDescriptor(ei,en).enumerable}))),eo.forEach(function(er){o7(en,er,ei[er])})}return en}function an(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var ai=function(){var en=o5(function(){var en,er;return an(this,function(ei){switch(ei.label){case 0:if(ei.trys.push([0,3,,4]),!n4.Z.isExist("model","meshFace"))return[2,null];return[4,n4.Z.execute("model","blazeFace","predictFromImage",ng.ZP.ui.canvas.faceCanvas,ng.ZP.ui.canvas.blazeFaceCanvas)];case 1:if(!(en=ei.sent()))return[2,null];return n4.Z.execute("model","meshFace","preProcess",en.bbox),[4,n4.Z.execute("model","meshFace","predictFromImage",ng.ZP.ui.canvas.faceCanvas,ng.ZP.ui.canvas.meshFaceCanvas)];case 2:return[2,o9({},en,ei.sent())];case 3:return er=ei.sent(),[2,null];case 4:return[2]}})});return function(){return en.apply(this,arguments)}}(),ao=function(){var en=o5(function(){var en,er;return an(this,function(ei){switch(ei.label){case 0:return[4,ai()];case 1:if(!(en=ei.sent()))return[2,n4.Z.execute("module","face","noPredictions")];if(null===n4.Z.execute("module","face","getDirection")&&n4.Z.execute("module","face","setDirection",tp.Z.realFaceTurnSide),!(er=n4.Z.execute("module","face","processFace",en,ng.ZP.ui.canvas.faceCanvas)).status)return[3,3];return[4,(0,iQ.uR)()];case 2:er.image=ei.sent(),ei.label=3;case 3:return[2,er]}})});return function(){return en.apply(this,arguments)}}(),aa=function(){var en=ng.ZP.ui.canvas.resizedCtx.getImageData(tp.Z.offsetsFace.left,tp.Z.offsetsFace.top,tp.Z.cropFace.width,tp.Z.cropFace.height);return n4.Z.execute("module","face","detect",en)};let as=o5(function(){var en,er;return an(this,function(ei){switch(ei.label){case 0:if(4!==ng.ZP.ui.video.readyState)return[2,en];if(er="user"===tp.Z.currentStepCamera,!(tp.Z.isRealFaceAvailable&&er))return[3,2];return[4,ao()];case 1:en=ei.sent(),ei.label=2;case 2:if(!(!tp.Z.isRealFaceAvailable||!er))return[3,4];return[4,aa()];case 3:en=ei.sent(),ei.label=4;case 4:return[2,en]}})});function au(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function al(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){au(es,eo,ea,eu,ec,"next",en)}function ec(en){au(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function ac(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var af={mrz:function(){return n4.Z.execute("module","mrz","processMRZ",(0,iQ.VD)())},pdf:function(){return al(function(){var en,er,ei;return ac(this,function(eo){return er=(en=tp.Z.cropSize).width,ei=en.height,n4.Z.execute("module","pdf","setSizes",er,ei),[2,o6((0,iQ.VD)())]})})()},face:as,front:function(){return tp.Z.isShowHoldText=!0,oq[tp.Z.capturingMode](!0)},barcode:function(){return n4.Z.execute("module","barcode","process",(0,iQ.BX)(),(0,iQ.VD)())},photo:function(){return oq[tp.Z.capturingMode]()}},aA={mrz:["mrz"],pdf:["pdf"],face:["face"],front:[],barcode:["barcode"]},ad=function(en){return!!Object.keys(aA).includes(en)&&!aA[en].filter(function(en){return!n4.Z.isLoaded("module",en)}).length},ah=function(en){for(var er=arguments.length,ei=Array(er>1?er-1:0),eo=1;eo<er;eo++)ei[eo-1]=arguments[eo];return!!ad(en)&&af[en].apply(null,ei)},ap=function(en){return en in af};let ag=ah;var ab=__webpack_require__(6960),am=[127,34,139,11,0,37,232,231,120,72,37,39,128,121,47,232,121,128,104,69,67,175,171,148,157,154,155,118,50,101,73,39,40,9,151,108,48,115,131,194,204,211,74,40,185,80,42,183,40,92,186,230,229,118,202,212,214,83,18,17,76,61,146,160,29,30,56,157,173,106,204,194,135,214,192,203,165,98,21,71,68,51,45,4,144,24,23,77,146,91,205,50,187,201,200,18,91,106,182,90,91,181,85,84,17,206,203,36,148,171,140,92,40,39,193,189,244,159,158,28,247,246,161,236,3,196,54,68,104,193,168,8,117,228,31,189,193,55,98,97,99,126,47,100,166,79,218,155,154,26,209,49,131,135,136,150,47,126,217,223,52,53,45,51,134,211,170,140,67,69,108,43,106,91,230,119,120,226,130,247,63,53,52,238,20,242,46,70,156,78,62,96,46,53,63,143,34,227,173,155,133,123,117,111,44,125,19,236,134,51,216,206,205,154,153,22,39,37,167,200,201,208,36,142,100,57,212,202,20,60,99,28,158,157,35,226,113,160,159,27,204,202,210,113,225,46,43,202,204,62,76,77,137,123,116,41,38,72,203,129,142,64,98,240,49,102,64,41,73,74,212,216,207,42,74,184,169,170,211,170,149,176,105,66,69,122,6,168,123,147,187,96,77,90,65,55,107,89,90,180,101,100,120,63,105,104,93,137,227,15,86,85,129,102,49,14,87,86,55,8,9,100,47,121,145,23,22,88,89,179,6,122,196,88,95,96,138,172,136,215,58,172,115,48,219,42,80,81,195,3,51,43,146,61,171,175,199,81,82,38,53,46,225,144,163,110,246,33,7,52,65,66,229,228,117,34,127,234,107,108,69,109,108,151,48,64,235,62,78,191,129,209,126,111,35,143,163,161,246,117,123,50,222,65,52,19,125,141,221,55,65,3,195,197,25,7,33,220,237,44,70,71,139,122,193,245,247,130,33,71,21,162,153,158,159,170,169,150,188,174,196,216,186,92,144,160,161,2,97,167,141,125,241,164,167,37,72,38,12,145,159,160,38,82,13,63,68,71,226,35,111,158,153,154,101,50,205,206,92,165,209,198,217,165,167,97,220,115,218,133,112,243,239,238,241,214,135,169,190,173,133,171,208,32,125,44,237,86,87,178,85,86,179,84,85,180,83,84,181,201,83,182,137,93,132,76,62,183,61,76,184,57,61,185,212,57,186,214,207,187,34,143,156,79,239,237,123,137,177,44,1,4,201,194,32,64,102,129,213,215,138,59,166,219,242,99,97,2,94,141,75,59,235,24,110,228,25,130,226,23,24,229,22,23,230,26,22,231,112,26,232,189,190,243,221,56,190,28,56,221,27,28,222,29,27,223,30,29,224,247,30,225,238,79,20,166,59,75,60,75,240,147,177,215,20,79,166,187,147,213,112,233,244,233,128,245,128,114,188,114,217,174,131,115,220,217,198,236,198,131,134,177,132,58,143,35,124,110,163,7,228,110,25,356,389,368,11,302,267,452,350,349,302,303,269,357,343,277,452,453,357,333,332,297,175,152,377,384,398,382,347,348,330,303,304,270,9,336,337,278,279,360,418,262,431,304,408,409,310,415,407,270,409,410,450,348,347,422,430,434,313,314,17,306,307,375,387,388,260,286,414,398,335,406,418,364,367,416,423,358,327,251,284,298,281,5,4,373,374,253,307,320,321,425,427,411,421,313,18,321,405,406,320,404,405,315,16,17,426,425,266,377,400,369,322,391,269,417,465,464,386,257,258,466,260,388,456,399,419,284,332,333,417,285,8,346,340,261,413,441,285,327,460,328,355,371,329,392,439,438,382,341,256,429,420,360,364,394,379,277,343,437,443,444,283,275,440,363,431,262,369,297,338,337,273,375,321,450,451,349,446,342,467,293,334,282,458,461,462,276,353,383,308,324,325,276,300,293,372,345,447,382,398,362,352,345,340,274,1,19,456,248,281,436,427,425,381,256,252,269,391,393,200,199,428,266,330,329,287,273,422,250,462,328,258,286,384,265,353,342,387,259,257,424,431,430,342,353,276,273,335,424,292,325,307,366,447,345,271,303,302,423,266,371,294,455,460,279,278,294,271,272,304,432,434,427,272,407,408,394,430,431,395,369,400,334,333,299,351,417,168,352,280,411,325,319,320,295,296,336,319,403,404,330,348,349,293,298,333,323,454,447,15,16,315,358,429,279,14,15,316,285,336,9,329,349,350,374,380,252,318,402,403,6,197,419,318,319,325,367,364,365,435,367,397,344,438,439,272,271,311,195,5,281,273,287,291,396,428,199,311,271,268,283,444,445,373,254,339,263,466,249,282,334,296,449,347,346,264,447,454,336,296,299,338,10,151,278,439,455,292,407,415,358,371,355,340,345,372,390,249,466,346,347,280,442,443,282,19,94,370,441,442,295,248,419,197,263,255,359,440,275,274,300,383,368,351,412,465,263,467,466,301,368,389,380,374,386,395,378,379,412,351,419,436,426,322,373,390,388,2,164,393,370,462,461,164,0,267,302,11,12,374,373,387,268,12,13,293,300,301,446,261,340,385,384,381,330,266,425,426,423,391,429,355,437,391,327,326,440,457,438,341,382,362,459,457,461,434,430,394,414,463,362,396,369,262,354,461,457,316,403,402,315,404,403,314,405,404,313,406,405,421,418,406,366,401,361,306,408,407,291,409,408,287,410,409,432,436,410,434,416,411,264,368,383,309,438,457,352,376,401,274,275,4,421,428,262,294,327,358,433,416,367,289,455,439,462,370,326,2,326,370,305,460,455,254,449,448,255,261,446,253,450,449,252,451,450,256,452,451,341,453,452,413,464,463,441,413,414,258,442,441,257,443,442,259,444,443,260,445,444,467,342,445,459,458,250,289,392,290,290,328,460,376,433,435,250,290,392,411,416,433,341,463,464,453,464,465,357,465,412,343,412,399,360,363,440,437,399,456,420,456,363,401,435,288,372,383,353,339,255,249,448,261,255,133,243,190,133,155,112,33,246,247,33,130,25,398,384,286,362,398,414,362,463,341,263,359,467,263,249,255,466,467,260,75,60,166,238,239,79,162,127,139,72,11,37,121,232,120,73,72,39,114,128,47,233,232,128,103,104,67,152,175,148,173,157,155,119,118,101,74,73,40,107,9,108,49,48,131,32,194,211,184,74,185,191,80,183,185,40,186,119,230,118,210,202,214,84,83,17,77,76,146,161,160,30,190,56,173,182,106,194,138,135,192,129,203,98,54,21,68,5,51,4,145,144,23,90,77,91,207,205,187,83,201,18,181,91,182,180,90,181,16,85,17,205,206,36,176,148,140,165,92,39,245,193,244,27,159,28,30,247,161,174,236,196,103,54,104,55,193,8,111,117,31,221,189,55,240,98,99,142,126,100,219,166,218,112,155,26,198,209,131,169,135,150,114,47,217,224,223,53,220,45,134,32,211,140,109,67,108,146,43,91,231,230,120,113,226,247,105,63,52,241,238,242,124,46,156,95,78,96,70,46,63,116,143,227,116,123,111,1,44,19,3,236,51,207,216,205,26,154,22,165,39,167,199,200,208,101,36,100,43,57,202,242,20,99,56,28,157,124,35,113,29,160,27,211,204,210,124,113,46,106,43,204,96,62,77,227,137,116,73,41,72,36,203,142,235,64,240,48,49,64,42,41,74,214,212,207,183,42,184,210,169,211,140,170,176,104,105,69,193,122,168,50,123,187,89,96,90,66,65,107,179,89,180,119,101,120,68,63,104,234,93,227,16,15,85,209,129,49,15,14,86,107,55,9,120,100,121,153,145,22,178,88,179,197,6,196,89,88,96,135,138,136,138,215,172,218,115,219,41,42,81,5,195,51,57,43,61,208,171,199,41,81,38,224,53,225,24,144,110,105,52,66,118,229,117,227,34,234,66,107,69,10,109,151,219,48,235,183,62,191,142,129,126,116,111,143,7,163,246,118,117,50,223,222,52,94,19,141,222,221,65,196,3,197,45,220,44,156,70,139,188,122,245,139,71,162,145,153,159,149,170,150,122,188,196,206,216,92,163,144,161,164,2,167,242,141,241,0,164,37,11,72,12,144,145,160,12,38,13,70,63,71,31,226,111,157,158,154,36,101,205,203,206,165,126,209,217,98,165,97,237,220,218,237,239,241,210,214,169,140,171,32,241,125,237,179,86,178,180,85,179,181,84,180,182,83,181,194,201,182,177,137,132,184,76,183,185,61,184,186,57,185,216,212,186,192,214,187,139,34,156,218,79,237,147,123,177,45,44,4,208,201,32,98,64,129,192,213,138,235,59,219,141,242,97,97,2,141,240,75,235,229,24,228,31,25,226,230,23,229,231,22,230,232,26,231,233,112,232,244,189,243,189,221,190,222,28,221,223,27,222,224,29,223,225,30,224,113,247,225,99,60,240,213,147,215,60,20,166,192,187,213,243,112,244,244,233,245,245,128,188,188,114,174,134,131,220,174,217,236,236,198,134,215,177,58,156,143,124,25,110,7,31,228,25,264,356,368,0,11,267,451,452,349,267,302,269,350,357,277,350,452,357,299,333,297,396,175,377,381,384,382,280,347,330,269,303,270,151,9,337,344,278,360,424,418,431,270,304,409,272,310,407,322,270,410,449,450,347,432,422,434,18,313,17,291,306,375,259,387,260,424,335,418,434,364,416,391,423,327,301,251,298,275,281,4,254,373,253,375,307,321,280,425,411,200,421,18,335,321,406,321,320,405,314,315,17,423,426,266,396,377,369,270,322,269,413,417,464,385,386,258,248,456,419,298,284,333,168,417,8,448,346,261,417,413,285,326,327,328,277,355,329,309,392,438,381,382,256,279,429,360,365,364,379,355,277,437,282,443,283,281,275,363,395,431,369,299,297,337,335,273,321,348,450,349,359,446,467,283,293,282,250,458,462,300,276,383,292,308,325,283,276,293,264,372,447,346,352,340,354,274,19,363,456,281,426,436,425,380,381,252,267,269,393,421,200,428,371,266,329,432,287,422,290,250,328,385,258,384,446,265,342,386,387,257,422,424,430,445,342,276,422,273,424,306,292,307,352,366,345,268,271,302,358,423,371,327,294,460,331,279,294,303,271,304,436,432,427,304,272,408,395,394,431,378,395,400,296,334,299,6,351,168,376,352,411,307,325,320,285,295,336,320,319,404,329,330,349,334,293,333,366,323,447,316,15,315,331,358,279,317,14,316,8,285,9,277,329,350,253,374,252,319,318,403,351,6,419,324,318,325,397,367,365,288,435,397,278,344,439,310,272,311,248,195,281,375,273,291,175,396,199,312,311,268,276,283,445,390,373,339,295,282,296,448,449,346,356,264,454,337,336,299,337,338,151,294,278,455,308,292,415,429,358,355,265,340,372,388,390,466,352,346,280,295,442,282,354,19,370,285,441,295,195,248,197,457,440,274,301,300,368,417,351,465,251,301,389,385,380,386,394,395,379,399,412,419,410,436,322,387,373,388,326,2,393,354,370,461,393,164,267,268,302,12,386,374,387,312,268,13,298,293,301,265,446,340,380,385,381,280,330,425,322,426,391,420,429,437,393,391,326,344,440,438,458,459,461,364,434,394,428,396,262,274,354,457,317,316,402,316,315,403,315,314,404,314,313,405,313,421,406,323,366,361,292,306,407,306,291,408,291,287,409,287,432,410,427,434,411,372,264,383,459,309,457,366,352,401,1,274,4,418,421,262,331,294,358,435,433,367,392,289,439,328,462,326,94,2,370,289,305,455,339,254,448,359,255,446,254,253,449,253,252,450,252,256,451,256,341,452,414,413,463,286,441,414,286,258,441,258,257,442,257,259,443,259,260,444,260,467,445,309,459,250,305,289,290,305,290,460,401,376,435,309,250,392,376,411,433,453,341,464,357,453,465,343,357,412,437,343,399,344,360,440,420,437,456,360,420,363,361,401,288,265,372,353,390,339,249,339,448,255],ay=function(en){tp.Z.isDetectFace=!!en},av=3,aI=90,aw=function(en,er,ei){en.moveTo(er[0][0],er[0][1]);for(var eo=1;eo<er.length;eo+=1){var ea=er[eo];en.lineTo(ea[0],ea[1])}ei&&en.closePath()},aE=function(en){ay(!0),en.realFace?en.distance>aI?(tp.Z.isShowStayCalmText=!0,tp.Z.isShowComeBackText=!1):(tp.Z.isShowStayCalmText=!1,tp.Z.isShowComeBackText=!0):tp.Z.isShowTurnText=!0},aC=[,,,].fill([0,0]),aT=function(en,er){var ei=ng.ZP.ui.canvas.borderCtx;if(ei.lineWidth=.75,null==en?void 0:en.length){for(var eo=new Path2D,ea=0;ea<2640;ea+=3)aC[0]=[en[am[ea+0]][0],en[am[ea+0]][1]],aC[1]=[en[am[ea+1]][0],en[am[ea+1]][1]],aC[2]=[en[am[ea+2]][0],en[am[ea+2]][1]],aw(eo,aC,!0);ei.strokeStyle=er,ei.stroke(eo)}},aS=function(en){var er=2.5*en;return(0,ab.ew)(er)},aB=function(en){var er=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;ng.ZP.ui.Mask.fillPercentage=Math.trunc(en.faceSuccessCount/av*100),ng.ZP.ui.updateHoldText(er,en.isCorrectDirection)},ax=function(en){en.faceSuccessCount?tp.Z.topImage=(0,iQ.VD)():en.faceFailCount&&!en.faceSuccessCount&&(tp.Z.isShowNotSeeText=!0),en.distance>30&&!en.realFace&&(tp.Z.isShowTurnText=!1,tp.Z.isShowFacePercentText=!0),1===en.perimeter?tp.Z.isShowCloserText=!0:2===en.perimeter&&(tp.Z.isShowAwayText=!0),tp.Z.isShowCenterText=en.moveToCenter,tp.Z.isShowNotSeeText=en.noFace||!en.prediction};function a_(en){tp.Z.resetHints(),ng.ZP.ui.canvas.clearBorderCtx(),ax(en);var er=0;if(en.distance){var ei=en.distance;aT(en.drawPoints,aS(ei)),aE(en),er=ei}else ay(!1);aB(en,er)}var aD=new ImageData(new Uint8ClampedArray(4),1,1),aP=10,aO=aD;function ak(en){tp.Z.isShowNotSeeText=en.faceNotRecognizedCount&&!en.faceSuccessCount,tp.Z.isShowComeBackText=en.faceFailCount>20,en.faceSuccessCount>aP&&(n4.Z.execute("module","face","dropResults"),en.status=!0,en.image=aO,aO=aD),en.faceFailCount||!en.faceSuccessCount||en.status?ay(!1):(ay(!0),aO=(0,iQ.VD)()),ng.ZP.ui.updateHoldText(),ng.ZP.ui.Mask.fillPercentage=Math.trunc(en.faceSuccessCount/aP*100)}var aQ=["leftTop","rightTop","rightBottom","leftBottom"],aM=function(en,er){var ei=ng.ZP.ui.canvas,eo=ei.mrzCtx,ea=ei.mrzCanvas;ea.width=en.width,ea.height=en.height;var es=0,eu=0,ec=0,ef=0;eo.putImageData(en,0,0),er.leftTop.y<=er.rightTop.y?(es=er.rightBottom.y*ea.height-er.leftTop.y*ea.height,eu=er.rightTop.x*ea.width-er.leftBottom.x*ea.width,ec=er.leftBottom.x*ea.width,ef=er.leftTop.y*ea.height):(es=er.leftBottom.y*ea.height-er.rightTop.y*ea.height,eu=er.rightBottom.x*ea.width-er.leftTop.x*ea.width,ec=er.leftTop.x*ea.width,ef=er.rightTop.y*ea.height);var eA=eo.getImageData(ec,ef,eu,es);ea.width=eA.width,ea.height=eA.height,eo.putImageData(eA,0,0)},aF=function(en){return{x:(tp.Z.isMobile?en.x:1-en.x)*ng.ZP.ui.canvas.borderCanvas.width,y:en.y*ng.ZP.ui.canvas.borderCanvas.height}},aN=function(en,er){var ei=ng.ZP.ui.canvas,eo=ei.borderCtx,ea=ei.borderCanvas;eo.clearRect(0,0,ea.width,ea.height),en&&(eo.strokeStyle="green"===er?"rgb(19, 206, 102)":"rgb(249, 249, 79)",eo.lineWidth=3,eo.beginPath(),aQ.forEach(function(er){var ei=aF(en[er]),ea=ei.x,es=ei.y;eo.lineTo(ea,es)}),eo.closePath(),eo.stroke())};function aL(en){tp.Z.isShowStayText=!0,tp.Z.isShowHelpText=!1,ng.ZP.ui.updateHoldText(),en.coords?aN(en.coords.locations,en.coords.color):aN(null),en.status&&(aM(en.image,en.coords.locations),tp.Z.setMRZParsedResults(en.results))}var aR=function(en){var er=ng.ZP.ui.canvas.borderCanvas.width,ei=Math.trunc(en.x);return{y:Math.trunc(en.y),x:tp.Z.isMirroring?er-ei:ei}},aG=function(en){return ng.ZP.ui.canvas.borderCtx.font="14px Arial",en.map(function(en){return aR(en)})};function aU(en){var er;if(tp.Z.isShowHoldText=!en.pdfSuccessCount&&!en.isBackWithoutBarcodeSuccessCount,tp.Z.isShowStayText=!tp.Z.isShowHoldText,tp.Z.isShowHelpText=en.pdfSuccessCount>20,tp.Z.currentStepObj.trackString=en.trackString,ng.ZP.ui.canvas.clearBorderCtx(),ng.ZP.ui.updateHoldText(),en.pdfCount?ng.ZP.ui.Mask.fillPercentage=Math.trunc(en.pdfCount/tp.Z.minPDFframes*100):ng.ZP.ui.Mask.fillPercentage=0,null==en?void 0:null===(er=en.coords)||void 0===er?void 0:er.length){var ei=aG(en.coords),eo=ng.ZP.ui.canvas.borderCtx;eo.strokeStyle="rgb(19, 206, 102)",eo.lineWidth=3,eo.beginPath(),eo.moveTo(ei[0].x,ei[0].y),eo.lineTo(ei[1].x,ei[1].y),eo.lineTo(ei[2].x,ei[2].y),eo.lineTo(ei[3].x,ei[3].y),eo.lineTo(ei[0].x,ei[0].y),eo.stroke()}}var aj=function(en){tp.Z.currentStepObj.text=en.text};let aV=aj;function aH(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function az(en){for(var er=1;er<arguments.length;er++){var ei=null!=arguments[er]?arguments[er]:{},eo=Object.keys(ei);"function"==typeof Object.getOwnPropertySymbols&&(eo=eo.concat(Object.getOwnPropertySymbols(ei).filter(function(en){return Object.getOwnPropertyDescriptor(ei,en).enumerable}))),eo.forEach(function(er){aH(en,er,ei[er])})}return en}function aZ(en,er){var ei=Object.keys(en);if(Object.getOwnPropertySymbols){var eo=Object.getOwnPropertySymbols(en);er&&(eo=eo.filter(function(er){return Object.getOwnPropertyDescriptor(en,er).enumerable})),ei.push.apply(ei,eo)}return ei}function aW(en,er){return er=null!=er?er:{},Object.getOwnPropertyDescriptors?Object.defineProperties(en,Object.getOwnPropertyDescriptors(er)):aZ(Object(er)).forEach(function(ei){Object.defineProperty(en,ei,Object.getOwnPropertyDescriptor(er,ei))}),en}var aq={pdf:aU,mrz:aL,SimpleFace:ak,VolumeFace:a_,barcode:aV},a$=function(en){return en in aq};let aK=aW(az({},aq),{hasFn:a$});var aY=__webpack_require__(4295);function aX(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function aJ(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){aX(es,eo,ea,eu,ec,"next",en)}function ec(en){aX(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function a0(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var a1=new Set(["front"]),a2=new Set(["mrz","pdf","barcode"]),a3=function(){var en=aJ(function(en){var er,ei,eo;return a0(this,function(ea){switch(ea.label){case 0:return ei=(er=ng.ZP.ui.canvas).resizedCanvas,eo=er.resizedCtx,tp.Z.loopFrame=!1,iw.stopTrack(),i_(!1),ei.width=en.width,ei.height=en.height,eo.putImageData(en,0,0),tp.Z.currentStepObj.isAuto=!0,tp.Z.currentStepObj.source="video",[4,i2()];case 1:return ea.sent(),ng.ZP.ui.canvas.restoreCanvas(),ng.ZP.ui.updateRetakeButton(),[2]}})});return function(er){return en.apply(this,arguments)}}(),a4=function(){(0,r$.u7)(),iw.setCapture(!1),iw.stopTrack(),iD()},a6=function(){var en=aJ(function(en){return a0(this,function(er){switch(er.label){case 0:if(!(en&&en.error&&"licenceKeyError"===en.error.errorType))return[3,1];return(0,aY.Z)(en.error.errorVal),[3,4];case 1:if(en&&"type"in en&&aK.hasFn(en.type)&&aK[en.type](en),!(en&&en.status))return[3,3];return[4,a3(en.image||(0,iQ.VD)())];case 2:return er.sent(),[3,4];case 3:ng.ZP.ui.canvas.restoreCanvas(),er.label=4;case 4:return[2]}})});return function(er){return en.apply(this,arguments)}}(),a8=function(){var en=aJ(function(){var en;return a0(this,function(er){switch(er.label){case 0:if(!tp.Z.loopFrame||!ap(en=tp.Z.currentStepObj.type))return[3,3];return[4,ag(en)];case 1:return[4,a6(er.sent())];case 2:er.sent(),er.label=3;case 3:return[2]}})});return function(){return en.apply(this,arguments)}}(),a5=function(){var en=tp.Z.currentStepType;a1.has(en)&&(0,iQ.wz)(),a2.has(en)&&(0,iQ.VD)()},a7=function(){var en=aJ(function(){return a0(this,function(en){switch(en.label){case 0:tp.Z.loopStarted=!0,en.label=1;case 1:if(!(tp.Z.loopFrame&&!tp.Z.licenseKeyError))return[3,5];if(tp.Z.clearStepData(),ng.ZP.ui.canvas.saveCanvas(),ng.ZP.ui.canvas.recreateWorkingCanvas(),ng.ZP.ui.setResizedCanvasSizes(tp.Z.resizedCanvasSizes),ng.ZP.ui.canvas.setVideoCanvasSizes(tp.Z.videoCanvasSizes),ng.ZP.ui.canvas.drawResizedVideo(),!("face"!==tp.Z.currentStepType))return[3,3];return[4,iC(a5)];case 2:en.sent(),en.label=3;case 3:return[4,iC(a8)];case 4:return en.sent(),[3,1];case 5:return tp.Z.loopStarted=!1,[2]}})});return function(){return en.apply(this,arguments)}}(),a9=function(){var en=ng.ZP.ui.canvas.borderCanvas,er=en.width,ei=en.height,eo=(0,iQ.wz)(),ea=eo.width,es=eo.height;return{width:+(ea/er).toFixed(2),height:+(es/ei).toFixed(2)}},sn=function(){var en=aJ(function(){var en;return a0(this,function(er){switch(er.label){case 0:if(!(void 0!==(en=document.getElementById(tp.Z.config.el))&&null!=en))return[3,2];return tp.Z.resizedToBorderScale=a9(),[4,a7()];case 1:return er.sent(),[3,3];case 2:a4(),er.label=3;case 3:return[2,!1]}})});return function(){return en.apply(this,arguments)}}();let sr={loop:sn,stopProccesing:a4,cancel:a3};function si(en,er){(null==er||er>en.length)&&(er=en.length);for(var ei=0,eo=Array(er);ei<er;ei++)eo[ei]=en[ei];return eo}function so(en){if(Array.isArray(en))return en}function sa(en,er){var ei,eo,ea=null==en?null:"undefined"!=typeof Symbol&&en[Symbol.iterator]||en["@@iterator"];if(null!=ea){var es=[],eu=!0,ec=!1;try{for(ea=ea.call(en);!(eu=(ei=ea.next()).done)&&(es.push(ei.value),!er||es.length!==er);eu=!0);}catch(en){ec=!0,eo=en}finally{try{eu||null==ea.return||ea.return()}finally{if(ec)throw eo}}return es}}function ss(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function su(en,er){return so(en)||sa(en,er)||sl(en,er)||ss()}function sl(en,er){if(en){if("string"==typeof en)return si(en,er);var ei=Object.prototype.toString.call(en).slice(8,-1);if("Object"===ei&&en.constructor&&(ei=en.constructor.name),"Map"===ei||"Set"===ei)return Array.from(ei);if("Arguments"===ei||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ei))return si(en,er)}}var sc=null,sf=null,sA=-1,sd=-1,sh=null,sp=null,sg=function(){sA=-1,sd=-1,sh=null,sp=null},sb=function(en){return[en.touches[0].clientX,en.touches[0].clientY]},sm=function(en){var er;sA=(er=su(sb(en),2))[0],sd=er[1],sh=null},sy=function(en){if(!(sA<0)){var er=su(sb(en),2),ei=er[0],eo=er[1],ea=sA-ei;sp=Math.abs(sd-eo)>Math.abs(ea),sh=ea>0}},sv=function(){sA>=0&&sd>=0&&"boolean"==typeof sh&&"boolean"==typeof sp&&!sp&&sf(sh?"next":"prev"),sg()},sI=function(en,er){sc=en,sf=er,sc.addEventListener("touchstart",sm,{passive:!0}),sc.addEventListener("touchmove",sy,{passive:!0}),document.addEventListener("touchend",sv,{passive:!0})};let sw=sI;var sE=__webpack_require__(4554),sC=__webpack_require__(8736),sT=__webpack_require__(813),sS=__webpack_require__(6955),sB=["DLIC_H_0","DLIC_H_180","DLIC_H_270","DLIC_H_90","DLIC_V_0","DLIC_V_180","DLIC_V_270","DLIC_V_90","FAIL_H_0","FAIL_V_90","PASS_H_0","PASS_H_180","PASS_H_270","PASS_H_90"];function sx(en){var er=en.split("_");return er[2]?parseInt(er[2],10):0}var s_=__webpack_require__(683);function sD(en){if(void 0===en)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return en}function sP(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function sO(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){sP(es,eo,ea,eu,ec,"next",en)}function ec(en){sP(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function sQ(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function sM(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function sF(en,er,ei){return er&&sM(en.prototype,er),ei&&sM(en,ei),en}function sN(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function sL(en){return(sL=Object.setPrototypeOf?Object.getPrototypeOf:function(en){return en.__proto__||Object.getPrototypeOf(en)})(en)}function sR(en,er){if("function"!=typeof er&&null!==er)throw TypeError("Super expression must either be null or a function");en.prototype=Object.create(er&&er.prototype,{constructor:{value:en,writable:!0,configurable:!0}}),er&&sU(en,er)}function sG(en,er){return er&&("object"===sj(er)||"function"==typeof er)?er:sD(en)}function sU(en,er){return(sU=Object.setPrototypeOf||function(en,er){return en.__proto__=er,en})(en,er)}function sj(en){return en&&"undefined"!=typeof Symbol&&en.constructor===Symbol?"symbol":typeof en}function sV(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(en){return!1}}function sH(en){var er=sV();return function(){var ei,eo=sL(en);if(er){var ea=sL(this).constructor;ei=Reflect.construct(eo,arguments,ea)}else ei=eo.apply(this,arguments);return sG(this,ei)}}function sz(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var sZ=224,sW=224,sq=[1,224,224,3],s$="serving_default_image:0",sK="StatefulPartitionedCall:0",sY=function(en){"use strict";sR(ei,en);var er=sH(ei);function ei(){var en=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",eo=arguments.length>1&&void 0!==arguments[1]?arguments[1]:sT.z.WASM,ea=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return sQ(this,ei),er.call(this,en,eo,ea)}return sF(ei,[{key:"predict",value:function(en){var er=sN({},s$,new sC.Tensor("float32",en,sq));return this.session.run(er)}},{key:"predictFromImage",value:function(en,er){var ei=this;return sO(function(){var eo,ea,es,eu,ec;return sz(this,function(ef){switch(ef.label){case 0:return eo=en instanceof HTMLCanvasElement?en:(0,iQ.DN)("angles-input-canvas",en),ea=er||(0,iQ.vL)("angles-canvas",{width:sZ,height:sW}),es=(0,iQ.B$)(eo,ea).resized,eu=(0,s_.Di)(es),[4,ei.predict(eu)];case 1:return ec=ef.sent(),[2,ei.interpret(ec[sK].data)]}})})()}},{key:"interpret",value:function(en){var er=[];return en.forEach(function(en,ei){return er.push({label:sB[ei],score:en})}),er.sort(function(en,er){return er.score-en.score}).slice(0,1)}}]),ei}(sS.Z);function sX(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function sJ(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){sX(es,eo,ea,eu,ec,"next",en)}function ec(en){sX(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function s0(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}let s1=sJ(function(){var en;return s0(this,function(er){return en=new sY("".concat(sE.t.oz),sT.z.WASM,tp.Z.networkUrl),n4.Z.setModule("model","angles",en),[2]})});function s2(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function s3(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){s2(es,eo,ea,eu,ec,"next",en)}function ec(en){s2(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function s4(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var s6=function(){var en=s3(function(){return s4(this,function(en){switch(en.label){case 0:if(!tp.Z.config.fixFrontOrientAfterUpload)return[3,2];return[4,s1()];case 1:en.sent(),en.label=2;case 2:return[2]}})});return function(){return en.apply(this,arguments)}}();let s8=s6;function s5(en,er){(null==er||er>en.length)&&(er=en.length);for(var ei=0,eo=Array(er);ei<er;ei++)eo[ei]=en[ei];return eo}function s7(en){if(Array.isArray(en))return en}function s9(en){if(Array.isArray(en))return s5(en)}function un(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function ur(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){un(es,eo,ea,eu,ec,"next",en)}function ec(en){un(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function uo(en){if("undefined"!=typeof Symbol&&null!=en[Symbol.iterator]||null!=en["@@iterator"])return Array.from(en)}function us(en,er){var ei,eo,ea=null==en?null:"undefined"!=typeof Symbol&&en[Symbol.iterator]||en["@@iterator"];if(null!=ea){var es=[],eu=!0,ec=!1;try{for(ea=ea.call(en);!(eu=(ei=ea.next()).done)&&(es.push(ei.value),!er||es.length!==er);eu=!0);}catch(en){ec=!0,eo=en}finally{try{eu||null==ea.return||ea.return()}finally{if(ec)throw eo}}return es}}function uu(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ul(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function uc(en,er){return s7(en)||us(en,er)||uA(en,er)||uu()}function uf(en){return s9(en)||uo(en)||uA(en)||ul()}function uA(en,er){if(en){if("string"==typeof en)return s5(en,er);var ei=Object.prototype.toString.call(en).slice(8,-1);if("Object"===ei&&en.constructor&&(ei=en.constructor.name),"Map"===ei||"Set"===ei)return Array.from(ei);if("Arguments"===ei||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ei))return s5(en,er)}}function ud(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var uh=(0,ea.i0)("spinnerText"),up=[],ug=function(en){var er="string"==typeof en?en:en.type;return eF.Z[er].core},ub=function(){var en=ur(function(en){return ud(this,function(er){switch(er.label){case 0:return[4,en];case 1:return[4,(0,er.sent().default)(tp.Z.keys)];case 2:return er.sent(),[2]}})});return function(er){return en.apply(this,arguments)}}(),um={front:function(){return s8()},classLocal:function(){return ub(__webpack_require__.e(343).then(__webpack_require__.bind(__webpack_require__,2093)))},mrz:function(){return ub(__webpack_require__.e(343).then(__webpack_require__.bind(__webpack_require__,5470)))},pdf:function(){return ub(__webpack_require__.e(596).then(__webpack_require__.bind(__webpack_require__,3994)))},face:function(){return ub(__webpack_require__.e(975).then(__webpack_require__.bind(__webpack_require__,8540)))},barcode:function(){return ub(__webpack_require__.e(911).then(__webpack_require__.bind(__webpack_require__,3060)))}},uy=function(){var en=ur(function(en){return ud(this,function(er){switch(er.label){case 0:return[4,Promise.all(uf(en).map(function(en){return um[en]()}))];case 1:return er.sent(),[2]}})});return function(er){return en.apply(this,arguments)}}(),uv=function(){var en=ur(function(){var en,er,ei,eo,ea,es;return ud(this,function(eu){switch(eu.label){case 0:return ei=ug(uc(er=tp.Z.config.steps,1)[0].type).filter(function(en){return!up.includes(en)}),eo=new Set(ei),ea=er.slice(1).map(function(en){return en.type}),es=new Set(ea.map(ug).flat().filter(function(en){return!eo.has(en)}).filter(function(en){return!up.includes(en)})),(0,r$.b3)(uh.warmup.bottom,uh.warmup.top),[4,uy(eo)];case 1:return eu.sent(),[4,uy(es)];case 2:return eu.sent(),(0,r$.u7)(),(en=up).push.apply(en,uf(eo).concat(uf(es))),[2]}})});return function(){return en.apply(this,arguments)}}();function uI(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function uw(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){uI(es,eo,ea,eu,ec,"next",en)}function ec(en){uI(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function uE(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var uC=function(){var en=uw(function(){var en,er,ei;return uE(this,function(eo){switch(eo.label){case 0:if(en=!tp.Z.cameraSupported||!n3.isCameraNeeded(),er=n3.isUploaderRequired(),ei=!tp.Z.config.steps[0].mode.video,!(er||en||ei))return[3,2];return[4,uv()];case 1:eo.sent(),eo.label=2;case 2:return[2]}})});return function(){return en.apply(this,arguments)}}();function uT(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function uS(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){uT(es,eo,ea,eu,ec,"next",en)}function ec(en){uT(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function uB(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}let ux=function(){var en=uS(function(en,er){var ei,eo;return uB(this,function(ea){switch(ea.label){case 0:return ei=er.docType,eo=er.id,tp.Z.config.steps=tp.Z.config.documentTypes[ei],[4,uC()];case 1:return ea.sent(),tp.Z.type=eo,tp.Z.currentStep=-1,en.mount(),[2]}})});return function(er,ei){return en.apply(this,arguments)}}();function u_(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function uD(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){u_(es,eo,ea,eu,ec,"next",en)}function ec(en){u_(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function uP(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var uO=!1,uk=function(){var en=function(en){tp.Z.currentStepImg&&("next"===en&&iZ(tp.Z.steps.length>tp.Z.currentStep+1?tp.Z.currentStep+1:tp.Z.currentStep),"prev"===en&&iZ(tp.Z.currentStep-1>=0?tp.Z.currentStep-1:tp.Z.currentStep))};sw(ng.ZP.ui.mainContainer,en)},uQ=function(){tp.Z.isRealFaceAvailable&&!tp.Z.processFace3d.ended?setTimeout(uQ,50):tp.Z.currentStepCamera&&iw.start(tp.Z.currentStepCamera)},uM=function(){return ng.ZP.ui.retakeBtn.addEventListener("click",function(){if(!ng.ZP.ui.retakeBtn.classList.contains("el-button--disabled")){if("onRetakeHook"in tp.Z.config)try{tp.Z.config.onRetakeHook({step:tp.Z.currentStepObj.prepareStepForCallback(tp.Z.currentStep)})}catch(en){console.error(en)}iJ()}})},uF=function(en,er){tp.Z.uploader&&tp.Z.uploader.clearStates(),"uploader"===en&&er&&iw.start(tp.Z.currentStepObj.camera),"video"===en&&((0,r$.Jo)(),iw.setCapture(!1),iw.stopTrack(),iD()),!tp.Z.isVideoCapture&&tp.Z.uploader&&tp.Z.uploader.changeType(tp.Z.currentStepObj)},uN=function(){return ng.ZP.ui.msBtn.addClickCallback(function(){var en=!0;"video"===ng.ZP.ui.msBtn.state?iD():"uploader"===ng.ZP.ui.msBtn.state&&tp.Z.currentStepObj.img&&(iD(),iJ(),en=!1),uF(ng.ZP.ui.msBtn.state,en)})},uL=function(){window.addEventListener("orientationchange",function(){var en=tp.Z.videoLoading,er=tp.Z.isVideoCapture;en||!er||(iD(),iw.stopTrack(),iK(),tp.Z.currentStepImg||uQ())},!1),window.addEventListener("resize",function(){tp.Z.track&&tp.Z.steps[tp.Z.currentStep]&&(ng.ZP.ui.resizeBorders(),ng.ZP.ui.resizeMainContainer())})},uR=function(){return ng.ZP.ui.guidlinesBtn.addEventListener("click",function(){return tp.Z.config.clickGuidlines()})},uG=function(){return ng.ZP.ui.continueBtn.addEventListener("click",function(){ng.ZP.ui.continueBtn.classList.contains("el-button--disabled")||iZ(tp.Z.currentStep+1)})},uU=function(){return ng.ZP.ui.submitBtn.addEventListener("click",function(){if(!ng.ZP.ui.submitBtn.classList.contains("el-button--disabled")){var en=tp.Z.steps.map(function(en,er){return en.prepareStepForCallback(er)});tp.Z.config.submit(np.formDataForSubmit(en,tp.Z,{event:"submit"}))}})},uj=function(){return ng.ZP.ui.forceBtn.addClickCallback(function(){return sr.cancel((0,iQ.VD)(),!1,!0)})},uV=function(en){return ng.ZP.ui.resetAllStepsBtn.addEventListener("click",function(){return en.resetAllSteps()})},uH=function(){return ng.ZP.ui.video.addEventListener("loadedmetadata",uD(function(){return uP(this,function(en){switch(en.label){case 0:if(!(tp.Z.stream&&tp.Z.stream.active))return[3,4];return tp.Z.isStarted=!0,[4,iP()];case 1:return en.sent(),ng.ZP.ui.Mask.fillPercentage=0,[4,iE(100)];case 2:return en.sent(),[4,ng.ZP.ui.video.play()];case 3:return en.sent(),ng.ZP.ui.resizeMainContainer(),iw.checkFlashAvailable(tp.Z.currentStepCamera),[3,5];case 4:tp.Z.currentStepCamera&&iw.start(tp.Z.currentStepCamera),en.label=5;case 5:return[2]}})}))},uz=function(){return ng.ZP.ui.video.addEventListener("resize",uD(function(){return uP(this,function(en){return tp.Z.baseSizes={width:ng.ZP.ui.video.videoWidth,height:ng.ZP.ui.video.videoHeight},ng.ZP.ui.resizeBorders(),[2]})}))},uZ=function(){return ng.ZP.ui.video.addEventListener("loadeddata",uD(function(){return uP(this,function(en){switch(en.label){case 0:if(tp.Z.currentStepImg)return[3,3];return[4,ik()];case 1:return en.sent(),(0,r$.Jo)(),uv(),[4,Promise.all(n4.Z.allocateAll())];case 2:return en.sent(),[3,4];case 3:(0,r$.Jo)(),iw.stopTrack(),iD(),ng.ZP.ui.forceBtn.setAvailable(!1),en.label=4;case 4:return[2]}})}))},uW=function(){return ng.ZP.ui.video.addEventListener("progress",function(){ng.ZP.ui.video.videoWidth||ng.ZP.ui.video.videoHeight||ng.ZP.ui.video.readyState||!ng.ZP.ui.video.paused||tp.Z.isIIphone||il(Error("Camera isn't available"))})},uq=function(){return ng.ZP.ui.video.addEventListener("error",function(){ng.ZP.ui.video.srcObject&&iw.stopTrack()})},u$=function(en){ng.ZP.ui.selectDocumentType.container.addEventListener("documentTypeSelected",function(er){if(ux(en,er.detail),"sticky-bottom"===tp.Z.config.modalPosition){var ei=Array.from(document.getElementById(tp.Z.config.el).children).map(function(en){return!!en.classList.contains("idvc")&&en}).pop();ei&&(ei.classList.remove("idvc-flex-column-reverse"),ei.classList.add("idvc-grid"))}}),ng.ZP.ui.selectDocumentType.addCancelHandler(function(){tp.Z.currentStepImg?(0,r$.Jo)():en.start(),(0,r$.u7)()})},uK=function(en){tp.Z.config.types.length>1&&ng.ZP.ui.messageBox.addChangeDocumentTypeListener(function(){return en.changeDocumentType()})},uY=function(){var en={attributes:!1,childList:!0,subtree:!1},er=document.getElementById(tp.Z.config.el),ei=function(en){en.forEach(function(en){"childList"===en.type&&0!==en.removedNodes.length&&0!==Array.from(en.removedNodes).filter(function(en){return"idvc"===en.className}).length&&(uO=!1)})};new MutationObserver(ei).observe(er,en)},uX=function(en){uM(),uR(),uG(),uU(),uV(en),uj(),uN(),uK(en)},uJ=function(){uz(),uH(),uZ(),uq(),uW()},u3=function(en){uO||(uX(en),uk(),uL(),uJ(),u$(en),uY(),uO=!0)},u4=function(){uO=!1};let u6=u3;var u8=__webpack_require__(7496);function u5(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function u7(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){u5(es,eo,ea,eu,ec,"next",en)}function ec(en){u5(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function u9(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var ln=function(en,er,ei,eo,ea){switch(ei>4&&ei<9?(en.width=eo,en.height=ea):(en.width=ea,en.height=eo),ei){case 2:er.transform(-1,0,0,1,ea,0);break;case 3:er.transform(-1,0,0,-1,ea,eo);break;case 4:er.transform(1,0,0,-1,0,eo);break;case 5:er.transform(0,1,1,0,0,0);break;case 6:er.transform(0,-1,1,0,0,ea);break;case 7:er.transform(0,-1,-1,0,eo,ea);break;case 8:er.transform(0,1,-1,0,eo,0)}},lr=function(en,er,ei){return new Promise(function(eo){var ea=new Image;ea.onload=function(){u8.EXIF.getData(ea,function(){var en=u8.EXIF.getTag(ea,"Orientation")||0,es=ea.width,eu=ea.height,ec=document.createElement("canvas"),ef=ec.getContext("2d");"none"!==er&&(es>eu?es>er&&(eu*=er/es,es=er):eu>er&&(es*=er/eu,eu=er)),ec.width=es,ec.height=eu,ei&&("samsung"===ei.name||"iOS"!==ei.os&&"Android OS"!==ei.os)&&ln(ec,ef,en,eu,es),ef.drawImage(ea,0,0,es,eu),(0,iQ.Sf)(ec,tp.Z.imageFormat,1).then(eo)})},ea.src=en})},li=function(){var en=u7(function(en,er){return u9(this,function(ei){return[2,new Promise(function(ei){var eo=new Image;eo.src=en,eo.onload=function(){var en=eo.width,ea=eo.height,es=document.createElement("canvas"),eu=es.getContext("2d");es.width=en,es.height=ea,ln(es,eu,{0:1,90:6,180:3,270:6}[er],ea,en),eu.drawImage(eo,0,0,en,ea),(0,iQ.Sf)(es,tp.Z.imageFormat,1).then(ei)}})]})});return function(er,ei){return en.apply(this,arguments)}}(),la=function(){var en=u7(function(en,er){return u9(this,function(ei){return[2,lr(en,"none",er)]})});return function(er,ei){return en.apply(this,arguments)}}(),ls=function(){var en=u7(function(en,er,ei){return u9(this,function(eo){return[2,lr(en,er,ei)]})});return function(er,ei,eo){return en.apply(this,arguments)}}();function lu(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function ll(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){lu(es,eo,ea,eu,ec,"next",en)}function ec(en){lu(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function lc(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var lf=1300,lA=function(){var en=ll(function(en){var er;return lc(this,function(ei){switch(ei.label){case 0:return[4,ls(en,lf,tp.Z.browser)];case 1:return er=ei.sent(),[2,np.base64ToImageData(er)]}})});return function(er){return en.apply(this,arguments)}}(),ld=function(){var en=ll(function(en){return lc(this,function(er){return[2,tp.Z.config.resizeUploadedImage>0&&tp.Z.config.resizeUploadedImage<=lf?np.base64ToImageData(tp.Z.currentStepImg):lA(en)]})});return function(er){return en.apply(this,arguments)}}(),lh=function(){var en=ll(function(en){var er;return lc(this,function(ei){switch(ei.label){case 0:if(!(-1!==tp.Z.config.resizeUploadedImage))return[3,2];return[4,ls(en,tp.Z.config.resizeUploadedImage,tp.Z.browser)];case 1:return er=ei.sent(),[3,4];case 2:return[4,la(en,tp.Z.browser)];case 3:er=ei.sent(),ei.label=4;case 4:return tp.Z.currentStepImg=er,[2]}})});return function(er){return en.apply(this,arguments)}}(),lp=function(){var en=ll(function(en){var er,ei;return lc(this,function(eo){switch(eo.label){case 0:if(!tp.Z.config.fixFrontOrientAfterUpload)return[3,4];return[4,n4.Z.execute("model","angles","predictFromImage",en)];case 1:if(!(er=eo.sent()))return[3,4];return ei=sx(er[0].label),[4,li(tp.Z.currentStepImg,ei)];case 2:return[4,lh(eo.sent())];case 3:eo.sent(),eo.label=4;case 4:return[2,ld(tp.Z.currentStepImg)]}})});return function(er){return en.apply(this,arguments)}}();let lg={getSmallImage:ld,setCurrentImage:lh,fixOrientation:lp};function lb(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function lm(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){lb(es,eo,ea,eu,ec,"next",en)}function ec(en){lb(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function ly(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var lv=function(){var en=lm(function(en){var er,ei,eo,ea;return ly(this,function(es){switch(es.label){case 0:return er=!0,[4,n4.Z.asyncExecute("module","mrz","detectMrz",en)];case 1:return(null==(ei=es.sent())?void 0:ei.status)?(tp.Z.setMRZParsedResults(ei.results),delete tp.Z.currentStepObj.errorCode):(ea="mrz",tp.Z.currentStepObj.errorCode=ea,tp.Z.uploader&&tp.Z.uploader.showError(ea),er=!1,(null==ei?void 0:null===(eo=ei.error)||void 0===eo?void 0:eo.errorType)==="licenceKeyError"&&(0,aY.Z)(ei.error.errorVal)),[2,er]}})});return function(er){return en.apply(this,arguments)}}(),lI=function(en){var er,ei=en.width,eo=en.height;n4.Z.execute("module","pdf","setSizes",ei,eo),n4.Z.execute("module","pdf","allocate");var ea=n4.Z.execute("module","pdf","readPDF",en);tp.Z.currentStepObj.trackString="";var es=(null==ea?void 0:ea.error)&&(null==ea?void 0:ea.errorType)==="licenceKeyError",eu=!0;try{eu=es||2!==ea.status.value}catch(en){}if(eu){es&&(0,aY.Z)(null==ea?void 0:ea.errorVal);var ec="barcode";tp.Z.currentStepObj.errorCode=ec,tp.Z.uploader&&tp.Z.uploader.showError(ec),er=!1}else tp.Z.currentStepObj.trackString=null==ea?void 0:ea.data,delete tp.Z.currentStepObj.errorCode,er=!0;return er},lw=function(){var en=lm(function(en){var er,ei,eo;return ly(this,function(ea){switch(ea.label){case 0:return er=!0,[4,n4.Z.execute("module","barcode","process",en)];case 1:return(null==(ei=ea.sent())?void 0:ei.status)?delete tp.Z.currentStepObj.errorCode:(eo="barcode",tp.Z.currentStepObj.errorCode=eo,tp.Z.uploader&&tp.Z.uploader.showError(eo),er=!1),tp.Z.currentStepObj.text=ei.text,[2,er]}})});return function(er){return en.apply(this,arguments)}}(),lE=function(){var en=lm(function(en){var er,ei;return ly(this,function(eo){return(er=om(en))||(ei="frontSide",tp.Z.currentStepObj.errorCode=ei,tp.Z.uploader&&tp.Z.uploader.showError(ei)),[2,!!er]})});return function(er){return en.apply(this,arguments)}}();function lC(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function lT(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){lC(es,eo,ea,eu,ec,"next",en)}function ec(en){lC(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function lS(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var lB=function(){ng.ZP.ui.updateStepImg(),ng.ZP.ui.updateContinueBtn(),ng.ZP.ui.updateSubmitBtn(),ng.ZP.ui.updateResetAllBtn()},lx=function(en){var er=ng.ZP.ui.canvas,ei=er.resizedCanvas,eo=er.resizedCtx;return ei.width=en.width,ei.height=en.height,eo.putImageData(en,0,0),(0,iQ.Sf)(ei,tp.Z.imageFormat)},l_=function(en){var er=en.data;return er&&"object"==typeof er?lx(er):er},lD=function(){var en=lT(function(en,er){var ei,eo,ea,es,eu;return lS(this,function(ec){switch(ec.label){case 0:if("front"!==(ei=tp.Z.currentStepType))return[3,2];return[4,lg.fixOrientation(en)];case 1:return ea=ec.sent(),[3,4];case 2:return[4,lg.getSmallImage(er)];case 3:ea=ec.sent(),ec.label=4;case 4:return eo=ea,tp.Z.currentStepObj.isAuto=!1,tp.Z.currentStepObj.source="file",es=tp.Z.currentStepObj,[4,(0,iQ.Br)(ng.ZP.ui.canvas.resizedCanvas,tp.Z.imageFormat)];case 5:if(es.blob=ec.sent(),"front"!==ei)return[3,7];return[4,lE(eo)];case 6:case 9:return eu=ec.sent(),[3,12];case 7:if("pdf"!==ei)return[3,8];return eu=lI(eo),[3,12];case 8:if("mrz"!==ei)return[3,10];return[4,lv(eo)];case 10:if("barcode"!==ei)return[3,12];return[4,lw(er)];case 11:eu=ec.sent(),ec.label=12;case 12:return tp.Z.licenseKeyError&&((0,aY.Z)(1),eu=!1),iR(),lB(),i3(eu),(0,r$.Jo)(),[2]}})});return function(er,ei){return en.apply(this,arguments)}}(),lP=function(){tp.Z.currentStepImg=null,iR(),lB(),(0,r$.Jo)();var en="fileType";tp.Z.uploader&&tp.Z.uploader.showError(en)},lO=function(){var en=lT(function(en){var er,ei;return lS(this,function(eo){switch(eo.label){case 0:if(iX(),en.err)return(0,r$.Jo)(),[2];return[4,l_(en)];case 1:return er=eo.sent(),[4,lg.setCurrentImage(er)];case 2:return eo.sent(),(ei=new Image).onload=function(){return lD(ei,er)},ei.onerror=lP,tp.Z.currentStepImg&&(ei.src=tp.Z.currentStepImg),[2]}})});return function(er){return en.apply(this,arguments)}}();let lk=lO;var lQ=__webpack_require__(9910),lM=__webpack_require__(4155),lF=(()=>{var en="file:///home/vsts/work/1/s/src/core/LicenseVerificationWasmCore.js";return function(er){var ei,eo,ea,es,eu,ec,ef,eA,ed,eh,ep,eg,eb,em,ey,ev,eI,ew,eE,eC=er||{},eT=void 0!==eC?eC:{};eT.ready=new Promise(function(en,er){ei=en,eo=er});var eS=Object.assign({},eT),eB=[],ex="./this.program",e_=(en,er)=>{throw er},eD="object"==typeof window,eP="function"==typeof importScripts;"object"==typeof lM&&"object"==typeof lM.versions&&lM.versions.node;var eO="";function ek(en){return eT.locateFile?eT.locateFile(en,eO):eO+en}(eD||eP)&&(eP?eO=self.location.href:"undefined"!=typeof document&&document.currentScript&&(eO=document.currentScript.src),en&&(eO=en),eO=0!==eO.indexOf("blob:")?eO.substr(0,eO.replace(/[?#].*/,"").lastIndexOf("/")+1):"",ea=en=>{try{var er=new XMLHttpRequest;return er.open("GET",en,!1),er.send(null),er.responseText}catch(er){var ei=nw(en);if(ei)return tr(ei);throw er}},eP&&(eu=en=>{try{var er=new XMLHttpRequest;return er.open("GET",en,!1),er.responseType="arraybuffer",er.send(null),new Uint8Array(er.response)}catch(er){var ei=nw(en);if(ei)return ei;throw er}}),es=(en,er,ei)=>{var eo=new XMLHttpRequest;eo.open("GET",en,!0),eo.responseType="arraybuffer",eo.onload=()=>{if(200==eo.status||0==eo.status&&eo.response){er(eo.response);return}var ea=nw(en);if(ea){er(ea.buffer);return}ei()},eo.onerror=ei,eo.send(null)},ec=en=>document.title=en),eT.print||console.log.bind(console);var eQ=eT.printErr||console.warn.bind(console);Object.assign(eT,eS),eS=null,eT.arguments&&(eB=eT.arguments),eT.thisProgram&&(ex=eT.thisProgram),eT.quit&&(e_=eT.quit),eT.wasmBinary&&(ef=eT.wasmBinary),eT.noExitRuntime,"object"!=typeof WebAssembly&&e4("no native wasm support detected");var eM=!1;function eF(en,er){en||e4(er)}var eN="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function eL(en,er,ei){for(var eo=er+ei,ea=er;en[ea]&&!(ea>=eo);)++ea;if(ea-er>16&&en.buffer&&eN)return eN.decode(en.subarray(er,ea));for(var es="";er<ea;){var eu=en[er++];if(!(128&eu)){es+=String.fromCharCode(eu);continue}var ec=63&en[er++];if((224&eu)==192){es+=String.fromCharCode((31&eu)<<6|ec);continue}var ef=63&en[er++];if((eu=(240&eu)==224?(15&eu)<<12|ec<<6|ef:(7&eu)<<18|ec<<12|ef<<6|63&en[er++])<65536)es+=String.fromCharCode(eu);else{var eA=eu-65536;es+=String.fromCharCode(55296|eA>>10,56320|1023&eA)}}return es}function eR(en,er){return en?eL(eh,en,er):""}function eG(en,er,ei,eo){if(!(eo>0))return 0;for(var ea=ei,es=ei+eo-1,eu=0;eu<en.length;++eu){var ec=en.charCodeAt(eu);if(ec>=55296&&ec<=57343&&(ec=65536+((1023&ec)<<10)|1023&en.charCodeAt(++eu)),ec<=127){if(ei>=es)break;er[ei++]=ec}else if(ec<=2047){if(ei+1>=es)break;er[ei++]=192|ec>>6,er[ei++]=128|63&ec}else if(ec<=65535){if(ei+2>=es)break;er[ei++]=224|ec>>12,er[ei++]=128|ec>>6&63,er[ei++]=128|63&ec}else{if(ei+3>=es)break;er[ei++]=240|ec>>18,er[ei++]=128|ec>>12&63,er[ei++]=128|ec>>6&63,er[ei++]=128|63&ec}}return er[ei]=0,ei-ea}function eU(en,er,ei){return eG(en,eh,er,ei)}function ej(en){for(var er=0,ei=0;ei<en.length;++ei){var eo=en.charCodeAt(ei);eo<=127?er++:eo<=2047?er+=2:eo>=55296&&eo<=57343?(er+=4,++ei):er+=3}return er}function eV(){var en=eA.buffer;eT.HEAP8=ed=new Int8Array(en),eT.HEAP16=ep=new Int16Array(en),eT.HEAP32=eb=new Int32Array(en),eT.HEAPU8=eh=new Uint8Array(en),eT.HEAPU16=eg=new Uint16Array(en),eT.HEAPU32=em=new Uint32Array(en),eT.HEAPF32=ey=new Float32Array(en),eT.HEAPF64=ev=new Float64Array(en)}eT.INITIAL_MEMORY;var eH=[],ez=[],eZ=[];function eW(){if(eT.preRun)for("function"==typeof eT.preRun&&(eT.preRun=[eT.preRun]);eT.preRun.length;)eK(eT.preRun.shift());tn(eH)}function eq(){tn(ez)}function e$(){if(eT.postRun)for("function"==typeof eT.postRun&&(eT.postRun=[eT.postRun]);eT.postRun.length;)eX(eT.postRun.shift());tn(eZ)}function eK(en){eH.unshift(en)}function eY(en){ez.unshift(en)}function eX(en){eZ.unshift(en)}var eJ=0,e0=null,e1=null;function e2(en){eJ++,eT.monitorRunDependencies&&eT.monitorRunDependencies(eJ)}function e3(en){if(eJ--,eT.monitorRunDependencies&&eT.monitorRunDependencies(eJ),0==eJ&&(null!==e0&&(clearInterval(e0),e0=null),e1)){var er=e1;e1=null,er()}}function e4(en){eT.onAbort&&eT.onAbort(en),eQ(en="Aborted("+en+")"),eM=!0,en+=". Build with -sASSERTIONS for more info.";var er=new WebAssembly.RuntimeError(en);throw eo(er),er}var e6="data:application/octet-stream;base64,";function e8(en){return en.startsWith(e6)}function e5(en){try{if(en==ew&&ef)return new Uint8Array(ef);var er=nw(en);if(er)return er;if(eu)return eu(en);throw"both async and sync fetching of the wasm failed"}catch(en){e4(en)}}function e7(){return!ef&&(eD||eP)&&"function"==typeof fetch?fetch(ew,{credentials:"same-origin"}).then(function(en){if(!en.ok)throw"failed to load wasm binary file at '"+ew+"'";return en.arrayBuffer()}).catch(function(){return e5(ew)}):Promise.resolve().then(function(){return e5(ew)})}function e9(){var en={a:nE};function er(en,er){var ei=en.exports;eT.asm=ei,eA=eT.asm.t,eV(),eI=eT.asm.v,eY(eT.asm.u),e3("wasm-instantiate")}function ei(en){er(en.instance)}function ea(er){return e7().then(function(er){return WebAssembly.instantiate(er,en)}).then(function(en){return en}).then(er,function(en){eQ("failed to asynchronously prepare wasm: "+en),e4(en)})}function es(){return ef||"function"!=typeof WebAssembly.instantiateStreaming||e8(ew)||"function"!=typeof fetch?ea(ei):fetch(ew,{credentials:"same-origin"}).then(function(er){return WebAssembly.instantiateStreaming(er,en).then(ei,function(en){return eQ("wasm streaming compile failed: "+en),eQ("falling back to ArrayBuffer instantiation"),ea(ei)})})}if(e2("wasm-instantiate"),eT.instantiateWasm)try{return eT.instantiateWasm(en,er)}catch(en){eQ("Module.instantiateWasm callback failed with error: "+en),eo(en)}return es().catch(eo),{}}function tn(en){for(;en.length>0;)en.shift()(eT)}function tr(en){for(var er=[],ei=0;ei<en.length;ei++){var eo=en[ei];eo>255&&(ny&&eF(!1,"Character code "+eo+" ("+String.fromCharCode(eo)+") at offset "+ei+" not in 0x00-0xFF."),eo&=255),er.push(String.fromCharCode(eo))}return er.join("")}function ti(en){this.excPtr=en,this.ptr=en-24,this.set_type=function(en){em[this.ptr+4>>2]=en},this.get_type=function(){return em[this.ptr+4>>2]},this.set_destructor=function(en){em[this.ptr+8>>2]=en},this.get_destructor=function(){return em[this.ptr+8>>2]},this.set_refcount=function(en){eb[this.ptr>>2]=en},this.set_caught=function(en){en=en?1:0,ed[this.ptr+12>>0]=en},this.get_caught=function(){return 0!=ed[this.ptr+12>>0]},this.set_rethrown=function(en){en=en?1:0,ed[this.ptr+13>>0]=en},this.get_rethrown=function(){return 0!=ed[this.ptr+13>>0]},this.init=function(en,er){this.set_adjusted_ptr(0),this.set_type(en),this.set_destructor(er),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var en=eb[this.ptr>>2];eb[this.ptr>>2]=en+1},this.release_ref=function(){var en=eb[this.ptr>>2];return eb[this.ptr>>2]=en-1,1===en},this.set_adjusted_ptr=function(en){em[this.ptr+16>>2]=en},this.get_adjusted_ptr=function(){return em[this.ptr+16>>2]},this.get_exception_ptr=function(){if(n_(this.get_type()))return em[this.excPtr>>2];var en=this.get_adjusted_ptr();return 0!==en?en:this.excPtr}}e8(ew="data:application/octet-stream;base64,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CyEAIAAgAC0AC0GAAXEgAXI6AAsgACAALQALQf8AcToACwsIAEHVCRBWAAsuACAAIAAoAghBgICAgHhxIAFB/////wdxcjYCCCAAIAAoAghBgICAgHhyNgIICwkAIAAgATYCAAsWACACECUhASAAIAI2AgQgACABNgIACyQAIABBC08EfyAAQRBqQXBxIgAgAEEBayIAIABBC0YbBUEKCwsMACAAIAEtAAA6AAALGAAgABAeBEAgACgCBA8LIAAtAAtB/wBxCwwAIABB6Cc2AgAgAAubBwIEfgJ/IwBB0AFrIgkkAAJAIAAgAUcgASADR3FFBEAgCUFAayIIIAFBgAEQExogCSABKQOAATcDwAEgACAIIAIgAxA5DAELIAAgA0YEQCAJQgE3A8ABIAlCADcDQCAAIAEgAiAJQUBrIgEQOSAAIAFGDQEgACAJKQPAASICNwOAASAAIAlBQGsgAqdBA3QQExoMAQsgAlBFBEAgAyABKQOAASIFNwOAASADIAEgASgCgAFBA3QQEyEIAkACQAJAIAWnIgFBAWsiAw4CAAECCyACIAgpAwAiBFYEQCAARQ0EIABCADcDACAAQgE3A4ABDAQLIAggAAR+IABCATcDgAEgACAEIAKANwMAIAgpAwAFIAQLIAKCNwMADAMLIAggA0EDdGopAwAhBiAIKQMAIQQgAARAIAlBMGogBCAGIAJCABAXIAAgCSkDOCIFNwMIIAAgCSkDMDcDACAAQgFCAiAFUBs3A4ABCyAJQSBqIAQgBiACQgAQJiAIQgE3A4ABIAhCADcDCCAIIAkpAyA3AwAMAgsCQCAARQ0AIABBECABIAFBEE8bIgGtNwOAASABIANNDQAgACADQQN0akIANwMACyADrSEEA0AgACAEIgWnQQN0IgNqIQEgAyAIaiEDAkACQAJAA0AgBVAgAykDACIEIAJackUEQCAJQRBqIANBCGspAwAiByAEIAJCABAXIAkgCSkDECIGIAkpAxggAhAZIAhBECAIKAKAAUEBayIBIAFBEE8brTcDgAEgCCAFQgF9IgSnQQN0IgNqIgEgByAJKQMAfTcDACAABEAgACADaiAGNwMACyAEUA0EIAEpAwBCAFINBSAIQRAgCCgCgAFBAWsiASABQRBPG603A4ABIAVCAn0hBCAADQIMAwsgAyAABH4gASAEIAKANwMA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ACAFa0F/IAAbIQALIARBEGokACAAC4UBAQJ/IwBBEGsiAyQAIAJB7////wdNBEACQCACEE0EQCAAIAIQMCAAIQQMAQsgA0EIaiAAIAIQNUEBahA0IAMoAgwaIAAgAygCCCIEEDMgACADKAIMEDIgACACECMLIAQgASACEB0gA0EAOgAHIAIgBGogA0EHahA2IANBEGokAA8LEDEAC9gBAgJ/AX4CQAJAIAAoAoABIgJBAUYEQCAAKQMAUA0BCyAAQRAgAkEDdCAAakEIaykDAEI4iEIAUiACaiIBIAFBEE8bIgGtNwOAASABIAJHBEAgAUEDdCAAakEIa0IANwMACyABQQN0IgFBAU0EQCAAQgA3AwAgAEIBNwOAAQwBCyAAQQFqIAAgAUEBayIBIAJBA3QiAiABIAJJGxAWGiAAQQEQGhoLIAApA4ABIQMDQCADQgF9IgNQDQEgACADp0EDdGopAwBCAFINASAAIAM3A4ABDAALAAsLBwAgAEELSQsDAAELrQEBA38gASwAC0EATgRAIAAgASkCADcCACAAIAEoAgg2AgggAA8LIAEoAgAhBCABKAIEIQIjAEEQayIDJAACQAJAAkAgAhBNBEAgACEBIAAgAhAwDAELIAJB7////wdLDQEgA0EIaiAAIAIQNUEBahA0IAMoAgwaIAAgAygCCCIBEDMgACADKAIMEDIgACACECMLIAEgBCACQQFqEB0gA0EQaiQADAELEDEACyAACw4AIAAoAghB/////wdxCyMBAn8jAEEQayICJAAgASAAEEkhAyACQRBqJAAgASAAIAMbCwcAIABBDGsLNwECfyABECgiAkENahAlIgNBADYCCCADIAI2AgQgAyACNgIAIAAgA0EMaiABIAJBAWoQEzYCAAvpBgIGfgN/IwBBEGsiDSQAAkAgASADWiACIARaIAIgBFEbRQRAIAVFDQEgBSABNwMAIAUgAjcDCAwBCyAEUARAAkAgAiADVARAIAN5IgdQRQRAIAIgB4YgAUIBiCAHQn+FiIQhAiADIAeGIQMgASAHhiEBCyACIAIgA0IgiCIIgCIEIAh+fSEGIAFC/////w+DIQkgAUIgiCEBIANC/////w+DIQoDQCAEQv////8PWCAEIAp+IAZCIIYgAYRYcUUEQCAEQgF9IQQgBiAIfCIGQoCAgIAQVA0BCwsgASACQiCGhCADIAR+fSICIAIgCIAiBiAIfn0hAQNAIAZC/////w9YIAYgCn4gAUIghiAJhFhxRQRAIAZCAX0hBiABIAh8IgFCgICAgBBUDQELCyACQiCGIAmEIAMgBn59IAeIIQFCACEJDAELIAIgAiADgCIJIAN+fSECIAN5IgdQRQRAIAIgB4YgAULAACAHfYiEIQIgAyAHhiEDIAEgB4YhAQsgAiACIANCIIgiCIAiBCAIfn0hBiABQv////8PgyEKIAFCIIghASADQv////8PgyELA0AgBEL/////D1ggBCALfiAGQiCGIAGEWHFFBEAgBEIBfSEEIAYgCHwiBkKAgICAEFQNAQsLIAEgAkIghoQgAyAEfn0iAiACIAiAIgYgCH59IQEDQCAGQv////8PWCAGIAt+IAFCIIYgCoRYcUUEQCAGQgF9IQYgASAIfCIBQoCAgIAQVA0BCwsgAkIghiAKhCADIAZ+fSAHiCEBCyAGIARCIIZ8IQcgBUUNASAFQgA3AwggBSABNwMADAELIAR5pyACeadrIgxBAE4EQAJAIAxBwABxBEAgAyAMQUBqrYYhBEIAIQMMAQsgDEUNACAEIAytIgaGIANBwAAgDGutiIQhBCADIAaGIQMLIA0gAzcDACANIAQ3AwggDSkDCCEEIA0pAwAhBgNAIAIgBiABQn+FfCAGVK0gBCACQn+FfHwiA0I/hyICIASDfSABIAIgBoMiCFStfSECIARCP4YgBkIBiIQhBiAHQgGGIANCP4iEIQcgASAIfSEBIAwiDkEBayEMIARCAYghBCAODQALCyAFRQ0AIAUgAjcDCCAFIAE3AwALIAAgBzcDACAAIAk3AwggDUEQaiQAC88DAEHQJEGcChAJQdwkQaUJQQFBAUEAEAhB6CRBzAhBAUGAf0H/ABABQYAlQcUIQQFBgH9B/wAQAUH0JEHDCEEBQQBB/wEQAUGMJUGaCEECQYCAfkH//wEQAUGYJUGRCEECQQBB//8DEAFBpCVBqQhBBEGAgICAeEH/////BxABQbAlQaAIQQRBAEF/EAFBvCVBwwlBBEGAgICAeEH/////BxABQcglQboJQQRBAEF/EAFB1CVBtAhCgICAgICAgICAf0L///////////8AEG1B4CVBswhCAEJ/EG1B7CVBrQhBBBAHQfglQZUKQQgQB0GQF0HiCRAGQYAdQaIUEAZByB1BBEHICRAFQZQeQQJB7gkQBUHgHkEEQf0JEAVB/B5BqgkQEEGkH0EAQd0TEABBzB9BAEHDFBAAQfQfQQFB+xMQAEGcIEECQe0QEABBxCBBA0GMERAAQewgQQRBtBEQAEGUIUEFQdEREABBvCFBBEHoFBAAQeQhQQVBhhUQAEHMH0EAQbcSEABB9B9BAUGWEhAAQZwgQQJB+RIQAEHEIEEDQdcSEABB7CBBBEG8ExAAQZQhQQVBmhMQAEGMIkEGQfcREABBtCJBB0GtFRAACy0BAX9BCBAvEDgiAUGUKDYCACABQQRqIAAQUyABQdgoNgIAIAFB+ChBGRACAAs5AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQQFrIgE2AggMAQsLIAAoAgAiAARAIAAQFQsLeAECfyABIAEoAgQgACgCACICIAAoAgQiA2tqIAIgAyACaxAWIgI2AgQgACgCACEDIAAgAjYCACABIAM2AgQgACgCBCECIAAgASgCCDYCBCABIAI2AgggACgCCCECIAAgASgCDDYCCCABIAI2AgwgASABKAIENgIAC0MBAX8gAEEANgIMIAAgAzYCECABBEAgARAlIQQLIAAgBDYCACAAIAIgBGoiAjYCCCAAIAEgBGo2AgwgACACNgIEIAALugEBBH8gACgCBCICIAAoAghHBEAgAiABLQAAOgAAIAAgAkEBajYCBA8LIwBBIGsiAyQAIAAoAgQgACgCAGtBAWoiAkEASARAQbwIEFYACyADQQhqQf////8HIAAoAgggACgCAGsiBEEBdCIFIAIgAiAFSRsgBEH/////A08bIAAoAgQgACgCAGsgAEEIahBZIgIoAgggAS0AADoAACACIAIoAghBAWo2AgggACACEFggAhBXIANBIGokAAshAEGIKi0AAEUEQEH8KUHNFUHNFRAoEEtBiCpBAToAAAsLlQMCA34FfwJAIAEoAoABIgYgAigCgAEiCCAGIAhLGyIHQQFGBEAgACACKQMAIgMgASkDAHwiBDcDACAAQgJCASADIARWIgEbNwOAASAAIAGtNwMIDAELIABBECAHIAdBEE8brTcDgAEgASACIAYgCEkiChshCSACIAEgChshAiAAIAYgCCAKG0EDdGohBiAAIQEDQCABIAZGRQRAIAEgAyACKQMAfCIE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IAFB+QBJBEADQCABIAJGBEAgA0EANgIgIANCADcDGCACQYABSQRAIANB0ABqIAJqIQpBgAEgAmshBCMAQRBrIgkkAAJAIAQgA0EYaiIBEB4EfyABEFBBAWsFQQoLIgIgARA3IgZrTQRAIARFDQEgARAkIgIgBmogCiAEEB0gBCAGaiEAAkAgARAeBEAgASAAECMMAQsgASAAEDALIAlBADoADyAAIAJqIAlBD2oQNgwBCyMAQRBrIgAkAAJAIAQgBmogAmsiBSACQX9zQe////8Hak0EQCABECQhCyAAIAEgAkHn////A0kEfyAAIAJBAXQ2AgwgACACIAVqNgIAIwBBEGsiBSQAIAAgAEEMaiIMEEkhDSAFQRBqJAAgDCAAIA0bKAIAEDVBAWoFQe////8HCxA0IAAoAgAhBSAAKAIEGiAGBEAgBSALIAYQHQsgBARAIAUgBmogCiAEEB0LIAJBCkcEQCALEBULIAEgBRAzIAEgACgCBBAyIAEgBCAGaiIBECMgAEEAOgAMIAEgBWogAEEMahA2IABBEGokAAwBCxAxAAsLIAlBEGokAAsgA0EIaiADQRhqIgEQTyEAIAMgEzcDOCADIBI3AzAgA0GkFzYCKCADIAAoAgg2AkggAyAAKQIANwNAIABCADcCACAAQQA2AgggCCADQShqIgQQIEEBOgAoIAQQGBogABAbIAEQGwwIBSADQdAAaiABajEAACATQgiGhCETIAFBAWohAQwBCwALAAsgA0EoaiIAQSgQGhogA0IANwM4IANBQGtCADcDACADQQA2AkggA0IANwMwIANBpBc2AiggCCAAECBBADoAKCAAEBgaDAULBSADQfADahBMIAMgAykD8AMgADEAAELeAIWENwPwAyAAQQFqIQAMAQsLIANBKGoiAEEoEBoaIANCADcDOCADQUBrQgA3AwAgA0EANgJIIANCADcDMCADQaQXNgIoIAggABAgQQA6ACggABAYGgUgA0GABWoQTCADIAMpA4AFIAAgAWoxAACENwOABSAAQQFqIQAMAQsLCyADQZAGaiQAAkAgBy0AMEUNACAHKQMYIhBC0oa90qWqE1IgEELOnrXq9OkQUnENAAJAQYcIECgiASAHQThqIgAoAgQgAC0ACyIEIATAQQBIG0YEfwJ/IwBBEGsiAiQAIAIgATYCCCACQX82Agwg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ID0gYm9vc3Q6Om11bHRpcHJlY2lzaW9uOjpiYWNrZW5kczo6Y3BwX2ludF9iYWNrZW5kPDIwNDgsIDIwNDgsIGJvb3N0OjptdWx0aXByZWNpc2lvbjo6dW5zaWduZWRfbWFnbml0dWRlLCBib29zdDo6bXVsdGlwcmVjaXNpb246OnVuY2hlY2tlZCwgdm9pZD5dAHZvaWQgYm9vc3Q6Om11bHRpcHJlY2lzaW9uOjpiYWNrZW5kczo6ZGl2aWRlX3Vuc2lnbmVkX2hlbHBlcihDcHBJbnQxICosIGNvbnN0IENwcEludDIgJiwgbGltYl90eXBlLCBDcHBJbnQxICYpIFtDcHBJbnQxID0gYm9vc3Q6Om11bHRpcHJlY2lzaW9uOjpiYWNrZW5kczo6Y3BwX2ludF9iYWNrZW5kPDEwMjQsIDEwMjQsIGJvb3N0OjptdWx0aXByZWNpc2lvbjo6dW5zaWduZWRfbWFnbml0dWRlLCBib29zdDo6bXVsdGlwcmVjaXNpb246OnVuY2hlY2tlZCwgdm9pZD4sIENwcEludDIgPSBib29zdDo6bXVsdGlwcmVjaXNpb246OmJhY2tlbmRzOjpjcHBfaW50X2JhY2tlbmQ8MTAyNCwgMTAyNCwgYm9vc3Q6Om11bHRpcHJlY2lzaW9uOjp1bnNpZ25lZF9tYWduaXR1ZGUsIGJvb3N0OjptdWx0aXByZWNpc2lvbjo6dW5jaGVja2VkLCB2b2lkPl0AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAEludGVnZXIgRGl2aXNpb24gYnkgemVyby4AUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEAAABcEgAAkAsAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAAAIEwAAUAsAAGlpaQAAAAAAvAsAAAQAAAAFAAAAMTBMaWNlbnNlS2V5AAAAAAgTAACsCwBB0BcLnhKBlMIS73bD6kXW8kM50S47/LSgnRv9jWt18og8cJE74F7J55d2GGMsp8T8slmwPebMs/gji/EyYIDojRXrqx/jT5wrAxR+rRqc4EGlYfSiAkxmuzrKR0xWUXwnfJlpJ7eVQpHgUdU22v+nu/GVRZHi425ywHvx3CFiCSfx3YdtcwEAAAAAAAAATjVib29zdDlleGNlcHRpb25FAAAIEwAAWAwAAE41Ym9vc3QxNmV4Y2VwdGlvbl9kZXRhaWwxMGNsb25lX2Jhc2VFAAAIEwAAdAwAAAAAAACcDAAABwAAAAcAAAAIAAAACQAAAAAAAABsDAAABwAAAAcAAAAAAAAAAQAAAAAAAABONWJvb3N0MTZleGNlcHRpb25fZGV0YWlsMTBjbG9uZV9pbXBsSU5TMF8xOWVycm9yX2luZm9faW5qZWN0b3JJU3QxNG92ZXJmbG93X2Vycm9yRUVFRQBONWJvb3N0MTZleGNlcHRpb25fZGV0YWlsMTllcnJvcl9pbmZvX2luamVjdG9ySVN0MTRvdmVyZmxvd19lcnJvckVFAACMEwAALw0AAAAAAAACAAAAzBQAAAIAAABsDAAAAggAAIwTAADYDAAAAAAAAAIAAAB0DQAAAgAAAJwMAAAD9P//HAAAAAAAAACUDQAABgAAAAoAAAALAAAADAAAAA0AAAD4////lA0AAA4AAAAPAAAA5P///+T////k////5P///5QNAAAQAAAAEQAAABIAAAATAAAAAAAAAHQNAAAUAAAAFQAAAAsAAAD4////dA0AABYAAAAXAAAAAAAAAAEAAAAAAAAAAQAAAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAACBMAAEAOAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAACBMAAIgOAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQAAAAgTAADQDgAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUAAAAIEwAAHA8AAE4xMGVtc2NyaXB0ZW4zdmFsRQAACBMAAGgPAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAAAgTAACEDwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAAAIEwAArA8AAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQAACBMAANQPAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUAAAgTAAD8DwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAAAIEwAAJBAAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQAACBMAAEwQAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUAAAgTAAB0EAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAAAIEwAAnBAAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAACBMAAMQQAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lmRUUAAAgTAADsEAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAAAIEwAAFBEAAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAADATAAA8EQAA6BQAAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAADATAABsEQAAYBEAAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAADATAACcEQAAYBEAAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FADATAADMEQAAwBEAAAAAAABAEgAAGwAAABwAAAAdAAAAHgAAAB8AAABOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAMBMAABgSAABgEQAAdgAAAAQSAABMEgAAYgAAAAQSAABYEgAAYwAAAAQSAABkEgAAaAAAAAQSAABwEgAAYQAAAAQSAAB8EgAAcwAAAAQSAACIEgAAdAAAAAQSAACUEgAAaQAAAAQSAACgEgAAagAAAAQSAACsEgAAbAAAAAQSAAC4EgAAbQAAAAQSAADEEgAAeAAAAAQSAADQEgAAeQAAAAQSAADcEgAAZgAAAAQSAADoEgAAZAAAAAQSAAD0EgAAAAAAAJARAAAbAAAAIAAAAB0AAAAeAAAAIQAAACIAAAAjAAAAJAAAAAAAAAB4EwAAGwAAACUAAAAdAAAAHgAAACEAAAAmAAAAJwAAACgAAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAMBMAAFATAACQEQAAAAAAANQTAAAbAAAAKQAAAB0AAAAeAAAAIQAAACoAAAArAAAALAAAAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAAAAwEwAArBMAAJARAAAAAAAABBQAAC0AAAAuAAAALwAAAFN0OWV4Y2VwdGlvbgAAAAAIEwAA9BMAAAAAAABEFAAAGQAAADAAAAAxAAAAAAAAAJgUAAAyAAAAMwAAAAsAAABTdDExbG9naWNfZXJyb3IAMBMAADQUAAAEFAAAAAAAAHgUAAAZAAAANAAAADEAAABTdDEybGVuZ3RoX2Vycm9yAAAAADATAABkFAAARBQAAFN0MTNydW50aW1lX2Vycm9yAAAAMBMAAIQUAAAEFAAAAAAAAMwUAAAyAAAANQAAAAsAAABTdDE0b3ZlcmZsb3dfZXJyb3IAADATAAC4FAAAmBQAAFN0OXR5cGVfaW5mbwAAAAAIEwAA2BQAQfApCwMQFwE=")||(ew=ek(ew));var ta=0;function ts(en,er,ei){throw new ti(en).init(er,ei),ta++,en}function tu(en,er,ei,eo,ea){}function tl(en){switch(en){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw TypeError("Unknown type size: "+en)}}function tc(){for(var en=Array(256),er=0;er<256;++er)en[er]=String.fromCharCode(er);tf=en}var tf=void 0;function tA(en){for(var er="",ei=en;eh[ei];)er+=tf[eh[ei++]];return er}var td={},th={},tp={},tg=48,tb=57;function tm(en){if(void 0===en)return"_unknown";var er=(en=en.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return er>=tg&&er<=tb?"_"+en:en}function ty(en,er){return Function("body","return function "+(en=tm(en))+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(er)}function tv(en,er){var ei=ty(er,function(en){this.name=er,this.message=en;var ei=Error(en).stack;void 0!==ei&&(this.stack=this.toString()+"\n"+ei.replace(/^Error(:[^\n]*)?\n/,""))});return ei.prototype=Object.create(en.prototype),ei.prototype.constructor=ei,ei.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},ei}var tI=void 0;function tw(en){throw new tI(en)}var tE=void 0;function tC(en){throw new tE(en)}function tT(en,er,ei){function eo(er){var eo=ei(er);eo.length!==en.length&&tC("Mismatched type converter count");for(var ea=0;ea<en.length;++ea)tS(en[ea],eo[ea])}en.forEach(function(en){tp[en]=er});var ea=Array(er.length),es=[],eu=0;er.forEach((en,er)=>{th.hasOwnProperty(en)?ea[er]=th[en]:(es.push(en),td.hasOwnProperty(en)||(td[en]=[]),td[en].push(()=>{ea[er]=th[en],++eu===es.length&&eo(ea)}))}),0===es.length&&eo(ea)}function tS(en,er,ei={}){if(!("argPackAdvance"in er))throw TypeError("registerType registeredInstance requires argPackAdvance");var eo=er.name;if(en||tw('type "'+eo+'" must have a positive integer typeid pointer'),th.hasOwnProperty(en)){if(ei.ignoreDuplicateRegistrations)return;tw("Cannot register type '"+eo+"' twice")}if(th[en]=er,delete tp[en],td.hasOwnProperty(en)){var ea=td[en];delete td[en],ea.forEach(en=>en())}}function tB(en,er,ei,eo,ea){var es=tl(ei);tS(en,{name:er=tA(er),fromWireType:function(en){return!!en},toWireType:function(en,er){return er?eo:ea},argPackAdvance:8,readValueFromPointer:function(en){var eo;if(1===ei)eo=ed;else if(2===ei)eo=ep;else if(4===ei)eo=eb;else throw TypeError("Unknown boolean type size: "+er);return this.fromWireType(eo[en>>es])},destructorFunction:null})}var tx=[],t_=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function tD(en){en>4&&0==--t_[en].refcount&&(t_[en]=void 0,tx.push(en))}function tP(){for(var en=0,er=5;er<t_.length;++er)void 0!==t_[er]&&++en;return en}function tO(){for(var en=5;en<t_.length;++en)if(void 0!==t_[en])return t_[en];return null}function tk(){eT.count_emval_handles=tP,eT.get_first_emval=tO}var tQ={toValue:en=>(en||tw("Cannot use deleted val. handle = "+en),t_[en].value),toHandle:en=>{switch(en){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var er=tx.length?tx.pop():t_.length;return t_[er]={refcount:1,value:en},er}}};function tM(en){return this.fromWireType(eb[en>>2])}function tF(en,er){tS(en,{name:er=tA(er),fromWireType:function(en){var er=tQ.toValue(en);return tD(en),er},toWireType:function(en,er){return tQ.toHandle(er)},argPackAdvance:8,readValueFromPointer:tM,destructorFunction:null})}function tN(en,er){switch(er){case 2:return function(en){return this.fromWireType(ey[en>>2])};case 3:return function(en){return this.fromWireType(ev[en>>3])};default:throw TypeError("Unknown float type: "+en)}}function tL(en,er,ei){var eo=tl(ei);tS(en,{name:er=tA(er),fromWireType:function(en){return en},toWireType:function(en,er){return er},argPackAdvance:8,readValueFromPointer:tN(er,eo),destructorFunction:null})}function tR(en,er){if(!(en instanceof Function))throw TypeError("new_ called with constructor type "+typeof en+" which is not a function");var ei=ty(en.name||"unknownFunctionName",function(){});ei.prototype=en.prototype;var eo=new ei,ea=en.apply(eo,er);return ea instanceof Object?ea:eo}function tG(en){for(;en.length;){var er=en.pop();en.pop()(er)}}function tU(en,er,ei,eo,ea){var es=er.length;es<2&&tw("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var eu=null!==er[1]&&null!==ei,ec=!1,ef=1;ef<er.length;++ef)if(null!==er[ef]&&void 0===er[ef].destructorFunction){ec=!0;break}for(var eA="void"!==er[0].name,ed="",eh="",ef=0;ef<es-2;++ef)ed+=(0!==ef?", ":"")+"arg"+ef,eh+=(0!==ef?", ":"")+"arg"+ef+"Wired";var ep="return function "+tm(en)+"("+ed+") {\nif (arguments.length !== "+(es-2)+") {\nthrowBindingError('function "+en+" called with ' + arguments.length + ' arguments, expected "+(es-2)+" args!');\n}\n";ec&&(ep+="var destructors = [];\n");var eg=ec?"destructors":"null",eb=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],em=[tw,eo,ea,tG,er[0],er[1]];eu&&(ep+="var thisWired = classParam.toWireType("+eg+", this);\n");for(var ef=0;ef<es-2;++ef)ep+="var arg"+ef+"Wired = argType"+ef+".toWireType("+eg+", arg"+ef+"); // "+er[ef+2].name+"\n",eb.push("argType"+ef),em.push(er[ef+2]);if(eu&&(eh="thisWired"+(eh.length>0?", ":"")+eh),ep+=(eA?"var rv = ":"")+"invoker(fn"+(eh.length>0?", ":"")+eh+");\n",ec)ep+="runDestructors(destructors);\n";else for(var ef=eu?1:2;ef<er.length;++ef){var ey=1===ef?"thisWired":"arg"+(ef-2)+"Wired";null!==er[ef].destructorFunction&&(ep+=ey+"_dtor("+ey+"); // "+er[ef].name+"\n",eb.push(ey+"_dtor"),em.push(er[ef].destructorFunction))}return eA&&(ep+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),ep+="}\n",eb.push(ep),tR(Function,eb).apply(null,em)}function tj(en,er,ei){if(void 0===en[er].overloadTable){var eo=en[er];en[er]=function(){return en[er].overloadTable.hasOwnProperty(arguments.length)||tw("Function '"+ei+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+en[er].overloadTable+")!"),en[er].overloadTable[arguments.length].apply(this,arguments)},en[er].overloadTable=[],en[er].overloadTable[eo.argCount]=eo}}function tV(en,er,ei){eT.hasOwnProperty(en)?((void 0===ei||void 0!==eT[en].overloadTable&&void 0!==eT[en].overloadTable[ei])&&tw("Cannot register public name '"+en+"' twice"),tj(eT,en,en),eT.hasOwnProperty(ei)&&tw("Cannot register multiple overloads of a function with the same number of arguments ("+ei+")!"),eT[en].overloadTable[ei]=er):(eT[en]=er,void 0!==ei&&(eT[en].numArguments=ei))}function tH(en,er){for(var ei=[],eo=0;eo<en;eo++)ei.push(em[er+4*eo>>2]);return ei}function tz(en,er,ei){eT.hasOwnProperty(en)||tC("Replacing nonexistant public symbol"),void 0!==eT[en].overloadTable&&void 0!==ei?eT[en].overloadTable[ei]=er:(eT[en]=er,eT[en].argCount=ei)}function tZ(en,er,ei){var eo=eT["dynCall_"+en];return ei&&ei.length?eo.apply(null,[er].concat(ei)):eo.call(null,er)}function tW(en){return eI.get(en)}function tq(en,er,ei){return en.includes("j")?tZ(en,er,ei):tW(er).apply(null,ei)}function t$(en,er){var ei=[];return function(){return ei.length=0,Object.assign(ei,arguments),tq(en,er,ei)}}function tK(en,er){en=tA(en);var ei=function(){return en.includes("j")?t$(en,er):tW(er)}();return"function"!=typeof ei&&tw("unknown function pointer with signature "+en+": "+er),ei}var tY=void 0;function tX(en){var er=nT(en),ei=tA(er);return nx(er),ei}function tJ(en,er){var ei=[],eo={};function ea(en){if(!eo[en]&&!th[en]){if(tp[en]){tp[en].forEach(ea);return}ei.push(en),eo[en]=!0}}throw er.forEach(ea),new tY(en+": "+ei.map(tX).join([", "]))}function t0(en,er,ei,eo,ea,es){var eu=tH(er,ei);en=tA(en),ea=tK(eo,ea),tV(en,function(){tJ("Cannot call "+en+" due to unbound types",eu)},er-1),tT([],eu,function(ei){return tz(en,tU(en,[ei[0],null].concat(ei.slice(1)),null,ea,es),er-1),[]})}function t1(en,er,ei){switch(er){case 0:return ei?function(en){return ed[en]}:function(en){return eh[en]};case 1:return ei?function(en){return ep[en>>1]}:function(en){return eg[en>>1]};case 2:return ei?function(en){return eb[en>>2]}:function(en){return em[en>>2]};default:throw TypeError("Unknown integer type: "+en)}}function t2(en,er,ei,eo,ea){er=tA(er),-1===ea&&(ea=4294967295);var es,eu=tl(ei),ec=en=>en;if(0===eo){var ef=32-8*ei;ec=en=>en<<ef>>>ef}var eA=er.includes("unsigned"),ed=(en,er)=>{};tS(en,{name:er,fromWireType:ec,toWireType:es=eA?function(en,er){return ed(er,this.name),er>>>0}:function(en,er){return ed(er,this.name),er},argPackAdvance:8,readValueFromPointer:t1(er,eu,0!==eo),destructorFunction:null})}function t3(en,er,ei){var eo=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][er];function ea(en){var er=em,ei=er[en>>=2],ea=er[en+1];return new eo(er.buffer,ea,ei)}tS(en,{name:ei=tA(ei),fromWireType:ea,argPackAdvance:8,readValueFromPointer:ea},{ignoreDuplicateRegistrations:!0})}function t4(en,er){var ei="std::string"===(er=tA(er));tS(en,{name:er,fromWireType:function(en){var er,eo=em[en>>2],ea=en+4;if(ei)for(var es=ea,eu=0;eu<=eo;++eu){var ec=ea+eu;if(eu==eo||0==eh[ec]){var ef=ec-es,eA=eR(es,ef);void 0===er?er=eA:er+="\x00"+eA,es=ec+1}}else{for(var ed=Array(eo),eu=0;eu<eo;++eu)ed[eu]=String.fromCharCode(eh[ea+eu]);er=ed.join("")}return nx(en),er},toWireType:function(en,er){er instanceof ArrayBuffer&&(er=new Uint8Array(er));var eo,ea="string"==typeof er;ea||er instanceof Uint8Array||er instanceof Uint8ClampedArray||er instanceof Int8Array||tw("Cannot pass non-string to std::string");var es=nB(4+(eo=ei&&ea?ej(er):er.length)+1),eu=es+4;if(em[es>>2]=eo,ei&&ea)eU(er,eu,eo+1);else if(ea)for(var ec=0;ec<eo;++ec){var ef=er.charCodeAt(ec);ef>255&&(nx(eu),tw("String has UTF-16 code units that do not fit in 8 bits")),eh[eu+ec]=ef}else for(var ec=0;ec<eo;++ec)eh[eu+ec]=er[ec];return null!==en&&en.push(nx,es),es},argPackAdvance:8,readValueFromPointer:tM,destructorFunction:function(en){nx(en)}})}var t6="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function t8(en,er){for(var ei=en,eo=ei>>1,ea=eo+er/2;!(eo>=ea)&&eg[eo];)++eo;if((ei=eo<<1)-en>32&&t6)return t6.decode(eh.subarray(en,ei));for(var es="",eu=0;!(eu>=er/2);++eu){var ec=ep[en+2*eu>>1];if(0==ec)break;es+=String.fromCharCode(ec)}return es}function t5(en,er,ei){if(void 0===ei&&(ei=2147483647),ei<2)return 0;for(var eo=er,ea=(ei-=2)<2*en.length?ei/2:en.length,es=0;es<ea;++es){var eu=en.charCodeAt(es);ep[er>>1]=eu,er+=2}return ep[er>>1]=0,er-eo}function t7(en){return 2*en.length}function t9(en,er){for(var ei=0,eo="";!(ei>=er/4);){var ea=eb[en+4*ei>>2];if(0==ea)break;if(++ei,ea>=65536){var es=ea-65536;eo+=String.fromCharCode(55296|es>>10,56320|1023&es)}else eo+=String.fromCharCode(ea)}return eo}function nn(en,er,ei){if(void 0===ei&&(ei=2147483647),ei<4)return 0;for(var eo=er,ea=eo+ei-4,es=0;es<en.length;++es){var eu=en.charCodeAt(es);if(eu>=55296&&eu<=57343&&(eu=65536+((1023&eu)<<10)|1023&en.charCodeAt(++es)),eb[er>>2]=eu,(er+=4)+4>ea)break}return eb[er>>2]=0,er-eo}function nr(en){for(var er=0,ei=0;ei<en.length;++ei){var eo=en.charCodeAt(ei);eo>=55296&&eo<=57343&&++ei,er+=4}return er}function ni(en,er,ei){var eo,ea,es,eu,ec;ei=tA(ei),2===er?(eo=t8,ea=t5,eu=t7,es=()=>eg,ec=1):4===er&&(eo=t9,ea=nn,eu=nr,es=()=>em,ec=2),tS(en,{name:ei,fromWireType:function(en){for(var ei,ea=em[en>>2],eu=es(),ef=en+4,eA=0;eA<=ea;++eA){var ed=en+4+eA*er;if(eA==ea||0==eu[ed>>ec]){var eh=ed-ef,ep=eo(ef,eh);void 0===ei?ei=ep:ei+="\x00"+ep,ef=ed+er}}return nx(en),ei},toWireType:function(en,eo){"string"!=typeof eo&&tw("Cannot pass non-string to C++ string type "+ei);var es=eu(eo),ef=nB(4+es+er);return em[ef>>2]=es>>ec,ea(eo,ef+4,es+er),null!==en&&en.push(nx,ef),ef},argPackAdvance:8,readValueFromPointer:tM,destructorFunction:function(en){nx(en)}})}function no(en,er){tS(en,{isVoid:!0,name:er=tA(er),argPackAdvance:0,fromWireType:function(){},toWireType:function(en,er){}})}function na(en,er){var ei=th[en];return void 0===ei&&tw(er+" has unknown type "+tX(en)),ei}function ns(en,er,ei){en=tQ.toValue(en),er=na(er,"emval::as");var eo=[],ea=tQ.toHandle(eo);return em[ei>>2]=ea,er.toWireType(eo,en)}var nu={};function nl(en){var er=nu[en];return void 0===er?tA(en):er}function nc(){return"object"==typeof globalThis?globalThis:Function("return this")()}function nf(en){return 0===en?tQ.toHandle(nc()):(en=nl(en),tQ.toHandle(nc()[en]))}function nA(en,er){return en=tQ.toValue(en),er=tQ.toValue(er),tQ.toHandle(en[er])}function nd(en){return tQ.toHandle(nl(en))}function nh(en){tG(tQ.toValue(en)),tD(en)}function np(){e4("")}function ng(){return 536870912}function nb(en){var er=eA.buffer;try{return eA.grow(en-er.byteLength+65535>>>16),eV(),1}catch(en){}}function nm(en){var er=eh.length;en>>>=0;var ei=ng();if(en>ei)return!1;let eo=(en,er)=>en+(er-en%er)%er;for(var ea=1;ea<=4;ea*=2){var es=er*(1+.2/ea);if(es=Math.min(es,en+100663296),nb(Math.min(ei,eo(Math.max(en,es),65536))))return!0}return!1}tc(),tI=eT.BindingError=tv(Error,"BindingError"),tE=eT.InternalError=tv(Error,"InternalError"),tk(),tY=eT.UnboundTypeError=tv(Error,"UnboundTypeError");var ny=!1,nv="function"==typeof atob?atob:function(en){var er,ei,eo,ea,es,eu,ec,ef="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",eA="",ed=0;en=en.replace(/[^A-Za-z0-9\+\/\=]/g,"");do ea=ef.indexOf(en.charAt(ed++)),es=ef.indexOf(en.charAt(ed++)),eu=ef.indexOf(en.charAt(ed++)),ec=ef.indexOf(en.charAt(ed++)),er=ea<<2|es>>4,ei=(15&es)<<4|eu>>2,eo=(3&eu)<<6|ec,eA+=String.fromCharCode(er),64!==eu&&(eA+=String.fromCharCode(ei)),64!==ec&&(eA+=String.fromCharCode(eo));while(ed<en.length);return eA};function nI(en){try{for(var er=nv(en),ei=new Uint8Array(er.length),eo=0;eo<er.length;++eo)ei[eo]=er.charCodeAt(eo);return ei}catch(en){throw Error("Converting base64 string to bytes failed.")}}function nw(en){if(e8(en))return nI(en.slice(e6.length))}var nE={c:ts,o:tu,i:tB,q:tF,h:tL,s:t0,b:t2,a:t3,g:t4,f:ni,j:no,l:ns,d:tD,r:nf,m:nA,n:nd,k:nh,e:np,p:nm};e9();var nC=eT.___wasm_call_ctors=function(){return(nC=eT.___wasm_call_ctors=eT.asm.u).apply(null,arguments)},nT=eT.___getTypeName=function(){return(nT=eT.___getTypeName=eT.asm.w).apply(null,arguments)},nS=eT.__embind_initialize_bindings=function(){return(nS=eT.__embind_initialize_bindings=eT.asm.x).apply(null,arguments)},nB=eT._malloc=function(){return(nB=eT._malloc=eT.asm.y).apply(null,arguments)},nx=eT._free=function(){return(nx=eT._free=eT.asm.z).apply(null,arguments)},n_=eT.___cxa_is_pointer_type=function(){return(n_=eT.___cxa_is_pointer_type=eT.asm.A).apply(null,arguments)};function nD(en){en=en||eB,!(eJ>0)&&(eW(),eJ>0||(eT.setStatus?(eT.setStatus("Running..."),setTimeout(function(){setTimeout(function(){eT.setStatus("")},1),er()},1)):er()));function er(){!eE&&(eE=!0,eT.calledRun=!0,eM||(eq(),ei(eT),eT.onRuntimeInitialized&&eT.onRuntimeInitialized(),e$()))}}if(e1=function en(){eE||nD(),eE||(e1=en)},eT.preInit)for("function"==typeof eT.preInit&&(eT.preInit=[eT.preInit]);eT.preInit.length>0;)eT.preInit.pop()();return nD(),eC.ready}})();let lN=lF;function lL(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function lR(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){lL(es,eo,ea,eu,ec,"next",en)}function ec(en){lL(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function lG(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var lU=function(){var en=lR(function(en){return lG(this,function(er){switch(er.label){case 0:return[4,lN()];case 1:if(er.sent().Verify(en))return[2];return(0,aY.Z)(1),[2]}})});return function(er){return en.apply(this,arguments)}}();function lj(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function lV(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){lj(es,eo,ea,eu,ec,"next",en)}function ec(en){lj(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function lH(en,er,ei){return er in en?Object.defineProperty(en,er,{value:ei,enumerable:!0,configurable:!0,writable:!0}):en[er]=ei,en}function lz(en){for(var er=1;er<arguments.length;er++){var ei=null!=arguments[er]?arguments[er]:{},eo=Object.keys(ei);"function"==typeof Object.getOwnPropertySymbols&&(eo=eo.concat(Object.getOwnPropertySymbols(ei).filter(function(en){return Object.getOwnPropertyDescriptor(ei,en).enumerable}))),eo.forEach(function(er){lH(en,er,ei[er])})}return en}function lZ(en,er){var ei=Object.keys(en);if(Object.getOwnPropertySymbols){var eo=Object.getOwnPropertySymbols(en);er&&(eo=eo.filter(function(er){return Object.getOwnPropertyDescriptor(en,er).enumerable})),ei.push.apply(ei,eo)}return ei}function lW(en,er){return er=null!=er?er:{},Object.getOwnPropertyDescriptors?Object.defineProperties(en,Object.getOwnPropertyDescriptors(er)):lZ(Object(er)).forEach(function(ei){Object.defineProperty(en,ei,Object.getOwnPropertyDescriptor(er,ei))}),en}function lq(en){return en&&"undefined"!=typeof Symbol&&en.constructor===Symbol?"symbol":typeof en}function l$(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var lK=function(){tp.Z.config.isShowGuidelinesButton||(ng.ZP.ui.guidlinesBtn.style.display="none"),ng.ZP.ui.version.innerText=tp.Z.VERSION},lY=function(){return lU(tp.Z.keys.commonLicenseKey).then(function(){return ng.ZP.ui.updateKeyError()})},lX={showSelectDocumentTypeModal:function(){var en=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(en&&ng.ZP.ui.selectDocumentType.showCancelButton(),ng.ZP.ui.selectDocumentType.show(),"sticky-bottom"===tp.Z.config.modalPosition){var er=Array.from(document.getElementById(tp.Z.config.el).children).map(function(en){return!!en.classList.contains("idvc")&&en}).pop();if(!er)return;er.classList.remove("idvc-grid"),er.classList.add("idvc-flex-column-reverse")}},postInit:function(){return lV(function(){return l$(this,function(en){return tp.Z.loop=sn,n2(),u6(this),ng.ZP.ui.messageBox.updateByTypesCount(tp.Z.config.types.length),tp.Z.uploader=new nu("vc-uploader-drop-area",{type:"face",img:null},lk,function(){(0,r$.b3)()},n4.Z,tp.Z.config.useHeic?["heic"]:[]),tp.Z.config.isShowDocumentTypeSelect||1!==tp.Z.config.types.length?this.showSelectDocumentTypeModal():(tp.Z.type=eQ.Z.idByName(tp.Z.config.types[0]),tp.Z.config.steps=tp.Z.config.documentTypes[tp.Z.config.types[0]],lX.mount()),lK(),[2]})}).apply(this)},mount:function(){return lV(function(){return l$(this,function(en){return(0,r$.b3)("awaiting"),this.resetSteps(),iG(),lY(),[2]})}).apply(this)},start:function(){return lV(function(){return l$(this,function(en){return ng.ZP.ui.updateKeyError(),(0,r$.b3)("awaiting"),tp.Z.currentStep=-1,iZ(iq()),[2]})})()},changeDocumentType:function(){iw.stopTrack(),iD(),this.showSelectDocumentTypeModal(!0)},resetAllSteps:function(){return lV(function(){var en;return l$(this,function(er){return(0,r$.b3)(),iw.stopTrack(),iD(),tp.Z.config.onReset&&(en=tp.Z.steps.map(function(en,er){return en.prepareStepForCallback(er)}),tp.Z.config.onReset(np.formDataForSubmit(en,tp.Z,{}))),tp.Z.currentStep=-1,tp.Z.config.isShowDocumentTypeSelect||1!==tp.Z.config.types.length?((0,r$.u7)(),this.showSelectDocumentTypeModal(!0)):((0,r$.u7)(),lX.mount()),[2]})}).apply(this)},resetSteps:function(){tp.Z.sizeK=1.44,tp.Z.steps=[],tp.Z.steps=Object.values(tp.Z.config.steps).map(function(en){return lQ.Z.createStep(en)}),ng.ZP.ui.updateStepImg(),iZ(0)},updateDocumentTypes:function(en){return lV(function(){return l$(this,function(er){return[2,this.reloadComponent(lW(lz({},tp.Z.config),{documentTypes:en}))]})}).apply(this)},reloadComponent:function(en){return lV(function(){return l$(this,function(er){switch(er.label){case 0:if(iw.stopTrack(),iD(),tp.Z.config.validate(en),n2(),tp.Z.init(),iw.dropResolutions(),n8(),!n3.isCameraRequired())return[3,2];return[4,iw.getResolution(tp.Z.steps[0].camera)];case 1:er.sent(),er.label=2;case 2:return[4,uC()];case 3:return er.sent(),n3.checkCompatibility(),[4,n3.start()];case 4:return er.sent(),[4,this.postInit()];case 5:return er.sent(),tp.Z.config.isShowDocumentTypeSelect||1!==tp.Z.config.types.length||ng.ZP.ui.selectDocumentType.hide(),tp.Z.config.onReloaded&&"function"==typeof tp.Z.config.onReloaded&&tp.Z.config.onReloaded(),[2]}})}).apply(this)},showSpinner:function(en){if("boolean"!=typeof en){console.error("".concat(void 0===en?"undefined":lq(en)," not allowed. Only Boolean"));return}en?(0,r$.b3)():(0,r$.u7)()}};let lJ=lX;var l0='<div class="idvc idvc-grid">\n <div class="vc-loading-mask vc-loading-mask--enabled" id="VC-loading">\n <div class="el-loading-spinner" id="idvc-loading-spinner">\n <p class="el-loading-text" id="VC-loading-text-top"></p>\n <svg viewBox="25 25 50 50" class="circular">\n <circle cx="50" cy="50" r="20" fill="none" class="path"></circle>\n </svg>\n <p class="el-loading-text" id="VC-loading-text-bottom"></p>\n </div>\n </div>\n <div class="vc-dialog-type-background d-none" id="vc-dialog-type-background"></div>\n <div class="vc-dialog-bottom vc-dialog-bottom--center select-doctype-dialog d-none" id="vc-select-type-dialog">\n <div class="vc-dialog-bottom__header">\n <div class="vc-dialog-bottom__header__cancel v-none">\n <button class="el-button el-button--transparent el-button--transparent-border" id="vc-btn-doctype-cancel">\n Cancel\n </button>\n </div>\n <div id="vc-select-type-dialog-text" class="vc-dialog-bottom__header__text">\n Select Document Type\n </div>\n <div class="vc-dialog-bottom__header__done v-none">\n <button class="el-button el-button--transparent el-button--transparent-border" id="vc-btn-doctype-done">Done\n </button>\n </div>\n </div>\n <div class="select-doctype-dialog__content" id="vc-doctype-dialog-container">\n <label class="select-doctype-dialog__content__element">\n <span class="select-doctype-dialog__content__element__text">Driver’s License or ID card</span>\n <input type="radio" id="id" name="doctype" value="ID" checked="checked" class="select-doctype-dialog__content__element__radio">\n <span class="select-doctype-dialog__content__element__checkmark"></span>\n </label>\n <label class="select-doctype-dialog__content__element">\n <span class="select-doctype-dialog__content__element__text">Passport</span>\n <input type="radio" id="passport" name="doctype" value="Passport" class="select-doctype-dialog__content__element__radio">\n <span class="select-doctype-dialog__content__element__checkmark"></span>\n </label>\n <label class="select-doctype-dialog__content__element">\n <span class="select-doctype-dialog__content__element__text">Passport Card</span>\n <input type="radio" id="passportcard" name="doctype" value="PassportCard" class="select-doctype-dialog__content__element__radio">\n <span class="select-doctype-dialog__content__element__checkmark"></span>\n </label>\n <label class="select-doctype-dialog__content__element">\n <span class="select-doctype-dialog__content__element__text">Green Card or Employment Authorization</span>\n <input type="radio" id="gc" name="doctype" value="GC" class="select-doctype-dialog__content__element__radio">\n <span class="select-doctype-dialog__content__element__checkmark"></span>\n </label>\n <label class="select-doctype-dialog__content__element">\n <span class="select-doctype-dialog__content__element__text">International ID</span>\n <input type="radio" id="iid" name="doctype" value="iid" class="select-doctype-dialog__content__element__radio">\n <span class="select-doctype-dialog__content__element__checkmark"></span>\n </label>\n </div>\n </div>\n <div class="browser-not-compability" id="VC-browser-compatibility">\n Your browser is not supported\n </div>\n <div class="idvc-steps" id="VC-steps"></div>\n <div class="message-box" id="vc-message-box"><span class="message-box__text">Scan your document</span><button class="idvc-caret idvc-caret__right" id="idvc-change-document-type-btn"></button></div>\n <main class="main-container" id="vc-main-content">\n <div class="uploader-wrap" id="VC-uploader">\n <div class="uploader" id="vc-uploader-drop-area">\n <div class="uploader__background"></div>\n <label for="vc-upload-drop-file" title="Drop a document face your document here">\n <div class="uploader__message">\n <i class="uploader__icon-camera">\n <svg version="1.1" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32" width="32" height="32" id="svg79" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">\n <defs id="defs49">\n <path d="M 500,465.91 V 204.55" id="a4KFoJh3yX"/>\n <path d="m 400.8,303.75 c 58.63,-59.11 91.21,-91.95 97.72,-98.52 0.78,-0.82 2.08,-0.85 2.89,-0.07 0.03,0.03 0.05,0.05 0.07,0.07 6.51,6.57 39.09,39.41 97.72,98.52" id="cBLjNQRHu"/>\n <path d="m 681.82,431.82 c 0,42.13 0,65.54 0,70.23 0,36.52 -29.61,66.13 -66.14,66.13 -23.13,0 -208.23,0 -231.36,0 -36.53,0 -66.14,-29.61 -66.14,-66.13 0,-4.69 0,-28.1 0,-70.23" id="a1tVkyC5hP"/>\n </defs>\n <g id="g77" style="fill:#000000" transform="matrix(0.08751689,0,0,0.08753503,-27.758447,-17.822243)">\n <g id="g75" style="fill:#000000">\n <g id="g57" style="fill:#000000">\n <use xlink:href="#a4KFoJh3yX" opacity="1" fill="#000000" fill-opacity="0" id="use51" style="fill:#000000" x="0" y="0" width="100%" height="100%"/>\n <g id="g55" style="fill:#000000">\n <use xlink:href="#a4KFoJh3yX" opacity="1" fill-opacity="0" stroke="#ffffff" stroke-width="2" stroke-opacity="1" id="use53" style="fill:#000000" x="0" y="0" width="100%" height="100%"/>\n </g>\n </g>\n <g id="g65" style="fill:#000000">\n <use xlink:href="#cBLjNQRHu" opacity="1" fill="#000000" fill-opacity="0" id="use59" style="fill:#000000" x="0" y="0" width="100%" height="100%"/>\n <g id="g63" style="fill:#000000">\n <use xlink:href="#cBLjNQRHu" opacity="1" fill-opacity="0" stroke="#ffffff" stroke-width="2" stroke-opacity="1" id="use61" style="fill:#000000" x="0" y="0" width="100%" height="100%"/>\n </g>\n </g>\n <g id="g73" style="fill:#000000">\n <use xlink:href="#a1tVkyC5hP" opacity="1" fill="#000000" fill-opacity="0" id="use67" style="fill:#000000" x="0" y="0" width="100%" height="100%"/>\n <g id="g71" style="fill:#000000">\n <use xlink:href="#a1tVkyC5hP" opacity="1" fill-opacity="0" stroke="#ffffff" stroke-width="2" stroke-opacity="1" id="use69" style="fill:#000000" x="0" y="0" width="100%" height="100%"/>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </i>\n\n <div class="uploader__text uploader__pass--enabled uploader__front--enabled" id="uploader-text-front">\n Click here to upload the front of your ID\n </div>\n <div class="uploader__text uploader__back--enabled" id="uploader-text-back">\n Click here to upload the back of your ID\n </div>\n <div class="uploader__text uploader__face--enabled" id="uploader-text-face">\n Click here to upload a photo of your face\n </div>\n <div class="uploader__text uploader__pdf--enabled" id="uploader-text-pdf">\n Click here to upload the back of a ID\n </div>\n <div class="uploader__text uploader__mrz--enabled uploader__capturing--enabled" id="uploader-text-mrz">\n Click here to upload a photo of your document\n </div>\n\n <div class="uploader__text uploader__front--enabled uploader__back--enabled" id="uploader-text-front-back">\n Please make sure your ID fills up the entire <br> camera\n screen with little to no background.\n </div>\n\n <div class="uploader__text uploader__pass--enabled" id="uploader-text-pass">\n Please make sure your ID fills up the entire camera screen\n <br>\n with little to no background, and the full MRZ code is\n included.\n </div>\n <div class="uploader__text uploader__face--enabled" id="uploader-text-face-postion">\n Please position your face to take up <br> the full camera\n screen with little to no background.\n </div>\n </div>\n\n <div class="uploader__error">\n <div class="uploader__error--alert">\n <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" fill="#ff0000" viewBox="0 0 512 512">\n <path d="M502.876 379.713l-189.486-316.329c-6.088-9.895-14.349-17.903-24.154-23.52l-0.329-0.174c-20.048-11.267-45.677-11.292-65.788 0.022-10.123 5.785-18.372 13.786-24.282 23.381l-0.167 0.291c-0.022 0.045-0.042 0.066-0.064 0.109l-189.619 316.546c-18.512 32.098-7.501 73.127 24.596 91.642 9.476 5.56 20.852 8.88 32.997 8.972h379.12c37.046-0.406 66.736-30.765 66.347-67.804-0.137-12.231-3.526-23.642-9.34-33.446l0.171 0.31zM233.656 189.931c0.138-12.246 10.097-22.12 22.363-22.12s22.225 9.874 22.363 22.107v89.466c0 0.002 0 0.003 0 0.005 0 12.347-10.010 22.356-22.356 22.356-0.002 0-0.004 0-0.005 0h0c-0.002 0-0.005 0-0.008 0-12.345 0-22.352-10.005-22.357-22.348v-0zM278.413 368.985c0 12.368-10.026 22.394-22.394 22.394s-22.394-10.026-22.394-22.394c0-12.367 10.024-22.392 22.391-22.394v0c0.001 0 0.002 0 0.002 0 12.368 0 22.394 10.026 22.394 22.394v0z"/>\n </svg>\n </div>\n <div class="uploader__error__text">\n <b id="vc-uploader-error-text">\n Error file type. Only jpeg and png supported.\n </b>\n <br>\n <em class="uploader__press-update text-center" id="vc-uploader-press-to-update">\n Press to update\n </em>\n </div>\n </div>\n <div class="uploader__success">\n <div class="uploader__success--circle">\n <div class="uploader__success--circle--check">\n <svg height="48" width="48" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" xml:space="preserve">\n <g>\n <g id="check_x5F_alt">\n <path style="fill:#13CE66;" d="M16,0C7.164,0,0,7.164,0,16s7.164,16,16,16s16-7.164,16-16S24.836,0,16,0z M13.52,23.383\n L6.158,16.02l2.828-2.828l4.533,4.535l9.617-9.617l2.828,2.828L13.52,23.383z"/>\n </g>\n </g>\n </svg>\n </div>\n </div>\n <div class="uploader__success__text">\n <div class="m-b-5">\n <b>\n <span id="vc-uploader-drop-step-name"></span> uploaded successfully\n </b>\n </div>\n <em class="text-center" id="vc-uploader-press-to-update-success">\n Press to update\n </em>\n </div>\n </div>\n\n </label>\n <div class="uploader__guidlines" id="VC-guidlines">See Guidelines</div>\n <input type="file" accept="image/*,.heic" id="vc-upload-drop-file" style="display:none">\n </div>\n </div>\n <div class="video-wrap" id="VC-videoWrap">\n <div id="VC-step-img" class="step-img">\n <div class="step-img step-img--front"></div>\n <div class="step-img step-img--back"></div>\n </div>\n <div id="VC-video-wrap-error" class="video-wrap__error video-wrap__error--disabled">\n <div class="uploader__error--alert">\n <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" fill="#ff0000" viewBox="0 0 512 512">\n <path d="M502.876 379.713l-189.486-316.329c-6.088-9.895-14.349-17.903-24.154-23.52l-0.329-0.174c-20.048-11.267-45.677-11.292-65.788 0.022-10.123 5.785-18.372 13.786-24.282 23.381l-0.167 0.291c-0.022 0.045-0.042 0.066-0.064 0.109l-189.619 316.546c-18.512 32.098-7.501 73.127 24.596 91.642 9.476 5.56 20.852 8.88 32.997 8.972h379.12c37.046-0.406 66.736-30.765 66.347-67.804-0.137-12.231-3.526-23.642-9.34-33.446l0.171 0.31zM233.656 189.931c0.138-12.246 10.097-22.12 22.363-22.12s22.225 9.874 22.363 22.107v89.466c0 0.002 0 0.003 0 0.005 0 12.347-10.010 22.356-22.356 22.356-0.002 0-0.004 0-0.005 0h0c-0.002 0-0.005 0-0.008 0-12.345 0-22.352-10.005-22.357-22.348v-0zM278.413 368.985c0 12.368-10.026 22.394-22.394 22.394s-22.394-10.026-22.394-22.394c0-12.367 10.024-22.392 22.391-22.394v0c0.001 0 0.002 0 0.002 0 12.368 0 22.394 10.026 22.394 22.394v0z"/>\n </svg>\n </div>\n <div class="video-wrap__error__text">\n <b id="VC-video-wrap-error-text">\n </b>\n </div>\n </div>\n <div class="force-btn" id="VC-force-btn" style="display: none">\n <svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="487.811px" height="487.811px" viewBox="0 0 487.811 487.811" class="force-btn__icon">\n <g>\n <polygon points="0,124.814 0,124.814 0,124.805"/>\n <path d="M487.592,118.178l-1.425-1.521c-0.794-0.851-2.247-1.874-4.657-1.874l-77.169,0.067c-2.229,0-7.43-6.101-9.209-11.733\n l-16.639-47.392c-2.477-7.889-10.49-7.889-13.502-7.889l-181.238,0.077l-3.691-0.029c-3.825,0-12.785,0-15.195,8.319\n l-14.564,51.102c-1.1,3.806-5.508,7.545-8.902,7.545l-121.473-0.019c-7.449,0-19.918,0-19.928,9.974\n c0.01-5.69,14.563-0.517,24.604-0.411l116.796,0.019c5.852,0,11.886-6.655,13.493-12.192l14.563-52.316\n c1.559-5.384,8.052-2.61,13.789-2.458l176.974,0.029H183.753c-0.163,0-0.334,0-0.497,0c-5.728,0-12.23-2.936-13.789,2.438\n l-14.564,52.316c-1.597,5.518-7.612,12.135-13.435,12.183c8.558-0.038,16.017-7.506,18.025-14.458l14.563-51.083l-14.563,51.093\n c-2.018,6.952-9.505,14.449-18.092,14.449l0,0c0.019,0,0.038,0,0.057,0c-0.019,0-0.038,0-0.057,0l0,0l0,0l0,0H24.93\n c-0.105,0-0.22,0-0.325,0c-10.041,0-24.595-5.288-24.604,0.401c0,0,0-0.009,0,0v287.229l0,0c0,23.084,13.56,27.932,24.93,27.932\n l0,0l0,0h451.102c2.878,0,5.412-1.041,7.354-3.031c4.771-4.896,4.532-14.314,4.351-21.199c-0.038-1.367-0.048-2.602-0.048-3.701\n V121.171L487.592,118.178z M478.173,415.982c0.048,1.998,0.134,5.068-0.048,7.879C478.307,421.051,478.221,417.98,478.173,415.982\n c-0.038-1.482-0.048-2.811-0.048-3.93c0,0,0-0.01,0-0.02v-0.096c0,0.029,0,0.086,0,0.115\n C478.105,413.172,478.135,414.5,478.173,415.982z M404.341,124.413L404.341,124.413\n C404.341,124.413,404.331,124.413,404.341,124.413L404.341,124.413z M274.922,148.319c59.412,0,107.578,48.167,107.578,107.578\n c0,59.412-48.166,107.578-107.578,107.578c-59.412,0-107.578-48.166-107.578-107.578\n C167.344,196.485,215.51,148.319,274.922,148.319z"/>\n </g>\n </svg>\n<!-- <svg xmlns="http://www.w3.org/2000/svg" class="force-btn__icon" viewBox="0 0 512 512" xml:space="preserve"><path d="M445.217 378.435v66.782H66.783v-66.782H0V512h512V378.435zM256 0 121.322 134.678h89.6v239.17h90.156v-239.17h89.6z"/></svg>-->\n </div>\n <div class="video-pos" id="VC-videoPos">\n <div class="vc-flashlight-icon vc-flashlight-icon--hide" id="vc-flashlight">\n <svg class="vc-flashlight-icon--switched-off" viewBox="0 0 10 15" fill="none" xmlns="http://www.w3.org/2000/svg" id="vc-flashlight-icon--switched-off">\n <path d="M9.89977 6.06903C9.87501 5.97312 9.81907 5.88817 9.74075 5.82754C9.66243 5.7669 9.56617 5.73402 9.46712 5.73407H6.42991L7.21733 1.42514C7.21873 1.41677 7.22012 1.40867 7.22096 1.4003C7.23517 1.28857 7.21237 1.17526 7.15603 1.07773C7.0997 0.980197 7.01295 0.903823 6.90906 0.860306C6.80518 0.816788 6.68989 0.808527 6.58086 0.836788C6.47184 0.865049 6.37508 0.928273 6.30541 1.01678L3.72123 4.2117C3.70386 4.23318 3.69508 4.26034 3.69658 4.28792C3.69807 4.3155 3.70974 4.34155 3.72932 4.36103L7.94419 8.57589C7.95525 8.58697 7.96852 8.5956 7.98313 8.60122C7.99775 8.60684 8.01338 8.60932 8.02902 8.60851C8.04465 8.60769 8.05994 8.60359 8.07389 8.59649C8.08784 8.58938 8.10014 8.57941 8.10999 8.56724L9.8071 6.4693C9.85272 6.41445 9.88487 6.34968 9.90096 6.28017C9.91705 6.21066 9.91665 6.13835 9.89977 6.06903Z" fill="#FED40B"/>\n <path d="M6.27304 10.68L2.05817 6.4651C2.04711 6.45407 2.03386 6.44548 2.01927 6.43989C2.00469 6.4343 1.98909 6.43183 1.97349 6.43265C1.95789 6.43346 1.94263 6.43754 1.92871 6.44463C1.91478 6.45171 1.9025 6.46163 1.89265 6.47376L0.194422 8.57114C0.148809 8.6261 0.116716 8.691 0.100719 8.76061C0.084722 8.83022 0.0852667 8.90261 0.102309 8.97197C0.127071 9.06788 0.183013 9.15283 0.261334 9.21346C0.339655 9.2741 0.435911 9.30698 0.534961 9.30693H3.57273L2.78866 13.6156V13.6186C2.76931 13.7309 2.7879 13.8465 2.84151 13.947C2.89511 14.0475 2.98067 14.1273 3.08469 14.1738C3.1887 14.2204 3.30524 14.2309 3.41591 14.2038C3.52657 14.1767 3.62506 14.1135 3.69583 14.0242L6.28085 10.8293C6.29825 10.8079 6.30708 10.7807 6.30564 10.7531C6.30419 10.7256 6.29258 10.6995 6.27304 10.68Z" fill="#FED40B"/>\n <path d="M3.69658 4.28792C3.69508 4.26034 3.70386 4.23318 3.72123 4.2117L1.89265 6.47376C1.9025 6.46163 1.91478 6.45171 1.92871 6.44463C1.94263 6.43754 1.95789 6.43346 1.97349 6.43265C1.98909 6.43183 2.00469 6.4343 2.01927 6.43989C2.03386 6.44548 2.04711 6.45407 2.05817 6.4651L6.27304 10.68C6.29258 10.6995 6.30419 10.7256 6.30564 10.7531C6.30708 10.7807 6.29825 10.8079 6.28085 10.8293L8.10999 8.56724C8.10014 8.57941 8.08784 8.58938 8.07389 8.59649C8.05994 8.60359 8.04465 8.60769 8.02902 8.60851C8.01338 8.60932 7.99775 8.60684 7.98313 8.60122C7.96852 8.5956 7.95525 8.58697 7.94419 8.57589L3.72932 4.36103C3.70974 4.34155 3.69807 4.3155 3.69658 4.28792Z" fill="#FED40B"/>\n </svg>\n <svg class="vc-flashlight-icon--switched-on d-none" viewBox="0 0 12 15" fill="none" xmlns="http://www.w3.org/2000/svg" id="vc-flashlight-icon--switched-on">\n <path d="M10.9138 12.8798C10.8551 12.8799 10.7971 12.8683 10.7429 12.8459C10.6887 12.8234 10.6395 12.7904 10.5981 12.7489L0.772729 2.92348C0.69251 2.83904 0.648448 2.72661 0.649939 2.61015C0.65143 2.49369 0.698356 2.38242 0.780711 2.30007C0.863066 2.21771 0.974335 2.17079 1.09079 2.1693C1.20725 2.1678 1.31968 2.21187 1.40412 2.29209L11.2295 12.1175C11.2919 12.1799 11.3344 12.2595 11.3516 12.3461C11.3688 12.4327 11.36 12.5225 11.3262 12.604C11.2924 12.6856 11.2352 12.7554 11.1618 12.8044C11.0884 12.8535 11.0021 12.8797 10.9138 12.8798Z" fill="white"/>\n <path d="M10.8998 6.06903C10.8751 5.97312 10.8191 5.88817 10.7408 5.82754C10.6625 5.7669 10.5662 5.73402 10.4672 5.73407H7.42998L8.2174 1.42514C8.2188 1.41677 8.22019 1.40867 8.22103 1.4003C8.23525 1.28857 8.21244 1.17526 8.15611 1.07773C8.09977 0.980197 8.01302 0.903823 7.90913 0.860306C7.80525 0.816788 7.68996 0.808527 7.58094 0.836788C7.47191 0.865049 7.37515 0.928273 7.30549 1.01678L4.7213 4.2117C4.70394 4.23318 4.69516 4.26034 4.69665 4.28792C4.69815 4.3155 4.70981 4.34155 4.72939 4.36103L8.94426 8.5759C8.95532 8.58698 8.96859 8.5956 8.9832 8.60122C8.99782 8.60684 9.01345 8.60932 9.02909 8.60851C9.04472 8.60769 9.06001 8.60359 9.07396 8.59649C9.08791 8.58938 9.10021 8.57941 9.11006 8.56724L10.8072 6.4693C10.8528 6.41445 10.8849 6.34968 10.901 6.28017C10.9171 6.21066 10.9167 6.13835 10.8998 6.06903Z" fill="white"/>\n <path d="M7.27311 10.68L3.05825 6.46511C3.04719 6.45407 3.03393 6.44548 3.01935 6.43989C3.00476 6.4343 2.98916 6.43183 2.97356 6.43265C2.95796 6.43346 2.9427 6.43754 2.92878 6.44463C2.91485 6.45171 2.90257 6.46163 2.89272 6.47376L1.19449 8.57114C1.14888 8.6261 1.11679 8.691 1.10079 8.76061C1.08479 8.83022 1.08534 8.90261 1.10238 8.97197C1.12714 9.06788 1.18309 9.15283 1.26141 9.21346C1.33973 9.2741 1.43598 9.30698 1.53503 9.30693H4.57281L3.78873 13.6156V13.6186C3.76938 13.7309 3.78797 13.8465 3.84158 13.947C3.89518 14.0475 3.98075 14.1273 4.08476 14.1739C4.18877 14.2204 4.30531 14.2309 4.41598 14.2038C4.52664 14.1767 4.62514 14.1135 4.6959 14.0242L7.28093 10.8293C7.29832 10.8079 7.30715 10.7807 7.30571 10.7531C7.30427 10.7256 7.29265 10.6995 7.27311 10.68Z" fill="white"/>\n </svg>\n </div>\n <div class="video-mask">\n <svg id="vc-video-mask-overlay" class="video-mask-overlay" xmlns="http://www.w3.org/2000/svg" x="0" y="0" width="100%" height="100%">\n <defs>\n <mask id="mask">\n <rect class="video-mask-overlay__dark" width="100%"/>\n <rect rx="16px" class="video-mask-overlay__clean"/>\n </mask>\n </defs>\n <g width="100%" height="100%">\n <rect rx="16px" class="video-mask-overlay__stroke video-mask-overlay__stroke--white"/>\n <rect rx="16px" class="video-mask-overlay__stroke video-mask-overlay__stroke--success"/>\n <rect mask="url(#mask)" class="video-mask-overlay__mask" width="100%" height="100%"/>\n </g>\n </svg>\n <div class="video-hint-container" id="VC-video-hint-container">\n <div id="vc-arrow-up-hint-container" class="d-none">\n <svg width="15" height="34" viewBox="0 0 15 34" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M7.28451 24.0729L0.588879 29.5287C0.531814 29.5753 0.499858 29.6385 0.5 29.7043L0.500001 33.7515C0.499687 33.8885 0.63573 33.9997 0.803816 33.9999C0.884848 34.0001 0.962599 33.9738 1.01984 33.9271L7.27538 28.8294C7.40617 28.7228 7.59386 28.7228 7.72465 28.8294L13.9802 33.9271C14.0989 34.024 14.2916 34.0242 14.4106 33.9275C14.468 33.8809 14.5001 33.8175 14.5 33.7515L14.5 29.7043C14.5001 29.6385 14.4682 29.5753 14.4111 29.5287L7.71546 24.0729C7.59677 23.9759 7.40406 23.9757 7.28505 24.0724L7.28451 24.0729Z" fill="white" fill-opacity="0.4"/>\n <path d="M7.28451 16.0729L0.588879 21.5287C0.531814 21.5753 0.499858 21.6385 0.5 21.7043L0.500001 25.7515C0.499687 25.8885 0.63573 25.9997 0.803816 25.9999C0.884848 26.0001 0.962599 25.9738 1.01984 25.9271L7.27538 20.8294C7.40617 20.7228 7.59386 20.7228 7.72465 20.8294L13.9802 25.9271C14.0989 26.024 14.2916 26.0242 14.4106 25.9275C14.468 25.8809 14.5001 25.8175 14.5 25.7515L14.5 21.7043C14.5001 21.6385 14.4682 21.5753 14.4111 21.5287L7.71546 16.0729C7.59677 15.9759 7.40406 15.9757 7.28505 16.0724L7.28451 16.0729Z" fill="white" fill-opacity="0.4"/>\n <path d="M7.28451 8.07286L0.588879 13.5287C0.531814 13.5753 0.499858 13.6385 0.5 13.7043L0.500001 17.7515C0.499687 17.8885 0.63573 17.9997 0.803816 17.9999C0.884848 18.0001 0.962599 17.9738 1.01984 17.9271L7.27538 12.8294C7.40617 12.7228 7.59386 12.7228 7.72465 12.8294L13.9802 17.9271C14.0989 18.024 14.2916 18.0242 14.4106 17.9275C14.468 17.8809 14.5001 17.8175 14.5 17.7515L14.5 13.7043C14.5001 13.6385 14.4682 13.5753 14.4111 13.5287L7.71546 8.07286C7.59677 7.97588 7.40406 7.9757 7.28505 8.07241L7.28451 8.07286Z" fill="white" fill-opacity="0.4"/>\n <path d="M7.28451 0.0728556L0.588879 5.52871C0.531814 5.5753 0.499858 5.63847 0.5 5.70429L0.500001 9.75149C0.499687 9.88846 0.63573 9.99968 0.803816 9.99994C0.884848 10.0001 0.962599 9.97383 1.01984 9.92707L7.27538 4.82937C7.40617 4.72278 7.59386 4.72278 7.72465 4.82937L13.9802 9.92707C14.0989 10.024 14.2916 10.0242 14.4106 9.92751C14.468 9.88088 14.5001 9.81752 14.5 9.75149L14.5 5.70429C14.5001 5.63847 14.4682 5.5753 14.4111 5.52871L7.71546 0.0728556C7.59677 -0.0241168 7.40406 -0.0243037 7.28505 0.0724141L7.28451 0.0728556Z" fill="white" fill-opacity="0.4"/>\n </svg>\n </div>\n <div id="vc-arrow-left-hint-container" class="d-none">\n <svg width="34" height="14" viewBox="0 0 34 14" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M24.0729 7.21549L29.5287 13.9111C29.5753 13.9682 29.6385 14.0001 29.7043 14L33.7515 14C33.8885 14.0003 33.9997 13.8643 33.9999 13.6962C34.0001 13.6152 33.9738 13.5374 33.9271 13.4802L28.8294 7.22462C28.7228 7.09383 28.7228 6.90614 28.8294 6.77535L33.9271 0.519834C34.024 0.401138 34.0242 0.208429 33.9275 0.0894203C33.8809 0.0320416 33.8175 -0.000143989 33.7515 -9.32291e-07L29.7043 -5.84033e-07C29.6385 -0.00014363 29.5753 0.0318121 29.5287 0.0888771L24.0729 6.78454C23.9759 6.90323 23.9757 7.09594 24.0724 7.21495L24.0729 7.21549Z" fill="white" fill-opacity="0.4"/>\n <path d="M16.0729 7.21549L21.5287 13.9111C21.5753 13.9682 21.6385 14.0001 21.7043 14L25.7515 14C25.8885 14.0003 25.9997 13.8643 25.9999 13.6962C26.0001 13.6152 25.9738 13.5374 25.9271 13.4802L20.8294 7.22462C20.7228 7.09383 20.7228 6.90614 20.8294 6.77535L25.9271 0.519834C26.024 0.401138 26.0242 0.208429 25.9275 0.0894203C25.8809 0.0320416 25.8175 -0.000143989 25.7515 -9.32291e-07L21.7043 -5.84033e-07C21.6385 -0.00014363 21.5753 0.0318121 21.5287 0.0888771L16.0729 6.78454C15.9759 6.90323 15.9757 7.09594 16.0724 7.21495L16.0729 7.21549Z" fill="white" fill-opacity="0.4"/>\n <path d="M8.07286 7.21549L13.5287 13.9111C13.5753 13.9682 13.6385 14.0001 13.7043 14L17.7515 14C17.8885 14.0003 17.9997 13.8643 17.9999 13.6962C18.0001 13.6152 17.9738 13.5374 17.9271 13.4802L12.8294 7.22462C12.7228 7.09383 12.7228 6.90614 12.8294 6.77535L17.9271 0.519834C18.024 0.401138 18.0242 0.208429 17.9275 0.0894203C17.8809 0.0320416 17.8175 -0.000143989 17.7515 -9.32291e-07L13.7043 -5.84033e-07C13.6385 -0.00014363 13.5753 0.0318121 13.5287 0.0888771L8.07286 6.78454C7.97588 6.90323 7.9757 7.09594 8.07241 7.21495L8.07286 7.21549Z" fill="white" fill-opacity="0.4"/>\n <path d="M0.0728553 7.21549L5.52871 13.9111C5.5753 13.9682 5.63847 14.0001 5.70429 14L9.75149 14C9.88846 14.0003 9.99968 13.8643 9.99994 13.6962C10.0001 13.6152 9.97383 13.5374 9.92707 13.4802L4.82937 7.22462C4.72278 7.09383 4.72278 6.90614 4.82937 6.77535L9.92707 0.519834C10.024 0.401138 10.0242 0.208429 9.92751 0.0894203C9.88087 0.0320416 9.81752 -0.000143989 9.75149 -9.32291e-07L5.70429 -5.84033e-07C5.63847 -0.00014363 5.5753 0.0318121 5.52871 0.0888771L0.0728553 6.78454C-0.0241171 6.90323 -0.024304 7.09594 0.0724138 7.21495L0.0728553 7.21549Z" fill="white" fill-opacity="0.4"/>\n </svg>\n </div>\n <div id="vc-arrow-left-face-the-camera-container" class="d-none">\n <svg width="35" height="14" viewBox="0 0 35 14" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M10.4271 6.78451L4.97129 0.0888788C4.9247 0.0318136 4.86153 -0.000142848 4.79571 -1.73758e-07L0.748506 4.98871e-07C0.611545 -0.000313336 0.50032 0.13573 0.500064 0.303816C0.499948 0.384848 0.526173 0.462599 0.572928 0.519836L5.67063 6.77538C5.77722 6.90617 5.77722 7.09386 5.67063 7.22465L0.57293 13.4802C0.475957 13.5989 0.475771 13.7916 0.572488 13.9106C0.619126 13.968 0.682481 14.0001 0.748509 14L4.79571 14C4.86153 14.0001 4.9247 13.9682 4.97129 13.9111L10.4271 7.21546C10.5241 7.09677 10.5243 6.90406 10.4276 6.78505L10.4271 6.78451Z" fill="#17EA4C" fill-opacity="1"/>\n <path d="M18.4271 6.78451L12.9713 0.0888788C12.9247 0.0318136 12.8615 -0.000142848 12.7957 -1.73758e-07L8.74851 4.98871e-07C8.61154 -0.000313336 8.50032 0.13573 8.50006 0.303816C8.49995 0.384848 8.52617 0.462599 8.57293 0.519836L13.6706 6.77538C13.7772 6.90617 13.7772 7.09386 13.6706 7.22465L8.57293 13.4802C8.47596 13.5989 8.47577 13.7916 8.57249 13.9106C8.61913 13.968 8.68248 14.0001 8.74851 14L12.7957 14C12.8615 14.0001 12.9247 13.9682 12.9713 13.9111L18.4271 7.21546C18.5241 7.09677 18.5243 6.90406 18.4276 6.78505L18.4271 6.78451Z" fill="#17EA4C" fill-opacity="1"/>\n <path d="M26.4271 6.78451L20.9713 0.0888788C20.9247 0.0318136 20.8615 -0.000142848 20.7957 -1.73758e-07L16.7485 4.98871e-07C16.6115 -0.000313336 16.5003 0.13573 16.5001 0.303816C16.4999 0.384848 16.5262 0.462599 16.5729 0.519836L21.6706 6.77538C21.7772 6.90617 21.7772 7.09386 21.6706 7.22465L16.5729 13.4802C16.476 13.5989 16.4758 13.7916 16.5725 13.9106C16.6191 13.968 16.6825 14.0001 16.7485 14L20.7957 14C20.8615 14.0001 20.9247 13.9682 20.9713 13.9111L26.4271 7.21546C26.5241 7.09677 26.5243 6.90406 26.4276 6.78505L26.4271 6.78451Z" fill="#17EA4C" fill-opacity="1"/>\n <path d="M34.4271 6.78451L28.9713 0.0888788C28.9247 0.0318136 28.8615 -0.000142848 28.7957 -1.73758e-07L24.7485 4.98871e-07C24.6115 -0.000313336 24.5003 0.13573 24.5001 0.303816C24.4999 0.384848 24.5262 0.462599 24.5729 0.519836L29.6706 6.77538C29.7772 6.90617 29.7772 7.09386 29.6706 7.22465L24.5729 13.4802C24.476 13.5989 24.4758 13.7916 24.5725 13.9106C24.6191 13.968 24.6825 14.0001 24.7485 14L28.7957 14C28.8615 14.0001 28.9247 13.9682 28.9713 13.9111L34.4271 7.21546C34.5241 7.09677 34.5243 6.90406 34.4276 6.78505L34.4271 6.78451Z" fill="#17EA4C" fill-opacity="1"/>\n </svg>\n </div>\n <span class="video-hold-text" id="VC-hold-text"></span>\n <div id="vc-arrow-right-face-the-camera-container" class="d-none">\n <svg width="34" height="14" viewBox="0 0 34 14" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M24.0729 7.21549L29.5287 13.9111C29.5753 13.9682 29.6385 14.0001 29.7043 14L33.7515 14C33.8885 14.0003 33.9997 13.8643 33.9999 13.6962C34.0001 13.6152 33.9738 13.5374 33.9271 13.4802L28.8294 7.22462C28.7228 7.09383 28.7228 6.90614 28.8294 6.77535L33.9271 0.519834C34.024 0.401138 34.0242 0.208429 33.9275 0.0894203C33.8809 0.0320416 33.8175 -0.000143989 33.7515 -9.32291e-07L29.7043 -5.84033e-07C29.6385 -0.00014363 29.5753 0.0318121 29.5287 0.0888771L24.0729 6.78454C23.9759 6.90323 23.9757 7.09594 24.0724 7.21495L24.0729 7.21549Z" fill="#17EA4C" fill-opacity="1"/>\n <path d="M16.0729 7.21549L21.5287 13.9111C21.5753 13.9682 21.6385 14.0001 21.7043 14L25.7515 14C25.8885 14.0003 25.9997 13.8643 25.9999 13.6962C26.0001 13.6152 25.9738 13.5374 25.9271 13.4802L20.8294 7.22462C20.7228 7.09383 20.7228 6.90614 20.8294 6.77535L25.9271 0.519834C26.024 0.401138 26.0242 0.208429 25.9275 0.0894203C25.8809 0.0320416 25.8175 -0.000143989 25.7515 -9.32291e-07L21.7043 -5.84033e-07C21.6385 -0.00014363 21.5753 0.0318121 21.5287 0.0888771L16.0729 6.78454C15.9759 6.90323 15.9757 7.09594 16.0724 7.21495L16.0729 7.21549Z" fill="#17EA4C" fill-opacity="1"/>\n <path d="M8.07286 7.21549L13.5287 13.9111C13.5753 13.9682 13.6385 14.0001 13.7043 14L17.7515 14C17.8885 14.0003 17.9997 13.8643 17.9999 13.6962C18.0001 13.6152 17.9738 13.5374 17.9271 13.4802L12.8294 7.22462C12.7228 7.09383 12.7228 6.90614 12.8294 6.77535L17.9271 0.519834C18.024 0.401138 18.0242 0.208429 17.9275 0.0894203C17.8809 0.0320416 17.8175 -0.000143989 17.7515 -9.32291e-07L13.7043 -5.84033e-07C13.6385 -0.00014363 13.5753 0.0318121 13.5287 0.0888771L8.07286 6.78454C7.97588 6.90323 7.9757 7.09594 8.07241 7.21495L8.07286 7.21549Z" fill="#17EA4C" fill-opacity="1"/>\n <path d="M0.0728553 7.21549L5.52871 13.9111C5.5753 13.9682 5.63847 14.0001 5.70429 14L9.75149 14C9.88846 14.0003 9.99968 13.8643 9.99994 13.6962C10.0001 13.6152 9.97383 13.5374 9.92707 13.4802L4.82937 7.22462C4.72278 7.09383 4.72278 6.90614 4.82937 6.77535L9.92707 0.519834C10.024 0.401138 10.0242 0.208429 9.92751 0.0894203C9.88087 0.0320416 9.81752 -0.000143989 9.75149 -9.32291e-07L5.70429 -5.84033e-07C5.63847 -0.00014363 5.5753 0.0318121 5.52871 0.0888771L0.0728553 6.78454C-0.0241171 6.90323 -0.024304 7.09594 0.0724138 7.21495L0.0728553 7.21549Z" fill="#17EA4C" fill-opacity="1"/>\n </svg>\n </div>\n <div id="vc-arrow-right-hint-container" class="d-none">\n <svg width="35" height="14" viewBox="0 0 35 14" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M10.4271 6.78451L4.97129 0.0888788C4.9247 0.0318136 4.86153 -0.000142848 4.79571 -1.73758e-07L0.748506 4.98871e-07C0.611545 -0.000313336 0.50032 0.13573 0.500064 0.303816C0.499948 0.384848 0.526173 0.462599 0.572928 0.519836L5.67063 6.77538C5.77722 6.90617 5.77722 7.09386 5.67063 7.22465L0.57293 13.4802C0.475957 13.5989 0.475771 13.7916 0.572488 13.9106C0.619126 13.968 0.682481 14.0001 0.748509 14L4.79571 14C4.86153 14.0001 4.9247 13.9682 4.97129 13.9111L10.4271 7.21546C10.5241 7.09677 10.5243 6.90406 10.4276 6.78505L10.4271 6.78451Z" fill="white" fill-opacity="0.4"/>\n <path d="M18.4271 6.78451L12.9713 0.0888788C12.9247 0.0318136 12.8615 -0.000142848 12.7957 -1.73758e-07L8.74851 4.98871e-07C8.61154 -0.000313336 8.50032 0.13573 8.50006 0.303816C8.49995 0.384848 8.52617 0.462599 8.57293 0.519836L13.6706 6.77538C13.7772 6.90617 13.7772 7.09386 13.6706 7.22465L8.57293 13.4802C8.47596 13.5989 8.47577 13.7916 8.57249 13.9106C8.61913 13.968 8.68248 14.0001 8.74851 14L12.7957 14C12.8615 14.0001 12.9247 13.9682 12.9713 13.9111L18.4271 7.21546C18.5241 7.09677 18.5243 6.90406 18.4276 6.78505L18.4271 6.78451Z" fill="white" fill-opacity="0.4"/>\n <path d="M26.4271 6.78451L20.9713 0.0888788C20.9247 0.0318136 20.8615 -0.000142848 20.7957 -1.73758e-07L16.7485 4.98871e-07C16.6115 -0.000313336 16.5003 0.13573 16.5001 0.303816C16.4999 0.384848 16.5262 0.462599 16.5729 0.519836L21.6706 6.77538C21.7772 6.90617 21.7772 7.09386 21.6706 7.22465L16.5729 13.4802C16.476 13.5989 16.4758 13.7916 16.5725 13.9106C16.6191 13.968 16.6825 14.0001 16.7485 14L20.7957 14C20.8615 14.0001 20.9247 13.9682 20.9713 13.9111L26.4271 7.21546C26.5241 7.09677 26.5243 6.90406 26.4276 6.78505L26.4271 6.78451Z" fill="white" fill-opacity="0.4"/>\n <path d="M34.4271 6.78451L28.9713 0.0888788C28.9247 0.0318136 28.8615 -0.000142848 28.7957 -1.73758e-07L24.7485 4.98871e-07C24.6115 -0.000313336 24.5003 0.13573 24.5001 0.303816C24.4999 0.384848 24.5262 0.462599 24.5729 0.519836L29.6706 6.77538C29.7772 6.90617 29.7772 7.09386 29.6706 7.22465L24.5729 13.4802C24.476 13.5989 24.4758 13.7916 24.5725 13.9106C24.6191 13.968 24.6825 14.0001 24.7485 14L28.7957 14C28.8615 14.0001 28.9247 13.9682 28.9713 13.9111L34.4271 7.21546C34.5241 7.09677 34.5243 6.90406 34.4276 6.78505L34.4271 6.78451Z" fill="white" fill-opacity="0.4"/>\n </svg>\n </div>\n<!-- <div id="vc-arrow-down-hint-container" class="d-none">-->\n<!-- <svg width="15" height="34" viewBox="0 0 15 34" fill="none" xmlns="http://www.w3.org/2000/svg">-->\n<!-- <path d="M7.71549 9.92714L14.4111 4.47129C14.4682 4.4247 14.5001 4.36153 14.5 4.29571L14.5 0.248506C14.5003 0.111545 14.3643 0.000319751 14.1962 6.40308e-05C14.1152 -5.22051e-05 14.0374 0.0261731 13.9802 0.0729275L7.72462 5.17063C7.59383 5.27722 7.40614 5.27722 7.27535 5.17063L1.01983 0.0729292C0.901138 -0.0240438 0.708429 -0.0242297 0.58942 0.0724876C0.532042 0.119126 0.499856 0.18248 0.499999 0.248508L0.5 4.29571C0.499857 4.36153 0.531812 4.4247 0.588877 4.47129L7.28454 9.92715C7.40323 10.0241 7.59594 10.0243 7.71495 9.92759L7.71549 9.92714Z" fill="white" fill-opacity="0.4"/>-->\n<!-- <path d="M7.71549 17.9271L14.4111 12.4713C14.4682 12.4247 14.5001 12.3615 14.5 12.2957L14.5 8.24851C14.5003 8.11154 14.3643 8.00032 14.1962 8.00006C14.1152 7.99995 14.0374 8.02617 13.9802 8.07293L7.72462 13.1706C7.59383 13.2772 7.40614 13.2772 7.27535 13.1706L1.01983 8.07293C0.901138 7.97596 0.708429 7.97577 0.58942 8.07249C0.532042 8.11913 0.499856 8.18248 0.499999 8.24851L0.5 12.2957C0.499857 12.3615 0.531812 12.4247 0.588877 12.4713L7.28454 17.9271C7.40323 18.0241 7.59594 18.0243 7.71495 17.9276L7.71549 17.9271Z" fill="white" fill-opacity="0.4"/>-->\n<!-- <path d="M7.71549 25.9271L14.4111 20.4713C14.4682 20.4247 14.5001 20.3615 14.5 20.2957L14.5 16.2485C14.5003 16.1115 14.3643 16.0003 14.1962 16.0001C14.1152 15.9999 14.0374 16.0262 13.9802 16.0729L7.72462 21.1706C7.59383 21.2772 7.40614 21.2772 7.27535 21.1706L1.01983 16.0729C0.901138 15.976 0.708429 15.9758 0.58942 16.0725C0.532042 16.1191 0.499856 16.1825 0.499999 16.2485L0.5 20.2957C0.499857 20.3615 0.531812 20.4247 0.588877 20.4713L7.28454 25.9271C7.40323 26.0241 7.59594 26.0243 7.71495 25.9276L7.71549 25.9271Z" fill="white" fill-opacity="0.4"/>-->\n<!-- <path d="M7.71549 33.9271L14.4111 28.4713C14.4682 28.4247 14.5001 28.3615 14.5 28.2957L14.5 24.2485C14.5003 24.1115 14.3643 24.0003 14.1962 24.0001C14.1152 23.9999 14.0374 24.0262 13.9802 24.0729L7.72462 29.1706C7.59383 29.2772 7.40614 29.2772 7.27535 29.1706L1.01983 24.0729C0.901138 23.976 0.708429 23.9758 0.58942 24.0725C0.532042 24.1191 0.499856 24.1825 0.499999 24.2485L0.5 28.2957C0.499857 28.3615 0.531812 28.4247 0.588877 28.4713L7.28454 33.9271C7.40323 34.0241 7.59594 34.0243 7.71495 33.9276L7.71549 33.9271Z" fill="white" fill-opacity="0.4"/>-->\n<!-- </svg>-->\n<!-- </div>-->\n </div>\n </div>\n <div class="video-container" id="VC-videoContainer">\n <div class="fake-contour" id="VC-fakeContour"></div>\n <canvas id="VC-border-canvas" class="border-canvas"></canvas>\n <video id="VC-video" playsinline muted></video>\n </div>\n </div>\n <canvas class="d-none" id="VC-video-canvas"></canvas>\n <canvas class="d-none" id="VC-resized-canvas"></canvas>\n <canvas class="d-none" id="VC-mrz-canvas" width="28" height="28"></canvas>\n <canvas class="d-none" id="VC-class-local-canvas" width="320" height="320"></canvas>\n <canvas class="d-none" id="VC-blaze-face-canvas" width="128" height="128"></canvas>\n <canvas class="d-none" id="VC-mesh-face-canvas" width="192" height="192"></canvas>\n <canvas class="d-none" id="VC-face-canvas" width="192" height="192"></canvas>\n </div>\n </main>\n\n <div class="manual-switch-btn-wrap" id="manualSwitchBtnWrap">\n <button class="el-button el-button--primary w-100 m-t-20 manual-switch-btn" id="manualSwitchBtn"> </button>\n <div class="el-loading-spinner" id="manualSwitchBtnLoading" style="display: none;">\n <svg viewBox="25 25 50 50" class="circular">\n <circle cx="50" cy="50" r="20" fill="none" class="path"></circle>\n </svg>\n </div>\n </div>\n\n <div class="video-wrap__btns video-wrap__btns--two-btn" id="VC-btns">\n <button id="VS-retake-btn" class="el-button idvc-again-btn">Retake</button>\n <button id="VS-continue-btn" class="el-button el-button--outline idvc-submit-btn el-button--primary">\n CONTINUE\n </button>\n <button id="VS-submit-btn" class="el-button el-button--primary idvc-submit-btn d-none">\n SUBMIT\n </button>\n </div>\n <div class="idvc__footer">\n <div class="idvc__reset-all d-none" id="VC-reset-all">\n Reset all steps\n </div>\n <div class="idvc__version" id="VC-version"> </div>\n </div>\n</div>\n';let l1=l0;var l2=__webpack_require__(6665);function l3(en){if(void 0===en)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return en}function l4(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function l6(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function l8(en,er,ei){return er&&l6(en.prototype,er),ei&&l6(en,ei),en}function l5(en){return(l5=Object.setPrototypeOf?Object.getPrototypeOf:function(en){return en.__proto__||Object.getPrototypeOf(en)})(en)}function l7(en,er){if("function"!=typeof er&&null!==er)throw TypeError("Super expression must either be null or a function");en.prototype=Object.create(er&&er.prototype,{constructor:{value:en,writable:!0,configurable:!0}}),er&&cn(en,er)}function l9(en,er){return er&&("object"===cr(er)||"function"==typeof er)?er:l3(en)}function cn(en,er){return(cn=Object.setPrototypeOf||function(en,er){return en.__proto__=er,en})(en,er)}function cr(en){return en&&"undefined"!=typeof Symbol&&en.constructor===Symbol?"symbol":typeof en}function ci(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(en){return!1}}function co(en){var er=ci();return function(){var ei,eo=l5(en);if(er){var ea=l5(this).constructor;ei=Reflect.construct(eo,arguments,ea)}else ei=eo.apply(this,arguments);return l9(this,ei)}}var ca=function(en){"use strict";l7(ei,en);var er=co(ei);function ei(en){return l4(this,ei),er.call(this,"",sT.z.WASM,en)}return l8(ei,[{key:"predict",value:function(en){}},{key:"predictFromImage",value:function(en,er){}}]),ei}(sS.Z);function cs(en,er,ei,eo,ea,es,eu){try{var ec=en[es](eu),ef=ec.value}catch(en){ei(en);return}ec.done?er(ef):Promise.resolve(ef).then(eo,ea)}function cu(en){return function(){var er=this,ei=arguments;return new Promise(function(eo,ea){var es=en.apply(er,ei);function eu(en){cs(es,eo,ea,eu,ec,"next",en)}function ec(en){cs(es,eo,ea,eu,ec,"throw",en)}eu(void 0)})}}function cl(en,er){if(!(en instanceof er))throw TypeError("Cannot call a class as a function")}function cc(en,er){for(var ei=0;ei<er.length;ei++){var eo=er[ei];eo.enumerable=eo.enumerable||!1,eo.configurable=!0,"value"in eo&&(eo.writable=!0),Object.defineProperty(en,eo.key,eo)}}function cf(en,er,ei){return er&&cc(en.prototype,er),ei&&cc(en,ei),en}function cA(en,er){var ei,eo,ea,es,eu={label:0,sent:function(){if(1&ea[0])throw ea[1];return ea[1]},trys:[],ops:[]};return es={next:ec(0),throw:ec(1),return:ec(2)},"function"==typeof Symbol&&(es[Symbol.iterator]=function(){return this}),es;function ec(en){return function(er){return ef([en,er])}}function ef(es){if(ei)throw TypeError("Generator is already executing.");for(;eu;)try{if(ei=1,eo&&(ea=2&es[0]?eo.return:es[0]?eo.throw||((ea=eo.return)&&ea.call(eo),0):eo.next)&&!(ea=ea.call(eo,es[1])).done)return ea;switch(eo=0,ea&&(es=[2&es[0],ea.value]),es[0]){case 0:case 1:ea=es;break;case 4:return eu.label++,{value:es[1],done:!1};case 5:eu.label++,eo=es[1],es=[0];continue;case 7:es=eu.ops.pop(),eu.trys.pop();continue;default:if(!(ea=(ea=eu.trys).length>0&&ea[ea.length-1])&&(6===es[0]||2===es[0])){eu=0;continue}if(3===es[0]&&(!ea||es[1]>ea[0]&&es[1]<ea[3])){eu.label=es[1];break}if(6===es[0]&&eu.label<ea[1]){eu.label=ea[1],ea=es;break}if(ea&&eu.label<ea[2]){eu.label=ea[2],eu.ops.push(es);break}ea[2]&&eu.ops.pop(),eu.trys.pop();continue}es=er.call(en,eu)}catch(en){es=[6,en],eo=0}finally{ei=ea=0}if(5&es[0])throw es[1];return{value:es[0]?es[1]:void 0,done:!0}}}var cd=function(){"use strict";function en(er){if(cl(this,en),console.info("%cIDVC version: ".concat(tp.Z.VERSION),"background-color:#f48020; color:#fff; padding: 4px 8px"),tp.Z.config=new th(er),tp.Z.config.chunkPublicPath){var ei=__webpack_require__.e;__webpack_require__.e=function(){var en=cu(function(en){var er;return cA(this,function(eo){return er=tp.Z.config.chunkPublicPath.endsWith("/")?"":"/",__webpack_require__.p="".concat(tp.Z.config.chunkPublicPath).concat(er),[2,ei(en)]})});return function(er){return en.apply(this,arguments)}}()}document.getElementById(tp.Z.config.el).innerHTML=l1,u4(),(0,ng.LY)(),this.init()}return cf(en,[{key:"init",value:function(){return cu(function(){var en,ei,eo;return cA(this,function(ea){switch(ea.label){case 0:if(tp.Z.init(),new ca(tp.Z.networkUrl),tp.Z.config.isShowDocumentTypeSelect||1!==tp.Z.config.types.length||tp.Z.fillSteps(),(0,l2.e)(),(en=n3.isCameraRequired())&&!l2.B.mediaSupport)return rI(new ry(er.MediaDevicesNotSupported)),[2];return n3.detectAndSetBrowser(),n3.detectAndSetRealFaceMode(),[4,rN()];case 1:if(ei=ea.sent(),tp.Z.cameraSupported=!(ei instanceof ry||(null==ei?void 0:ei.length)===0),!(en||tp.Z.cameraSupported))return[3,6];ea.label=2;case 2:return ea.trys.push([2,4,,5]),[4,iw.getResolution(tp.Z.steps[0].camera)];case 3:return ea.sent(),[3,5];case 4:return eo=ea.sent(),tp.Z.cameraSupported||rI(ei instanceof ry?ei:new ry(er.CameraNotFound)),[3,5];case 5:if(!tp.Z.isBrowserSupport)return lJ.showSpinner(!1),[2];ea.label=6;case 6:return[4,uC()];case 7:return ea.sent(),n3.start(),ng.ZP.ui.initGeneralText(),[4,lJ.postInit()];case 8:return ea.sent(),tp.Z.config.onMounted&&"function"==typeof tp.Z.config.onMounted&&tp.Z.config.onMounted(),[2]}})})()}},{key:"changeLanguage",value:function(en){nZ(en)}},{key:"version",get:function(){return tp.Z.VERSION}},{key:"resetAllSteps",value:function(){lJ.resetAllSteps()}},{key:"reloadComponent",value:function(en){lJ.reloadComponent(en)}},{key:"updateDocumentTypes",value:function(en){lJ.updateDocumentTypes(en)}},{key:"showSpinner",value:function(en){lJ.showSpinner(en)}}]),en}();let cg=cd})();var __webpack_exports__default=__webpack_exports__.Z;export{__webpack_exports__default as default};
|