idmission-web-sdk 0.0.12 → 0.0.13
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/dist/sdk2.cjs.development.js +10 -4
- package/dist/sdk2.cjs.development.js.map +1 -1
- package/dist/sdk2.cjs.production.js +1 -1
- package/dist/sdk2.cjs.production.js.map +1 -1
- package/dist/sdk2.esm.js +10 -4
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +10 -4
- package/dist/sdk2.umd.development.js.map +1 -1
- package/dist/sdk2.umd.production.js +1 -1
- package/dist/sdk2.umd.production.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react-dom"),require("react"),require("@sentry/react"),require("styled-components"),require("@tensorflow/tfjs")):"function"==typeof define&&define.amd?define(["exports","react-dom","react","@sentry/react","styled-components","@tensorflow/tfjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Sdk2={},e.ReactDOM,e.React,e.Sentry,e.styled,e.tf)}(this,(function(e,t,n,r,i,a){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var l=o(t),c=o(n),u=s(n),d=s(r),h=o(i),f=s(a),p=function(){return p=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},p.apply(this,arguments)};function g(e,t,n,r){return new(n||(n=Promise))((function(i,a){function o(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}l((r=r.apply(e,t||[])).next())}))}function m(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(6===s[0]&&o.label<i[1]){o.label=i[1],i=s;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(s);break}i[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function v(e,t,n){if(n||2===arguments.length)for(var r,i=0,a=t.length;i<a;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function y(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}const b={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class w{constructor(e){this.init(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||b,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,n,r){return r&&!this.debug?null:("string"==typeof e[0]&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new w(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new w(this.logger,e)}}var x=new w;class E{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]=this.observers[e]||[],this.observers[e].push(t)})),this}off(e,t){this.observers[e]&&(t?this.observers[e]=this.observers[e].filter((e=>e!==t)):delete this.observers[e])}emit(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(this.observers[e]){[].concat(this.observers[e]).forEach((e=>{e(...n)}))}if(this.observers["*"]){[].concat(this.observers["*"]).forEach((t=>{t.apply(t,[e,...n])}))}}}function T(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return n.resolve=e,n.reject=t,n}function S(e){return null==e?"":""+e}function C(e,t,n){function r(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function i(){return!e||"string"==typeof e}const a="string"!=typeof t?[].concat(t):t.split(".");for(;a.length>1;){if(i())return{};const t=r(a.shift());!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}return i()?{}:{obj:e,k:r(a.shift())}}function k(e,t,n){const{obj:r,k:i}=C(e,t,Object);r[i]=n}function A(e,t){const{obj:n,k:r}=C(e,t);if(n)return n[r]}function R(e,t,n){for(const r in t)"__proto__"!==r&&"constructor"!==r&&(r in e?"string"==typeof e[r]||e[r]instanceof String||"string"==typeof t[r]||t[r]instanceof String?n&&(e[r]=t[r]):R(e[r],t[r],n):e[r]=t[r]);return e}function _(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var I={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function D(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>I[e])):e}const F=[" ",",","?","!",";"];function L(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let e=0;e<r.length;++e){if(!i)return;if("string"==typeof i[r[e]]&&e+1<r.length)return;if(void 0===i[r[e]]){let a=2,o=r.slice(e,e+a).join(n),s=i[o];for(;void 0===s&&r.length>e+a;)a++,o=r.slice(e,e+a).join(n),s=i[o];if(void 0===s)return;if(null===s)return null;if(t.endsWith(o)){if("string"==typeof s)return s;if(o&&"string"==typeof s[o])return s[o]}const l=r.slice(e+a).join(n);return l?L(s,l,n):void 0}i=i[r[e]]}return i}function N(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class M extends E{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,a=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let o=[e,t];n&&"string"!=typeof n&&(o=o.concat(n)),n&&"string"==typeof n&&(o=o.concat(i?n.split(i):n)),e.indexOf(".")>-1&&(o=e.split("."));const s=A(this.data,o);return s||!a||"string"!=typeof n?s:L(this.data&&this.data[e]&&this.data[e][t],n,i)}addResource(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const a=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator;let o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.indexOf(".")>-1&&(o=e.split("."),r=t,t=o[1]),this.addNamespaces(t),k(this.data,o,r),i.silent||this.emit("added",e,t,n,r)}addResources(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const r in n)"string"!=typeof n[r]&&"[object Array]"!==Object.prototype.toString.apply(n[r])||this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,r,i){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=A(this.data,o)||{};r?R(s,n,i):s={...s,...n},k(this.data,o,s),a.silent||this.emit("added",e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var P={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,n,r,i))})),t}};const O={};class B extends E{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),function(e,t,n){e.forEach((e=>{t[e]&&(n[e]=t[e])}))}(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=x.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){if(null==e)return!1;const t=this.resolve(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}});return t&&void 0!==t.res}extractFromKey(e,t){let n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");const r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let i=t.ns||this.options.defaultNS||[];const a=n&&e.indexOf(n)>-1,o=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(e,t,n){t=t||"",n=n||"";const r=F.filter((e=>t.indexOf(e)<0&&n.indexOf(e)<0));if(0===r.length)return!0;const i=new RegExp(`(${r.map((e=>"?"===e?"\\?":e)).join("|")})`);let a=!i.test(e);if(!a){const t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(a=!0)}return a}(e,n,r));if(a&&!o){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:i};const a=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(a[0])>-1)&&(i=a.shift()),e=a.join(r)}return"string"==typeof i&&(i=[i]),{key:e,namespaces:i}}translate(e,t,n){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const r=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:a,namespaces:o}=this.extractFromKey(e[e.length-1],t),s=o[o.length-1],l=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(c){const e=t.nsSeparator||this.options.nsSeparator;return r?{res:`${s}${e}${a}`,usedKey:a,exactUsedKey:a,usedLng:l,usedNS:s}:`${s}${e}${a}`}return r?{res:a,usedKey:a,exactUsedKey:a,usedLng:l,usedNS:s}:a}const u=this.resolve(e,t);let d=u&&u.res;const h=u&&u.usedKey||a,f=u&&u.exactUsedKey||a,p=Object.prototype.toString.apply(d),g=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject;if(m&&d&&("string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d)&&["[object Number]","[object Function]","[object RegExp]"].indexOf(p)<0&&("string"!=typeof g||"[object Array]"!==p)){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,d,{...t,ns:o}):`key '${a} (${this.language})' returned an object instead of string.`;return r?(u.res=e,u):e}if(i){const e="[object Array]"===p,n=e?[]:{},r=e?f:h;for(const e in d)if(Object.prototype.hasOwnProperty.call(d,e)){const a=`${r}${i}${e}`;n[e]=this.translate(a,{...t,joinArrays:!1,ns:o}),n[e]===a&&(n[e]=d[e])}d=n}}else if(m&&"string"==typeof g&&"[object Array]"===p)d=d.join(g),d&&(d=this.extendTranslation(d,e,t,n));else{let r=!1,o=!1;const c=void 0!==t.count&&"string"!=typeof t.count,h=B.hasDefaultValue(t),f=c?this.pluralResolver.getSuffix(l,t.count,t):"",p=t.ordinal&&c?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",g=t[`defaultValue${f}`]||t[`defaultValue${p}`]||t.defaultValue;!this.isValidLookup(d)&&h&&(r=!0,d=g),this.isValidLookup(d)||(o=!0,d=a);const m=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&o?void 0:d,v=h&&g!==d&&this.options.updateMissing;if(o||r||v){if(this.logger.log(v?"updateKey":"missingKey",l,s,a,v?g:d),i){const e=this.resolve(a,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const n=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&n&&n[0])for(let t=0;t<n.length;t++)e.push(n[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const r=(e,n,r)=>{const i=h&&r!==d?r:m;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,n,i,v,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,s,n,i,v,t),this.emit("missingKey",e,s,n,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&c?e.forEach((e=>{this.pluralResolver.getSuffixes(e,t).forEach((n=>{r([e],a+n,t[`defaultValue${n}`]||g)}))})):r(e,a,g))}d=this.extendTranslation(d,e,t,u,n),o&&d===a&&this.options.appendNamespaceToMissingKey&&(d=`${s}:${a}`),(o||r)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${s}:${a}`:a,r?d:void 0):this.options.parseMissingKeyHandler(d))}return r?(u.res=d,u):d}extendTranslation(e,t,n,r,i){var a=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});const o="string"==typeof e&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let s;if(o){const t=e.match(this.interpolator.nestingRegexp);s=t&&t.length}let l=n.replace&&"string"!=typeof n.replace?n.replace:n;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),e=this.interpolator.interpolate(e,l,n.lng||this.language,n),o){const t=e.match(this.interpolator.nestingRegexp);s<(t&&t.length)&&(n.nest=!1)}!n.lng&&"v1"!==this.options.compatibilityAPI&&r&&r.res&&(n.lng=r.usedLng),!1!==n.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return i&&i[0]===r[0]&&!n.context?(a.logger.warn(`It seems you are nesting recursively key: ${r[0]} in key: ${t[0]}`),null):a.translate(...r,t)}),n)),n.interpolation&&this.interpolator.reset()}const o=n.postProcess||this.options.postProcess,s="string"==typeof o?[o]:o;return null!=e&&s&&s.length&&!1!==n.applyPostProcessor&&(e=P.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:r,...n}:n,this)),e}resolve(e){let t,n,r,i,a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const s=this.extractFromKey(e,o),l=s.key;n=l;let c=s.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const u=void 0!==o.count&&"string"!=typeof o.count,d=u&&!o.ordinal&&0===o.count&&this.pluralResolver.shouldUseIntlApi(),h=void 0!==o.context&&("string"==typeof o.context||"number"==typeof o.context)&&""!==o.context,f=o.lngs?o.lngs:this.languageUtils.toResolveHierarchy(o.lng||this.language,o.fallbackLng);c.forEach((e=>{this.isValidLookup(t)||(a=e,!O[`${f[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(O[`${f[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${f.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),f.forEach((n=>{if(this.isValidLookup(t))return;i=n;const a=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(a,l,n,e,o);else{let e;u&&(e=this.pluralResolver.getSuffix(n,o.count,o));const t=`${this.options.pluralSeparator}zero`,r=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(a.push(l+e),o.ordinal&&0===e.indexOf(r)&&a.push(l+e.replace(r,this.options.pluralSeparator)),d&&a.push(l+t)),h){const n=`${l}${this.options.contextSeparator}${o.context}`;a.push(n),u&&(a.push(n+e),o.ordinal&&0===e.indexOf(r)&&a.push(n+e.replace(r,this.options.pluralSeparator)),d&&a.push(n+t))}}let s;for(;s=a.pop();)this.isValidLookup(t)||(r=s,t=this.getResource(n,e,s,o))})))}))})),{res:t,usedKey:n,exactUsedKey:r,usedLng:i,usedNS:a}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}static hasDefaultValue(e){const t="defaultValue";for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t===n.substring(0,t.length)&&void 0!==e[n])return!0;return!1}}function U(e){return e.charAt(0).toUpperCase()+e.slice(1)}class ${constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=x.create("languageUtils")}getScriptPartFromCode(e){if(!(e=N(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=N(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if("string"==typeof e&&e.indexOf("-")>-1){const t=["hans","hant","latn","cyrl","cans","mong","arab"];let n=e.split("-");return this.options.lowerCaseLng?n=n.map((e=>e.toLowerCase())):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=U(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=U(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=U(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const n=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(n)||(t=n)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find((e=>e===n?e:e.indexOf("-")<0&&n.indexOf("-")<0?void 0:0===e.indexOf(n)?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];let n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}toResolveHierarchy(e,t){const n=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return"string"==typeof e&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):"string"==typeof e&&i(this.formatLanguageCode(e)),n.forEach((e=>{r.indexOf(e)<0&&i(this.formatLanguageCode(e))})),r}}let G=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],j={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}};const z=["v1","v2","v3"],q=["v4"],V={zero:0,one:1,two:2,few:3,many:4,other:5};class H{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=x.create("pluralResolver"),this.options.compatibilityJSON&&!q.includes(this.options.compatibilityJSON)||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=function(){const e={};return G.forEach((t=>{t.lngs.forEach((n=>{e[n]={numbers:t.nr,plurals:j[t.fc]}}))})),e}()}addRule(e,t){this.rules[e]=t}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(N(e),{type:t.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){const t=this.getRule(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{});return this.shouldUseIntlApi()?t&&t.resolvedOptions().pluralCategories.length>1:t&&t.numbers.length>1}getPluralFormsOfKey(e,t){return this.getSuffixes(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.getRule(e,t);return n?this.shouldUseIntlApi()?n.resolvedOptions().pluralCategories.sort(((e,t)=>V[e]-V[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):n.numbers.map((n=>this.getSuffix(e,n,t))):[]}getSuffix(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=this.getRule(e,n);return r?this.shouldUseIntlApi()?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:this.getSuffixRetroCompatible(r,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const n=e.plurals(e.noAbs?t:Math.abs(t));let r=e.numbers[n];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===r?r="plural":1===r&&(r=""));const i=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?`_plural_${r.toString()}`:i():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?i():this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString()}shouldUseIntlApi(){return!z.includes(this.options.compatibilityJSON)}}function W(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=function(e,t,n){const r=A(e,n);return void 0!==r?r:A(t,n)}(e,t,n);return!a&&i&&"string"==typeof n&&(a=L(e,n,r),void 0===a&&(a=L(t,n,r))),a}class K{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=x.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const t=e.interpolation;this.escape=void 0!==t.escape?t.escape:D,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?_(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?_(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?_(t.nestingPrefix):t.nestingPrefixEscaped||_("$t("),this.nestingSuffix=t.nestingSuffix?_(t.nestingSuffix):t.nestingSuffixEscaped||_(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){this.regexp=new RegExp(`${this.prefix}(.+?)${this.suffix}`,"g");this.regexpUnescape=new RegExp(`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`,"g");this.nestingRegexp=new RegExp(`${this.nestingPrefix}(.+?)${this.nestingSuffix}`,"g")}interpolate(e,t,n,r){let i,a,o;const s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}const c=e=>{if(e.indexOf(this.formatSeparator)<0){const i=W(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}const i=e.split(this.formatSeparator),a=i.shift().trim(),o=i.join(this.formatSeparator).trim();return this.format(W(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp();const u=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,d=r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>l(e)},{regex:this.regexp,safeValue:e=>l(this.escapeValue?this.escape(e):e)}].forEach((t=>{for(o=0;i=t.regex.exec(e);){const n=i[1].trim();if(a=c(n),void 0===a)if("function"==typeof u){const t=u(e,i,r);a="string"==typeof t?t:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))a="";else{if(d){a=i[0];continue}this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),a=""}else"string"==typeof a||this.useRawValueToEscape||(a=S(a));const s=t.safeValue(a);if(e=e.replace(i[0],s),d?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,o++,o>=this.maxReplaces)break}})),e}nest(e,t){let n,r,i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function o(e,t){const n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;const r=e.split(new RegExp(`${n}[ ]*{`));let a=`{${r[1]}`;e=r[0],a=this.interpolate(a,i);const o=a.match(/'/g),s=a.match(/"/g);(o&&o.length%2==0&&!s||s.length%2!=0)&&(a=a.replace(/'/g,'"'));try{i=JSON.parse(a),t&&(i={...t,...i})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${a}`}return delete i.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){let s=[];i={...a},i=i.replace&&"string"!=typeof i.replace?i.replace:i,i.applyPostProcessor=!1,delete i.defaultValue;let l=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){const e=n[1].split(this.formatSeparator).map((e=>e.trim()));n[1]=e.shift(),s=e,l=!0}if(r=t(o.call(this,n[1].trim(),i),i),r&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=S(r)),r||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),r=""),l&&(r=s.reduce(((e,t)=>this.format(e,t,a.lng,{...a,interpolationkey:n[1].trim()})),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}function Y(e){const t={};return function(n,r,i){const a=r+JSON.stringify(i);let o=t[a];return o||(o=e(N(r),i),t[a]=o),o(n)}}class X{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=x.create("formatter"),this.options=e,this.formats={number:Y(((e,t)=>{const n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)})),currency:Y(((e,t)=>{const n=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>n.format(e)})),datetime:Y(((e,t)=>{const n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)})),relativetime:Y(((e,t)=>{const n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||"day")})),list:Y(((e,t)=>{const n=new Intl.ListFormat(e,{...t});return e=>n.format(e)}))},this.init(e)}init(e){const t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=Y(t)}format(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=t.split(this.formatSeparator).reduce(((e,t)=>{const{formatName:i,formatOptions:a}=function(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);"currency"===t&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):"relativetime"===t&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach((e=>{if(!e)return;const[t,...r]=e.split(":"),i=r.join(":").trim().replace(/^'+|'+$/g,"");n[t.trim()]||(n[t.trim()]=i),"false"===i&&(n[t.trim()]=!1),"true"===i&&(n[t.trim()]=!0),isNaN(i)||(n[t.trim()]=parseInt(i,10))}))}return{formatName:t,formatOptions:n}}(t);if(this.formats[i]){let t=e;try{const o=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{};t=this.formats[i](e,o.locale||o.lng||r.locale||r.lng||n,{...a,...r,...o})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${i}`),e}),e);return i}}class J extends E{constructor(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=x.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(n,r.backend,r)}queueLoad(e,t,n,r){const i={},a={},o={},s={};return e.forEach((e=>{let r=!0;t.forEach((t=>{const o=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[o]=2:this.state[o]<0||(1===this.state[o]?void 0===a[o]&&(a[o]=!0):(this.state[o]=1,r=!1,void 0===a[o]&&(a[o]=!0),void 0===i[o]&&(i[o]=!0),void 0===s[t]&&(s[t]=!0)))})),r||(o[e]=!0)})),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){const r=e.split("|"),i=r[0],a=r[1];t&&this.emit("failedLoading",i,a,t),n&&this.store.addResourceBundle(i,a,n),this.state[e]=t?-1:2;const o={};this.queue.forEach((n=>{!function(e,t,n,r){const{obj:i,k:a}=C(e,t,Object);i[a]=i[a]||[],r&&(i[a]=i[a].concat(n)),r||i[a].push(n)}(n.loaded,[i],a),function(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}(n,e),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach((e=>{o[e]||(o[e]={});const t=n.loaded[e];t.length&&t.forEach((t=>{void 0===o[e][t]&&(o[e][t]=!0)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",o),this.queue=this.queue.filter((e=>!e.done))}read(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:a});this.readingCalls++;const o=(o,s)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}o&&s&&r<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,n,r+1,2*i,a)}),i):a(o,s)},s=this.backend[n].bind(this.backend);if(2!==s.length)return s(e,t,o);try{const n=s(e,t);n&&"function"==typeof n.then?n.then((e=>o(null,e))).catch(o):o(null,n)}catch(e){o(e)}}prepareLoading(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);const i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const n=e.split("|"),r=n[0],i=n[1];this.read(r,i,"read",void 0,void 0,((n,a)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&a&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,a),this.loaded(e,n,a)}))}saveMissing(e,t,n,r,i){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=n&&""!==n){if(this.backend&&this.backend.create){const s={...a,isUpdate:i},l=this.backend.create.bind(this.backend);if(l.length<6)try{let i;i=5===l.length?l(e,t,n,r,s):l(e,t,n,r),i&&"function"==typeof i.then?i.then((e=>o(null,e))).catch(o):o(null,i)}catch(e){o(e)}else l(e,t,n,r,o,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}function Z(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const n=e[3]||e[2];Object.keys(n).forEach((e=>{t[e]=n[e]}))}return t},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function Q(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function ee(){}class te extends E{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var n;if(super(),this.options=Q(e),this.services={},this.logger=x,this.modules={external:[]},n=this,Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach((e=>{"function"==typeof n[e]&&(n[e]=n[e].bind(n))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=Z();function i(e){return e?"function"==typeof e?new e:e:null}if(this.options={...r,...this.options,...Q(t)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...r.interpolation,...this.options.interpolation}),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){let t;x.init(this.modules.logger?i(this.modules.logger):null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=X);const n=new $(this.options);this.store=new M(this.options.resources,this.options);const a=this.services;a.logger=x,a.resourceStore=this.store,a.languageUtils=n,a.pluralResolver=new H(n,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format||(a.formatter=i(t),a.formatter.init(a,this.options),this.options.interpolation.format=a.formatter.format.bind(a.formatter)),a.interpolator=new K(this.options),a.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},a.backendConnector=new J(i(this.modules.backend),a.resourceStore,a,this.options),a.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];e.emit(t,...r)})),this.modules.languageDetector&&(a.languageDetector=i(this.modules.languageDetector),a.languageDetector.init&&a.languageDetector.init(a,this.options.detection,this.options)),this.modules.i18nFormat&&(a.i18nFormat=i(this.modules.i18nFormat),a.i18nFormat.init&&a.i18nFormat.init(this)),this.translator=new B(this.services,this.options),this.translator.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];e.emit(t,...r)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,n||(n=ee),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const a=T(),o=()=>{const e=(e,t)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),a.resolve(t),n(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?o():setTimeout(o,0),a}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ee;const n="string"==typeof e?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if(n&&"cimode"===n.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],r=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(n)r(n);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>r(e)))}this.options.preload&&this.options.preload.forEach((e=>r(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,n){const r=T();return e||(e=this.languages),t||(t=this.options.ns),n||(n=ee),this.services.backendConnector.reload(e,t,(e=>{r.resolve(),n(e)})),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&P.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var n=this;this.isLanguageChangingTo=e;const r=T();this.emit("languageChanging",e);const i=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},a=(e,a)=>{a?(i(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit("languageChanged",a),this.logger.log("languageChanged",a)):this.isLanguageChangingTo=void 0,r.resolve((function(){return n.t(...arguments)})),t&&t(e,(function(){return n.t(...arguments)}))},o=t=>{e||t||!this.services.languageDetector||(t=[]);const n="string"==typeof t?t:this.services.languageUtils.getBestMatchFromCodes(t);n&&(this.language||i(n),this.translator.language||this.translator.changeLanguage(n),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(n)),this.loadResources(n,(e=>{a(e,n)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(o):this.services.languageDetector.detect(o):o(e):o(this.services.languageDetector.detect()),r}getFixedT(e,t,n){var r=this;const i=function(e,t){let a;if("object"!=typeof t){for(var o=arguments.length,s=new Array(o>2?o-2:0),l=2;l<o;l++)s[l-2]=arguments[l];a=r.options.overloadTranslationOptionHandler([e,t].concat(s))}else a={...t};a.lng=a.lng||i.lng,a.lngs=a.lngs||i.lngs,a.ns=a.ns||i.ns,a.keyPrefix=a.keyPrefix||n||i.keyPrefix;const c=r.options.keySeparator||".";let u;return u=a.keyPrefix&&Array.isArray(e)?e.map((e=>`${a.keyPrefix}${c}${e}`)):a.keyPrefix?`${a.keyPrefix}${c}${e}`:e,r.t(u,a)};return"string"==typeof e?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=n,i}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const n=t.lng||this.resolvedLanguage||this.languages[0],r=!!this.options&&this.options.fallbackLng,i=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;const a=(e,t)=>{const n=this.services.backendConnector.state[`${e}|${t}`];return-1===n||2===n};if(t.precheck){const e=t.precheck(this,a);if(void 0!==e)return e}return!!this.hasResourceBundle(n,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!a(n,e)||r&&!a(i,e)))}loadNamespaces(e,t){const n=T();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){const n=T();"string"==typeof e&&(e=[e]);const r=this.options.preload||[],i=e.filter((e=>r.indexOf(e)<0));return i.length?(this.options.preload=r.concat(i),this.loadResources((e=>{n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services&&this.services.languageUtils||new $(Z());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new te(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ee;const n=e.forkResourceStore;n&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},i=new te(r);void 0===e.debug&&void 0===e.prefix||(i.logger=i.logger.clone(e));return["store","services","language"].forEach((e=>{i[e]=this[e]})),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},n&&(i.store=new M(this.store.data,r),i.services.resourceStore=i.store),i.translator=new B(i.services,r),i.translator.on("*",(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];i.emit(e,...n)})),i.init(r,t),i.translator.options=r,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const ne=te.createInstance();ne.createInstance=te.createInstance;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function re(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ie(e,t){return e(t={exports:{}},t.exports),t.exports}const ae={};function oe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"==typeof t[0]&&ae[t[0]]||("string"==typeof t[0]&&(ae[t[0]]=new Date),function(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"==typeof t[0]&&(t[0]=`react-i18next:: ${t[0]}`),console.warn(...t)}}(...t))}const se=(e,t)=>()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout((()=>{e.off("initialized",n)}),0),t()};e.on("initialized",n)}};function le(e,t,n){e.loadNamespaces(t,se(e,n))}function ce(e,t,n,r){"string"==typeof n&&(n=[n]),n.forEach((t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)})),e.loadLanguages(t,se(e,r))}const ue=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,de={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},he=e=>de[e];let fe,pe={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(ue,he)};const ge={type:"3rdParty",init(e){!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};pe={...pe,...e}}(e.options.react),function(e){fe=e}(e)}},me=n.createContext();class ve{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach((e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)}))}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}function ye(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{i18n:r}=t,{i18n:i,defaultNS:a}=n.useContext(me)||{},o=r||i||fe;if(o&&!o.reportNamespaces&&(o.reportNamespaces=new ve),!o){oe("You will need to pass in an i18next instance by using initReactI18next");const e=(e,t)=>"string"==typeof t?t:t&&"object"==typeof t&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,t=[e,{},!1];return t.t=e,t.i18n={},t.ready=!1,t}o.options.react&&void 0!==o.options.react.wait&&oe("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...pe,...o.options.react,...t},{useSuspense:l,keyPrefix:c}=s;let u=e||a||o.options&&o.options.defaultNS;u="string"==typeof u?[u]:u||["translation"],o.reportNamespaces.addUsedNamespaces&&o.reportNamespaces.addUsedNamespaces(u);const d=(o.isInitialized||o.initializedStoreOnce)&&u.every((e=>function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.languages&&t.languages.length?void 0!==t.options.ignoreJSONStructure?t.hasLoadedNamespace(e,{lng:n.lng,precheck:(t,r)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}):function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=t.languages[0],i=!!t.options&&t.options.fallbackLng,a=t.languages[t.languages.length-1];if("cimode"===r.toLowerCase())return!0;const o=(e,n)=>{const r=t.services.backendConnector.state[`${e}|${n}`];return-1===r||2===r};return!(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!o(t.isLanguageChangingTo,e)||!t.hasResourceBundle(r,e)&&t.services.backendConnector.backend&&(!t.options.resources||t.options.partialBundledLanguages)&&(!o(r,e)||i&&!o(a,e)))}(e,t,n):(oe("i18n.languages were undefined or empty",t.languages),!0)}(e,o,s)));function h(){return o.getFixedT(t.lng||null,"fallback"===s.nsMode?u:u[0],c)}const[f,p]=n.useState(h);let g=u.join();t.lng&&(g=`${t.lng}${g}`);const m=((e,t)=>{const r=n.useRef();return n.useEffect((()=>{r.current=t?r.current:e}),[e,t]),r.current})(g),v=n.useRef(!0);n.useEffect((()=>{const{bindI18n:e,bindI18nStore:n}=s;function r(){v.current&&p(h)}return v.current=!0,d||l||(t.lng?ce(o,t.lng,u,(()=>{v.current&&p(h)})):le(o,u,(()=>{v.current&&p(h)}))),d&&m&&m!==g&&v.current&&p(h),e&&o&&o.on(e,r),n&&o&&o.store.on(n,r),()=>{v.current=!1,e&&o&&e.split(" ").forEach((e=>o.off(e,r))),n&&o&&n.split(" ").forEach((e=>o.store.off(e,r)))}}),[o,g]);const y=n.useRef(!0);n.useEffect((()=>{v.current&&!y.current&&p(h),y.current=!1}),[o,c]);const b=[f,o,d];if(b.t=f,b.i18n=o,b.ready=d,d)return b;if(!d&&!l)return b;throw new Promise((e=>{t.lng?ce(o,t.lng,u,(()=>e())):le(o,u,(()=>e()))}))}function be(e){return be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},be(e)}function we(e){var t=function(e,t){if("object"!==be(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==be(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===be(t)?t:String(t)}function xe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,we(r.key),r)}}var Ee=[],Te=Ee.forEach,Se=Ee.slice;var Ce=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,ke=function(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{path:"/",sameSite:"strict"};n&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+60*n*1e3)),r&&(i.domain=r),document.cookie=function(e,t,n){var r=n||{};r.path=r.path||"/";var i=encodeURIComponent(t),a="".concat(e,"=").concat(i);if(r.maxAge>0){var o=r.maxAge-0;if(Number.isNaN(o))throw new Error("maxAge should be a Number");a+="; Max-Age=".concat(Math.floor(o))}if(r.domain){if(!Ce.test(r.domain))throw new TypeError("option domain is invalid");a+="; Domain=".concat(r.domain)}if(r.path){if(!Ce.test(r.path))throw new TypeError("option path is invalid");a+="; Path=".concat(r.path)}if(r.expires){if("function"!=typeof r.expires.toUTCString)throw new TypeError("option expires is invalid");a+="; Expires=".concat(r.expires.toUTCString())}if(r.httpOnly&&(a+="; HttpOnly"),r.secure&&(a+="; Secure"),r.sameSite)switch("string"==typeof r.sameSite?r.sameSite.toLowerCase():r.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}(e,encodeURIComponent(t),i)},Ae=function(e){for(var t="".concat(e,"="),n=document.cookie.split(";"),r=0;r<n.length;r++){for(var i=n[r];" "===i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(t))return i.substring(t.length,i.length)}return null},Re={name:"cookie",lookup:function(e){var t;if(e.lookupCookie&&"undefined"!=typeof document){var n=Ae(e.lookupCookie);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupCookie&&"undefined"!=typeof document&&ke(t.lookupCookie,e,t.cookieMinutes,t.cookieDomain,t.cookieOptions)}},_e={name:"querystring",lookup:function(e){var t;if("undefined"!=typeof window){var n=window.location.search;!window.location.search&&window.location.hash&&window.location.hash.indexOf("?")>-1&&(n=window.location.hash.substring(window.location.hash.indexOf("?")));for(var r=n.substring(1).split("&"),i=0;i<r.length;i++){var a=r[i].indexOf("=");if(a>0)r[i].substring(0,a)===e.lookupQuerystring&&(t=r[i].substring(a+1))}}return t}},Ie=null,De=function(){if(null!==Ie)return Ie;try{Ie="undefined"!==window&&null!==window.localStorage;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){Ie=!1}return Ie},Fe={name:"localStorage",lookup:function(e){var t;if(e.lookupLocalStorage&&De()){var n=window.localStorage.getItem(e.lookupLocalStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupLocalStorage&&De()&&window.localStorage.setItem(t.lookupLocalStorage,e)}},Le=null,Ne=function(){if(null!==Le)return Le;try{Le="undefined"!==window&&null!==window.sessionStorage;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){Le=!1}return Le},Me={name:"sessionStorage",lookup:function(e){var t;if(e.lookupSessionStorage&&Ne()){var n=window.sessionStorage.getItem(e.lookupSessionStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupSessionStorage&&Ne()&&window.sessionStorage.setItem(t.lookupSessionStorage,e)}},Pe={name:"navigator",lookup:function(e){var t=[];if("undefined"!=typeof navigator){if(navigator.languages)for(var n=0;n<navigator.languages.length;n++)t.push(navigator.languages[n]);navigator.userLanguage&&t.push(navigator.userLanguage),navigator.language&&t.push(navigator.language)}return t.length>0?t:void 0}},Oe={name:"htmlTag",lookup:function(e){var t,n=e.htmlTag||("undefined"!=typeof document?document.documentElement:null);return n&&"function"==typeof n.getAttribute&&(t=n.getAttribute("lang")),t}},Be={name:"path",lookup:function(e){var t;if("undefined"!=typeof window){var n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(n instanceof Array)if("number"==typeof e.lookupFromPathIndex){if("string"!=typeof n[e.lookupFromPathIndex])return;t=n[e.lookupFromPathIndex].replace("/","")}else t=n[0].replace("/","")}return t}},Ue={name:"subdomain",lookup:function(e){var t="number"==typeof e.lookupFromSubdomainIndex?e.lookupFromSubdomainIndex+1:1,n="undefined"!=typeof window&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(n)return n[t]}};var $e,Ge,je=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.type="languageDetector",this.detectors={},this.init(t,n)}var t,n,r;return t=e,n=[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e||{languageUtils:{}},this.options=function(e){return Te.call(Se.call(arguments,1),(function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])})),e}(t,this.options||{},{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(e){return e}}),"string"==typeof this.options.convertDetectedLanguage&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(e){return e.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(Re),this.addDetector(_e),this.addDetector(Fe),this.addDetector(Me),this.addDetector(Pe),this.addDetector(Oe),this.addDetector(Be),this.addDetector(Ue)}},{key:"addDetector",value:function(e){this.detectors[e.name]=e}},{key:"detect",value:function(e){var t=this;e||(e=this.options.order);var n=[];return e.forEach((function(e){if(t.detectors[e]){var r=t.detectors[e].lookup(t.options);r&&"string"==typeof r&&(r=[r]),r&&(n=n.concat(r))}})),n=n.map((function(e){return t.options.convertDetectedLanguage(e)})),this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}},{key:"cacheUserLanguage",value:function(e,t){var n=this;t||(t=this.options.caches),t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach((function(t){n.detectors[t]&&n.detectors[t].cacheUserLanguage(e,n.options)})))}}],n&&xe(t.prototype,n),r&&xe(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();je.type="languageDetector",function(e){e.NONE="NONE",e.ENROLL="ENROLL",e.IDENTIFY="IDENTIFY",e.VALIDATE="VALIDATE",e.VERIFY="VERIFY"}($e||($e={})),function(e){e.READY="READY",e.SUBMITTING="SUBMITTING",e.SUBMITTED="SUBMITTED",e.FAILED="FAILED"}(Ge||(Ge={}));var ze={prod:"https://api.idmission.com",demo:"https://apidemo.idmission.com"},qe=n.createContext({submit:function(){return g(void 0,void 0,void 0,(function(){return m(this,(function(e){return[2,null]}))}))},submissionStatus:Ge.READY,submissionRequest:null,submissionResponse:null,submissionEnvironment:"prod",idFrontImage:null,idBackImage:null,passportImage:null,selfieImage:null,signatureData:null,additionalDocuments:null,setIdFrontImage:function(){return null},setIdBackImage:function(){return null},setPassportImage:function(){return null},setSelfieImage:function(){return null},setSignatureData:function(){return null},setAdditionalDocuments:function(){return null},logIdFrontCaptureAttempt:function(){return null},logIdBackCaptureAttempt:function(){return null},logSelfieCaptureAttempt:function(){return null},checkLiveness:function(){return g(void 0,void 0,void 0,(function(){return m(this,(function(e){throw new Error("checkLiveness is not implemented")}))}))},retryLocationAccess:function(){return null}});function Ve(e,t){if(t)switch(function(e){var t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(window.atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""));return JSON.parse(n)}(t).iss){case"https://auth.idmission.com/auth/realms/identity":return ze.prod;case"https://demoauth.idmission.com/auth/realms/identity":return ze.demo}var n=ze[e];if(!n)throw new Error("unrecognized SubmissionEnvironment ".concat(e));return n}function He(e){var t={"Content-Type":"application/json",Origin:"*"};return e&&(t.Authorization="Bearer ".concat(e)),t}function We(e){return g(this,void 0,void 0,(function(){return m(this,(function(t){return[2,e.replace(/^data:image\/(png|jpeg);base64,/,"")]}))}))}function Ke(e){return e.replace(/^data:.*;base64,/,"")}function Ye(e){var t,n;return null!==(n=null===(t=e.match(/^(data:.*;base64),/))||void 0===t?void 0:t[1])&&void 0!==n?n:""}var Xe,Je=h.default.div(Xe||(Xe=y(["\n position: fixed;\n top: 0;\n left: 0;\n width: var(--app-width);\n height: calc(\n var(--app-height) - ","px\n );\n overflow-x: hidden;\n overflow-y: auto;\n font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"],["\n position: fixed;\n top: 0;\n left: 0;\n width: var(--app-width);\n height: calc(\n var(--app-height) - ","px\n );\n overflow-x: hidden;\n overflow-y: auto;\n font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"])),(function(e){var t=e.$heightOffset;return null!=t?t:0})),Ze=n.forwardRef((function(e,t){var r=e.children,i=e.className,a=e.heightOffset,o=void 0===a?0:a,s=e.style,l=e.onClick;return n.useEffect((function(){var e=function(){var e=document.documentElement;e.style.setProperty("--app-width","".concat(window.innerWidth,"px")),e.style.setProperty("--app-height","".concat(window.innerHeight,"px"))};return window.addEventListener("resize",e),e(),function(){window.removeEventListener("resize",e)}}),[]),c.default.createElement(Je,{ref:t,style:s,onClick:l,className:i,$heightOffset:o},r)}));Ze.displayName="PageContainer";var Qe,et,tt,nt,rt=h.default(Ze)(Qe||(Qe=y(["\n background: white;\n z-index: 10000;\n"],["\n background: white;\n z-index: 10000;\n"]))),it=h.default.div(et||(et=y(["\n text-align: center;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n padding: 25px;\n max-height: var(--app-height);\n height: 100%;\n box-sizing: border-box;\n"],["\n text-align: center;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n padding: 25px;\n max-height: var(--app-height);\n height: 100%;\n box-sizing: border-box;\n"]))),at=h.default.div(tt||(tt=y(["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: var(--app-width);\n max-height: var(--app-height);\n overflow: hidden;\n\n & > img {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"],["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: var(--app-width);\n max-height: var(--app-height);\n overflow: hidden;\n\n & > img {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"]))),ot=h.default.div(nt||(nt=y(["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n }\n"],["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n }\n"]))),st=function(){return st=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},st.apply(this,arguments)},lt={lines:12,length:7,width:5,radius:10,scale:1,corners:1,color:"#000",fadeColor:"transparent",animation:"spinner-line-fade-default",rotate:0,direction:1,speed:1,zIndex:2e9,className:"spinner",top:"50%",left:"50%",shadow:"0 0 1px transparent",position:"absolute"},ct=function(){function e(e){void 0===e&&(e={}),this.opts=st(st({},lt),e)}return e.prototype.spin=function(e){return this.stop(),this.el=document.createElement("div"),this.el.className=this.opts.className,this.el.setAttribute("role","progressbar"),ut(this.el,{position:this.opts.position,width:0,zIndex:this.opts.zIndex,left:this.opts.left,top:this.opts.top,transform:"scale("+this.opts.scale+")"}),e&&e.insertBefore(this.el,e.firstChild||null),function(e,t){var n=Math.round(t.corners*t.width*500)/1e3+"px",r="none";!0===t.shadow?r="0 2px 4px #000":"string"==typeof t.shadow&&(r=t.shadow);for(var i=function(e){for(var t=/^\s*([a-zA-Z]+\s+)?(-?\d+(\.\d+)?)([a-zA-Z]*)\s+(-?\d+(\.\d+)?)([a-zA-Z]*)(.*)$/,n=[],r=0,i=e.split(",");r<i.length;r++){var a=i[r].match(t);if(null!==a){var o=+a[2],s=+a[5],l=a[4],c=a[7];0!==o||l||(l=c),0!==s||c||(c=l),l===c&&n.push({prefix:a[1]||"",x:o,y:s,xUnits:l,yUnits:c,end:a[8]})}}return n}(r),a=0;a<t.lines;a++){var o=~~(360/t.lines*a+t.rotate),s=ut(document.createElement("div"),{position:"absolute",top:-t.width/2+"px",width:t.length+t.width+"px",height:t.width+"px",background:dt(t.fadeColor,a),borderRadius:n,transformOrigin:"left",transform:"rotate("+o+"deg) translateX("+t.radius+"px)"}),l=a*t.direction/t.lines/t.speed;l-=1/t.speed;var c=ut(document.createElement("div"),{width:"100%",height:"100%",background:dt(t.color,a),borderRadius:n,boxShadow:ht(i,o),animation:1/t.speed+"s linear "+l+"s infinite "+t.animation});s.appendChild(c),e.appendChild(s)}}(this.el,this.opts),this},e.prototype.stop=function(){return this.el&&("undefined"!=typeof requestAnimationFrame?cancelAnimationFrame(this.animateId):clearTimeout(this.animateId),this.el.parentNode&&this.el.parentNode.removeChild(this.el),this.el=void 0),this},e}();function ut(e,t){for(var n in t)e.style[n]=t[n];return e}function dt(e,t){return"string"==typeof e?e:e[t%e.length]}function ht(e,t){for(var n=[],r=0,i=e;r<i.length;r++){var a=i[r],o=ft(a.x,a.y,t);n.push(a.prefix+o[0]+a.xUnits+" "+o[1]+a.yUnits+a.end)}return n.join(", ")}function ft(e,t,n){var r=n*Math.PI/180,i=Math.sin(r),a=Math.cos(r);return[Math.round(1e3*(e*a+t*i))/1e3,Math.round(1e3*(-e*i+t*a))/1e3]}function pt(e){if(void 0!==e){if(e.classList.contains("ladda-button")||e.classList.add("ladda-button"),e.hasAttribute("data-style")||e.setAttribute("data-style","expand-right"),!e.querySelector(".ladda-label")){var t=document.createElement("span");t.className="ladda-label",function(e,t){var n=document.createRange();n.selectNodeContents(e),n.surroundContents(t),e.appendChild(t)}(e,t)}var n,r,i=e.querySelector(".ladda-spinner");i||((i=document.createElement("span")).className="ladda-spinner"),e.appendChild(i);var a={start:function(){return r||(r=function(e){var t,n,r=e.offsetHeight;0===r&&(r=parseFloat(window.getComputedStyle(e).height));r>32&&(r*=.8);e.hasAttribute("data-spinner-size")&&(r=parseInt(e.getAttribute("data-spinner-size"),10));e.hasAttribute("data-spinner-color")&&(t=e.getAttribute("data-spinner-color"));e.hasAttribute("data-spinner-lines")&&(n=parseInt(e.getAttribute("data-spinner-lines"),10));var i=.2*r;return new ct({color:t||"#fff",lines:n||12,radius:i,length:.6*i,width:i<7?2:3,animation:"ladda-spinner-line-fade",zIndex:"auto",top:"auto",left:"auto",className:""})}(e)),e.disabled=!0,e.setAttribute("data-loading",""),clearTimeout(n),r.spin(i),this.setProgress(0),this},startAfter:function(e){return clearTimeout(n),n=setTimeout((function(){a.start()}),e),this},stop:function(){return a.isLoading()&&(e.disabled=!1,e.removeAttribute("data-loading")),clearTimeout(n),r&&(n=setTimeout((function(){r.stop()}),1e3)),this},toggle:function(){return this.isLoading()?this.stop():this.start()},setProgress:function(t){t=Math.max(Math.min(t,1),0);var n=e.querySelector(".ladda-progress");0===t&&n&&n.parentNode?n.parentNode.removeChild(n):(n||((n=document.createElement("div")).className="ladda-progress",e.appendChild(n)),n.style.width=(t||0)*e.offsetWidth+"px")},isLoading:function(){return e.hasAttribute("data-loading")},remove:function(){clearTimeout(n),e.disabled=!1,e.removeAttribute("data-loading"),r&&(r.stop(),r=null)}};return a}console.warn("Ladda button target must be defined.")}var gt,mt,vt=function(e){var t=e.accessBlockedImageUrl,r=ye().t,i=n.useContext(qe).retryLocationAccess,a=n.useRef(null),o=n.useRef(null);return n.useEffect((function(){var e,t;if(a.current)return o.current=pt(a.current),null===(e=o.current)||void 0===e||e.start(),null===(t=o.current)||void 0===t||t.setProgress(100),o.current.stop(),function(){var e;null===(e=o.current)||void 0===e||e.remove()}}),[]),c.default.createElement(rt,null,c.default.createElement("div",{style:{display:"flex",height:"100%"}},c.default.createElement(it,{style:{maxWidth:500,height:"auto",margin:"auto"}},c.default.createElement(at,{style:{flexGrow:0}},c.default.createElement("img",{src:t,alt:""})),c.default.createElement("h3",null,r("Your location access is disabled")),c.default.createElement("p",{style:{lineHeight:1.5,marginBottom:50}},r("This application requires access to your location to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for location permissions, you must go to settings and provide location access to the current browser.")),c.default.createElement("button",{ref:a,className:"ladda-button","data-style":"expand-right",disabled:!1,style:{width:200,marginLeft:"auto",marginRight:"auto"},onClick:function(){i()}},c.default.createElement("span",{className:"ladda-label"},r("Retry"))))))},yt=function(e){var t=e.action,r=e.children,i=e.url,a=e.environment,o=void 0===a?"prod":a,s=e.token,l=e.enrollmentId,u=e.geolocationEnabled,d=void 0===u||u,h=e.geolocationRequired,f=void 0!==h&&h,y=e.onBeforeSubmit,b=e.onResponseReceived,w=e.onRequestFailure,x=n.useState(Ge.READY),E=x[0],T=x[1],S=n.useState(null),C=S[0],k=S[1],A=n.useState(null),R=A[0],_=A[1],I=n.useState(null),D=I[0],F=I[1],L=n.useState(null),N=L[0],M=L[1],P=n.useState(null),O=P[0],B=P[1],U=n.useState(null),$=U[0],G=U[1],j=n.useState(null),z=j[0],q=j[1],V=n.useState(null),H=V[0],W=V[1],K=n.useState(null),Y=K[0],X=K[1],J=n.useState(0),Z=J[0],Q=J[1],ee=n.useState(!1),te=ee[0],ne=ee[1],re=n.useState([]),ie=re[0],ae=re[1],oe=n.useState([]),se=oe[0],le=oe[1],ce=n.useState([]),ue=ce[0],de=ce[1],he=n.useCallback((function(e){ae((function(t){return v(v([],t,!0),[e],!1)}))}),[]),fe=n.useCallback((function(e){le((function(t){return v(v([],t,!0),[e],!1)}))}),[]),pe=n.useCallback((function(e){de((function(t){return v(v([],t,!0),[e],!1)}))}),[]),ge=n.useCallback((function(){return g(void 0,void 0,void 0,(function(){var e,n,r,a,c,u,d,h,f;return m(this,(function(g){switch(g.label){case 0:if(t===$e.NONE)return e={status:{statusCode:"000"},resultData:{}},T(Ge.SUBMITTED),_(e),[2,e];T(Ge.SUBMITTING),g.label=1;case 1:return g.trys.push([1,6,,7]),n={securityData:{userName:"",password:"",merchantId:0},customerData:{idData:{idType:"NSP",idCountry:"NSP",idState:""}},additionalData:{uniqueRequestId:(new Date).getTime().toString(),manualReviewRequired:"N",bypassAgeValidation:"N",deDuplicationRequired:"N",bypassNameMatching:"Y",postDataAPIRequired:"N",sendInputImagesInPost:"N",sendProcessedImagesInPost:"N",needImmediateResponse:"N",deduplicationSynchronous:"N",verifyDataWithHost:"N",idBackImageRequired:"N",stripSpecialCharacters:"Y",idImageResolutionCheck:"Y"}},D&&(n.customerData.idData.idImageFront=D),N&&(n.customerData.idData.idImageBack=N),O&&(n.customerData.idData.idImageFront=O),$&&(t===$e.IDENTIFY?n.biometricData={selfie:$}:n.customerData.biometricData={selfie:$}),l&&(n.customerData.personalData={uniqueNumber:l}),z&&(n.customerData.signatureData={signatureImage:z.fileContent}),H&&(n.customerData.additionalDocuments=H.map((function(e){return p(p({},e),{additionalDocument:JSON.stringify(p(p({},e.additionalDocument),{uniqueId:n.additionalData.uniqueRequestId}))})}))),r={selfie:ue,front:ie,back:se,isRealIDCheckRequired:"false",sdkVersion:"WebSDK_9.5.13.2.0",Resolution:"".concat(window.innerWidth," x ").concat(window.innerHeight)},(a=window.platform)&&(r.os=a.os.family,r.osVersion=a.os.version,r.browserVersion="".concat(a.name," ").concat(a.version)),Y&&(r.GeoLocation=JSON.stringify(Y)),n.additionalData.metadata=JSON.stringify(r),y?[4,y(n)]:[3,3];case 2:(c=g.sent())&&(n=c),g.label=3;case 3:return u=i||Ve(o,s),d=function(e,t,n,r){var i=r?"v4":"v3";switch(e){case $e.ENROLL:return"/".concat(i,t?"/customer/enroll":"/customer/enroll-biometrics");case $e.IDENTIFY:return"/".concat(i,"/customer/identify");case $e.VALIDATE:return"/".concat(i,n?"/customer/validate-id-match-face":"/customer/validate-id");case $e.VERIFY:return"/".concat(i,"/customer/verify");default:throw new Error("unrecognized SubmissionAction ".concat(e))}}(t,!!(D||N||O),!!$,!!s),[4,fetch(u+d,{method:"POST",headers:He(s),body:JSON.stringify(n)})];case 4:return[4,g.sent().json()];case 5:return h=g.sent(),k(n),_(h),T(Ge.SUBMITTED),null==b||b(h),[2,h];case 6:return f=g.sent(),T(Ge.FAILED),null==w||w(f),[2,null];case 7:return[2]}}))}))}),[t,H,l,o,Y,se,N,ie,D,y,w,b,O,ue,$,z,s,i]),me=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,l,c,u;return m(this,(function(d){switch(d.label){case 0:return l={securityData:{userName:"",password:"",merchantId:0}},c={},u={},[4,We(e)];case 1:return l.customerData=(c.biometricData=(u.selfie=d.sent(),u),c),l.additionalData={uniqueRequestId:(new Date).getTime().toString(),stripSpecialCharacters:"Y",estimateAge:"N",predictGender:"N"},t=l,n=i||Ve(o,s),r="/".concat(!!s?"v4":"v3","/customer/live-check"),[4,fetch(n+r,{method:"POST",headers:He(s),body:JSON.stringify(t)})];case 2:return[4,d.sent().json()];case 3:return a=d.sent(),_(a),[2,a]}}))}))}),[o,s,i]),ve=n.useCallback((function(){Q((function(e){return e+1}))}),[]);return n.useEffect((function(){d&&(console.log("making geolocation attempt",Z),navigator.geolocation.getCurrentPosition((function(e){X(e),ne(!1)}),(function(e){if(1!==e.code)throw new Error(e.message);ne(!0)})))}),[Z,d,f]),c.default.createElement(qe.Provider,{value:{submit:ge,submissionStatus:E,submissionRequest:C,submissionResponse:R,submissionEnvironment:o,idFrontImage:D,idBackImage:N,passportImage:O,selfieImage:$,signatureData:z,additionalDocuments:H,setIdFrontImage:F,setIdBackImage:M,setPassportImage:B,setSelfieImage:G,setSignatureData:q,setAdditionalDocuments:W,logIdFrontCaptureAttempt:he,logIdBackCaptureAttempt:fe,logSelfieCaptureAttempt:pe,checkLiveness:me,retryLocationAccess:ve}},f&&te?c.default.createElement(vt,null):r)};function bt(e){return g(this,void 0,void 0,(function(){var t,n,r,i,a,o;return m(this,(function(s){switch(s.label){case 0:return mt?[2,mt]:[4,f.loadGraphModel(e)];case 1:return mt=s.sent(),[4,f.ready()];case 2:return s.sent(),t=f.zeros([448,448,3]),n=f.cast(t,"int32"),r=f.tensor4d(Array.from(n.dataSync()),[1,448,448,3]),i=f.cast(r,"int32"),o=(a=f).dispose,[4,mt.executeAsync(i)];case 3:return o.apply(a,[s.sent()]),n.dispose(),i.dispose(),r.dispose(),f.dispose(t),[2,mt]}}))}))}!function(e){e.NONE="NONE",e.ID_CARD="ID_CARD",e.ID_CARD_FRONT="ID_CARD_FRONT",e.ID_CARD_BACK="ID_CARD_BACK",e.PASSPORT="PASSPORT"}(gt||(gt={}));var wt={1:"Document",2:"MRZ",3:"PDF417",4:"Primary face",5:"Secondary face",6:"Glare",7:"Punch Hole",8:"Passport Page"};function xt(e,t,n){return e[t]?e[t][0]?e[t][0][n]:e[t][n]:"contentBoxSize"===t?e.contentRect["inlineSize"===n?"width":"height"]:void 0}function Et(e){void 0===e&&(e={});var t=e.onResize,r=n.useRef(void 0);r.current=t;var i=e.round||Math.round,a=n.useRef(),o=n.useState({width:void 0,height:void 0}),s=o[0],l=o[1],c=n.useRef(!1);n.useEffect((function(){return c.current=!1,function(){c.current=!0}}),[]);var u=n.useRef({width:void 0,height:void 0}),d=function(e,t){var r=n.useRef(null),i=n.useRef(null);i.current=t;var a=n.useRef(null);n.useEffect((function(){o()}));var o=n.useCallback((function(){var t=i.current,n=a.current||(t?t instanceof Element?t:t.current:null);r.current&&r.current.element===n&&r.current.subscriber===e||(r.current&&r.current.cleanup&&r.current.cleanup(),r.current={element:n,subscriber:e,cleanup:n?e(n):void 0})}),[e]);return n.useEffect((function(){return function(){r.current&&r.current.cleanup&&(r.current.cleanup(),r.current=null)}}),[]),n.useCallback((function(e){a.current=e,o()}),[o])}(n.useCallback((function(t){return a.current&&a.current.box===e.box&&a.current.round===i||(a.current={box:e.box,round:i,instance:new ResizeObserver((function(t){var n=t[0],a="border-box"===e.box?"borderBoxSize":"device-pixel-content-box"===e.box?"devicePixelContentBoxSize":"contentBoxSize",o=xt(n,a,"inlineSize"),s=xt(n,a,"blockSize"),d=o?i(o):void 0,h=s?i(s):void 0;if(u.current.width!==d||u.current.height!==h){var f={width:d,height:h};u.current.width=d,u.current.height=h,r.current?r.current(f):c.current||l(f)}}))}),a.current.instance.observe(t,{box:e.box}),function(){a.current&&a.current.instance.unobserve(t)}}),[e.box,i]),e.ref);return n.useMemo((function(){return{ref:d,width:s.width,height:s.height}}),[d,s.width,s.height])}window.OffscreenCanvas||(window.OffscreenCanvas=function(e,t){var n=this;return this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=t,this.canvas.convertToBlob=function(){return new Promise((function(e){n.canvas.toBlob(e)}))},this.canvas});var Tt=n.createContext({orientation:"landscape",wrapperWidth:1,wrapperHeight:1,wrapperAspectRatio:0,imageAspectRatio:0,wrapperRef:null,setDimensions:function(){return null},onImageLoaded:function(){return null}});let St;function Ct(e){if(void 0!==St)return St;if(e||"undefined"!=typeof navigator&&null!=navigator){if(e||(e=navigator),"ReactNative"===e.product)return!0;const t=e.userAgent||e.vendor||("undefined"!=typeof window?window.opera:"");if(!t){return e.userAgentData&&e.userAgentData.mobile}return/(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.test(t)||/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.test(t.substr(0,4))}return!1}var kt=function(e){var t=e.width,r=void 0===t?0:t,i=e.height,a=void 0===i?0:i,o=e.padding,s=void 0===o?Ct()?0:50:o,l=e.borderWidth,u=void 0===l?4:l,d=e.borderColor,h=void 0===d?"white":d,f=e.isMirrored,g=void 0!==f&&f,m=e.instruction,v=void 0===m?"":m,y=e.portraitGuidesImageUrl,b=e.landscapeGuidesImageUrl,w=e.onClick,x=n.useContext(Tt),E=x.orientation,T=x.wrapperRef,S=x.wrapperWidth,C=x.wrapperHeight,k=x.imageAspectRatio,A=x.wrapperAspectRatio,R=x.onImageLoaded,_=x.setDimensions;0==r&&(r=S),0==a&&(a=C),n.useEffect((function(){_({width:r,height:a})}),[a,_,r]);var I={height:C-2*s-2*u};return k>=A&&(I={width:S-2*s-2*u}),c.default.createElement(Ze,{ref:T,onClick:w,style:{zIndex:1e3}},c.default.createElement("div",{style:{display:"flex",flexFlow:"column nowrap",height:"100%"}},c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},""!==v&&c.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12}},v)),c.default.createElement("div",{style:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyItems:"center",maxWidth:"calc(100%)",maxHeight:"calc(100% - ".concat(2*s,"px - ").concat(2*u,"px)")}},c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:s,flexGrow:1}}),c.default.createElement("div",{style:{transform:g?"scaleX(-1)":"",border:"".concat(u,"px solid ").concat(h),maxWidth:"calc(100% - ".concat(2*s,"px - ").concat(2*u,"px)"),maxHeight:a-2*s-2*u}},c.default.createElement("img",{src:"portrait"===E?y:b,alt:"",onLoad:R,style:p({},I)})),c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:s,flexGrow:1}})),c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},""!==v&&c.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12,opacity:0}},v))))};function At(e){return g(this,void 0,void 0,(function(){var t;return m(this,(function(n){switch(n.label){case 0:return"BarcodeDetector"in window?(t=new BarcodeDetector({formats:["pdf417"]}),console.log("this is a real native result!"),[4,t.detect(e)]):[2,[]];case 1:return[2,n.sent()]}}))}))}function Rt(e,t){return void 0===t&&(t=!1),g(this,void 0,void 0,(function(){var n,r,i,a,o,s,l,c,u;return m(this,(function(d){switch(d.label){case 0:return[4,new Promise((function(o){if(i=e.naturalWidth,a=e.naturalHeight,n=document.createElement("canvas"),!(r=n.getContext("2d")))return[];if(t){console.log("rotating!!"),n.width=a,n.height=i,r.setTransform(0,1,-1,0,n.width,0),r.drawImage(e,0,0,i,a);var s=new Image;s.width=n.width,s.height=n.height,s.onload=function(){o(s)},n.toBlob((function(e){e&&(s.src=URL.createObjectURL(e))}))}else r.drawImage(e,0,0,n.width,n.height),o(e)}))];case 1:return o=d.sent(),s=new ZXing.BitmapLuminanceSource(r,o),l=new ZXing.Common.HybridBinarizer(s),c=new ZXing.BinaryBitmap(l),u=ZXing.PDF417.PDF417Reader.decode(c,null,!1),r.clearRect(0,0,n.width,n.height),n.remove(),[2,u]}}))}))}function _t(){return"BarcodeDetector"in window}function It(e,t){var n=this;return new Promise((function(r){var i=new Image;i.onload=function(){return g(n,void 0,void 0,(function(){var e,n,a,o;return m(this,(function(s){switch(s.label){case 0:return _t()?[4,At(i)]:[3,2];case 1:return n=s.sent(),console.log("native result",n,"".concat(i.width,"x").concat(i.height)),r(n.length>0?p(p({},n[0]),{Source:"native"}):null),[3,4];case 2:return e=(null!==(a=null==t?void 0:t[2])&&void 0!==a?a:0)<(null!==(o=null==t?void 0:t[3])&&void 0!==o?o:0),[4,Rt(i,e)];case 3:n=s.sent(),console.log("zxing result",n),r(n.length>0?p(p({},n[0]),{Source:"zxing"}):null),s.label=4;case 4:return[2]}}))}))},i.src=URL.createObjectURL(e)}))}var Dt,Ft,Lt=n.createContext({ready:!1,working:{current:!1},makePrediction:function(){return null},onPredictionMade:function(){return null},documentDetectionPredictionTime:0,focusPredictionTime:0}),Nt=n.createContext({videoRef:{current:null},videoLoaded:!1,cameraRef:{current:null},cameraReady:!1,cameraAccessDenied:!1,retryCameraAccess:function(){return null},releaseCameraAccess:function(){return null},iphoneContinuityCameraAvailable:!1,iphoneContinuityCameraAllowed:!0,setIphoneContinuityCameraAllowed:function(){return null},grabFrame:function(){return Promise.resolve(null)},takePhoto:function(){return Promise.resolve(null)},setVideoLoaded:function(){return null}}),Mt={videoWidth:0,videoHeight:0,captureStartedAt:null,detectedObjects:[],bestDocument:null,bestMrz:null,bestPdf417:null,documentDetectionNonMaxSuppressionEnabled:!0,documentType:gt.NONE,documentInBounds:!1,documentDetectionScore:0,documentDetectionThreshold:.92,documentDetectionThresholdMet:!1,mrzDetectionScore:0,mrzDetectionThreshold:.5,mrzDetectionThresholdMet:!1,focusScore:0,focusThreshold:.5,focusThresholdMet:!1,passportPageDetectionScore:0,passportPageDetectionThreshold:.5,passportPageDetectionThresholdMet:!1,pdf417DetectionScore:0,pdf417DetectionThreshold:.15,pdf417DetectionThresholdMet:!1,barcodeScanningEnabled:!0,barcodeResult:null,waitingForBarcodeScan:!1,shouldScanBarcode:!1,autoCaptureBarcodeRequired:"mobile",barcodeScanFailedAttempts:0,maxBarcodeScanAttempts:10,isGoodFrame:!1,goodFramesCount:0,goodFramesThreshold:3,goodFramesThresholdMet:!1,lastFrameCapturedAt:null,frameCaptureRate:0,capturing:!1,captured:!1,captureFailed:!1},Pt=function(e,t){var n,r,i,a,o,s,l,c,u;switch(t.type){case"configure":return p(p(p({},e),t.payload),{goodFramesCount:0,captureStartedAt:new Date,capturing:!1,captured:!1,captureFailed:!1});case"objectsDetected":var d=t.payload,h=d.focusPrediction,f=d.frame,g=t.payload.detectedObjects,m=new Date,v=0,y=e.goodFramesThreshold;if(e.lastFrameCapturedAt&&(v=1e3/(m.getTime()-e.lastFrameCapturedAt.getTime()))>0&&(y=Math.ceil(3*v)),e.documentDetectionNonMaxSuppressionEnabled){var b={};g.forEach((function(e,t){e&&(b[e.label]||(b[e.label]=[0,-1]),e.score>b[e.label][0]&&(b[e.label]=[e.score,t]))})),g=Object.keys(b).map((function(e){return g[b[e][1]]})).filter((function(e){return!!e}))}var w=null!==(n=g.find((function(e){return"Passport Page"===e.label})))&&void 0!==n?n:null,x=null!==(r=null==w?void 0:w.score)&&void 0!==r?r:0,E=x>=e.passportPageDetectionThreshold,T=null!==(i=g.find((function(e){return"Document"===e.label})))&&void 0!==i?i:null,S=E?x:null!==(a=null==T?void 0:T.score)&&void 0!==a?a:0,C=S>=e.documentDetectionThreshold,k=null!==(o=g.find((function(e){return"MRZ"===e.label})))&&void 0!==o?o:null,A=null!==(s=null==k?void 0:k.score)&&void 0!==s?s:0,R=A>=e.mrzDetectionThreshold,_=null!==(l=g.find((function(e){return"PDF417"===e.label})))&&void 0!==l?l:null,I=null!==(c=null==h?void 0:h[1])&&void 0!==c?c:0,D=I>=e.focusThreshold,F=null!==(u=null==_?void 0:_.score)&&void 0!==u?u:0,L=F>=e.pdf417DetectionThreshold,N=gt.NONE;E?N=gt.PASSPORT:C&&(N=gt.ID_CARD);var M=!1;if(T){var P=T.bbox,O=P[0],B=P[1],U=P[2],$=P[3];O*=f.width,U*=f.width,M=(B*=f.height)>5&&B+($*=f.height)+5<f.height&&(O>5||O<5&&O+U>.8*f.width)&&O+U+5<f.width}var G=!0===e.autoCaptureBarcodeRequired||"mobile"===e.autoCaptureBarcodeRequired&&Ct(),j=e.barcodeScanningEnabled&&L&&G,z=j&&!e.barcodeResult,q=e.documentDetectionThresholdMet&&e.documentInBounds&&e.focusThresholdMet,V=e.goodFramesCount;return q&&(V+=1),p(p({},e),{videoWidth:f.width,videoHeight:f.height,detectedObjects:g,bestDocument:T,bestMrz:k,bestPdf417:_,documentType:N,documentInBounds:M,documentDetectionScore:S,documentDetectionThresholdMet:C,mrzDetectionScore:A,mrzDetectionThresholdMet:R,pdf417DetectionScore:F,pdf417DetectionThresholdMet:L,passportPageDetectionScore:x,passportPageDetectionThresholdMet:E,focusScore:I,focusThresholdMet:D,shouldScanBarcode:j,waitingForBarcodeScan:z,isGoodFrame:q,goodFramesCount:V,goodFramesThreshold:y,goodFramesThresholdMet:V>=y,lastFrameCapturedAt:m,frameCaptureRate:v});case"barcodeScanned":return p(p({},e),{barcodeResult:t.payload.result,waitingForBarcodeScan:!1,autoCaptureBarcodeRequired:!1});case"barcodeScanFailed":var H=p(p({},e),{barcodeScanFailedAttempts:e.barcodeScanFailedAttempts+1});return H.barcodeScanFailedAttempts>=H.maxBarcodeScanAttempts&&(H.autoCaptureBarcodeRequired=!1,H.shouldScanBarcode=!1,H.waitingForBarcodeScan=!1),H;case"capturing":return p(p({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return p(p({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return p(p({},e),{capturing:!1,captured:!1,captureFailed:!0});default:return e}},Ot=function(e){var t,r,i,a,o,s=e.documentDetectionNonMaxSuppressionEnabled,l=void 0===s||s,u=e.requiredDocumentType,d=e.autoCaptureEnabled,h=void 0===d||d,f=e.autoCaptureScoreThreshold,p=void 0===f?.8:f,v=e.autoCaptureGoodFramesRequired,y=void 0===v?3:v,b=e.autoCaptureBarcodeRequired,w=void 0===b?"mobile":b,x=e.mrzDetectionScoreThreshold,E=void 0===x?.25:x,T=e.passportPageDetectionThreshold,S=void 0===T?.6:T,C=e.pdf417DetectionThreshold,k=void 0===C?.15:C,A=e.focusScoreThreshold,R=void 0===A?.3:A,_=e.barcodeScanningEnabled,I=void 0===_||_,D=e.maxBarcodeScanAttempts,F=void 0===D?10:D,L=e.onPrediction,N=e.onBarcodeScanned,M=e.onCapture,P=e.processingScreen,O=e.processingDelay,B=void 0===O?0:O,U=e.assets,$=void 0===U?{}:U,G=e.verbiage,j=void 0===G?{}:G,z=e.debugMode,q=void 0!==z&&z,V=Et(),H=V.ref,W=V.width,K=void 0===W?1:W,Y=V.height,X=void 0===Y?1:Y,J=n.useReducer(Pt,Mt),Z=J[0],Q=J[1],ee=n.useState(""),te=ee[0],ne=ee[1],re=n.useState(!1),ie=re[0],ae=re[1],oe=n.useContext(Nt),se=oe.cameraRef,le=oe.cameraReady,ce=oe.takePhoto,ue=oe.videoLoaded,de=ye().t,he=n.useRef();n.useEffect((function(){he.current=new Date}),[]),n.useEffect((function(){Q({type:"configure",payload:{requiredDocumentType:u,documentDetectionNonMaxSuppressionEnabled:l,documentDetectionThreshold:p,mrzDetectionThreshold:E,focusThreshold:R,goodFramesThreshold:y,autoCaptureBarcodeRequired:w,barcodeScanningEnabled:I,maxBarcodeScanAttempts:F,passportPageDetectionThreshold:S,pdf417DetectionThreshold:k}})}),[u,p,l,R,E,y,w,I,F,S,k]);var fe=n.useRef(0),pe=n.useRef(!1),ge=n.useContext(Lt),me=ge.ready,ve=ge.working,be=ge.makePrediction,we=ge.onPredictionMade,xe=ge.documentDetectionPredictionTime,Ee=ge.focusPredictionTime;n.useEffect((function(){pe.current=ue&&le&&me&&!Z.capturing&&!Z.captured}),[le,Z.captured,Z.capturing,me,ue]);var Te=n.useState(null),Se=Te[0],Ce=Te[1];n.useEffect((function(){if(me&&le&&ue)return fe.current=requestAnimationFrame((function e(){return g(this,void 0,void 0,(function(){var t,n;return m(this,(function(r){switch(r.label){case 0:if(!pe.current||ve.current)return[3,5];r.label=1;case 1:return r.trys.push([1,4,,5]),[4,ce()];case 2:return(t=r.sent())?(Ce(t),[4,new Promise((function(e){var n=new Image;n.onload=function(){be(n),e(null)},n.onerror=function(){e(null)},n.src=URL.createObjectURL(t)}))]):(fe.current=requestAnimationFrame(e),[2]);case 3:return r.sent(),[3,5];case 4:return n=r.sent(),console.error("error capturing frame",n),[3,5];case 5:return fe.current=requestAnimationFrame(e),[2]}}))}))})),function(){cancelAnimationFrame(fe.current)}}),[le,be,me,ve,ce,ue]),n.useEffect((function(){we((function(e){var t=e.documentDetection,n=t.scores,r=t.labels,i=t.boxes.map((function(e,t){return function(e,t,n){var r=e[0],i=e[1];return{score:t,bbox:[i,r,e[3]-i,e[2]-r],label:wt[n]}}(e,n[t],r[t])}));Q({type:"objectsDetected",payload:{detectedObjects:i,focusPrediction:e.focus,frame:e.image}})}))}),[we]),n.useEffect((function(){null==L||L({focusScore:Z.focusScore,focusThresholdMet:Z.focusThresholdMet,documentDetected:Z.documentDetectionThresholdMet,documentType:Z.documentType,documentScore:Z.documentDetectionScore,mrzDetected:Z.mrzDetectionThresholdMet,mrzScore:Z.mrzDetectionScore})}),[L,Z.bestPdf417,Z.documentDetectionScore,Z.documentDetectionThresholdMet,Z.documentType,Z.focusScore,Z.focusThresholdMet,Z.mrzDetectionScore,Z.mrzDetectionThresholdMet]),n.useEffect((function(){g(void 0,void 0,void 0,(function(){var e,t;return m(this,(function(n){switch(n.label){case 0:return Z.shouldScanBarcode&&Se?[4,It(Se,null===(t=Z.bestPdf417)||void 0===t?void 0:t.bbox)]:[3,2];case 1:(e=n.sent())?(Q({type:"barcodeScanned",payload:{result:e}}),null==N||N(e)):Q({type:"barcodeScanFailed"}),n.label=2;case 2:return[2]}}))}))}),[N,Z.shouldScanBarcode,null===(t=Z.bestPdf417)||void 0===t?void 0:t.bbox,ce,Se]);var ke=h&&Z.goodFramesThresholdMet&&!Z.capturing&&!Z.captured&&!Z.waitingForBarcodeScan&&Bt(Z.captureStartedAt)>=3e3;return n.useEffect((function(){g(void 0,void 0,void 0,(function(){var e,t,n,r,i,a,o,s,l;return m(this,(function(c){switch(c.label){case 0:return ke?(Q({type:"capturing"}),(e=Se)?(ae(!0),[4,(u=e,new Promise((function(e){var t=new Image;t.onload=function(){e([t.naturalWidth,t.naturalHeight])},t.src=URL.createObjectURL(u)})))]):(console.log("uh oh, i did not get a photo"),Q({type:"captureFailed"}),[2])):[2];case 1:return t=c.sent(),n=t[0],r=t[1],(i=document.createElement("canvas")).width=n,i.height=r,[4,createImageBitmap(e)];case 2:if(a=c.sent(),(n>1920&&r>1080||n>1080&&r>1920)&&Z.barcodeResult){if(n>r?(i.width=1920,i.height=r*(1920/n)):(i.height=1920,i.width=n*(1920/r)),!(o=i.getContext("2d")))return[2];o.drawImage(a,0,0,i.width,i.height)}else{if(!(s=i.getContext("bitmaprenderer")))return[2];s.transferFromImageBitmap(a)}return l=i.toDataURL("image/jpeg",.92),ne(l),setTimeout((function(){var e,t=(new Date).getTime()-(null!==(e=he.current)&&void 0!==e?e:new Date).getTime();null==M||M(l,n,r,{autoCapture:"Y",captureTime:t}),Q({type:"captured"}),ae(!1)}),B),[2]}var u}))}))}),[Se,M,B,ke,Z.barcodeResult]),ie?P||c.default.createElement("div",null,"Processing..."):""!==te?c.default.createElement("img",{src:te,alt:"",style:{maxWidth:"100%",maxHeight:"100%"}}):(j.instructionText=j.instructionText||de("Scan the front of ID"),j.capturingText=j.capturingText||de("Capturing..."),j.captureFailedText=j.captureFailedText||de("Capture failed!"),c.default.createElement(Ze,{ref:H,className:"flex"},c.default.createElement(kt,{width:K,height:X,instruction:Z.captureFailed?j.captureFailedText:Z.capturing?null==j?void 0:j.capturingText:j.instructionText,portraitGuidesImageUrl:$.portraitGuidesImageUrl,landscapeGuidesImageUrl:$.landscapeGuidesImageUrl,isMirrored:!(null===(r=se.current)||void 0===r?void 0:r.isRearFacing),borderColor:Z.isGoodFrame?"green":"white"}),q&&Z.detectedObjects.length>0&&c.default.createElement("div",{style:{position:"absolute",zIndex:1001,width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%",transform:(null===(i=se.current)||void 0===i?void 0:i.isRearFacing)?"":"scaleX(-1)",overflow:"hidden"}},Z.detectedObjects.map((function(e,t){var n,r=e.bbox[0]*K,i=e.bbox[1]*X,a=e.bbox[2]*K,o=e.bbox[3]*X;if(K/X<Z.videoWidth/Z.videoHeight){var s=Z.videoWidth*(X/Z.videoHeight);r=e.bbox[0]*s-(s-K)/2,a=e.bbox[2]*s}else{var l=Z.videoHeight*(K/Z.videoWidth);i=e.bbox[1]*l-(l-X)/2,o=e.bbox[3]*l}return c.default.createElement("div",{key:t,style:{position:"absolute",left:r,top:i,width:a,height:o,border:"3px solid green",font:"10px monospace",color:"green",transform:(null===(n=se.current)||void 0===n?void 0:n.isRearFacing)?"":"scaleX(-1)"}},e.label," (",e.score.toFixed(3),")")}))),q&&c.default.createElement("span",{style:{fontSize:16,fontFamily:"monospace",position:"absolute",left:20,bottom:20,color:"limegreen",background:"rgba(0,0,0,0.5)",zIndex:1001}},se.current?c.default.createElement(c.default.Fragment,null,"✅ Camera: ",null===(a=se.current)||void 0===a?void 0:a.width,"x",null===(o=se.current)||void 0===o?void 0:o.height):"❌ Camera not ready",c.default.createElement("br",null),Z.frameCaptureRate>.75?"✅":"👎"," Frame Rate:"," ",Math.round(1e3*(Z.frameCaptureRate+Number.EPSILON))/1e3," ","fps (",xe,"ms doc detect,"," ",Ee,"ms focus)",c.default.createElement("br",null),me?c.default.createElement(c.default.Fragment,null,Z.documentDetectionThresholdMet?"✅":"❌"," Document Score: ",Z.documentDetectionScore," (",Z.documentType,")",c.default.createElement("br",null),Z.documentInBounds?"✅":"❌"," Document In Bounds",c.default.createElement("br",null),Z.focusThresholdMet?"✅":"❌"," Focus Score:"," ",Z.focusScore,c.default.createElement("br",null),Z.goodFramesThresholdMet?"✅":"❌"," Good Frame Count:"," ",Z.goodFramesCount,"/",Z.goodFramesThreshold,I&&Z.autoCaptureBarcodeRequired?c.default.createElement(c.default.Fragment,null,c.default.createElement("br",null),Z.barcodeResult?"✅":"❌"," Barcode Scanned (",_t()?"Native":"ZXing",","," ",Z.barcodeScanFailedAttempts,"/",Z.maxBarcodeScanAttempts," failed attempts)"):null):c.default.createElement(c.default.Fragment,null,"❌ Models not ready"))))},Bt=function(e){return e?Math.abs((new Date).getTime()-e.getTime()):0},Ut="https://websdk-cdn-dev.idmission.com/assets",$t=function(e){var t=e.accessBlockedImageUrl,r=void 0===t?Ut+"/camera-disable-icon.png":t,i=ye().t,a=n.useContext(Nt).retryCameraAccess,o=n.useRef(null),s=n.useRef(null);return n.useEffect((function(){var e,t;if(o.current)return s.current=pt(o.current),null===(e=s.current)||void 0===e||e.start(),null===(t=s.current)||void 0===t||t.setProgress(100),s.current.stop(),function(){var e;null===(e=s.current)||void 0===e||e.remove()}}),[]),c.default.createElement(rt,null,c.default.createElement("div",{style:{display:"flex",height:"100%"}},c.default.createElement(it,{style:{maxWidth:500,height:"auto",margin:"auto"}},c.default.createElement(at,{style:{flexGrow:0}},c.default.createElement("img",{src:r,alt:i("Camera access blocked")})),c.default.createElement("h3",null,i("Your camera permission is disabled")),c.default.createElement("p",{style:{lineHeight:1.5,marginBottom:50}},i("This application requires access to your camera to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for camera permissions, you must go to settings and provide camera access to the current browser.")),c.default.createElement("button",{ref:o,className:"ladda-button","data-style":"expand-right",disabled:!1,style:{width:200,marginLeft:"auto",marginRight:"auto"},onClick:function(){a()}},c.default.createElement("span",{className:"ladda-label"},i("Retry"))))))},Gt=function(e){var t=e.headingText,r=e.useContinuityCameraText,i=e.modelsWarmingUpText,a=e.cameraInitializingText,o=e.cameraAccessBlockedText,s=e.continueText,l=e.instructionImageUrl,u=void 0===l?Ut+"/WebSDK-Instruction-DL-Capture-3-Portrait.png":l,d=e.accessBlockedImageUrl,h=void 0===d?Ut+"/camera-disable-icon.png":d,f=e.onDismissed,p=ye().t,g=n.useRef(null),m=n.useRef(null),v=n.useContext(Lt).ready,y=n.useContext(Nt),b=y.cameraReady,w=y.cameraAccessDenied,x=y.iphoneContinuityCameraAvailable,E=y.setIphoneContinuityCameraAllowed,T=n.useState(!1),S=T[0],C=T[1];return n.useEffect((function(){if(g.current){m.current=pt(g.current),m.current.start();var e=0,t=setInterval((function(){var t;e<.9&&(e+=.1),null===(t=m.current)||void 0===t||t.setProgress(e)}),250);return function(){var e;null===(e=m.current)||void 0===e||e.remove(),clearInterval(t)}}}),[]),n.useEffect((function(){var e;if(v&&b)return null===(e=m.current)||void 0===e||e.stop(),function(){return null};var t=setTimeout((function(){C(!1)}),500);return function(){clearTimeout(t)}}),[b,v]),S?c.default.createElement(c.default.Fragment,null):w?c.default.createElement($t,{accessBlockedImageUrl:h}):(t=t||p("Use your device camera to capture your ID"),r=r||p("Use your iPhone as a webcam"),i=i||p("Models warming up..."),a=a||p("Camera initializing..."),o=o||p("Camera access blocked"),s=s||p("Continue"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",null,t),c.default.createElement(at,{style:{pointerEvents:"none"}},c.default.createElement("img",{alt:t,src:u})),c.default.createElement("div",{style:{paddingTop:26,height:48,marginTop:-48}},x&&c.default.createElement(c.default.Fragment,null,c.default.createElement("input",{id:"use-continuity-camera",type:"checkbox",defaultChecked:!0,onChange:function(e){E(e.target.checked)}}),c.default.createElement("label",{htmlFor:"use-continuity-camera"},r))),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"mint",disabled:!b||!v,ref:g,onClick:function(){C(!0),null==f||f()}},c.default.createElement("span",{className:"ladda-label"},w?o:b&&v?s:v?a:i)))))},jt=function(e){var t,r=e.instructionText,i=e.frontPortraitGuidesImage,a=e.frontLandscapeGuidesImage,o=e.backPortraitGuidesImage,s=e.backLandscapeGuidesImage,l=ye().t,u=Et(),d=u.ref,h=u.width,f=void 0===h?1:h,g=u.height,m=void 0===g?1:g,v=n.useContext(Nt).cameraRef;r=r||l("Please flip your ID card...");var y=Ct()?0:50,b=!(null===(t=v.current)||void 0===t?void 0:t.isRearFacing),w=n.useContext(Tt),x=w.orientation,E=w.wrapperRef,T=w.wrapperWidth,S=w.wrapperHeight,C=w.imageAspectRatio,k=w.wrapperAspectRatio,A=w.onImageLoaded,R=w.setDimensions;n.useEffect((function(){R({width:f,height:m})}),[m,R,f]);var _={height:S-2*y-8};C>=k&&(_={width:T-2*y-8});var I=n.useState(1),D=I[0],F=I[1],L=n.useState(0),N=L[0],M=L[1],P=["rotateY(".concat(N,"deg)")];b&&P.push("scaleX(-1)");var O=["rotateY(".concat(180-N,"deg)")];return b&&O.push("scaleX(-1)"),n.useEffect((function(){var e=function(){F(1),M(180),setTimeout((function(){F(0),M(0)}),1500)};setTimeout(e,250);var t=setInterval(e,2500);return function(){clearInterval(t)}}),[]),c.default.createElement(Ze,{ref:d,className:"flex"},c.default.createElement("div",{ref:E,style:{position:"absolute",zIndex:1e3,width:"100%",height:"100%"}},c.default.createElement("div",{style:{display:"flex",flexFlow:"column nowrap",height:"100%"}},c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},c.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12}},r)),c.default.createElement("div",{style:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyItems:"center",maxWidth:"calc(100%)",maxHeight:"calc(100% - ".concat(2*y,"px - ").concat(8,"px)")}},c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:y,flexGrow:1}}),c.default.createElement("div",{style:{maxWidth:"calc(100% - ".concat(2*y,"px - ").concat(8,"px)"),maxHeight:m-2*y-8}},c.default.createElement("div",{style:{position:"relative",border:"".concat(4,"px solid ").concat("white")}},c.default.createElement("img",{src:"portrait"===x?i:a,alt:"",onLoad:A,style:p({backfaceVisibility:"hidden",transition:"transform ".concat(D,"s"),transform:P.join(" "),transformStyle:"preserve-3d",position:"relative",top:0,left:0,display:"block"},_)}),c.default.createElement("img",{src:"portrait"===x?o:s,alt:"",style:p({backfaceVisibility:"hidden",transition:"transform ".concat(D,"s"),transform:O.join(" "),transformStyle:"preserve-3d",position:"absolute",top:0,left:0,display:"block"},_)}))),c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:y,flexGrow:1}})),c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},c.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12,opacity:0}},r)))))},zt=function(e){var t=e.disabled,r=e.onClick,i=e.children,a=n.useRef(null),o=n.useRef(null),s=n.useRef(null);return n.useEffect((function(){if(a.current)return o.current=pt(a.current),function(){var e;null===(e=o.current)||void 0===e||e.remove()}}),[]),n.useEffect((function(){var e,n;if(o.current)if(t){o.current.start();var r=0;s.current=setInterval((function(){var e;r<.9&&(r+=.1),null===(e=o.current)||void 0===e||e.setProgress(r)}),1500)}else s.current&&(clearInterval(s.current),null===(e=o.current)||void 0===e||e.setProgress(1),null===(n=o.current)||void 0===n||n.stop())}),[t]),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"mint",disabled:t,ref:a,onClick:r},i)},qt=function(e){var t=e.capturedDocuments,r=e.onSubmitClick,i=e.onRetryClick,a=e.headingText,o=e.idCardFrontText,s=e.idCardBackText,l=e.passportText,u=e.instructionText,d=e.retryText,h=e.submittingText,f=e.submitText,p=n.useContext(qe).submissionStatus,g=ye().t,m=t.ID_CARD_FRONT,v=t.ID_CARD_BACK,y=t.PASSPORT;return a=a||g("ID Capture Successful"),o=o||g("ID Card Front"),s=s||g("ID Card Back"),l=l||g("Passport"),u=u||g("Verify the entire ID was captured clearly with no glare."),d=d||g("Retry"),h=h||g("Submitting..."),f=f||g("Done"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h1",null,a),c.default.createElement(at,null,c.default.createElement(ot,{style:{paddingBottom:40}},m&&c.default.createElement("div",null,c.default.createElement("h3",null,o),c.default.createElement("img",{src:m.imageData,alt:o})),v&&c.default.createElement("div",null,c.default.createElement("h3",null,s),c.default.createElement("img",{src:v.imageData,alt:s})),y&&c.default.createElement("div",null,c.default.createElement("h3",null,l),c.default.createElement("img",{src:y.imageData,alt:l})))),c.default.createElement("p",{style:{fontSize:18}},u),c.default.createElement("div",{style:{paddingTop:15,textAlign:"center"}},c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:i,style:{marginRight:15}},c.default.createElement("span",{className:"ladda-label"},d)),c.default.createElement(zt,{onClick:r,disabled:p===Ge.SUBMITTING},p===Ge.SUBMITTING?h:f))))},Vt=function(){var e,t=n.useContext(Nt),r=t.videoRef,i=t.setVideoLoaded,a=t.cameraRef;n.useEffect((function(){i(!1)}),[i]),n.useEffect((function(){var e;r.current&&(null===(e=a.current)||void 0===e?void 0:e.stream)&&(r.current.srcObject=a.current.stream)}),[a,r]);var o=n.useCallback((function(){i(!0)}),[i]);return c.default.createElement(Ht,{autoPlay:!0,playsInline:!0,muted:!0,ref:r,onLoadedData:o,$isRearFacing:null===(e=a.current)||void 0===e?void 0:e.isRearFacing})},Ht=h.default.video(Dt||(Dt=y(["\n transform: ",";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n object-fit: cover;\n"],["\n transform: ",";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n object-fit: cover;\n"])),(function(e){return e.$isRearFacing?"":"scaleX(-1)"}));!function(e){e.CAPTURING="CAPTURING",e.COMPLETE="COMPLETE"}(Ft||(Ft={}));var Wt={captureState:Ft.CAPTURING,capturedDocuments:{},requestedDocumentType:gt.ID_CARD_FRONT,currentDocumentType:gt.NONE,differentDocumentTypeDetections:0,barcodeResult:null},Kt=function(e,t){var n;switch(t.type){case"predictionMade":var r=t.payload.prediction;return(i=p(p({},e),{currentDocumentType:r.documentType})).currentDocumentType===e.requestedDocumentType&&(i.differentDocumentTypeDetections=0),"PASSPORT"===r.documentType&&"PASSPORT"!==e.requestedDocumentType&&(i.requestedDocumentType=gt.PASSPORT),i;case"barcodeScanned":return p(p({},e),{barcodeResult:t.payload.result});case"imageCaptured":var i=p(p({},e),{capturedDocuments:p(p({},e.capturedDocuments),(n={},n[e.requestedDocumentType]=t.payload,n))});return"ID_CARD_FRONT"!==e.requestedDocumentType||e.capturedDocuments.ID_CARD_BACK?"ID_CARD_BACK"!==e.requestedDocumentType||e.capturedDocuments.ID_CARD_FRONT?i.captureState=Ft.COMPLETE:(console.log("moving back to the front!"),i.requestedDocumentType=gt.ID_CARD_FRONT):(console.log("moving on to back!"),i.requestedDocumentType=gt.ID_CARD_BACK),i;case"reset":return p({},Wt)}},Yt=function(e){var t=e.onSuccess,r=e.documentDetectionNonMaxSuppressionEnabled,i=void 0===r||r,a=e.autoCaptureEnabled,o=void 0===a||a,s=e.autoCaptureGoodFramesRequired,l=void 0===s?3:s,u=e.autoCaptureBarcodeRequired,d=void 0===u?"mobile":u,h=e.barcodeScanningEnabled,f=void 0!==h&&h,p=e.idCardAutoCaptureScoreThreshold,v=void 0===p?.9:p,y=e.passportAutoCaptureScoreThreshold,b=void 0===y?.85:y,w=e.mrzDetectionScoreThreshold,x=void 0===w?.25:w,E=e.idCardFocusScoreThreshold,T=void 0===E?.3:E,S=e.passportFocusScoreThreshold,C=void 0===S?.3:S,k=e.assets,A=void 0===k?{}:k,R=e.verbiage,_=void 0===R?{}:R,I=e.debugMode,D=void 0!==I&&I,F=n.useReducer(Kt,Wt),L=F[0],N=F[1],M=n.useContext(Nt).releaseCameraAccess,P=n.useState(!1),O=P[0],B=P[1],U=n.useContext(qe),$=U.submissionStatus,G=U.submissionResponse,j=U.setIdFrontImage,z=U.setIdBackImage,q=U.setPassportImage,V=U.logIdFrontCaptureAttempt,H=U.logIdBackCaptureAttempt,W=ye().t,K=n.useRef();n.useEffect((function(){K.current=new Date}),[L.capturedDocuments.length]);var Y=n.useCallback((function(e){var t;e.operationTime=(new Date).getTime()-(null!==(t=K.current)&&void 0!==t?t:new Date).getTime(),"ID_CARD_BACK"===L.requestedDocumentType?H(e):V(e)}),[H,V,L.requestedDocumentType]),X=n.useCallback((function(e){N({type:"predictionMade",payload:{prediction:e}})}),[]),J=n.useCallback((function(e){N({type:"barcodeScanned",payload:{result:e}})}),[]),Z=n.useCallback((function(e,t,n,r){Y(r),N({type:"imageCaptured",payload:{imageData:e,width:t,height:n}})}),[Y]),Q=n.useCallback((function(){N({type:"reset"})}),[]);if(n.useEffect((function(){$!==Ge.READY&&M()}),[M,$]),G)return c.default.createElement(c.default.Fragment,null,c.default.createElement("h1",null,"Submission completed!"),c.default.createElement("pre",null,JSON.stringify(G,null,2)));A.idCardFrontPortraitGuidesImageUrl=A.idCardFrontPortraitGuidesImageUrl||"".concat(Ut,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg"),A.idCardFrontLandscapeGuidesImageUrl=A.idCardFrontLandscapeGuidesImageUrl||"".concat(Ut,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg"),A.idCardBackPortraitGuidesImageUrl=A.idCardBackPortraitGuidesImageUrl||"".concat(Ut,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg"),A.idCardBackLandscapeGuidesImageUrl=A.idCardBackLandscapeGuidesImageUrl||"".concat(Ut,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"),A.passportPortraitGuidesImageUrl=A.passportPortraitGuidesImageUrl||"".concat(Ut,"/Shieldout-Passport-Front-SVG-Portrait-2.svg"),A.passportLandscapeGuidesImageUrl=A.passportLandscapeGuidesImageUrl||"".concat(Ut,"/Shieldout-Passport-Front-SVG-Landscape-2.svg"),A.loadingOverlayInstructionImageUrl=A.loadingOverlayInstructionImageUrl||"".concat(Ut,"/WebSDK-Instruction-DL-Capture-3-Portrait.png"),_.idCardFrontInstructionText=_.idCardFrontInstructionText||W("Scan the front of ID"),_.idCardBackInstructionText=_.idCardBackInstructionText||W("Scan the back of ID"),_.passportInstructionText=_.passportInstructionText||W("Scan the ID page of passport");var ee=c.default.createElement(jt,{instructionText:_.flipIdInstructionText,frontPortraitGuidesImage:A.idCardFrontPortraitGuidesImageUrl,frontLandscapeGuidesImage:A.idCardFrontLandscapeGuidesImageUrl,backPortraitGuidesImage:A.idCardBackPortraitGuidesImageUrl,backLandscapeGuidesImage:A.idCardBackLandscapeGuidesImageUrl});return c.default.createElement(Ze,{className:"flex"},L.captureState!==Ft.COMPLETE&&c.default.createElement(Vt,null),O&&function(){switch(L.requestedDocumentType){case gt.ID_CARD_FRONT:return c.default.createElement(Ot,{key:Object.keys(L.capturedDocuments).length,requiredDocumentType:L.requestedDocumentType,documentDetectionNonMaxSuppressionEnabled:i,autoCaptureEnabled:o,autoCaptureScoreThreshold:v,autoCaptureGoodFramesRequired:l,autoCaptureBarcodeRequired:d,barcodeScanningEnabled:!1,mrzDetectionScoreThreshold:x,focusScoreThreshold:T,onPrediction:X,onCapture:Z,processingScreen:ee,processingDelay:3500,assets:{portraitGuidesImageUrl:A.idCardFrontPortraitGuidesImageUrl,landscapeGuidesImageUrl:A.idCardFrontLandscapeGuidesImageUrl},verbiage:{instructionText:_.idCardFrontInstructionText,capturingText:_.capturingText,captureFailedText:_.captureFailedText},debugMode:D});case gt.ID_CARD_BACK:return c.default.createElement(Ot,{key:Object.keys(L.capturedDocuments).length,requiredDocumentType:L.requestedDocumentType,documentDetectionNonMaxSuppressionEnabled:i,autoCaptureEnabled:o,autoCaptureScoreThreshold:v,autoCaptureGoodFramesRequired:l,autoCaptureBarcodeRequired:d,barcodeScanningEnabled:f,mrzDetectionScoreThreshold:x,focusScoreThreshold:T,onPrediction:X,onBarcodeScanned:J,onCapture:Z,assets:{portraitGuidesImageUrl:A.idCardBackPortraitGuidesImageUrl,landscapeGuidesImageUrl:A.idCardBackLandscapeGuidesImageUrl},verbiage:{instructionText:_.idCardBackInstructionText,capturingText:_.capturingText,captureFailedText:_.captureFailedText},debugMode:D});case gt.PASSPORT:return c.default.createElement(Ot,{key:Object.keys(L.capturedDocuments).length,requiredDocumentType:L.requestedDocumentType,documentDetectionNonMaxSuppressionEnabled:i,autoCaptureEnabled:o,autoCaptureScoreThreshold:b,mrzDetectionScoreThreshold:x,autoCaptureGoodFramesRequired:l,autoCaptureBarcodeRequired:d,barcodeScanningEnabled:!1,focusScoreThreshold:C,onPrediction:X,onBarcodeScanned:J,onCapture:Z,assets:{portraitGuidesImageUrl:A.passportPortraitGuidesImageUrl,landscapeGuidesImageUrl:A.passportLandscapeGuidesImageUrl},verbiage:{instructionText:_.passportInstructionText,capturingText:_.capturingText,captureFailedText:_.captureFailedText},debugMode:D});default:return null}}(),!O&&c.default.createElement(Gt,{headingText:_.loadingOverlayHeadingText,useContinuityCameraText:_.loadingOverlayUseContinuityCameraText,modelsWarmingUpText:_.loadingOverlayModelsWarmingUpText,cameraInitializingText:_.loadingOverlayCameraInitializingText,cameraAccessBlockedText:_.loadingOverlayCameraAccessBlockedText,continueText:_.loadingOverlayContinueText,instructionImageUrl:A.loadingOverlayInstructionImageUrl,onDismissed:function(){B(!0)}}),L.captureState===Ft.COMPLETE&&c.default.createElement(qt,{capturedDocuments:L.capturedDocuments,barcodeResult:L.barcodeResult,onSubmitClick:function(){return g(void 0,void 0,void 0,(function(){var e,n,r,i,a,o,s,l,c;return m(this,(function(u){switch(u.label){case 0:return n=L.capturedDocuments.ID_CARD_BACK,r=L.capturedDocuments.PASSPORT,(a=e=L.capturedDocuments.ID_CARD_FRONT)?[4,We(e.imageData)]:[3,2];case 1:a=u.sent(),u.label=2;case 2:return i=a,(s=n)?[4,We(n.imageData)]:[3,4];case 3:s=u.sent(),u.label=4;case 4:return o=s,(c=r)?[4,We(r.imageData)]:[3,6];case 5:c=u.sent(),u.label=6;case 6:return l=c,j(i),z(o),q(l),M(),setTimeout((function(){null==t||t({idFrontImage:i,idBackImage:o,passportImage:l})}),0),[2]}}))}))},onRetryClick:Q,headingText:_.successHeadingText,idCardFrontText:_.successIdCardFrontText,idCardBackText:_.successIdCardBackText,passportText:_.successPassportText,instructionText:_.successInstructionText,retryText:_.successRetryText,submittingText:_.successSubmittingText,submitText:_.successSubmitText}))},Xt=function(e){var t=e.borderWidth,n=e.borderColor;return c.default.createElement("div",{style:{position:"absolute",zIndex:1e3,width:"100%",height:"100%",display:"flex"}},c.default.createElement("div",{style:{borderWidth:void 0===t?3:t,borderColor:void 0===n?"white":n,borderStyle:"solid",borderRadius:"50%",aspectRatio:"1 / 1.618",height:"50%",margin:"auto"}}))},Jt=self;function Zt(e,t){e=e.split(".");var n,r=Jt;e[0]in r||void 0===r.execScript||r.execScript("var "+e[0]);for(;e.length&&(n=e.shift());)e.length||void 0===t?r=r[n]&&r[n]!==Object.prototype[n]?r[n]:r[n]={}:r[n]=t}function Qt(e){return e}function en(){throw Error("Invalid UTF8")}function tn(e,t){return t=String.fromCharCode.apply(null,t),null==e?t:e+t}let nn,rn;const an="undefined"!=typeof TextDecoder;let on;const sn="undefined"!=typeof TextEncoder;function ln(e){if(sn)e=(on||=new TextEncoder).encode(e);else{let n=0;const r=new Uint8Array(3*e.length);for(let i=0;i<e.length;i++){var t=e.charCodeAt(i);if(128>t)r[n++]=t;else{if(2048>t)r[n++]=t>>6|192;else{if(55296<=t&&57343>=t){if(56319>=t&&i<e.length){const a=e.charCodeAt(++i);if(56320<=a&&57343>=a){r[n++]=(t=1024*(t-55296)+a-56320+65536)>>18|240,r[n++]=t>>12&63|128,r[n++]=t>>6&63|128,r[n++]=63&t|128;continue}i--}t=65533}r[n++]=t>>12|224,r[n++]=t>>6&63|128}r[n++]=63&t|128}}e=n===r.length?r:r.subarray(0,n)}return e}var cn,un;e:{for(var dn=["CLOSURE_FLAGS"],hn=Jt,fn=0;fn<dn.length;fn++)if(null==(hn=hn[dn[fn]])){un=null;break e}un=hn}var pn,gn=un&&un[610401301];cn=null!=gn&&gn;const mn=Jt.navigator;function vn(e){return!!cn&&!!pn&&pn.brands.some((({brand:t})=>t&&-1!=t.indexOf(e)))}function yn(e){var t;return(t=Jt.navigator)&&(t=t.userAgent)||(t=""),-1!=t.indexOf(e)}function bn(){return!!cn&&!!pn&&0<pn.brands.length}function wn(){return bn()?vn("Chromium"):(yn("Chrome")||yn("CriOS"))&&!(!bn()&&yn("Edge"))||yn("Silk")}pn=mn&&mn.userAgentData||null;var xn=!bn()&&(yn("Trident")||yn("MSIE"));!yn("Android")||wn(),wn(),yn("Safari")&&(wn()||!bn()&&yn("Coast")||!bn()&&yn("Opera")||!bn()&&yn("Edge")||(bn()?vn("Microsoft Edge"):yn("Edg/"))||bn()&&vn("Opera"));var En={},Tn=null;function Sn(){if(!Tn){Tn={};for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"],n=0;5>n;n++){var r=e.concat(t[n].split(""));En[n]=r;for(var i=0;i<r.length;i++){var a=r[i];void 0===Tn[a]&&(Tn[a]=i)}}}}var Cn="undefined"!=typeof Uint8Array,kn=!xn&&"function"==typeof btoa;function An(e){if(!kn){var t;void 0===t&&(t=0),Sn(),t=En[t];var n=Array(Math.floor(e.length/3)),r=t[64]||"";let l=0,c=0;for(;l<e.length-2;l+=3){var i=e[l],a=e[l+1],o=e[l+2],s=t[i>>2];n[c++]=s+(i=t[(3&i)<<4|a>>4])+(a=t[(15&a)<<2|o>>6])+(o=t[63&o])}switch(s=0,o=r,e.length-l){case 2:o=t[(15&(s=e[l+1]))<<2]||r;case 1:n[c]=t[(e=e[l])>>2]+t[(3&e)<<4|s>>4]+o+r}return n.join("")}for(t="",n=0,r=e.length-10240;n<r;)t+=String.fromCharCode.apply(null,e.subarray(n,n+=10240));return t+=String.fromCharCode.apply(null,n?e.subarray(n):e),btoa(t)}const Rn=/[-_.]/g,_n={"-":"+",_:"/",".":"="};function In(e){return _n[e]||""}function Dn(e){if(!kn)return function(e){var t=e.length,n=3*t/4;n%3?n=Math.floor(n):-1!="=.".indexOf(e[t-1])&&(n=-1!="=.".indexOf(e[t-2])?n-2:n-1);var r=new Uint8Array(n),i=0;return function(e,t){function n(t){for(;r<e.length;){var n=e.charAt(r++),i=Tn[n];if(null!=i)return i;if(!/^[\s\xa0]*$/.test(n))throw Error("Unknown base64 encoding at char: "+n)}return t}Sn();for(var r=0;;){var i=n(-1),a=n(0),o=n(64),s=n(64);if(64===s&&-1===i)break;t(i<<2|a>>4),64!=o&&(t(a<<4&240|o>>2),64!=s&&t(o<<6&192|s))}}(e,(function(e){r[i++]=e})),i!==n?r.subarray(0,i):r}(e);Rn.test(e)&&(e=e.replace(Rn,In)),e=atob(e);const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function Fn(e){return Cn&&null!=e&&e instanceof Uint8Array}let Ln;function Nn(){return Ln||=new Uint8Array(0)}var Mn={};let Pn;function On(e){if(e!==Mn)throw Error("illegal external caller")}function Bn(){return Pn||=new $n(null,Mn)}function Un(e){On(Mn);var t=e.L;return null==(t=null==t||Fn(t)?t:"string"==typeof t?Dn(t):null)?t:e.L=t}var $n=class{constructor(e,t){if(On(t),this.L=e,null!=e&&0===e.length)throw Error("ByteString should be constructed with non-empty values")}fa(){const e=Un(this);return e?new Uint8Array(e):Nn()}};function Gn(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function jn(){return Error("Failed to read varint, encoding is invalid.")}function zn(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function qn(e){return 0==e.length?Bn():new $n(e,Mn)}function Vn(e){if("string"==typeof e)return{buffer:Dn(e),G:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),G:!1};if(e.constructor===Uint8Array)return{buffer:e,G:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),G:!1};if(e.constructor===$n)return{buffer:Un(e)||Nn(),G:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),G:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}const Hn="function"==typeof Uint8Array.prototype.slice;let Wn,Kn=0,Yn=0;function Xn(e){const t=0>e;let n=(e=Math.abs(e))>>>0;if(e=Math.floor((e-n)/4294967296),t){const[t,r]=tr(n,e);e=r,n=t}Kn=n>>>0,Yn=e>>>0}function Jn(e){const t=Wn||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),Yn=0,Kn=t.getUint32(0,!0)}function Zn(e,t){return 4294967296*t+(e>>>0)}function Qn(e,t){const n=2147483648&t;return n&&(t=~t>>>0,0==(e=1+~e>>>0)&&(t=t+1>>>0)),e=Zn(e,t),n?-e:e}function er(e){if(16>e.length)Xn(Number(e));else if("function"==typeof BigInt)e=BigInt(e),Kn=Number(e&BigInt(4294967295))>>>0,Yn=Number(e>>BigInt(32)&BigInt(4294967295));else{const t=+("-"===e[0]);Yn=Kn=0;const n=e.length;for(let r=t,i=(n-t)%6+t;i<=n;r=i,i+=6){const t=Number(e.slice(r,i));Yn*=1e6,Kn=1e6*Kn+t,4294967296<=Kn&&(Yn+=Math.trunc(Kn/4294967296),Yn>>>=0,Kn>>>=0)}if(t){const[e,t]=tr(Kn,Yn);Kn=e,Yn=t}}}function tr(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}function nr(e,t,{O:n=!1}={}){e.O=n,t&&(t=Vn(t),e.h=t.buffer,e.s=t.G,e.v=0,e.l=e.h.length,e.g=e.v)}function rr(e,t){if(e.g=t,t>e.l)throw zn(e.l,t)}function ir(e,t){let n,r=0,i=0,a=0;const o=e.h;let s=e.g;do{n=o[s++],r|=(127&n)<<a,a+=7}while(32>a&&128&n);for(32<a&&(i|=(127&n)>>4),a=3;32>a&&128&n;a+=7)n=o[s++],i|=(127&n)<<a;if(rr(e,s),128>n)return t(r>>>0,i>>>0);throw jn()}function ar(e){let t=0,n=e.g;const r=n+10,i=e.h;for(;n<r;){const r=i[n++];if(t|=r,0==(128&r))return rr(e,n),!!(127&t)}throw jn()}function or(e){var t=e.h;const n=e.g,r=t[n],i=t[n+1],a=t[n+2];return t=t[n+3],rr(e,e.g+4),(r<<0|i<<8|a<<16|t<<24)>>>0}function sr(e,t){if(0>t)throw Error(`Tried to read a negative byte length: ${t}`);const n=e.g,r=n+t;if(r>e.l)throw zn(t,e.l-n);return e.g=r,n}function lr(e,t){if(0==t)return Bn();var n=sr(e,t);return e.O&&e.s?n=e.h.subarray(n,n+t):(e=e.h,n=n===(t=n+t)?Nn():Hn?e.slice(n,t):new Uint8Array(e.subarray(n,t))),qn(n)}var cr=class{constructor(e,t){this.h=null,this.s=!1,this.g=this.l=this.v=0,nr(this,e,t)}m(){const e=this.h;let t=this.g,n=e[t++],r=127&n;if(128&n&&(n=e[t++],r|=(127&n)<<7,128&n&&(n=e[t++],r|=(127&n)<<14,128&n&&(n=e[t++],r|=(127&n)<<21,128&n&&(n=e[t++],r|=n<<28,128&n&&128&e[t++]&&128&e[t++]&&128&e[t++]&&128&e[t++]&&128&e[t++])))))throw jn();return rr(this,t),r}j(){return this.m()>>>0}A(){var e=or(this);const t=2*(e>>31)+1,n=e>>>23&255;return e&=8388607,255==n?e?NaN:1/0*t:0==n?t*Math.pow(2,-149)*e:t*Math.pow(2,n-150)*(e+Math.pow(2,23))}C(){return this.m()}},ur=[];function dr(e){var t=e.g;if(t.g==t.l)return!1;e.l=e.g.g;var n=e.g.j();if(t=n>>>3,!(0<=(n&=7)&&5>=n))throw Gn(n,e.l);if(1>t)throw Error(`Invalid field number: ${t} (at position ${e.l})`);return e.m=t,e.h=n,!0}function hr(e){switch(e.h){case 0:0!=e.h?hr(e):ar(e.g);break;case 1:rr(e=e.g,e.g+8);break;case 2:if(2!=e.h)hr(e);else{var t=e.g.j();rr(e=e.g,e.g+t)}break;case 5:rr(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!dr(e))throw Error("Unmatched start-group tag: stream EOF");if(4==e.h){if(e.m!=t)throw Error("Unmatched end-group tag");break}hr(e)}break;default:throw Gn(e.h,e.l)}}function fr(e,t,n){const r=e.g.l,i=e.g.j(),a=e.g.g+i;let o=a-r;if(0>=o&&(e.g.l=a,n(t,e,void 0,void 0,void 0),o=a-e.g.g),o)throw Error(`Message parsing ended unexpectedly. Expected to read ${i} bytes, instead read ${i-o} bytes, either the data ended unexpectedly or the message misreported its own length`);return e.g.g=a,e.g.l=r,t}function pr(e){var t=e.g.j(),n=sr(e=e.g,t);if(e=e.h,an){var r,i=e;(r=rn)||(r=rn=new TextDecoder("utf-8",{fatal:!0})),e=n+t,i=0===n&&e===i.length?i:i.subarray(n,e);try{var a=r.decode(i)}catch(e){if(void 0===nn){try{r.decode(new Uint8Array([128]))}catch(e){}try{r.decode(new Uint8Array([97])),nn=!0}catch(e){nn=!1}}throw!nn&&(rn=void 0),e}}else{t=(a=n)+t,n=[];let s,l=null;for(;a<t;){var o=e[a++];128>o?n.push(o):224>o?a>=t?en():(s=e[a++],194>o||128!=(192&s)?(a--,en()):n.push((31&o)<<6|63&s)):240>o?a>=t-1?en():(s=e[a++],128!=(192&s)||224===o&&160>s||237===o&&160<=s||128!=(192&(i=e[a++]))?(a--,en()):n.push((15&o)<<12|(63&s)<<6|63&i)):244>=o?a>=t-2?en():(s=e[a++],128!=(192&s)||0!=s-144+(o<<28)>>30||128!=(192&(i=e[a++]))||128!=(192&(r=e[a++]))?(a--,en()):(o=(7&o)<<18|(63&s)<<12|(63&i)<<6|63&r,n.push(55296+((o-=65536)>>10&1023),56320+(1023&o)))):en(),8192<=n.length&&(l=tn(l,n),n.length=0)}a=tn(l,n)}return a}function gr(e){const t=e.g.j();return lr(e.g,t)}function mr(e,t,n){var r=e.g.j();for(r=e.g.g+r;e.g.g<r;)n.push(t.call(e.g))}var vr=[];function yr(e){return e?/^\d+$/.test(e)?(er(e),new br(Kn,Yn)):null:wr||=new br(0,0)}var br=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let wr;function xr(e){return e?/^-?\d+$/.test(e)?(er(e),new Er(Kn,Yn)):null:Tr||=new Er(0,0)}var Er=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Tr;function Sr(e,t,n){for(;0<n||127<t;)e.g.push(127&t|128),t=(t>>>7|n<<25)>>>0,n>>>=7;e.g.push(t)}function Cr(e,t){for(;127<t;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function kr(e,t){if(0<=t)Cr(e,t);else{for(let n=0;9>n;n++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function Ar(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function Rr(e,t){0!==t.length&&(e.l.push(t),e.h+=t.length)}function _r(e,t,n){Cr(e.g,8*t+n)}function Ir(e,t){return _r(e,t,2),t=e.g.end(),Rr(e,t),t.push(e.h),t}function Dr(e,t){var n=t.pop();for(n=e.h+e.g.length()-n;127<n;)t.push(127&n|128),n>>>=7,e.h++;t.push(n),e.h++}function Fr(e,t,n){_r(e,t,2),Cr(e.g,n.length),Rr(e,e.g.end()),Rr(e,n)}function Lr(e,t,n,r){null!=n&&(t=Ir(e,t),r(n,e),Dr(e,t))}class Nr{constructor(e,t,n){this.g=e,this.h=t,this.l=n}}function Mr(e){return Array.prototype.slice.call(e)}const Pr="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():void 0;var Or=Pr?(e,t)=>{e[Pr]|=t}:(e,t)=>{void 0!==e.g?e.g|=t:Object.defineProperties(e,{g:{value:t,configurable:!0,writable:!0,enumerable:!1}})};function Br(e){const t=$r(e);1!=(1&t)&&(Object.isFrozen(e)&&(e=Mr(e)),jr(e,1|t))}var Ur=Pr?(e,t)=>{e[Pr]&=~t}:(e,t)=>{void 0!==e.g&&(e.g&=~t)},$r=Pr?e=>0|e[Pr]:e=>0|e.g,Gr=Pr?e=>e[Pr]:e=>e.g,jr=Pr?(e,t)=>{e[Pr]=t}:(e,t)=>{void 0!==e.g?e.g=t:Object.defineProperties(e,{g:{value:t,configurable:!0,writable:!0,enumerable:!1}})};function zr(e){return Or(e,1),e}function qr(e){return Or(e,34),e}function Vr(e,t){jr(t,-255&(0|e))}function Hr(e,t){jr(t,-221&(34|e))}function Wr(e){return 0==(e=e>>11&1023)?536870912:e}var Kr,Yr={};function Xr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)&&e.constructor===Object}function Jr(e,t,n){if(null!=e)if("string"==typeof e)e=e?new $n(e,Mn):Bn();else if(e.constructor!==$n)if(Fn(e))e=n?qn(e):e.length?new $n(new Uint8Array(e),Mn):Bn();else{if(!t)throw Error();e=void 0}return e}const Zr=[];function Qr(e){if(2&e)throw Error()}jr(Zr,39),Kr=Object.freeze(Zr);class ei{constructor(e,t,n){this.l=0,this.g=e,this.h=t,this.m=n}next(){if(this.l<this.g.length){const e=this.g[this.l++];return{done:!1,value:this.h?this.h.call(this.m,e):e}}return{done:!0,value:void 0}}[Symbol.iterator](){return new ei(this.g,this.h,this.m)}}var ti={};let ni,ri;function ii(e,t){(t=ni?t[ni]:void 0)&&(e[ni]=Mr(t))}function ai(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function oi(e){return null==e?e:"number"==typeof e||"NaN"===e||"Infinity"===e||"-Infinity"===e?Number(e):void 0}function si(e){return null==e?e:"boolean"==typeof e||"number"==typeof e?!!e:void 0}function li(e){return"number"==typeof e&&Number.isFinite(e)||!!e&&"string"==typeof e&&isFinite(e)}function ci(e){if(null==e)return e;if("string"==typeof e){if(!e)return;e=+e}return"number"==typeof e?e:void 0}function ui(e){if(null==e)return e;if("string"==typeof e){if(!e)return;e=+e}return"number"==typeof e?e:void 0}function di(e){if("string"!=typeof e)throw Error();return e}function hi(e){if(null!=e&&"string"!=typeof e)throw Error();return e}function fi(e){return null==e||"string"==typeof e?e:void 0}function pi(e,t,n,r){var i=!1;return null==e||"object"!=typeof e||(i=Array.isArray(e))||e.K!==Yr?i?(0===(i=n=$r(e))&&(i|=32&r),(i|=2&r)!==n&&jr(e,i),new t(e)):(n?2&r?(e=t[gi])?t=e:(qr((e=new t).u),t=t[gi]=e):t=new t:t=void 0,t):e}const gi="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():"di";function mi(e){return e}function vi(e,t,n){return"string"==typeof(e="number"==(t=typeof e)||"string"===t?e:n?0:void 0)&&(n=+e,Number.isSafeInteger(n))?n:e}let yi,bi;function wi(e){switch(typeof e){case"number":return 0<e?void 0:0===e?bi||=[0,void 0]:[-e,void 0];case"string":return[0,e];case"object":return e}}function xi(e,t){return Ei(e,t[0],t[1])}function Ei(e,t,n){if(null==e&&(e=yi),yi=void 0,null==e){var r=96;n?(e=[n],r|=512):e=[],t&&(r=-2095105&r|(1023&t)<<11)}else{if(!Array.isArray(e))throw Error();if(64&(r=$r(e)))return ri&&delete e[ri],e;if(r|=64,n&&(r|=512,n!==e[0]))throw Error();e:{var i=(n=e).length;if(i){const e=i-1;var a=n[e];if(Xr(a)){1024<=(i=e-(t=+!!(512&(r|=256))-1))&&(Ti(n,t,a),i=1023),r=-2095105&r|(1023&i)<<11;break e}}t&&(a=+!!(512&r)-1,1024<(t=Math.max(t,i-a))&&(Ti(n,a,{}),r|=256,t=1023),r=-2095105&r|(1023&t)<<11)}}return jr(e,r),e}function Ti(e,t,n){const r=1023+t,i=e.length;for(let a=r;a<i;a++){const r=e[a];null!=r&&r!==n&&(n[a-t]=r)}e.length=r+1,e[r]=n}function Si(e){if(2&e.g)throw Error("Cannot mutate an immutable Map")}var Ci=class extends Map{constructor(e,t,n=mi,r=mi){super();let i=$r(e);i|=64,jr(e,i),this.g=i,this.l=t,this.h=n||mi,this.j=this.l?ki:r||mi;for(let a=0;a<e.length;a++){const o=e[a],s=n(o[0],!1,!0);let l=o[1];t?void 0===l&&(l=null):l=r(o[1],!1,!0,void 0,void 0,i),super.set(s,l)}}s(e=Ai){return this.m(e)}m(e=Ai){const t=[],n=super.entries();for(var r;!(r=n.next()).done;)(r=r.value)[0]=e(r[0]),r[1]=e(r[1]),t.push(r);return t}clear(){Si(this),super.clear()}delete(e){return Si(this),super.delete(this.h(e,!0,!1))}entries(){var e=this.A();return new ei(e,Ri,this)}keys(){return this.C()}values(){var e=this.A();return new ei(e,Ci.prototype.get,this)}forEach(e,t){super.forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))}set(e,t){return Si(this),null==(e=this.h(e,!0,!1))?this:null==t?(super.delete(e),this):super.set(e,this.j(t,!0,!0,this.l,!1,this.g))}H(e){const t=this.h(e[0],!1,!0);e=e[1],e=this.l?void 0===e?null:e:this.j(e,!1,!0,void 0,!1,this.g),super.set(t,e)}has(e){return super.has(this.h(e,!1,!1))}get(e){e=this.h(e,!1,!1);const t=super.get(e);if(void 0!==t){var n=this.l;return n?((n=this.j(t,!1,!0,n,this.v,this.g))!==t&&super.set(e,n),n):t}}A(){return Array.from(super.keys())}C(){return super.keys()}[Symbol.iterator](){return this.entries()}};function ki(e,t,n,r,i,a){return e=pi(e,r,n,a),i&&(e=Pi(e)),e}function Ai(e){return e}function Ri(e){return[e,this.get(e)]}function _i(e,t,n,r,i,a){if(null!=e){if(Array.isArray(e))e=i&&0==e.length&&1&$r(e)?void 0:a&&2&$r(e)?e:Ii(e,t,n,void 0!==r,i,a);else if(Xr(e)){const o={};for(let s in e)o[s]=_i(e[s],t,n,r,i,a);e=o}else e=t(e,r);return e}}function Ii(e,t,n,r,i,a){const o=r||n?$r(e):0;r=r?!!(32&o):void 0;const s=Mr(e);for(let e=0;e<s.length;e++)s[e]=_i(s[e],t,n,r,i,a);return n&&(ii(s,e),n(o,s)),s}function Di(e){return _i(e,Fi,void 0,void 0,!1,!1)}function Fi(e){return e.K===Yr?e.toJSON():e instanceof Ci?e.s(Di):function(e){switch(typeof e){case"number":return isFinite(e)?e:String(e);case"boolean":return e?1:0;case"object":if(e&&!Array.isArray(e)){if(Fn(e))return An(e);if(e instanceof $n){const t=e.L;return null==t?"":"string"==typeof t?t:e.L=An(t)}if(e instanceof Ci)return e.s()}}return e}(e)}function Li(e,t,n=Hr){if(null!=e){if(Cn&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){const r=$r(e);return 2&r?e:!t||68&r||!(32&r||0===r)?Ii(e,Li,4&r?Hr:n,!0,!1,!0):(jr(e,34|r),e)}return e.K===Yr?e=2&(n=Gr(t=e.u))?e:Ni(e,t,n,!0):e instanceof Ci&&(t=qr(e.m(Li)),e=new Ci(t,e.l,e.h,e.j)),e}}function Ni(e,t,n,r){return e=e.constructor,yi=t=Mi(t,n,r),t=new e(t),yi=void 0,t}function Mi(e,t,n){const r=n||2&t?Hr:Vr,i=!!(32&t);return e=function(e,t,n){const r=Mr(e);var i=r.length;const a=256&t?r[i-1]:void 0;for(i+=a?-1:0,t=512&t?1:0;t<i;t++)r[t]=n(r[t]);if(a){t=r[t]={};for(const e in a)t[e]=n(a[e])}return ii(r,e),r}(e,t,(e=>Li(e,i,r))),Or(e,32|(n?2:0)),e}function Pi(e){const t=e.u,n=Gr(t);return 2&n?Ni(e,t,n,!1):e}function Oi(e,t){return Bi(e=e.u,Gr(e),t)}function Bi(e,t,n,r){if(-1===n)return null;if(n>=Wr(t)){if(256&t)return e[e.length-1][n]}else{var i=e.length;if(r&&256&t&&null!=(r=e[i-1][n]))return r;if((t=n+(+!!(512&t)-1))<i)return e[t]}}function Ui(e,t,n,r){const i=e.u,a=Gr(i);return Qr(a),$i(i,a,t,n,r),e}function $i(e,t,n,r,i){var a=Wr(t);if(n>=a||i){if(i=t,256&t)a=e[e.length-1];else{if(null==r)return;a=e[a+(+!!(512&t)-1)]={},i|=256}a[n]=r,i!==t&&jr(e,i)}else e[n+(+!!(512&t)-1)]=r,256&t&&n in(e=e[e.length-1])&&delete e[n]}function Gi(e,t,n,r,i){var a=2&t;let o=Bi(e,t,n,i);Array.isArray(o)||(o=Kr);const s=$r(o);if(1&s||zr(o),a)2&s||qr(o),1&r||Object.freeze(o);else{a=!(2&r);const l=2&s;1&r||!l?a&&32&s&&!l&&Ur(o,32):(o=zr(Mr(o)),$i(e,t,n,o,i))}return o}function ji(e,t){const n=Gr(e=e.u),r=Bi(e,n,t),i=oi(r);return null!=i&&i!==r&&$i(e,n,t,i),i}function zi(e){const t=Gr(e=e.u),n=Bi(e,t,1),r=Jr(n,!0,!!(34&t));return null!=r&&r!==n&&$i(e,t,1,r),r}function qi(e,t,n){const r=Gr(e=e.u),i=2&r;let a=Gi(e,r,t,1),o=$r(a);if(!(4&o)){Object.isFrozen(a)&&(o=0,a=Mr(a),$i(e,r,t,a));let s=0,l=0;for(;s<a.length;s++){const e=n(a[s]);null!=e&&(a[l++]=e)}l<s&&(a.length=l),o|=5,i&&(o|=34),jr(a,o),2&o&&Object.freeze(a)}return!i&&(2&o||Object.isFrozen(a))&&(a=Mr(a),Or(a,5),$i(e,r,t,a)),a}let Vi;function Hi(){return Vi??=new Ci(qr([]),void 0,void 0,void 0,ti)}function Wi(e){e=Mr(e);for(let t=0;t<e.length;t++){const n=e[t]=Mr(e[t]);Array.isArray(n[1])&&(n[1]=qr(n[1]))}return e}function Ki(e,t,n){{const r=Gr(e=e.u);if(Qr(r),null==n)$i(e,r,t);else{if(!(4&$r(n))){Object.isFrozen(n)&&(n=Mr(n));for(let e=0;e<n.length;e++)n[e]=di(n[e]);jr(n,5)}$i(e,r,t,n)}}}function Yi(e,t){return Xi(e=e.u,Gr(e),Os)===t?t:-1}function Xi(e,t,n){let r=0;for(let i=0;i<n.length;i++){const a=n[i];null!=Bi(e,t,a)&&(0!==r&&$i(e,t,r),r=a)}return r}function Ji(e,t,n,r){const i=Gr(e);Qr(i);const a=Bi(e,i,n,r);let o;if(null!=a&&a.K===Yr)return(t=Pi(a))!==a&&$i(e,i,n,t,r),t.u;if(Array.isArray(a)){const e=$r(a);o=2&e?Mi(a,e,!1):a,o=xi(o,t)}else o=xi(void 0,t);return o!==a&&$i(e,i,n,o,r),o}function Zi(e,t,n,r){const i=Gr(e=e.u),a=Bi(e,i,n,r);return(t=pi(a,t,!1,i))!==a&&null!=t&&$i(e,i,n,t,r),t}function Qi(e,t,n,r=!1){if(null==(t=Zi(e,t,n,r)))return t;const i=Gr(e=e.u);if(!(2&i)){const a=Pi(t);a!==t&&$i(e,i,n,t=a,r)}return t}function ea(e,t,n,r,i){var a=!!(2&t),o=Gi(e,t,r,1);if(o===Kr||!(4&$r(o))){var s=o;o=!!(2&t);var l=!!(2&$r(s));a=s,!o&&l&&(s=Mr(s));var c=t|(l?2:0);l=l||void 0;let u=0,d=0;for(;u<s.length;u++){const e=pi(s[u],n,!1,c);void 0!==e&&(l=l||2&Gr(e.u),s[d++]=e)}return d<u&&(s.length=d),c=5|(s=$r(n=s)),s!=(l=l?-9&c:8|c)&&(Object.isFrozen(n)&&(n=Mr(n)),jr(n,l)),a!==(s=n)&&$i(e,t,r,s),(o&&2!==i||1===i)&&Object.freeze(s),s}return 3===i||(a?2===i&&(i=$r(o),o=Mr(o),jr(o,i),$i(e,t,r,o)):(a=Object.isFrozen(o),1===i?a||Object.freeze(o):(n=-35&(i=$r(o)),a&&(i=0,$i(e,t,r,o=Mr(o))),i!==n&&jr(o,n)))),o}function ta(e,t,n){var r=e.u;const i=Gr(r);if(t=ea(r,i,t,n,(e=!!(2&i))?1:2),!(e||8&$r(t))){for(n=0;n<t.length;n++)(e=t[n])!==(r=Pi(e))&&(t[n]=r);Or(t,8)}return t}function na(e,t,n,r,i){return null==r&&(r=void 0),Ui(e,n,r,i)}function ra(e,t,n,r){null==r&&(r=void 0);const i=Gr(e=e.u);Qr(i),(n=Xi(e,i,n))&&n!==t&&null!=r&&$i(e,i,n),$i(e,i,t,r)}function ia(e,t,n){const r=Gr(e=e.u);Qr(r),e=ea(e,r,t,1,2),t=null!=n?n:new t,e.push(t),t.G()&&Ur(e,8)}function aa(e,t){return ci(Oi(e,t))}function oa(e){return null==(e=Oi(e,2))||li(e)?e:void 0}function sa(e,t){return fi(Oi(e,t))}function la(e){return e??0}function ca(e,t){return la(ji(e,t))}function ua(e,t,n){if(null!=n){if("boolean"!=typeof n)throw e=typeof n,Error(`Expected boolean but got ${"object"!=e?e:n?Array.isArray(n)?"array":e:"null"}: ${n}`);n=!!n}Ui(e,t,n)}function da(e,t,n){if(null!=n){if("number"!=typeof n)throw ai(e=Error(),"warning"),e;if(!Number.isFinite(n)){const e=Error();ai(e,"incident"),function(e){Jt.setTimeout((()=>{throw e}),0)}(e)}}Ui(e,t,n)}function ha(e,t,n){if(null!=n&&"number"!=typeof n)throw Error(`Value of float/double field must be a number, found ${typeof n}: ${n}`);Ui(e,t,n)}function fa(e,t,n){n=di(n);const r=Gr(e=e.u);Qr(r),Gi(e,r,t,2).push(n)}function pa(e,t,n){t.g?t.m(e,t.g,t.h,n,!0):t.m(e,t.h,n,!0)}Ci.prototype.toJSON=void 0;var ga=class{constructor(e,t){this.u=Ei(e,t)}toJSON(){return ma(this,Ii(this.u,Fi,void 0,void 0,!1,!1),!0)}l(){var e=Ll;return e.g?e.l(this,e.g,e.h,!0):e.l(this,e.h,e.defaultValue,!0)}clone(){const e=this.u;return Ni(this,e,Gr(e),!1)}G(){return!!(2&$r(this.u))}};function ma(e,t,n){var r=e.constructor.B,i=Wr(Gr(n?e.u:t)),a=!1;if(r){if(!n){var o;if((t=Mr(t)).length&&Xr(o=t[t.length-1]))for(a=0;a<r.length;a++)if(r[a]>=i){Object.assign(t[t.length-1]={},o);break}a=!0}var s;i=t,n=!n,e=Wr(o=Gr(e.u)),o=+!!(512&o)-1;for(let t=0;t<r.length;t++){var l=r[t];if(l<e){var c=i[l+=o];null==c?i[l]=n?Kr:zr([]):n&&c!==Kr&&Br(c)}else{if(!s){var u=void 0;i.length&&Xr(u=i[i.length-1])?s=u:i.push(s={})}c=s[l],null==s[l]?s[l]=n?Kr:zr([]):n&&c!==Kr&&Br(c)}}}if(!(r=t.length))return t;let d,h;if(Xr(s=t[r-1])){e:{var f=s;u={},i=!1;for(let e in f)n=f[e],Array.isArray(n)&&n!=n&&(i=!0),null!=n?u[e]=n:i=!0;if(i){for(let e in u){f=u;break e}f=null}}f!=s&&(d=!0),r--}for(;0<r&&null==(s=t[r-1]);r--)h=!0;return d||h?(t=a?t:Array.prototype.slice.call(t,0,r),a&&(t.length=r),f&&t.push(f),t):t}function va(e){return{aa:so,S:e}}function ya(e,t){if(Array.isArray(t)){var n=$r(t);if(4&n)return t;for(var r=0,i=0;r<t.length;r++){const n=e(t[r]);null!=n&&(t[i++]=n)}return i<r&&(t.length=i),jr(t,5|n),2&n&&Object.freeze(t),t}}ga.prototype.K=Yr,ga.prototype.toString=function(){return ma(this,this.u,!1).toString()};const ba=Symbol();function wa(e){let t=e[ba];if(!t){const n=Fa(e),r=n.m;t=r?(e,t)=>r(e,t,n):(e,t)=>{for(;dr(t)&&4!=t.h;){var r=t.m,i=n[r];if(!i){var a=n.h;a&&(a=a[r])&&(i=n[r]=xa(a))}i&&i(t,e,r)||(r=(i=t).l,hr(i),i.Y?i=void 0:(a=i.g.g-r,i.g.g=r,i=lr(i.g,a)),r=e,i&&(ni||=Symbol(),(a=r[ni])?a.push(i):r[ni]=[i]))}(t=n.l)&&(e[ri||=Symbol()]=t)},e[ba]=t}return t}function xa(e){const t=function(e){if(e=e.S)return wa(e)}(e),n=e.aa.g;if(t){const r=Fa(e.S).g;return(e,i,a)=>n(e,i,a,r,t)}return(e,t,r)=>n(e,t,r)}function Ea(e,t,n,r){t.g=wi(e[0]);let i=1;if(e.length>i&&!(e[i]instanceof Nr)){var a=e[i++];if(Array.isArray(a))return t.m=a[0],t.h=a[1],t;t.h=a}for(a=0;i<e.length;){const u=e[i++];var o=e[i];for("number"==typeof o?(i++,a+=o):a++,u.l&&((o=t.l)||(t.l=o=[]),o.push(a)),o=i;o<e.length&&!(e[o]instanceof Nr);)o++;if(o-=i){var s=e,l=i,c=s[l];if("function"==typeof c&&(c=c(),s[l]=c),(s=Array.isArray(c))&&!(s=_a in c||Ca in c)&&(s=0<c.length)){const e=wi(l=(s=c)[0]);null!=e&&e!==l&&(s[0]=e),s=null!=e}(c=s?c:void 0)?(i++,t[a]=1===o?r(u,c):r(u,c,e[i++])):t[a]=n(u,e[i++])}else t[a]=n(u)}return t}const Ta=Symbol();function Sa(e){let t=e[Ta];if(!t){const n=Ra(e);t=(e,t)=>Na(e,t,n),e[Ta]=t}return t}const Ca=Symbol();function ka(e){return e.h}function Aa(e,t){let n,r;const i=e.h;return(e,a,o)=>i(e,a,o,r||=Ra(t).g,n||=Sa(t))}function Ra(e){let t=e[Ca];return t||(t=Ea(e,e[Ca]={},ka,Aa),_a in e&&Ca in e&&(e.length=0),t)}const _a=Symbol();function Ia(e,t){const n=e.g;return t?(e,r,i)=>n(e,r,i,t):n}function Da(e,t,n){const r=e.g;let i,a;return(e,o,s)=>r(e,o,s,a||=Fa(t).g,i||=wa(t),n)}function Fa(e){let t=e[_a];return t||(t=Ea(e,e[_a]={},Ia,Da),_a in e&&Ca in e&&(e.length=0),t)}function La(e,t){var n=e[t];if(n)return n;if((n=e.h)&&(n=n[t])){var r=n.S,i=n.aa.h;if(r){const e=Sa(r),t=Ra(r).g;n=(n,r,a)=>i(n,r,a,t,e)}else n=i;return e[t]=n}}function Na(e,t,n){for(var r=Gr(e),i=+!!(512&r)-1,a=e.length,o=512&r?1:0,s=a+(256&r?-1:0);o<s;o++){const r=e[o];if(null==r)continue;const a=o-i,s=La(n,a);s&&s(t,r,a)}if(256&r){r=e[a-1];for(let e in r)i=+e,Number.isNaN(i)||null!=(a=r[e])&&(s=La(n,i))&&s(t,a,i)}if(e=ni?e[ni]:void 0)for(Rr(t,t.g.end()),n=0;n<e.length;n++)Rr(t,Un(e[n])||Nn())}function Ma(e,t){return new Nr(e,t,!1)}function Pa(e,t){return new Nr(e,t,!0)}function Oa(e,t,n){$i(e,Gr(e),t,n)}var Ba=Ma((function(e,t,n,r,i){return 2===e.h&&(e=fr(e,xi([void 0,void 0],r),i),Qr(r=Gr(t)),(i=Bi(t,r,n))instanceof Ci?0!=(2&i.g)?((i=i.m()).push(e),$i(t,r,n,i)):i.H(e):Array.isArray(i)?(2&$r(i)&&$i(t,r,n,i=Wi(i)),i.push(e)):$i(t,r,n,[e]),!0)}),(function(e,t,n,r,i){if(t instanceof Ci)t.forEach(((t,a)=>{Lr(e,n,xi([a,t],r),i)}));else if(Array.isArray(t))for(let a=0;a<t.length;a++){const o=t[a];Array.isArray(o)&&Lr(e,n,xi(o,r),i)}}));function Ua(e,t,n){e:if(null!=t){if(li(t)){if("string"==typeof t)break e;if("number"==typeof t)break e}t=void 0}null!=t&&("string"==typeof t&&xr(t),null!=t&&(_r(e,n,0),"number"==typeof t?(e=e.g,Xn(t),Sr(e,Kn,Yn)):(n=xr(t),Sr(e.g,n.h,n.g))))}function $a(e,t,n){null!=(t=ci(t))&&null!=t&&(_r(e,n,0),kr(e.g,t))}function Ga(e,t,n){null!=(t=si(t))&&(_r(e,n,0),e.g.g.push(t?1:0))}function ja(e,t,n){null!=(t=fi(t))&&Fr(e,n,ln(t))}function za(e,t,n,r,i){Lr(e,n,t instanceof ga?t.u:Array.isArray(t)?xi(t,r):void 0,i)}function qa(e,t,n){null!=(t=null==t||"string"==typeof t||Fn(t)||t instanceof $n?t:void 0)&&Fr(e,n,Vn(t).buffer)}function Va(e,t,n){return(5===e.h||2===e.h)&&(t=Gi(t,Gr(t),n,2,!1),2==e.h?mr(e,cr.prototype.A,t):t.push(e.g.A()),!0)}var Ha=Ma((function(e,t,n){if(1!==e.h)return!1;var r=e.g;e=or(r);const i=or(r);r=2*(i>>31)+1;const a=i>>>20&2047;return e=4294967296*(1048575&i)+e,Oa(t,n,2047==a?e?NaN:1/0*r:0==a?r*Math.pow(2,-1074)*e:r*Math.pow(2,a-1075)*(e+4503599627370496)),!0}),(function(e,t,n){null!=(t=oi(t))&&(_r(e,n,1),e=e.g,(n=Wn||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),Kn=n.getUint32(0,!0),Yn=n.getUint32(4,!0),Ar(e,Kn),Ar(e,Yn))})),Wa=Ma((function(e,t,n){return 5===e.h&&(Oa(t,n,e.g.A()),!0)}),(function(e,t,n){null!=(t=oi(t))&&(_r(e,n,5),e=e.g,Jn(t),Ar(e,Kn))})),Ka=Pa(Va,(function(e,t,n){if(null!=(t=ya(oi,t)))for(let a=0;a<t.length;a++){var r=e,i=t[a];null!=i&&(_r(r,n,5),r=r.g,Jn(i),Ar(r,Kn))}})),Ya=Pa(Va,(function(e,t,n){if(null!=(t=ya(oi,t))&&t.length){_r(e,n,2),Cr(e.g,4*t.length);for(let r=0;r<t.length;r++)n=e.g,Jn(t[r]),Ar(n,Kn)}})),Xa=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,ir(e.g,Qn)),!0)}),Ua),Ja=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,0===(e=ir(e.g,Qn))?void 0:e),!0)}),Ua),Za=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,ir(e.g,Zn)),!0)}),(function(e,t,n){e:if(null!=t){if(li(t)){if("string"==typeof t)break e;if("number"==typeof t)break e}t=void 0}null!=t&&("string"==typeof t&&yr(t),null!=t&&(_r(e,n,0),"number"==typeof t?(e=e.g,Xn(t),Sr(e,Kn,Yn)):(n=yr(t),Sr(e.g,n.h,n.g))))})),Qa=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,e.g.m()),!0)}),$a),eo=Pa((function(e,t,n){return(0===e.h||2===e.h)&&(t=Gi(t,Gr(t),n,2,!1),2==e.h?mr(e,cr.prototype.m,t):t.push(e.g.m()),!0)}),(function(e,t,n){if(null!=(t=ya(ci,t))&&t.length){n=Ir(e,n);for(let n=0;n<t.length;n++)kr(e.g,t[n]);Dr(e,n)}})),to=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,0===(e=e.g.m())?void 0:e),!0)}),$a),no=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,ar(e.g)),!0)}),Ga),ro=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,!1===(e=ar(e.g))?void 0:e),!0)}),Ga),io=Pa((function(e,t,n){if(2!==e.h)return!1;e=pr(e);const r=Gr(t);return Qr(r),Gi(t,r,n,2).push(e),!0}),(function(e,t,n){if(null!=(t=ya(fi,t)))for(let i=0;i<t.length;i++){var r=t[i];null!=r&&Fr(e,n,ln(r))}})),ao=Ma((function(e,t,n){return 2===e.h&&(Oa(t,n,""===(e=pr(e))?void 0:e),!0)}),ja),oo=Ma((function(e,t,n){return 2===e.h&&(Oa(t,n,pr(e)),!0)}),ja),so=Ma((function(e,t,n,r,i){return 2===e.h&&(fr(e,Ji(t,r,n,!0),i),!0)}),za),lo=Ma((function(e,t,n,r,i){return 2===e.h&&(fr(e,Ji(t,r,n),i),!0)}),za),co=Pa((function(e,t,n,r,i){if(2!==e.h)return!1;r=xi(void 0,r);const a=Gr(t);Qr(a);let o=Gi(t,a,n,3);return(Object.isFrozen(o)||4&$r(o))&&(o=Mr(o),$i(t,a,n,o)),o.push(r),fr(e,r,i),!0}),(function(e,t,n,r,i){if(Array.isArray(t))for(let a=0;a<t.length;a++)za(e,t[a],n,r,i)})),uo=Ma((function(e,t,n,r,i,a){if(2!==e.h)return!1;const o=Gr(t);return Qr(o),(a=Xi(t,o,a))&&n!==a&&$i(t,o,a),fr(e,t=Ji(t,r,n),i),!0}),za),ho=Ma((function(e,t,n){return 2===e.h&&(Oa(t,n,gr(e)),!0)}),qa),fo=Pa((function(e,t,n){return(0===e.h||2===e.h)&&(t=Gi(t,Gr(t),n,2,!1),2==e.h?mr(e,cr.prototype.j,t):t.push(e.g.j()),!0)}),(function(e,t,n){if(null!=(t=ya(ui,t)))for(let a=0;a<t.length;a++){var r=e,i=t[a];null!=i&&(_r(r,n,0),Cr(r.g,i))}})),po=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,e.g.m()),!0)}),(function(e,t,n){null!=(t=ci(t))&&(t=parseInt(t,10),_r(e,n,0),kr(e.g,t))})),go=Pa((function(e,t,n){return(0===e.h||2===e.h)&&(t=Gi(t,Gr(t),n,2,!1),2==e.h?mr(e,cr.prototype.C,t):t.push(e.g.m()),!0)}),(function(e,t,n){if(null!=(t=ya(ci,t))&&t.length){n=Ir(e,n);for(let n=0;n<t.length;n++)kr(e.g,t[n]);Dr(e,n)}}));class mo{constructor(e,t){this.h=e,this.g=t,this.l=Qi,this.m=na,this.defaultValue=void 0}}function vo(e,t){return new mo(e,t)}function yo(e,t){return(n,r)=>{e:{if(vr.length){const e=vr.pop();e.o(r),nr(e.g,n,r),n=e}else n=new class{constructor(e,t){if(ur.length){const n=ur.pop();nr(n,e,t),e=n}else e=new cr(e,t);this.g=e,this.l=this.g.g,this.h=this.m=-1,this.o(t)}o({Y:e=!1}={}){this.Y=e}}(n,r);try{var i=new e;const r=i.u;wa(t)(r,n),ri&&delete r[ri];var a=i;break e}finally{(i=n.g).h=null,i.s=!1,i.v=0,i.l=0,i.g=0,i.O=!1,n.m=-1,n.h=-1,100>vr.length&&vr.push(n)}a=void 0}return a}}function bo(e){return function(){const t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const e=this.g;return this.g=[],e}}}};Na(this.u,t,Ra(e)),Rr(t,t.g.end());const n=new Uint8Array(t.h),r=t.l,i=r.length;let a=0;for(let e=0;e<i;e++){const t=r[e];n.set(t,a),a+=t.length}return t.l=[n],n}}var wo,xo=[0,ao,Ma((function(e,t,n){return 2===e.h&&(Oa(t,n,(e=gr(e))===Bn()?void 0:e),!0)}),(function(e,t,n){if(null!=t){if(t instanceof ga){const r=t.Aa;return void(r&&(t=r(t),null!=t&&Fr(e,n,Vn(t).buffer)))}if(Array.isArray(t))return}qa(e,t,n)}))];function Eo(e){if(void 0===wo){var t=null,n=Jt.trustedTypes;if(n&&n.createPolicy){try{t=n.createPolicy("goog#html",{createHTML:Qt,createScript:Qt,createScriptURL:Qt})}catch(e){Jt.console&&Jt.console.error(e.message)}wo=t}else wo=t}return e=(t=wo)?t.createScriptURL(e):e,new class{constructor(e){this.g=e}toString(){return this.g+""}}(e)}var To=[0,oo],So=[0,Qa,po,no,no,eo,po,po],Co=[0,no,no],ko=class extends ga{constructor(){super()}};ko.B=[6];var Ao=[0,no,oo,no,po,po,go,oo,oo,lo,Co,po],Ro=[0,oo,oo,oo],_o=class extends ga{constructor(){super()}},Io=[0],Do=[0,Qa],Fo=[1,2,3,4,5],Lo=class extends ga{constructor(e){super(e,2)}},No={},Mo=[-2,No,no];No[336783863]=va([0,oo,no,no,Qa,lo,[0,uo,Io,Fo,uo,Ao,Fo,uo,Ro,Fo,uo,Do,Fo,uo,So,Fo],lo,To]);var Po=[0,ao,ro],Oo=[0,Ja,Ja,ro,ro,ro,ro,Ja,eo,ao,to,Ja,Ja,ro,to,ro,ro,ro,ao],Bo=[-1,{}],Uo=[0,oo,lo,2,Bo],$o=[0,oo,io,lo,Bo];function Go(e,t){t=hi(t);const n=Gr(e=e.u);Qr(n),$i(e,n,2,""===t?void 0:t)}function jo(e,t){fa(e,3,t)}function zo(e,t){fa(e,4,t)}var qo=class extends ga{constructor(e){super(e,500)}o(e){return na(this,0,7,e)}};qo.B=[3,4,5,6,8,13,17,1005];var Vo=[-500,ao,ao,io,io,io,io,lo,Mo,co,xo,to,to,lo,Uo,lo,$o,co,Po,ao,lo,Oo,to,io,io,988],Ho=[0,ao,ao,lo,Bo],Wo=[-500,oo,oo,lo,[-1,{}],oo,999],Ko=[-500,oo,io,io,lo,[-2,{},no],io,998,io],Yo=[-500,oo,io,lo,Bo,io,999];function Xo(e,t){ia(e,qo,t)}function Jo(e,t){fa(e,10,t)}function Zo(e,t){fa(e,15,t)}var Qo=class extends ga{constructor(e){super(e,500)}o(e){return na(this,0,1001,e)}};Qo.B=[1,6,7,9,10,15,16,17,14,1002];var es=[-500,co,Vo,co,5,Wo,co,Ko,to,co,Yo,io,to,lo,Uo,lo,$o,co,Ho,io,io,io,lo,Oo,ao,ao,ro,lo,980,Bo,co,xo],ts=yo(Qo,es);Qo.prototype.g=bo(es);var ns=[0,co,[0,Qa,Qa,Qa]],rs=class extends ga{constructor(e){super(e)}},is=[0,Qa,Wa,oo,oo],as=class extends ga{constructor(e){super(e)}g(){return ta(this,rs,1)}};as.B=[1];var os=[0,co,is],ss=yo(as,os),ls=[0,Qa,Wa],cs=[0,Qa,Qa,lo,ns],us=class extends ga{constructor(e){super(e)}},ds=[0,Qa,Qa,Qa,Qa],hs=[0,Wa,Wa,Wa,Wa],fs=class extends ga{constructor(e){super(e)}},ps=[0,Wa,Wa,oo,Wa],gs=class extends ga{constructor(e){super(e)}h(){return Qi(this,us,2)}g(){return ta(this,fs,5)}};gs.B=[5];var ms=[0,po,lo,ds,lo,hs,lo,cs,co,ps],vs=class extends ga{constructor(e){super(e)}};vs.B=[1,2,3,8,9];var ys=yo(vs,[0,io,eo,Ya,lo,ms,oo,oo,Xa,co,ls,io,Xa]),bs=class extends ga{constructor(e){super(e)}},ws=[0,Wa,Wa,Wa,Wa,Wa],xs=class extends ga{constructor(e){super(e)}};xs.B=[1];var Es=yo(xs,[0,co,ws]),Ts=class extends ga{constructor(e){super(e)}},Ss=[0,Wa,Wa,Wa,Wa,Wa],Cs=class extends ga{constructor(e){super(e)}};Cs.B=[1];var ks=yo(Cs,[0,co,Ss]),As=class extends ga{constructor(e){super(e)}};As.B=[3];var Rs=[0,Qa,Qa,Ya,po],_s=class extends ga{constructor(){super()}};_s.prototype.g=bo([0,Wa,Wa,Wa,Wa,Wa,Xa]);var Is=class extends ga{constructor(e){super(e)}},Ds=[0,Qa,2,oo,lo,os],Fs=class extends ga{constructor(e){super(e)}};Fs.B=[1];var Ls=yo(Fs,[0,co,Ds,Xa]),Ns=class extends ga{constructor(e){super(e)}};Ns.B=[1];var Ms=class extends ga{constructor(e){super(e)}da(){const e=zi(this);return null==e?Bn():e}},Ps=class extends ga{constructor(e){super(e)}},Os=[1,2],Bs=[0,uo,[0,Ya],Os,uo,[0,ho],Os,Qa,oo],Us=class extends ga{constructor(e){super(e)}};Us.B=[1];var $s=yo(Us,[0,co,Bs,Xa]),Gs=class extends ga{constructor(e){super(e)}};Gs.B=[4,5];var js=[0,oo,Qa,Wa,io,io],zs=class extends ga{constructor(e){super(e)}},qs=[0,no,no],Vs=class extends ga{constructor(e){super(e)}},Hs=[1,2,3,4,5],Ws=class extends ga{constructor(e){super(e)}g(){return null!=zi(this)}h(){return null!=sa(this,2)}},Ks=[0,ho,oo,lo,[0,Qa,Xa,Xa],lo,[0,Za,Xa]],Ys=class extends ga{constructor(e){super(e)}g(){return si(Oi(this,2))??!1}},Xs=[0,lo,Ks,no,lo,[0,uo,Do,Hs,uo,Ao,Hs,uo,So,Hs,uo,Io,Hs,uo,Ro,Hs]],Js=class extends ga{constructor(e){super(e)}},Zs=[0,lo,Xs,Wa,Wa,Qa],Qs=vo(502141897,Js);No[502141897]=va(Zs);var el=[0,lo,Ks];No[512499200]=va(el);var tl=[0,lo,el];No[515723506]=va(tl);var nl=yo(class extends ga{constructor(e){super(e)}},[0,lo,[0,po,po,Ka,fo],lo,Rs]),rl=[0,lo,Xs];No[508981768]=va(rl);var il=class extends ga{constructor(e){super(e)}},al=[0,lo,Xs,Wa,lo,rl,no],ol=class extends ga{constructor(e){super(e)}},sl=[0,lo,Xs,lo,Zs,lo,al,Wa,lo,tl];No[508968149]=va(al);var ll=vo(508968150,ol);No[508968150]=va(sl);var cl=class extends ga{constructor(e){super(e)}},ul=vo(513916220,cl);No[513916220]=va([0,lo,Xs,lo,sl,Qa]);var dl=class extends ga{constructor(e){super(e)}h(){return Qi(this,Gs,2)}g(){Ui(this,2)}},hl=[0,lo,Xs,lo,js];No[478825465]=va(hl);var fl=[0,lo,Xs];No[478825422]=va(fl);var pl=class extends ga{constructor(e){super(e)}},gl=[0,lo,Xs,lo,fl,lo,hl,lo,hl],ml=class extends ga{constructor(e){super(e)}},vl=[0,lo,Xs,Wa,Qa],yl=class extends ga{constructor(e){super(e)}},bl=[0,lo,Xs,Wa],wl=class extends ga{constructor(e){super(e)}},xl=[0,lo,Xs,lo,vl,lo,bl,Wa],El=class extends ga{constructor(e){super(e)}},Tl=[0,lo,Xs,lo,xl,lo,gl];No[463370452]=va(gl),No[464864288]=va(vl),No[474472470]=va(bl);var Sl=vo(462713202,wl);No[462713202]=va(xl);var Cl=vo(479097054,El);No[479097054]=va(Tl);var kl=class extends ga{constructor(e){super(e)}},Al=vo(456383383,kl);No[456383383]=va([0,lo,Xs,lo,js]);var Rl=class extends ga{constructor(e){super(e)}},_l=vo(476348187,Rl);No[476348187]=va([0,lo,Xs,lo,qs]);var Il=class extends ga{constructor(e){super(e)}},Dl=[0,po,po],Fl=class extends ga{constructor(e){super(e)}};Fl.B=[3];var Ll=vo(458105876,class extends ga{constructor(e){super(e)}g(){var e=this.u;const t=Gr(e);var n=2&t;return e=function(e,t,n){var r=Fl;const i=2&t;let a=!1;if(null==n){if(i)return Hi();n=[]}else if(n.constructor===Ci){if(0==(2&n.g)||i)return n;n=n.m()}else Array.isArray(n)?a=!!(2&$r(n)):n=[];if(i){if(!n.length)return Hi();a||(a=!0,qr(n))}else a&&(a=!1,n=Wi(n));return a||(64&$r(n)?Ur(n,32):32&t&&Or(n,32)),$i(e,t,2,r=new Ci(n,r,vi,void 0),!1),r}(e,t,Bi(e,t,2)),null==e||!n&&Fl&&(e.v=!0),e}});No[458105876]=va([0,lo,Dl,Ba,[0,Xa,lo,[0,oo,oo,io]]]);var Nl=class extends ga{constructor(e){super(e)}},Ml=vo(458105758,Nl);No[458105758]=va([0,lo,Xs,oo,lo,Dl]);var Pl=class extends ga{constructor(e){super(e)}};Pl.B=[5,6];var Ol=vo(443442058,Pl);No[443442058]=va([0,lo,Xs,oo,Qa,Wa,io,io]);var Bl=class extends ga{constructor(e){super(e)}},Ul=[0,lo,Xs,Wa,Wa,Qa];No[514774813]=va(Ul);var $l=class extends ga{constructor(e){super(e)}},Gl=[0,lo,Xs,Wa],jl=class extends ga{constructor(e){super(e)}},zl=[0,lo,Xs,lo,Ul,lo,Gl,Wa];No[518928384]=va(Gl);var ql=vo(516587230,jl);function Vl(e,t){return t=t?t.clone():new Gs,void 0!==e.displayNamesLocale?Ui(t,1,hi(e.displayNamesLocale)):void 0===e.displayNamesLocale&&Ui(t,1),void 0!==e.maxResults?da(t,2,e.maxResults):"maxResults"in e&&Ui(t,2),void 0!==e.scoreThreshold?ha(t,3,e.scoreThreshold):"scoreThreshold"in e&&Ui(t,3),void 0!==e.categoryAllowlist?Ki(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&Ui(t,4),void 0!==e.categoryDenylist?Ki(t,5,e.categoryDenylist):"categoryDenylist"in e&&Ui(t,5),t}function Hl(e,t=-1,n=""){return{categories:e.map((e=>({index:la(aa(e,1))??-1,score:ca(e,2)??0,categoryName:sa(e,3)??""??"",displayName:sa(e,4)??""??""}))),headIndex:t,headName:n}}function Wl(e){var t=qi(e,3,oi),n=qi(e,2,ci);const r=qi(e,1,fi),i=qi(e,9,fi),a={categories:[],keypoints:[]};for(let e=0;e<t.length;e++)a.categories.push({score:t[e],index:n[e]??-1,categoryName:r[e]??"",displayName:i[e]??""});if((t=Qi(e,gs,4)?.h())&&(a.boundingBox={originX:aa(t,1)??0,originY:aa(t,2)??0,width:aa(t,3)??0,height:aa(t,4)??0,angle:0}),Qi(e,gs,4)?.g().length)for(const t of Qi(e,gs,4).g())a.keypoints.push({x:ji(t,1)??0,y:ji(t,2)??0,score:ji(t,4)??0,label:sa(t,3)??""});return a}function Kl(e){const t=[];for(const n of ta(e,Ts,1))t.push({x:ca(n,1)??0,y:ca(n,2)??0,z:ca(n,3)??0});return t}function Yl(e){const t=[];for(const n of ta(e,bs,1))t.push({x:ca(n,1)??0,y:ca(n,2)??0,z:ca(n,3)??0});return t}function Xl(e){return Array.from(e,(e=>127<e?e-256:e))}function Jl(e,t){if(e.length!==t.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${e.length} vs. ${t.length}).`);let n=0,r=0,i=0;for(let a=0;a<e.length;a++)n+=e[a]*t[a],r+=e[a]*e[a],i+=t[a]*t[a];if(0>=r||0>=i)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return n/Math.sqrt(r*i)}let Zl;No[516587230]=va(zl);const Ql=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function ec(){if(void 0===Zl)try{await WebAssembly.instantiate(Ql),Zl=!0}catch{Zl=!1}return Zl}async function tc(e,t){const n=await ec()?"wasm_internal":"wasm_nosimd_internal";return void 0!==t?{wasmLoaderPath:`${t}/${e}_${n}.js`,wasmBinaryPath:`${t}/${e}_${n}.wasm`}:{wasmLoaderPath:Eo(`./${encodeURIComponent(e)}_${encodeURIComponent(n)}.js`),wasmBinaryPath:Eo(`./${encodeURIComponent(e)}_${encodeURIComponent(n)}.wasm`)}}var nc=class{};function rc(){const e=navigator.userAgent;return e.includes("Safari")&&!e.includes("Chrome")}async function ic(e){if("function"!=typeof importScripts){const t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise(((e,n)=>{t.addEventListener("load",(()=>{e()}),!1),t.addEventListener("error",(e=>{n(e)}),!1),document.body.appendChild(t)}))}importScripts(e.toString())}function ac(e,t,n){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),n(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function oc(e,t,n){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(n?e.i._bindTextureToStream(n):e.i._bindTextureToCanvas(),!(n=e.i.canvas.getContext("webgl2")||e.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");return e.i.gpuOriginForWebTexturesIsBottomLeft&&n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!0),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),t.videoWidth?(n=t.videoWidth,t=t.videoHeight):t.naturalWidth?(n=t.naturalWidth,t=t.naturalHeight):(n=t.width,t=t.height),!e.l||n===e.i.canvas.width&&t===e.i.canvas.height||(e.i.canvas.width=n,e.i.canvas.height=t),[n,t]}function sc(e,t,n){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const r=new Uint32Array(t.length);for(let n=0;n<t.length;n++)r[n]=e.i.stringToNewUTF8(t[n]);t=e.i._malloc(4*r.length),e.i.HEAPU32.set(r,t>>2),n(t);for(const t of r)e.i._free(t);e.i._free(t)}function lc(e,t,n){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=n}function cc(e,t,n){let r=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(e,t,i)=>{t?(n(r,i),r=[]):r.push(e)}}function uc(e,t){const n=Qi(e.baseOptions,Ws,1)||new Ws;"string"==typeof t?(Ui(n,2,hi(t)),Ui(n,1)):t instanceof Uint8Array&&(Ui(n,1,Jr(t,!1,!1)),Ui(n,2)),na(e.baseOptions,0,1,n)}function dc(e){try{const t=e.I.length;if(1===t)throw Error(e.I[0].message);if(1<t)throw Error("Encountered multiple errors: "+e.I.map((e=>e.message)).join(", "))}finally{e.I=[]}}function hc(e,t){e.H=Math.max(e.H,t)}function fc(e,t){e.A=new qo,Go(e.A,"PassThroughCalculator"),jo(e.A,"free_memory"),zo(e.A,"free_memory_unused_out"),Jo(t,"free_memory"),Xo(t,e.A)}function pc(e,t){jo(e.A,t),zo(e.A,t+"_unused_out")}function gc(e){e.g.addBoolToStream(!0,"free_memory",e.H)}nc.forVisionTasks=function(e=""){return tc("vision",e)},nc.forTextTasks=function(e=""){return tc("text",e)},nc.forAudioTasks=function(e=""){return tc("audio",e)},nc.isSimdSupported=function(){return ec()};var mc=class{constructor(e){this.g=e,this.I=[],this.H=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){if(t){const t=e.baseOptions||{};if(e.baseOptions?.modelAssetBuffer&&e.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(Qi(this.baseOptions,Ws,1)?.g()||Qi(this.baseOptions,Ws,1)?.h()||e.baseOptions?.modelAssetBuffer||e.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(e,t){let n=Qi(e.baseOptions,Vs,3);if(!n){var r=n=new Vs,i=new _o;ra(r,4,Hs,i)}"delegate"in t&&("GPU"===t.delegate?(t=n,r=new ko,ra(t,2,Hs,r)):(t=n,r=new _o,ra(t,4,Hs,r))),na(e.baseOptions,0,3,n)}(this,t),t.modelAssetPath)return fetch(t.modelAssetPath.toString()).then((e=>{if(e.ok)return e.arrayBuffer();throw Error(`Failed to fetch model: ${t.modelAssetPath} (${e.status})`)})).then((e=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(e),!0,!1,!1),uc(this,"/model.dat"),this.m(),this.N()}));uc(this,t.modelAssetBuffer)}return this.m(),this.N(),Promise.resolve()}N(){}U(){let e;if(this.g.U((t=>{e=ts(t)})),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener(((e,t)=>{this.I.push(Error(t))})),this.g.xa(),this.g.setGraph(e,t),this.A=void 0,dc(this)}finishProcessing(){this.g.finishProcessing(),dc(this)}close(){this.A=void 0,this.g.closeGraph()}};function vc(e,t){if(null===e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}mc.prototype.close=mc.prototype.close;class yc{constructor(e,t,n,r){this.g=e,this.h=t,this.m=n,this.l=r}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}}function bc(e,t,n){const r=e.h;if(n=vc(r.createShader(n),"Failed to create WebGL shader"),r.shaderSource(n,t),r.compileShader(n),!r.getShaderParameter(n,r.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${r.getShaderInfoLog(n)}`);return r.attachShader(e.g,n),n}function wc(e,t){const n=e.h,r=vc(n.createVertexArray(),"Failed to create vertex array");n.bindVertexArray(r);const i=vc(n.createBuffer(),"Failed to create buffer");n.bindBuffer(n.ARRAY_BUFFER,i),n.enableVertexAttribArray(e.s),n.vertexAttribPointer(e.s,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),n.STATIC_DRAW);const a=vc(n.createBuffer(),"Failed to create buffer");return n.bindBuffer(n.ARRAY_BUFFER,a),n.enableVertexAttribArray(e.A),n.vertexAttribPointer(e.A,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array(t?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null),n.bindVertexArray(null),new yc(n,r,i,a)}function xc(e,t){if(e.h){if(t!==e.h)throw Error("Cannot change GL context once initialized")}else e.h=t}function Ec(e,t,n,r){if(xc(e,t),!e.g){const t=e.h;if(e.g=vc(t.createProgram(),"Failed to create WebGL program"),e.C=bc(e,"\n attribute vec2 aVertex;\n attribute vec2 aTex;\n varying vec2 vTex;\n void main(void) {\n gl_Position = vec4(aVertex, 0.0, 1.0);\n vTex = aTex;\n }",t.VERTEX_SHADER),e.v=bc(e,"\n precision mediump float;\n varying vec2 vTex;\n uniform sampler2D inputTexture;\n void main() {\n gl_FragColor = texture2D(inputTexture, vTex);\n }\n ",t.FRAGMENT_SHADER),t.linkProgram(e.g),!t.getProgramParameter(e.g,t.LINK_STATUS))throw Error(`Error during program linking: ${t.getProgramInfoLog(e.g)}`);e.s=t.getAttribLocation(e.g,"aVertex"),e.A=t.getAttribLocation(e.g,"aTex")}return n?(e.m||(e.m=wc(e,!0)),n=e.m):(e.j||(e.j=wc(e,!1)),n=e.j),t.useProgram(e.g),n.bind(),e=r(),n.g.bindVertexArray(null),e}function Tc(e,t,n){xc(e,t),e.l||(e.l=vc(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.l),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,n,0)}function Sc(e){e.h?.bindFramebuffer(e.h.FRAMEBUFFER,null)}var Cc=class{close(){if(this.g){const e=this.h;e.deleteProgram(this.g),e.deleteShader(this.C),e.deleteShader(this.v)}this.l&&this.h.deleteFramebuffer(this.l),this.j&&this.j.close(),this.m&&this.m.close()}};function kc(e,t){switch(t){case 0:return e.g.find((e=>e instanceof ImageData));case 1:return e.g.find((e=>"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap));case 2:return e.g.find((e=>"undefined"!=typeof WebGLTexture&&e instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function Ac(e){var t=kc(e,0);if(!t){t=_c(e);const n=Ic(e),r=new Uint8Array(e.width*e.height*4);Tc(n,t,Rc(e)),t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,r),Sc(n),t=new ImageData(new Uint8ClampedArray(r.buffer),e.width,e.height),e.g.push(t)}return t}function Rc(e){let t=kc(e,2);if(!t){const n=_c(e);t=Fc(e);const r=kc(e,1)||Ac(e);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,r),Lc(e)}return t}function _c(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when iniitializing the image.");return e.h||(e.h=vc(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Ic(e){return e.l||(e.l=new Cc),e.l}function Dc(e){(e=_c(e)).texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR)}function Fc(e){const t=_c(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let n=kc(e,2);return n?t.bindTexture(t.TEXTURE_2D,n):(n=vc(t.createTexture(),"Failed to create texture"),e.g.push(n),e.m=!0,t.bindTexture(t.TEXTURE_2D,n),Dc(e)),n}function Lc(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}function Nc(e){const t=_c(e);return Ec(Ic(e),t,!0,(()=>function(e,t){const n=e.canvas;if(n.width===e.width&&n.height===e.height)return t();const r=n.width,i=n.height;return n.width=e.width,n.height=e.height,e=t(),n.width=r,n.height=i,e}(e,(()=>{if(t.bindFramebuffer(t.FRAMEBUFFER,null),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4),!(e.canvas instanceof OffscreenCanvas))throw Error("Conversion to ImageBitmap requires that the MediaPipe Tasks is initialized with an OffscreenCanvas");return e.canvas.transferToImageBitmap()}))))}var Mc=class{constructor(e,t,n,r,i,a,o){this.g=e,this.j=t,this.m=n,this.canvas=r,this.l=i,this.width=a,this.height=o,(this.j||this.m)&&0==--Pc&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")}ta(){return!!kc(this,0)}Z(){return!!kc(this,1)}J(){return!!kc(this,2)}pa(){return Ac(this)}oa(){var e=kc(this,1);return e||(Rc(this),Fc(this),e=Nc(this),Lc(this),this.g.push(e),this.j=!0),e}T(){return Rc(this)}clone(){const e=[];for(const t of this.g){let n;if(t instanceof ImageData)n=new ImageData(t.data,this.width,this.height);else if(t instanceof WebGLTexture){const e=_c(this),t=Ic(this);e.activeTexture(e.TEXTURE1),n=vc(e.createTexture(),"Failed to create texture"),e.bindTexture(e.TEXTURE_2D,n),Dc(this),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,null),e.bindTexture(e.TEXTURE_2D,null),Tc(t,e,n),Ec(t,e,!1,(()=>{Fc(this),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),Lc(this)})),Sc(t),Lc(this)}else{if(!(t instanceof ImageBitmap))throw Error(`Type is not supported: ${t}`);Rc(this),Fc(this),n=Nc(this),Lc(this)}e.push(n)}return new Mc(e,this.Z(),this.J(),this.canvas,this.l,this.width,this.height)}close(){this.j&&kc(this,1).close(),this.m&&_c(this).deleteTexture(kc(this,2)),Pc=-1}};Mc.prototype.close=Mc.prototype.close,Mc.prototype.clone=Mc.prototype.clone,Mc.prototype.getAsWebGLTexture=Mc.prototype.T,Mc.prototype.getAsImageBitmap=Mc.prototype.oa,Mc.prototype.getAsImageData=Mc.prototype.pa,Mc.prototype.hasWebGLTexture=Mc.prototype.J,Mc.prototype.hasImageBitmap=Mc.prototype.Z,Mc.prototype.hasImageData=Mc.prototype.ta;var Pc=250;function Oc(e,t){switch(t){case 0:return e.g.find((e=>e instanceof Uint8Array));case 1:return e.g.find((e=>e instanceof Float32Array));case 2:return e.g.find((e=>"undefined"!=typeof WebGLTexture&&e instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function Bc(e){var t=Oc(e,1);if(!t){if(t=Oc(e,0))t=new Float32Array(t).map((e=>e/255));else{t=new Float32Array(e.width*e.height);const r=$c(e);var n=jc(e);if(Tc(n,r,Uc(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document){n=new Float32Array(e.width*e.height*4),r.readPixels(0,0,e.width,e.height,r.RGBA,r.FLOAT,n);for(let e=0,r=0;e<t.length;++e,r+=4)t[e]=n[r]}else r.readPixels(0,0,e.width,e.height,r.RED,r.FLOAT,t)}e.g.push(t)}return t}function Uc(e){let t=Oc(e,2);if(!t){const n=$c(e);t=qc(e);const r=Bc(e),i=Gc(e);n.texImage2D(n.TEXTURE_2D,0,i,e.width,e.height,0,n.RED,n.FLOAT,r),Vc(e)}return t}function $c(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=vc(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Gc(e){if(e=$c(e),!Hc)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))Hc=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");Hc=e.R16F}return Hc}function jc(e){return e.l||(e.l=new Cc),e.l}function zc(e){(e=$c(e)).texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST)}function qc(e){const t=$c(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let n=Oc(e,2);return n?t.bindTexture(t.TEXTURE_2D,n):(n=vc(t.createTexture(),"Failed to create texture"),e.g.push(n),e.m=!0,t.bindTexture(t.TEXTURE_2D,n),zc(e)),n}function Vc(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var Hc,Wc=class{constructor(e,t,n,r,i,a){this.g=e,this.m=t,this.canvas=n,this.l=r,this.width=i,this.height=a,this.m&&0==--Kc&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}ua(){return!!Oc(this,0)}sa(){return!!Oc(this,1)}J(){return!!Oc(this,2)}qa(){return(e=Oc(this,0))||(e=Bc(this),e=new Uint8Array(e.map((e=>255*e))),this.g.push(e)),e;var e}na(){return Bc(this)}T(){return Uc(this)}clone(){const e=[];for(const t of this.g){let n;if(t instanceof Uint8Array)n=new Uint8Array(t);else if(t instanceof Float32Array)n=new Float32Array(t);else{if(!(t instanceof WebGLTexture))throw Error(`Type is not supported: ${t}`);{const e=$c(this),t=jc(this);e.activeTexture(e.TEXTURE1),n=vc(e.createTexture(),"Failed to create texture"),e.bindTexture(e.TEXTURE_2D,n),zc(this);const r=Gc(this);e.texImage2D(e.TEXTURE_2D,0,r,this.width,this.height,0,e.RED,e.FLOAT,null),e.bindTexture(e.TEXTURE_2D,null),Tc(t,e,n),Ec(t,e,!1,(()=>{qc(this),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),Vc(this)})),Sc(t),Vc(this)}}e.push(n)}return new Wc(e,this.J(),this.canvas,this.l,this.width,this.height)}close(){this.m&&$c(this).deleteTexture(Oc(this,2)),Kc=-1}};Wc.prototype.close=Wc.prototype.close,Wc.prototype.clone=Wc.prototype.clone,Wc.prototype.getAsWebGLTexture=Wc.prototype.T,Wc.prototype.getAsFloat32Array=Wc.prototype.na,Wc.prototype.getAsUint8Array=Wc.prototype.qa,Wc.prototype.hasWebGLTexture=Wc.prototype.J,Wc.prototype.hasFloat32Array=Wc.prototype.sa,Wc.prototype.hasUint8Array=Wc.prototype.ua;var Kc=250;function Yc(...e){return e.map((([e,t])=>({start:e,end:t})))}const Xc=function(e){return class extends e{xa(){this.i._registerModelResourcesGraphService()}}}((Jc=class{constructor(e,t){this.l=!0,this.i=e,this.g=null,this.h=0,this.m="function"==typeof this.i._addIntToInputStream,void 0!==t?this.i.canvas=t:"undefined"==typeof OffscreenCanvas||rc()?(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas")):this.i.canvas=new OffscreenCanvas(1,1)}async initializeGraph(e){const t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph((new TextEncoder).encode(e),!1)}setGraph(e,t){const n=e.length,r=this.i._malloc(n);this.i.HEAPU8.set(e,r),t?this.i._changeBinaryGraph(n,r):this.i._changeTextGraph(n,r),this.i._free(r)}configureAudio(e,t,n,r,i){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),ac(this,r||"input_audio",(r=>{ac(this,i=i||"audio_header",(i=>{this.i._configureAudio(r,i,e,t,n)}))}))}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}U(e){lc(this,"__graph_config__",(t=>{e(t)})),ac(this,"__graph_config__",(e=>{this.i._getGraphConfig(e,void 0)})),delete this.i.simpleListeners.__graph_config__}attachErrorListener(e){this.i.errorListener=e}attachEmptyPacketListener(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}addAudioToStream(e,t,n){this.addAudioToStreamWithShape(e,0,0,t,n)}addAudioToStreamWithShape(e,t,n,r,i){const a=4*e.length;this.h!==a&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(a),this.h=a),this.i.HEAPF32.set(e,this.g/4),ac(this,r,(e=>{this.i._addAudioToInputStream(this.g,t,n,e,i)}))}addGpuBufferToStream(e,t,n){ac(this,t,(t=>{const[r,i]=oc(this,e,t);this.i._addBoundTextureToStream(t,r,i,n)}))}addBoolToStream(e,t,n){ac(this,t,(t=>{this.i._addBoolToInputStream(e,t,n)}))}addDoubleToStream(e,t,n){ac(this,t,(t=>{this.i._addDoubleToInputStream(e,t,n)}))}addFloatToStream(e,t,n){ac(this,t,(t=>{this.i._addFloatToInputStream(e,t,n)}))}addIntToStream(e,t,n){ac(this,t,(t=>{this.i._addIntToInputStream(e,t,n)}))}addStringToStream(e,t,n){ac(this,t,(t=>{ac(this,e,(e=>{this.i._addStringToInputStream(e,t,n)}))}))}addStringRecordToStream(e,t,n){ac(this,t,(t=>{sc(this,Object.keys(e),(r=>{sc(this,Object.values(e),(i=>{this.i._addFlatHashMapToInputStream(r,i,Object.keys(e).length,t,n)}))}))}))}addProtoToStream(e,t,n,r){ac(this,n,(n=>{ac(this,t,(t=>{const i=this.i._malloc(e.length);this.i.HEAPU8.set(e,i),this.i._addProtoToInputStream(i,e.length,t,n,r),this.i._free(i)}))}))}addEmptyPacketToStream(e,t){ac(this,e,(e=>{this.i._addEmptyPacketToInputStream(e,t)}))}addBoolToInputSidePacket(e,t){ac(this,t,(t=>{this.i._addBoolToInputSidePacket(e,t)}))}addDoubleToInputSidePacket(e,t){ac(this,t,(t=>{this.i._addDoubleToInputSidePacket(e,t)}))}addFloatToInputSidePacket(e,t){ac(this,t,(t=>{this.i._addFloatToInputSidePacket(e,t)}))}addIntToInputSidePacket(e,t){ac(this,t,(t=>{this.i._addIntToInputSidePacket(e,t)}))}addStringToInputSidePacket(e,t){ac(this,t,(t=>{ac(this,e,(e=>{this.i._addStringToInputSidePacket(e,t)}))}))}addProtoToInputSidePacket(e,t,n){ac(this,n,(n=>{ac(this,t,(t=>{const r=this.i._malloc(e.length);this.i.HEAPU8.set(e,r),this.i._addProtoToInputSidePacket(r,e.length,t,n),this.i._free(r)}))}))}attachBoolListener(e,t){lc(this,e,t),ac(this,e,(e=>{this.i._attachBoolListener(e)}))}attachBoolVectorListener(e,t){cc(this,e,t),ac(this,e,(e=>{this.i._attachBoolVectorListener(e)}))}attachIntListener(e,t){lc(this,e,t),ac(this,e,(e=>{this.i._attachIntListener(e)}))}attachIntVectorListener(e,t){cc(this,e,t),ac(this,e,(e=>{this.i._attachIntVectorListener(e)}))}attachDoubleListener(e,t){lc(this,e,t),ac(this,e,(e=>{this.i._attachDoubleListener(e)}))}attachDoubleVectorListener(e,t){cc(this,e,t),ac(this,e,(e=>{this.i._attachDoubleVectorListener(e)}))}attachFloatListener(e,t){lc(this,e,t),ac(this,e,(e=>{this.i._attachFloatListener(e)}))}attachFloatVectorListener(e,t){cc(this,e,t),ac(this,e,(e=>{this.i._attachFloatVectorListener(e)}))}attachStringListener(e,t){lc(this,e,t),ac(this,e,(e=>{this.i._attachStringListener(e)}))}attachStringVectorListener(e,t){cc(this,e,t),ac(this,e,(e=>{this.i._attachStringVectorListener(e)}))}attachProtoListener(e,t,n){lc(this,e,t),ac(this,e,(e=>{this.i._attachProtoListener(e,n||!1)}))}attachProtoVectorListener(e,t,n){cc(this,e,t),ac(this,e,(e=>{this.i._attachProtoVectorListener(e,n||!1)}))}attachAudioListener(e,t,n){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),lc(this,e,((e,n)=>{e=new Float32Array(e.buffer,e.byteOffset,e.length/4),t(e,n)})),ac(this,e,(e=>{this.i._attachAudioListener(e,n||!1)}))}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends Jc{get W(){return this.i}ea(e,t,n){ac(this,t,(t=>{const[r,i]=oc(this,e,t);this.W._addBoundTextureAsImageToStream(t,r,i,n)}))}P(e,t){lc(this,e,t),ac(this,e,(e=>{this.W._attachImageListener(e)}))}R(e,t){cc(this,e,t),ac(this,e,(e=>{this.W._attachImageVectorListener(e)}))}}));var Jc,Zc=class extends Xc{};async function Qc(e,t,n){return async function(e,t,n,r){return async function(e,t,n,r){return e=await(async(e,t,n,r,i)=>{if(t&&await ic(t),!self.ModuleFactory)throw Error("ModuleFactory not set.");if(n&&(await ic(n),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&i&&((t=self.Module).locateFile=i.locateFile,i.mainScriptUrlOrBlob&&(t.mainScriptUrlOrBlob=i.mainScriptUrlOrBlob)),i=await self.ModuleFactory(self.Module||i),self.ModuleFactory=self.Module=void 0,new e(i,r)})(e,n.wasmLoaderPath,n.assetLoaderPath,t,{locateFile(e){var t=n.wasmBinaryPath.toString();return t.includes(e)?t:(t=n.assetBinaryPath?.toString(),t?.includes(e)?t:e)}}),await e.o(r),e}(e,t,n,r)}(e,n.canvas??("undefined"==typeof OffscreenCanvas||rc()?document.createElement("canvas"):void 0),t,n)}function eu(e,t,n,r){if(e.X){const a=new _s;if(n?.regionOfInterest){if(!e.ca)throw Error("This task doesn't support region-of-interest.");var i=n.regionOfInterest;if(i.left>=i.right||i.top>=i.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(0>i.left||0>i.top||1<i.right||1<i.bottom)throw Error("Expected RectF values to be in [0,1].");ha(a,1,(i.left+i.right)/2),ha(a,2,(i.top+i.bottom)/2),ha(a,4,i.right-i.left),ha(a,3,i.bottom-i.top)}else ha(a,1,.5),ha(a,2,.5),ha(a,4,1),ha(a,3,1);if(n?.rotationDegrees){if(0!=n?.rotationDegrees%90)throw Error("Expected rotation to be a multiple of 90°.");if(ha(a,5,-Math.PI*n.rotationDegrees/180),0!=n?.rotationDegrees%180){const[e,r]=void 0!==t.videoWidth?[t.videoWidth,t.videoHeight]:void 0!==t.naturalWidth?[t.naturalWidth,t.naturalHeight]:[t.width,t.height];n=ca(a,3)*r/e,i=ca(a,4)*e/r,ha(a,4,n),ha(a,3,i)}}e.g.addProtoToStream(a.g(),"mediapipe.NormalizedRect",e.X,r)}e.g.ea(t,e.ba,r??performance.now()),e.finishProcessing()}function tu(e,t,n){if(e.baseOptions?.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");eu(e,t,n,e.H+1)}function nu(e,t,n,r){if(!e.baseOptions?.g())throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");eu(e,t,n,r)}function ru(e,t,n){var r=t.data;const i=t.width,a=i*(t=t.height);if((r instanceof Uint8Array||r instanceof Float32Array)&&r.length!==a)throw Error("Unsupported channel count: "+r.length/a);return e=new Wc([r],!1,e.g.i.canvas,e.M,i,t),n?e.clone():e}var iu=class extends mc{constructor(e,t,n,r){super(e),this.g=e,this.ba=t,this.X=n,this.ca=r,this.M=new Cc}l(e,t=!0){if("runningMode"in e&&ua(this.baseOptions,2,!!e.runningMode&&"IMAGE"!==e.runningMode),void 0!==e.canvas&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(e,t)}close(){this.M.close(),super.close()}};iu.prototype.close=iu.prototype.close;var au=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},this.h=new Js,e=new Ys,na(this.h,0,1,e),ha(this.h,2,.5),ha(this.h,3,.3)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&ha(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&ha(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}F(e,t){return this.j={detections:[]},tu(this,e,t),this.j}D(e,t,n){return this.j={detections:[]},nu(this,e,n,t),this.j}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect_in"),Zo(e,"detections");const t=new Lo;pa(t,Qs,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect_in"),zo(n,"DETECTIONS:detections"),n.o(t),Xo(e,n),this.g.attachProtoVectorListener("detections",((e,t)=>{for(const t of e)e=ys(t),this.j.detections.push(Wl(e));hc(this,t)})),this.g.attachEmptyPacketListener("detections",(e=>{hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};au.prototype.detectForVideo=au.prototype.D,au.prototype.setOptions=au.prototype.o,au.createFromModelPath=async function(e,t){return Qc(au,e,{baseOptions:{modelAssetPath:t}})},au.createFromModelBuffer=function(e,t){return Qc(au,e,{baseOptions:{modelAssetBuffer:t}})},au.createFromOptions=function(e,t){return Qc(au,e,t)};var ou=Yc([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),su=Yc([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),lu=Yc([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),cu=Yc([474,475],[475,476],[476,477],[477,474]),uu=Yc([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),du=Yc([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),hu=Yc([469,470],[470,471],[471,472],[472,469]),fu=Yc([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),pu=[...ou,...su,...lu,...uu,...du,...fu],gu=Yc([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function mu(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var vu=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,this.h=new ol,e=new Ys,na(this.h,0,1,e),this.v=new il,na(this.h,0,3,this.v),this.s=new Js,na(this.h,0,2,this.s),da(this.s,4,1),ha(this.s,2,.5),ha(this.v,2,.5),ha(this.h,4,.5)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){return"numFaces"in e&&da(this.s,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&ha(this.s,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&ha(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&ha(this.v,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}F(e,t){return mu(this),tu(this,e,t),this.j}D(e,t,n){return mu(this),nu(this,e,n,t),this.j}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect"),Zo(e,"face_landmarks");const t=new Lo;pa(t,ll,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),zo(n,"NORM_LANDMARKS:face_landmarks"),n.o(t),Xo(e,n),this.g.attachProtoVectorListener("face_landmarks",((e,t)=>{for(const t of e)e=ks(t),this.j.faceLandmarks.push(Kl(e));hc(this,t)})),this.g.attachEmptyPacketListener("face_landmarks",(e=>{hc(this,e)})),this.outputFaceBlendshapes&&(Zo(e,"blendshapes"),zo(n,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",((e,t)=>{if(this.outputFaceBlendshapes)for(const t of e)e=ss(t),this.j.faceBlendshapes.push(Hl(e.g()??[]));hc(this,t)})),this.g.attachEmptyPacketListener("blendshapes",(e=>{hc(this,e)}))),this.outputFacialTransformationMatrixes&&(Zo(e,"face_geometry"),zo(n,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",((e,t)=>{if(this.outputFacialTransformationMatrixes)for(const t of e)(e=Qi(nl(t),As,2))&&this.j.facialTransformationMatrixes.push({rows:la(aa(e,1))??0,columns:la(aa(e,2))??0,data:qi(e,3,oi)??[]});hc(this,t)})),this.g.attachEmptyPacketListener("face_geometry",(e=>{hc(this,e)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};vu.prototype.detectForVideo=vu.prototype.D,vu.prototype.detect=vu.prototype.F,vu.prototype.setOptions=vu.prototype.o,vu.createFromModelPath=function(e,t){return Qc(vu,e,{baseOptions:{modelAssetPath:t}})},vu.createFromModelBuffer=function(e,t){return Qc(vu,e,{baseOptions:{modelAssetBuffer:t}})},vu.createFromOptions=function(e,t){return Qc(vu,e,t)},vu.FACE_LANDMARKS_LIPS=ou,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LIPS",vu.FACE_LANDMARKS_LIPS),vu.FACE_LANDMARKS_LEFT_EYE=su,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LEFT_EYE",vu.FACE_LANDMARKS_LEFT_EYE),vu.FACE_LANDMARKS_LEFT_EYEBROW=lu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LEFT_EYEBROW",vu.FACE_LANDMARKS_LEFT_EYEBROW),vu.FACE_LANDMARKS_LEFT_IRIS=cu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LEFT_IRIS",vu.FACE_LANDMARKS_LEFT_IRIS),vu.FACE_LANDMARKS_RIGHT_EYE=uu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_RIGHT_EYE",vu.FACE_LANDMARKS_RIGHT_EYE),vu.FACE_LANDMARKS_RIGHT_EYEBROW=du,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_RIGHT_EYEBROW",vu.FACE_LANDMARKS_RIGHT_EYEBROW),vu.FACE_LANDMARKS_RIGHT_IRIS=hu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_RIGHT_IRIS",vu.FACE_LANDMARKS_RIGHT_IRIS),vu.FACE_LANDMARKS_FACE_OVAL=fu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_FACE_OVAL",vu.FACE_LANDMARKS_FACE_OVAL),vu.FACE_LANDMARKS_CONTOURS=pu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_CONTOURS",vu.FACE_LANDMARKS_CONTOURS),vu.FACE_LANDMARKS_TESSELATION=gu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_TESSELATION",vu.FACE_LANDMARKS_TESSELATION);var yu=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!0),this.j=new cl,e=new Ys,na(this.j,0,1,e)}get baseOptions(){return Qi(this.j,Ys,1)}set baseOptions(e){na(this.j,0,1,e)}o(e){return super.l(e)}za(e,t,n){const r="function"!=typeof t?t:{};if(this.h="function"==typeof t?t:n,tu(this,e,r??{}),!this.h)return this.s}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect"),Zo(e,"stylized_image");const t=new Lo;pa(t,ul,this.j);const n=new qo;Go(n,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),zo(n,"STYLIZED_IMAGE:stylized_image"),n.o(t),Xo(e,n),this.g.P("stylized_image",((e,t)=>{var n=!this.h,r=e.data,i=e.width;const a=i*(e=e.height);if(r instanceof Uint8Array)if(r.length===3*a){const t=new Uint8ClampedArray(4*a);for(let e=0;e<a;++e)t[4*e]=r[3*e],t[4*e+1]=r[3*e+1],t[4*e+2]=r[3*e+2],t[4*e+3]=255;r=new ImageData(t,i,e)}else{if(r.length!==4*a)throw Error("Unsupported channel count: "+r.length/a);r=new ImageData(new Uint8ClampedArray(r.buffer,r.byteOffset,r.length),i,e)}else if(!(r instanceof WebGLTexture))throw Error(`Unsupported format: ${r.constructor.name}`);i=new Mc([r],!1,!1,this.g.i.canvas,this.M,i,e),this.s=n=n?i.clone():i,this.h&&this.h(n),hc(this,t)})),this.g.attachEmptyPacketListener("stylized_image",(e=>{this.s=null,this.h&&this.h(null),hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};yu.prototype.stylize=yu.prototype.za,yu.prototype.setOptions=yu.prototype.o,yu.createFromModelPath=function(e,t){return Qc(yu,e,{baseOptions:{modelAssetPath:t}})},yu.createFromModelBuffer=function(e,t){return Qc(yu,e,{baseOptions:{modelAssetBuffer:t}})},yu.createFromOptions=function(e,t){return Qc(yu,e,t)};var bu=Yc([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function wu(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function xu(e){return 0===e.gestures.length?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function Eu(e,t=!0){const n=[];for(const i of e){var r=ss(i);e=[];for(const n of r.g())r=t&&null!=aa(n,1)?la(aa(n,1)):-1,e.push({score:ca(n,2)??0,index:r,categoryName:sa(n,3)??""??"",displayName:sa(n,4)??""??""});n.push(e)}return n}var Tu=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.v=new El,e=new Ys,na(this.v,0,1,e),this.C=new wl,na(this.v,0,2,this.C),this.s=new yl,na(this.C,0,3,this.s),this.h=new ml,na(this.C,0,2,this.h),this.j=new pl,na(this.v,0,3,this.j),ha(this.h,2,.5),ha(this.C,4,.5),ha(this.s,2,.5)}get baseOptions(){return Qi(this.v,Ys,1)}set baseOptions(e){na(this.v,0,1,e)}o(e){if(da(this.h,3,e.numHands??1),"minHandDetectionConfidence"in e&&ha(this.h,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&ha(this.C,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&ha(this.s,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new dl,n=Vl(e.cannedGesturesClassifierOptions,Qi(this.j,dl,3)?.h());na(t,0,2,n),na(this.j,0,3,t)}else void 0===e.cannedGesturesClassifierOptions&&Qi(this.j,dl,3)?.g();return e.customGesturesClassifierOptions?(na(t=new dl,0,2,n=Vl(e.customGesturesClassifierOptions,Qi(this.j,dl,4)?.h())),na(this.j,0,4,t)):void 0===e.customGesturesClassifierOptions&&Qi(this.j,dl,4)?.g(),this.l(e)}va(e,t){return wu(this),tu(this,e,t),xu(this)}wa(e,t,n){return wu(this),nu(this,e,n,t),xu(this)}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect"),Zo(e,"hand_gestures"),Zo(e,"hand_landmarks"),Zo(e,"world_hand_landmarks"),Zo(e,"handedness");const t=new Lo;pa(t,Cl,this.v);const n=new qo;Go(n,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),zo(n,"HAND_GESTURES:hand_gestures"),zo(n,"LANDMARKS:hand_landmarks"),zo(n,"WORLD_LANDMARKS:world_hand_landmarks"),zo(n,"HANDEDNESS:handedness"),n.o(t),Xo(e,n),this.g.attachProtoVectorListener("hand_landmarks",((e,t)=>{for(const t of e){e=ks(t);const n=[];for(const t of ta(e,Ts,1))n.push({x:ca(t,1)??0,y:ca(t,2)??0,z:ca(t,3)??0});this.landmarks.push(n)}hc(this,t)})),this.g.attachEmptyPacketListener("hand_landmarks",(e=>{hc(this,e)})),this.g.attachProtoVectorListener("world_hand_landmarks",((e,t)=>{for(const t of e){e=Es(t);const n=[];for(const t of ta(e,bs,1))n.push({x:ca(t,1)??0,y:ca(t,2)??0,z:ca(t,3)??0});this.worldLandmarks.push(n)}hc(this,t)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(e=>{hc(this,e)})),this.g.attachProtoVectorListener("hand_gestures",((e,t)=>{this.gestures.push(...Eu(e,!1)),hc(this,t)})),this.g.attachEmptyPacketListener("hand_gestures",(e=>{hc(this,e)})),this.g.attachProtoVectorListener("handedness",((e,t)=>{this.handedness.push(...Eu(e)),hc(this,t)})),this.g.attachEmptyPacketListener("handedness",(e=>{hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function Su(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Tu.prototype.recognizeForVideo=Tu.prototype.wa,Tu.prototype.recognize=Tu.prototype.va,Tu.prototype.setOptions=Tu.prototype.o,Tu.createFromModelPath=function(e,t){return Qc(Tu,e,{baseOptions:{modelAssetPath:t}})},Tu.createFromModelBuffer=function(e,t){return Qc(Tu,e,{baseOptions:{modelAssetBuffer:t}})},Tu.createFromOptions=function(e,t){return Qc(Tu,e,t)},Tu.HAND_CONNECTIONS=bu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$gesture_recognizer$gesture_recognizer.GestureRecognizer.HAND_CONNECTIONS",Tu.HAND_CONNECTIONS);var Cu=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.j=new wl,e=new Ys,na(this.j,0,1,e),this.s=new yl,na(this.j,0,3,this.s),this.h=new ml,na(this.j,0,2,this.h),da(this.h,3,1),ha(this.h,2,.5),ha(this.s,2,.5),ha(this.j,4,.5)}get baseOptions(){return Qi(this.j,Ys,1)}set baseOptions(e){na(this.j,0,1,e)}o(e){return"numHands"in e&&da(this.h,3,e.numHands??1),"minHandDetectionConfidence"in e&&ha(this.h,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&ha(this.j,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&ha(this.s,2,e.minHandPresenceConfidence??.5),this.l(e)}F(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],tu(this,e,t),Su(this)}D(e,t,n){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],nu(this,e,n,t),Su(this)}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect"),Zo(e,"hand_landmarks"),Zo(e,"world_hand_landmarks"),Zo(e,"handedness");const t=new Lo;pa(t,Sl,this.j);const n=new qo;Go(n,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),zo(n,"LANDMARKS:hand_landmarks"),zo(n,"WORLD_LANDMARKS:world_hand_landmarks"),zo(n,"HANDEDNESS:handedness"),n.o(t),Xo(e,n),this.g.attachProtoVectorListener("hand_landmarks",((e,t)=>{for(const t of e)e=ks(t),this.landmarks.push(Kl(e));hc(this,t)})),this.g.attachEmptyPacketListener("hand_landmarks",(e=>{hc(this,e)})),this.g.attachProtoVectorListener("world_hand_landmarks",((e,t)=>{for(const t of e)e=Es(t),this.worldLandmarks.push(Yl(e));hc(this,t)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(e=>{hc(this,e)})),this.g.attachProtoVectorListener("handedness",((e,t)=>{var n=this.handedness,r=n.push;const i=[];for(const t of e){e=ss(t);const n=[];for(const t of e.g())n.push({score:ca(t,2)??0,index:la(aa(t,1))??-1,categoryName:sa(t,3)??""??"",displayName:sa(t,4)??""??""});i.push(n)}r.call(n,...i),hc(this,t)})),this.g.attachEmptyPacketListener("handedness",(e=>{hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Cu.prototype.detectForVideo=Cu.prototype.D,Cu.prototype.detect=Cu.prototype.F,Cu.prototype.setOptions=Cu.prototype.o,Cu.createFromModelPath=function(e,t){return Qc(Cu,e,{baseOptions:{modelAssetPath:t}})},Cu.createFromModelBuffer=function(e,t){return Qc(Cu,e,{baseOptions:{modelAssetBuffer:t}})},Cu.createFromOptions=function(e,t){return Qc(Cu,e,t)},Cu.HAND_CONNECTIONS=bu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$hand_landmarker$hand_landmarker.HandLandmarker.HAND_CONNECTIONS",Cu.HAND_CONNECTIONS);var ku=class extends iu{constructor(e,t){super(new Zc(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},this.h=new kl,e=new Ys,na(this.h,0,1,e)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){var t=Vl(e,Qi(this.h,Gs,2));return na(this.h,0,2,t),this.l(e)}ga(e,t){return this.j={classifications:[]},tu(this,e,t),this.j}ha(e,t,n){return this.j={classifications:[]},nu(this,e,n,t),this.j}m(){var e=new Qo;Jo(e,"input_image"),Jo(e,"norm_rect"),Zo(e,"classifications");const t=new Lo;pa(t,Al,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),jo(n,"IMAGE:input_image"),jo(n,"NORM_RECT:norm_rect"),zo(n,"CLASSIFICATIONS:classifications"),n.o(t),Xo(e,n),this.g.attachProtoListener("classifications",((e,t)=>{this.j=function(e){const t={classifications:ta(e,Is,1).map((e=>Hl(Qi(e,as,4)?.g()??[],la(aa(e,2)),sa(e,3)??"")))};return null!=oa(e)&&(t.timestampMs=la(oa(e))),t}(Ls(e)),hc(this,t)})),this.g.attachEmptyPacketListener("classifications",(e=>{hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ku.prototype.classifyForVideo=ku.prototype.ha,ku.prototype.classify=ku.prototype.ga,ku.prototype.setOptions=ku.prototype.o,ku.createFromModelPath=function(e,t){return Qc(ku,e,{baseOptions:{modelAssetPath:t}})},ku.createFromModelBuffer=function(e,t){return Qc(ku,e,{baseOptions:{modelAssetBuffer:t}})},ku.createFromOptions=function(e,t){return Qc(ku,e,t)};var Au=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!0),this.h=new Rl,this.embeddings={embeddings:[]},e=new Ys,na(this.h,0,1,e)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){var t=this.h,n=Qi(this.h,zs,2);return n=n?n.clone():new zs,void 0!==e.l2Normalize?ua(n,1,e.l2Normalize):"l2Normalize"in e&&Ui(n,1),void 0!==e.quantize?ua(n,2,e.quantize):"quantize"in e&&Ui(n,2),na(t,0,2,n),this.l(e)}la(e,t){return tu(this,e,t),this.embeddings}ma(e,t,n){return nu(this,e,n,t),this.embeddings}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect"),Zo(e,"embeddings_out");const t=new Lo;pa(t,_l,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),zo(n,"EMBEDDINGS:embeddings_out"),n.o(t),Xo(e,n),this.g.attachProtoListener("embeddings_out",((e,t)=>{e=$s(e),this.embeddings=function(e){return{embeddings:ta(e,Ps,1).map((e=>{const t={headIndex:la(aa(e,3))??-1,headName:sa(e,4)??""??""};if(void 0!==Zi(e,Ns,Yi(e,1)))e=qi(e=Qi(e,Ns,Yi(e,1)),1,oi),t.floatEmbedding=e;else{const n=new Uint8Array(0);t.quantizedEmbedding=Qi(e,Ms,Yi(e,2))?.da()?.fa()??n}return t})),timestampMs:la(oa(e))}}(e),hc(this,t)})),this.g.attachEmptyPacketListener("embeddings_out",(e=>{hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Au.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=Jl(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=Jl(Xl(e.quantizedEmbedding),Xl(t.quantizedEmbedding))}return e},Au.prototype.embedForVideo=Au.prototype.ma,Au.prototype.embed=Au.prototype.la,Au.prototype.setOptions=Au.prototype.o,Au.createFromModelPath=function(e,t){return Qc(Au,e,{baseOptions:{modelAssetPath:t}})},Au.createFromModelBuffer=function(e,t){return Qc(Au,e,{baseOptions:{modelAssetBuffer:t}})},Au.createFromOptions=function(e,t){return Qc(Au,e,t)};var Ru=class{constructor(e,t,n){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=n}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};function _u(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function Iu(e){try{const t=new Ru(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{gc(e)}}Ru.prototype.close=Ru.prototype.close;var Du=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!1),this.s=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Nl,this.v=new Il,na(this.h,0,3,this.v),e=new Ys,na(this.h,0,1,e)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){return void 0!==e.displayNamesLocale?Ui(this.h,2,hi(e.displayNamesLocale)):"displayNamesLocale"in e&&Ui(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}N(){!function(e){const t=ta(e.U(),qo,1).filter((e=>(sa(e,1)??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator")));if(e.s=[],1<t.length)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");1===t.length&&(Qi(t[0],Lo,7)?.l()?.g()??new Map).forEach(((t,n)=>{e.s[Number(n)]=sa(t,1)??""}))}(this)}V(e,t,n){const r="function"!=typeof t?t:{};return this.j="function"==typeof t?t:n,_u(this),tu(this,e,r),Iu(this)}ya(e,t,n,r){const i="function"!=typeof n?n:{};return this.j="function"==typeof n?n:r,_u(this),nu(this,e,i,t),Iu(this)}ra(){return this.s}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect");const t=new Lo;pa(t,Ml,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),n.o(t),Xo(e,n),fc(this,e),this.outputConfidenceMasks&&(Zo(e,"confidence_masks"),zo(n,"CONFIDENCE_MASKS:confidence_masks"),pc(this,"confidence_masks"),this.g.R("confidence_masks",((e,t)=>{this.confidenceMasks=e.map((e=>ru(this,e,!this.j))),hc(this,t)})),this.g.attachEmptyPacketListener("confidence_masks",(e=>{this.confidenceMasks=[],hc(this,e)}))),this.outputCategoryMask&&(Zo(e,"category_mask"),zo(n,"CATEGORY_MASK:category_mask"),pc(this,"category_mask"),this.g.P("category_mask",((e,t)=>{this.categoryMask=ru(this,e,!this.j),hc(this,t)})),this.g.attachEmptyPacketListener("category_mask",(e=>{this.categoryMask=void 0,hc(this,e)}))),Zo(e,"quality_scores"),zo(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((e,t)=>{this.qualityScores=e,hc(this,t)})),this.g.attachEmptyPacketListener("quality_scores",(e=>{this.categoryMask=void 0,hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Du.prototype.getLabels=Du.prototype.ra,Du.prototype.segmentForVideo=Du.prototype.ya,Du.prototype.segment=Du.prototype.V,Du.prototype.setOptions=Du.prototype.o,Du.createFromModelPath=function(e,t){return Qc(Du,e,{baseOptions:{modelAssetPath:t}})},Du.createFromModelBuffer=function(e,t){return Qc(Du,e,{baseOptions:{modelAssetBuffer:t}})},Du.createFromOptions=function(e,t){return Qc(Du,e,t)};var Fu=class{constructor(e,t,n){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=n}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};Fu.prototype.close=Fu.prototype.close;var Lu=class extends ga{constructor(e){super(e)}},Nu=[0,Qa,Qa,Qa],Mu=[0,Ha,Ha,Ha,Ha,no],Pu=[0,Ha,Ha,Ha,Ha,no,Ha,Ha],Ou=[0,lo,Pu],Bu=[0,lo,Ou,lo,Nu],Uu=[0,lo,Pu,lo,Nu],$u=[0,lo,Pu,Qa,Qa],Gu=[0,lo,$u,lo,Nu],ju=[0,Ha,Ha,Ha,Ha,no,lo,Nu,lo,Nu],zu=[0,Ha,Ha,Ha,Ha,no,po],qu=class extends ga{constructor(e){super(e)}},Vu=[0,Ha,Ha,no],Hu=class extends ga{constructor(){super()}};Hu.B=[1];var Wu=class extends ga{constructor(e){super(e)}},Ku=[1,2,3,4,5,6,7,8,9,10,14,15],Yu=[0,uo,Pu,Ku,uo,Uu,Ku,uo,Ou,Ku,uo,Bu,Ku,uo,Vu,Ku,uo,zu,Ku,uo,Mu,Ku,uo,[0,oo,Ha,Ha,Ha,no,Qa,no,no,Ha,3,lo,Nu],Ku,uo,$u,Ku,uo,Gu,Ku,Ha,lo,Nu,oo,uo,ju,Ku,uo,[0,co,Vu],Ku],Xu=[0,oo,Qa,Qa,no],Ju=class extends ga{constructor(){super()}};Ju.B=[1],Ju.prototype.g=bo([0,co,Yu,oo,lo,Xu]);var Zu=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Nl,this.v=new Il,na(this.h,0,3,this.v),e=new Ys,na(this.h,0,1,e)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){return"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}V(e,t,n,r){const i="function"!=typeof n?n:{};this.j="function"==typeof n?n:r,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,n=this.H+1,r=new Ju;const a=new Wu;var o=new Lu;if(da(o,1,255),na(a,0,12,o),t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var s=new qu;ua(s,3,!0),ha(s,1,t.keypoint.x),ha(s,2,t.keypoint.y),ra(a,5,Ku,s)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");for(s of(o=new Hu,t.scribble))ua(t=new qu,3,!0),ha(t,1,s.x),ha(t,2,s.y),ia(o,qu,t);ra(a,15,Ku,o)}ia(r,Wu,a),this.g.addProtoToStream(r.g(),"drishti.RenderData","roi_in",n),tu(this,e,i);e:{try{const e=new Fu(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var l=e;break e}this.j(e)}finally{gc(this)}l=void 0}return l}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"roi_in"),Jo(e,"norm_rect_in");const t=new Lo;pa(t,Ml,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),jo(n,"IMAGE:image_in"),jo(n,"ROI:roi_in"),jo(n,"NORM_RECT:norm_rect_in"),n.o(t),Xo(e,n),fc(this,e),this.outputConfidenceMasks&&(Zo(e,"confidence_masks"),zo(n,"CONFIDENCE_MASKS:confidence_masks"),pc(this,"confidence_masks"),this.g.R("confidence_masks",((e,t)=>{this.confidenceMasks=e.map((e=>ru(this,e,!this.j))),hc(this,t)})),this.g.attachEmptyPacketListener("confidence_masks",(e=>{this.confidenceMasks=[],hc(this,e)}))),this.outputCategoryMask&&(Zo(e,"category_mask"),zo(n,"CATEGORY_MASK:category_mask"),pc(this,"category_mask"),this.g.P("category_mask",((e,t)=>{this.categoryMask=ru(this,e,!this.j),hc(this,t)})),this.g.attachEmptyPacketListener("category_mask",(e=>{this.categoryMask=void 0,hc(this,e)}))),Zo(e,"quality_scores"),zo(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((e,t)=>{this.qualityScores=e,hc(this,t)})),this.g.attachEmptyPacketListener("quality_scores",(e=>{this.categoryMask=void 0,hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Zu.prototype.segment=Zu.prototype.V,Zu.prototype.setOptions=Zu.prototype.o,Zu.createFromModelPath=function(e,t){return Qc(Zu,e,{baseOptions:{modelAssetPath:t}})},Zu.createFromModelBuffer=function(e,t){return Qc(Zu,e,{baseOptions:{modelAssetBuffer:t}})},Zu.createFromOptions=function(e,t){return Qc(Zu,e,t)};var Qu=class extends iu{constructor(e,t){super(new Zc(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},this.h=new Pl,e=new Ys,na(this.h,0,1,e)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){return void 0!==e.displayNamesLocale?Ui(this.h,2,hi(e.displayNamesLocale)):"displayNamesLocale"in e&&Ui(this.h,2),void 0!==e.maxResults?da(this.h,3,e.maxResults):"maxResults"in e&&Ui(this.h,3),void 0!==e.scoreThreshold?ha(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&Ui(this.h,4),void 0!==e.categoryAllowlist?Ki(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&Ui(this.h,5),void 0!==e.categoryDenylist?Ki(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&Ui(this.h,6),this.l(e)}F(e,t){return this.j={detections:[]},tu(this,e,t),this.j}D(e,t,n){return this.j={detections:[]},nu(this,e,n,t),this.j}m(){var e=new Qo;Jo(e,"input_frame_gpu"),Jo(e,"norm_rect"),Zo(e,"detections");const t=new Lo;pa(t,Ol,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.ObjectDetectorGraph"),jo(n,"IMAGE:input_frame_gpu"),jo(n,"NORM_RECT:norm_rect"),zo(n,"DETECTIONS:detections"),n.o(t),Xo(e,n),this.g.attachProtoVectorListener("detections",((e,t)=>{for(const t of e)e=ys(t),this.j.detections.push(Wl(e));hc(this,t)})),this.g.attachEmptyPacketListener("detections",(e=>{hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function ed(e){e.landmarks=[],e.worldLandmarks=[],e.v=void 0}function td(e){try{const t=new class{constructor(e,t,n){this.landmarks=e,this.worldLandmarks=t,this.g=n}close(){this.g?.forEach((e=>{e.close()}))}}(e.landmarks,e.worldLandmarks,e.v);if(!e.s)return t;e.s(t)}finally{gc(e)}}Qu.prototype.detectForVideo=Qu.prototype.D,Qu.prototype.detect=Qu.prototype.F,Qu.prototype.setOptions=Qu.prototype.o,Qu.createFromModelPath=async function(e,t){return Qc(Qu,e,{baseOptions:{modelAssetPath:t}})},Qu.createFromModelBuffer=function(e,t){return Qc(Qu,e,{baseOptions:{modelAssetBuffer:t}})},Qu.createFromOptions=function(e,t){return Qc(Qu,e,t)};var nd=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,this.h=new jl,e=new Ys,na(this.h,0,1,e),this.C=new $l,na(this.h,0,3,this.C),this.j=new Bl,na(this.h,0,2,this.j),da(this.j,4,1),ha(this.j,2,.5),ha(this.C,2,.5),ha(this.h,4,.5)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){return"numPoses"in e&&da(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&ha(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&ha(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&ha(this.C,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}F(e,t,n){const r="function"!=typeof t?t:{};return this.s="function"==typeof t?t:n,ed(this),tu(this,e,r),td(this)}D(e,t,n,r){const i="function"!=typeof n?n:{};return this.s="function"==typeof n?n:r,ed(this),nu(this,e,i,t),td(this)}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect"),Zo(e,"normalized_landmarks"),Zo(e,"world_landmarks"),Zo(e,"segmentation_masks");const t=new Lo;pa(t,ql,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),zo(n,"NORM_LANDMARKS:normalized_landmarks"),zo(n,"WORLD_LANDMARKS:world_landmarks"),n.o(t),Xo(e,n),fc(this,e),this.g.attachProtoVectorListener("normalized_landmarks",((e,t)=>{this.landmarks=[];for(const t of e)e=ks(t),this.landmarks.push(Kl(e));hc(this,t)})),this.g.attachEmptyPacketListener("normalized_landmarks",(e=>{this.landmarks=[],hc(this,e)})),this.g.attachProtoVectorListener("world_landmarks",((e,t)=>{this.worldLandmarks=[];for(const t of e)e=Es(t),this.worldLandmarks.push(Yl(e));hc(this,t)})),this.g.attachEmptyPacketListener("world_landmarks",(e=>{this.worldLandmarks=[],hc(this,e)})),this.outputSegmentationMasks&&(zo(n,"SEGMENTATION_MASK:segmentation_masks"),pc(this,"segmentation_masks"),this.g.R("segmentation_masks",((e,t)=>{this.v=e.map((e=>ru(this,e,!this.s))),hc(this,t)})),this.g.attachEmptyPacketListener("segmentation_masks",(e=>{this.v=[],hc(this,e)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};nd.prototype.detectForVideo=nd.prototype.D,nd.prototype.detect=nd.prototype.F,nd.prototype.setOptions=nd.prototype.o,nd.createFromModelPath=function(e,t){return Qc(nd,e,{baseOptions:{modelAssetPath:t}})},nd.createFromModelBuffer=function(e,t){return Qc(nd,e,{baseOptions:{modelAssetBuffer:t}})},nd.createFromOptions=function(e,t){return Qc(nd,e,t)},nd.POSE_CONNECTIONS=Yc([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]),Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$pose_landmarker$pose_landmarker.PoseLandmarker.POSE_CONNECTIONS",nd.POSE_CONNECTIONS);var rd;function id(e,t,n,r){t.forEach((function(t){var i=t.keypoints.map((function(e){return[e.x,e.y]}));if(n){e.strokeStyle="#FF2C35",e.lineWidth=1;var a=t.box;!function(e,t,n){var r=new Path2D;r.moveTo(t[0][0],t[0][1]);for(var i=1;i<t.length;i++){var a=t[i];r.lineTo(a[0],a[1])}n&&r.closePath(),e.stroke(r)}(e,[[a.xMin,a.yMin],[a.xMax,a.yMin],[a.xMax,a.yMax],[a.xMin,a.yMax]],!0)}if(r){e.fillStyle="#32EEDB";for(var o=0;o<6;o++){var s=i[o][0],l=i[o][1];e.beginPath(),e.arc(s,l,3,0,2*Math.PI),e.fill()}}}))}function ad(){return g(this,void 0,void 0,(function(){var e;return m(this,(function(t){switch(t.label){case 0:return rd?[2,rd]:[4,nc.forVisionTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.6/wasm")];case 1:return e=t.sent(),[4,au.createFromOptions(e,{baseOptions:{modelAssetPath:"https://storage.googleapis.com/mediapipe-models/face_detector/blaze_face_short_range/float16/1/blaze_face_short_range.tflite",delegate:"GPU"},runningMode:"VIDEO"})];case 2:return[2,rd=t.sent()]}}))}))}var od=n.createContext({start:function(){return null},stop:function(){return null},onPredictionMade:function(){return null},canvasRef:{current:null},ready:!1}),sd=function(e){var t=e.autoStart,r=void 0===t||t,i=e.children,a=e.throttleMs,o=n.useContext(Nt),s=o.videoRef,l=o.videoLoaded,c=o.cameraReady,d=n.useRef(null),h=n.useRef(),f=n.useState(!1),v=f[0],y=f[1],b=n.useState(!1),w=b[0],x=b[1],E=n.useRef(null),T=n.useRef(0),S=n.useRef(0);n.useEffect((function(){g(void 0,void 0,void 0,(function(){var e;return m(this,(function(t){switch(t.label){case 0:return y(!1),e=E,[4,ad()];case 1:return e.current=t.sent(),y(!0),[2]}}))}))}),[]),n.useEffect((function(){if(l&&c&&w&&v){var e;S.current+=1;var t=S.current;return g(void 0,void 0,void 0,(function(){var n,r,i,o;return m(this,(function(l){switch(l.label){case 0:return s.current&&E.current?(n=null===(r=d.current)||void 0===r?void 0:r.getContext("2d"),d.current&&(d.current.width=null===(i=s.current)||void 0===i?void 0:i.videoWidth,d.current.height=null===(o=s.current)||void 0===o?void 0:o.videoHeight,null==n||n.translate(s.current.videoWidth,0),null==n||n.scale(-1,1)),[4,function r(){var i;return g(this,void 0,void 0,(function(){var o,l,c,u,d;return m(this,(function(f){switch(f.label){case 0:return E.current&&s.current&&t===S.current?s.current.readyState<2?[4,new Promise((function(e){s.current&&(s.current.onloadeddata=function(){e([])})}))]:[3,2]:[2];case 1:f.sent(),f.label=2;case 2:o=s.current.videoWidth,l=s.current.videoHeight,null==n||n.drawImage(s.current,0,0,o,l),f.label=3;case 3:return f.trys.push([3,5,,6]),[4,E.current.detectForVideo(s.current,performance.now())];case 4:return(c=f.sent())&&(u=c.detections.map((function(e){var t,n,r,i,a,s,c,u,d,h,f,g,m,v,y,b;return{keypoints:e.keypoints.map((function(e){var t;return p(p({},e),{x:e.x*o,y:e.y*l,name:null!==(t=e.label)&&void 0!==t?t:""})})),box:{xMin:null!==(n=null===(t=e.boundingBox)||void 0===t?void 0:t.originX)&&void 0!==n?n:0,xMax:(null!==(i=null===(r=e.boundingBox)||void 0===r?void 0:r.originX)&&void 0!==i?i:0)+(null!==(s=null===(a=e.boundingBox)||void 0===a?void 0:a.width)&&void 0!==s?s:0),yMin:null!==(u=null===(c=e.boundingBox)||void 0===c?void 0:c.originY)&&void 0!==u?u:0,yMax:(null!==(h=null===(d=e.boundingBox)||void 0===d?void 0:d.originY)&&void 0!==h?h:0)+(null!==(g=null===(f=e.boundingBox)||void 0===f?void 0:f.height)&&void 0!==g?g:0),width:null!==(v=null===(m=e.boundingBox)||void 0===m?void 0:m.width)&&void 0!==v?v:0,height:null!==(b=null===(y=e.boundingBox)||void 0===y?void 0:y.height)&&void 0!==b?b:0}}})),null===(i=h.current)||void 0===i||i.call(h,u),n&&id(n,u,!0,!0)),[3,6];case 5:return d=f.sent(),console.error("caught face detection error",d),[3,6];case 6:return a?e=setTimeout((function(){T.current=requestAnimationFrame(r)}),a):T.current=requestAnimationFrame(r),[2]}}))}))}()]):[2];case 1:return l.sent(),[2]}}))})),function(){T.current&&cancelAnimationFrame(T.current),e&&clearTimeout(e)}}}),[c,v,w,a,l,s]);var C=n.useCallback((function(){x(!0)}),[]),k=n.useCallback((function(){x(!1)}),[]);n.useEffect((function(){return r&&C(),function(){k()}}),[r,C,k]);var A=n.useCallback((function(e){h.current=e}),[]),R=n.useMemo((function(){return{start:C,stop:k,ready:v,canvasRef:d,onPredictionMade:A}}),[A,v,C,k]);return u.createElement(od.Provider,{value:R},i)},ld={videoWidth:0,videoHeight:0,capturing:!1,captured:!1,captureFailed:!1,frame:null,faces:[],faceNotCentered:!1,faceLookingAway:!1,faceTooClose:!1,faceTooFar:!1,faceReady:!1,faceReadyAt:null,goodFramesCount:0,goodFramesThreshold:1,goodFramesThresholdMet:!1},cd=function(e,t){switch(t.type){case"configure":return p(p({},e),{videoWidth:t.payload.videoWidth,videoHeight:t.payload.videoHeight});case"capturing":return p(p({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return p(p({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return p(p({},e),{capturing:!1,captured:!1,captureFailed:!0});case"facesDetected":var n=t.payload.faces,r=n[0],i=!0,a=!1,o=!1,s=!1,l=e.faceReadyAt,c=e.goodFramesCount;if(r){var u=e.videoHeight/2,d=(r.box.xMin+r.box.xMax)/2,h=(r.box.yMin+r.box.yMax)/2,f=.125*e.videoWidth,g=.125*e.videoHeight,m=.2*r.box.width,v=.2*r.box.height,y=r.keypoints[2];y&&(i=Math.abs(e.videoWidth/2-d)>f||Math.abs(u+50-h)>g,a=Math.abs(d-y.x)>m||Math.abs(h-y.y)>v);var b=Ct()?2:4.5,w=Ct()?6:7;o=r.box.width>e.videoWidth/b,s=r.box.width<e.videoWidth/w}var x=!(i||a||o||s);return x?e.faceReady||(l=new Date):(l=null,c=0),p(p({},e),{faces:n,faceNotCentered:i,faceLookingAway:a,faceTooClose:o,faceTooFar:s,faceReady:x,faceReadyAt:l,goodFramesCount:c})}},ud=function(e){var t,r,i,a=e.onGuidanceSatisfied,o=e.onGuidanceNotSatisfied,s=e.onSelfieCaptured,l=e.onTimeout,u=e.timeoutDurationMs,d=void 0===u?15e3:u,h=e.guidanceMessage,f=e.verbiage,p=void 0===f?{}:f,v=e.debugMode,y=ye().t,b=Et(),w=b.ref,x=b.width,E=void 0===x?1:x,T=b.height,S=void 0===T?1:T,C=n.useReducer(cd,ld),k=C[0],A=C[1],R=n.useContext(Nt),_=R.cameraRef,I=R.cameraReady,D=R.takePhoto,F=R.videoRef,L=n.useContext(od).onPredictionMade;n.useEffect((function(){I&&F.current&&0!==F.current.videoWidth&&A({type:"configure",payload:{videoWidth:F.current.videoWidth,videoHeight:F.current.videoHeight}})}),[I,F]),n.useEffect((function(){L((function(e){A({type:"facesDetected",payload:{faces:e}})}))}),[L]);var N=n.useState(!1),M=N[0],P=N[1];n.useEffect((function(){var e;return k.faceReady?(null==a||a(),e=setTimeout((function(){P(!0)}),500)):null==o||o(),function(){e&&clearTimeout(e)}}),[o,a,k.faceReady]),n.useEffect((function(){g(void 0,void 0,void 0,(function(){var e,t;return m(this,(function(n){switch(n.label){case 0:return M&&k.faces.length>0?[4,D()]:[3,5];case 1:return(e=n.sent())?null!=s?[3,2]:[3,4]:[3,5];case 2:return t=s,[4,createImageBitmap(e)];case 3:t.apply(void 0,[n.sent(),k.faces[0]]),n.label=4;case 4:n.label=5;case 5:return[2]}}))}))}),[M,s,k.faces,D]);var O=n.useState(),B=O[0],U=O[1],$=n.useState(!1),G=$[0],j=$[1];return n.useEffect((function(){if(d){U(new Date);var e=setTimeout((function(){j(!0)}),d);return function(){e&&clearTimeout(e)}}}),[d]),n.useEffect((function(){G&&(null==l||l())}),[l,G]),h||(p.guidanceHoldStillText=p.guidanceHoldStillText||y("Hold still for a few seconds..."),p.guidanceLookStraightText=p.guidanceLookStraightText||y("Look straight into the camera..."),p.guidanceMoveBackText=p.guidanceMoveBackText||y("Move back..."),p.guidanceMoveForwardText=p.guidanceMoveForwardText||y("Move forward..."),p.guidanceMoveToCenterText=p.guidanceMoveToCenterText||y("Move to the center..."),h=k.faceReady?p.guidanceHoldStillText:k.faceLookingAway?p.guidanceLookStraightText:k.faceTooClose?p.guidanceMoveBackText:k.faceTooFar?p.guidanceMoveForwardText:k.faceNotCentered?p.guidanceMoveToCenterText:""),c.default.createElement(Ze,{ref:w,className:"flex"},c.default.createElement(Vt,null),c.default.createElement(Xt,{borderColor:k.faceReady?"green":"white"}),""!==h&&c.default.createElement("div",{style:{position:"absolute",top:"calc(10vh)",fontWeight:"bold",width:"100%",display:"flex"}},c.default.createElement("div",{style:{marginLeft:"auto",marginRight:"auto",background:k.faceReady?"green":"red",color:"white",padding:"10px 12px 8px",borderRadius:8}},h)),v&&k.faces.length>0&&c.default.createElement("div",{style:{position:"absolute",zIndex:1001,width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%",transform:(null===(t=_.current)||void 0===t?void 0:t.isRearFacing)?"":"scaleX(-1)",overflow:"hidden"}},k.faces.map((function(e,t){var n,r=E/S,i=k.videoWidth/k.videoHeight,a=e.box.xMin/k.videoWidth,o=e.box.yMin/k.videoHeight,s=e.box.width/k.videoWidth,l=e.box.height/k.videoHeight;if(r<i){var u=k.videoWidth*(S/k.videoHeight);a=a*u-(u-E)/2,o*=S,s*=u,l*=S}else{var d=k.videoHeight*(E/k.videoWidth);a*=E,o=o*d-(d-S)/2,s*=E,l*=d}return c.default.createElement("div",{key:t},c.default.createElement("div",{style:{position:"absolute",left:a,top:o,width:s,height:l,border:"3px solid ".concat(k.faceReady?"green":"red"),font:"10px monospace",transform:(null===(n=_.current)||void 0===n?void 0:n.isRearFacing)?"":"scaleX(-1)"}}),e.keypoints.map((function(e,t){var n,a=e.x/k.videoWidth,o=e.y/k.videoHeight;if(r<i){var s=k.videoWidth*(S/k.videoHeight);a=a*s-(s-E)/2,o*=S}else{var l=k.videoHeight*(E/k.videoWidth);a*=E,o=o*l-(l-S)/2}return c.default.createElement("div",{key:t,style:{position:"absolute",left:a-2,top:o-2,width:4,height:4,border:"2px solid red",font:"10px monospace",color:"green",transform:(null===(n=_.current)||void 0===n?void 0:n.isRearFacing)?"":"scaleX(-1)",borderRadius:"50%"}},t)})))}))),v&&c.default.createElement("span",{style:{fontSize:16,fontFamily:"monospace",position:"absolute",left:20,bottom:20,color:"limegreen",background:"rgba(0,0,0,0.5)",zIndex:1001}},_.current?c.default.createElement(c.default.Fragment,null,"✅ Camera: ",null===(r=_.current)||void 0===r?void 0:r.width,"x",null===(i=_.current)||void 0===i?void 0:i.height):"❌ Camera not ready",c.default.createElement("br",null),k.faceNotCentered?"❌":"✅"," Face Centered",c.default.createElement("br",null),k.faceTooClose||k.faceTooFar?"❌":"✅"," Face"," ",k.faceTooClose?"Too Close":k.faceTooFar?"Too Far":"Distance Correct",c.default.createElement("br",null),k.faceLookingAway?"❌":"✅"," Face Looking Forward",c.default.createElement("br",null),k.goodFramesThresholdMet?"✅":"❌"," ",k.goodFramesCount," ","Good Frames",c.default.createElement("br",null),G?"❌":"✅"," Time Remaining:"," ",Math.max(0,d-((new Date).getTime()-(null!=B?B:new Date).getTime())),"ms"))};function dd(e,t){var n=document.createElement("canvas"),r=n.getContext("2d");if(!r)throw new Error("could not get 2d context");var i=t.box,a=i.width,o=.6*e.height-a,s=Math.max(0,i.xMin-o/2);return Ct()?(n.width=e.width,n.height=e.height,r.drawImage(e,0,0,n.width,n.height)):(n.width=a+o,n.height=e.height,r.drawImage(e,s,0,n.width,n.height,0,0,n.width,n.height)),n.toDataURL("image/jpeg",.92)}var hd,fd={frame:null,face:null,requestState:"NOT_READY",requestError:null,imageUrl:null,faceLive:!1,eyeCoveringDetected:!1,maskDetected:!1,headCoveringDetected:!1,phoneDetected:!1,timesLivenessCheckFailed:0},pd=function(e,t){switch(t.type){case"livenessReady":return["NOT_READY","FAILED","ERROR"].includes(e.requestState)?p(p({},e),{requestState:"READY",frame:t.payload.frame,face:t.payload.face}):e;case"livenessChecking":return p(p({},e),{requestState:"IN_PROGRESS"});case"livenessChecked":var n=t.payload.response,r=n.status,i=r.statusMessage,a=r.errorData,o=n.resultData;if("000"!==r.statusCode)return p(p({},e),{requestState:"ERROR",requestError:new Error("".concat(i,": ").concat(a))});var s="Live Face Detected"===o.verificationResult,l="true"===o.eyeCovering,c="true"===o.faceMask,u="true"===o.headCovering,d="true"===o.cellPhone,h=s&&!l&&!c&&!u,f=h?"PASSED":"FAILED",g=e.timesLivenessCheckFailed;return h?g=0:g+=1,p(p({},e),{frame:t.payload.frame,face:t.payload.face,imageUrl:t.payload.imageUrl,requestState:f,faceLive:s,eyeCoveringDetected:l,maskDetected:c,headCoveringDetected:u,phoneDetected:d,timesLivenessCheckFailed:g});case"livenessCheckFailed":return p(p({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},gd=function(e){var t=e.onCapture,r=e.onSuccess,i=e.onTimeout,a=e.timeoutDurationMs,o=void 0===a?15e3:a,s=e.verbiage,l=void 0===s?{}:s,u=e.debugMode,d=ye().t,h=n.useContext(qe).checkLiveness,f=n.useReducer(pd,fd),p=f[0],v=f[1],y=n.useCallback((function(e,n){null==t||t(),v({type:"livenessReady",payload:{frame:e,face:n}})}),[t]),b=p.frame,w=p.face,x="READY"===p.requestState,E="PASSED"===p.requestState;return n.useEffect((function(){b&&w&&x&&(v({type:"livenessChecking"}),g(void 0,void 0,void 0,(function(){var e,t,n,r;return m(this,(function(i){switch(i.label){case 0:return i.trys.push([0,3,,4]),e=dd(b,w),n=h,[4,We(e)];case 1:return[4,n.apply(void 0,[i.sent()])];case 2:return t=i.sent(),v({type:"livenessChecked",payload:{frame:b,face:w,imageUrl:e,response:t}}),[3,4];case 3:return r=i.sent(),v({type:"livenessCheckFailed",payload:{error:r}}),[3,4];case 4:return[2]}}))})))}),[h,w,b,x]),n.useEffect((function(){E&&p.imageUrl&&(null==r||r(p.imageUrl))}),[r,p.imageUrl,E]),n.useEffect((function(){p.timesLivenessCheckFailed>=2&&(null==i||i())}),[i,p.timesLivenessCheckFailed]),l.guidanceRemoveEyeCoveringsText=l.guidanceRemoveEyeCoveringsText||d("Please remove your eye coverings (sunglasses, eye patch, etc.)..."),l.guidanceRemoveHeadCoveringsText=l.guidanceRemoveHeadCoveringsText||d("Please remove your head coverings (hat, scarf, etc.)..."),l.guidanceRemoveMaskText=l.guidanceRemoveMaskText||d("Please remove your mask..."),c.default.createElement(ud,{onSelfieCaptured:y,onTimeout:i,timeoutDurationMs:o,guidanceMessage:p.eyeCoveringDetected?l.guidanceRemoveEyeCoveringsText:p.headCoveringDetected?l.guidanceRemoveHeadCoveringsText:p.maskDetected?l.guidanceRemoveMaskText:void 0,verbiage:l,debugMode:u})},md=function(e){var t=e.headingText,r=e.removeEyeCoveringsText,i=e.avoidExcessiveBacklightingText,a=e.continueText,o=e.cameraInitializingText,s=e.modelsWarmingUpText,l=e.instructionImageUrl,u=e.onDismissed,d=ye().t,h=n.useRef(null),f=n.useRef(null),p=n.useContext(Nt).cameraReady,g=n.useContext(od).ready,m=n.useState(!1),v=m[0],y=m[1];return n.useEffect((function(){if(h.current){f.current=pt(h.current),f.current.start();var e=0,t=setInterval((function(){var t;e<.9&&(e+=.1),null===(t=f.current)||void 0===t||t.setProgress(e)}),250);return function(){var e;null===(e=f.current)||void 0===e||e.remove(),clearInterval(t)}}}),[]),n.useEffect((function(){var e;g&&p&&(null===(e=f.current)||void 0===e||e.stop())}),[p,g]),v?c.default.createElement(c.default.Fragment,null):(l=l||"".concat(Ut,"/Selfie-Image-1.png"),t=t||d("Use your device camera to capture your face"),r=r||d("Remove Sunglasses & Hat"),i=i||d("Avoid Excessive Backlighting"),a=a||d("Continue"),o=o||d("Camera initializing..."),s=s||d("Models warming up..."),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("div",{style:{flexGrow:0}},c.default.createElement("h3",{style:{marginBottom:18}},t),c.default.createElement("div",{style:{background:"#ccc",maxWidth:"280px",margin:"0 auto 12px",borderRadius:8,lineHeight:1.5,padding:"12px 24px"}},r,c.default.createElement("br",null),i)),c.default.createElement(at,null,c.default.createElement("img",{alt:t,src:l,style:{position:"relative",top:"5%"}})),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"mint",disabled:!p||!g,ref:h,onClick:function(){y(!0),null==u||u()}},c.default.createElement("span",{className:"ladda-label"},p&&g?a:g?o:s)),c.default.createElement("div",{style:{display:"none"}},c.default.createElement(Vt,null)))))},vd=function(e){var t=e.headingText,n=e.retryBtnText,r=e.doneBtnText,i=e.imageUrl,a=e.onDoneClick,o=e.onRetryClick,s=ye().t;return t=t||s("Face liveness has been verified!"),n=n||s("Retry"),r=r||s("Done"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",{style:{marginBottom:24}},t),c.default.createElement(at,null,c.default.createElement("img",{alt:t,src:i})),c.default.createElement("div",null,c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:o},c.default.createElement("span",{className:"ladda-label"},n)),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"mint",onClick:a,style:{marginLeft:15}},c.default.createElement("span",{className:"ladda-label"},r)))))},yd=function(e){var t=e.headingText,n=e.retryBtnText,r=e.exitBtnText,i=e.imageUrl,a=e.canRetry,o=void 0===a||a,s=e.onRetryClick,l=e.onExitClick,u=ye().t;return i=i||"".concat(Ut,"/manual_capture.png"),t=t||u("Live face not detected, please try again"),n=n||u("Retry"),r=r||u("Exit"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",{style:{marginBottom:24}},t),c.default.createElement(at,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:t,src:i})),c.default.createElement("div",{style:{marginTop:24}},o&&c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:s,style:{marginRight:15}},c.default.createElement("span",{className:"ladda-label"},n)),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"black",onClick:l},c.default.createElement("span",{className:"ladda-label"},r)))))},bd=function(e){var t=e.onComplete,r=e.onSuccess,i=e.onTimeout,a=e.onExitAfterFailure,o=e.timeoutDurationMs,s=void 0===o?15e3:o,l=e.maxRetries,u=void 0===l?2:l,d=e.debugMode,h=void 0!==d&&d,f=e.verbiage,p=void 0===f?{}:f,v=e.assets,y=void 0===v?{}:v,b=n.useContext(qe),w=b.submissionResponse,x=b.setSelfieImage,E=b.logSelfieCaptureAttempt,T=n.useContext(Nt).releaseCameraAccess,S=n.useState(""),C=S[0],k=S[1],A=n.useState(0),R=A[0],_=A[1],I=n.useState("LOADING"),D=I[0],F=I[1],L=n.useRef(),N=n.useRef(),M=n.useRef();n.useEffect((function(){M.current=new Date}),[]),n.useEffect((function(){"CAPTURING"===D&&(L.current=new Date)}),[D]);var P=n.useCallback((function(){N.current=new Date}),[]),O=n.useCallback((function(){var e,t,n;E({autoCapture:"Y",captureTime:(null!==(e=N.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=L.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=M.current)&&void 0!==n?n:new Date).getTime()}),M.current=new Date}),[E]),B=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){var t;return m(this,(function(n){switch(n.label){case 0:return F("SUCCESS"),k(e),t=x,[4,We(e)];case 1:return t.apply(void 0,[n.sent()]),null==r||r(w),[2]}}))}))}),[r,x,w]),U=n.useCallback((function(){F("FAILED"),null==i||i(w)}),[i,w]);return c.default.createElement(c.default.Fragment,null,"LOADING"!==D&&function(){switch(D){case"CAPTURING":return c.default.createElement(gd,{key:"capture",onCapture:P,onSuccess:B,onTimeout:U,timeoutDurationMs:s,verbiage:p,debugMode:h});case"SUCCESS":return c.default.createElement(vd,{key:"success",headingText:p.successHeadingText,retryBtnText:p.successRetryBtnText,doneBtnText:p.successDoneBtnText,imageUrl:C,onDoneClick:function(){O(),T(),setTimeout((function(){null==t||t(w)}),0)},onRetryClick:function(){O(),F("CAPTURING")}});case"FAILED":return c.default.createElement(yd,{key:"failure",headingText:p.failureHeadingText,retryBtnText:p.failureRetryBtnText,exitBtnText:p.failureExitBtnText,imageUrl:y.failureImageUrl,canRetry:u>-1&&R<u,onRetryClick:function(){O(),_((function(e){return e+1})),F("CAPTURING")},onExitClick:function(){T(),setTimeout((function(){null==a||a(w)}),0)}});default:return null}}(),c.default.createElement(md,{headingText:p.loadingOverlayHeadingText,removeEyeCoveringsText:p.loadingOverlayRemoveEyeCoveringsText,avoidExcessiveBacklightingText:p.loadingOverlayAvoidExcessiveBacklightingText,continueText:p.loadingOverlayContinueText,cameraInitializingText:p.loadingOverlayCameraInitializingText,modelsWarmingUpText:p.loadingOverlayModelsWarmingUpText,instructionImageUrl:y.instructionImageUrl,onDismissed:function(){F("CAPTURING")}}))};function wd(e){return g(this,void 0,void 0,(function(){var t,n,r,i,a,o,s,l,c;return m(this,(function(u){switch(u.label){case 0:return hd?[2,hd]:[4,f.loadLayersModel(e)];case 1:return hd=u.sent(),[4,f.ready()];case 2:return u.sent(),t=f.zeros([448,448,3]),n=f.cast(t,"int32"),a=(i=f).tensor4d,s=(o=Array).from,[4,n.data()];case 3:return r=a.apply(i,[s.apply(o,[u.sent()]),[1,448,448,3]]),l=f.cast(r,"int32"),[4,hd.predict(l)];case 4:return[4,(c=u.sent()).data()];case 5:return u.sent(),f.dispose(c),n.dispose(),l.dispose(),r.dispose(),f.dispose(t),[2,hd]}}))}))}class xd{refCount(e){return Ed("refCount")}incRef(e){return Ed("incRef")}timerAvailable(){return!0}time(e){return Ed("time")}read(e){return Ed("read")}readSync(e){return Ed("readSync")}readToGPU(e,t){return Ed("readToGPU")}numDataIds(){return Ed("numDataIds")}disposeData(e,t){return Ed("disposeData")}write(e,t,n){return Ed("write")}move(e,t,n,r,i){return Ed("move")}createTensorFromGPUData(e,t,n){return Ed("createTensorFromGPUData")}memory(){return Ed("memory")}floatPrecision(){return Ed("floatPrecision")}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}dispose(){return Ed("dispose")}}function Ed(e){throw new Error(`'${e}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function Td(e,t){if(!e)throw new Error("string"==typeof t?t:t())}function Sd(e){if(0===e.length)return 1;let t=e[0];for(let n=1;n<e.length;n++)t*=e[n];return t}function Cd(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function kd(e,t){return t<=e.length?e:e+" ".repeat(t-e.length)}function Ad(e){if("float32"===e||"int32"===e)return 4;if("complex64"===e)return 8;if("bool"===e)return 1;throw new Error(`Unknown dtype ${e}`)}function Rd(e){return"string"==typeof e||e instanceof String}function _d(e){return Array.isArray(e)?_d(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray?"int32":"number"==typeof e?"float32":Rd(e)?"string":function(e){return"boolean"==typeof e}(e)?"bool":"float32"}function Id(e){return!!(e&&e.constructor&&e.call&&e.apply)}function Dd(e){const t=e.length;if(t<2)return[];const n=new Array(t-1);n[t-2]=e[t-1];for(let r=t-3;r>=0;--r)n[r]=n[r+1]*e[r+1];return n}function Fd(e,t,n,r=!1){const i=new Array;if(1===t.length){const a=t[0]*(r?2:1);for(let t=0;t<a;t++)i[t]=n[e+t]}else{const a=t[0],o=t.slice(1),s=o.reduce(((e,t)=>e*t))*(r?2:1);for(let t=0;t<a;t++)i[t]=Fd(e+t*s,o,n,r)}return i}function Ld(e,t,n=!1){if(0===e.length)return t[0];const r=e.reduce(((e,t)=>e*t))*(n?2:1);if(0===r)return[];if(r!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}${n?" for a complex tensor":""}.`);return Fd(0,e,t,n)}function Nd(e,t){if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t)return new Uint8Array(e);throw new Error(`Unknown data type ${t}`)}function Md(e){e.forEach((t=>{Td(Number.isInteger(t)&&t>=0,(()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`))}))}function Pd(e){return e&&e.then&&"function"==typeof e.then}const Od="tfjsflags";class Bd{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.getQueryParams=Ud,this.populateURLFlags()}setPlatform(e,t){null!=this.platform&&($d().getBool("IS_TEST")||$d().getBool("PROD")||console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${e}.`)),this.platformName=e,this.platform=t}registerFlag(e,t,n){if(this.flagRegistry[e]={evaluationFn:t,setHook:n},null!=this.urlFlags[e]){const t=this.urlFlags[e];$d().getBool("IS_TEST")||$d().getBool("PROD")||console.warn(`Setting feature override from URL ${e}: ${t}.`),this.set(e,t)}}async getAsync(e){return e in this.flags||(this.flags[e]=await this.evaluateFlag(e)),this.flags[e]}get(e){if(e in this.flags)return this.flags[e];const t=this.evaluateFlag(e);if(Pd(t))throw new Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);return this.flags[e]=t,this.flags[e]}getNumber(e){return this.get(e)}getBool(e){return this.get(e)}getString(e){return this.get(e)}getFlags(){return this.flags}get features(){return this.flags}set(e,t){if(null==this.flagRegistry[e])throw new Error(`Cannot set flag ${e} as it has not been registered.`);this.flags[e]=t,null!=this.flagRegistry[e].setHook&&this.flagRegistry[e].setHook(t)}evaluateFlag(e){if(null==this.flagRegistry[e])throw new Error(`Cannot evaluate flag '${e}': no evaluation function found.`);return this.flagRegistry[e].evaluationFn()}setFlags(e){this.flags=Object.assign({},e)}reset(){this.flags={},this.urlFlags={},this.populateURLFlags()}populateURLFlags(){if(void 0===this.global||void 0===this.global.location||void 0===this.global.location.search)return;const e=this.getQueryParams(this.global.location.search);if(Od in e){e[Od].split(",").forEach((e=>{const[t,n]=e.split(":");this.urlFlags[t]=function(e,t){const n=t.toLowerCase();return"true"===n||"false"===n?"true"===n:""+ +n===n?+n:t}(0,n)}))}}}function Ud(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,((e,...n)=>(function(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||"")}(t,n[0],n[1]),n.join("=")))),t}function $d(){return jd}let Gd,jd=null;function zd(){if(null==Gd){let e;if("undefined"!=typeof window)e=window;else if("undefined"!=typeof global)e=global;else if("undefined"!=typeof process)e=process;else{if("undefined"==typeof self)throw new Error("Could not find a global object");e=self}Gd=e}return Gd}function qd(e,t){const n=function(){const e=zd();return null==e._tfGlobals&&(e._tfGlobals=new Map),e._tfGlobals}();if(n.has(e))return n.get(e);{const r=t();return n.set(e,r),n.get(e)}}const Vd="Add",Hd="Cast",Wd="Identity";function Kd(...e){$d().getBool("IS_TEST")||$d().getBool("PROD")||console.warn(...e)}const Yd=qd("kernelRegistry",(()=>new Map)),Xd=qd("gradRegistry",(()=>new Map));function Jd(e,t){const n=function(e,t){return`${t}_${e}`}(e,t);return Yd.get(n)}function Zd(e){return Xd.get(e)}function Qd(e){const t=Yd.entries(),n=[];for(;;){const{done:r,value:i}=t.next();if(r)break;const[a,o]=i,[s]=a.split("_");s===e&&n.push(o)}return n}function eh(e){return e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray}function th(e,t){if("string"===t)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=ah(e)),$d().getBool("DEBUG")&&function(e,t){for(let n=0;n<e.length;n++){const r=e[n];if(isNaN(r)||!isFinite(r))throw Error(`A tensor of type ${t} being uploaded contains ${r}.`)}}(e,t),function(e,t){return e instanceof Float32Array&&"float32"===t||e instanceof Int32Array&&"int32"===t||e instanceof Uint8Array&&"bool"===t}(e,t))return e;if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t){const t=new Uint8Array(e.length);for(let n=0;n<t.length;++n)0!==Math.round(e[n])&&(t[n]=1);return t}throw new Error(`Unknown data type ${t}`)}function nh(){return $d().platform.now()}function rh(e,t="utf-8"){return t=t||"utf-8",$d().platform.decode(e,t)}function ih(e){return null!=$d().platform.isTypedArray?$d().platform.isTypedArray(e):eh(e)}function ah(e,t=[],n=!1){if(null==t&&(t=[]),"boolean"==typeof e||"number"==typeof e||"string"==typeof e||Pd(e)||null==e||ih(e)&&n)t.push(e);else if(Array.isArray(e)||ih(e))for(let r=0;r<e.length;++r)ah(e[r],t,n);else{let r=-1;for(const t of Object.keys(e))/^([1-9]+[0-9]*|0)$/.test(t)&&(r=Math.max(r,Number(t)));for(let i=0;i<=r;i++)ah(e[i],t,n)}return t}class oh{constructor(e,t){this.backendTimer=e,this.logger=t,null==t&&(this.logger=new lh)}profileKernel(e,t,n){let r;const i=()=>{r=n()};let a;const o=nh();if(this.backendTimer.timerAvailable())a=this.backendTimer.time(i);else{i();for(const e of r)e.dataSync();a=Promise.resolve({kernelMs:nh()-o})}if($d().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let t=0;t<r.length;t++){const n=r[t];n.data().then((t=>{sh(t,n.dtype,e)}))}return{kernelName:e,outputs:r,inputs:t,timeMs:a.then((e=>e.kernelMs)),extraInfo:a.then((e=>null!=e.getExtraProfileInfo?e.getExtraProfileInfo():""))}}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:i,extraInfo:a}=e;n.forEach((e=>{Promise.all([e.data(),r,a]).then((n=>{this.logger.logKernelProfile(t,e,n[0],n[1],i,n[2])}))}))}}function sh(e,t,n){if("float32"!==t)return!1;for(let t=0;t<e.length;t++){const r=e[t];if(isNaN(r)||!isFinite(r))return console.warn(`Found ${r} in the result of '${n}'`),!0}return!1}class lh{logKernelProfile(e,t,n,r,i,a){const o="number"==typeof r?kd(`${r}ms`,9):r.error,s=kd(e,25),l=t.rank,c=t.size,u=kd(t.shape.toString(),14);let d="";for(const e in i){const n=i[e];if(null!=n){const r=n.shape||t.shape,i=r.length;d+=`${e}: ${i}D ${i>0?r:""} `}}console.log(`%c${s}\t%c${o}\t%c${l}D ${u}\t%c${c}\t%c${d}\t%c${a}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}const ch=20,uh=3,dh=7;function hh(e,t,n,r){const i=Dd(t),a=function(e,t,n,r){const i=Sd(t),a=r[r.length-1],o=new Array(a).fill(0),s=t.length,l="complex64"===n?mh(e):e;if(s>1)for(let e=0;e<i/a;e++){const t=e*a;for(let e=0;e<a;e++)o[e]=Math.max(o[e],fh(l[t+e],0,n).length)}return o}(e,t,n,i),o=t.length,s=gh(e,t,n,i,a),l=["Tensor"];return r&&(l.push(` dtype: ${n}`),l.push(` rank: ${o}`),l.push(` shape: [${t}]`),l.push(" values:")),l.push(s.map((e=>" "+e)).join("\n")),l.join("\n")}function fh(e,t,n){let r;return r=Array.isArray(e)?`${parseFloat(e[0].toFixed(dh))} + ${parseFloat(e[1].toFixed(dh))}j`:Rd(e)?`'${e}'`:"bool"===n?ph(e):parseFloat(e.toFixed(dh)).toString(),kd(r,t)}function ph(e){return 0===e?"false":"true"}function gh(e,t,n,r,i,a=!0){const o="complex64"===n?2:1,s=t[0],l=t.length;if(0===l){if("complex64"===n){return[fh(mh(e)[0],0,n)]}return"bool"===n?[ph(e[0])]:[e[0].toString()]}if(1===l){if(s>ch){let t=Array.from(e.slice(0,uh*o)),r=Array.from(e.slice((s-uh)*o,s*o));return"complex64"===n&&(t=mh(t),r=mh(r)),["["+t.map(((e,t)=>fh(e,i[t],n))).join(", ")+", ..., "+r.map(((e,t)=>fh(e,i[s-uh+t],n))).join(", ")+"]"]}return["["+("complex64"===n?mh(e):Array.from(e)).map(((e,t)=>fh(e,i[t],n))).join(", ")+"]"]}const c=t.slice(1),u=r.slice(1),d=r[0]*o,h=[];if(s>ch){for(let t=0;t<uh;t++){const r=t*d;h.push(...gh(e.slice(r,r+d),c,n,u,i,!1))}h.push("...");for(let t=s-uh;t<s;t++){const r=t*d;h.push(...gh(e.slice(r,r+d),c,n,u,i,t===s-1))}}else for(let t=0;t<s;t++){const r=t*d;h.push(...gh(e.slice(r,r+d),c,n,u,i,t===s-1))}const f=2===l?",":"";h[0]="["+(s>0?h[0]+f:"");for(let e=1;e<h.length-1;e++)h[e]=" "+h[e]+f;let p=",\n";for(let e=2;e<l;e++)p+="\n";return h[h.length-1]=" "+h[h.length-1]+"]"+(a?"":p),h}function mh(e){const t=[];for(let n=0;n<e.length;n+=2)t.push([e[n],e[n+1]]);return t}class vh{constructor(e,t,n){if(this.dtype=t,this.shape=e.slice(),this.size=Sd(e),null!=n){const e=n.length;Td(e===this.size,(()=>`Length of values '${e}' does not match the size inferred by the shape '${this.size}'.`))}if("complex64"===t)throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||function(e,t){let n=null;if(null==e||"float32"===e)n=new Float32Array(t);else if("int32"===e)n=new Int32Array(t);else if("bool"===e)n=new Uint8Array(t);else{if("string"!==e)throw new Error(`Unknown data type ${e}`);n=new Array(t)}return n}(t,this.size),this.strides=Dd(e)}set(e,...t){0===t.length&&(t=[0]),Td(t.length===this.rank,(()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`));const n=this.locToIndex(t);this.values[n]=e}get(...e){0===e.length&&(e=[0]);let t=0;for(const n of e){if(n<0||n>=this.shape[t]){throw new Error(`Requested out of range element at ${e}. Buffer shape=${this.shape}`)}t++}let n=e[e.length-1];for(let t=0;t<e.length-1;++t)n+=this.strides[t]*e[t];return this.values[n]}locToIndex(e){if(0===this.rank)return 0;if(1===this.rank)return e[0];let t=e[e.length-1];for(let n=0;n<e.length-1;++n)t+=this.strides[n]*e[n];return t}indexToLoc(e){if(0===this.rank)return[];if(1===this.rank)return[e];const t=new Array(this.shape.length);for(let n=0;n<t.length-1;++n)t[n]=Math.floor(e/this.strides[n]),e-=t[n]*this.strides[n];return t[t.length-1]=e,t}get rank(){return this.shape.length}toTensor(){return yh().makeTensor(this.values,this.shape,this.dtype)}}let yh=null,bh=null;class wh{constructor(e,t,n,r){this.kept=!1,this.isDisposedInternal=!1,this.shape=e.slice(),this.dtype=t||"float32",this.size=Sd(e),this.strides=Dd(e),this.dataId=n,this.id=r,this.rankType=this.rank<5?this.rank.toString():"higher"}get rank(){return this.shape.length}async buffer(){const e=await this.data();return bh.buffer(this.shape,this.dtype,e)}bufferSync(){return bh.buffer(this.shape,this.dtype,this.dataSync())}async array(){const e=await this.data();return Ld(this.shape,e,"complex64"===this.dtype)}arraySync(){return Ld(this.shape,this.dataSync(),"complex64"===this.dtype)}async data(){this.throwIfDisposed();const e=yh().read(this.dataId);if("string"===this.dtype){const t=await e;try{return t.map((e=>rh(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataToGPU(e){return this.throwIfDisposed(),yh().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();const e=yh().readSync(this.dataId);if("string"===this.dtype)try{return e.map((e=>rh(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();const e=await yh().read(this.dataId);return"string"===this.dtype?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(yh().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return bh.print(this,e)}clone(){return this.throwIfDisposed(),bh.clone(this)}toString(e=!1){return hh(this.dataSync(),this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),bh.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),yh().makeVariable(this,e,t,n)}}Object.defineProperty(wh,Symbol.hasInstance,{value:e=>!!e&&null!=e.data&&null!=e.dataSync&&null!=e.throwIfDisposed}),qd("Tensor",(()=>wh));class xh extends wh{constructor(e,t,n,r){super(e.shape,e.dtype,e.dataId,r),this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!Cd(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);yh().disposeTensor(this),this.dataId=e.dataId,yh().incRef(this,null)}dispose(){yh().disposeVariable(this),this.isDisposedInternal=!0}}var Eh,Th,Sh,Ch,kh;Object.defineProperty(xh,Symbol.hasInstance,{value:e=>e instanceof wh&&null!=e.assign&&e.assign instanceof Function}),function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"}(Eh||(Eh={})),function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"}(Th||(Th={})),function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"}(Sh||(Sh={})),function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"}(Ch||(Ch={})),function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"}(kh||(kh={}));const Ah={float32:Ch,int32:Th,bool:Sh,complex64:kh};function Rh(e){return null!=e&&"object"==typeof e&&"texture"in e&&e.texture instanceof WebGLTexture}function _h(e){return"undefined"!=typeof GPUBuffer&&null!=e&&"object"==typeof e&&"buffer"in e&&e.buffer instanceof GPUBuffer}function Ih(e,t){if(e.dtype===t.dtype)return[e,t];const n=function(e,t){if("string"===e||"string"===t){if("string"===e&&"string"===t)return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return Ah[e][t]}(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function Dh(e){const t=[];return Fh(e,t,new Set),t}function Fh(e,t,n){if(null==e)return;if(e instanceof wh)return void t.push(e);if(r=e,!Array.isArray(r)&&"object"!=typeof r)return;var r;const i=e;for(const e in i){const r=i[e];n.has(r)||(n.add(r),Fh(r,t,n))}}function Lh(e){return null!=e.kernelName}class Nh{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map((e=>e.name))))}}}dispose(){for(const e in this.registeredVariables)this.registeredVariables[e].dispose()}}class Mh{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new Nh}async ready(){if(null!=this.pendingBackendInit)return this.pendingBackendInit.then((()=>{}));if(null!=this.backendInstance)return;const e=this.getSortedBackends();for(let t=0;t<e.length;t++){const n=e[t];if(await this.initializeBackend(n).success)return void await this.setBackend(n)}throw new Error("Could not initialize any backends, all backend initializations failed.")}get backend(){if(null!=this.pendingBackendInit)throw new Error(`Backend '${this.backendName}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);if(null==this.backendInstance){const{name:e,asyncInit:t}=this.initializeBackendsAndReturnBest();if(t)throw new Error(`The highest priority backend '${e}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);this.setBackend(e)}return this.backendInstance}backendNames(){return Object.keys(this.registryFactory)}findBackend(e){if(!(e in this.registry)){if(!(e in this.registryFactory))return null;{const{asyncInit:t}=this.initializeBackend(e);if(t)return null}}return this.registry[e]}findBackendFactory(e){return e in this.registryFactory?this.registryFactory[e].factory:null}registerBackend(e,t,n=1){return e in this.registryFactory?(Kd(`${e} backend was already registered. Reusing existing backend factory.`),!1):(this.registryFactory[e]={factory:t,priority:n},!0)}async setBackend(e){if(null==this.registryFactory[e])throw new Error(`Backend name '${e}' not found in registry`);if(this.backendName=e,null==this.registry[e]){this.backendInstance=null;const{success:t,asyncInit:n}=this.initializeBackend(e);if(!(n?await t:t))return!1}return this.backendInstance=this.registry[e],this.setupRegisteredKernels(),this.profiler=new oh(this.backendInstance),!0}setupRegisteredKernels(){Qd(this.backendName).forEach((e=>{null!=e.setupFunc&&e.setupFunc(this.backendInstance)}))}disposeRegisteredKernels(e){Qd(e).forEach((t=>{null!=t.disposeFunc&&t.disposeFunc(this.registry[e])}))}initializeBackend(e){const t=this.registryFactory[e];if(null==t)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{const n=t.factory();if(!n||n instanceof xd||"function"!=typeof n.then)return this.registry[e]=n,{success:!0,asyncInit:!1};{const t=++this.pendingBackendInitId,r=n.then((n=>!(t<this.pendingBackendInitId)&&(this.registry[e]=n,this.pendingBackendInit=null,!0))).catch((n=>(t<this.pendingBackendInitId||(this.pendingBackendInit=null,Kd(`Initialization of backend ${e} failed`),Kd(n.stack||n.message)),!1)));return this.pendingBackendInit=r,{success:r,asyncInit:!0}}}catch(t){return Kd(`Initialization of backend ${e} failed`),Kd(t.stack||t.message),{success:!1,asyncInit:!1}}}removeBackend(e){if(!(e in this.registryFactory))throw new Error(`${e} backend not found in registry`);this.backendName===e&&null!=this.pendingBackendInit&&this.pendingBackendInitId++,e in this.registry&&(this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e]),delete this.registryFactory[e],this.backendName===e&&(this.pendingBackendInit=null,this.backendName=null,this.backendInstance=null)}getSortedBackends(){if(0===Object.keys(this.registryFactory).length)throw new Error("No backend found in registry.");return Object.keys(this.registryFactory).sort(((e,t)=>this.registryFactory[t].priority-this.registryFactory[e].priority))}initializeBackendsAndReturnBest(){const e=this.getSortedBackends();for(let t=0;t<e.length;t++){const n=e[t],{success:r,asyncInit:i}=this.initializeBackend(n);if(i||r)return{name:n,asyncInit:i}}throw new Error("Could not initialize any backends, all backend initializations failed.")}moveData(e,t){const n=this.state.tensorInfo.get(t),r=n.backend,i=this.readSync(t),a=r.refCount(t);r.disposeData(t,!0),n.backend=e,e.move(t,i,n.shape,n.dtype,a),this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack[this.state.numDataMovesStack.length-1]++}tidy(e,t){let n,r=null;if(null==t){if("function"!=typeof e)throw new Error("Please provide a function to tidy()");t=e}else{if("string"!=typeof e&&!(e instanceof String))throw new Error("When calling with two arguments, the first argument to tidy() must be a string");if("function"!=typeof t)throw new Error("When calling with two arguments, the 2nd argument to tidy() must be a function");r=e}return this.scopedRun((()=>this.startScope(r)),(()=>this.endScope(n)),(()=>(n=t(),n instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),n)))}scopedRun(e,t,n){e();try{const e=n();return t(),e}catch(e){throw t(),e}}nextTensorId(){return Mh.nextTensorId++}nextVariableId(){return Mh.nextVariableId++}clone(e){const t=Oh.runKernel(Wd,{x:e});return this.addTapeNode(this.state.activeScope.name,{x:e},[t],(e=>({x:()=>Oh.runKernel(Hd,{x:e},{dtype:"float32"})})),[],{}),t}runKernel(e,t,n){if(!(null!=Jd(e,this.backendName)))throw new Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,n){const r=this.backend.numDataIds();let i=0;n.forEach((e=>{i+="complex64"===e.dtype?3:1}));const a=r-t-i-this.state.numDataMovesStack[this.state.numDataMovesStack.length-1];if(a>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${a} data ids) after running '${e}'`)}runKernelFunc(e){let t,n=[];const r=this.isTapeOn(),i=this.state.numBytes,a=this.state.numTensors;let o,s;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);const l=Lh(e)?e.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(Lh(e)){const{kernelName:t,inputs:i,attrs:a}=e,l=Jd(t,this.backendName);Td(null!=l,(()=>`Cannot find registered kernel '${t}' for backend '${this.backendName}'`)),o=()=>{const e=this.backend.numDataIds();s=l.kernelFunc({inputs:i,attrs:a,backend:this.backend});const o=Array.isArray(s)?s:[s];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(t,e,o);const c=o.map((e=>null!=e.rank?e:this.makeTensorFromTensorInfo(e)));if(r){const e=this.getTensorsForGradient(t,i,c);n=this.saveTensorsForBackwardMode(e)}return c}}else{const{forwardFunc:t}=e,i=e=>{r&&(n=e.map((e=>this.keep(this.clone(e)))))};o=()=>{const e=this.backend.numDataIds();s=this.tidy((()=>t(this.backend,i)));const n=Array.isArray(s)?s:[s];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,e,n),n}}const{inputs:c,attrs:u}=e,d=Lh(e)?null:e.backwardsFunc;let h;return this.scopedRun((()=>this.state.kernelDepth++),(()=>this.state.kernelDepth--),(()=>{this.ENV.getBool("DEBUG")||this.state.profiling?(h=this.profiler.profileKernel(l,c,(()=>o())),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(h),t=h.outputs):t=o()})),r&&this.addTapeNode(l,c,t,d,n,u),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-i,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-a,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(c).map((e=>null!=c[e]?c[e].shape:null)),outputShapes:t.map((e=>e.shape)),kernelTimeMs:h.timeMs,extraInfo:h.extraInfo}),Array.isArray(s)?t:t[0]}saveTensorsForBackwardMode(e){return e.map((e=>this.keep(this.clone(e))))}getTensorsForGradient(e,t,n){const r=Zd(e);if(null!=r){const e=r.inputsToSave||[],i=r.outputsToSave||[];let a;r.saveAllInputs?(Td(Array.isArray(t),(()=>"saveAllInputs is true, expected inputs to be an array.")),a=Object.keys(t).map((e=>t[e]))):a=e.map((e=>t[e]));const o=n.filter(((e,t)=>i[t]));return a.concat(o)}return[]}makeTensor(e,t,n,r){if(null==e)throw new Error("Values passed to engine.makeTensor() are null");r=r||this.backend;let i=e;"string"===(n=n||"float32")&&Rd(e[0])&&(i=e.map((e=>function(e,t="utf-8"){return t=t||"utf-8",$d().platform.encode(e,t)}(e))));const a=r.write(i,t,n),o=new wh(t,n,a,this.nextTensorId());if(this.trackTensor(o,r),"string"===n){const e=this.state.tensorInfo.get(a),t=function(e){if(null==e)return 0;let t=0;return e.forEach((e=>t+=e.length)),t}(i);this.state.numBytes+=t-e.bytes,e.bytes=t}return o}makeTensorFromDataId(e,t,n,r){return this.makeTensorFromTensorInfo({dataId:e,shape:t,dtype:n=n||"float32"},r)}makeTensorFromTensorInfo(e,t){const{dataId:n,shape:r,dtype:i}=e,a=new wh(r,i,n,this.nextTensorId());return this.trackTensor(a,t),a}makeVariable(e,t=!0,n,r){n=n||this.nextVariableId().toString(),null!=r&&r!==e.dtype&&(e=e.cast(r));const i=new xh(e,t,n,this.nextTensorId());if(null!=this.state.registeredVariables[i.name])throw new Error(`Variable with name ${i.name} was already registered`);return this.state.registeredVariables[i.name]=i,this.incRef(i,this.backend),i}trackTensor(e,t){this.state.numTensors++,"string"===e.dtype&&this.state.numStringTensors++;let n=0;"complex64"!==e.dtype&&"string"!==e.dtype&&(n=e.size*Ad(e.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:n})),e instanceof xh||this.track(e)}incRef(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)}removeDataId(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;const t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,"string"===e.dtype&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),"complex64"!==e.dtype&&"string"!==e.dtype){const t=e.size*Ad(e.dtype);this.state.numBytes-=t}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}disposeVariables(){for(const e in this.state.registeredVariables){this.disposeVariable(this.state.registeredVariables[e])}}disposeVariable(e){this.disposeTensor(e),null!=this.state.registeredVariables[e.name]&&delete this.state.registeredVariables[e.name]}memory(){const e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,null==e.reasons&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;const t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map((e=>e.totalBytesSnapshot))),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(const e of this.state.activeProfile.kernels)e.kernelTimeMs=await e.kernelTimeMs,e.extraInfo=await e.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&0===this.state.kernelDepth}addTapeNode(e,t,n,r,i,a){const o={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:i},s=Zd(e);null!=s&&(r=s.gradFunc),null!=r&&(o.gradient=e=>(e=e.map(((e,t)=>{if(null==e){const e=n[t],r=Nd(e.size,e.dtype);return this.makeTensor(r,e.shape,e.dtype)}return e})),r(e.length>1?e:e[0],i,a))),this.state.activeTape.push(o)}keep(e){return e.kept=!0,e}startTape(){0===this.state.gradientDepth&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){const t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){const t=Dh(e),n=new Set(t.map((e=>e.id)));for(let e=0;e<this.state.activeScope.track.length;e++){const t=this.state.activeScope.track[e];t.kept||n.has(t.id)||t.dispose()}const r=this.state.scopeStack.pop();this.state.activeScope=0===this.state.scopeStack.length?null:this.state.scopeStack[this.state.scopeStack.length-1],t.forEach((e=>{e.kept||e.scopeId!==r.id||this.track(e)}))}gradients(e,t,n,r=!1){if(Td(t.length>0,(()=>"gradients() received an empty list of xs.")),null!=n&&"float32"!==n.dtype)throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);const i=this.scopedRun((()=>this.startTape()),(()=>this.endTape()),(()=>this.tidy("forward",e)));Td(i instanceof wh,(()=>"The result y returned by f() must be a tensor."));const a=function(e,t,n){const r={},i={};for(let e=0;e<t.length;e++)r[t[e].id]=!0;for(let n=0;n<e.length;n++){const a=e[n],o=a.inputs;for(const e in o){const n=o[e];let s=!1;for(let e=0;e<t.length;e++)if(r[n.id]){a.outputs.forEach((e=>r[e.id]=!0)),s=!0,i[a.id]=!0;break}if(s)break}}const a={};a[n.id]=!0;const o={};for(let t=e.length-1;t>=0;t--){const n=e[t],r=n.inputs;for(let e=0;e<n.outputs.length;e++)if(a[n.outputs[e].id]){for(const e in r)a[r[e].id]=!0,o[n.id]=!0;break}}const s=[];for(let t=0;t<e.length;t++){const n=e[t];if(i[n.id]&&o[n.id]){const e={};for(const t in n.inputs){const i=n.inputs[t];r[i.id]&&(e[t]=i)}const t=Object.assign({},n);t.inputs=e,t.outputs=n.outputs,s.push(t)}}return s}(this.state.activeTape,t,i);if(!r&&0===a.length&&t.length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",(()=>{const e={};e[i.id]=null==n?function(e){const t=function(e,t){const n=Nd(e,t);for(let e=0;e<n.length;e++)n[e]=1;return n}(Sd(e),"float32");return Oh.makeTensor(t,e,"float32")}(i.shape):n,function(e,t,n,r){for(let i=t.length-1;i>=0;i--){const a=t[i],o=[];if(a.outputs.forEach((t=>{const n=e[t.id];o.push(null!=n?n:null)})),null==a.gradient)throw new Error(`Cannot compute gradient: gradient function not found for ${a.kernelName}.`);const s=a.gradient(o);for(const t in a.inputs){if(!(t in s))throw new Error(`Cannot backprop through input ${t}. Available gradients found: ${Object.keys(s)}.`);const i=n((()=>s[t]()));if("float32"!==i.dtype)throw new Error(`Error in gradient for op ${a.kernelName}. The gradient of input ${t} must have 'float32' dtype, but has '${i.dtype}'`);const o=a.inputs[t];if(!Cd(i.shape,o.shape))throw new Error(`Error in gradient for op ${a.kernelName}. The gradient of input '${t}' has shape '${i.shape}', which does not match the shape of the input '${o.shape}'`);if(null==e[o.id])e[o.id]=i;else{const t=e[o.id];e[o.id]=r(t,i),t.dispose()}}}}(e,a,(e=>this.tidy(e)),Bh);const r=t.map((t=>e[t.id]));return 0===this.state.gradientDepth&&(this.state.activeTape.forEach((e=>{for(const t of e.saved)t.dispose()})),this.state.activeTape=null),{value:i,grads:r}}))}customGrad(e){return Td(Id(e),(()=>"The f passed in customGrad(f) must be a function.")),(...t)=>{let n;Td(t.every((e=>e instanceof wh)),(()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors"));const r={};t.forEach(((e,t)=>{r[t]=e}));return this.runKernelFunc({forwardFunc:(r,i)=>(n=e(...t,i),Td(n.value instanceof wh,(()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor")),Td(Id(n.gradFunc),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.")),n.value),backwardsFunc:(e,r)=>{const i=n.gradFunc(e,r),a=Array.isArray(i)?i:[i];Td(a.length===t.length,(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).")),Td(a.every((e=>e instanceof wh)),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors."));const o={};return a.forEach(((e,t)=>{o[t]=()=>e})),o},inputs:r})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}readToGPU(e,t){return this.state.tensorInfo.get(e).backend.readToGPU(e,t)}async time(e){const t=nh(),n=await this.backend.time(e);return n.wallMs=nh()-t,n}track(e){return null!=this.state.activeScope&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new Nh;for(const e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}function Ph(){const e=zd();if(null==e._tfengine){const t=new Bd(e);e._tfengine=new Mh(t)}return jd=e._tfengine.ENV,function(e){yh=e}((()=>e._tfengine)),e._tfengine}Mh.nextTensorId=0,Mh.nextVariableId=0;const Oh=Ph();function Bh(e,t){return Oh.runKernel(Vd,{a:e,b:t})}const Uh=$d();function $h(e,t){let n=e;if(ih(e))return"string"===t?[]:[e.length];if(Rh(e)){return[e.height,e.width*(e.channels||"RGBA").length]}if(_h(e))return[e.buffer.size/(null==t?4:Ad(t))];if(!Array.isArray(e))return[];const r=[];for(;Array.isArray(n)||ih(n)&&"string"!==t;)r.push(n.length),n=n[0];return Array.isArray(e)&&$d().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&Gh(e,r,[]),r}function Gh(e,t,n){if(n=n||[],!Array.isArray(e)&&!ih(e))return void Td(0===t.length,(()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`));Td(t.length>0,(()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`)),Td(e.length===t[0],(()=>`Element arr[${n.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`));const r=t.slice(1);for(let t=0;t<e.length;++t)Gh(e[t],r,n.concat(t))}function jh(e,t,n,r){if("string_or_numeric"!==e){if(null==e)throw new Error("Expected dtype cannot be null.");if("numeric"!==e&&e!==t||"numeric"===e&&"string"===t)throw new Error(`Argument '${n}' passed to '${r}' must be ${e} tensor, but got ${t} tensor`)}}function zh(e,t,n,r="numeric"){if(e instanceof wh)return jh(r,e.dtype,t,n),e;let i=_d(e);if("string"!==i&&["bool","int32","float32"].indexOf(r)>=0&&(i=r),jh(r,i,t,n),null==e||!ih(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e){throw new Error(`Argument '${t}' passed to '${n}' must be a Tensor or TensorLike, but got '${null==e?"null":e.constructor.name}'`)}const a=$h(e,i);ih(e)||Array.isArray(e)||(e=[e]);const o="string"!==i?th(e,i):ah(e,[],!0);return Oh.makeTensor(o,a,i)}Uh.registerFlag("DEBUG",(()=>!1),(e=>{e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")})),Uh.registerFlag("IS_BROWSER",(()=>"undefined"!=typeof window&&null!=window.document||"undefined"!=typeof WorkerGlobalScope)),Uh.registerFlag("IS_NODE",(()=>"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node)),Uh.registerFlag("IS_CHROME",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor))),Uh.registerFlag("IS_SAFARI",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Safari/.test(navigator.userAgent)&&/Apple/.test(navigator.vendor))),Uh.registerFlag("PROD",(()=>!1)),Uh.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(()=>Uh.getBool("DEBUG"))),Uh.registerFlag("DEPRECATION_WARNINGS_ENABLED",(()=>!0)),Uh.registerFlag("IS_TEST",(()=>!1)),Uh.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(()=>Uh.getBool("DEBUG"))),Uh.registerFlag("WRAP_TO_IMAGEBITMAP",(()=>!1)),Uh.registerFlag("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU",(()=>!1)),Uh.registerFlag("USE_SETTIMEOUTCUSTOM",(()=>!1));function qh(e){const t=Object.keys(e);if(1!==t.length)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let n=t[0];const r=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1)),n+="__op";const i=(...e)=>{Oh.startScope(n);try{const t=r(...e);return Pd(t)&&console.error("Cannot return a Promise inside of tidy."),Oh.endScope(t),t}catch(e){throw Oh.endScope(null),e}};return Object.defineProperty(i,"name",{value:n,configurable:!0}),i}class Vh{static join(e){return new Vh(e).slice()}constructor(e){if(this.shards=[],this.previousShardIndex=0,null==e)return;if(e instanceof Array||(e=[e]),0===(e=e.map((e=>ih(e)?e.buffer:e))).length)return;this.bufferUniformSize=e[0].byteLength;let t=0;for(let n=0;n<e.length;n++){const r=e[n];n!==e.length-1&&r.byteLength!==this.bufferUniformSize&&(this.bufferUniformSize=void 0);const i=t+r.byteLength;this.shards.push({buffer:r,start:t,end:i}),t=i}0===this.shards.length&&(this.byteLength=0),this.byteLength=this.shards[this.shards.length-1].end}slice(e=0,t=this.byteLength){if(0===this.shards.length)return new ArrayBuffer(0);if(e=isNaN(Number(e))?0:e,t=isNaN(Number(t))?0:t,e=Math.max(0,e),(t=Math.min(this.byteLength,t))<=e)return new ArrayBuffer(0);const n=this.findShardForByte(e);if(-1===n)throw new Error(`Could not find start shard for byte ${e}`);const r=new ArrayBuffer(t-e),i=new Uint8Array(r);let a=0;for(let r=n;r<this.shards.length;r++){const n=this.shards[r],o=e+a-n.start,s=a,l=Math.min(t,n.end),c=new Uint8Array(n.buffer,o,l-n.start-o);if(i.set(c,s),a+=c.length,t<n.end)break}return r}findShardForByte(e){if(0===this.shards.length||e<0||e>=this.byteLength)return-1;if(null!=this.bufferUniformSize)return this.previousShardIndex=Math.floor(e/this.bufferUniformSize),this.previousShardIndex;function t(t){return e<t.start?-1:e>=t.end?1:0}if(0===t(this.shards[this.previousShardIndex]))return this.previousShardIndex;const n=function(e,t){let n=0,r=e.length;for(;n<=r;){const i=Math.floor((r-n)/2)+n,a=t(e[i]);if(0===a)return i;a<0?r=i:n=i+1}return-1}(this.shards,t);return-1===n?-1:(this.previousShardIndex=n,this.previousShardIndex)}}const Hh="undefined"!=typeof Buffer&&("undefined"==typeof Blob||"undefined"==typeof atob||"undefined"==typeof btoa);function Wh(e){return Hh?Buffer.byteLength(e,"utf8"):new Blob([e]).size}function Kh(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date,modelTopologyType:"JSON",modelTopologyBytes:null==e.modelTopology?0:Wh(JSON.stringify(e.modelTopology)),weightSpecsBytes:null==e.weightSpecs?0:Wh(JSON.stringify(e.weightSpecs)),weightDataBytes:null==e.weightData?0:new Vh(e.weightData).byteLength}}class Yh{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return null==Yh.instance&&(Yh.instance=new Yh),Yh.instance}static registerSaveRouter(e){Yh.getInstance().saveRouters.push(e)}static registerLoadRouter(e){Yh.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return Yh.getHandlers(e,"save")}static getLoadHandlers(e,t){return Yh.getHandlers(e,"load",t)}static getHandlers(e,t,n){const r=[];return("load"===t?Yh.getInstance().loadRouters:Yh.getInstance().saveRouters).forEach((t=>{const i=t(e,n);null!==i&&r.push(i)})),r}}const Xh="tensorflowjs",Jh="models_store",Zh="model_info_store";function Qh(){if(!$d().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");const e="undefined"==typeof window?self:window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(null==t)throw new Error("The current browser does not appear to support IndexedDB.");return t}function ef(e){const t=e.result;t.createObjectStore(Jh,{keyPath:"modelPath"}),t.createObjectStore(Zh,{keyPath:"modelPath"})}class tf{constructor(e){if(this.indexedDB=Qh(),null==e||!e)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise(((e,n)=>{const r=this.indexedDB.open(Xh,1);r.onupgradeneeded=()=>ef(r),r.onsuccess=()=>{const i=r.result;if(null==t){const t=i.transaction(Jh,"readonly"),r=t.objectStore(Jh).get(this.modelPath);r.onsuccess=()=>{if(null==r.result)return i.close(),n(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));e(r.result.modelArtifacts)},r.onerror=e=>(i.close(),n(r.error)),t.oncomplete=()=>i.close()}else{const r=Kh(t),a=i.transaction(Zh,"readwrite");let o,s,l=a.objectStore(Zh);try{o=l.put({modelPath:this.modelPath,modelArtifactsInfo:r})}catch(e){return n(e)}o.onsuccess=()=>{s=i.transaction(Jh,"readwrite");const o=s.objectStore(Jh);let c;try{c=o.put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:r})}catch(e){return n(e)}c.onsuccess=()=>e({modelArtifactsInfo:r}),c.onerror=e=>{l=a.objectStore(Zh);const t=l.delete(this.modelPath);t.onsuccess=()=>(i.close(),n(c.error)),t.onerror=e=>(i.close(),n(c.error))}},o.onerror=e=>(i.close(),n(o.error)),a.oncomplete=()=>{null==s?i.close():s.oncomplete=()=>i.close()}}},r.onerror=e=>n(r.error)}))}}tf.URL_SCHEME="indexeddb://";const nf=e=>{return $d().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(tf.URL_SCHEME)?(t=e.slice(tf.URL_SCHEME.length),new tf(t)):null;var t};Yh.registerSaveRouter(nf),Yh.registerLoadRouter(nf);class rf{constructor(){this.indexedDB=Qh()}async listModels(){return new Promise(((e,t)=>{const n=this.indexedDB.open(Xh,1);n.onupgradeneeded=()=>ef(n),n.onsuccess=()=>{const r=n.result,i=r.transaction(Zh,"readonly"),a=i.objectStore(Zh).getAll();a.onsuccess=()=>{const t={};for(const e of a.result)t[e.modelPath]=e.modelArtifactsInfo;e(t)},a.onerror=e=>(r.close(),t(a.error)),i.oncomplete=()=>r.close()},n.onerror=e=>t(n.error)}))}async removeModel(e){var t;return e=(t=e).startsWith(tf.URL_SCHEME)?t.slice(tf.URL_SCHEME.length):t,new Promise(((t,n)=>{const r=this.indexedDB.open(Xh,1);r.onupgradeneeded=()=>ef(r),r.onsuccess=()=>{const i=r.result,a=i.transaction(Zh,"readwrite"),o=a.objectStore(Zh),s=o.get(e);let l;s.onsuccess=()=>{if(null==s.result)return i.close(),n(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{const r=o.delete(e),a=()=>{l=i.transaction(Jh,"readwrite");const r=l.objectStore(Jh).delete(e);r.onsuccess=()=>t(s.result.modelArtifactsInfo),r.onerror=e=>n(s.error)};r.onsuccess=a,r.onerror=e=>(a(),i.close(),n(s.error))}},s.onerror=e=>(i.close(),n(s.error)),a.oncomplete=()=>{null==l?i.close():l.oncomplete=()=>i.close()}},r.onerror=e=>n(r.error)}))}}const af="/",of="tensorflowjs_models",sf="info",lf="model_topology",cf="weight_specs",uf="weight_data",df="model_metadata";function hf(e){return{info:[of,e,sf].join(af),topology:[of,e,lf].join(af),weightSpecs:[of,e,cf].join(af),weightData:[of,e,uf].join(af),modelMetadata:[of,e,df].join(af)}}function ff(e){for(const t of Object.values(e))window.localStorage.removeItem(t)}function pf(e){const t=e.split(af);if(t.length<3)throw new Error(`Invalid key format: ${e}`);return t.slice(1,t.length-1).join(af)}class gf{constructor(e){if(!$d().getBool("IS_BROWSER")||"undefined"==typeof window||void 0===window.localStorage)throw new Error("The current environment does not support local storage.");if(this.LS=window.localStorage,null==e||!e)throw new Error("For local storage, modelPath must not be null, undefined or empty.");this.modelPath=e,this.keys=hf(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");{const t=JSON.stringify(e.modelTopology),n=JSON.stringify(e.weightSpecs),r=Kh(e),i=Vh.join(e.weightData);try{this.LS.setItem(this.keys.info,JSON.stringify(r)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,function(e){if(Hh)return Buffer.from(e).toString("base64");const t=new Uint8Array(e);let n="";for(let e=0,r=t.length;e<r;e++)n+=String.fromCharCode(t[e]);return btoa(n)}(i));return this.LS.setItem(this.keys.modelMetadata,JSON.stringify({format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,signature:null!=e.signature?e.signature:void 0,userDefinedMetadata:null!=e.userDefinedMetadata?e.userDefinedMetadata:void 0,modelInitializer:null!=e.modelInitializer?e.modelInitializer:void 0,initializerSignature:null!=e.initializerSignature?e.initializerSignature:void 0,trainingConfig:null!=e.trainingConfig?e.trainingConfig:void 0})),{modelArtifactsInfo:r}}catch(e){throw ff(this.keys),new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${r.modelTopologyBytes}, weightSpecsBytes=${r.weightSpecsBytes}, weightDataBytes=${r.weightDataBytes}.`)}}}async load(){const e=JSON.parse(this.LS.getItem(this.keys.info));if(null==e)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if("JSON"!==e.modelTopologyType)throw new Error("BrowserLocalStorage does not support loading non-JSON model topology yet.");const t={},n=JSON.parse(this.LS.getItem(this.keys.topology));if(null==n)throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);t.modelTopology=n;const r=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(null==r)throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);t.weightSpecs=r;const i=this.LS.getItem(this.keys.modelMetadata);if(null!=i){const e=JSON.parse(i);t.format=e.format,t.generatedBy=e.generatedBy,t.convertedBy=e.convertedBy,null!=e.signature&&(t.signature=e.signature),null!=e.userDefinedMetadata&&(t.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(t.modelInitializer=e.modelInitializer),null!=e.initializerSignature&&(t.initializerSignature=e.initializerSignature),null!=e.trainingConfig&&(t.trainingConfig=e.trainingConfig)}const a=this.LS.getItem(this.keys.weightData);if(null==a)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=function(e){if(Hh){const t=Buffer.from(e,"base64");return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;++e)n.set([t.charCodeAt(e)],e);return n.buffer}(a),t}}gf.URL_SCHEME="localstorage://";const mf=e=>{return $d().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(gf.URL_SCHEME)?(t=e.slice(gf.URL_SCHEME.length),new gf(t)):null;var t};Yh.registerSaveRouter(mf),Yh.registerLoadRouter(mf);class vf{constructor(){Td($d().getBool("IS_BROWSER"),(()=>"Current environment is not a web browser")),Td("undefined"==typeof window||void 0!==window.localStorage,(()=>"Current browser does not appear to support localStorage")),this.LS=window.localStorage}async listModels(){const e={},t=of+af,n=af+sf;for(let r=0;r<this.LS.length;++r){const i=this.LS.key(r);if(i.startsWith(t)&&i.endsWith(n)){e[pf(i)]=JSON.parse(this.LS.getItem(i))}}return e}async removeModel(e){var t;const n=hf(e=(t=e).startsWith(gf.URL_SCHEME)?t.slice(gf.URL_SCHEME.length):t);if(null==this.LS.getItem(n.info))throw new Error(`Cannot find model at path '${e}'`);const r=JSON.parse(this.LS.getItem(n.info));return ff(n),r}}class yf{constructor(){this.managers={}}static getInstance(){return null==yf.instance&&(yf.instance=new yf),yf.instance}static registerManager(e,t){Td(null!=e,(()=>"scheme must not be undefined or null.")),e.endsWith("://")&&(e=e.slice(0,e.indexOf("://"))),Td(e.length>0,(()=>"scheme must not be an empty string."));const n=yf.getInstance();Td(null==n.managers[e],(()=>`A model store manager is already registered for scheme '${e}'.`)),n.managers[e]=t}static getManager(e){const t=yf.getInstance().managers[e];if(null==t)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(yf.getInstance().managers)}}class bf{constructor(){this.messageName="setTimeoutCustom",this.functionRefs=[],this.handledMessageCount=0,this.hasEventListener=!1}fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Browser's encoder only supports utf-8, but got ${t}`);return null==this.textEncoder&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}setTimeoutCustom(e,t){"undefined"!=typeof window&&$d().getBool("USE_SETTIMEOUTCUSTOM")?(this.functionRefs.push(e),setTimeout((()=>{window.postMessage({name:this.messageName,index:this.functionRefs.length-1},"*")}),t),this.hasEventListener||(this.hasEventListener=!0,window.addEventListener("message",(e=>{if(e.source===window&&e.data.name===this.messageName){e.stopPropagation();(0,this.functionRefs[e.data.index])(),this.handledMessageCount++,this.handledMessageCount===this.functionRefs.length&&(this.functionRefs=[],this.handledMessageCount=0)}}),!0))):setTimeout(e,t)}isTypedArray(e){return eh(e)}}if($d().get("IS_BROWSER")){$d().setPlatform("browser",new bf);try{yf.registerManager(gf.URL_SCHEME,new vf)}catch(e){}try{yf.registerManager(tf.URL_SCHEME,new rf)}catch(e){}}const wf=()=>require("node-fetch");let xf;class Ef{constructor(){this.util=require("util"),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return null!=$d().global.fetch?$d().global.fetch(e,t):(null==xf&&(xf=wf()),xf(e,t))}now(){const e=process.hrtime();return 1e3*e[0]+e[1]/1e6}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return 0===e.length?"":new this.util.TextDecoder(t).decode(e)}isTypedArray(e){return this.util.types.isFloat32Array(e)||this.util.types.isInt32Array(e)||this.util.types.isUint8Array(e)||this.util.types.isUint8ClampedArray(e)}}$d().get("IS_NODE")&&!$d().get("IS_BROWSER")&&$d().setPlatform("node",new Ef);const Tf=qh({cast_:function(e,t){const n=zh(e,"x","cast");if(!function(e){return"bool"===e||"complex64"===e||"float32"===e||"int32"===e||"string"===e}(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if("string"===t&&"string"!==n.dtype||"string"!==t&&"string"===n.dtype)throw new Error("Only strings can be casted to strings");return Oh.runKernel(Hd,{x:n},{dtype:t})}});const Sf=qh({clone_:function(e){const t=zh(e,"x","clone","string_or_numeric");return Oh.runKernel(Wd,{x:t})}});Ph();const Cf={buffer:function(e,t="float32",n){return t=t||"float32",Md(e),new vh(e,t,n)},cast:Tf,clone:Sf,print:function(e,t=!1){console.log(e.toString(t))}};function kf(e,t){return Oh.tidy(e,t)}function Af(e){Dh(e).forEach((e=>e.dispose()))}bh=Cf;const Rf=qh({add_:function(e,t){let n=zh(e,"a","add"),r=zh(t,"b","add");return[n,r]=Ih(n,r),Oh.runKernel(Vd,{a:n,b:r})}});const _f=qh({floorDiv_:function(e,t){let n=zh(e,"a","floorDiv"),r=zh(t,"b","floorDiv");return[n,r]=Ih(n,r),Oh.runKernel("FloorDiv",{a:n,b:r})}});const If=qh({div_:function(e,t){let n=zh(e,"a","div"),r=zh(t,"b","div");return[n,r]=Ih(n,r),"int32"===n.dtype&&"int32"===r.dtype?_f(n,r):Oh.runKernel("RealDiv",{a:n,b:r},{})}});const Df=qh({mul_:function(e,t){let n=zh(e,"a","mul"),r=zh(t,"b","mul");return[n,r]=Ih(n,r),Oh.runKernel("Multiply",{a:n,b:r})}});const Ff=qh({abs_:function(e){const t=zh(e,"x","abs");if("complex64"===t.dtype){return Oh.runKernel("ComplexAbs",{x:t})}return Oh.runKernel("Abs",{x:t})}});const Lf=qh({zerosLike_:function(e){const t=zh(e,"x","zerosLike");return Oh.runKernel("ZerosLike",{x:t})}});const Nf=qh({pow_:function(e,t){let n=zh(e,"base","pow"),r=zh(t,"exp","pow");return[n,r]=Ih(n,r),Oh.runKernel("Pow",{a:n,b:r})}});function Mf(e,t){if((ih(e)&&"string"!==t||Array.isArray(e))&&"complex64"!==t)throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if("string"===t&&ih(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return function(e,t,n,r){if(null==r)r=_d(e);else if("complex64"===r)throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(_h(e)||Rh(e)){if("float32"!==r&&"int32"!==r)throw new Error(`Creating tensor from GPU data only supports 'float32'|'int32' dtype, while the dtype is ${r}.`);return Oh.backend.createTensorFromGPUData(e,t||n,r)}if(!ih(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e)throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray");if(null!=t){Md(t);const e=Sd(t),r=Sd(n);Td(e===r,(()=>`Based on the provided shape, [${t}], the tensor should have ${e} values but has ${r}`));for(let e=0;e<n.length;++e){const r=e!==n.length-1||n[e]!==Sd(t.slice(e));Td(n[e]===t[e]||!r,(()=>`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `))}}return ih(e)||Array.isArray(e)||(e=[e]),t=t||n,e="string"!==r?th(e,r):ah(e,[],!0),Oh.makeTensor(e,t,r)}(e,[],[],t)}const Pf=qh({sqrt_:function(e){const t=zh(e,"x","sqrt","float32");return Oh.runKernel("Sqrt",{x:t})}});const Of=qh({square_:function(e){const t=zh(e,"x","square");return Oh.runKernel("Square",{x:t},{})}});const Bf=qh({sub_:function(e,t){let n=zh(e,"a","sub"),r=zh(t,"b","sub");return[n,r]=Ih(n,r),Oh.runKernel("Sub",{a:n,b:r})}});const Uf=qh({maximum_:function(e,t){let n=zh(e,"a","maximum"),r=zh(t,"b","maximum");return[n,r]=Ih(n,r),"bool"===n.dtype&&(n=Tf(n,"int32"),r=Tf(r,"int32")),function(e,t){const n=Math.max(e.length,t.length),r=new Array(n);for(let i=0;i<n;i++){let a=e[e.length-i-1];null==a&&(a=1);let o=t[t.length-i-1];if(null==o&&(o=1),1===a)r[n-i-1]=o;else if(1===o)r[n-i-1]=a;else{if(a!==o)throw Error(`Operands could not be broadcast together with shapes ${e} and ${t}.`);r[n-i-1]=a}}}(n.shape,r.shape),Oh.runKernel("Maximum",{a:n,b:r})}});class $f{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class Gf{constructor(){this.classNameMap={}}static getMap(){return null==Gf.instance&&(Gf.instance=new Gf),Gf.instance}static register(e){Gf.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function jf(e){Td(null!=e.className,(()=>"Class being registered does not have the static className property defined.")),Td("string"==typeof e.className,(()=>"className is required to be a string, but got type "+typeof e.className)),Td(e.className.length>0,(()=>"Class being registered has an empty-string as its className, which is disallowed.")),Gf.register(e)}class zf extends $f{minimize(e,t=!1,n){const{value:r,grads:i}=this.computeGradients(e,n);if(null!=n){const e=n.map((e=>({name:e.name,tensor:i[e.name]})));this.applyGradients(e)}else this.applyGradients(i);return Af(i),t?r:(r.dispose(),null)}get iterations(){return null==this.iterations_&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return function(e,t){Td(Id(e),(()=>"The f passed in variableGrads(f) must be a function")),Td(null==t||Array.isArray(t)&&t.every((e=>e instanceof xh)),(()=>"The varList passed in variableGrads(f, varList) must be an array of variables"));const n=null!=t;if(!n){t=[];for(const e in Oh.registeredVariables)t.push(Oh.registeredVariables[e])}const r=n?t.filter((e=>!e.trainable)):null,i=t.length;Td((t=t.filter((e=>e.trainable))).length>0,(()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${i} variables is trainable.`));const{value:a,grads:o}=Oh.gradients(e,t,null,!0);Td(o.some((e=>null!=e)),(()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().")),Td(0===a.rank,(()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${a.rank} tensor`));const s={};return t.forEach(((e,t)=>{null!=o[t]&&(s[e.name]=o[t])})),null!=r&&r.forEach((e=>s[e.name]=null)),{value:a,grads:s}}(e,t)}dispose(){null!=this.iterations_&&Af(this.iterations_)}async saveIterations(){return null==this.iterations_&&(this.iterations_=0),{name:"iter",tensor:Mf(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}}Object.defineProperty(zf,Symbol.hasInstance,{value:e=>null!=e.minimize&&null!=e.computeGradients&&null!=e.applyGradients});class qf extends zf{static get className(){return"SGD"}constructor(e){super(),this.learningRate=e,this.setLearningRate(e)}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);t.forEach(((t,n)=>{const r=Array.isArray(e)?e[n].tensor:e[t];if(null==r)return;const i=Oh.registeredVariables[t];kf((()=>{const e=Rf(Df(this.c,r),i);i.assign(e)}))})),this.incrementIterations()}setLearningRate(e){var t;this.learningRate=e,null!=this.c&&this.c.dispose(),this.c=(t=Mf(-e),Oh.keep(t))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(0!==(e=await this.extractIterations(e)).length)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}}const Vf=[class extends zf{static get className(){return"Adadelta"}constructor(e,t,n=null){super(),this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],null==n&&(this.epsilon=Oh.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=Oh.registeredVariables[t];null==this.accumulatedGrads[n]&&(this.accumulatedGrads[n]={originalName:`${t}/accum_grad`,variable:kf((()=>Lf(r).variable(false)))}),null==this.accumulatedUpdates[n]&&(this.accumulatedUpdates[n]={originalName:`${t}/accum_var`,variable:kf((()=>Lf(r).variable(false)))});const i=Array.isArray(e)?e[n].tensor:e[t];if(null==i)return;const a=this.accumulatedGrads[n].variable,o=this.accumulatedUpdates[n].variable;kf((()=>{const e=Rf(Df(a,this.rho),Df(Of(i),1-this.rho)),t=Df(If(Pf(Rf(o,this.epsilon)),Pf(Rf(a,this.epsilon))),i),n=Rf(Df(o,this.rho),Df(Of(t),1-this.rho));a.assign(e),o.assign(n);const s=Rf(Df(t,-this.learningRate),r);r.assign(s)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedUpdates&&(Af(this.accumulatedGrads.map((e=>e.variable))),Af(this.accumulatedUpdates.map((e=>e.variable))))}async getWeights(){const e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){const t=(e=await this.extractIterations(e)).length/2;this.accumulatedGrads=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)}))),this.accumulatedUpdates=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}},class extends zf{static get className(){return"Adagrad"}constructor(e,t=.1){super(),this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=Oh.registeredVariables[t];if(null==this.accumulatedGrads[n]){const e=!1;this.accumulatedGrads[n]={originalName:`${t}/accumulator`,variable:kf((()=>function(e,t,n){return Md(e),n=n||_d(t),Oh.runKernel("Fill",{},{shape:e,value:t,dtype:n})}(r.shape,this.initialAccumulatorValue).variable(e)))}}const i=Array.isArray(e)?e[n].tensor:e[t];if(null==i)return;const a=this.accumulatedGrads[n].variable;kf((()=>{const e=Rf(a,Of(i));a.assign(e);const t=Rf(Df(If(i,Pf(Rf(e,Oh.backend.epsilon()))),-this.learningRate),r);r.assign(t)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedGrads&&Af(this.accumulatedGrads.map((e=>e.variable)))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);this.accumulatedGrads=e.map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}},class extends zf{static get className(){return"Adam"}constructor(e,t,n,r=null){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],kf((()=>{this.accBeta1=Mf(t).variable(),this.accBeta2=Mf(n).variable()})),null==r&&(this.epsilon=Oh.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);kf((()=>{const n=Bf(1,this.accBeta1),r=Bf(1,this.accBeta2);t.forEach(((t,i)=>{const a=Oh.registeredVariables[t];null==this.accumulatedFirstMoment[i]&&(this.accumulatedFirstMoment[i]={originalName:`${t}/m`,variable:kf((()=>Lf(a).variable(false)))}),null==this.accumulatedSecondMoment[i]&&(this.accumulatedSecondMoment[i]={originalName:`${t}/v`,variable:kf((()=>Lf(a).variable(false)))});const o=Array.isArray(e)?e[i].tensor:e[t];if(null==o)return;const s=this.accumulatedFirstMoment[i].variable,l=this.accumulatedSecondMoment[i].variable,c=Rf(Df(s,this.beta1),Df(o,1-this.beta1)),u=Rf(Df(l,this.beta2),Df(Of(o),1-this.beta2)),d=If(c,n),h=If(u,r);s.assign(c),l.assign(u);const f=Rf(Df(If(d,Rf(Pf(h),this.epsilon)),-this.learningRate),a);a.assign(f)})),this.accBeta1.assign(Df(this.accBeta1,this.beta1)),this.accBeta2.assign(Df(this.accBeta2,this.beta2))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),null!=this.accumulatedFirstMoment&&Af(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedSecondMoment&&Af(this.accumulatedSecondMoment.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e),kf((()=>{this.accBeta1.assign(Nf(this.beta1,this.iterations_+1)),this.accBeta2.assign(Nf(this.beta2,this.iterations_+1))}));const t=e.length/2;this.accumulatedFirstMoment=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)}))),this.accumulatedSecondMoment=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}},class extends zf{static get className(){return"Adamax"}constructor(e,t,n,r=null,i=0){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=i,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],kf((()=>{this.iteration=Mf(0).variable(),this.accBeta1=Mf(t).variable()})),null==r&&(this.epsilon=Oh.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);kf((()=>{const n=Bf(1,this.accBeta1),r=If(-this.learningRate,Rf(Df(this.iteration,this.decay),1));t.forEach(((t,i)=>{const a=Oh.registeredVariables[t];null==this.accumulatedFirstMoment[i]&&(this.accumulatedFirstMoment[i]={originalName:`${t}/m`,variable:Lf(a).variable(false)}),null==this.accumulatedWeightedInfNorm[i]&&(this.accumulatedWeightedInfNorm[i]={originalName:`${t}/v`,variable:Lf(a).variable(false)});const o=Array.isArray(e)?e[i].tensor:e[t];if(null==o)return;const s=this.accumulatedFirstMoment[i].variable,l=this.accumulatedWeightedInfNorm[i].variable,c=Rf(Df(s,this.beta1),Df(o,1-this.beta1)),u=Df(l,this.beta2),d=Ff(o),h=Uf(u,d);s.assign(c),l.assign(h);const f=Rf(Df(If(r,n),If(c,Rf(h,this.epsilon))),a);a.assign(f)})),this.iteration.assign(Rf(this.iteration,1)),this.accBeta1.assign(Df(this.accBeta1,this.beta1))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),null!=this.accumulatedFirstMoment&&Af(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedWeightedInfNorm&&Af(this.accumulatedWeightedInfNorm.map((e=>e.variable)))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}},class extends qf{static get className(){return"Momentum"}constructor(e,t,n=!1){super(e),this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=Mf(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=Oh.registeredVariables[t];if(null==this.accumulations[n]){const e=!1;this.accumulations[n]={originalName:`${t}/momentum`,variable:kf((()=>Lf(r).variable(e)))}}const i=this.accumulations[n].variable,a=Array.isArray(e)?e[n].tensor:e[t];null!=a&&kf((()=>{let e;const t=Rf(Df(this.m,i),a);e=Rf(Df(this.c,this.useNesterov?Rf(a,Df(t,this.m)):t),r),i.assign(t),r.assign(e)}))})),this.incrementIterations()}dispose(){this.m.dispose(),null!=this.accumulations&&Af(this.accumulations.map((e=>e.variable)))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);this.accumulations=e.map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}},class extends zf{static get className(){return"RMSProp"}constructor(e,t=.9,n=0,r=null,i=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=i,null==r&&(this.epsilon=Oh.backend.epsilon()),null==e)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=Oh.registeredVariables[t],i=!1;null==this.accumulatedMeanSquares[n]&&(this.accumulatedMeanSquares[n]={originalName:`${t}/rms`,variable:kf((()=>Lf(r).variable(i)))}),null==this.accumulatedMoments[n]&&(this.accumulatedMoments[n]={originalName:`${t}/momentum`,variable:kf((()=>Lf(r).variable(i)))}),null==this.accumulatedMeanGrads[n]&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${t}/mg`,variable:kf((()=>Lf(r).variable(i)))});const a=Array.isArray(e)?e[n].tensor:e[t];if(null==a)return;const o=this.accumulatedMeanSquares[n].variable,s=this.accumulatedMoments[n].variable;kf((()=>{const e=Rf(Df(o,this.decay),Df(Of(a),1-this.decay));if(this.centered){const t=this.accumulatedMeanGrads[n].variable,i=Rf(Df(t,this.decay),Df(a,1-this.decay)),l=If(Df(a,this.learningRate),Pf(Bf(e,Rf(Of(i),this.epsilon)))),c=Rf(Df(s,this.momentum),l);o.assign(e),t.assign(i),s.assign(c);const u=Bf(r,c);r.assign(u)}else{const e=Rf(Df(o,this.decay),Df(Of(a),1-this.decay)),t=Rf(Df(s,this.momentum),If(Df(a,this.learningRate),Pf(Rf(e,this.epsilon))));o.assign(e),s.assign(t);const n=Bf(r,t);r.assign(n)}}))})),this.incrementIterations()}dispose(){null!=this.accumulatedMeanSquares&&Af(this.accumulatedMeanSquares.map((e=>e.variable))),null!=this.accumulatedMeanGrads&&this.centered&&Af(this.accumulatedMeanGrads.map((e=>e.variable))),null!=this.accumulatedMoments&&Af(this.accumulatedMoments.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);const t=this.centered?e.length/3:e.length/2,n=!1;this.accumulatedMeanSquares=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))),this.accumulatedMoments=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))),this.centered&&(this.accumulatedMeanGrads=e.slice(2*t,3*t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}},qf];!function(){for(const e of Vf)jf(e)}();const Hf={},Wf={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function Kf(e,t){if(!(e in Hf)||null!=t){const n=function(e,t){if(1!==e&&2!==e)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const n=null==t?function(e){if($d().getBool("IS_SAFARI")||"undefined"==typeof OffscreenCanvas||2!==e){if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}return new OffscreenCanvas(300,150)}(e):t;n.addEventListener("webglcontextlost",(t=>{t.preventDefault(),delete Hf[e]}),!1),$d().getBool("SOFTWARE_WEBGL_ENABLED")&&(Wf.failIfMajorPerformanceCaveat=!1);if(1===e)return n.getContext("webgl",Wf)||n.getContext("experimental-webgl",Wf);return n.getContext("webgl2",Wf)}(e,t);if(null===n)return console.log("Could not get context for WebGL version",e),null;Hf[e]=n}const n=Hf[e];return null==n||n.isContextLost()?(delete Hf[e],Kf(e)):(n.disable(n.DEPTH_TEST),n.disable(n.STENCIL_TEST),n.disable(n.BLEND),n.disable(n.DITHER),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SAMPLE_COVERAGE),n.enable(n.SCISSOR_TEST),n.enable(n.CULL_FACE),n.cullFace(n.BACK),Hf[e])}var Yf={boxes:0,scores:7,labels:4},Xf=function(e){var t=e.children,r=e.documentDetectionModelUrl,i=e.focusModelUrl,o=n.useRef(),s=n.useRef(),l=n.useState(!1),u=l[0],d=l[1],h=n.useRef(!1),p=n.useRef(),v=n.useRef(null),y=n.useRef(null),b=n.useState(0),w=b[0],x=b[1],E=n.useState(0),T=E[0],S=E[1];r=r||"".concat(Ut,"/models/documentdetection448/model.json"),i=i||"".concat(Ut,"/models/focus/model.json"),n.useEffect((function(){g(void 0,void 0,void 0,(function(){var e;return m(this,(function(t){switch(t.label){case 0:return r&&i?(console.log("loading models!"),d(!1),f.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",52428800),[4,f.setBackend("webgl")]):[2];case 1:return t.sent(),[4,f.ready()];case 2:return t.sent(),[4,Promise.all([bt(r),wd(i)])];case 3:return e=t.sent(),o.current=e[0],s.current=e[1],Kf(2).canvas.addEventListener("webglcontextlost",(function(){return g(void 0,void 0,void 0,(function(){var e,t,n;return m(this,(function(l){switch(l.label){case 0:if(console.log("OMG I CAUGHT IT!"),d(!1),delete Hf[2],!((e=null===(n=y.current)||void 0===n?void 0:n.getContext("webgl2"))&&r&&i))return[3,4];console.log("setting new context!"),a.setWebGLContext(2,e);try{f.backend().dispose()}catch(e){console.error("failed to dispose backend")}return[4,f.setBackend("webgl")];case 1:return l.sent(),[4,f.ready()];case 2:return l.sent(),[4,Promise.all([bt(r),wd(i)])];case 3:t=l.sent(),o.current=t[0],s.current=t[1],console.log("ok we should be good to go now!"),d(!0),l.label=4;case 4:return[2]}}))}))})),d(!0),[2]}}))}))}),[r,i]);var C=n.useCallback((function(e){h.current=!0,g(void 0,void 0,void 0,(function(){var t,n,r,i,a,l,c,u;return m(this,(function(d){switch(d.label){case 0:return o.current&&s.current&&v.current?[4,Jf(o.current,s.current,e,v.current)]:[2];case 1:return t=d.sent(),r=(n=t[0])[0],i=n[1],l=(a=t[1])[0],c=a[1],null===(u=p.current)||void 0===u||u.call(p,{image:e,documentDetection:r,focus:l}),x(i),S(c),h.current=!1,[2]}}))}))}),[]),k=n.useCallback((function(e){p.current=e}),[]);return c.default.createElement(Lt.Provider,{value:{ready:u,working:h,makePrediction:C,onPredictionMade:k,documentDetectionPredictionTime:w,focusPredictionTime:T}},t,c.default.createElement("canvas",{ref:v,style:{display:"none"}}),c.default.createElement("canvas",{ref:y,style:{display:"none"}}))};function Jf(e,t,n,r){return g(this,void 0,void 0,(function(){var i,a,o;return m(this,(function(s){switch(s.label){case 0:return i=null,[4,Zf(e,n)];case 1:return a=s.sent(),[4,Qf(t,n)];case 2:return o=s.sent(),null==i||i.clearRect(0,0,r.width,r.height),[2,[a,o]]}}))}))}function Zf(e,t){return g(this,void 0,void 0,(function(){var n,r,i,a,o,s,l,c,u,d,h,p,g,v,y,b,w;return m(this,(function(m){switch(m.label){case 0:n=new Date,m.label=1;case 1:return m.trys.push([1,7,,8]),r=f.browser.fromPixels(t),console.time("resize"),i=f.image.resizeBilinear(r,[448,448]),console.timeEnd("resize"),r.dispose(),console.time("convert to int32"),a=f.cast(i,"int32"),i.dispose(),l=(s=f).tensor4d,u=(c=Array).from,[4,a.data()];case 2:return o=l.apply(s,[u.apply(c,[m.sent()]),[1,448,448,3]]),a.dispose(),d=f.cast(o,"int32"),console.timeEnd("convert to int32"),o.dispose(),console.log("making predictions"),console.time("predictions"),[4,e.executeAsync(d)];case 3:return h=m.sent(),console.timeEnd("predictions"),d.dispose(),p=h,console.log(p.map((function(e){return e.arraySync()}))),[4,p[Yf.boxes].array()];case 4:return g=m.sent()[0],[4,p[Yf.scores].array()];case 5:return v=m.sent()[0],[4,p[Yf.labels].array()];case 6:return y=(y=m.sent()[0]).map((function(e){return Math.round(e)})),f.dispose(h),b=(new Date).getTime()-n.getTime(),[2,[{boxes:g,scores:v,labels:y},b]];case 7:return w=m.sent(),console.error("caught error in makeDocumentDetectionPredictions",w),[2,[{boxes:[],scores:[],labels:[]},0]];case 8:return[2]}}))}))}function Qf(e,t){return g(this,void 0,void 0,(function(){var n,r,i,a,o,s,l,c,u,d,h,p,g;return m(this,(function(m){switch(m.label){case 0:n=new Date,m.label=1;case 1:return m.trys.push([1,5,,6]),r=f.browser.fromPixels(t),i=f.image.resizeBilinear(r,[448,448]),r.dispose(),a=f.cast(i,"int32"),i.dispose(),l=(s=f).tensor4d,u=(c=Array).from,[4,a.data()];case 2:return o=l.apply(s,[u.apply(c,[m.sent()]),[1,448,448,3]]),a.dispose(),d=f.cast(o,"int32"),o.dispose(),console.time("focus prediction"),[4,e.predict(d)];case 3:return h=m.sent(),d.dispose(),[4,h.array()];case 4:return p=m.sent()[0],console.timeEnd("focus prediction"),f.dispose(h),g=(new Date).getTime()-n.getTime(),[2,[p,g]];case 5:return m.sent(),[2,[[0,0],0]];case 6:return[2]}}))}))}function ep(){if(!(["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document))return!1;var e=window.screen.width<window.screen.height?window.screen.width:window.screen.height,t=window.screen.width*window.devicePixelRatio,n=window.screen.height*window.devicePixelRatio;return 1179==t&&2556==n||1290==t&&2796==n&&(393==e||430==e)}var tp=[{label:"1080p(FHD)",width:1920,height:1080,ratio:"16:9"},{label:"UXGA",width:1600,height:1200,ratio:"4:3"},{label:"720p(HD)",width:1280,height:720,ratio:"16:9"},{label:"SVGA",width:800,height:600,ratio:"4:3"},{label:"VGA",width:640,height:480,ratio:"4:3"},{label:"360p(nHD)",width:640,height:360,ratio:"16:9"},{label:"CIF",width:352,height:288,ratio:"4:3"},{label:"QVGA",width:320,height:240,ratio:"4:3"},{label:"QCIF",width:176,height:144,ratio:"4:3"},{label:"QQVGA",width:160,height:120,ratio:"4:3"}],np=function(e){return e.label.toLocaleLowerCase().split(" ").join("")},rp=function(e){var t=void 0===e?{preferFrontFacingCamera:!1,preferContinuityCamera:!0,requestMicrophoneAccess:!1}:e,r=t.preferFrontFacingCamera,i=t.preferContinuityCamera,a=t.requestMicrophoneAccess,o=n.useRef(null),s=n.useState(null),l=s[0],c=s[1],u=n.useRef(null),d=n.useState(!1),h=d[0],f=d[1],p=n.useState(null),v=p[0],y=p[1],b=n.useState(!1),w=b[0],x=b[1],E=n.useState(i),T=E[0],S=E[1],C=n.useState(!1),k=C[0],A=C[1],R=n.useState(!1),_=R[0],I=R[1];n.useEffect((function(){var e;console.log("iphone continuity camera allowed changed",T),null===(e=u.current)||void 0===e||e.release(),u.current=null,f(!1)}),[T]);var D=n.useCallback((function(){I(!1)}),[]);n.useEffect((function(){g(void 0,void 0,void 0,(function(){var e,t,n,i,a;return m(this,(function(o){switch(o.label){case 0:if(_)return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia({video:!0,audio:!1})];case 2:return e=o.sent(),[3,4];case 3:if("NotAllowedError"===(t=o.sent()).name)return console.error("caught the block!!",t),I(!0),[2];throw t;case 4:return[4,navigator.mediaDevices.enumerateDevices()];case 5:return n=o.sent().filter((function(e){return"videoinput"===e.kind})),k||(a=n.find((function(e){return np(e).includes("iphonecamera")})),x(!!a),T&&(i=a)),r&&(i=n.find((function(e){return np(e).includes("front")}))),i||(i=ep()?n.find((function(e){return np(e).includes("backultrawidecamera")})):n.find((function(e){return np(e).includes("back")&&!np(e).includes("backultrawidecamera")}))),i||(i=n.find((function(e){return np(e).includes("back")}))),i||(i=n[0]),c(i),e.getVideoTracks().forEach((function(e){e.stop()})),[2]}}))}))}),[_,T,k,r]),n.useEffect((function(){var e;if(l){var t=function(){var e;null===(e=u.current)||void 0===e||e.release(),u.current=null,f(!1)};if(!(null===(e=navigator.mediaDevices)||void 0===e?void 0:e.getUserMedia))return t;console.log("loading camera!");var n=null;return g(void 0,void 0,void 0,(function(){var e,t;return m(this,(function(r){switch(r.label){case 0:e=0,r.label=1;case 1:if(e===tp.length)return[3,6];t={audio:a,video:{deviceId:{exact:l.deviceId},width:{exact:tp[e].width},height:{exact:tp[e].height}}},r.label=2;case 2:return r.trys.push([2,4,,5]),null==n||n.getVideoTracks().forEach((function(e){e.stop()})),[4,navigator.mediaDevices.getUserMedia(t)];case 3:return n=r.sent(),console.log("it can do",tp[e].label),[3,6];case 4:return"NotAllowedError"===r.sent().name?(T?(x(!1),A(!0)):I(!0),[2]):(console.log("well, it cant do",tp[e].label),[3,5]);case 5:return++e,[3,1];case 6:if(n)return[3,12];e=0,r.label=7;case 7:if(e===tp.length)return[3,12];t={audio:!1,video:{deviceId:{exact:l.deviceId},width:{ideal:tp[e].width},height:{ideal:tp[e].height}}},r.label=8;case 8:return r.trys.push([8,10,,11]),null==n||n.getVideoTracks().forEach((function(e){e.stop()})),[4,navigator.mediaDevices.getUserMedia(t)];case 9:return n=r.sent(),console.log("it can do",tp[e].label),[3,12];case 10:return r.sent(),console.log("well, it cant do",tp[e].label),[3,11];case 11:return++e,[3,7];case 12:if(n)return[3,16];r.label=13;case 13:return r.trys.push([13,15,,16]),[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 14:return n=r.sent(),console.log("opened stream with no width and height constraints"),[3,16];case 15:return r.sent(),console.log("cannot open stream at all"),[3,16];case 16:if(!n)throw new Error("failed to open camera");return n.getVideoTracks()[0].onended=function(){var e;w&&T?(console.log("someone unplugged the continuity camera"),x(!1),A(!0)):(console.log("someone unplugged the webcam"),null===(e=u.current)||void 0===e||e.release(),u.current=null,f(!1),I(!0),y(null))},u.current=function(e,t){var n=e.getVideoTracks()[0].getSettings(),r=n.width,i=n.height,a=t.toLocaleLowerCase().split(" ").join("");console.log("CAMERA LABEL",a);var o=a.includes("back")||a.includes("iphonecamera");return r||(r=0),i||(i=0),{stream:e,width:r,height:i,isRearFacing:o,release:function(){e.getTracks().forEach((function(e){e.stop()}))}}}(n,l.label),o.current&&(o.current.srcObject=n),[2]}}))})),t}}),[T,w,a,l,!!o.current]),n.useEffect((function(){y(null),h&&g(void 0,void 0,void 0,(function(){var e,t,n,r;return m(this,(function(i){return(e=(null!==(r=null===(n=null===(t=u.current)||void 0===t?void 0:t.stream)||void 0===n?void 0:n.getVideoTracks())&&void 0!==r?r:[])[0])?(y(new ImageCapture(e)),[2]):[2]}))}))}),[h]);var F=n.useCallback((function(){return g(void 0,void 0,void 0,(function(){return m(this,(function(e){switch(e.label){case 0:return v?[4,v.grabFrame()]:[2,null];case 1:return[2,e.sent()]}}))}))}),[v]),L=n.useCallback((function(){return g(void 0,void 0,void 0,(function(){var e,t,n,r,i;return m(this,(function(a){switch(a.label){case 0:return e=document.createElement("canvas"),(t=e.getContext("2d"))&&u.current&&o.current?(e.width=null===(r=o.current)||void 0===r?void 0:r.videoWidth,e.height=null===(i=o.current)||void 0===i?void 0:i.videoHeight,t.drawImage(o.current,0,0,e.width,e.height),n=e.toDataURL("image/jpeg",.98),[4,fetch(n)]):[2,null];case 1:return[4,a.sent().blob()];case 2:return[2,a.sent()]}}))}))}),[]),N=n.useCallback((function(){var e,t;u.current&&(console.log("releasing camera access!"),null===(t=null===(e=u.current)||void 0===e?void 0:e.release)||void 0===t||t.call(e),u.current=null)}),[]);return{videoRef:o,videoDevice:l,videoLoaded:h,setVideoLoaded:f,cameraRef:u,cameraAccessDenied:_,retryCameraAccess:D,releaseCameraAccess:N,iphoneContinuityCameraAvailable:w,iphoneContinuityCameraAllowed:T,setIphoneContinuityCameraAllowed:S,captureDevice:v,grabFrame:F,takePhoto:L}},ip=function(e){var t=e.children,r=e.preferFrontFacingCamera,i=e.preferContinuityCamera,a=e.requestMicrophoneAccess,o=rp({preferFrontFacingCamera:void 0!==r&&r,preferContinuityCamera:void 0===i||i,requestMicrophoneAccess:void 0!==a&&a}),s=o.videoRef,l=o.videoLoaded,u=o.setVideoLoaded,d=o.cameraRef,h=o.cameraAccessDenied,f=o.retryCameraAccess,p=o.releaseCameraAccess,g=o.iphoneContinuityCameraAvailable,m=o.iphoneContinuityCameraAllowed,v=o.setIphoneContinuityCameraAllowed,y=o.grabFrame,b=o.takePhoto,w=o.captureDevice,x=n.useState(!1),E=x[0],T=x[1];return n.useEffect((function(){T(!1),w&&(T(!0),b().then((function(){T(!0)})))}),[w,b]),n.useEffect((function(){return function(){p()}}),[p]),c.default.createElement(Nt.Provider,{value:{videoRef:s,videoLoaded:l,setVideoLoaded:u,cameraRef:d,cameraReady:E,cameraAccessDenied:h,releaseCameraAccess:p,retryCameraAccess:f,iphoneContinuityCameraAvailable:g,iphoneContinuityCameraAllowed:m,setIphoneContinuityCameraAllowed:v,grabFrame:y,takePhoto:b}},t)},ap=function(e){var t=e.children,r=n.useState({width:1,height:1}),i=r[1],a=n.useState(1),o=a[0],s=a[1],l=Et(),u=l.ref,d=l.width,h=void 0===d?1:d,f=l.height,p=void 0===f?1:f,g=h/p,m=n.useCallback((function(e){var t=e.target;s(t.naturalWidth/t.naturalHeight)}),[]);return c.default.createElement(Tt.Provider,{value:{orientation:"landscape",wrapperWidth:h,wrapperHeight:p,wrapperAspectRatio:g,imageAspectRatio:o,setDimensions:i,wrapperRef:u,onImageLoaded:m}},t)},op=function(){var e=n.useContext(qe),t=e.submissionRequest,r=e.submissionResponse,i=n.useState(!1),a=i[0],o=i[1],s=n.useState(!0),l=s[0],u=s[1],d=n.useMemo((function(){var e,n,r,i,a,o,s=JSON.parse(JSON.stringify(t));return l&&((null===(n=null===(e=null==s?void 0:s.customerData)||void 0===e?void 0:e.idData)||void 0===n?void 0:n.idImageFront)&&(s.customerData.idData.idImageFront=sp(s.customerData.idData.idImageFront,200)),(null===(i=null===(r=null==s?void 0:s.customerData)||void 0===r?void 0:r.idData)||void 0===i?void 0:i.idImageBack)&&(s.customerData.idData.idImageBack=sp(s.customerData.idData.idImageBack,200)),(null===(o=null===(a=null==s?void 0:s.customerData)||void 0===a?void 0:a.biometricData)||void 0===o?void 0:o.selfie)&&(s.customerData.biometricData.selfie=sp(s.customerData.biometricData.selfie,200))),JSON.stringify(s,null,2)}),[t,l]);return c.default.createElement(c.default.Fragment,null,c.default.createElement("h3",null,"Submission completed!"),c.default.createElement("button",{onClick:function(){o(!a)}},a?"Hide":"Show"," request body"),a&&c.default.createElement(c.default.Fragment,null,c.default.createElement("button",{style:{marginLeft:8},onClick:function(){u(!l)}},l?"Display full images":"Truncate images"),c.default.createElement("h5",null,"Request Body"),c.default.createElement("pre",null,d)),c.default.createElement("h5",null,"Response Body"),c.default.createElement("pre",null,JSON.stringify(r,null,2)))};function sp(e,t){var n=e.split("").splice(0,t).join("");return n.length<e.length&&(n+="..."),n}var lp,cp=h.default.div(lp||(lp=y(["\n display: inline-block;\n width: 80px;\n height: 80px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: 64px;\n height: 64px;\n margin: 8px;\n border-radius: 50%;\n border: 6px solid #888;\n border-color: #888 transparent #888 transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"],["\n display: inline-block;\n width: 80px;\n height: 80px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: 64px;\n height: 64px;\n margin: 8px;\n border-radius: 50%;\n border: 6px solid #888;\n border-color: #888 transparent #888 transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"]))),up=function(e){var t=e.document,r=e.onComplete,i=e.headingText,a=e.nextBtnText,o=ye().t,s=n.useState(null),l=s[0],u=s[1];return i=i||o("Additional document capture"),a=a||o("Next"),c.default.createElement(rt,null,c.default.createElement(it,{style:{textAlign:"left"}},c.default.createElement("h3",{style:{margin:"0 0 8px"}},i,": ",t.name),t.description&&c.default.createElement("p",{style:{margin:"8px 0"}},t.description),c.default.createElement("p",{style:{margin:"8px 0"}},c.default.createElement("input",{type:"file",accept:"image/*,.pdf",onChange:function(e){var t,n=null===(t=e.target.files)||void 0===t?void 0:t[0];n&&u(n)}})),c.default.createElement("p",{style:{margin:"8px 0"}},c.default.createElement("button",{disabled:!l,onClick:function(e){if(e.preventDefault(),l){var n=new FileReader;n.onloadend=function(){if(n.result){var e=n.result.toString();null==r||r({documentName:t.name,additionalDocument:{name:l.name,fileContent:Ke(e),type:Ye(e),fileUploadType:"Y",isImageControlData:"N",fieldId:""}})}},n.readAsDataURL(l)}}},a))))},dp=function(e){var t=e.documents,r=e.onComplete,i=e.verbiage,a=void 0===i?{}:i,o=n.useState([]),s=o[0],l=o[1],u=s.length,d=t[u],h=u>=t.length;return n.useEffect((function(){(null==d?void 0:d.skip)&&g(void 0,void 0,void 0,(function(){var e;return m(this,(function(t){switch(t.label){case 0:return[4,null===(e=d.skip)||void 0===e?void 0:e.call(d)];case 1:return t.sent()&&l((function(e){return v(v([],e,!0),[null],!1)})),[2]}}))}))}),[d]),n.useEffect((function(){h&&(null==r||r(s.filter((function(e){return!!e}))))}),[h,r,s]),h?c.default.createElement(c.default.Fragment,null,"Thanks, your documents have been received."):c.default.createElement(up,{key:u,headingText:a.headingText,nextBtnText:a.nextBtnText,document:d,onComplete:function(e){l((function(t){return v(v([],t,!0),[e],!1)}))}})},hp="function"==typeof Symbol&&Symbol.for,fp=hp?Symbol.for("react.element"):60103,pp=hp?Symbol.for("react.portal"):60106,gp=hp?Symbol.for("react.fragment"):60107,mp=hp?Symbol.for("react.strict_mode"):60108,vp=hp?Symbol.for("react.profiler"):60114,yp=hp?Symbol.for("react.provider"):60109,bp=hp?Symbol.for("react.context"):60110,wp=hp?Symbol.for("react.async_mode"):60111,xp=hp?Symbol.for("react.concurrent_mode"):60111,Ep=hp?Symbol.for("react.forward_ref"):60112,Tp=hp?Symbol.for("react.suspense"):60113,Sp=hp?Symbol.for("react.suspense_list"):60120,Cp=hp?Symbol.for("react.memo"):60115,kp=hp?Symbol.for("react.lazy"):60116,Ap=hp?Symbol.for("react.block"):60121,Rp=hp?Symbol.for("react.fundamental"):60117,_p=hp?Symbol.for("react.responder"):60118,Ip=hp?Symbol.for("react.scope"):60119;function Dp(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case fp:switch(e=e.type){case wp:case xp:case gp:case vp:case mp:case Tp:return e;default:switch(e=e&&e.$$typeof){case bp:case Ep:case kp:case Cp:case yp:return e;default:return t}}case pp:return t}}}function Fp(e){return Dp(e)===xp}var Lp={AsyncMode:wp,ConcurrentMode:xp,ContextConsumer:bp,ContextProvider:yp,Element:fp,ForwardRef:Ep,Fragment:gp,Lazy:kp,Memo:Cp,Portal:pp,Profiler:vp,StrictMode:mp,Suspense:Tp,isAsyncMode:function(e){return Fp(e)||Dp(e)===wp},isConcurrentMode:Fp,isContextConsumer:function(e){return Dp(e)===bp},isContextProvider:function(e){return Dp(e)===yp},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===fp},isForwardRef:function(e){return Dp(e)===Ep},isFragment:function(e){return Dp(e)===gp},isLazy:function(e){return Dp(e)===kp},isMemo:function(e){return Dp(e)===Cp},isPortal:function(e){return Dp(e)===pp},isProfiler:function(e){return Dp(e)===vp},isStrictMode:function(e){return Dp(e)===mp},isSuspense:function(e){return Dp(e)===Tp},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===gp||e===xp||e===vp||e===mp||e===Tp||e===Sp||"object"==typeof e&&null!==e&&(e.$$typeof===kp||e.$$typeof===Cp||e.$$typeof===yp||e.$$typeof===bp||e.$$typeof===Ep||e.$$typeof===Rp||e.$$typeof===_p||e.$$typeof===Ip||e.$$typeof===Ap)},typeOf:Dp};ie((function(e,t){}));ie((function(e){e.exports=Lp}));function Np(){}function Mp(){}Mp.resetWarningCache=Np;var Pp=ie((function(e){e.exports=function(){function e(e,t,n,r,i,a){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==a){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:Mp,resetWarningCache:Np};return n.PropTypes=n,n}()}));function Op(e,t,n){this.x=e,this.y=t,this.time=n||(new Date).getTime()}function Bp(e,t,n,r){this.startPoint=e,this.control1=t,this.control2=n,this.endPoint=r}function Up(e,t){var n=this,r=t||{};this.velocityFilterWeight=r.velocityFilterWeight||.7,this.minWidth=r.minWidth||.5,this.maxWidth=r.maxWidth||2.5,this.throttle="throttle"in r?r.throttle:16,this.minDistance="minDistance"in r?r.minDistance:5,this._strokeMoveUpdate=this.throttle?function(e,t,n){var r,i,a,o=null,s=0;n||(n={});var l=function(){s=!1===n.leading?0:Date.now(),o=null,a=e.apply(r,i),o||(r=i=null)};return function(){var c=Date.now();s||!1!==n.leading||(s=c);var u=t-(c-s);return r=this,i=arguments,u<=0||u>t?(o&&(clearTimeout(o),o=null),s=c,a=e.apply(r,i),o||(r=i=null)):o||!1===n.trailing||(o=setTimeout(l,u)),a}}(Up.prototype._strokeUpdate,this.throttle):Up.prototype._strokeUpdate,this.dotSize=r.dotSize||function(){return(this.minWidth+this.maxWidth)/2},this.penColor=r.penColor||"black",this.backgroundColor=r.backgroundColor||"rgba(0,0,0,0)",this.onBegin=r.onBegin,this.onEnd=r.onEnd,this._canvas=e,this._ctx=e.getContext("2d"),this.clear(),this._handleMouseDown=function(e){1===e.which&&(n._mouseButtonDown=!0,n._strokeBegin(e))},this._handleMouseMove=function(e){n._mouseButtonDown&&n._strokeMoveUpdate(e)},this._handleMouseUp=function(e){1===e.which&&n._mouseButtonDown&&(n._mouseButtonDown=!1,n._strokeEnd(e))},this._handleTouchStart=function(e){1===e.targetTouches.length&&n._strokeBegin(e.changedTouches[0])},this._handleTouchMove=function(e){e.preventDefault(),n._strokeMoveUpdate(e.targetTouches[0])},this._handleTouchEnd=function(e){e.target===n._canvas&&(e.preventDefault(),n._strokeEnd(e))},this.on()}Op.prototype.velocityFrom=function(e){return this.time!==e.time?this.distanceTo(e)/(this.time-e.time):1},Op.prototype.distanceTo=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))},Op.prototype.equals=function(e){return this.x===e.x&&this.y===e.y&&this.time===e.time},Bp.prototype.length=function(){for(var e=0,t=void 0,n=void 0,r=0;r<=10;r+=1){var i=r/10,a=this._point(i,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),o=this._point(i,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(r>0){var s=a-t,l=o-n;e+=Math.sqrt(s*s+l*l)}t=a,n=o}return e},Bp.prototype._point=function(e,t,n,r,i){return t*(1-e)*(1-e)*(1-e)+3*n*(1-e)*(1-e)*e+3*r*(1-e)*e*e+i*e*e*e},Up.prototype.clear=function(){var e=this._ctx,t=this._canvas;e.fillStyle=this.backgroundColor,e.clearRect(0,0,t.width,t.height),e.fillRect(0,0,t.width,t.height),this._data=[],this._reset(),this._isEmpty=!0},Up.prototype.fromDataURL=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=new Image,i=n.ratio||window.devicePixelRatio||1,a=n.width||this._canvas.width/i,o=n.height||this._canvas.height/i;this._reset(),r.src=e,r.onload=function(){t._ctx.drawImage(r,0,0,a,o)},this._isEmpty=!1},Up.prototype.toDataURL=function(e){var t;if("image/svg+xml"===e)return this._toSVG();for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return(t=this._canvas).toDataURL.apply(t,[e].concat(r))},Up.prototype.on=function(){this._handleMouseEvents(),this._handleTouchEvents()},Up.prototype.off=function(){this._canvas.removeEventListener("mousedown",this._handleMouseDown),this._canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this._canvas.removeEventListener("touchstart",this._handleTouchStart),this._canvas.removeEventListener("touchmove",this._handleTouchMove),this._canvas.removeEventListener("touchend",this._handleTouchEnd)},Up.prototype.isEmpty=function(){return this._isEmpty},Up.prototype._strokeBegin=function(e){this._data.push([]),this._reset(),this._strokeUpdate(e),"function"==typeof this.onBegin&&this.onBegin(e)},Up.prototype._strokeUpdate=function(e){var t=this._createPoint(e.clientX,e.clientY),n=this._data[this._data.length-1],r=n&&n[n.length-1],i=r&&t.distanceTo(r)<this.minDistance;if(!r||!i){var a=this._addPoint(t),o=a.curve,s=a.widths;o&&s&&this._drawCurve(o,s.start,s.end),this._data[this._data.length-1].push({x:t.x,y:t.y,time:t.time,color:this.penColor})}},Up.prototype._strokeEnd=function(e){var t=this.points[0];if(!(this.points.length>2)&&t&&this._drawDot(t),t){var n=this._data[this._data.length-1];t.equals(n[n.length-1])||n.push({x:t.x,y:t.y,time:t.time,color:this.penColor})}"function"==typeof this.onEnd&&this.onEnd(e)},Up.prototype._handleMouseEvents=function(){this._mouseButtonDown=!1,this._canvas.addEventListener("mousedown",this._handleMouseDown),this._canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)},Up.prototype._handleTouchEvents=function(){this._canvas.style.msTouchAction="none",this._canvas.style.touchAction="none",this._canvas.addEventListener("touchstart",this._handleTouchStart),this._canvas.addEventListener("touchmove",this._handleTouchMove),this._canvas.addEventListener("touchend",this._handleTouchEnd)},Up.prototype._reset=function(){this.points=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor},Up.prototype._createPoint=function(e,t,n){var r=this._canvas.getBoundingClientRect();return new Op(e-r.left,t-r.top,n||(new Date).getTime())},Up.prototype._addPoint=function(e){var t=this.points,n=void 0;if(t.push(e),t.length>2){3===t.length&&t.unshift(t[0]);var r=(n=this._calculateCurveControlPoints(t[0],t[1],t[2])).c2;n=this._calculateCurveControlPoints(t[1],t[2],t[3]);var i=new Bp(t[1],r,n.c1,t[2]),a=this._calculateCurveWidths(i);return t.shift(),{curve:i,widths:a}}return{}},Up.prototype._calculateCurveControlPoints=function(e,t,n){var r=e.x-t.x,i=e.y-t.y,a=t.x-n.x,o=t.y-n.y,s=(e.x+t.x)/2,l=(e.y+t.y)/2,c=(t.x+n.x)/2,u=(t.y+n.y)/2,d=Math.sqrt(r*r+i*i),h=Math.sqrt(a*a+o*o),f=h/(d+h),p=t.x-(c+(s-c)*f),g=t.y-(u+(l-u)*f);return{c1:new Op(s+p,l+g),c2:new Op(c+p,u+g)}},Up.prototype._calculateCurveWidths=function(e){var t={start:null,end:null},n=this.velocityFilterWeight*e.endPoint.velocityFrom(e.startPoint)+(1-this.velocityFilterWeight)*this._lastVelocity,r=this._strokeWidth(n);return t.start=this._lastWidth,t.end=r,this._lastVelocity=n,this._lastWidth=r,t},Up.prototype._strokeWidth=function(e){return Math.max(this.maxWidth/(e+1),this.minWidth)},Up.prototype._drawPoint=function(e,t,n){var r=this._ctx;r.moveTo(e,t),r.arc(e,t,n,0,2*Math.PI,!1),this._isEmpty=!1},Up.prototype._drawCurve=function(e,t,n){var r=this._ctx,i=n-t,a=Math.floor(e.length());r.beginPath();for(var o=0;o<a;o+=1){var s=o/a,l=s*s,c=l*s,u=1-s,d=u*u,h=d*u,f=h*e.startPoint.x;f+=3*d*s*e.control1.x,f+=3*u*l*e.control2.x;var p=h*e.startPoint.y;p+=3*d*s*e.control1.y,p+=3*u*l*e.control2.y,this._drawPoint(f+=c*e.endPoint.x,p+=c*e.endPoint.y,t+c*i)}r.closePath(),r.fill()},Up.prototype._drawDot=function(e){var t=this._ctx,n="function"==typeof this.dotSize?this.dotSize():this.dotSize;t.beginPath(),this._drawPoint(e.x,e.y,n),t.closePath(),t.fill()},Up.prototype._fromData=function(e,t,n){for(var r=0;r<e.length;r+=1){var i=e[r];if(i.length>1)for(var a=0;a<i.length;a+=1){var o=i[a],s=new Op(o.x,o.y,o.time),l=o.color;if(0===a)this.penColor=l,this._reset(),this._addPoint(s);else if(a!==i.length-1){var c=this._addPoint(s),u=c.curve,d=c.widths;u&&d&&t(u,d,l)}}else this._reset(),n(i[0])}},Up.prototype._toSVG=function(){var e=this,t=this._data,n=this._canvas,r=Math.max(window.devicePixelRatio||1,1),i=n.width/r,a=n.height/r,o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttributeNS(null,"width",n.width),o.setAttributeNS(null,"height",n.height),this._fromData(t,(function(e,t,n){var r=document.createElement("path");if(!(isNaN(e.control1.x)||isNaN(e.control1.y)||isNaN(e.control2.x)||isNaN(e.control2.y))){var i="M "+e.startPoint.x.toFixed(3)+","+e.startPoint.y.toFixed(3)+" C "+e.control1.x.toFixed(3)+","+e.control1.y.toFixed(3)+" "+e.control2.x.toFixed(3)+","+e.control2.y.toFixed(3)+" "+e.endPoint.x.toFixed(3)+","+e.endPoint.y.toFixed(3);r.setAttribute("d",i),r.setAttribute("stroke-width",(2.25*t.end).toFixed(3)),r.setAttribute("stroke",n),r.setAttribute("fill","none"),r.setAttribute("stroke-linecap","round"),o.appendChild(r)}}),(function(t){var n=document.createElement("circle"),r="function"==typeof e.dotSize?e.dotSize():e.dotSize;n.setAttribute("r",r),n.setAttribute("cx",t.x),n.setAttribute("cy",t.y),n.setAttribute("fill",t.color),o.appendChild(n)}));var s='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 '+i+" "+a+'" width="'+i+'" height="'+a+'">',l=o.innerHTML;if(void 0===l){var c=document.createElement("dummy"),u=o.childNodes;c.innerHTML="";for(var d=0;d<u.length;d+=1)c.appendChild(u[d].cloneNode(!0));l=c.innerHTML}return"data:image/svg+xml;base64,"+btoa(s+l+"</svg>")},Up.prototype.fromData=function(e){var t=this;this.clear(),this._fromData(e,(function(e,n){return t._drawCurve(e,n.start,n.end)}),(function(e){return t._drawDot(e)})),this._data=e},Up.prototype.toData=function(){return this._data};var $p=Object.freeze({__proto__:null,default:Up}),Gp=ie((function(e,t){e.exports=function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t){function n(e){var t=e.getContext("2d"),n=e.width,r=e.height,i=t.getImageData(0,0,n,r).data,s=a(!0,n,r,i),l=a(!1,n,r,i),c=o(!0,n,r,i),u=o(!1,n,r,i)-c+1,d=l-s+1,h=t.getImageData(c,s,u,d);return e.width=u,e.height=d,t.clearRect(0,0,u,d),t.putImageData(h,0,0),e}function r(e,t,n,r){return{red:r[4*(n*t+e)],green:r[4*(n*t+e)+1],blue:r[4*(n*t+e)+2],alpha:r[4*(n*t+e)+3]}}function i(e,t,n,i){return r(e,t,n,i).alpha}function a(e,t,n,r){for(var a=e?1:-1,o=e?0:n-1;e?o<n:o>-1;o+=a)for(var s=0;s<t;s++)if(i(s,o,t,r))return o;return null}function o(e,t,n,r){for(var a=e?1:-1,o=e?0:t-1;e?o<t:o>-1;o+=a)for(var s=0;s<n;s++)if(i(o,s,t,r))return o;return null}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n}])}));re(Gp);var jp=function(e){return e&&e.default||e}($p),zp=ie((function(e,t){e.exports=function(e,t,n,r){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=r(n(1)),d=n(2),h=r(d),f=r(n(3)),p=r(n(4)),g=function(e){function t(){var e,n,r;a(this,t);for(var s=arguments.length,l=Array(s),c=0;c<s;c++)l[c]=arguments[c];return n=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),r._sigPad=null,r._excludeOurProps=function(){var e=r.props;return i(e,["canvasProps","clearOnResize"])},r.getCanvas=function(){return r._canvas},r.getTrimmedCanvas=function(){var e=document.createElement("canvas");return e.width=r._canvas.width,e.height=r._canvas.height,e.getContext("2d").drawImage(r._canvas,0,0),(0,p.default)(e)},r.getSignaturePad=function(){return r._sigPad},r._checkClearOnResize=function(){r.props.clearOnResize&&r._resizeCanvas()},r._resizeCanvas=function(){var e=r.props.canvasProps||{},t=e.width,n=e.height;if(!t||!n){var i=r._canvas,a=Math.max(window.devicePixelRatio||1,1);t||(i.width=i.offsetWidth*a),n||(i.height=i.offsetHeight*a),i.getContext("2d").scale(a,a),r.clear()}},r.on=function(){return window.addEventListener("resize",r._checkClearOnResize),r._sigPad.on()},r.off=function(){return window.removeEventListener("resize",r._checkClearOnResize),r._sigPad.off()},r.clear=function(){return r._sigPad.clear()},r.isEmpty=function(){return r._sigPad.isEmpty()},r.fromDataURL=function(e,t){return r._sigPad.fromDataURL(e,t)},r.toDataURL=function(e,t){return r._sigPad.toDataURL(e,t)},r.fromData=function(e){return r._sigPad.fromData(e)},r.toData=function(){return r._sigPad.toData()},o(r,n)}return s(t,e),c(t,[{key:"componentDidMount",value:function(){this._sigPad=new f.default(this._canvas,this._excludeOurProps()),this._resizeCanvas(),this.on()}},{key:"componentWillUnmount",value:function(){this.off()}},{key:"componentDidUpdate",value:function(){Object.assign(this._sigPad,this._excludeOurProps())}},{key:"render",value:function(){var e=this;return h.default.createElement("canvas",l({ref:function(t){e._canvas=t}},this.props.canvasProps))}}]),t}(d.Component);g.propTypes={velocityFilterWeight:u.default.number,minWidth:u.default.number,maxWidth:u.default.number,minDistance:u.default.number,dotSize:u.default.oneOfType([u.default.number,u.default.func]),penColor:u.default.string,throttle:u.default.number,onEnd:u.default.func,onBegin:u.default.func,canvasProps:u.default.object,clearOnResize:u.default.bool},g.defaultProps={clearOnResize:!0},t.default=g},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t){e.exports=r}])}(Pp,c.default,jp,Gp)})),qp=re(zp);function Vp(e){var t,n=null!==(t=e.toDataURL())&&void 0!==t?t:null,r={clickX_simple:[],clickY_simple:[],time_simple:[],pressure:"",fileContent:n?Ke(n):""};return e.toData().forEach((function(e){var t=[],n=[],i=[];e.forEach((function(e){t.push(e.x),n.push(e.y),i.push(new Date(e.time).toString())})),r.clickX_simple.push(t),r.clickY_simple.push(n),r.time_simple.push(i)})),r}var Hp,Wp=function(e){var t=e.onAccept,r=e.background,i=void 0===r?"white":r,a=e.verbiage,o=void 0===a?{}:a,s=ye().t,l=Et(),u=l.ref,d=l.width,h=l.height,f=n.useRef(null);return o.headingText=o.headingText||s("Please sign the box below"),o.acceptBtnText=o.acceptBtnText||s("Accept"),o.clearBtnText=o.clearBtnText||s("Clear"),c.default.createElement(rt,{style:{background:i}},c.default.createElement(it,null,c.default.createElement("div",{style:{flexGrow:0,paddingBottom:12}},c.default.createElement("h3",{style:{margin:0}},o.headingText)),c.default.createElement("div",{ref:u,style:{position:"relative",border:"3px solid #888",flexGrow:1,zIndex:"100"}},c.default.createElement(qp,{ref:f,canvasProps:{width:d,height:(null!=h?h:500)-4}})),c.default.createElement("div",{style:{flexGrow:0,paddingTop:12,display:"flex"}},c.default.createElement("button",{onClick:function(e){var t;e.preventDefault(),null===(t=f.current)||void 0===t||t.clear()}},o.clearBtnText),c.default.createElement("button",{style:{marginLeft:"auto"},onClick:function(e){if(e.preventDefault(),f.current){var n=Vp(f.current);null==t||t(n,f.current.toDataURL())}}},o.acceptBtnText))))},Kp=h.default.div(Hp||(Hp=y(["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"],["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"]))),Yp=function(e){var t,r,i=e.onComplete,a=e.onFaceNotDetected,o=e.verbiage,s=void 0===o?{}:o,l=ye().t,u=n.useContext(Nt),d=u.cameraRef,h=u.videoRef,f=Et(),p=f.ref,y=f.width,b=f.height,w=n.useRef(null),x=n.useRef(null),E=n.useRef([]),T=n.useState(null),S=T[0],C=T[1],k=n.useContext(od),A=k.start,R=k.stop,_=k.onPredictionMade,I=function(e){var t=n.useRef(null),r=n.useRef([]),i=n.useState(null),a=i[0],o=i[1],s=n.useState(!1),l=s[0],c=s[1],u=null==e?void 0:e.stream,d=n.useCallback((function(){u&&(r.current=[],c(!0),t.current=new MediaRecorder(u),t.current.ondataavailable=function(e){r.current.push(e.data)},t.current.onstop=function(){var t=new Blob(r.current,{type:"video/mp4"});r.current=[],o(URL.createObjectURL(t)),c(!1),null==e||e.release()},t.current.start())}),[e,u]),h=n.useCallback((function(){var e;null===(e=t.current)||void 0===e||e.stop()}),[]);return{isRecording:l,startRecording:d,stopRecording:h,videoUrl:a}}(d.current),D=I.isRecording,F=I.startRecording,L=I.stopRecording,N=I.videoUrl,M=n.useState(null),P=M[0],O=M[1],B=n.useState(null),U=B[0],$=B[1];s.acceptBtnText=s.acceptBtnText||l("Accept"),s.clearBtnText=s.clearBtnText||l("Clear");var G=n.useRef(null);n.useEffect((function(){return D&&a&&A(),function(){R()}}),[D,a,A,R]),n.useEffect((function(){if(!D&&!N&&G.current){F();var e=G.current.captureStream(25);x.current=new MediaRecorder(e,{}),x.current.start(),x.current.ondataavailable=function(e){var t;E.current.push(e.data),"recording"===(null===(t=x.current)||void 0===t?void 0:t.state)&&x.current.stop()},x.current.onstop=function(){var e=new Blob(E.current,{type:"video/mp4"}),t=URL.createObjectURL(e);C(t)}}}),[D,F,N]),n.useEffect((function(){S&&P&&U&&(null==i||i(P,U))}),[i,P,U,S]);var j=n.useRef(0);n.useEffect((function(){if(w.current&&h.current&&G.current&&d.current&&D){G.current.width=d.current.width,G.current.height=d.current.height;var e=G.current.getContext("2d");if(e)return j.current=requestAnimationFrame((function t(){return g(this,void 0,void 0,(function(){var n,r,i,a;return m(this,(function(o){return w.current&&h.current&&G.current?(n=window.innerWidth<=800,a=[(r=G.current.width)*(n?.02:.15),(i=G.current.height)*(n?.15:.25),r*(n?.96:.7),i*(n?.7:.5)],e.drawImage(h.current,0,0,r,i),e.beginPath(),e.fillStyle="rgba(255,255,255,0.5)",e.roundRect.apply(e,v(v([],a,!1),[16],!1)),e.fill(),e.drawImage.apply(e,v([w.current.getCanvas()],a,!1)),j.current=requestAnimationFrame(t),[2]):(cancelAnimationFrame(j.current),[2])}))}))})),function(){cancelAnimationFrame(j.current)}}}),[d,D,a,h]);var z=n.useState(0),q=z[0],V=z[1];if(n.useEffect((function(){_((function(e){V((function(t){return 0===e.length?t+1:0}))}))}),[_]),n.useEffect((function(){q>=2&&(null==a||a())}),[q,a]),!D&&N)return c.default.createElement(c.default.Fragment,null,S&&c.default.createElement("video",{src:S,controls:!0,width:"100%"}),U&&c.default.createElement("img",{src:U,alt:"signature"}),P&&c.default.createElement("textarea",{readOnly:!0,style:{width:"100%",height:500},value:JSON.stringify(P,null,2)}));var H=l("Please sign the box below");return c.default.createElement(Ze,{className:"flex"},c.default.createElement(Vt,null),""!==H&&c.default.createElement("div",{style:{position:"absolute",top:"calc(5vh)",fontWeight:"bold",width:"100%",display:"flex"}},c.default.createElement("div",{style:{marginLeft:"auto",marginRight:"auto",background:"#ccc",padding:"10px 12px 8px",borderRadius:8}},H)),c.default.createElement(Kp,null,c.default.createElement("div",{ref:p,style:{position:"relative",background:"rgba(255,255,255,0.5)",borderRadius:16,flexGrow:1,zIndex:"100",height:"100%"}},c.default.createElement(qp,{ref:w,canvasProps:{width:y,height:b}})),c.default.createElement("div",{style:{flexGrow:0,paddingTop:12,display:"flex",zIndex:1e3,position:"relative"}},c.default.createElement("button",{onClick:function(e){var t;e.preventDefault(),null===(t=w.current)||void 0===t||t.clear()}},s.clearBtnText),c.default.createElement("button",{style:{marginLeft:"auto"},onClick:function(e){var t;if(e.preventDefault(),w.current){var n=Vp(w.current);O(n),$(w.current.toDataURL()),L(),null===(t=x.current)||void 0===t||t.stop()}}},s.acceptBtnText))),c.default.createElement("div",{style:{display:"none"}},c.default.createElement("canvas",{ref:G,style:{width:null===(t=h.current)||void 0===t?void 0:t.videoWidth,height:null===(r=h.current)||void 0===r?void 0:r.videoHeight}})))},Xp=function(e){return c.default.createElement(md,{headingText:e.headingText,removeEyeCoveringsText:e.removeEyeCoveringsText,avoidExcessiveBacklightingText:e.avoidExcessiveBacklightingText,continueText:e.continueText,cameraInitializingText:e.cameraInitializingText,modelsWarmingUpText:e.modelsWarmingUpText,instructionImageUrl:e.instructionImageUrl,onDismissed:e.onDismissed})},Jp=function(e){var t=e.onComplete,r=n.useContext(qe),i=r.selfieImage,a=r.setSelfieImage,o=r.setSignatureData,s=r.logSelfieCaptureAttempt,l=n.useContext(Nt).releaseCameraAccess,u=n.useState("LOADING"),d=u[0],h=u[1],f=n.useRef(),p=n.useRef(),v=n.useRef();n.useEffect((function(){return f.current=new Date,function(){l()}}),[l]),n.useEffect((function(){"CHECKING_LIVENESS"===d&&(p.current=new Date)}),[d]);var y=n.useCallback((function(){var e,t,n;s({autoCapture:"Y",captureTime:(null!==(e=v.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=p.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=f.current)&&void 0!==n?n:new Date).getTime()}),f.current=new Date}),[s]),b=n.useCallback((function(){h("CHECKING_LIVENESS")}),[]),w=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){var t;return m(this,(function(n){switch(n.label){case 0:return h("CAPTURING_SIGNATURE"),y(),i?[3,2]:(t=a,[4,We(e)]);case 1:t.apply(void 0,[n.sent()]),n.label=2;case 2:return[2]}}))}))}),[y,i,a]),x=n.useCallback((function(e){o(e),null==t||t()}),[t,o]),E=n.useCallback((function(){h("CHECKING_LIVENESS")}),[]);return c.default.createElement(sd,{throttleMs:"CAPTURING_SIGNATURE"===d?250:0},"LOADING"!==d&&function(){switch(d){case"CHECKING_LIVENESS":return c.default.createElement(gd,{onSuccess:w});case"CAPTURING_SIGNATURE":return c.default.createElement(Yp,{onComplete:x,onFaceNotDetected:E});default:return null}}(),c.default.createElement(Xp,{onDismissed:b}))},Zp=function(e){var t,r,i,a,o,s=e.checks,l=e.idCaptureProps,u=void 0===l?{}:l,d=e.faceLivenessProps,h=void 0===d?{}:d,f=e.signatureCaptureProps,g=void 0===f?{}:f,m=e.signatureKYCProps,y=void 0===m?{}:m,b=e.additionalDocumentCaptureProps,w=e.captureSignature,x=void 0!==w&&w,E=e.captureSignatureVideo,T=void 0!==E&&E,S=n.useContext(qe),C=S.submit,k=S.submissionStatus,A=S.setSignatureData,R=S.setAdditionalDocuments,_=n.useState(0),I=_[0],D=_[1],F=n.useMemo((function(){var e,t,n=v([],s,!0);if(x&&T)throw new Error("captureSignature and captureSignatureVideo cannot be used together");return x&&n.push("SignatureCapture"),T&&n.push("SignatureKYC"),null!==(t=null===(e=null==b?void 0:b.documents)||void 0===e?void 0:e.length)&&void 0!==t&&t&&n.push("AdditionalDocumentCapture"),n}),[null===(t=null==b?void 0:b.documents)||void 0===t?void 0:t.length,x,T,s]),L=F[I],N=I>=F.length;n.useEffect((function(){"SignatureCapture"===L&&"function"==typeof x?x().then((function(e){e||D((function(e){return e+1}))})):"SignatureKYC"===L&&"function"==typeof T&&T().then((function(e){e||D((function(e){return e+1}))}))}),[x,T,L]),n.useEffect((function(){N&&C()}),[N,C]);var M=u.onSuccess,P=n.useCallback((function(e){null==M||M(e),D((function(e){return e+1}))}),[M]),O=h.onComplete,B=n.useCallback((function(e){null==O||O(e),D((function(e){return e+1}))}),[O]),U=n.useCallback((function(e){A(e),D((function(e){return e+1}))}),[A]),$=y.onComplete,G=n.useCallback((function(){null==$||$(),D((function(e){return e+1}))}),[$]),j=null==b?void 0:b.onComplete,z=n.useCallback((function(e){R(e),null==j||j(e),D((function(e){return e+1}))}),[j,R]),q=n.useMemo((function(){var e;return null!==(e=null==b?void 0:b.documents)&&void 0!==e?e:[]}),[null==b?void 0:b.documents]);if(N)switch(k){case Ge.SUBMITTING:return c.default.createElement(Ze,{className:"flex"},c.default.createElement(cp,null));case Ge.SUBMITTED:return c.default.createElement(op,null);case Ge.FAILED:return c.default.createElement(c.default.Fragment,null,"Submission failed!");default:return c.default.createElement(c.default.Fragment,null,"Complete!!")}return c.default.createElement(Xf,{documentDetectionModelUrl:null!==(i=null===(r=u.assets)||void 0===r?void 0:r.documentDetectionModelUrl)&&void 0!==i?i:"",focusModelUrl:null!==(o=null===(a=u.assets)||void 0===a?void 0:a.focusModelUrl)&&void 0!==o?o:""},function(){switch(F[I]){case"IdCapture":return c.default.createElement(ip,null,c.default.createElement(ap,null,c.default.createElement(Yt,p({},u,{onSuccess:P}))));case"FaceLiveness":return c.default.createElement(ip,{preferFrontFacingCamera:!0,preferContinuityCamera:!1},c.default.createElement(sd,null,c.default.createElement(bd,p({},h,{onComplete:B}))));case"SignatureCapture":return c.default.createElement(Wp,p({},g,{onAccept:U}));case"SignatureKYC":return c.default.createElement(ip,{preferContinuityCamera:!1,preferFrontFacingCamera:!0,requestMicrophoneAccess:!0},c.default.createElement(Jp,p({},y,{onComplete:G})));case"AdditionalDocumentCapture":return c.default.createElement(dp,p({},b,{documents:q,onComplete:z}));default:return c.default.createElement(c.default.Fragment,null)}}())},Qp={en:{translation:{}},es:{translation:{"Use your device camera to capture your ID":"Para capturar la identificación hay que utilizar la cámara del dispositivo.","Use your iPhone as a webcam":"Usar el iPhone como cámara web","Models warming up...":"Cargando modelos...","Camera initializing...":"Inicializando la cámara...","Camera access blocked":"Acceso bloqueado a la cámara","Location access blocked":"Acceso bloqueado a la localización",Continue:"Continuar","Your camera permission is disabled":"El permiso de la cámara está desactivado","This application requires access to your camera to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for camera permissions, you must go to settings and provide camera access to the current browser.":"Esta aplicación requiere el acceso a la cámara para continuar. Hay que aceptar el permiso una vez que se muestre la ventana en el explorador. Si no aparece la ventana para otorgar permisos, entonces hay que dirigirse a Configuración y otorgar el permiso a la cámara en el explorador actual.","Your location permission is disabled":"El permiso de la localización está desactivado","This application requires access to your location to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for location permissions, you must go to settings and provide location access to the current browser.":"Esta aplicación requiere el acceso a la localización para continuar. Hay que aceptar el permiso una vez que se muestre la ventana en el explorador. Si no aparece la ventana para otorgar permisos, entonces hay que dirigirse a Configuración y otorgar el permiso a la localización en el explorador actual.",Retry:"Reintentar","Scan the front of ID":"Escanear el frente de la ID","Scan the back of ID":"Escanear el reverso de la ID","Scan the ID page of passport":"Escanear la página de datos del pasaporte","ID Card Front":"Frente de la ID","ID Card Back":"Reverso de la ID",Passport:"Pasaporte","Capturing...":"Capturando...","Capture failed!":"Falló la captura","Please flip your ID card...":"Por favor voltea la identificación...","ID Capture Successful":"Captura Exitosa de ID","Verify the entire ID was captured clearly with no glare.":"Hay que verificar que toda la ID se vea completa y sin reflejos.",Submit:"Enviar","Submitting...":"Enviando...","Use your device camera to capture your face":"Hay que utilizar la cámara del dispositivo para capturar el rostro","Remove Sunglasses & Hat":"Hay que quitarse lentes y/o la gorra","Avoid Excessive Backlighting":"Hay que evitar demasiada luz en el fondo","Hold still for a few seconds...":"Hay que permanecer quieto por unos segundos...","Look straight into the camera...":"Hay que mirar directamente a la cámara...","Move back...":"Hay que hacerse hacia atrás..","Move forward...":"Hay que hacerse hacia adelante...","Move to the center...":"Hay que moverse hacia el centro...","Please remove your eye coverings (sunglasses, eye patch, etc.)...":"Hay que quitarse lo que cubre los ojos (lentes, parche, etc.)...","Please remove your head coverings (hat, scarf, etc.)...":"Hay que quitarse lo que cubre la cabeza (gorra, mascada, etc.)...","Please remove your mask...":"Hay que quitarse el cubrebocas...","Live face not detected, please try again":"Rostro vivo no detectado. Por favor hay que intentar de nuevo.",Exit:"Salir","Face liveness has been verified!":"Se ha verificado la Prueba de Vida en rostro!",Done:"Terminar","Customer has been identified!":"¡Se ha identificado al cliente!","Customer not found":"Cliente no encontrado","Additional document capture":"Captura de otro documento",Next:"Siguiente","Please sign the box below":"Por favor, hay que firmar en el recuadro de abajo",Accept:"Aceptar",Clear:"Borrar"}}},eg=function(e){var t=ye().i18n;n.useEffect((function(){"auto"!==e?t.changeLanguage(e):t.changeLanguage()}),[t,e])},tg=function(e){var t=e.lang,r=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,o=e.submissionUrl,s=e.documentDetectionNonMaxSuppressionEnabled,l=void 0===s||s,u=e.idAutoCaptureEnabled,d=void 0===u||u,h=e.idCardAutoCaptureScoreThreshold,f=void 0===h?.8:h,p=e.passportAutoCaptureScoreThreshold,g=void 0===p?.8:p,m=e.idCardFocusScoreThreshold,v=void 0===m?.3:m,y=e.passportFocusScoreThreshold,b=void 0===y?.3:y,w=e.onBeforeSubmit,x=e.onComplete,E=e.onApproved,T=e.onDenied,S=e.assets,C=void 0===S?{}:S,k=e.verbiage,A=void 0===k?{}:k,R=e.captureSignature,_=void 0!==R&&R,I=e.captureSignatureVideo,D=void 0!==I&&I,F=e.captureAdditionalDocuments,L=void 0===F?[]:F,N=e.geolocationEnabled,M=void 0===N||N,P=e.geolocationRequired,O=void 0!==P&&P,B=e.debugMode,U=void 0!==B&&B;eg(void 0===t?"auto":t);var $=n.useMemo((function(){return{documentDetectionNonMaxSuppressionEnabled:l,autoCaptureEnabled:d,idCardAutoCaptureScoreThreshold:f,passportAutoCaptureScoreThreshold:g,mrzDetectionScoreThreshold:.5,idCardFocusScoreThreshold:v,passportFocusScoreThreshold:b,barcodeScanningEnabled:!1,assets:C,verbiage:A,debugMode:U}}),[C,U,l,d,f,v,g,b,A]),G=n.useMemo((function(){return{verbiage:{headingText:A.signatureCaptureHeadingText,acceptBtnText:A.signatureCaptureAcceptBtnText,clearBtnText:A.signatureCaptureClearBtnText}}}),[A.signatureCaptureAcceptBtnText,A.signatureCaptureClearBtnText,A.signatureCaptureHeadingText]),j=n.useMemo((function(){return{documents:L,verbiage:{headingText:A.additionalDocumentsHeadingText,nextBtnText:A.additionalDocumentsNextBtnText}}}),[L,A.additionalDocumentsHeadingText,A.additionalDocumentsNextBtnText]),z=n.useCallback((function(e){null==x||x(e),"Approved"===e.resultData.verificationResult?null==E||E(e):null==T||T(e)}),[E,x,T]);return c.default.createElement(yt,{action:$e.VALIDATE,environment:a,url:o,token:r,onBeforeSubmit:w,onResponseReceived:z,geolocationEnabled:M,geolocationRequired:O},c.default.createElement(Zp,{checks:n.useMemo((function(){return["IdCapture"]}),[]),idCaptureProps:$,signatureCaptureProps:G,additionalDocumentCaptureProps:j,captureSignature:_,captureSignatureVideo:D}))},ng=function(e){var t=e.lang,r=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,o=e.submissionUrl,s=e.timeoutDurationMs,l=void 0===s?15e3:s,u=e.onBeforeSubmit,d=e.onComplete,h=e.onApproved,f=e.onDenied,p=e.onExitAfterFailure,g=e.assets,m=e.verbiage,v=e.geolocationEnabled,y=void 0===v||v,b=e.geolocationRequired,w=void 0!==b&&b,x=e.debugMode,E=void 0!==x&&x;eg(void 0===t?"auto":t);var T=n.useMemo((function(){return{timeoutDurationMs:l,onComplete:d,onSuccess:h,onTimeout:f,onExitAfterFailure:p,assets:g,verbiage:m,debugMode:E}}),[g,E,h,d,f,p,l,m]);return c.default.createElement(yt,{action:$e.NONE,environment:a,url:o,token:r,onBeforeSubmit:u,geolocationEnabled:y,geolocationRequired:w},c.default.createElement(Zp,{checks:n.useMemo((function(){return["FaceLiveness"]}),[]),idCaptureProps:{},faceLivenessProps:T}))},rg=function(e){var t=e.lang,r=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,o=e.submissionUrl,s=e.documentDetectionNonMaxSuppressionEnabled,l=void 0===s||s,u=e.idAutoCaptureEnabled,d=void 0===u||u,h=e.idCardAutoCaptureScoreThreshold,f=void 0===h?.8:h,p=e.mrzDetectionScoreThreshold,g=void 0===p?.5:p,m=e.passportAutoCaptureScoreThreshold,v=void 0===m?.8:m,y=e.idCardFocusScoreThreshold,b=void 0===y?.3:y,w=e.passportFocusScoreThreshold,x=void 0===w?.3:w,E=e.idCaptureAssets,T=e.idCaptureVerbiage,S=e.faceLivenessTimeoutDurationMs,C=void 0===S?15e3:S,k=e.faceLivenessAssets,A=e.faceLivenessVerbiage,R=e.onBeforeSubmit,_=e.onComplete,I=e.onApproved,D=e.onDenied,F=e.onExitAfterFailure,L=e.captureSignature,N=void 0!==L&&L,M=e.captureSignatureVideo,P=void 0!==M&&M,O=e.captureAdditionalDocuments,B=void 0===O?[]:O,U=e.geolocationEnabled,$=void 0===U||U,G=e.geolocationRequired,j=void 0!==G&&G,z=e.debugMode,q=void 0!==z&&z;eg(void 0===t?"auto":t);var V=n.useMemo((function(){return{assets:E,verbiage:T,autoCaptureEnabled:d,documentDetectionNonMaxSuppressionEnabled:l,idCardAutoCaptureScoreThreshold:f,passportAutoCaptureScoreThreshold:v,mrzDetectionScoreThreshold:g,idCardFocusScoreThreshold:b,passportFocusScoreThreshold:x,debugMode:q}}),[q,l,d,E,T,f,b,g,v,x]),H=n.useMemo((function(){return{timeoutDurationMs:C,onTimeout:D,onExitAfterFailure:F,assets:k,verbiage:A,debugMode:q}}),[q,k,C,A,D,F]),W=n.useMemo((function(){return{verbiage:{headingText:null==T?void 0:T.signatureCaptureHeadingText,acceptBtnText:null==T?void 0:T.signatureCaptureAcceptBtnText,clearBtnText:null==T?void 0:T.signatureCaptureClearBtnText}}}),[null==T?void 0:T.signatureCaptureAcceptBtnText,null==T?void 0:T.signatureCaptureClearBtnText,null==T?void 0:T.signatureCaptureHeadingText]),K=n.useMemo((function(){return{documents:B,verbiage:{headingText:null==T?void 0:T.additionalDocumentsHeadingText,nextBtnText:null==T?void 0:T.additionalDocumentsNextBtnText}}}),[B,null==T?void 0:T.additionalDocumentsHeadingText,null==T?void 0:T.additionalDocumentsNextBtnText]),Y=n.useCallback((function(e){null==_||_(e),"Approved"===e.resultData.verificationResult?null==I||I(e):null==D||D(e)}),[I,_,D]);return c.default.createElement(yt,{action:$e.VALIDATE,environment:a,url:o,token:r,onBeforeSubmit:R,onResponseReceived:Y,geolocationEnabled:$,geolocationRequired:j},c.default.createElement(Zp,{checks:n.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:V,faceLivenessProps:H,signatureCaptureProps:W,additionalDocumentCaptureProps:K,captureSignature:N,captureSignatureVideo:P}))},ig=function(e){var t=e.enrollmentId,r=e.lang,i=e.submissionToken,a=e.submissionEnvironment,o=void 0===a?"prod":a,s=e.submissionUrl,l=e.documentDetectionNonMaxSuppressionEnabled,u=void 0===l||l,d=e.idAutoCaptureEnabled,h=void 0===d||d,f=e.idCardAutoCaptureScoreThreshold,p=void 0===f?.8:f,g=e.mrzDetectionScoreThreshold,m=void 0===g?.5:g,v=e.passportAutoCaptureScoreThreshold,y=void 0===v?.8:v,b=e.idCardFocusScoreThreshold,w=void 0===b?.3:b,x=e.passportFocusScoreThreshold,E=void 0===x?.3:x,T=e.idCaptureAssets,S=e.idCaptureVerbiage,C=e.faceLivenessTimeoutDurationMs,k=void 0===C?15e3:C,A=e.faceLivenessAssets,R=e.faceLivenessVerbiage,_=e.onBeforeSubmit,I=e.onComplete,D=e.onEnrolled,F=e.onDenied,L=e.onExitAfterFailure,N=e.captureSignature,M=void 0!==N&&N,P=e.captureSignatureVideo,O=void 0!==P&&P,B=e.captureAdditionalDocuments,U=void 0===B?[]:B,$=e.geolocationEnabled,G=void 0===$||$,j=e.geolocationRequired,z=void 0!==j&&j,q=e.debugMode,V=void 0!==q&&q;eg(void 0===r?"auto":r);var H=n.useMemo((function(){return{assets:T,verbiage:S,documentDetectionNonMaxSuppressionEnabled:u,autoCaptureEnabled:h,idCardAutoCaptureScoreThreshold:p,passportAutoCaptureScoreThreshold:y,mrzDetectionScoreThreshold:m,idCardFocusScoreThreshold:w,passportFocusScoreThreshold:E,debugMode:V}}),[V,u,h,T,S,p,w,m,y,E]),W=n.useMemo((function(){return{onExitAfterFailure:L,timeoutDurationMs:k,assets:A,verbiage:R,debugMode:V}}),[V,A,k,R,L]),K=n.useMemo((function(){return{verbiage:{headingText:null==S?void 0:S.signatureCaptureHeadingText,acceptBtnText:null==S?void 0:S.signatureCaptureAcceptBtnText,clearBtnText:null==S?void 0:S.signatureCaptureClearBtnText}}}),[null==S?void 0:S.signatureCaptureAcceptBtnText,null==S?void 0:S.signatureCaptureClearBtnText,null==S?void 0:S.signatureCaptureHeadingText]),Y=n.useMemo((function(){return{documents:U,verbiage:{headingText:null==S?void 0:S.additionalDocumentsHeadingText,nextBtnText:null==S?void 0:S.additionalDocumentsNextBtnText}}}),[U,null==S?void 0:S.additionalDocumentsHeadingText,null==S?void 0:S.additionalDocumentsNextBtnText]),X=n.useCallback((function(e){null==I||I(e),"Customer Onboarded"===e.resultData.verificationResult?null==D||D(e):null==F||F(e)}),[D,I,F]);return c.default.createElement(yt,{action:$e.ENROLL,environment:o,url:s,token:i,enrollmentId:t,onBeforeSubmit:_,onResponseReceived:X,geolocationEnabled:G,geolocationRequired:z},c.default.createElement(Zp,{checks:n.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:H,faceLivenessProps:W,signatureCaptureProps:K,additionalDocumentCaptureProps:Y,captureSignature:M,captureSignatureVideo:O}))},ag={frame:null,face:null,imageUrl:null,requestState:"NOT_READY",requestError:null,unverifiedTimes:0},og=function(e,t){switch(t.type){case"verificationReady":return["NOT_READY","ERROR"].includes(e.requestState)?p(p({},e),{requestState:"READY",frame:t.payload.frame,face:t.payload.face}):e;case"verifying":return p(p({},e),{requestState:"IN_PROGRESS",imageUrl:t.payload.imageUrl});case"verificationCompleted":var n=t.payload.response,r=n.status,i=r.statusMessage,a=r.errorData,o=n.resultData;if("000"!==r.statusCode)return p(p({},e),{requestState:"ERROR",requestError:new Error("".concat(i,": ").concat(a))});var s=e.requestState,l=e.unverifiedTimes;return"46"===o.verificationResultCode?s="FOUND":l<2?(s="READY",l+=1):s="NOT_FOUND",p(p({},e),{requestState:s,unverifiedTimes:l});case"verificationFailed":return p(p({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},sg=function(e){var t=e.onCustomerMatched,r=e.onCustomerNotMatched,i=e.onCaptureGuidanceTimeout,a=e.captureGuidanceTimeoutDurationMs,o=e.verbiage,s=void 0===o?{}:o,l=e.debugMode,u=void 0!==l&&l,d=n.useReducer(og,ag),h=d[0],f=d[1],p=h.frame,v=h.face,y=n.useContext(qe),b=y.submit,w=y.submissionResponse,x=y.selfieImage,E=y.setSelfieImage,T=n.useCallback((function(e,t){f({type:"verificationReady",payload:{frame:e,face:t}})}),[]),S="READY"===h.requestState;return n.useEffect((function(){p&&v&&We(dd(p,v)).then((function(e){console.log("setting selfie image",e),E(e)}))}),[v,p,E]),n.useEffect((function(){S&&x&&g(void 0,void 0,void 0,(function(){var e,t;return m(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),f({type:"verifying",payload:{imageUrl:x}}),[4,b()];case 1:if(!(e=n.sent()))throw new Error("submission failed!");return f({type:"verificationCompleted",payload:{response:e}}),[3,3];case 2:return t=n.sent(),f({type:"verificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[S,t,r,x,h.requestState,b]),n.useEffect((function(){w&&("FOUND"===h.requestState?null==t||t(w):"NOT_FOUND"===h.requestState&&(null==r||r(w)))}),[t,r,h.requestState,w]),c.default.createElement(ud,{onSelfieCaptured:T,onTimeout:i,timeoutDurationMs:a,verbiage:s,debugMode:u})},lg=function(e){var t=e.headingText,n=e.retryBtnText,r=e.doneBtnText,i=e.imageUrl,a=e.onDoneClick,o=e.onRetryClick,s=ye().t;return i=i||"".concat(Ut,"/Selfie-Image-1.png"),t=t||s("Customer has been verified!"),n=n||s("Retry"),r=r||s("Done"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",{style:{marginBottom:24}},t),c.default.createElement(at,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:t,src:i})),c.default.createElement("div",{style:{marginTop:24}},c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:o},c.default.createElement("span",{className:"ladda-label"},n)),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"mint",onClick:a,style:{marginLeft:15}},c.default.createElement("span",{className:"ladda-label"},r)))))},cg=function(e){var t=e.headingText,n=e.retryBtnText,r=e.exitBtnText,i=e.imageUrl,a=e.canRetry,o=void 0===a||a,s=e.onRetryClick,l=e.onExitClick,u=ye().t;return i=i||"".concat(Ut,"/manual_capture.png"),t=t||u("Customer not verified"),n=n||u("Retry"),r=r||u("Exit"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",{style:{marginBottom:24}},t),c.default.createElement(at,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:t,src:i})),c.default.createElement("div",{style:{marginTop:24}},o&&c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:s,style:{marginRight:15}},c.default.createElement("span",{className:"ladda-label"},n)),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"black",onClick:l},c.default.createElement("span",{className:"ladda-label"},r)))))},ug=function(e){var t=e.onComplete,r=e.onCustomerMatched,i=e.onCustomerNotMatched,a=e.onExitAfterFailure,o=e.onCaptureGuidanceTimeout,s=e.captureGuidanceTimeoutDurationMs,l=e.assets,u=void 0===l?{}:l,d=e.verbiage,h=void 0===d?{}:d,f=e.debugMode,p=void 0!==f&&f,v=n.useContext(qe),y=v.submissionResponse,b=v.selfieImage,w=n.useContext(Nt).releaseCameraAccess,x=n.useState("LOADING"),E=x[0],T=x[1],S=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){return m(this,(function(t){return T("MATCHED"),w(),setTimeout((function(){null==r||r(e)}),0),[2]}))}))}),[r,w]),C=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){return m(this,(function(t){return T("NOT_MATCHED"),w(),setTimeout((function(){null==i||i(e)}),0),[2]}))}))}),[i,w]),k=n.useCallback((function(){T("FAILED"),w(),setTimeout((function(){null==o||o()}),0)}),[o,w]);return c.default.createElement(c.default.Fragment,null,"LOADING"!==E&&function(){switch(E){case"CAPTURING":return c.default.createElement(sg,{onCustomerMatched:S,onCustomerNotMatched:C,onCaptureGuidanceTimeout:k,captureGuidanceTimeoutDurationMs:s,verbiage:h,debugMode:p});case"MATCHED":return c.default.createElement(lg,{headingText:h.successHeadingText,retryBtnText:h.successRetryBtnText,doneBtnText:h.successDoneBtnText,imageUrl:"data:image/png;base64, ".concat(b),onDoneClick:function(){y&&(null==t||t(y))},onRetryClick:function(){T("CAPTURING")}});case"NOT_MATCHED":return c.default.createElement(cg,{headingText:h.failureHeadingText,retryBtnText:h.failureRetryBtnText,exitBtnText:null==h?void 0:h.failureExitBtnText,imageUrl:u.failureImageUrl,canRetry:!1,onExitClick:a});default:return null}}(),c.default.createElement(md,{headingText:h.loadingOverlayHeadingText,removeEyeCoveringsText:h.loadingOverlayRemoveEyeCoveringsText,avoidExcessiveBacklightingText:h.loadingOverlayAvoidExcessiveBacklightingText,continueText:h.loadingOverlayContinueText,cameraInitializingText:h.loadingOverlayCameraInitializingText,modelsWarmingUpText:h.loadingOverlayModelsWarmingUpText,instructionImageUrl:u.instructionImageUrl,onDismissed:function(){T("CAPTURING")}}))},dg=function(e){var t=e.lang,n=e.enrollmentId,r=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,o=e.submissionUrl,s=e.timeoutDurationMs,l=void 0===s?15e3:s,u=e.assets,d=e.verbiage,h=e.onBeforeSubmit,f=e.onComplete,p=e.onCustomerMatched,g=e.onCustomerNotMatched,m=e.onExitAfterFailure,v=e.geolocationEnabled,y=void 0===v||v,b=e.geolocationRequired,w=void 0!==b&&b,x=e.debugMode,E=void 0!==x&&x;return eg(void 0===t?"auto":t),c.default.createElement(yt,{action:$e.VERIFY,environment:a,url:o,token:r,enrollmentId:n,onBeforeSubmit:h,geolocationEnabled:y,geolocationRequired:w},c.default.createElement(sd,null,c.default.createElement(ip,{preferFrontFacingCamera:!0},c.default.createElement(ug,{onComplete:f,onCustomerMatched:p,onCustomerNotMatched:g,onExitAfterFailure:m,captureGuidanceTimeoutDurationMs:l,assets:u,verbiage:d,debugMode:E}))))},hg={frame:null,face:null,imageUrl:null,requestState:"NOT_READY",requestError:null,notFoundTimes:0},fg=function(e,t){switch(t.type){case"identificationReady":return["NOT_READY","ERROR"].includes(e.requestState)?p(p({},e),{requestState:"READY",frame:t.payload.frame,face:t.payload.face}):e;case"identifying":return p(p({},e),{requestState:"IN_PROGRESS",imageUrl:t.payload.imageUrl});case"identificationCompleted":var n=t.payload.response,r=n.status,i=r.statusMessage,a=r.errorData,o=n.resultData;if("000"!==r.statusCode)return p(p({},e),{requestState:"ERROR",requestError:new Error("".concat(i,": ").concat(a))});var s=e.requestState,l=e.notFoundTimes;return"46"===o.verificationResultCode?s="FOUND":l<2?(s="READY",l+=1):s="NOT_FOUND",p(p({},e),{requestState:s,notFoundTimes:l});case"identificationFailed":return p(p({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},pg=function(e){var t=e.onCustomerMatched,r=e.onCustomerNotMatched,i=e.onCaptureGuidanceTimeout,a=e.captureGuidanceTimeoutDurationMs,o=e.verbiage,s=void 0===o?{}:o,l=e.debugMode,u=void 0!==l&&l,d=n.useReducer(fg,hg),h=d[0],f=d[1],p=n.useContext(qe),v=p.submit,y=p.submissionResponse,b=p.selfieImage,w=p.setSelfieImage,x=n.useCallback((function(e,t){f({type:"identificationReady",payload:{frame:e,face:t}})}),[]),E=h.frame,T=h.face,S="READY"===h.requestState;return n.useEffect((function(){E&&T&&We(dd(E,T)).then((function(e){console.log("setting selfie image",e),w(e)}))}),[T,E,w]),n.useEffect((function(){S&&b&&g(void 0,void 0,void 0,(function(){var e,t;return m(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),f({type:"identifying",payload:{imageUrl:b}}),[4,v()];case 1:if(!(e=n.sent()))throw new Error("submission failed!");return f({type:"identificationCompleted",payload:{response:e}}),[3,3];case 2:return t=n.sent(),f({type:"identificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[S,t,r,b,h.requestState,v]),n.useEffect((function(){y&&("FOUND"===h.requestState?null==t||t(y):"NOT_FOUND"===h.requestState&&(null==r||r(y)))}),[t,r,h.requestState,y]),c.default.createElement(ud,{onSelfieCaptured:x,onTimeout:i,timeoutDurationMs:a,verbiage:s,debugMode:u})},gg=function(e){var t=e.headingText,n=e.retryBtnText,r=e.doneBtnText,i=e.imageUrl,a=e.onDoneClick,o=e.onRetryClick,s=ye().t;return i=i||"".concat(Ut,"/Selfie-Image-1.png"),t=t||s("Customer has been identified!"),n=n||s("Retry"),r=r||s("Done"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",{style:{marginBottom:24}},t),c.default.createElement(at,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:t,src:i})),c.default.createElement("div",{style:{marginTop:24}},c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:o},c.default.createElement("span",{className:"ladda-label"},n)),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"mint",onClick:a,style:{marginLeft:15}},c.default.createElement("span",{className:"ladda-label"},r)))))},mg=function(e){var t=e.headingText,n=e.retryBtnText,r=e.exitBtnText,i=e.imageUrl,a=e.canRetry,o=void 0===a||a,s=e.onRetryClick,l=e.onExitClick,u=ye().t;return i=i||"".concat(Ut,"/manual_capture.png"),t=t||u("Customer not found"),n=n||u("Retry"),r=r||u("Exit"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",{style:{marginBottom:24}},t),c.default.createElement(at,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:t,src:i})),c.default.createElement("div",{style:{marginTop:24}},o&&c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:s,style:{marginRight:15}},c.default.createElement("span",{className:"ladda-label"},n)),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"black",onClick:l},c.default.createElement("span",{className:"ladda-label"},r)))))},vg=function(e){var t=e.onComplete,r=e.onCustomerMatched,i=e.onCustomerNotMatched,a=e.onExitAfterFailure,o=e.onCaptureGuidanceTimeout,s=e.captureGuidanceTimeoutDurationMs,l=e.assets,u=void 0===l?{}:l,d=e.verbiage,h=void 0===d?{}:d,f=e.debugMode,p=void 0!==f&&f,v=n.useContext(qe),y=v.submissionResponse,b=v.selfieImage,w=n.useContext(Nt).releaseCameraAccess,x=n.useState("LOADING"),E=x[0],T=x[1],S=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){return m(this,(function(t){return T("FOUND"),w(),setTimeout((function(){null==r||r(e)}),0),[2]}))}))}),[r,w]),C=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){return m(this,(function(t){return T("NOT_FOUND"),w(),setTimeout((function(){null==i||i(e)}),0),[2]}))}))}),[i,w]),k=n.useCallback((function(){T("FAILED"),w(),setTimeout((function(){null==o||o()}),0)}),[o,w]);return c.default.createElement(c.default.Fragment,null,"LOADING"!==E&&function(){switch(E){case"CAPTURING":return c.default.createElement(pg,{onCustomerMatched:S,onCustomerNotMatched:C,onCaptureGuidanceTimeout:k,captureGuidanceTimeoutDurationMs:s,verbiage:h,debugMode:p});case"FOUND":return c.default.createElement(gg,{headingText:h.successHeadingText,retryBtnText:h.successRetryBtnText,doneBtnText:h.successDoneBtnText,imageUrl:"data:image/png;base64, ".concat(b),onDoneClick:function(){y&&(null==t||t(y))},onRetryClick:function(){T("CAPTURING")}});case"NOT_FOUND":case"FAILED":return c.default.createElement(mg,{headingText:h.failureHeadingText,retryBtnText:h.failureRetryBtnText,exitBtnText:null==h?void 0:h.failureExitBtnText,imageUrl:u.failureImageUrl,canRetry:!1,onExitClick:a});default:return null}}(),c.default.createElement(md,{headingText:h.loadingOverlayHeadingText,removeEyeCoveringsText:h.loadingOverlayRemoveEyeCoveringsText,avoidExcessiveBacklightingText:h.loadingOverlayAvoidExcessiveBacklightingText,continueText:h.loadingOverlayContinueText,cameraInitializingText:h.loadingOverlayCameraInitializingText,modelsWarmingUpText:h.loadingOverlayModelsWarmingUpText,instructionImageUrl:u.instructionImageUrl,onDismissed:function(){T("CAPTURING")}}))},yg=function(e){var t=e.lang,n=e.submissionToken,r=e.submissionEnvironment,i=void 0===r?"prod":r,a=e.submissionUrl,o=e.timeoutDurationMs,s=void 0===o?15e3:o,l=e.onBeforeSubmit,u=e.onComplete,d=e.onCustomerMatched,h=e.onCustomerNotMatched,f=e.onCaptureGuidanceTimeout,p=e.onExitAfterFailure,g=e.assets,m=e.verbiage,v=e.geolocationEnabled,y=e.geolocationRequired,b=void 0!==y&&y,w=e.debugMode,x=void 0!==w&&w;return eg(void 0===t?"auto":t),c.default.createElement(yt,{action:$e.IDENTIFY,environment:i,url:a,token:n,onBeforeSubmit:l,geolocationEnabled:v,geolocationRequired:b},c.default.createElement(ip,{preferFrontFacingCamera:!0},c.default.createElement(sd,null,c.default.createElement(vg,{onComplete:u,onCustomerMatched:d,onCustomerNotMatched:h,onExitAfterFailure:p,onCaptureGuidanceTimeout:f,captureGuidanceTimeoutDurationMs:s,assets:g,verbiage:m,debugMode:x}))))},bg=function(e){var t=e.documentDetectionModel,n=void 0===t?"".concat(Ut,"/models/documentdetection448/model.json"):t,r=e.focusModel,i=void 0===r?"".concat(Ut,"/models/focus/model.json"):r,a=e.skipFaceDetectionModel,o=void 0!==a&&a;return g(void 0,void 0,void 0,(function(){return m(this,(function(e){switch(e.label){case 0:return n?[4,bt(n)]:[3,2];case 1:e.sent(),e.label=2;case 2:return i?[4,wd(i)]:[3,4];case 3:e.sent(),e.label=4;case 4:return o?[3,6]:[4,ad()];case 5:e.sent(),e.label=6;case 6:return[2]}}))}))},wg=function(e){var t=e.enrollmentId,r=e.lang,i=e.submissionToken,a=e.submissionEnvironment,o=void 0===a?"prod":a,s=e.submissionUrl,l=e.timeoutDurationMs,u=void 0===l?15e3:l,d=e.assets,h=e.verbiage,f=e.onBeforeSubmit,p=e.onComplete,g=e.onEnrolled,m=e.onDenied,v=e.onExitAfterFailure,y=e.captureSignature,b=void 0!==y&&y,w=e.captureSignatureVideo,x=void 0!==w&&w,E=e.captureAdditionalDocuments,T=void 0===E?[]:E,S=e.geolocationEnabled,C=void 0===S||S,k=e.geolocationRequired,A=void 0!==k&&k,R=e.debugMode,_=void 0!==R&&R;eg(void 0===r?"auto":r);var I=n.useMemo((function(){return{onExitAfterFailure:v,timeoutDurationMs:u,assets:d,verbiage:h,debugMode:_}}),[d,_,v,u,h]),D=n.useMemo((function(){return{verbiage:{headingText:null==h?void 0:h.signatureCaptureHeadingText,acceptBtnText:null==h?void 0:h.signatureCaptureAcceptBtnText,clearBtnText:null==h?void 0:h.signatureCaptureClearBtnText}}}),[null==h?void 0:h.signatureCaptureAcceptBtnText,null==h?void 0:h.signatureCaptureClearBtnText,null==h?void 0:h.signatureCaptureHeadingText]),F=n.useMemo((function(){return{documents:T,verbiage:{headingText:null==h?void 0:h.additionalDocumentsHeadingText,nextBtnText:null==h?void 0:h.additionalDocumentsNextBtnText}}}),[T,null==h?void 0:h.additionalDocumentsHeadingText,null==h?void 0:h.additionalDocumentsNextBtnText]),L=n.useCallback((function(e){null==p||p(e),"Customer Onboarded"===e.resultData.verificationResult?null==g||g(e):null==m||m(e)}),[g,p,m]);return c.default.createElement(yt,{action:$e.ENROLL,environment:o,url:s,token:i,enrollmentId:t,onBeforeSubmit:f,onResponseReceived:L,geolocationEnabled:C,geolocationRequired:A},c.default.createElement(Zp,{checks:n.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:I,signatureCaptureProps:D,additionalDocumentCaptureProps:F,captureSignature:b,captureSignatureVideo:x}))},xg=function(e){return c.default.createElement(yt,{action:$e.NONE,environment:e.submissionEnvironment,url:e.submissionUrl,token:e.submissionToken,onBeforeSubmit:e.onBeforeSubmit,onResponseReceived:e.onComplete,geolocationEnabled:e.geolocationEnabled,geolocationRequired:e.geolocationRequired},c.default.createElement(ip,{preferContinuityCamera:!1,preferFrontFacingCamera:!0,requestMicrophoneAccess:!0},c.default.createElement(Jp,null)))};function Eg(e){return c.default.createElement(rt,null,e.children)}ne.use(je).use(ge).init({resources:Qp,detection:{caches:[]},fallbackLng:"en",debug:!1,interpolation:{escapeValue:!1}}),void 0!==d&&d.init&&d.init({dsn:"https://0a8e0e8df645473abe217b60b50fbcb1@o4505120557367296.ingest.sentry.io/4505120582008832",tracesSampleRate:1,debug:!0});var Tg=function(e,t,n){if(void 0===n&&(n=!0),"string"==typeof t){var r=document.querySelector(t);if(!r)throw new Error("targetElement ".concat(t," not found"));t=r}n&&(e=c.default.createElement(Eg,null,e)),l.default.render(e,t)},Sg=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(tg,p({},t)),e,n)},Cg=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(ng,p({},t)),e,n)},kg=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(rg,p({},t)),e,n)},Ag=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(ig,p({},t)),e,n)},Rg=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(wg,p({},t)),e,n)},_g=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(dg,p({},t)),e,n)},Ig=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(yg,p({},t)),e,n)},Dg=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(xg,p({},t)),e,n)};globalThis.IDmissionSDK={renderIdValidation:Sg,renderFaceValidation:Cg,renderIdAndFaceValidation:kg,renderCustomerIdAndBiometricsEnrollment:Ag,renderCustomerBiometricsEnrollment:Rg,renderCustomerVerification:_g,renderCustomerIdentification:Ig,renderSignatureKYC:Dg,preloadModels:bg,ready:!0},e.CustomerBiometricsEnrollment=wg,e.CustomerIdAndBiometricsEnrollment=ig,e.CustomerIdentification=yg,e.CustomerVerification=dg,e.FaceValidation=ng,e.IdAndFaceValidation=rg,e.IdValidation=tg,e.SignatureKYC=xg,e.preloadModels=bg,e.renderCustomerBiometricsEnrollment=Rg,e.renderCustomerIdAndBiometricsEnrollment=Ag,e.renderCustomerIdentification=Ig,e.renderCustomerVerification=_g,e.renderFaceValidation=Cg,e.renderIdAndFaceValidation=kg,e.renderIdValidation=Sg,e.renderSignatureKYC=Dg,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react-dom"),require("react"),require("@sentry/react"),require("styled-components"),require("@tensorflow/tfjs")):"function"==typeof define&&define.amd?define(["exports","react-dom","react","@sentry/react","styled-components","@tensorflow/tfjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Sdk2={},e.ReactDOM,e.React,e.Sentry,e.styled,e.tf)}(this,(function(e,t,n,r,i,a){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var l=o(t),c=o(n),u=s(n),d=s(r),h=o(i),f=s(a),p=function(){return p=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},p.apply(this,arguments)};function g(e,t,n,r){return new(n||(n=Promise))((function(i,a){function o(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}l((r=r.apply(e,t||[])).next())}))}function m(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(6===s[0]&&o.label<i[1]){o.label=i[1],i=s;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(s);break}i[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function v(e,t,n){if(n||2===arguments.length)for(var r,i=0,a=t.length;i<a;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function y(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}const b={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class w{constructor(e){this.init(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||b,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,n,r){return r&&!this.debug?null:("string"==typeof e[0]&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new w(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new w(this.logger,e)}}var x=new w;class E{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]=this.observers[e]||[],this.observers[e].push(t)})),this}off(e,t){this.observers[e]&&(t?this.observers[e]=this.observers[e].filter((e=>e!==t)):delete this.observers[e])}emit(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(this.observers[e]){[].concat(this.observers[e]).forEach((e=>{e(...n)}))}if(this.observers["*"]){[].concat(this.observers["*"]).forEach((t=>{t.apply(t,[e,...n])}))}}}function T(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return n.resolve=e,n.reject=t,n}function S(e){return null==e?"":""+e}function C(e,t,n){function r(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function i(){return!e||"string"==typeof e}const a="string"!=typeof t?[].concat(t):t.split(".");for(;a.length>1;){if(i())return{};const t=r(a.shift());!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}return i()?{}:{obj:e,k:r(a.shift())}}function k(e,t,n){const{obj:r,k:i}=C(e,t,Object);r[i]=n}function A(e,t){const{obj:n,k:r}=C(e,t);if(n)return n[r]}function R(e,t,n){for(const r in t)"__proto__"!==r&&"constructor"!==r&&(r in e?"string"==typeof e[r]||e[r]instanceof String||"string"==typeof t[r]||t[r]instanceof String?n&&(e[r]=t[r]):R(e[r],t[r],n):e[r]=t[r]);return e}function _(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var I={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function D(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>I[e])):e}const F=[" ",",","?","!",";"];function L(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let e=0;e<r.length;++e){if(!i)return;if("string"==typeof i[r[e]]&&e+1<r.length)return;if(void 0===i[r[e]]){let a=2,o=r.slice(e,e+a).join(n),s=i[o];for(;void 0===s&&r.length>e+a;)a++,o=r.slice(e,e+a).join(n),s=i[o];if(void 0===s)return;if(null===s)return null;if(t.endsWith(o)){if("string"==typeof s)return s;if(o&&"string"==typeof s[o])return s[o]}const l=r.slice(e+a).join(n);return l?L(s,l,n):void 0}i=i[r[e]]}return i}function N(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class M extends E{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,a=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let o=[e,t];n&&"string"!=typeof n&&(o=o.concat(n)),n&&"string"==typeof n&&(o=o.concat(i?n.split(i):n)),e.indexOf(".")>-1&&(o=e.split("."));const s=A(this.data,o);return s||!a||"string"!=typeof n?s:L(this.data&&this.data[e]&&this.data[e][t],n,i)}addResource(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const a=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator;let o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.indexOf(".")>-1&&(o=e.split("."),r=t,t=o[1]),this.addNamespaces(t),k(this.data,o,r),i.silent||this.emit("added",e,t,n,r)}addResources(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const r in n)"string"!=typeof n[r]&&"[object Array]"!==Object.prototype.toString.apply(n[r])||this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,r,i){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=A(this.data,o)||{};r?R(s,n,i):s={...s,...n},k(this.data,o,s),a.silent||this.emit("added",e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var P={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,n,r,i))})),t}};const O={};class B extends E{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),function(e,t,n){e.forEach((e=>{t[e]&&(n[e]=t[e])}))}(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=x.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){if(null==e)return!1;const t=this.resolve(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}});return t&&void 0!==t.res}extractFromKey(e,t){let n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");const r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let i=t.ns||this.options.defaultNS||[];const a=n&&e.indexOf(n)>-1,o=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(e,t,n){t=t||"",n=n||"";const r=F.filter((e=>t.indexOf(e)<0&&n.indexOf(e)<0));if(0===r.length)return!0;const i=new RegExp(`(${r.map((e=>"?"===e?"\\?":e)).join("|")})`);let a=!i.test(e);if(!a){const t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(a=!0)}return a}(e,n,r));if(a&&!o){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:i};const a=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(a[0])>-1)&&(i=a.shift()),e=a.join(r)}return"string"==typeof i&&(i=[i]),{key:e,namespaces:i}}translate(e,t,n){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const r=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:a,namespaces:o}=this.extractFromKey(e[e.length-1],t),s=o[o.length-1],l=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(c){const e=t.nsSeparator||this.options.nsSeparator;return r?{res:`${s}${e}${a}`,usedKey:a,exactUsedKey:a,usedLng:l,usedNS:s}:`${s}${e}${a}`}return r?{res:a,usedKey:a,exactUsedKey:a,usedLng:l,usedNS:s}:a}const u=this.resolve(e,t);let d=u&&u.res;const h=u&&u.usedKey||a,f=u&&u.exactUsedKey||a,p=Object.prototype.toString.apply(d),g=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject;if(m&&d&&("string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d)&&["[object Number]","[object Function]","[object RegExp]"].indexOf(p)<0&&("string"!=typeof g||"[object Array]"!==p)){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,d,{...t,ns:o}):`key '${a} (${this.language})' returned an object instead of string.`;return r?(u.res=e,u):e}if(i){const e="[object Array]"===p,n=e?[]:{},r=e?f:h;for(const e in d)if(Object.prototype.hasOwnProperty.call(d,e)){const a=`${r}${i}${e}`;n[e]=this.translate(a,{...t,joinArrays:!1,ns:o}),n[e]===a&&(n[e]=d[e])}d=n}}else if(m&&"string"==typeof g&&"[object Array]"===p)d=d.join(g),d&&(d=this.extendTranslation(d,e,t,n));else{let r=!1,o=!1;const c=void 0!==t.count&&"string"!=typeof t.count,h=B.hasDefaultValue(t),f=c?this.pluralResolver.getSuffix(l,t.count,t):"",p=t.ordinal&&c?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",g=t[`defaultValue${f}`]||t[`defaultValue${p}`]||t.defaultValue;!this.isValidLookup(d)&&h&&(r=!0,d=g),this.isValidLookup(d)||(o=!0,d=a);const m=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&o?void 0:d,v=h&&g!==d&&this.options.updateMissing;if(o||r||v){if(this.logger.log(v?"updateKey":"missingKey",l,s,a,v?g:d),i){const e=this.resolve(a,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const n=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&n&&n[0])for(let t=0;t<n.length;t++)e.push(n[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const r=(e,n,r)=>{const i=h&&r!==d?r:m;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,n,i,v,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,s,n,i,v,t),this.emit("missingKey",e,s,n,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&c?e.forEach((e=>{this.pluralResolver.getSuffixes(e,t).forEach((n=>{r([e],a+n,t[`defaultValue${n}`]||g)}))})):r(e,a,g))}d=this.extendTranslation(d,e,t,u,n),o&&d===a&&this.options.appendNamespaceToMissingKey&&(d=`${s}:${a}`),(o||r)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${s}:${a}`:a,r?d:void 0):this.options.parseMissingKeyHandler(d))}return r?(u.res=d,u):d}extendTranslation(e,t,n,r,i){var a=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});const o="string"==typeof e&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let s;if(o){const t=e.match(this.interpolator.nestingRegexp);s=t&&t.length}let l=n.replace&&"string"!=typeof n.replace?n.replace:n;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),e=this.interpolator.interpolate(e,l,n.lng||this.language,n),o){const t=e.match(this.interpolator.nestingRegexp);s<(t&&t.length)&&(n.nest=!1)}!n.lng&&"v1"!==this.options.compatibilityAPI&&r&&r.res&&(n.lng=r.usedLng),!1!==n.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return i&&i[0]===r[0]&&!n.context?(a.logger.warn(`It seems you are nesting recursively key: ${r[0]} in key: ${t[0]}`),null):a.translate(...r,t)}),n)),n.interpolation&&this.interpolator.reset()}const o=n.postProcess||this.options.postProcess,s="string"==typeof o?[o]:o;return null!=e&&s&&s.length&&!1!==n.applyPostProcessor&&(e=P.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:r,...n}:n,this)),e}resolve(e){let t,n,r,i,a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const s=this.extractFromKey(e,o),l=s.key;n=l;let c=s.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const u=void 0!==o.count&&"string"!=typeof o.count,d=u&&!o.ordinal&&0===o.count&&this.pluralResolver.shouldUseIntlApi(),h=void 0!==o.context&&("string"==typeof o.context||"number"==typeof o.context)&&""!==o.context,f=o.lngs?o.lngs:this.languageUtils.toResolveHierarchy(o.lng||this.language,o.fallbackLng);c.forEach((e=>{this.isValidLookup(t)||(a=e,!O[`${f[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(O[`${f[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${f.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),f.forEach((n=>{if(this.isValidLookup(t))return;i=n;const a=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(a,l,n,e,o);else{let e;u&&(e=this.pluralResolver.getSuffix(n,o.count,o));const t=`${this.options.pluralSeparator}zero`,r=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(a.push(l+e),o.ordinal&&0===e.indexOf(r)&&a.push(l+e.replace(r,this.options.pluralSeparator)),d&&a.push(l+t)),h){const n=`${l}${this.options.contextSeparator}${o.context}`;a.push(n),u&&(a.push(n+e),o.ordinal&&0===e.indexOf(r)&&a.push(n+e.replace(r,this.options.pluralSeparator)),d&&a.push(n+t))}}let s;for(;s=a.pop();)this.isValidLookup(t)||(r=s,t=this.getResource(n,e,s,o))})))}))})),{res:t,usedKey:n,exactUsedKey:r,usedLng:i,usedNS:a}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}static hasDefaultValue(e){const t="defaultValue";for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t===n.substring(0,t.length)&&void 0!==e[n])return!0;return!1}}function U(e){return e.charAt(0).toUpperCase()+e.slice(1)}class ${constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=x.create("languageUtils")}getScriptPartFromCode(e){if(!(e=N(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=N(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if("string"==typeof e&&e.indexOf("-")>-1){const t=["hans","hant","latn","cyrl","cans","mong","arab"];let n=e.split("-");return this.options.lowerCaseLng?n=n.map((e=>e.toLowerCase())):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=U(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=U(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=U(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const n=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(n)||(t=n)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find((e=>e===n?e:e.indexOf("-")<0&&n.indexOf("-")<0?void 0:0===e.indexOf(n)?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];let n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}toResolveHierarchy(e,t){const n=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return"string"==typeof e&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):"string"==typeof e&&i(this.formatLanguageCode(e)),n.forEach((e=>{r.indexOf(e)<0&&i(this.formatLanguageCode(e))})),r}}let G=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],j={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}};const z=["v1","v2","v3"],q=["v4"],V={zero:0,one:1,two:2,few:3,many:4,other:5};class H{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=x.create("pluralResolver"),this.options.compatibilityJSON&&!q.includes(this.options.compatibilityJSON)||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=function(){const e={};return G.forEach((t=>{t.lngs.forEach((n=>{e[n]={numbers:t.nr,plurals:j[t.fc]}}))})),e}()}addRule(e,t){this.rules[e]=t}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(N(e),{type:t.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){const t=this.getRule(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{});return this.shouldUseIntlApi()?t&&t.resolvedOptions().pluralCategories.length>1:t&&t.numbers.length>1}getPluralFormsOfKey(e,t){return this.getSuffixes(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.getRule(e,t);return n?this.shouldUseIntlApi()?n.resolvedOptions().pluralCategories.sort(((e,t)=>V[e]-V[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):n.numbers.map((n=>this.getSuffix(e,n,t))):[]}getSuffix(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=this.getRule(e,n);return r?this.shouldUseIntlApi()?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:this.getSuffixRetroCompatible(r,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const n=e.plurals(e.noAbs?t:Math.abs(t));let r=e.numbers[n];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===r?r="plural":1===r&&(r=""));const i=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?`_plural_${r.toString()}`:i():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?i():this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString()}shouldUseIntlApi(){return!z.includes(this.options.compatibilityJSON)}}function W(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=function(e,t,n){const r=A(e,n);return void 0!==r?r:A(t,n)}(e,t,n);return!a&&i&&"string"==typeof n&&(a=L(e,n,r),void 0===a&&(a=L(t,n,r))),a}class K{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=x.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const t=e.interpolation;this.escape=void 0!==t.escape?t.escape:D,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?_(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?_(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?_(t.nestingPrefix):t.nestingPrefixEscaped||_("$t("),this.nestingSuffix=t.nestingSuffix?_(t.nestingSuffix):t.nestingSuffixEscaped||_(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){this.regexp=new RegExp(`${this.prefix}(.+?)${this.suffix}`,"g");this.regexpUnescape=new RegExp(`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`,"g");this.nestingRegexp=new RegExp(`${this.nestingPrefix}(.+?)${this.nestingSuffix}`,"g")}interpolate(e,t,n,r){let i,a,o;const s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}const c=e=>{if(e.indexOf(this.formatSeparator)<0){const i=W(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}const i=e.split(this.formatSeparator),a=i.shift().trim(),o=i.join(this.formatSeparator).trim();return this.format(W(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp();const u=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,d=r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>l(e)},{regex:this.regexp,safeValue:e=>l(this.escapeValue?this.escape(e):e)}].forEach((t=>{for(o=0;i=t.regex.exec(e);){const n=i[1].trim();if(a=c(n),void 0===a)if("function"==typeof u){const t=u(e,i,r);a="string"==typeof t?t:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))a="";else{if(d){a=i[0];continue}this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),a=""}else"string"==typeof a||this.useRawValueToEscape||(a=S(a));const s=t.safeValue(a);if(e=e.replace(i[0],s),d?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,o++,o>=this.maxReplaces)break}})),e}nest(e,t){let n,r,i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function o(e,t){const n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;const r=e.split(new RegExp(`${n}[ ]*{`));let a=`{${r[1]}`;e=r[0],a=this.interpolate(a,i);const o=a.match(/'/g),s=a.match(/"/g);(o&&o.length%2==0&&!s||s.length%2!=0)&&(a=a.replace(/'/g,'"'));try{i=JSON.parse(a),t&&(i={...t,...i})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${a}`}return delete i.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){let s=[];i={...a},i=i.replace&&"string"!=typeof i.replace?i.replace:i,i.applyPostProcessor=!1,delete i.defaultValue;let l=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){const e=n[1].split(this.formatSeparator).map((e=>e.trim()));n[1]=e.shift(),s=e,l=!0}if(r=t(o.call(this,n[1].trim(),i),i),r&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=S(r)),r||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),r=""),l&&(r=s.reduce(((e,t)=>this.format(e,t,a.lng,{...a,interpolationkey:n[1].trim()})),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}function Y(e){const t={};return function(n,r,i){const a=r+JSON.stringify(i);let o=t[a];return o||(o=e(N(r),i),t[a]=o),o(n)}}class X{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=x.create("formatter"),this.options=e,this.formats={number:Y(((e,t)=>{const n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)})),currency:Y(((e,t)=>{const n=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>n.format(e)})),datetime:Y(((e,t)=>{const n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)})),relativetime:Y(((e,t)=>{const n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||"day")})),list:Y(((e,t)=>{const n=new Intl.ListFormat(e,{...t});return e=>n.format(e)}))},this.init(e)}init(e){const t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=Y(t)}format(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=t.split(this.formatSeparator).reduce(((e,t)=>{const{formatName:i,formatOptions:a}=function(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);"currency"===t&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):"relativetime"===t&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach((e=>{if(!e)return;const[t,...r]=e.split(":"),i=r.join(":").trim().replace(/^'+|'+$/g,"");n[t.trim()]||(n[t.trim()]=i),"false"===i&&(n[t.trim()]=!1),"true"===i&&(n[t.trim()]=!0),isNaN(i)||(n[t.trim()]=parseInt(i,10))}))}return{formatName:t,formatOptions:n}}(t);if(this.formats[i]){let t=e;try{const o=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{};t=this.formats[i](e,o.locale||o.lng||r.locale||r.lng||n,{...a,...r,...o})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${i}`),e}),e);return i}}class J extends E{constructor(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=x.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(n,r.backend,r)}queueLoad(e,t,n,r){const i={},a={},o={},s={};return e.forEach((e=>{let r=!0;t.forEach((t=>{const o=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[o]=2:this.state[o]<0||(1===this.state[o]?void 0===a[o]&&(a[o]=!0):(this.state[o]=1,r=!1,void 0===a[o]&&(a[o]=!0),void 0===i[o]&&(i[o]=!0),void 0===s[t]&&(s[t]=!0)))})),r||(o[e]=!0)})),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){const r=e.split("|"),i=r[0],a=r[1];t&&this.emit("failedLoading",i,a,t),n&&this.store.addResourceBundle(i,a,n),this.state[e]=t?-1:2;const o={};this.queue.forEach((n=>{!function(e,t,n,r){const{obj:i,k:a}=C(e,t,Object);i[a]=i[a]||[],r&&(i[a]=i[a].concat(n)),r||i[a].push(n)}(n.loaded,[i],a),function(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}(n,e),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach((e=>{o[e]||(o[e]={});const t=n.loaded[e];t.length&&t.forEach((t=>{void 0===o[e][t]&&(o[e][t]=!0)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",o),this.queue=this.queue.filter((e=>!e.done))}read(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:a});this.readingCalls++;const o=(o,s)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}o&&s&&r<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,n,r+1,2*i,a)}),i):a(o,s)},s=this.backend[n].bind(this.backend);if(2!==s.length)return s(e,t,o);try{const n=s(e,t);n&&"function"==typeof n.then?n.then((e=>o(null,e))).catch(o):o(null,n)}catch(e){o(e)}}prepareLoading(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);const i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const n=e.split("|"),r=n[0],i=n[1];this.read(r,i,"read",void 0,void 0,((n,a)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&a&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,a),this.loaded(e,n,a)}))}saveMissing(e,t,n,r,i){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=n&&""!==n){if(this.backend&&this.backend.create){const s={...a,isUpdate:i},l=this.backend.create.bind(this.backend);if(l.length<6)try{let i;i=5===l.length?l(e,t,n,r,s):l(e,t,n,r),i&&"function"==typeof i.then?i.then((e=>o(null,e))).catch(o):o(null,i)}catch(e){o(e)}else l(e,t,n,r,o,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}function Z(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const n=e[3]||e[2];Object.keys(n).forEach((e=>{t[e]=n[e]}))}return t},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function Q(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function ee(){}class te extends E{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var n;if(super(),this.options=Q(e),this.services={},this.logger=x,this.modules={external:[]},n=this,Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach((e=>{"function"==typeof n[e]&&(n[e]=n[e].bind(n))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=Z();function i(e){return e?"function"==typeof e?new e:e:null}if(this.options={...r,...this.options,...Q(t)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...r.interpolation,...this.options.interpolation}),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){let t;x.init(this.modules.logger?i(this.modules.logger):null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=X);const n=new $(this.options);this.store=new M(this.options.resources,this.options);const a=this.services;a.logger=x,a.resourceStore=this.store,a.languageUtils=n,a.pluralResolver=new H(n,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format||(a.formatter=i(t),a.formatter.init(a,this.options),this.options.interpolation.format=a.formatter.format.bind(a.formatter)),a.interpolator=new K(this.options),a.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},a.backendConnector=new J(i(this.modules.backend),a.resourceStore,a,this.options),a.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];e.emit(t,...r)})),this.modules.languageDetector&&(a.languageDetector=i(this.modules.languageDetector),a.languageDetector.init&&a.languageDetector.init(a,this.options.detection,this.options)),this.modules.i18nFormat&&(a.i18nFormat=i(this.modules.i18nFormat),a.i18nFormat.init&&a.i18nFormat.init(this)),this.translator=new B(this.services,this.options),this.translator.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];e.emit(t,...r)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,n||(n=ee),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const a=T(),o=()=>{const e=(e,t)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),a.resolve(t),n(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?o():setTimeout(o,0),a}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ee;const n="string"==typeof e?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if(n&&"cimode"===n.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],r=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(n)r(n);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>r(e)))}this.options.preload&&this.options.preload.forEach((e=>r(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,n){const r=T();return e||(e=this.languages),t||(t=this.options.ns),n||(n=ee),this.services.backendConnector.reload(e,t,(e=>{r.resolve(),n(e)})),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&P.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var n=this;this.isLanguageChangingTo=e;const r=T();this.emit("languageChanging",e);const i=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},a=(e,a)=>{a?(i(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit("languageChanged",a),this.logger.log("languageChanged",a)):this.isLanguageChangingTo=void 0,r.resolve((function(){return n.t(...arguments)})),t&&t(e,(function(){return n.t(...arguments)}))},o=t=>{e||t||!this.services.languageDetector||(t=[]);const n="string"==typeof t?t:this.services.languageUtils.getBestMatchFromCodes(t);n&&(this.language||i(n),this.translator.language||this.translator.changeLanguage(n),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(n)),this.loadResources(n,(e=>{a(e,n)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(o):this.services.languageDetector.detect(o):o(e):o(this.services.languageDetector.detect()),r}getFixedT(e,t,n){var r=this;const i=function(e,t){let a;if("object"!=typeof t){for(var o=arguments.length,s=new Array(o>2?o-2:0),l=2;l<o;l++)s[l-2]=arguments[l];a=r.options.overloadTranslationOptionHandler([e,t].concat(s))}else a={...t};a.lng=a.lng||i.lng,a.lngs=a.lngs||i.lngs,a.ns=a.ns||i.ns,a.keyPrefix=a.keyPrefix||n||i.keyPrefix;const c=r.options.keySeparator||".";let u;return u=a.keyPrefix&&Array.isArray(e)?e.map((e=>`${a.keyPrefix}${c}${e}`)):a.keyPrefix?`${a.keyPrefix}${c}${e}`:e,r.t(u,a)};return"string"==typeof e?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=n,i}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const n=t.lng||this.resolvedLanguage||this.languages[0],r=!!this.options&&this.options.fallbackLng,i=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;const a=(e,t)=>{const n=this.services.backendConnector.state[`${e}|${t}`];return-1===n||2===n};if(t.precheck){const e=t.precheck(this,a);if(void 0!==e)return e}return!!this.hasResourceBundle(n,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!a(n,e)||r&&!a(i,e)))}loadNamespaces(e,t){const n=T();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){const n=T();"string"==typeof e&&(e=[e]);const r=this.options.preload||[],i=e.filter((e=>r.indexOf(e)<0));return i.length?(this.options.preload=r.concat(i),this.loadResources((e=>{n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services&&this.services.languageUtils||new $(Z());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new te(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ee;const n=e.forkResourceStore;n&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},i=new te(r);void 0===e.debug&&void 0===e.prefix||(i.logger=i.logger.clone(e));return["store","services","language"].forEach((e=>{i[e]=this[e]})),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},n&&(i.store=new M(this.store.data,r),i.services.resourceStore=i.store),i.translator=new B(i.services,r),i.translator.on("*",(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];i.emit(e,...n)})),i.init(r,t),i.translator.options=r,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const ne=te.createInstance();ne.createInstance=te.createInstance;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function re(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ie(e,t){return e(t={exports:{}},t.exports),t.exports}const ae={};function oe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"==typeof t[0]&&ae[t[0]]||("string"==typeof t[0]&&(ae[t[0]]=new Date),function(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"==typeof t[0]&&(t[0]=`react-i18next:: ${t[0]}`),console.warn(...t)}}(...t))}const se=(e,t)=>()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout((()=>{e.off("initialized",n)}),0),t()};e.on("initialized",n)}};function le(e,t,n){e.loadNamespaces(t,se(e,n))}function ce(e,t,n,r){"string"==typeof n&&(n=[n]),n.forEach((t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)})),e.loadLanguages(t,se(e,r))}const ue=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,de={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},he=e=>de[e];let fe,pe={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(ue,he)};const ge={type:"3rdParty",init(e){!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};pe={...pe,...e}}(e.options.react),function(e){fe=e}(e)}},me=n.createContext();class ve{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach((e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)}))}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}function ye(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{i18n:r}=t,{i18n:i,defaultNS:a}=n.useContext(me)||{},o=r||i||fe;if(o&&!o.reportNamespaces&&(o.reportNamespaces=new ve),!o){oe("You will need to pass in an i18next instance by using initReactI18next");const e=(e,t)=>"string"==typeof t?t:t&&"object"==typeof t&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,t=[e,{},!1];return t.t=e,t.i18n={},t.ready=!1,t}o.options.react&&void 0!==o.options.react.wait&&oe("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...pe,...o.options.react,...t},{useSuspense:l,keyPrefix:c}=s;let u=e||a||o.options&&o.options.defaultNS;u="string"==typeof u?[u]:u||["translation"],o.reportNamespaces.addUsedNamespaces&&o.reportNamespaces.addUsedNamespaces(u);const d=(o.isInitialized||o.initializedStoreOnce)&&u.every((e=>function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.languages&&t.languages.length?void 0!==t.options.ignoreJSONStructure?t.hasLoadedNamespace(e,{lng:n.lng,precheck:(t,r)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}):function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=t.languages[0],i=!!t.options&&t.options.fallbackLng,a=t.languages[t.languages.length-1];if("cimode"===r.toLowerCase())return!0;const o=(e,n)=>{const r=t.services.backendConnector.state[`${e}|${n}`];return-1===r||2===r};return!(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!o(t.isLanguageChangingTo,e)||!t.hasResourceBundle(r,e)&&t.services.backendConnector.backend&&(!t.options.resources||t.options.partialBundledLanguages)&&(!o(r,e)||i&&!o(a,e)))}(e,t,n):(oe("i18n.languages were undefined or empty",t.languages),!0)}(e,o,s)));function h(){return o.getFixedT(t.lng||null,"fallback"===s.nsMode?u:u[0],c)}const[f,p]=n.useState(h);let g=u.join();t.lng&&(g=`${t.lng}${g}`);const m=((e,t)=>{const r=n.useRef();return n.useEffect((()=>{r.current=t?r.current:e}),[e,t]),r.current})(g),v=n.useRef(!0);n.useEffect((()=>{const{bindI18n:e,bindI18nStore:n}=s;function r(){v.current&&p(h)}return v.current=!0,d||l||(t.lng?ce(o,t.lng,u,(()=>{v.current&&p(h)})):le(o,u,(()=>{v.current&&p(h)}))),d&&m&&m!==g&&v.current&&p(h),e&&o&&o.on(e,r),n&&o&&o.store.on(n,r),()=>{v.current=!1,e&&o&&e.split(" ").forEach((e=>o.off(e,r))),n&&o&&n.split(" ").forEach((e=>o.store.off(e,r)))}}),[o,g]);const y=n.useRef(!0);n.useEffect((()=>{v.current&&!y.current&&p(h),y.current=!1}),[o,c]);const b=[f,o,d];if(b.t=f,b.i18n=o,b.ready=d,d)return b;if(!d&&!l)return b;throw new Promise((e=>{t.lng?ce(o,t.lng,u,(()=>e())):le(o,u,(()=>e()))}))}function be(e){return be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},be(e)}function we(e){var t=function(e,t){if("object"!==be(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==be(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===be(t)?t:String(t)}function xe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,we(r.key),r)}}var Ee=[],Te=Ee.forEach,Se=Ee.slice;var Ce=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,ke=function(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{path:"/",sameSite:"strict"};n&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+60*n*1e3)),r&&(i.domain=r),document.cookie=function(e,t,n){var r=n||{};r.path=r.path||"/";var i=encodeURIComponent(t),a="".concat(e,"=").concat(i);if(r.maxAge>0){var o=r.maxAge-0;if(Number.isNaN(o))throw new Error("maxAge should be a Number");a+="; Max-Age=".concat(Math.floor(o))}if(r.domain){if(!Ce.test(r.domain))throw new TypeError("option domain is invalid");a+="; Domain=".concat(r.domain)}if(r.path){if(!Ce.test(r.path))throw new TypeError("option path is invalid");a+="; Path=".concat(r.path)}if(r.expires){if("function"!=typeof r.expires.toUTCString)throw new TypeError("option expires is invalid");a+="; Expires=".concat(r.expires.toUTCString())}if(r.httpOnly&&(a+="; HttpOnly"),r.secure&&(a+="; Secure"),r.sameSite)switch("string"==typeof r.sameSite?r.sameSite.toLowerCase():r.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}(e,encodeURIComponent(t),i)},Ae=function(e){for(var t="".concat(e,"="),n=document.cookie.split(";"),r=0;r<n.length;r++){for(var i=n[r];" "===i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(t))return i.substring(t.length,i.length)}return null},Re={name:"cookie",lookup:function(e){var t;if(e.lookupCookie&&"undefined"!=typeof document){var n=Ae(e.lookupCookie);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupCookie&&"undefined"!=typeof document&&ke(t.lookupCookie,e,t.cookieMinutes,t.cookieDomain,t.cookieOptions)}},_e={name:"querystring",lookup:function(e){var t;if("undefined"!=typeof window){var n=window.location.search;!window.location.search&&window.location.hash&&window.location.hash.indexOf("?")>-1&&(n=window.location.hash.substring(window.location.hash.indexOf("?")));for(var r=n.substring(1).split("&"),i=0;i<r.length;i++){var a=r[i].indexOf("=");if(a>0)r[i].substring(0,a)===e.lookupQuerystring&&(t=r[i].substring(a+1))}}return t}},Ie=null,De=function(){if(null!==Ie)return Ie;try{Ie="undefined"!==window&&null!==window.localStorage;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){Ie=!1}return Ie},Fe={name:"localStorage",lookup:function(e){var t;if(e.lookupLocalStorage&&De()){var n=window.localStorage.getItem(e.lookupLocalStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupLocalStorage&&De()&&window.localStorage.setItem(t.lookupLocalStorage,e)}},Le=null,Ne=function(){if(null!==Le)return Le;try{Le="undefined"!==window&&null!==window.sessionStorage;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){Le=!1}return Le},Me={name:"sessionStorage",lookup:function(e){var t;if(e.lookupSessionStorage&&Ne()){var n=window.sessionStorage.getItem(e.lookupSessionStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupSessionStorage&&Ne()&&window.sessionStorage.setItem(t.lookupSessionStorage,e)}},Pe={name:"navigator",lookup:function(e){var t=[];if("undefined"!=typeof navigator){if(navigator.languages)for(var n=0;n<navigator.languages.length;n++)t.push(navigator.languages[n]);navigator.userLanguage&&t.push(navigator.userLanguage),navigator.language&&t.push(navigator.language)}return t.length>0?t:void 0}},Oe={name:"htmlTag",lookup:function(e){var t,n=e.htmlTag||("undefined"!=typeof document?document.documentElement:null);return n&&"function"==typeof n.getAttribute&&(t=n.getAttribute("lang")),t}},Be={name:"path",lookup:function(e){var t;if("undefined"!=typeof window){var n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(n instanceof Array)if("number"==typeof e.lookupFromPathIndex){if("string"!=typeof n[e.lookupFromPathIndex])return;t=n[e.lookupFromPathIndex].replace("/","")}else t=n[0].replace("/","")}return t}},Ue={name:"subdomain",lookup:function(e){var t="number"==typeof e.lookupFromSubdomainIndex?e.lookupFromSubdomainIndex+1:1,n="undefined"!=typeof window&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(n)return n[t]}};var $e,Ge,je=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.type="languageDetector",this.detectors={},this.init(t,n)}var t,n,r;return t=e,n=[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e||{languageUtils:{}},this.options=function(e){return Te.call(Se.call(arguments,1),(function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])})),e}(t,this.options||{},{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(e){return e}}),"string"==typeof this.options.convertDetectedLanguage&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(e){return e.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(Re),this.addDetector(_e),this.addDetector(Fe),this.addDetector(Me),this.addDetector(Pe),this.addDetector(Oe),this.addDetector(Be),this.addDetector(Ue)}},{key:"addDetector",value:function(e){this.detectors[e.name]=e}},{key:"detect",value:function(e){var t=this;e||(e=this.options.order);var n=[];return e.forEach((function(e){if(t.detectors[e]){var r=t.detectors[e].lookup(t.options);r&&"string"==typeof r&&(r=[r]),r&&(n=n.concat(r))}})),n=n.map((function(e){return t.options.convertDetectedLanguage(e)})),this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}},{key:"cacheUserLanguage",value:function(e,t){var n=this;t||(t=this.options.caches),t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach((function(t){n.detectors[t]&&n.detectors[t].cacheUserLanguage(e,n.options)})))}}],n&&xe(t.prototype,n),r&&xe(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();je.type="languageDetector",function(e){e.NONE="NONE",e.ENROLL="ENROLL",e.IDENTIFY="IDENTIFY",e.VALIDATE="VALIDATE",e.VERIFY="VERIFY"}($e||($e={})),function(e){e.READY="READY",e.SUBMITTING="SUBMITTING",e.SUBMITTED="SUBMITTED",e.FAILED="FAILED"}(Ge||(Ge={}));var ze={prod:"https://api.idmission.com",demo:"https://apidemo.idmission.com"},qe=n.createContext({submit:function(){return g(void 0,void 0,void 0,(function(){return m(this,(function(e){return[2,null]}))}))},submissionStatus:Ge.READY,submissionRequest:null,submissionResponse:null,submissionEnvironment:"prod",idFrontImage:null,idBackImage:null,passportImage:null,selfieImage:null,signatureData:null,additionalDocuments:null,setIdFrontImage:function(){return null},setIdBackImage:function(){return null},setPassportImage:function(){return null},setSelfieImage:function(){return null},setSignatureData:function(){return null},setAdditionalDocuments:function(){return null},logIdFrontCaptureAttempt:function(){return null},logIdBackCaptureAttempt:function(){return null},logSelfieCaptureAttempt:function(){return null},checkLiveness:function(){return g(void 0,void 0,void 0,(function(){return m(this,(function(e){throw new Error("checkLiveness is not implemented")}))}))},retryLocationAccess:function(){return null}});function Ve(e,t){if(t)switch(function(e){var t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(window.atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""));return JSON.parse(n)}(t).iss){case"https://auth.idmission.com/auth/realms/identity":return ze.prod;case"https://demoauth.idmission.com/auth/realms/identity":return ze.demo}var n=ze[e];if(!n)throw new Error("unrecognized SubmissionEnvironment ".concat(e));return n}function He(e){var t={"Content-Type":"application/json",Origin:"*"};return e&&(t.Authorization="Bearer ".concat(e)),t}function We(e){return g(this,void 0,void 0,(function(){return m(this,(function(t){return[2,e.replace(/^data:image\/(png|jpeg);base64,/,"")]}))}))}function Ke(e){return e.replace(/^data:.*;base64,/,"")}function Ye(e){var t,n;return null!==(n=null===(t=e.match(/^(data:.*;base64),/))||void 0===t?void 0:t[1])&&void 0!==n?n:""}var Xe,Je=h.default.div(Xe||(Xe=y(["\n position: fixed;\n top: 0;\n left: 0;\n width: var(--app-width);\n height: calc(\n var(--app-height) - ","px\n );\n overflow-x: hidden;\n overflow-y: auto;\n font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"],["\n position: fixed;\n top: 0;\n left: 0;\n width: var(--app-width);\n height: calc(\n var(--app-height) - ","px\n );\n overflow-x: hidden;\n overflow-y: auto;\n font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"])),(function(e){var t=e.$heightOffset;return null!=t?t:0})),Ze=n.forwardRef((function(e,t){var r=e.children,i=e.className,a=e.heightOffset,o=void 0===a?0:a,s=e.style,l=e.onClick;return n.useEffect((function(){var e=function(){var e=document.documentElement;e.style.setProperty("--app-width","".concat(window.innerWidth,"px")),e.style.setProperty("--app-height","".concat(window.innerHeight,"px"))};return window.addEventListener("resize",e),e(),function(){window.removeEventListener("resize",e)}}),[]),c.default.createElement(Je,{ref:t,style:s,onClick:l,className:i,$heightOffset:o},r)}));Ze.displayName="PageContainer";var Qe,et,tt,nt,rt=h.default(Ze)(Qe||(Qe=y(["\n background: white;\n z-index: 10000;\n"],["\n background: white;\n z-index: 10000;\n"]))),it=h.default.div(et||(et=y(["\n text-align: center;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n padding: 25px;\n max-height: var(--app-height);\n height: 100%;\n box-sizing: border-box;\n"],["\n text-align: center;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n padding: 25px;\n max-height: var(--app-height);\n height: 100%;\n box-sizing: border-box;\n"]))),at=h.default.div(tt||(tt=y(["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: var(--app-width);\n max-height: var(--app-height);\n overflow: hidden;\n\n & > img {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"],["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: var(--app-width);\n max-height: var(--app-height);\n overflow: hidden;\n\n & > img {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"]))),ot=h.default.div(nt||(nt=y(["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n }\n }\n"],["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n }\n }\n"]))),st=function(){return st=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},st.apply(this,arguments)},lt={lines:12,length:7,width:5,radius:10,scale:1,corners:1,color:"#000",fadeColor:"transparent",animation:"spinner-line-fade-default",rotate:0,direction:1,speed:1,zIndex:2e9,className:"spinner",top:"50%",left:"50%",shadow:"0 0 1px transparent",position:"absolute"},ct=function(){function e(e){void 0===e&&(e={}),this.opts=st(st({},lt),e)}return e.prototype.spin=function(e){return this.stop(),this.el=document.createElement("div"),this.el.className=this.opts.className,this.el.setAttribute("role","progressbar"),ut(this.el,{position:this.opts.position,width:0,zIndex:this.opts.zIndex,left:this.opts.left,top:this.opts.top,transform:"scale("+this.opts.scale+")"}),e&&e.insertBefore(this.el,e.firstChild||null),function(e,t){var n=Math.round(t.corners*t.width*500)/1e3+"px",r="none";!0===t.shadow?r="0 2px 4px #000":"string"==typeof t.shadow&&(r=t.shadow);for(var i=function(e){for(var t=/^\s*([a-zA-Z]+\s+)?(-?\d+(\.\d+)?)([a-zA-Z]*)\s+(-?\d+(\.\d+)?)([a-zA-Z]*)(.*)$/,n=[],r=0,i=e.split(",");r<i.length;r++){var a=i[r].match(t);if(null!==a){var o=+a[2],s=+a[5],l=a[4],c=a[7];0!==o||l||(l=c),0!==s||c||(c=l),l===c&&n.push({prefix:a[1]||"",x:o,y:s,xUnits:l,yUnits:c,end:a[8]})}}return n}(r),a=0;a<t.lines;a++){var o=~~(360/t.lines*a+t.rotate),s=ut(document.createElement("div"),{position:"absolute",top:-t.width/2+"px",width:t.length+t.width+"px",height:t.width+"px",background:dt(t.fadeColor,a),borderRadius:n,transformOrigin:"left",transform:"rotate("+o+"deg) translateX("+t.radius+"px)"}),l=a*t.direction/t.lines/t.speed;l-=1/t.speed;var c=ut(document.createElement("div"),{width:"100%",height:"100%",background:dt(t.color,a),borderRadius:n,boxShadow:ht(i,o),animation:1/t.speed+"s linear "+l+"s infinite "+t.animation});s.appendChild(c),e.appendChild(s)}}(this.el,this.opts),this},e.prototype.stop=function(){return this.el&&("undefined"!=typeof requestAnimationFrame?cancelAnimationFrame(this.animateId):clearTimeout(this.animateId),this.el.parentNode&&this.el.parentNode.removeChild(this.el),this.el=void 0),this},e}();function ut(e,t){for(var n in t)e.style[n]=t[n];return e}function dt(e,t){return"string"==typeof e?e:e[t%e.length]}function ht(e,t){for(var n=[],r=0,i=e;r<i.length;r++){var a=i[r],o=ft(a.x,a.y,t);n.push(a.prefix+o[0]+a.xUnits+" "+o[1]+a.yUnits+a.end)}return n.join(", ")}function ft(e,t,n){var r=n*Math.PI/180,i=Math.sin(r),a=Math.cos(r);return[Math.round(1e3*(e*a+t*i))/1e3,Math.round(1e3*(-e*i+t*a))/1e3]}function pt(e){if(void 0!==e){if(e.classList.contains("ladda-button")||e.classList.add("ladda-button"),e.hasAttribute("data-style")||e.setAttribute("data-style","expand-right"),!e.querySelector(".ladda-label")){var t=document.createElement("span");t.className="ladda-label",function(e,t){var n=document.createRange();n.selectNodeContents(e),n.surroundContents(t),e.appendChild(t)}(e,t)}var n,r,i=e.querySelector(".ladda-spinner");i||((i=document.createElement("span")).className="ladda-spinner"),e.appendChild(i);var a={start:function(){return r||(r=function(e){var t,n,r=e.offsetHeight;0===r&&(r=parseFloat(window.getComputedStyle(e).height));r>32&&(r*=.8);e.hasAttribute("data-spinner-size")&&(r=parseInt(e.getAttribute("data-spinner-size"),10));e.hasAttribute("data-spinner-color")&&(t=e.getAttribute("data-spinner-color"));e.hasAttribute("data-spinner-lines")&&(n=parseInt(e.getAttribute("data-spinner-lines"),10));var i=.2*r;return new ct({color:t||"#fff",lines:n||12,radius:i,length:.6*i,width:i<7?2:3,animation:"ladda-spinner-line-fade",zIndex:"auto",top:"auto",left:"auto",className:""})}(e)),e.disabled=!0,e.setAttribute("data-loading",""),clearTimeout(n),r.spin(i),this.setProgress(0),this},startAfter:function(e){return clearTimeout(n),n=setTimeout((function(){a.start()}),e),this},stop:function(){return a.isLoading()&&(e.disabled=!1,e.removeAttribute("data-loading")),clearTimeout(n),r&&(n=setTimeout((function(){r.stop()}),1e3)),this},toggle:function(){return this.isLoading()?this.stop():this.start()},setProgress:function(t){t=Math.max(Math.min(t,1),0);var n=e.querySelector(".ladda-progress");0===t&&n&&n.parentNode?n.parentNode.removeChild(n):(n||((n=document.createElement("div")).className="ladda-progress",e.appendChild(n)),n.style.width=(t||0)*e.offsetWidth+"px")},isLoading:function(){return e.hasAttribute("data-loading")},remove:function(){clearTimeout(n),e.disabled=!1,e.removeAttribute("data-loading"),r&&(r.stop(),r=null)}};return a}console.warn("Ladda button target must be defined.")}var gt,mt,vt=function(e){var t=e.accessBlockedImageUrl,r=ye().t,i=n.useContext(qe).retryLocationAccess,a=n.useRef(null),o=n.useRef(null);return n.useEffect((function(){var e,t;if(a.current)return o.current=pt(a.current),null===(e=o.current)||void 0===e||e.start(),null===(t=o.current)||void 0===t||t.setProgress(100),o.current.stop(),function(){var e;null===(e=o.current)||void 0===e||e.remove()}}),[]),c.default.createElement(rt,null,c.default.createElement("div",{style:{display:"flex",height:"100%"}},c.default.createElement(it,{style:{maxWidth:500,height:"auto",margin:"auto"}},c.default.createElement(at,{style:{flexGrow:0}},c.default.createElement("img",{src:t,alt:""})),c.default.createElement("h3",null,r("Your location access is disabled")),c.default.createElement("p",{style:{lineHeight:1.5,marginBottom:50}},r("This application requires access to your location to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for location permissions, you must go to settings and provide location access to the current browser.")),c.default.createElement("button",{ref:a,className:"ladda-button","data-style":"expand-right",disabled:!1,style:{width:200,marginLeft:"auto",marginRight:"auto"},onClick:function(){i()}},c.default.createElement("span",{className:"ladda-label"},r("Retry"))))))},yt=function(e){var t=e.action,r=e.children,i=e.url,a=e.environment,o=void 0===a?"prod":a,s=e.token,l=e.enrollmentId,u=e.geolocationEnabled,d=void 0===u||u,h=e.geolocationRequired,f=void 0!==h&&h,y=e.onBeforeSubmit,b=e.onResponseReceived,w=e.onRequestFailure,x=n.useState(Ge.READY),E=x[0],T=x[1],S=n.useState(null),C=S[0],k=S[1],A=n.useState(null),R=A[0],_=A[1],I=n.useState(null),D=I[0],F=I[1],L=n.useState(null),N=L[0],M=L[1],P=n.useState(null),O=P[0],B=P[1],U=n.useState(null),$=U[0],G=U[1],j=n.useState(null),z=j[0],q=j[1],V=n.useState(null),H=V[0],W=V[1],K=n.useState(null),Y=K[0],X=K[1],J=n.useState(0),Z=J[0],Q=J[1],ee=n.useState(!1),te=ee[0],ne=ee[1],re=n.useState([]),ie=re[0],ae=re[1],oe=n.useState([]),se=oe[0],le=oe[1],ce=n.useState([]),ue=ce[0],de=ce[1],he=n.useCallback((function(e){ae((function(t){return v(v([],t,!0),[e],!1)}))}),[]),fe=n.useCallback((function(e){le((function(t){return v(v([],t,!0),[e],!1)}))}),[]),pe=n.useCallback((function(e){de((function(t){return v(v([],t,!0),[e],!1)}))}),[]),ge=n.useCallback((function(){return g(void 0,void 0,void 0,(function(){var e,n,r,a,c,u,d,h,f;return m(this,(function(g){switch(g.label){case 0:if(t===$e.NONE)return e={status:{statusCode:"000"},resultData:{}},T(Ge.SUBMITTED),_(e),[2,e];T(Ge.SUBMITTING),g.label=1;case 1:return g.trys.push([1,6,,7]),n={securityData:{userName:"",password:"",merchantId:0},customerData:{idData:{idType:"NSP",idCountry:"NSP",idState:""}},additionalData:{uniqueRequestId:(new Date).getTime().toString(),manualReviewRequired:"N",bypassAgeValidation:"N",deDuplicationRequired:"N",bypassNameMatching:"Y",postDataAPIRequired:"N",sendInputImagesInPost:"N",sendProcessedImagesInPost:"N",needImmediateResponse:"N",deduplicationSynchronous:"N",verifyDataWithHost:"N",idBackImageRequired:"N",stripSpecialCharacters:"Y",idImageResolutionCheck:"Y"}},D&&(n.customerData.idData.idImageFront=D),N&&(n.customerData.idData.idImageBack=N),O&&(n.customerData.idData.idImageFront=O),$&&(t===$e.IDENTIFY?n.biometricData={selfie:$}:n.customerData.biometricData={selfie:$}),l&&(n.customerData.personalData={uniqueNumber:l}),z&&(n.customerData.signatureData={signatureImage:z.fileContent}),H&&(n.customerData.additionalDocuments=H.map((function(e){return p(p({},e),{additionalDocument:JSON.stringify(p(p({},e.additionalDocument),{uniqueId:n.additionalData.uniqueRequestId}))})}))),r={selfie:ue,front:ie,back:se,isRealIDCheckRequired:"false",sdkVersion:"WebSDK_9.5.13.2.0",Resolution:"".concat(window.innerWidth," x ").concat(window.innerHeight)},(a=window.platform)&&(r.os=a.os.family,r.osVersion=a.os.version,r.browserVersion="".concat(a.name," ").concat(a.version)),Y&&(r.GeoLocation=JSON.stringify(Y)),n.additionalData.metadata=JSON.stringify(r),y?[4,y(n)]:[3,3];case 2:(c=g.sent())&&(n=c),g.label=3;case 3:return u=i||Ve(o,s),d=function(e,t,n,r){var i=r?"v4":"v3";switch(e){case $e.ENROLL:return"/".concat(i,t?"/customer/enroll":"/customer/enroll-biometrics");case $e.IDENTIFY:return"/".concat(i,"/customer/identify");case $e.VALIDATE:return"/".concat(i,n?"/customer/validate-id-match-face":"/customer/validate-id");case $e.VERIFY:return"/".concat(i,"/customer/verify");default:throw new Error("unrecognized SubmissionAction ".concat(e))}}(t,!!(D||N||O),!!$,!!s),[4,fetch(u+d,{method:"POST",headers:He(s),body:JSON.stringify(n)})];case 4:return[4,g.sent().json()];case 5:return h=g.sent(),k(n),_(h),T(Ge.SUBMITTED),null==b||b(h),[2,h];case 6:return f=g.sent(),T(Ge.FAILED),null==w||w(f),[2,null];case 7:return[2]}}))}))}),[t,H,l,o,Y,se,N,ie,D,y,w,b,O,ue,$,z,s,i]),me=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,l,c,u;return m(this,(function(d){switch(d.label){case 0:return l={securityData:{userName:"",password:"",merchantId:0}},c={},u={},[4,We(e)];case 1:return l.customerData=(c.biometricData=(u.selfie=d.sent(),u),c),l.additionalData={uniqueRequestId:(new Date).getTime().toString(),stripSpecialCharacters:"Y",estimateAge:"N",predictGender:"N"},t=l,n=i||Ve(o,s),r="/".concat(!!s?"v4":"v3","/customer/live-check"),[4,fetch(n+r,{method:"POST",headers:He(s),body:JSON.stringify(t)})];case 2:return[4,d.sent().json()];case 3:return a=d.sent(),_(a),[2,a]}}))}))}),[o,s,i]),ve=n.useCallback((function(){Q((function(e){return e+1}))}),[]);return n.useEffect((function(){d&&(console.log("making geolocation attempt",Z),navigator.geolocation.getCurrentPosition((function(e){X(e),ne(!1)}),(function(e){if(1!==e.code)throw new Error(e.message);ne(!0)})))}),[Z,d,f]),c.default.createElement(qe.Provider,{value:{submit:ge,submissionStatus:E,submissionRequest:C,submissionResponse:R,submissionEnvironment:o,idFrontImage:D,idBackImage:N,passportImage:O,selfieImage:$,signatureData:z,additionalDocuments:H,setIdFrontImage:F,setIdBackImage:M,setPassportImage:B,setSelfieImage:G,setSignatureData:q,setAdditionalDocuments:W,logIdFrontCaptureAttempt:he,logIdBackCaptureAttempt:fe,logSelfieCaptureAttempt:pe,checkLiveness:me,retryLocationAccess:ve}},f&&te?c.default.createElement(vt,null):r)};function bt(e){return g(this,void 0,void 0,(function(){var t,n,r,i,a,o;return m(this,(function(s){switch(s.label){case 0:return mt?[2,mt]:[4,f.loadGraphModel(e)];case 1:return mt=s.sent(),[4,f.ready()];case 2:return s.sent(),t=f.zeros([448,448,3]),n=f.cast(t,"int32"),r=f.tensor4d(Array.from(n.dataSync()),[1,448,448,3]),i=f.cast(r,"int32"),o=(a=f).dispose,[4,mt.executeAsync(i)];case 3:return o.apply(a,[s.sent()]),n.dispose(),i.dispose(),r.dispose(),f.dispose(t),[2,mt]}}))}))}!function(e){e.NONE="NONE",e.ID_CARD="ID_CARD",e.ID_CARD_FRONT="ID_CARD_FRONT",e.ID_CARD_BACK="ID_CARD_BACK",e.PASSPORT="PASSPORT"}(gt||(gt={}));var wt={1:"Document",2:"MRZ",3:"PDF417",4:"Primary face",5:"Secondary face",6:"Glare",7:"Punch Hole",8:"Passport Page"};function xt(e,t,n){return e[t]?e[t][0]?e[t][0][n]:e[t][n]:"contentBoxSize"===t?e.contentRect["inlineSize"===n?"width":"height"]:void 0}function Et(e){void 0===e&&(e={});var t=e.onResize,r=n.useRef(void 0);r.current=t;var i=e.round||Math.round,a=n.useRef(),o=n.useState({width:void 0,height:void 0}),s=o[0],l=o[1],c=n.useRef(!1);n.useEffect((function(){return c.current=!1,function(){c.current=!0}}),[]);var u=n.useRef({width:void 0,height:void 0}),d=function(e,t){var r=n.useRef(null),i=n.useRef(null);i.current=t;var a=n.useRef(null);n.useEffect((function(){o()}));var o=n.useCallback((function(){var t=i.current,n=a.current||(t?t instanceof Element?t:t.current:null);r.current&&r.current.element===n&&r.current.subscriber===e||(r.current&&r.current.cleanup&&r.current.cleanup(),r.current={element:n,subscriber:e,cleanup:n?e(n):void 0})}),[e]);return n.useEffect((function(){return function(){r.current&&r.current.cleanup&&(r.current.cleanup(),r.current=null)}}),[]),n.useCallback((function(e){a.current=e,o()}),[o])}(n.useCallback((function(t){return a.current&&a.current.box===e.box&&a.current.round===i||(a.current={box:e.box,round:i,instance:new ResizeObserver((function(t){var n=t[0],a="border-box"===e.box?"borderBoxSize":"device-pixel-content-box"===e.box?"devicePixelContentBoxSize":"contentBoxSize",o=xt(n,a,"inlineSize"),s=xt(n,a,"blockSize"),d=o?i(o):void 0,h=s?i(s):void 0;if(u.current.width!==d||u.current.height!==h){var f={width:d,height:h};u.current.width=d,u.current.height=h,r.current?r.current(f):c.current||l(f)}}))}),a.current.instance.observe(t,{box:e.box}),function(){a.current&&a.current.instance.unobserve(t)}}),[e.box,i]),e.ref);return n.useMemo((function(){return{ref:d,width:s.width,height:s.height}}),[d,s.width,s.height])}window.OffscreenCanvas||(window.OffscreenCanvas=function(e,t){var n=this;return this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=t,this.canvas.convertToBlob=function(){return new Promise((function(e){n.canvas.toBlob(e)}))},this.canvas});var Tt=n.createContext({orientation:"landscape",wrapperWidth:1,wrapperHeight:1,wrapperAspectRatio:0,imageAspectRatio:0,wrapperRef:null,setDimensions:function(){return null},onImageLoaded:function(){return null}});let St;function Ct(e){if(void 0!==St)return St;if(e||"undefined"!=typeof navigator&&null!=navigator){if(e||(e=navigator),"ReactNative"===e.product)return!0;const t=e.userAgent||e.vendor||("undefined"!=typeof window?window.opera:"");if(!t){return e.userAgentData&&e.userAgentData.mobile}return/(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.test(t)||/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.test(t.substr(0,4))}return!1}var kt=function(e){var t=e.width,r=void 0===t?0:t,i=e.height,a=void 0===i?0:i,o=e.padding,s=void 0===o?Ct()?0:50:o,l=e.borderWidth,u=void 0===l?4:l,d=e.borderColor,h=void 0===d?"white":d,f=e.isMirrored,g=void 0!==f&&f,m=e.instruction,v=void 0===m?"":m,y=e.portraitGuidesImageUrl,b=e.landscapeGuidesImageUrl,w=e.onClick,x=n.useContext(Tt),E=x.orientation,T=x.wrapperRef,S=x.wrapperWidth,C=x.wrapperHeight,k=x.imageAspectRatio,A=x.wrapperAspectRatio,R=x.onImageLoaded,_=x.setDimensions;0==r&&(r=S),0==a&&(a=C),n.useEffect((function(){_({width:r,height:a})}),[a,_,r]);var I={height:C-2*s-2*u};return k>=A&&(I={width:S-2*s-2*u}),c.default.createElement(Ze,{ref:T,onClick:w,style:{zIndex:1e3}},c.default.createElement("div",{style:{display:"flex",flexFlow:"column nowrap",height:"100%"}},c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},""!==v&&c.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12}},v)),c.default.createElement("div",{style:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyItems:"center",maxWidth:"calc(100%)",maxHeight:"calc(100% - ".concat(2*s,"px - ").concat(2*u,"px)")}},c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:s,flexGrow:1}}),c.default.createElement("div",{style:{transform:g?"scaleX(-1)":"",border:"".concat(u,"px solid ").concat(h),maxWidth:"calc(100% - ".concat(2*s,"px - ").concat(2*u,"px)"),maxHeight:a-2*s-2*u}},c.default.createElement("img",{src:"portrait"===E?y:b,alt:"",onLoad:R,style:p({},I)})),c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:s,flexGrow:1}})),c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},""!==v&&c.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12,opacity:0}},v))))};function At(e){return g(this,void 0,void 0,(function(){var t;return m(this,(function(n){switch(n.label){case 0:return"BarcodeDetector"in window?(t=new BarcodeDetector({formats:["pdf417"]}),console.log("this is a real native result!"),[4,t.detect(e)]):[2,[]];case 1:return[2,n.sent()]}}))}))}function Rt(e,t){return void 0===t&&(t=!1),g(this,void 0,void 0,(function(){var n,r,i,a,o,s,l,c,u;return m(this,(function(d){switch(d.label){case 0:return[4,new Promise((function(o){if(i=e.naturalWidth,a=e.naturalHeight,n=document.createElement("canvas"),!(r=n.getContext("2d")))return[];if(t){console.log("rotating!!"),n.width=a,n.height=i,r.setTransform(0,1,-1,0,n.width,0),r.drawImage(e,0,0,i,a);var s=new Image;s.width=n.width,s.height=n.height,s.onload=function(){o(s)},n.toBlob((function(e){e&&(s.src=URL.createObjectURL(e))}))}else r.drawImage(e,0,0,n.width,n.height),o(e)}))];case 1:return o=d.sent(),s=new ZXing.BitmapLuminanceSource(r,o),l=new ZXing.Common.HybridBinarizer(s),c=new ZXing.BinaryBitmap(l),u=ZXing.PDF417.PDF417Reader.decode(c,null,!1),r.clearRect(0,0,n.width,n.height),n.remove(),[2,u]}}))}))}function _t(){return"BarcodeDetector"in window}function It(e,t){var n=this;return new Promise((function(r){var i=new Image;i.onload=function(){return g(n,void 0,void 0,(function(){var e,n,a,o;return m(this,(function(s){switch(s.label){case 0:return _t()?[4,At(i)]:[3,2];case 1:return n=s.sent(),console.log("native result",n,"".concat(i.width,"x").concat(i.height)),r(n.length>0?p(p({},n[0]),{Source:"native"}):null),[3,4];case 2:return e=(null!==(a=null==t?void 0:t[2])&&void 0!==a?a:0)<(null!==(o=null==t?void 0:t[3])&&void 0!==o?o:0),[4,Rt(i,e)];case 3:n=s.sent(),console.log("zxing result",n),r(n.length>0?p(p({},n[0]),{Source:"zxing"}):null),s.label=4;case 4:return[2]}}))}))},i.src=URL.createObjectURL(e)}))}var Dt,Ft,Lt=n.createContext({ready:!1,working:{current:!1},makePrediction:function(){return null},onPredictionMade:function(){return null},documentDetectionPredictionTime:0,focusPredictionTime:0}),Nt=n.createContext({videoRef:{current:null},videoLoaded:!1,cameraRef:{current:null},cameraReady:!1,cameraAccessDenied:!1,retryCameraAccess:function(){return null},releaseCameraAccess:function(){return null},iphoneContinuityCameraAvailable:!1,iphoneContinuityCameraAllowed:!0,setIphoneContinuityCameraAllowed:function(){return null},grabFrame:function(){return Promise.resolve(null)},takePhoto:function(){return Promise.resolve(null)},setVideoLoaded:function(){return null}}),Mt={videoWidth:0,videoHeight:0,captureStartedAt:null,detectedObjects:[],bestDocument:null,bestMrz:null,bestPdf417:null,documentDetectionNonMaxSuppressionEnabled:!0,documentType:gt.NONE,documentInBounds:!1,documentDetectionScore:0,documentDetectionThreshold:.92,documentDetectionThresholdMet:!1,mrzDetectionScore:0,mrzDetectionThreshold:.5,mrzDetectionThresholdMet:!1,focusScore:0,focusThreshold:.5,focusThresholdMet:!1,passportPageDetectionScore:0,passportPageDetectionThreshold:.5,passportPageDetectionThresholdMet:!1,pdf417DetectionScore:0,pdf417DetectionThreshold:.15,pdf417DetectionThresholdMet:!1,barcodeScanningEnabled:!0,barcodeResult:null,waitingForBarcodeScan:!1,shouldScanBarcode:!1,autoCaptureBarcodeRequired:"mobile",barcodeScanFailedAttempts:0,maxBarcodeScanAttempts:10,isGoodFrame:!1,goodFramesCount:0,goodFramesThreshold:3,goodFramesThresholdMet:!1,lastFrameCapturedAt:null,frameCaptureRate:0,capturing:!1,captured:!1,captureFailed:!1},Pt=function(e,t){var n,r,i,a,o,s,l,c,u;switch(t.type){case"configure":return p(p(p({},e),t.payload),{goodFramesCount:0,captureStartedAt:new Date,capturing:!1,captured:!1,captureFailed:!1});case"objectsDetected":var d=t.payload,h=d.focusPrediction,f=d.frame,g=t.payload.detectedObjects,m=new Date,v=0,y=e.goodFramesThreshold;if(e.lastFrameCapturedAt&&(v=1e3/(m.getTime()-e.lastFrameCapturedAt.getTime()))>0&&(y=Math.ceil(3*v)),e.documentDetectionNonMaxSuppressionEnabled){var b={};g.forEach((function(e,t){e&&(b[e.label]||(b[e.label]=[0,-1]),e.score>b[e.label][0]&&(b[e.label]=[e.score,t]))})),g=Object.keys(b).map((function(e){return g[b[e][1]]})).filter((function(e){return!!e}))}var w=null!==(n=g.find((function(e){return"Passport Page"===e.label})))&&void 0!==n?n:null,x=null!==(r=null==w?void 0:w.score)&&void 0!==r?r:0,E=x>=e.passportPageDetectionThreshold,T=null!==(i=g.find((function(e){return"Document"===e.label})))&&void 0!==i?i:null,S=E?x:null!==(a=null==T?void 0:T.score)&&void 0!==a?a:0,C=S>=e.documentDetectionThreshold,k=null!==(o=g.find((function(e){return"MRZ"===e.label})))&&void 0!==o?o:null,A=null!==(s=null==k?void 0:k.score)&&void 0!==s?s:0,R=A>=e.mrzDetectionThreshold,_=null!==(l=g.find((function(e){return"PDF417"===e.label})))&&void 0!==l?l:null,I=null!==(c=null==h?void 0:h[1])&&void 0!==c?c:0,D=I>=e.focusThreshold,F=null!==(u=null==_?void 0:_.score)&&void 0!==u?u:0,L=F>=e.pdf417DetectionThreshold,N=gt.NONE;E?N=gt.PASSPORT:C&&(N=gt.ID_CARD);var M=!1;if(T){var P=T.bbox,O=P[0],B=P[1],U=P[2],$=P[3];O*=f.width,U*=f.width,M=(B*=f.height)>5&&B+($*=f.height)+5<f.height&&(O>5||O<5&&O+U>.8*f.width)&&O+U+5<f.width}var G=!0===e.autoCaptureBarcodeRequired||"mobile"===e.autoCaptureBarcodeRequired&&Ct(),j=e.barcodeScanningEnabled&&L&&G,z=j&&!e.barcodeResult,q=e.documentDetectionThresholdMet&&e.documentInBounds&&e.focusThresholdMet,V=e.goodFramesCount;return q&&(V+=1),p(p({},e),{videoWidth:f.width,videoHeight:f.height,detectedObjects:g,bestDocument:T,bestMrz:k,bestPdf417:_,documentType:N,documentInBounds:M,documentDetectionScore:S,documentDetectionThresholdMet:C,mrzDetectionScore:A,mrzDetectionThresholdMet:R,pdf417DetectionScore:F,pdf417DetectionThresholdMet:L,passportPageDetectionScore:x,passportPageDetectionThresholdMet:E,focusScore:I,focusThresholdMet:D,shouldScanBarcode:j,waitingForBarcodeScan:z,isGoodFrame:q,goodFramesCount:V,goodFramesThreshold:y,goodFramesThresholdMet:V>=y,lastFrameCapturedAt:m,frameCaptureRate:v});case"barcodeScanned":return p(p({},e),{barcodeResult:t.payload.result,waitingForBarcodeScan:!1,autoCaptureBarcodeRequired:!1});case"barcodeScanFailed":var H=p(p({},e),{barcodeScanFailedAttempts:e.barcodeScanFailedAttempts+1});return H.barcodeScanFailedAttempts>=H.maxBarcodeScanAttempts&&(H.autoCaptureBarcodeRequired=!1,H.shouldScanBarcode=!1,H.waitingForBarcodeScan=!1),H;case"capturing":return p(p({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return p(p({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return p(p({},e),{capturing:!1,captured:!1,captureFailed:!0});default:return e}},Ot=function(e){var t,r,i,a,o,s=e.documentDetectionNonMaxSuppressionEnabled,l=void 0===s||s,u=e.requiredDocumentType,d=e.autoCaptureEnabled,h=void 0===d||d,f=e.autoCaptureScoreThreshold,p=void 0===f?.8:f,v=e.autoCaptureGoodFramesRequired,y=void 0===v?3:v,b=e.autoCaptureBarcodeRequired,w=void 0===b?"mobile":b,x=e.mrzDetectionScoreThreshold,E=void 0===x?.25:x,T=e.passportPageDetectionThreshold,S=void 0===T?.6:T,C=e.pdf417DetectionThreshold,k=void 0===C?.15:C,A=e.focusScoreThreshold,R=void 0===A?.3:A,_=e.barcodeScanningEnabled,I=void 0===_||_,D=e.maxBarcodeScanAttempts,F=void 0===D?10:D,L=e.onPrediction,N=e.onBarcodeScanned,M=e.onCapture,P=e.processingScreen,O=e.processingDelay,B=void 0===O?0:O,U=e.assets,$=void 0===U?{}:U,G=e.verbiage,j=void 0===G?{}:G,z=e.debugMode,q=void 0!==z&&z,V=Et(),H=V.ref,W=V.width,K=void 0===W?1:W,Y=V.height,X=void 0===Y?1:Y,J=n.useReducer(Pt,Mt),Z=J[0],Q=J[1],ee=n.useState(""),te=ee[0],ne=ee[1],re=n.useState(!1),ie=re[0],ae=re[1],oe=n.useContext(Nt),se=oe.cameraRef,le=oe.cameraReady,ce=oe.takePhoto,ue=oe.videoLoaded,de=ye().t,he=n.useRef();n.useEffect((function(){he.current=new Date}),[]),n.useEffect((function(){Q({type:"configure",payload:{requiredDocumentType:u,documentDetectionNonMaxSuppressionEnabled:l,documentDetectionThreshold:p,mrzDetectionThreshold:E,focusThreshold:R,goodFramesThreshold:y,autoCaptureBarcodeRequired:w,barcodeScanningEnabled:I,maxBarcodeScanAttempts:F,passportPageDetectionThreshold:S,pdf417DetectionThreshold:k}})}),[u,p,l,R,E,y,w,I,F,S,k]);var fe=n.useRef(0),pe=n.useRef(!1),ge=n.useContext(Lt),me=ge.ready,ve=ge.working,be=ge.makePrediction,we=ge.onPredictionMade,xe=ge.documentDetectionPredictionTime,Ee=ge.focusPredictionTime;n.useEffect((function(){pe.current=ue&&le&&me&&!Z.capturing&&!Z.captured}),[le,Z.captured,Z.capturing,me,ue]);var Te=n.useState(null),Se=Te[0],Ce=Te[1];n.useEffect((function(){if(me&&le&&ue)return fe.current=requestAnimationFrame((function e(){return g(this,void 0,void 0,(function(){var t,n;return m(this,(function(r){switch(r.label){case 0:if(!pe.current||ve.current)return[3,5];r.label=1;case 1:return r.trys.push([1,4,,5]),[4,ce()];case 2:return(t=r.sent())?(Ce(t),[4,new Promise((function(e){var n=new Image;n.onload=function(){be(n),e(null)},n.onerror=function(){e(null)},n.src=URL.createObjectURL(t)}))]):(fe.current=requestAnimationFrame(e),[2]);case 3:return r.sent(),[3,5];case 4:return n=r.sent(),console.error("error capturing frame",n),[3,5];case 5:return fe.current=requestAnimationFrame(e),[2]}}))}))})),function(){cancelAnimationFrame(fe.current)}}),[le,be,me,ve,ce,ue]),n.useEffect((function(){we((function(e){var t=e.documentDetection,n=t.scores,r=t.labels,i=t.boxes.map((function(e,t){return function(e,t,n){var r=e[0],i=e[1];return{score:t,bbox:[i,r,e[3]-i,e[2]-r],label:wt[n]}}(e,n[t],r[t])}));Q({type:"objectsDetected",payload:{detectedObjects:i,focusPrediction:e.focus,frame:e.image}})}))}),[we]),n.useEffect((function(){null==L||L({focusScore:Z.focusScore,focusThresholdMet:Z.focusThresholdMet,documentDetected:Z.documentDetectionThresholdMet,documentType:Z.documentType,documentScore:Z.documentDetectionScore,mrzDetected:Z.mrzDetectionThresholdMet,mrzScore:Z.mrzDetectionScore})}),[L,Z.bestPdf417,Z.documentDetectionScore,Z.documentDetectionThresholdMet,Z.documentType,Z.focusScore,Z.focusThresholdMet,Z.mrzDetectionScore,Z.mrzDetectionThresholdMet]),n.useEffect((function(){g(void 0,void 0,void 0,(function(){var e,t;return m(this,(function(n){switch(n.label){case 0:return Z.shouldScanBarcode&&Se?[4,It(Se,null===(t=Z.bestPdf417)||void 0===t?void 0:t.bbox)]:[3,2];case 1:(e=n.sent())?(Q({type:"barcodeScanned",payload:{result:e}}),null==N||N(e)):Q({type:"barcodeScanFailed"}),n.label=2;case 2:return[2]}}))}))}),[N,Z.shouldScanBarcode,null===(t=Z.bestPdf417)||void 0===t?void 0:t.bbox,ce,Se]);var ke=h&&Z.goodFramesThresholdMet&&!Z.capturing&&!Z.captured&&!Z.waitingForBarcodeScan&&Bt(Z.captureStartedAt)>=3e3;return n.useEffect((function(){g(void 0,void 0,void 0,(function(){var e,t,n,r,i,a,o,s,l;return m(this,(function(c){switch(c.label){case 0:return ke?(Q({type:"capturing"}),(e=Se)?(ae(!0),[4,(u=e,new Promise((function(e){var t=new Image;t.onload=function(){e([t.naturalWidth,t.naturalHeight])},t.src=URL.createObjectURL(u)})))]):(console.log("uh oh, i did not get a photo"),Q({type:"captureFailed"}),[2])):[2];case 1:return t=c.sent(),n=t[0],r=t[1],(i=document.createElement("canvas")).width=n,i.height=r,[4,createImageBitmap(e)];case 2:if(a=c.sent(),(n>1920&&r>1080||n>1080&&r>1920)&&Z.barcodeResult){if(n>r?(i.width=1920,i.height=r*(1920/n)):(i.height=1920,i.width=n*(1920/r)),!(o=i.getContext("2d")))return[2];o.drawImage(a,0,0,i.width,i.height)}else{if(!(s=i.getContext("bitmaprenderer")))return[2];s.transferFromImageBitmap(a)}return l=i.toDataURL("image/jpeg",.92),ne(l),setTimeout((function(){var e,t=(new Date).getTime()-(null!==(e=he.current)&&void 0!==e?e:new Date).getTime();null==M||M(l,n,r,{autoCapture:"Y",captureTime:t}),Q({type:"captured"}),ae(!1)}),B),[2]}var u}))}))}),[Se,M,B,ke,Z.barcodeResult]),ie?P||c.default.createElement("div",null,"Processing..."):""!==te?c.default.createElement("img",{src:te,alt:"",style:{maxWidth:"100%",maxHeight:"100%"}}):(j.instructionText=j.instructionText||de("Scan the front of ID"),j.capturingText=j.capturingText||de("Capturing..."),j.captureFailedText=j.captureFailedText||de("Capture failed!"),c.default.createElement(Ze,{ref:H,className:"flex"},c.default.createElement(kt,{width:K,height:X,instruction:Z.captureFailed?j.captureFailedText:Z.capturing?null==j?void 0:j.capturingText:j.instructionText,portraitGuidesImageUrl:$.portraitGuidesImageUrl,landscapeGuidesImageUrl:$.landscapeGuidesImageUrl,isMirrored:!(null===(r=se.current)||void 0===r?void 0:r.isRearFacing),borderColor:Z.isGoodFrame?"green":"white"}),q&&Z.detectedObjects.length>0&&c.default.createElement("div",{style:{position:"absolute",zIndex:1001,width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%",transform:(null===(i=se.current)||void 0===i?void 0:i.isRearFacing)?"":"scaleX(-1)",overflow:"hidden"}},Z.detectedObjects.map((function(e,t){var n,r=e.bbox[0]*K,i=e.bbox[1]*X,a=e.bbox[2]*K,o=e.bbox[3]*X;if(K/X<Z.videoWidth/Z.videoHeight){var s=Z.videoWidth*(X/Z.videoHeight);r=e.bbox[0]*s-(s-K)/2,a=e.bbox[2]*s}else{var l=Z.videoHeight*(K/Z.videoWidth);i=e.bbox[1]*l-(l-X)/2,o=e.bbox[3]*l}return c.default.createElement("div",{key:t,style:{position:"absolute",left:r,top:i,width:a,height:o,border:"3px solid green",font:"10px monospace",color:"green",transform:(null===(n=se.current)||void 0===n?void 0:n.isRearFacing)?"":"scaleX(-1)"}},e.label," (",e.score.toFixed(3),")")}))),q&&c.default.createElement("span",{style:{fontSize:16,fontFamily:"monospace",position:"absolute",left:20,bottom:20,color:"limegreen",background:"rgba(0,0,0,0.5)",zIndex:1001}},se.current?c.default.createElement(c.default.Fragment,null,"✅ Camera: ",null===(a=se.current)||void 0===a?void 0:a.width,"x",null===(o=se.current)||void 0===o?void 0:o.height):"❌ Camera not ready",c.default.createElement("br",null),Z.frameCaptureRate>.75?"✅":"👎"," Frame Rate:"," ",Math.round(1e3*(Z.frameCaptureRate+Number.EPSILON))/1e3," ","fps (",xe,"ms doc detect,"," ",Ee,"ms focus)",c.default.createElement("br",null),me?c.default.createElement(c.default.Fragment,null,Z.documentDetectionThresholdMet?"✅":"❌"," Document Score: ",Z.documentDetectionScore," (",Z.documentType,")",c.default.createElement("br",null),Z.documentInBounds?"✅":"❌"," Document In Bounds",c.default.createElement("br",null),Z.focusThresholdMet?"✅":"❌"," Focus Score:"," ",Z.focusScore,c.default.createElement("br",null),Z.goodFramesThresholdMet?"✅":"❌"," Good Frame Count:"," ",Z.goodFramesCount,"/",Z.goodFramesThreshold,I&&Z.autoCaptureBarcodeRequired?c.default.createElement(c.default.Fragment,null,c.default.createElement("br",null),Z.barcodeResult?"✅":"❌"," Barcode Scanned (",_t()?"Native":"ZXing",","," ",Z.barcodeScanFailedAttempts,"/",Z.maxBarcodeScanAttempts," failed attempts)"):null):c.default.createElement(c.default.Fragment,null,"❌ Models not ready"))))},Bt=function(e){return e?Math.abs((new Date).getTime()-e.getTime()):0},Ut="https://websdk-cdn-dev.idmission.com/assets",$t=function(e){var t=e.accessBlockedImageUrl,r=void 0===t?Ut+"/camera-disable-icon.png":t,i=ye().t,a=n.useContext(Nt).retryCameraAccess,o=n.useRef(null),s=n.useRef(null);return n.useEffect((function(){var e,t;if(o.current)return s.current=pt(o.current),null===(e=s.current)||void 0===e||e.start(),null===(t=s.current)||void 0===t||t.setProgress(100),s.current.stop(),function(){var e;null===(e=s.current)||void 0===e||e.remove()}}),[]),c.default.createElement(rt,null,c.default.createElement("div",{style:{display:"flex",height:"100%"}},c.default.createElement(it,{style:{maxWidth:500,height:"auto",margin:"auto"}},c.default.createElement(at,{style:{flexGrow:0}},c.default.createElement("img",{src:r,alt:i("Camera access blocked")})),c.default.createElement("h3",null,i("Your camera permission is disabled")),c.default.createElement("p",{style:{lineHeight:1.5,marginBottom:50}},i("This application requires access to your camera to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for camera permissions, you must go to settings and provide camera access to the current browser.")),c.default.createElement("button",{ref:o,className:"ladda-button","data-style":"expand-right",disabled:!1,style:{width:200,marginLeft:"auto",marginRight:"auto"},onClick:function(){a()}},c.default.createElement("span",{className:"ladda-label"},i("Retry"))))))},Gt=function(e){var t=e.headingText,r=e.useContinuityCameraText,i=e.modelsWarmingUpText,a=e.cameraInitializingText,o=e.cameraAccessBlockedText,s=e.continueText,l=e.instructionImageUrl,u=void 0===l?Ut+"/WebSDK-Instruction-DL-Capture-3-Portrait.png":l,d=e.accessBlockedImageUrl,h=void 0===d?Ut+"/camera-disable-icon.png":d,f=e.onDismissed,p=ye().t,g=n.useRef(null),m=n.useRef(null),v=n.useContext(Lt).ready,y=n.useContext(Nt),b=y.cameraReady,w=y.cameraAccessDenied,x=y.iphoneContinuityCameraAvailable,E=y.setIphoneContinuityCameraAllowed,T=n.useState(!1),S=T[0],C=T[1];return n.useEffect((function(){if(g.current){m.current=pt(g.current),m.current.start();var e=0,t=setInterval((function(){var t;e<.9&&(e+=.1),null===(t=m.current)||void 0===t||t.setProgress(e)}),250);return function(){var e;null===(e=m.current)||void 0===e||e.remove(),clearInterval(t)}}}),[]),n.useEffect((function(){var e;if(v&&b)return null===(e=m.current)||void 0===e||e.stop(),function(){return null};var t=setTimeout((function(){C(!1)}),500);return function(){clearTimeout(t)}}),[b,v]),S?c.default.createElement(c.default.Fragment,null):w?c.default.createElement($t,{accessBlockedImageUrl:h}):(t=t||p("Use your device camera to capture your ID"),r=r||p("Use your iPhone as a webcam"),i=i||p("Models warming up..."),a=a||p("Camera initializing..."),o=o||p("Camera access blocked"),s=s||p("Continue"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",null,t),c.default.createElement(at,{style:{pointerEvents:"none"}},c.default.createElement("img",{alt:t,src:u})),c.default.createElement("div",{style:{paddingTop:26,height:48,marginTop:-48}},x&&c.default.createElement(c.default.Fragment,null,c.default.createElement("input",{id:"use-continuity-camera",type:"checkbox",defaultChecked:!0,onChange:function(e){E(e.target.checked)}}),c.default.createElement("label",{htmlFor:"use-continuity-camera"},r))),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"mint",disabled:!b||!v,ref:g,onClick:function(){C(!0),null==f||f()}},c.default.createElement("span",{className:"ladda-label"},w?o:b&&v?s:v?a:i)))))},jt=function(e){var t,r=e.instructionText,i=e.frontPortraitGuidesImage,a=e.frontLandscapeGuidesImage,o=e.backPortraitGuidesImage,s=e.backLandscapeGuidesImage,l=ye().t,u=Et(),d=u.ref,h=u.width,f=void 0===h?1:h,g=u.height,m=void 0===g?1:g,v=n.useContext(Nt).cameraRef;r=r||l("Please flip your ID card...");var y=Ct()?0:50,b=!(null===(t=v.current)||void 0===t?void 0:t.isRearFacing),w=n.useContext(Tt),x=w.orientation,E=w.wrapperRef,T=w.wrapperWidth,S=w.wrapperHeight,C=w.imageAspectRatio,k=w.wrapperAspectRatio,A=w.onImageLoaded,R=w.setDimensions;n.useEffect((function(){R({width:f,height:m})}),[m,R,f]);var _={height:S-2*y-8};C>=k&&(_={width:T-2*y-8});var I=n.useState(1),D=I[0],F=I[1],L=n.useState(0),N=L[0],M=L[1],P=["rotateY(".concat(N,"deg)")];b&&P.push("scaleX(-1)");var O=["rotateY(".concat(180-N,"deg)")];return b&&O.push("scaleX(-1)"),n.useEffect((function(){var e=function(){F(1),M(180),setTimeout((function(){F(0),M(0)}),1500)};setTimeout(e,250);var t=setInterval(e,2500);return function(){clearInterval(t)}}),[]),c.default.createElement(Ze,{ref:d,className:"flex"},c.default.createElement("div",{ref:E,style:{position:"absolute",zIndex:1e3,width:"100%",height:"100%"}},c.default.createElement("div",{style:{display:"flex",flexFlow:"column nowrap",height:"100%"}},c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},c.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12}},r)),c.default.createElement("div",{style:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyItems:"center",maxWidth:"calc(100%)",maxHeight:"calc(100% - ".concat(2*y,"px - ").concat(8,"px)")}},c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:y,flexGrow:1}}),c.default.createElement("div",{style:{maxWidth:"calc(100% - ".concat(2*y,"px - ").concat(8,"px)"),maxHeight:m-2*y-8}},c.default.createElement("div",{style:{position:"relative",border:"".concat(4,"px solid ").concat("white")}},c.default.createElement("img",{src:"portrait"===x?i:a,alt:"",onLoad:A,style:p({backfaceVisibility:"hidden",transition:"transform ".concat(D,"s"),transform:P.join(" "),transformStyle:"preserve-3d",position:"relative",top:0,left:0,display:"block"},_)}),c.default.createElement("img",{src:"portrait"===x?o:s,alt:"",style:p({backfaceVisibility:"hidden",transition:"transform ".concat(D,"s"),transform:O.join(" "),transformStyle:"preserve-3d",position:"absolute",top:0,left:0,display:"block"},_)}))),c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:y,flexGrow:1}})),c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},c.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12,opacity:0}},r)))))},zt=function(e){var t=e.disabled,r=e.onClick,i=e.children,a=n.useRef(null),o=n.useRef(null),s=n.useRef(null);return n.useEffect((function(){if(a.current)return o.current=pt(a.current),function(){var e;null===(e=o.current)||void 0===e||e.remove()}}),[]),n.useEffect((function(){var e,n;if(o.current)if(t){o.current.start();var r=0;s.current=setInterval((function(){var e;r<.9&&(r+=.1),null===(e=o.current)||void 0===e||e.setProgress(r)}),1500)}else s.current&&(clearInterval(s.current),null===(e=o.current)||void 0===e||e.setProgress(1),null===(n=o.current)||void 0===n||n.stop())}),[t]),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"mint",disabled:t,ref:a,onClick:r},i)},qt=function(e){var t=e.capturedDocuments,r=e.onSubmitClick,i=e.onRetryClick,a=e.headingText,o=e.idCardFrontText,s=e.idCardBackText,l=e.passportText,u=e.instructionText,d=e.retryText,h=e.submittingText,f=e.submitText,p=n.useContext(qe).submissionStatus,g=ye().t,m=t.ID_CARD_FRONT,v=t.ID_CARD_BACK,y=t.PASSPORT;return a=a||g("ID Capture Successful"),o=o||g("ID Card Front"),s=s||g("ID Card Back"),l=l||g("Passport"),u=u||g("Verify the entire ID was captured clearly with no glare."),d=d||g("Retry"),h=h||g("Submitting..."),f=f||g("Done"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h1",null,a),c.default.createElement(at,null,c.default.createElement(ot,{style:{paddingBottom:40}},m&&c.default.createElement("div",null,c.default.createElement("h3",null,o),c.default.createElement("img",{src:m.imageData,alt:o,width:m.width,height:m.height})),v&&c.default.createElement("div",null,c.default.createElement("h3",null,s),c.default.createElement("img",{src:v.imageData,alt:s,width:v.width,height:v.height})),y&&c.default.createElement("div",null,c.default.createElement("h3",null,l),c.default.createElement("img",{src:y.imageData,alt:l,width:y.width,height:y.height})))),c.default.createElement("p",{style:{fontSize:18}},u),c.default.createElement("div",{style:{paddingTop:15,textAlign:"center"}},c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:i,style:{marginRight:15}},c.default.createElement("span",{className:"ladda-label"},d)),c.default.createElement(zt,{onClick:r,disabled:p===Ge.SUBMITTING},p===Ge.SUBMITTING?h:f))))},Vt=function(){var e,t=n.useContext(Nt),r=t.videoRef,i=t.setVideoLoaded,a=t.cameraRef;n.useEffect((function(){i(!1)}),[i]),n.useEffect((function(){var e;r.current&&(null===(e=a.current)||void 0===e?void 0:e.stream)&&(r.current.srcObject=a.current.stream)}),[a,r]);var o=n.useCallback((function(){i(!0)}),[i]);return c.default.createElement(Ht,{autoPlay:!0,playsInline:!0,muted:!0,ref:r,onLoadedData:o,$isRearFacing:null===(e=a.current)||void 0===e?void 0:e.isRearFacing})},Ht=h.default.video(Dt||(Dt=y(["\n transform: ",";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n object-fit: cover;\n"],["\n transform: ",";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n object-fit: cover;\n"])),(function(e){return e.$isRearFacing?"":"scaleX(-1)"}));!function(e){e.CAPTURING="CAPTURING",e.COMPLETE="COMPLETE"}(Ft||(Ft={}));var Wt={captureState:Ft.CAPTURING,capturedDocuments:{},requestedDocumentType:gt.ID_CARD_FRONT,currentDocumentType:gt.NONE,differentDocumentTypeDetections:0,barcodeResult:null},Kt=function(e,t){var n;switch(t.type){case"predictionMade":var r=t.payload.prediction;return(i=p(p({},e),{currentDocumentType:r.documentType})).currentDocumentType===e.requestedDocumentType&&(i.differentDocumentTypeDetections=0),"PASSPORT"===r.documentType&&"PASSPORT"!==e.requestedDocumentType&&(i.requestedDocumentType=gt.PASSPORT),i;case"barcodeScanned":return p(p({},e),{barcodeResult:t.payload.result});case"imageCaptured":var i=p(p({},e),{capturedDocuments:p(p({},e.capturedDocuments),(n={},n[e.requestedDocumentType]=t.payload,n))});return"ID_CARD_FRONT"!==e.requestedDocumentType||e.capturedDocuments.ID_CARD_BACK?"ID_CARD_BACK"!==e.requestedDocumentType||e.capturedDocuments.ID_CARD_FRONT?i.captureState=Ft.COMPLETE:(console.log("moving back to the front!"),i.requestedDocumentType=gt.ID_CARD_FRONT):(console.log("moving on to back!"),i.requestedDocumentType=gt.ID_CARD_BACK),i;case"reset":return p({},Wt)}},Yt=function(e){var t=e.onSuccess,r=e.documentDetectionNonMaxSuppressionEnabled,i=void 0===r||r,a=e.autoCaptureEnabled,o=void 0===a||a,s=e.autoCaptureGoodFramesRequired,l=void 0===s?3:s,u=e.autoCaptureBarcodeRequired,d=void 0===u?"mobile":u,h=e.barcodeScanningEnabled,f=void 0!==h&&h,p=e.idCardAutoCaptureScoreThreshold,v=void 0===p?.9:p,y=e.passportAutoCaptureScoreThreshold,b=void 0===y?.85:y,w=e.mrzDetectionScoreThreshold,x=void 0===w?.25:w,E=e.idCardFocusScoreThreshold,T=void 0===E?.3:E,S=e.passportFocusScoreThreshold,C=void 0===S?.3:S,k=e.assets,A=void 0===k?{}:k,R=e.verbiage,_=void 0===R?{}:R,I=e.debugMode,D=void 0!==I&&I,F=n.useReducer(Kt,Wt),L=F[0],N=F[1],M=n.useContext(Nt).releaseCameraAccess,P=n.useState(!1),O=P[0],B=P[1],U=n.useContext(qe),$=U.submissionStatus,G=U.submissionResponse,j=U.setIdFrontImage,z=U.setIdBackImage,q=U.setPassportImage,V=U.logIdFrontCaptureAttempt,H=U.logIdBackCaptureAttempt,W=ye().t,K=n.useRef();n.useEffect((function(){K.current=new Date}),[L.capturedDocuments.length]);var Y=n.useCallback((function(e){var t;e.operationTime=(new Date).getTime()-(null!==(t=K.current)&&void 0!==t?t:new Date).getTime(),"ID_CARD_BACK"===L.requestedDocumentType?H(e):V(e)}),[H,V,L.requestedDocumentType]),X=n.useCallback((function(e){N({type:"predictionMade",payload:{prediction:e}})}),[]),J=n.useCallback((function(e){N({type:"barcodeScanned",payload:{result:e}})}),[]),Z=n.useCallback((function(e,t,n,r){Y(r),N({type:"imageCaptured",payload:{imageData:e,width:t,height:n}})}),[Y]),Q=n.useCallback((function(){N({type:"reset"})}),[]);if(n.useEffect((function(){$!==Ge.READY&&M()}),[M,$]),G)return c.default.createElement(c.default.Fragment,null,c.default.createElement("h1",null,"Submission completed!"),c.default.createElement("pre",null,JSON.stringify(G,null,2)));A.idCardFrontPortraitGuidesImageUrl=A.idCardFrontPortraitGuidesImageUrl||"".concat(Ut,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg"),A.idCardFrontLandscapeGuidesImageUrl=A.idCardFrontLandscapeGuidesImageUrl||"".concat(Ut,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg"),A.idCardBackPortraitGuidesImageUrl=A.idCardBackPortraitGuidesImageUrl||"".concat(Ut,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg"),A.idCardBackLandscapeGuidesImageUrl=A.idCardBackLandscapeGuidesImageUrl||"".concat(Ut,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"),A.passportPortraitGuidesImageUrl=A.passportPortraitGuidesImageUrl||"".concat(Ut,"/Shieldout-Passport-Front-SVG-Portrait-2.svg"),A.passportLandscapeGuidesImageUrl=A.passportLandscapeGuidesImageUrl||"".concat(Ut,"/Shieldout-Passport-Front-SVG-Landscape-2.svg"),A.loadingOverlayInstructionImageUrl=A.loadingOverlayInstructionImageUrl||"".concat(Ut,"/WebSDK-Instruction-DL-Capture-3-Portrait.png"),_.idCardFrontInstructionText=_.idCardFrontInstructionText||W("Scan the front of ID"),_.idCardBackInstructionText=_.idCardBackInstructionText||W("Scan the back of ID"),_.passportInstructionText=_.passportInstructionText||W("Scan the ID page of passport");var ee=c.default.createElement(jt,{instructionText:_.flipIdInstructionText,frontPortraitGuidesImage:A.idCardFrontPortraitGuidesImageUrl,frontLandscapeGuidesImage:A.idCardFrontLandscapeGuidesImageUrl,backPortraitGuidesImage:A.idCardBackPortraitGuidesImageUrl,backLandscapeGuidesImage:A.idCardBackLandscapeGuidesImageUrl});return c.default.createElement(Ze,{className:"flex"},L.captureState!==Ft.COMPLETE&&c.default.createElement(Vt,null),O&&function(){switch(L.requestedDocumentType){case gt.ID_CARD_FRONT:return c.default.createElement(Ot,{key:Object.keys(L.capturedDocuments).length,requiredDocumentType:L.requestedDocumentType,documentDetectionNonMaxSuppressionEnabled:i,autoCaptureEnabled:o,autoCaptureScoreThreshold:v,autoCaptureGoodFramesRequired:l,autoCaptureBarcodeRequired:d,barcodeScanningEnabled:!1,mrzDetectionScoreThreshold:x,focusScoreThreshold:T,onPrediction:X,onCapture:Z,processingScreen:ee,processingDelay:3500,assets:{portraitGuidesImageUrl:A.idCardFrontPortraitGuidesImageUrl,landscapeGuidesImageUrl:A.idCardFrontLandscapeGuidesImageUrl},verbiage:{instructionText:_.idCardFrontInstructionText,capturingText:_.capturingText,captureFailedText:_.captureFailedText},debugMode:D});case gt.ID_CARD_BACK:return c.default.createElement(Ot,{key:Object.keys(L.capturedDocuments).length,requiredDocumentType:L.requestedDocumentType,documentDetectionNonMaxSuppressionEnabled:i,autoCaptureEnabled:o,autoCaptureScoreThreshold:v,autoCaptureGoodFramesRequired:l,autoCaptureBarcodeRequired:d,barcodeScanningEnabled:f,mrzDetectionScoreThreshold:x,focusScoreThreshold:T,onPrediction:X,onBarcodeScanned:J,onCapture:Z,assets:{portraitGuidesImageUrl:A.idCardBackPortraitGuidesImageUrl,landscapeGuidesImageUrl:A.idCardBackLandscapeGuidesImageUrl},verbiage:{instructionText:_.idCardBackInstructionText,capturingText:_.capturingText,captureFailedText:_.captureFailedText},debugMode:D});case gt.PASSPORT:return c.default.createElement(Ot,{key:Object.keys(L.capturedDocuments).length,requiredDocumentType:L.requestedDocumentType,documentDetectionNonMaxSuppressionEnabled:i,autoCaptureEnabled:o,autoCaptureScoreThreshold:b,mrzDetectionScoreThreshold:x,autoCaptureGoodFramesRequired:l,autoCaptureBarcodeRequired:d,barcodeScanningEnabled:!1,focusScoreThreshold:C,onPrediction:X,onBarcodeScanned:J,onCapture:Z,assets:{portraitGuidesImageUrl:A.passportPortraitGuidesImageUrl,landscapeGuidesImageUrl:A.passportLandscapeGuidesImageUrl},verbiage:{instructionText:_.passportInstructionText,capturingText:_.capturingText,captureFailedText:_.captureFailedText},debugMode:D});default:return null}}(),!O&&c.default.createElement(Gt,{headingText:_.loadingOverlayHeadingText,useContinuityCameraText:_.loadingOverlayUseContinuityCameraText,modelsWarmingUpText:_.loadingOverlayModelsWarmingUpText,cameraInitializingText:_.loadingOverlayCameraInitializingText,cameraAccessBlockedText:_.loadingOverlayCameraAccessBlockedText,continueText:_.loadingOverlayContinueText,instructionImageUrl:A.loadingOverlayInstructionImageUrl,onDismissed:function(){B(!0)}}),L.captureState===Ft.COMPLETE&&c.default.createElement(qt,{capturedDocuments:L.capturedDocuments,barcodeResult:L.barcodeResult,onSubmitClick:function(){return g(void 0,void 0,void 0,(function(){var e,n,r,i,a,o,s,l,c;return m(this,(function(u){switch(u.label){case 0:return n=L.capturedDocuments.ID_CARD_BACK,r=L.capturedDocuments.PASSPORT,(a=e=L.capturedDocuments.ID_CARD_FRONT)?[4,We(e.imageData)]:[3,2];case 1:a=u.sent(),u.label=2;case 2:return i=a,(s=n)?[4,We(n.imageData)]:[3,4];case 3:s=u.sent(),u.label=4;case 4:return o=s,(c=r)?[4,We(r.imageData)]:[3,6];case 5:c=u.sent(),u.label=6;case 6:return l=c,j(i),z(o),q(l),M(),setTimeout((function(){null==t||t({idFrontImage:i,idBackImage:o,passportImage:l})}),0),[2]}}))}))},onRetryClick:Q,headingText:_.successHeadingText,idCardFrontText:_.successIdCardFrontText,idCardBackText:_.successIdCardBackText,passportText:_.successPassportText,instructionText:_.successInstructionText,retryText:_.successRetryText,submittingText:_.successSubmittingText,submitText:_.successSubmitText}))},Xt=function(e){var t=e.borderWidth,n=e.borderColor;return c.default.createElement("div",{style:{position:"absolute",zIndex:1e3,width:"100%",height:"100%",display:"flex"}},c.default.createElement("div",{style:{borderWidth:void 0===t?3:t,borderColor:void 0===n?"white":n,borderStyle:"solid",borderRadius:"50%",aspectRatio:"1 / 1.618",height:"50%",margin:"auto"}}))},Jt=self;function Zt(e,t){e=e.split(".");var n,r=Jt;e[0]in r||void 0===r.execScript||r.execScript("var "+e[0]);for(;e.length&&(n=e.shift());)e.length||void 0===t?r=r[n]&&r[n]!==Object.prototype[n]?r[n]:r[n]={}:r[n]=t}function Qt(e){return e}function en(){throw Error("Invalid UTF8")}function tn(e,t){return t=String.fromCharCode.apply(null,t),null==e?t:e+t}let nn,rn;const an="undefined"!=typeof TextDecoder;let on;const sn="undefined"!=typeof TextEncoder;function ln(e){if(sn)e=(on||=new TextEncoder).encode(e);else{let n=0;const r=new Uint8Array(3*e.length);for(let i=0;i<e.length;i++){var t=e.charCodeAt(i);if(128>t)r[n++]=t;else{if(2048>t)r[n++]=t>>6|192;else{if(55296<=t&&57343>=t){if(56319>=t&&i<e.length){const a=e.charCodeAt(++i);if(56320<=a&&57343>=a){r[n++]=(t=1024*(t-55296)+a-56320+65536)>>18|240,r[n++]=t>>12&63|128,r[n++]=t>>6&63|128,r[n++]=63&t|128;continue}i--}t=65533}r[n++]=t>>12|224,r[n++]=t>>6&63|128}r[n++]=63&t|128}}e=n===r.length?r:r.subarray(0,n)}return e}var cn,un;e:{for(var dn=["CLOSURE_FLAGS"],hn=Jt,fn=0;fn<dn.length;fn++)if(null==(hn=hn[dn[fn]])){un=null;break e}un=hn}var pn,gn=un&&un[610401301];cn=null!=gn&&gn;const mn=Jt.navigator;function vn(e){return!!cn&&!!pn&&pn.brands.some((({brand:t})=>t&&-1!=t.indexOf(e)))}function yn(e){var t;return(t=Jt.navigator)&&(t=t.userAgent)||(t=""),-1!=t.indexOf(e)}function bn(){return!!cn&&!!pn&&0<pn.brands.length}function wn(){return bn()?vn("Chromium"):(yn("Chrome")||yn("CriOS"))&&!(!bn()&&yn("Edge"))||yn("Silk")}pn=mn&&mn.userAgentData||null;var xn=!bn()&&(yn("Trident")||yn("MSIE"));!yn("Android")||wn(),wn(),yn("Safari")&&(wn()||!bn()&&yn("Coast")||!bn()&&yn("Opera")||!bn()&&yn("Edge")||(bn()?vn("Microsoft Edge"):yn("Edg/"))||bn()&&vn("Opera"));var En={},Tn=null;function Sn(){if(!Tn){Tn={};for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"],n=0;5>n;n++){var r=e.concat(t[n].split(""));En[n]=r;for(var i=0;i<r.length;i++){var a=r[i];void 0===Tn[a]&&(Tn[a]=i)}}}}var Cn="undefined"!=typeof Uint8Array,kn=!xn&&"function"==typeof btoa;function An(e){if(!kn){var t;void 0===t&&(t=0),Sn(),t=En[t];var n=Array(Math.floor(e.length/3)),r=t[64]||"";let l=0,c=0;for(;l<e.length-2;l+=3){var i=e[l],a=e[l+1],o=e[l+2],s=t[i>>2];n[c++]=s+(i=t[(3&i)<<4|a>>4])+(a=t[(15&a)<<2|o>>6])+(o=t[63&o])}switch(s=0,o=r,e.length-l){case 2:o=t[(15&(s=e[l+1]))<<2]||r;case 1:n[c]=t[(e=e[l])>>2]+t[(3&e)<<4|s>>4]+o+r}return n.join("")}for(t="",n=0,r=e.length-10240;n<r;)t+=String.fromCharCode.apply(null,e.subarray(n,n+=10240));return t+=String.fromCharCode.apply(null,n?e.subarray(n):e),btoa(t)}const Rn=/[-_.]/g,_n={"-":"+",_:"/",".":"="};function In(e){return _n[e]||""}function Dn(e){if(!kn)return function(e){var t=e.length,n=3*t/4;n%3?n=Math.floor(n):-1!="=.".indexOf(e[t-1])&&(n=-1!="=.".indexOf(e[t-2])?n-2:n-1);var r=new Uint8Array(n),i=0;return function(e,t){function n(t){for(;r<e.length;){var n=e.charAt(r++),i=Tn[n];if(null!=i)return i;if(!/^[\s\xa0]*$/.test(n))throw Error("Unknown base64 encoding at char: "+n)}return t}Sn();for(var r=0;;){var i=n(-1),a=n(0),o=n(64),s=n(64);if(64===s&&-1===i)break;t(i<<2|a>>4),64!=o&&(t(a<<4&240|o>>2),64!=s&&t(o<<6&192|s))}}(e,(function(e){r[i++]=e})),i!==n?r.subarray(0,i):r}(e);Rn.test(e)&&(e=e.replace(Rn,In)),e=atob(e);const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function Fn(e){return Cn&&null!=e&&e instanceof Uint8Array}let Ln;function Nn(){return Ln||=new Uint8Array(0)}var Mn={};let Pn;function On(e){if(e!==Mn)throw Error("illegal external caller")}function Bn(){return Pn||=new $n(null,Mn)}function Un(e){On(Mn);var t=e.L;return null==(t=null==t||Fn(t)?t:"string"==typeof t?Dn(t):null)?t:e.L=t}var $n=class{constructor(e,t){if(On(t),this.L=e,null!=e&&0===e.length)throw Error("ByteString should be constructed with non-empty values")}fa(){const e=Un(this);return e?new Uint8Array(e):Nn()}};function Gn(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function jn(){return Error("Failed to read varint, encoding is invalid.")}function zn(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function qn(e){return 0==e.length?Bn():new $n(e,Mn)}function Vn(e){if("string"==typeof e)return{buffer:Dn(e),G:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),G:!1};if(e.constructor===Uint8Array)return{buffer:e,G:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),G:!1};if(e.constructor===$n)return{buffer:Un(e)||Nn(),G:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),G:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}const Hn="function"==typeof Uint8Array.prototype.slice;let Wn,Kn=0,Yn=0;function Xn(e){const t=0>e;let n=(e=Math.abs(e))>>>0;if(e=Math.floor((e-n)/4294967296),t){const[t,r]=tr(n,e);e=r,n=t}Kn=n>>>0,Yn=e>>>0}function Jn(e){const t=Wn||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),Yn=0,Kn=t.getUint32(0,!0)}function Zn(e,t){return 4294967296*t+(e>>>0)}function Qn(e,t){const n=2147483648&t;return n&&(t=~t>>>0,0==(e=1+~e>>>0)&&(t=t+1>>>0)),e=Zn(e,t),n?-e:e}function er(e){if(16>e.length)Xn(Number(e));else if("function"==typeof BigInt)e=BigInt(e),Kn=Number(e&BigInt(4294967295))>>>0,Yn=Number(e>>BigInt(32)&BigInt(4294967295));else{const t=+("-"===e[0]);Yn=Kn=0;const n=e.length;for(let r=t,i=(n-t)%6+t;i<=n;r=i,i+=6){const t=Number(e.slice(r,i));Yn*=1e6,Kn=1e6*Kn+t,4294967296<=Kn&&(Yn+=Math.trunc(Kn/4294967296),Yn>>>=0,Kn>>>=0)}if(t){const[e,t]=tr(Kn,Yn);Kn=e,Yn=t}}}function tr(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}function nr(e,t,{O:n=!1}={}){e.O=n,t&&(t=Vn(t),e.h=t.buffer,e.s=t.G,e.v=0,e.l=e.h.length,e.g=e.v)}function rr(e,t){if(e.g=t,t>e.l)throw zn(e.l,t)}function ir(e,t){let n,r=0,i=0,a=0;const o=e.h;let s=e.g;do{n=o[s++],r|=(127&n)<<a,a+=7}while(32>a&&128&n);for(32<a&&(i|=(127&n)>>4),a=3;32>a&&128&n;a+=7)n=o[s++],i|=(127&n)<<a;if(rr(e,s),128>n)return t(r>>>0,i>>>0);throw jn()}function ar(e){let t=0,n=e.g;const r=n+10,i=e.h;for(;n<r;){const r=i[n++];if(t|=r,0==(128&r))return rr(e,n),!!(127&t)}throw jn()}function or(e){var t=e.h;const n=e.g,r=t[n],i=t[n+1],a=t[n+2];return t=t[n+3],rr(e,e.g+4),(r<<0|i<<8|a<<16|t<<24)>>>0}function sr(e,t){if(0>t)throw Error(`Tried to read a negative byte length: ${t}`);const n=e.g,r=n+t;if(r>e.l)throw zn(t,e.l-n);return e.g=r,n}function lr(e,t){if(0==t)return Bn();var n=sr(e,t);return e.O&&e.s?n=e.h.subarray(n,n+t):(e=e.h,n=n===(t=n+t)?Nn():Hn?e.slice(n,t):new Uint8Array(e.subarray(n,t))),qn(n)}var cr=class{constructor(e,t){this.h=null,this.s=!1,this.g=this.l=this.v=0,nr(this,e,t)}m(){const e=this.h;let t=this.g,n=e[t++],r=127&n;if(128&n&&(n=e[t++],r|=(127&n)<<7,128&n&&(n=e[t++],r|=(127&n)<<14,128&n&&(n=e[t++],r|=(127&n)<<21,128&n&&(n=e[t++],r|=n<<28,128&n&&128&e[t++]&&128&e[t++]&&128&e[t++]&&128&e[t++]&&128&e[t++])))))throw jn();return rr(this,t),r}j(){return this.m()>>>0}A(){var e=or(this);const t=2*(e>>31)+1,n=e>>>23&255;return e&=8388607,255==n?e?NaN:1/0*t:0==n?t*Math.pow(2,-149)*e:t*Math.pow(2,n-150)*(e+Math.pow(2,23))}C(){return this.m()}},ur=[];function dr(e){var t=e.g;if(t.g==t.l)return!1;e.l=e.g.g;var n=e.g.j();if(t=n>>>3,!(0<=(n&=7)&&5>=n))throw Gn(n,e.l);if(1>t)throw Error(`Invalid field number: ${t} (at position ${e.l})`);return e.m=t,e.h=n,!0}function hr(e){switch(e.h){case 0:0!=e.h?hr(e):ar(e.g);break;case 1:rr(e=e.g,e.g+8);break;case 2:if(2!=e.h)hr(e);else{var t=e.g.j();rr(e=e.g,e.g+t)}break;case 5:rr(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!dr(e))throw Error("Unmatched start-group tag: stream EOF");if(4==e.h){if(e.m!=t)throw Error("Unmatched end-group tag");break}hr(e)}break;default:throw Gn(e.h,e.l)}}function fr(e,t,n){const r=e.g.l,i=e.g.j(),a=e.g.g+i;let o=a-r;if(0>=o&&(e.g.l=a,n(t,e,void 0,void 0,void 0),o=a-e.g.g),o)throw Error(`Message parsing ended unexpectedly. Expected to read ${i} bytes, instead read ${i-o} bytes, either the data ended unexpectedly or the message misreported its own length`);return e.g.g=a,e.g.l=r,t}function pr(e){var t=e.g.j(),n=sr(e=e.g,t);if(e=e.h,an){var r,i=e;(r=rn)||(r=rn=new TextDecoder("utf-8",{fatal:!0})),e=n+t,i=0===n&&e===i.length?i:i.subarray(n,e);try{var a=r.decode(i)}catch(e){if(void 0===nn){try{r.decode(new Uint8Array([128]))}catch(e){}try{r.decode(new Uint8Array([97])),nn=!0}catch(e){nn=!1}}throw!nn&&(rn=void 0),e}}else{t=(a=n)+t,n=[];let s,l=null;for(;a<t;){var o=e[a++];128>o?n.push(o):224>o?a>=t?en():(s=e[a++],194>o||128!=(192&s)?(a--,en()):n.push((31&o)<<6|63&s)):240>o?a>=t-1?en():(s=e[a++],128!=(192&s)||224===o&&160>s||237===o&&160<=s||128!=(192&(i=e[a++]))?(a--,en()):n.push((15&o)<<12|(63&s)<<6|63&i)):244>=o?a>=t-2?en():(s=e[a++],128!=(192&s)||0!=s-144+(o<<28)>>30||128!=(192&(i=e[a++]))||128!=(192&(r=e[a++]))?(a--,en()):(o=(7&o)<<18|(63&s)<<12|(63&i)<<6|63&r,n.push(55296+((o-=65536)>>10&1023),56320+(1023&o)))):en(),8192<=n.length&&(l=tn(l,n),n.length=0)}a=tn(l,n)}return a}function gr(e){const t=e.g.j();return lr(e.g,t)}function mr(e,t,n){var r=e.g.j();for(r=e.g.g+r;e.g.g<r;)n.push(t.call(e.g))}var vr=[];function yr(e){return e?/^\d+$/.test(e)?(er(e),new br(Kn,Yn)):null:wr||=new br(0,0)}var br=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let wr;function xr(e){return e?/^-?\d+$/.test(e)?(er(e),new Er(Kn,Yn)):null:Tr||=new Er(0,0)}var Er=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Tr;function Sr(e,t,n){for(;0<n||127<t;)e.g.push(127&t|128),t=(t>>>7|n<<25)>>>0,n>>>=7;e.g.push(t)}function Cr(e,t){for(;127<t;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function kr(e,t){if(0<=t)Cr(e,t);else{for(let n=0;9>n;n++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function Ar(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function Rr(e,t){0!==t.length&&(e.l.push(t),e.h+=t.length)}function _r(e,t,n){Cr(e.g,8*t+n)}function Ir(e,t){return _r(e,t,2),t=e.g.end(),Rr(e,t),t.push(e.h),t}function Dr(e,t){var n=t.pop();for(n=e.h+e.g.length()-n;127<n;)t.push(127&n|128),n>>>=7,e.h++;t.push(n),e.h++}function Fr(e,t,n){_r(e,t,2),Cr(e.g,n.length),Rr(e,e.g.end()),Rr(e,n)}function Lr(e,t,n,r){null!=n&&(t=Ir(e,t),r(n,e),Dr(e,t))}class Nr{constructor(e,t,n){this.g=e,this.h=t,this.l=n}}function Mr(e){return Array.prototype.slice.call(e)}const Pr="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():void 0;var Or=Pr?(e,t)=>{e[Pr]|=t}:(e,t)=>{void 0!==e.g?e.g|=t:Object.defineProperties(e,{g:{value:t,configurable:!0,writable:!0,enumerable:!1}})};function Br(e){const t=$r(e);1!=(1&t)&&(Object.isFrozen(e)&&(e=Mr(e)),jr(e,1|t))}var Ur=Pr?(e,t)=>{e[Pr]&=~t}:(e,t)=>{void 0!==e.g&&(e.g&=~t)},$r=Pr?e=>0|e[Pr]:e=>0|e.g,Gr=Pr?e=>e[Pr]:e=>e.g,jr=Pr?(e,t)=>{e[Pr]=t}:(e,t)=>{void 0!==e.g?e.g=t:Object.defineProperties(e,{g:{value:t,configurable:!0,writable:!0,enumerable:!1}})};function zr(e){return Or(e,1),e}function qr(e){return Or(e,34),e}function Vr(e,t){jr(t,-255&(0|e))}function Hr(e,t){jr(t,-221&(34|e))}function Wr(e){return 0==(e=e>>11&1023)?536870912:e}var Kr,Yr={};function Xr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)&&e.constructor===Object}function Jr(e,t,n){if(null!=e)if("string"==typeof e)e=e?new $n(e,Mn):Bn();else if(e.constructor!==$n)if(Fn(e))e=n?qn(e):e.length?new $n(new Uint8Array(e),Mn):Bn();else{if(!t)throw Error();e=void 0}return e}const Zr=[];function Qr(e){if(2&e)throw Error()}jr(Zr,39),Kr=Object.freeze(Zr);class ei{constructor(e,t,n){this.l=0,this.g=e,this.h=t,this.m=n}next(){if(this.l<this.g.length){const e=this.g[this.l++];return{done:!1,value:this.h?this.h.call(this.m,e):e}}return{done:!0,value:void 0}}[Symbol.iterator](){return new ei(this.g,this.h,this.m)}}var ti={};let ni,ri;function ii(e,t){(t=ni?t[ni]:void 0)&&(e[ni]=Mr(t))}function ai(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function oi(e){return null==e?e:"number"==typeof e||"NaN"===e||"Infinity"===e||"-Infinity"===e?Number(e):void 0}function si(e){return null==e?e:"boolean"==typeof e||"number"==typeof e?!!e:void 0}function li(e){return"number"==typeof e&&Number.isFinite(e)||!!e&&"string"==typeof e&&isFinite(e)}function ci(e){if(null==e)return e;if("string"==typeof e){if(!e)return;e=+e}return"number"==typeof e?e:void 0}function ui(e){if(null==e)return e;if("string"==typeof e){if(!e)return;e=+e}return"number"==typeof e?e:void 0}function di(e){if("string"!=typeof e)throw Error();return e}function hi(e){if(null!=e&&"string"!=typeof e)throw Error();return e}function fi(e){return null==e||"string"==typeof e?e:void 0}function pi(e,t,n,r){var i=!1;return null==e||"object"!=typeof e||(i=Array.isArray(e))||e.K!==Yr?i?(0===(i=n=$r(e))&&(i|=32&r),(i|=2&r)!==n&&jr(e,i),new t(e)):(n?2&r?(e=t[gi])?t=e:(qr((e=new t).u),t=t[gi]=e):t=new t:t=void 0,t):e}const gi="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():"di";function mi(e){return e}function vi(e,t,n){return"string"==typeof(e="number"==(t=typeof e)||"string"===t?e:n?0:void 0)&&(n=+e,Number.isSafeInteger(n))?n:e}let yi,bi;function wi(e){switch(typeof e){case"number":return 0<e?void 0:0===e?bi||=[0,void 0]:[-e,void 0];case"string":return[0,e];case"object":return e}}function xi(e,t){return Ei(e,t[0],t[1])}function Ei(e,t,n){if(null==e&&(e=yi),yi=void 0,null==e){var r=96;n?(e=[n],r|=512):e=[],t&&(r=-2095105&r|(1023&t)<<11)}else{if(!Array.isArray(e))throw Error();if(64&(r=$r(e)))return ri&&delete e[ri],e;if(r|=64,n&&(r|=512,n!==e[0]))throw Error();e:{var i=(n=e).length;if(i){const e=i-1;var a=n[e];if(Xr(a)){1024<=(i=e-(t=+!!(512&(r|=256))-1))&&(Ti(n,t,a),i=1023),r=-2095105&r|(1023&i)<<11;break e}}t&&(a=+!!(512&r)-1,1024<(t=Math.max(t,i-a))&&(Ti(n,a,{}),r|=256,t=1023),r=-2095105&r|(1023&t)<<11)}}return jr(e,r),e}function Ti(e,t,n){const r=1023+t,i=e.length;for(let a=r;a<i;a++){const r=e[a];null!=r&&r!==n&&(n[a-t]=r)}e.length=r+1,e[r]=n}function Si(e){if(2&e.g)throw Error("Cannot mutate an immutable Map")}var Ci=class extends Map{constructor(e,t,n=mi,r=mi){super();let i=$r(e);i|=64,jr(e,i),this.g=i,this.l=t,this.h=n||mi,this.j=this.l?ki:r||mi;for(let a=0;a<e.length;a++){const o=e[a],s=n(o[0],!1,!0);let l=o[1];t?void 0===l&&(l=null):l=r(o[1],!1,!0,void 0,void 0,i),super.set(s,l)}}s(e=Ai){return this.m(e)}m(e=Ai){const t=[],n=super.entries();for(var r;!(r=n.next()).done;)(r=r.value)[0]=e(r[0]),r[1]=e(r[1]),t.push(r);return t}clear(){Si(this),super.clear()}delete(e){return Si(this),super.delete(this.h(e,!0,!1))}entries(){var e=this.A();return new ei(e,Ri,this)}keys(){return this.C()}values(){var e=this.A();return new ei(e,Ci.prototype.get,this)}forEach(e,t){super.forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))}set(e,t){return Si(this),null==(e=this.h(e,!0,!1))?this:null==t?(super.delete(e),this):super.set(e,this.j(t,!0,!0,this.l,!1,this.g))}H(e){const t=this.h(e[0],!1,!0);e=e[1],e=this.l?void 0===e?null:e:this.j(e,!1,!0,void 0,!1,this.g),super.set(t,e)}has(e){return super.has(this.h(e,!1,!1))}get(e){e=this.h(e,!1,!1);const t=super.get(e);if(void 0!==t){var n=this.l;return n?((n=this.j(t,!1,!0,n,this.v,this.g))!==t&&super.set(e,n),n):t}}A(){return Array.from(super.keys())}C(){return super.keys()}[Symbol.iterator](){return this.entries()}};function ki(e,t,n,r,i,a){return e=pi(e,r,n,a),i&&(e=Pi(e)),e}function Ai(e){return e}function Ri(e){return[e,this.get(e)]}function _i(e,t,n,r,i,a){if(null!=e){if(Array.isArray(e))e=i&&0==e.length&&1&$r(e)?void 0:a&&2&$r(e)?e:Ii(e,t,n,void 0!==r,i,a);else if(Xr(e)){const o={};for(let s in e)o[s]=_i(e[s],t,n,r,i,a);e=o}else e=t(e,r);return e}}function Ii(e,t,n,r,i,a){const o=r||n?$r(e):0;r=r?!!(32&o):void 0;const s=Mr(e);for(let e=0;e<s.length;e++)s[e]=_i(s[e],t,n,r,i,a);return n&&(ii(s,e),n(o,s)),s}function Di(e){return _i(e,Fi,void 0,void 0,!1,!1)}function Fi(e){return e.K===Yr?e.toJSON():e instanceof Ci?e.s(Di):function(e){switch(typeof e){case"number":return isFinite(e)?e:String(e);case"boolean":return e?1:0;case"object":if(e&&!Array.isArray(e)){if(Fn(e))return An(e);if(e instanceof $n){const t=e.L;return null==t?"":"string"==typeof t?t:e.L=An(t)}if(e instanceof Ci)return e.s()}}return e}(e)}function Li(e,t,n=Hr){if(null!=e){if(Cn&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){const r=$r(e);return 2&r?e:!t||68&r||!(32&r||0===r)?Ii(e,Li,4&r?Hr:n,!0,!1,!0):(jr(e,34|r),e)}return e.K===Yr?e=2&(n=Gr(t=e.u))?e:Ni(e,t,n,!0):e instanceof Ci&&(t=qr(e.m(Li)),e=new Ci(t,e.l,e.h,e.j)),e}}function Ni(e,t,n,r){return e=e.constructor,yi=t=Mi(t,n,r),t=new e(t),yi=void 0,t}function Mi(e,t,n){const r=n||2&t?Hr:Vr,i=!!(32&t);return e=function(e,t,n){const r=Mr(e);var i=r.length;const a=256&t?r[i-1]:void 0;for(i+=a?-1:0,t=512&t?1:0;t<i;t++)r[t]=n(r[t]);if(a){t=r[t]={};for(const e in a)t[e]=n(a[e])}return ii(r,e),r}(e,t,(e=>Li(e,i,r))),Or(e,32|(n?2:0)),e}function Pi(e){const t=e.u,n=Gr(t);return 2&n?Ni(e,t,n,!1):e}function Oi(e,t){return Bi(e=e.u,Gr(e),t)}function Bi(e,t,n,r){if(-1===n)return null;if(n>=Wr(t)){if(256&t)return e[e.length-1][n]}else{var i=e.length;if(r&&256&t&&null!=(r=e[i-1][n]))return r;if((t=n+(+!!(512&t)-1))<i)return e[t]}}function Ui(e,t,n,r){const i=e.u,a=Gr(i);return Qr(a),$i(i,a,t,n,r),e}function $i(e,t,n,r,i){var a=Wr(t);if(n>=a||i){if(i=t,256&t)a=e[e.length-1];else{if(null==r)return;a=e[a+(+!!(512&t)-1)]={},i|=256}a[n]=r,i!==t&&jr(e,i)}else e[n+(+!!(512&t)-1)]=r,256&t&&n in(e=e[e.length-1])&&delete e[n]}function Gi(e,t,n,r,i){var a=2&t;let o=Bi(e,t,n,i);Array.isArray(o)||(o=Kr);const s=$r(o);if(1&s||zr(o),a)2&s||qr(o),1&r||Object.freeze(o);else{a=!(2&r);const l=2&s;1&r||!l?a&&32&s&&!l&&Ur(o,32):(o=zr(Mr(o)),$i(e,t,n,o,i))}return o}function ji(e,t){const n=Gr(e=e.u),r=Bi(e,n,t),i=oi(r);return null!=i&&i!==r&&$i(e,n,t,i),i}function zi(e){const t=Gr(e=e.u),n=Bi(e,t,1),r=Jr(n,!0,!!(34&t));return null!=r&&r!==n&&$i(e,t,1,r),r}function qi(e,t,n){const r=Gr(e=e.u),i=2&r;let a=Gi(e,r,t,1),o=$r(a);if(!(4&o)){Object.isFrozen(a)&&(o=0,a=Mr(a),$i(e,r,t,a));let s=0,l=0;for(;s<a.length;s++){const e=n(a[s]);null!=e&&(a[l++]=e)}l<s&&(a.length=l),o|=5,i&&(o|=34),jr(a,o),2&o&&Object.freeze(a)}return!i&&(2&o||Object.isFrozen(a))&&(a=Mr(a),Or(a,5),$i(e,r,t,a)),a}let Vi;function Hi(){return Vi??=new Ci(qr([]),void 0,void 0,void 0,ti)}function Wi(e){e=Mr(e);for(let t=0;t<e.length;t++){const n=e[t]=Mr(e[t]);Array.isArray(n[1])&&(n[1]=qr(n[1]))}return e}function Ki(e,t,n){{const r=Gr(e=e.u);if(Qr(r),null==n)$i(e,r,t);else{if(!(4&$r(n))){Object.isFrozen(n)&&(n=Mr(n));for(let e=0;e<n.length;e++)n[e]=di(n[e]);jr(n,5)}$i(e,r,t,n)}}}function Yi(e,t){return Xi(e=e.u,Gr(e),Os)===t?t:-1}function Xi(e,t,n){let r=0;for(let i=0;i<n.length;i++){const a=n[i];null!=Bi(e,t,a)&&(0!==r&&$i(e,t,r),r=a)}return r}function Ji(e,t,n,r){const i=Gr(e);Qr(i);const a=Bi(e,i,n,r);let o;if(null!=a&&a.K===Yr)return(t=Pi(a))!==a&&$i(e,i,n,t,r),t.u;if(Array.isArray(a)){const e=$r(a);o=2&e?Mi(a,e,!1):a,o=xi(o,t)}else o=xi(void 0,t);return o!==a&&$i(e,i,n,o,r),o}function Zi(e,t,n,r){const i=Gr(e=e.u),a=Bi(e,i,n,r);return(t=pi(a,t,!1,i))!==a&&null!=t&&$i(e,i,n,t,r),t}function Qi(e,t,n,r=!1){if(null==(t=Zi(e,t,n,r)))return t;const i=Gr(e=e.u);if(!(2&i)){const a=Pi(t);a!==t&&$i(e,i,n,t=a,r)}return t}function ea(e,t,n,r,i){var a=!!(2&t),o=Gi(e,t,r,1);if(o===Kr||!(4&$r(o))){var s=o;o=!!(2&t);var l=!!(2&$r(s));a=s,!o&&l&&(s=Mr(s));var c=t|(l?2:0);l=l||void 0;let u=0,d=0;for(;u<s.length;u++){const e=pi(s[u],n,!1,c);void 0!==e&&(l=l||2&Gr(e.u),s[d++]=e)}return d<u&&(s.length=d),c=5|(s=$r(n=s)),s!=(l=l?-9&c:8|c)&&(Object.isFrozen(n)&&(n=Mr(n)),jr(n,l)),a!==(s=n)&&$i(e,t,r,s),(o&&2!==i||1===i)&&Object.freeze(s),s}return 3===i||(a?2===i&&(i=$r(o),o=Mr(o),jr(o,i),$i(e,t,r,o)):(a=Object.isFrozen(o),1===i?a||Object.freeze(o):(n=-35&(i=$r(o)),a&&(i=0,$i(e,t,r,o=Mr(o))),i!==n&&jr(o,n)))),o}function ta(e,t,n){var r=e.u;const i=Gr(r);if(t=ea(r,i,t,n,(e=!!(2&i))?1:2),!(e||8&$r(t))){for(n=0;n<t.length;n++)(e=t[n])!==(r=Pi(e))&&(t[n]=r);Or(t,8)}return t}function na(e,t,n,r,i){return null==r&&(r=void 0),Ui(e,n,r,i)}function ra(e,t,n,r){null==r&&(r=void 0);const i=Gr(e=e.u);Qr(i),(n=Xi(e,i,n))&&n!==t&&null!=r&&$i(e,i,n),$i(e,i,t,r)}function ia(e,t,n){const r=Gr(e=e.u);Qr(r),e=ea(e,r,t,1,2),t=null!=n?n:new t,e.push(t),t.G()&&Ur(e,8)}function aa(e,t){return ci(Oi(e,t))}function oa(e){return null==(e=Oi(e,2))||li(e)?e:void 0}function sa(e,t){return fi(Oi(e,t))}function la(e){return e??0}function ca(e,t){return la(ji(e,t))}function ua(e,t,n){if(null!=n){if("boolean"!=typeof n)throw e=typeof n,Error(`Expected boolean but got ${"object"!=e?e:n?Array.isArray(n)?"array":e:"null"}: ${n}`);n=!!n}Ui(e,t,n)}function da(e,t,n){if(null!=n){if("number"!=typeof n)throw ai(e=Error(),"warning"),e;if(!Number.isFinite(n)){const e=Error();ai(e,"incident"),function(e){Jt.setTimeout((()=>{throw e}),0)}(e)}}Ui(e,t,n)}function ha(e,t,n){if(null!=n&&"number"!=typeof n)throw Error(`Value of float/double field must be a number, found ${typeof n}: ${n}`);Ui(e,t,n)}function fa(e,t,n){n=di(n);const r=Gr(e=e.u);Qr(r),Gi(e,r,t,2).push(n)}function pa(e,t,n){t.g?t.m(e,t.g,t.h,n,!0):t.m(e,t.h,n,!0)}Ci.prototype.toJSON=void 0;var ga=class{constructor(e,t){this.u=Ei(e,t)}toJSON(){return ma(this,Ii(this.u,Fi,void 0,void 0,!1,!1),!0)}l(){var e=Ll;return e.g?e.l(this,e.g,e.h,!0):e.l(this,e.h,e.defaultValue,!0)}clone(){const e=this.u;return Ni(this,e,Gr(e),!1)}G(){return!!(2&$r(this.u))}};function ma(e,t,n){var r=e.constructor.B,i=Wr(Gr(n?e.u:t)),a=!1;if(r){if(!n){var o;if((t=Mr(t)).length&&Xr(o=t[t.length-1]))for(a=0;a<r.length;a++)if(r[a]>=i){Object.assign(t[t.length-1]={},o);break}a=!0}var s;i=t,n=!n,e=Wr(o=Gr(e.u)),o=+!!(512&o)-1;for(let t=0;t<r.length;t++){var l=r[t];if(l<e){var c=i[l+=o];null==c?i[l]=n?Kr:zr([]):n&&c!==Kr&&Br(c)}else{if(!s){var u=void 0;i.length&&Xr(u=i[i.length-1])?s=u:i.push(s={})}c=s[l],null==s[l]?s[l]=n?Kr:zr([]):n&&c!==Kr&&Br(c)}}}if(!(r=t.length))return t;let d,h;if(Xr(s=t[r-1])){e:{var f=s;u={},i=!1;for(let e in f)n=f[e],Array.isArray(n)&&n!=n&&(i=!0),null!=n?u[e]=n:i=!0;if(i){for(let e in u){f=u;break e}f=null}}f!=s&&(d=!0),r--}for(;0<r&&null==(s=t[r-1]);r--)h=!0;return d||h?(t=a?t:Array.prototype.slice.call(t,0,r),a&&(t.length=r),f&&t.push(f),t):t}function va(e){return{aa:so,S:e}}function ya(e,t){if(Array.isArray(t)){var n=$r(t);if(4&n)return t;for(var r=0,i=0;r<t.length;r++){const n=e(t[r]);null!=n&&(t[i++]=n)}return i<r&&(t.length=i),jr(t,5|n),2&n&&Object.freeze(t),t}}ga.prototype.K=Yr,ga.prototype.toString=function(){return ma(this,this.u,!1).toString()};const ba=Symbol();function wa(e){let t=e[ba];if(!t){const n=Fa(e),r=n.m;t=r?(e,t)=>r(e,t,n):(e,t)=>{for(;dr(t)&&4!=t.h;){var r=t.m,i=n[r];if(!i){var a=n.h;a&&(a=a[r])&&(i=n[r]=xa(a))}i&&i(t,e,r)||(r=(i=t).l,hr(i),i.Y?i=void 0:(a=i.g.g-r,i.g.g=r,i=lr(i.g,a)),r=e,i&&(ni||=Symbol(),(a=r[ni])?a.push(i):r[ni]=[i]))}(t=n.l)&&(e[ri||=Symbol()]=t)},e[ba]=t}return t}function xa(e){const t=function(e){if(e=e.S)return wa(e)}(e),n=e.aa.g;if(t){const r=Fa(e.S).g;return(e,i,a)=>n(e,i,a,r,t)}return(e,t,r)=>n(e,t,r)}function Ea(e,t,n,r){t.g=wi(e[0]);let i=1;if(e.length>i&&!(e[i]instanceof Nr)){var a=e[i++];if(Array.isArray(a))return t.m=a[0],t.h=a[1],t;t.h=a}for(a=0;i<e.length;){const u=e[i++];var o=e[i];for("number"==typeof o?(i++,a+=o):a++,u.l&&((o=t.l)||(t.l=o=[]),o.push(a)),o=i;o<e.length&&!(e[o]instanceof Nr);)o++;if(o-=i){var s=e,l=i,c=s[l];if("function"==typeof c&&(c=c(),s[l]=c),(s=Array.isArray(c))&&!(s=_a in c||Ca in c)&&(s=0<c.length)){const e=wi(l=(s=c)[0]);null!=e&&e!==l&&(s[0]=e),s=null!=e}(c=s?c:void 0)?(i++,t[a]=1===o?r(u,c):r(u,c,e[i++])):t[a]=n(u,e[i++])}else t[a]=n(u)}return t}const Ta=Symbol();function Sa(e){let t=e[Ta];if(!t){const n=Ra(e);t=(e,t)=>Na(e,t,n),e[Ta]=t}return t}const Ca=Symbol();function ka(e){return e.h}function Aa(e,t){let n,r;const i=e.h;return(e,a,o)=>i(e,a,o,r||=Ra(t).g,n||=Sa(t))}function Ra(e){let t=e[Ca];return t||(t=Ea(e,e[Ca]={},ka,Aa),_a in e&&Ca in e&&(e.length=0),t)}const _a=Symbol();function Ia(e,t){const n=e.g;return t?(e,r,i)=>n(e,r,i,t):n}function Da(e,t,n){const r=e.g;let i,a;return(e,o,s)=>r(e,o,s,a||=Fa(t).g,i||=wa(t),n)}function Fa(e){let t=e[_a];return t||(t=Ea(e,e[_a]={},Ia,Da),_a in e&&Ca in e&&(e.length=0),t)}function La(e,t){var n=e[t];if(n)return n;if((n=e.h)&&(n=n[t])){var r=n.S,i=n.aa.h;if(r){const e=Sa(r),t=Ra(r).g;n=(n,r,a)=>i(n,r,a,t,e)}else n=i;return e[t]=n}}function Na(e,t,n){for(var r=Gr(e),i=+!!(512&r)-1,a=e.length,o=512&r?1:0,s=a+(256&r?-1:0);o<s;o++){const r=e[o];if(null==r)continue;const a=o-i,s=La(n,a);s&&s(t,r,a)}if(256&r){r=e[a-1];for(let e in r)i=+e,Number.isNaN(i)||null!=(a=r[e])&&(s=La(n,i))&&s(t,a,i)}if(e=ni?e[ni]:void 0)for(Rr(t,t.g.end()),n=0;n<e.length;n++)Rr(t,Un(e[n])||Nn())}function Ma(e,t){return new Nr(e,t,!1)}function Pa(e,t){return new Nr(e,t,!0)}function Oa(e,t,n){$i(e,Gr(e),t,n)}var Ba=Ma((function(e,t,n,r,i){return 2===e.h&&(e=fr(e,xi([void 0,void 0],r),i),Qr(r=Gr(t)),(i=Bi(t,r,n))instanceof Ci?0!=(2&i.g)?((i=i.m()).push(e),$i(t,r,n,i)):i.H(e):Array.isArray(i)?(2&$r(i)&&$i(t,r,n,i=Wi(i)),i.push(e)):$i(t,r,n,[e]),!0)}),(function(e,t,n,r,i){if(t instanceof Ci)t.forEach(((t,a)=>{Lr(e,n,xi([a,t],r),i)}));else if(Array.isArray(t))for(let a=0;a<t.length;a++){const o=t[a];Array.isArray(o)&&Lr(e,n,xi(o,r),i)}}));function Ua(e,t,n){e:if(null!=t){if(li(t)){if("string"==typeof t)break e;if("number"==typeof t)break e}t=void 0}null!=t&&("string"==typeof t&&xr(t),null!=t&&(_r(e,n,0),"number"==typeof t?(e=e.g,Xn(t),Sr(e,Kn,Yn)):(n=xr(t),Sr(e.g,n.h,n.g))))}function $a(e,t,n){null!=(t=ci(t))&&null!=t&&(_r(e,n,0),kr(e.g,t))}function Ga(e,t,n){null!=(t=si(t))&&(_r(e,n,0),e.g.g.push(t?1:0))}function ja(e,t,n){null!=(t=fi(t))&&Fr(e,n,ln(t))}function za(e,t,n,r,i){Lr(e,n,t instanceof ga?t.u:Array.isArray(t)?xi(t,r):void 0,i)}function qa(e,t,n){null!=(t=null==t||"string"==typeof t||Fn(t)||t instanceof $n?t:void 0)&&Fr(e,n,Vn(t).buffer)}function Va(e,t,n){return(5===e.h||2===e.h)&&(t=Gi(t,Gr(t),n,2,!1),2==e.h?mr(e,cr.prototype.A,t):t.push(e.g.A()),!0)}var Ha=Ma((function(e,t,n){if(1!==e.h)return!1;var r=e.g;e=or(r);const i=or(r);r=2*(i>>31)+1;const a=i>>>20&2047;return e=4294967296*(1048575&i)+e,Oa(t,n,2047==a?e?NaN:1/0*r:0==a?r*Math.pow(2,-1074)*e:r*Math.pow(2,a-1075)*(e+4503599627370496)),!0}),(function(e,t,n){null!=(t=oi(t))&&(_r(e,n,1),e=e.g,(n=Wn||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),Kn=n.getUint32(0,!0),Yn=n.getUint32(4,!0),Ar(e,Kn),Ar(e,Yn))})),Wa=Ma((function(e,t,n){return 5===e.h&&(Oa(t,n,e.g.A()),!0)}),(function(e,t,n){null!=(t=oi(t))&&(_r(e,n,5),e=e.g,Jn(t),Ar(e,Kn))})),Ka=Pa(Va,(function(e,t,n){if(null!=(t=ya(oi,t)))for(let a=0;a<t.length;a++){var r=e,i=t[a];null!=i&&(_r(r,n,5),r=r.g,Jn(i),Ar(r,Kn))}})),Ya=Pa(Va,(function(e,t,n){if(null!=(t=ya(oi,t))&&t.length){_r(e,n,2),Cr(e.g,4*t.length);for(let r=0;r<t.length;r++)n=e.g,Jn(t[r]),Ar(n,Kn)}})),Xa=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,ir(e.g,Qn)),!0)}),Ua),Ja=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,0===(e=ir(e.g,Qn))?void 0:e),!0)}),Ua),Za=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,ir(e.g,Zn)),!0)}),(function(e,t,n){e:if(null!=t){if(li(t)){if("string"==typeof t)break e;if("number"==typeof t)break e}t=void 0}null!=t&&("string"==typeof t&&yr(t),null!=t&&(_r(e,n,0),"number"==typeof t?(e=e.g,Xn(t),Sr(e,Kn,Yn)):(n=yr(t),Sr(e.g,n.h,n.g))))})),Qa=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,e.g.m()),!0)}),$a),eo=Pa((function(e,t,n){return(0===e.h||2===e.h)&&(t=Gi(t,Gr(t),n,2,!1),2==e.h?mr(e,cr.prototype.m,t):t.push(e.g.m()),!0)}),(function(e,t,n){if(null!=(t=ya(ci,t))&&t.length){n=Ir(e,n);for(let n=0;n<t.length;n++)kr(e.g,t[n]);Dr(e,n)}})),to=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,0===(e=e.g.m())?void 0:e),!0)}),$a),no=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,ar(e.g)),!0)}),Ga),ro=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,!1===(e=ar(e.g))?void 0:e),!0)}),Ga),io=Pa((function(e,t,n){if(2!==e.h)return!1;e=pr(e);const r=Gr(t);return Qr(r),Gi(t,r,n,2).push(e),!0}),(function(e,t,n){if(null!=(t=ya(fi,t)))for(let i=0;i<t.length;i++){var r=t[i];null!=r&&Fr(e,n,ln(r))}})),ao=Ma((function(e,t,n){return 2===e.h&&(Oa(t,n,""===(e=pr(e))?void 0:e),!0)}),ja),oo=Ma((function(e,t,n){return 2===e.h&&(Oa(t,n,pr(e)),!0)}),ja),so=Ma((function(e,t,n,r,i){return 2===e.h&&(fr(e,Ji(t,r,n,!0),i),!0)}),za),lo=Ma((function(e,t,n,r,i){return 2===e.h&&(fr(e,Ji(t,r,n),i),!0)}),za),co=Pa((function(e,t,n,r,i){if(2!==e.h)return!1;r=xi(void 0,r);const a=Gr(t);Qr(a);let o=Gi(t,a,n,3);return(Object.isFrozen(o)||4&$r(o))&&(o=Mr(o),$i(t,a,n,o)),o.push(r),fr(e,r,i),!0}),(function(e,t,n,r,i){if(Array.isArray(t))for(let a=0;a<t.length;a++)za(e,t[a],n,r,i)})),uo=Ma((function(e,t,n,r,i,a){if(2!==e.h)return!1;const o=Gr(t);return Qr(o),(a=Xi(t,o,a))&&n!==a&&$i(t,o,a),fr(e,t=Ji(t,r,n),i),!0}),za),ho=Ma((function(e,t,n){return 2===e.h&&(Oa(t,n,gr(e)),!0)}),qa),fo=Pa((function(e,t,n){return(0===e.h||2===e.h)&&(t=Gi(t,Gr(t),n,2,!1),2==e.h?mr(e,cr.prototype.j,t):t.push(e.g.j()),!0)}),(function(e,t,n){if(null!=(t=ya(ui,t)))for(let a=0;a<t.length;a++){var r=e,i=t[a];null!=i&&(_r(r,n,0),Cr(r.g,i))}})),po=Ma((function(e,t,n){return 0===e.h&&(Oa(t,n,e.g.m()),!0)}),(function(e,t,n){null!=(t=ci(t))&&(t=parseInt(t,10),_r(e,n,0),kr(e.g,t))})),go=Pa((function(e,t,n){return(0===e.h||2===e.h)&&(t=Gi(t,Gr(t),n,2,!1),2==e.h?mr(e,cr.prototype.C,t):t.push(e.g.m()),!0)}),(function(e,t,n){if(null!=(t=ya(ci,t))&&t.length){n=Ir(e,n);for(let n=0;n<t.length;n++)kr(e.g,t[n]);Dr(e,n)}}));class mo{constructor(e,t){this.h=e,this.g=t,this.l=Qi,this.m=na,this.defaultValue=void 0}}function vo(e,t){return new mo(e,t)}function yo(e,t){return(n,r)=>{e:{if(vr.length){const e=vr.pop();e.o(r),nr(e.g,n,r),n=e}else n=new class{constructor(e,t){if(ur.length){const n=ur.pop();nr(n,e,t),e=n}else e=new cr(e,t);this.g=e,this.l=this.g.g,this.h=this.m=-1,this.o(t)}o({Y:e=!1}={}){this.Y=e}}(n,r);try{var i=new e;const r=i.u;wa(t)(r,n),ri&&delete r[ri];var a=i;break e}finally{(i=n.g).h=null,i.s=!1,i.v=0,i.l=0,i.g=0,i.O=!1,n.m=-1,n.h=-1,100>vr.length&&vr.push(n)}a=void 0}return a}}function bo(e){return function(){const t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const e=this.g;return this.g=[],e}}}};Na(this.u,t,Ra(e)),Rr(t,t.g.end());const n=new Uint8Array(t.h),r=t.l,i=r.length;let a=0;for(let e=0;e<i;e++){const t=r[e];n.set(t,a),a+=t.length}return t.l=[n],n}}var wo,xo=[0,ao,Ma((function(e,t,n){return 2===e.h&&(Oa(t,n,(e=gr(e))===Bn()?void 0:e),!0)}),(function(e,t,n){if(null!=t){if(t instanceof ga){const r=t.Aa;return void(r&&(t=r(t),null!=t&&Fr(e,n,Vn(t).buffer)))}if(Array.isArray(t))return}qa(e,t,n)}))];function Eo(e){if(void 0===wo){var t=null,n=Jt.trustedTypes;if(n&&n.createPolicy){try{t=n.createPolicy("goog#html",{createHTML:Qt,createScript:Qt,createScriptURL:Qt})}catch(e){Jt.console&&Jt.console.error(e.message)}wo=t}else wo=t}return e=(t=wo)?t.createScriptURL(e):e,new class{constructor(e){this.g=e}toString(){return this.g+""}}(e)}var To=[0,oo],So=[0,Qa,po,no,no,eo,po,po],Co=[0,no,no],ko=class extends ga{constructor(){super()}};ko.B=[6];var Ao=[0,no,oo,no,po,po,go,oo,oo,lo,Co,po],Ro=[0,oo,oo,oo],_o=class extends ga{constructor(){super()}},Io=[0],Do=[0,Qa],Fo=[1,2,3,4,5],Lo=class extends ga{constructor(e){super(e,2)}},No={},Mo=[-2,No,no];No[336783863]=va([0,oo,no,no,Qa,lo,[0,uo,Io,Fo,uo,Ao,Fo,uo,Ro,Fo,uo,Do,Fo,uo,So,Fo],lo,To]);var Po=[0,ao,ro],Oo=[0,Ja,Ja,ro,ro,ro,ro,Ja,eo,ao,to,Ja,Ja,ro,to,ro,ro,ro,ao],Bo=[-1,{}],Uo=[0,oo,lo,2,Bo],$o=[0,oo,io,lo,Bo];function Go(e,t){t=hi(t);const n=Gr(e=e.u);Qr(n),$i(e,n,2,""===t?void 0:t)}function jo(e,t){fa(e,3,t)}function zo(e,t){fa(e,4,t)}var qo=class extends ga{constructor(e){super(e,500)}o(e){return na(this,0,7,e)}};qo.B=[3,4,5,6,8,13,17,1005];var Vo=[-500,ao,ao,io,io,io,io,lo,Mo,co,xo,to,to,lo,Uo,lo,$o,co,Po,ao,lo,Oo,to,io,io,988],Ho=[0,ao,ao,lo,Bo],Wo=[-500,oo,oo,lo,[-1,{}],oo,999],Ko=[-500,oo,io,io,lo,[-2,{},no],io,998,io],Yo=[-500,oo,io,lo,Bo,io,999];function Xo(e,t){ia(e,qo,t)}function Jo(e,t){fa(e,10,t)}function Zo(e,t){fa(e,15,t)}var Qo=class extends ga{constructor(e){super(e,500)}o(e){return na(this,0,1001,e)}};Qo.B=[1,6,7,9,10,15,16,17,14,1002];var es=[-500,co,Vo,co,5,Wo,co,Ko,to,co,Yo,io,to,lo,Uo,lo,$o,co,Ho,io,io,io,lo,Oo,ao,ao,ro,lo,980,Bo,co,xo],ts=yo(Qo,es);Qo.prototype.g=bo(es);var ns=[0,co,[0,Qa,Qa,Qa]],rs=class extends ga{constructor(e){super(e)}},is=[0,Qa,Wa,oo,oo],as=class extends ga{constructor(e){super(e)}g(){return ta(this,rs,1)}};as.B=[1];var os=[0,co,is],ss=yo(as,os),ls=[0,Qa,Wa],cs=[0,Qa,Qa,lo,ns],us=class extends ga{constructor(e){super(e)}},ds=[0,Qa,Qa,Qa,Qa],hs=[0,Wa,Wa,Wa,Wa],fs=class extends ga{constructor(e){super(e)}},ps=[0,Wa,Wa,oo,Wa],gs=class extends ga{constructor(e){super(e)}h(){return Qi(this,us,2)}g(){return ta(this,fs,5)}};gs.B=[5];var ms=[0,po,lo,ds,lo,hs,lo,cs,co,ps],vs=class extends ga{constructor(e){super(e)}};vs.B=[1,2,3,8,9];var ys=yo(vs,[0,io,eo,Ya,lo,ms,oo,oo,Xa,co,ls,io,Xa]),bs=class extends ga{constructor(e){super(e)}},ws=[0,Wa,Wa,Wa,Wa,Wa],xs=class extends ga{constructor(e){super(e)}};xs.B=[1];var Es=yo(xs,[0,co,ws]),Ts=class extends ga{constructor(e){super(e)}},Ss=[0,Wa,Wa,Wa,Wa,Wa],Cs=class extends ga{constructor(e){super(e)}};Cs.B=[1];var ks=yo(Cs,[0,co,Ss]),As=class extends ga{constructor(e){super(e)}};As.B=[3];var Rs=[0,Qa,Qa,Ya,po],_s=class extends ga{constructor(){super()}};_s.prototype.g=bo([0,Wa,Wa,Wa,Wa,Wa,Xa]);var Is=class extends ga{constructor(e){super(e)}},Ds=[0,Qa,2,oo,lo,os],Fs=class extends ga{constructor(e){super(e)}};Fs.B=[1];var Ls=yo(Fs,[0,co,Ds,Xa]),Ns=class extends ga{constructor(e){super(e)}};Ns.B=[1];var Ms=class extends ga{constructor(e){super(e)}da(){const e=zi(this);return null==e?Bn():e}},Ps=class extends ga{constructor(e){super(e)}},Os=[1,2],Bs=[0,uo,[0,Ya],Os,uo,[0,ho],Os,Qa,oo],Us=class extends ga{constructor(e){super(e)}};Us.B=[1];var $s=yo(Us,[0,co,Bs,Xa]),Gs=class extends ga{constructor(e){super(e)}};Gs.B=[4,5];var js=[0,oo,Qa,Wa,io,io],zs=class extends ga{constructor(e){super(e)}},qs=[0,no,no],Vs=class extends ga{constructor(e){super(e)}},Hs=[1,2,3,4,5],Ws=class extends ga{constructor(e){super(e)}g(){return null!=zi(this)}h(){return null!=sa(this,2)}},Ks=[0,ho,oo,lo,[0,Qa,Xa,Xa],lo,[0,Za,Xa]],Ys=class extends ga{constructor(e){super(e)}g(){return si(Oi(this,2))??!1}},Xs=[0,lo,Ks,no,lo,[0,uo,Do,Hs,uo,Ao,Hs,uo,So,Hs,uo,Io,Hs,uo,Ro,Hs]],Js=class extends ga{constructor(e){super(e)}},Zs=[0,lo,Xs,Wa,Wa,Qa],Qs=vo(502141897,Js);No[502141897]=va(Zs);var el=[0,lo,Ks];No[512499200]=va(el);var tl=[0,lo,el];No[515723506]=va(tl);var nl=yo(class extends ga{constructor(e){super(e)}},[0,lo,[0,po,po,Ka,fo],lo,Rs]),rl=[0,lo,Xs];No[508981768]=va(rl);var il=class extends ga{constructor(e){super(e)}},al=[0,lo,Xs,Wa,lo,rl,no],ol=class extends ga{constructor(e){super(e)}},sl=[0,lo,Xs,lo,Zs,lo,al,Wa,lo,tl];No[508968149]=va(al);var ll=vo(508968150,ol);No[508968150]=va(sl);var cl=class extends ga{constructor(e){super(e)}},ul=vo(513916220,cl);No[513916220]=va([0,lo,Xs,lo,sl,Qa]);var dl=class extends ga{constructor(e){super(e)}h(){return Qi(this,Gs,2)}g(){Ui(this,2)}},hl=[0,lo,Xs,lo,js];No[478825465]=va(hl);var fl=[0,lo,Xs];No[478825422]=va(fl);var pl=class extends ga{constructor(e){super(e)}},gl=[0,lo,Xs,lo,fl,lo,hl,lo,hl],ml=class extends ga{constructor(e){super(e)}},vl=[0,lo,Xs,Wa,Qa],yl=class extends ga{constructor(e){super(e)}},bl=[0,lo,Xs,Wa],wl=class extends ga{constructor(e){super(e)}},xl=[0,lo,Xs,lo,vl,lo,bl,Wa],El=class extends ga{constructor(e){super(e)}},Tl=[0,lo,Xs,lo,xl,lo,gl];No[463370452]=va(gl),No[464864288]=va(vl),No[474472470]=va(bl);var Sl=vo(462713202,wl);No[462713202]=va(xl);var Cl=vo(479097054,El);No[479097054]=va(Tl);var kl=class extends ga{constructor(e){super(e)}},Al=vo(456383383,kl);No[456383383]=va([0,lo,Xs,lo,js]);var Rl=class extends ga{constructor(e){super(e)}},_l=vo(476348187,Rl);No[476348187]=va([0,lo,Xs,lo,qs]);var Il=class extends ga{constructor(e){super(e)}},Dl=[0,po,po],Fl=class extends ga{constructor(e){super(e)}};Fl.B=[3];var Ll=vo(458105876,class extends ga{constructor(e){super(e)}g(){var e=this.u;const t=Gr(e);var n=2&t;return e=function(e,t,n){var r=Fl;const i=2&t;let a=!1;if(null==n){if(i)return Hi();n=[]}else if(n.constructor===Ci){if(0==(2&n.g)||i)return n;n=n.m()}else Array.isArray(n)?a=!!(2&$r(n)):n=[];if(i){if(!n.length)return Hi();a||(a=!0,qr(n))}else a&&(a=!1,n=Wi(n));return a||(64&$r(n)?Ur(n,32):32&t&&Or(n,32)),$i(e,t,2,r=new Ci(n,r,vi,void 0),!1),r}(e,t,Bi(e,t,2)),null==e||!n&&Fl&&(e.v=!0),e}});No[458105876]=va([0,lo,Dl,Ba,[0,Xa,lo,[0,oo,oo,io]]]);var Nl=class extends ga{constructor(e){super(e)}},Ml=vo(458105758,Nl);No[458105758]=va([0,lo,Xs,oo,lo,Dl]);var Pl=class extends ga{constructor(e){super(e)}};Pl.B=[5,6];var Ol=vo(443442058,Pl);No[443442058]=va([0,lo,Xs,oo,Qa,Wa,io,io]);var Bl=class extends ga{constructor(e){super(e)}},Ul=[0,lo,Xs,Wa,Wa,Qa];No[514774813]=va(Ul);var $l=class extends ga{constructor(e){super(e)}},Gl=[0,lo,Xs,Wa],jl=class extends ga{constructor(e){super(e)}},zl=[0,lo,Xs,lo,Ul,lo,Gl,Wa];No[518928384]=va(Gl);var ql=vo(516587230,jl);function Vl(e,t){return t=t?t.clone():new Gs,void 0!==e.displayNamesLocale?Ui(t,1,hi(e.displayNamesLocale)):void 0===e.displayNamesLocale&&Ui(t,1),void 0!==e.maxResults?da(t,2,e.maxResults):"maxResults"in e&&Ui(t,2),void 0!==e.scoreThreshold?ha(t,3,e.scoreThreshold):"scoreThreshold"in e&&Ui(t,3),void 0!==e.categoryAllowlist?Ki(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&Ui(t,4),void 0!==e.categoryDenylist?Ki(t,5,e.categoryDenylist):"categoryDenylist"in e&&Ui(t,5),t}function Hl(e,t=-1,n=""){return{categories:e.map((e=>({index:la(aa(e,1))??-1,score:ca(e,2)??0,categoryName:sa(e,3)??""??"",displayName:sa(e,4)??""??""}))),headIndex:t,headName:n}}function Wl(e){var t=qi(e,3,oi),n=qi(e,2,ci);const r=qi(e,1,fi),i=qi(e,9,fi),a={categories:[],keypoints:[]};for(let e=0;e<t.length;e++)a.categories.push({score:t[e],index:n[e]??-1,categoryName:r[e]??"",displayName:i[e]??""});if((t=Qi(e,gs,4)?.h())&&(a.boundingBox={originX:aa(t,1)??0,originY:aa(t,2)??0,width:aa(t,3)??0,height:aa(t,4)??0,angle:0}),Qi(e,gs,4)?.g().length)for(const t of Qi(e,gs,4).g())a.keypoints.push({x:ji(t,1)??0,y:ji(t,2)??0,score:ji(t,4)??0,label:sa(t,3)??""});return a}function Kl(e){const t=[];for(const n of ta(e,Ts,1))t.push({x:ca(n,1)??0,y:ca(n,2)??0,z:ca(n,3)??0});return t}function Yl(e){const t=[];for(const n of ta(e,bs,1))t.push({x:ca(n,1)??0,y:ca(n,2)??0,z:ca(n,3)??0});return t}function Xl(e){return Array.from(e,(e=>127<e?e-256:e))}function Jl(e,t){if(e.length!==t.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${e.length} vs. ${t.length}).`);let n=0,r=0,i=0;for(let a=0;a<e.length;a++)n+=e[a]*t[a],r+=e[a]*e[a],i+=t[a]*t[a];if(0>=r||0>=i)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return n/Math.sqrt(r*i)}let Zl;No[516587230]=va(zl);const Ql=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function ec(){if(void 0===Zl)try{await WebAssembly.instantiate(Ql),Zl=!0}catch{Zl=!1}return Zl}async function tc(e,t){const n=await ec()?"wasm_internal":"wasm_nosimd_internal";return void 0!==t?{wasmLoaderPath:`${t}/${e}_${n}.js`,wasmBinaryPath:`${t}/${e}_${n}.wasm`}:{wasmLoaderPath:Eo(`./${encodeURIComponent(e)}_${encodeURIComponent(n)}.js`),wasmBinaryPath:Eo(`./${encodeURIComponent(e)}_${encodeURIComponent(n)}.wasm`)}}var nc=class{};function rc(){const e=navigator.userAgent;return e.includes("Safari")&&!e.includes("Chrome")}async function ic(e){if("function"!=typeof importScripts){const t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise(((e,n)=>{t.addEventListener("load",(()=>{e()}),!1),t.addEventListener("error",(e=>{n(e)}),!1),document.body.appendChild(t)}))}importScripts(e.toString())}function ac(e,t,n){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),n(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function oc(e,t,n){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(n?e.i._bindTextureToStream(n):e.i._bindTextureToCanvas(),!(n=e.i.canvas.getContext("webgl2")||e.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");return e.i.gpuOriginForWebTexturesIsBottomLeft&&n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!0),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),t.videoWidth?(n=t.videoWidth,t=t.videoHeight):t.naturalWidth?(n=t.naturalWidth,t=t.naturalHeight):(n=t.width,t=t.height),!e.l||n===e.i.canvas.width&&t===e.i.canvas.height||(e.i.canvas.width=n,e.i.canvas.height=t),[n,t]}function sc(e,t,n){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const r=new Uint32Array(t.length);for(let n=0;n<t.length;n++)r[n]=e.i.stringToNewUTF8(t[n]);t=e.i._malloc(4*r.length),e.i.HEAPU32.set(r,t>>2),n(t);for(const t of r)e.i._free(t);e.i._free(t)}function lc(e,t,n){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=n}function cc(e,t,n){let r=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(e,t,i)=>{t?(n(r,i),r=[]):r.push(e)}}function uc(e,t){const n=Qi(e.baseOptions,Ws,1)||new Ws;"string"==typeof t?(Ui(n,2,hi(t)),Ui(n,1)):t instanceof Uint8Array&&(Ui(n,1,Jr(t,!1,!1)),Ui(n,2)),na(e.baseOptions,0,1,n)}function dc(e){try{const t=e.I.length;if(1===t)throw Error(e.I[0].message);if(1<t)throw Error("Encountered multiple errors: "+e.I.map((e=>e.message)).join(", "))}finally{e.I=[]}}function hc(e,t){e.H=Math.max(e.H,t)}function fc(e,t){e.A=new qo,Go(e.A,"PassThroughCalculator"),jo(e.A,"free_memory"),zo(e.A,"free_memory_unused_out"),Jo(t,"free_memory"),Xo(t,e.A)}function pc(e,t){jo(e.A,t),zo(e.A,t+"_unused_out")}function gc(e){e.g.addBoolToStream(!0,"free_memory",e.H)}nc.forVisionTasks=function(e=""){return tc("vision",e)},nc.forTextTasks=function(e=""){return tc("text",e)},nc.forAudioTasks=function(e=""){return tc("audio",e)},nc.isSimdSupported=function(){return ec()};var mc=class{constructor(e){this.g=e,this.I=[],this.H=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){if(t){const t=e.baseOptions||{};if(e.baseOptions?.modelAssetBuffer&&e.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(Qi(this.baseOptions,Ws,1)?.g()||Qi(this.baseOptions,Ws,1)?.h()||e.baseOptions?.modelAssetBuffer||e.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(e,t){let n=Qi(e.baseOptions,Vs,3);if(!n){var r=n=new Vs,i=new _o;ra(r,4,Hs,i)}"delegate"in t&&("GPU"===t.delegate?(t=n,r=new ko,ra(t,2,Hs,r)):(t=n,r=new _o,ra(t,4,Hs,r))),na(e.baseOptions,0,3,n)}(this,t),t.modelAssetPath)return fetch(t.modelAssetPath.toString()).then((e=>{if(e.ok)return e.arrayBuffer();throw Error(`Failed to fetch model: ${t.modelAssetPath} (${e.status})`)})).then((e=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(e),!0,!1,!1),uc(this,"/model.dat"),this.m(),this.N()}));uc(this,t.modelAssetBuffer)}return this.m(),this.N(),Promise.resolve()}N(){}U(){let e;if(this.g.U((t=>{e=ts(t)})),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener(((e,t)=>{this.I.push(Error(t))})),this.g.xa(),this.g.setGraph(e,t),this.A=void 0,dc(this)}finishProcessing(){this.g.finishProcessing(),dc(this)}close(){this.A=void 0,this.g.closeGraph()}};function vc(e,t){if(null===e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}mc.prototype.close=mc.prototype.close;class yc{constructor(e,t,n,r){this.g=e,this.h=t,this.m=n,this.l=r}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}}function bc(e,t,n){const r=e.h;if(n=vc(r.createShader(n),"Failed to create WebGL shader"),r.shaderSource(n,t),r.compileShader(n),!r.getShaderParameter(n,r.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${r.getShaderInfoLog(n)}`);return r.attachShader(e.g,n),n}function wc(e,t){const n=e.h,r=vc(n.createVertexArray(),"Failed to create vertex array");n.bindVertexArray(r);const i=vc(n.createBuffer(),"Failed to create buffer");n.bindBuffer(n.ARRAY_BUFFER,i),n.enableVertexAttribArray(e.s),n.vertexAttribPointer(e.s,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),n.STATIC_DRAW);const a=vc(n.createBuffer(),"Failed to create buffer");return n.bindBuffer(n.ARRAY_BUFFER,a),n.enableVertexAttribArray(e.A),n.vertexAttribPointer(e.A,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array(t?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null),n.bindVertexArray(null),new yc(n,r,i,a)}function xc(e,t){if(e.h){if(t!==e.h)throw Error("Cannot change GL context once initialized")}else e.h=t}function Ec(e,t,n,r){if(xc(e,t),!e.g){const t=e.h;if(e.g=vc(t.createProgram(),"Failed to create WebGL program"),e.C=bc(e,"\n attribute vec2 aVertex;\n attribute vec2 aTex;\n varying vec2 vTex;\n void main(void) {\n gl_Position = vec4(aVertex, 0.0, 1.0);\n vTex = aTex;\n }",t.VERTEX_SHADER),e.v=bc(e,"\n precision mediump float;\n varying vec2 vTex;\n uniform sampler2D inputTexture;\n void main() {\n gl_FragColor = texture2D(inputTexture, vTex);\n }\n ",t.FRAGMENT_SHADER),t.linkProgram(e.g),!t.getProgramParameter(e.g,t.LINK_STATUS))throw Error(`Error during program linking: ${t.getProgramInfoLog(e.g)}`);e.s=t.getAttribLocation(e.g,"aVertex"),e.A=t.getAttribLocation(e.g,"aTex")}return n?(e.m||(e.m=wc(e,!0)),n=e.m):(e.j||(e.j=wc(e,!1)),n=e.j),t.useProgram(e.g),n.bind(),e=r(),n.g.bindVertexArray(null),e}function Tc(e,t,n){xc(e,t),e.l||(e.l=vc(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.l),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,n,0)}function Sc(e){e.h?.bindFramebuffer(e.h.FRAMEBUFFER,null)}var Cc=class{close(){if(this.g){const e=this.h;e.deleteProgram(this.g),e.deleteShader(this.C),e.deleteShader(this.v)}this.l&&this.h.deleteFramebuffer(this.l),this.j&&this.j.close(),this.m&&this.m.close()}};function kc(e,t){switch(t){case 0:return e.g.find((e=>e instanceof ImageData));case 1:return e.g.find((e=>"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap));case 2:return e.g.find((e=>"undefined"!=typeof WebGLTexture&&e instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function Ac(e){var t=kc(e,0);if(!t){t=_c(e);const n=Ic(e),r=new Uint8Array(e.width*e.height*4);Tc(n,t,Rc(e)),t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,r),Sc(n),t=new ImageData(new Uint8ClampedArray(r.buffer),e.width,e.height),e.g.push(t)}return t}function Rc(e){let t=kc(e,2);if(!t){const n=_c(e);t=Fc(e);const r=kc(e,1)||Ac(e);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,r),Lc(e)}return t}function _c(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when iniitializing the image.");return e.h||(e.h=vc(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Ic(e){return e.l||(e.l=new Cc),e.l}function Dc(e){(e=_c(e)).texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR)}function Fc(e){const t=_c(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let n=kc(e,2);return n?t.bindTexture(t.TEXTURE_2D,n):(n=vc(t.createTexture(),"Failed to create texture"),e.g.push(n),e.m=!0,t.bindTexture(t.TEXTURE_2D,n),Dc(e)),n}function Lc(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}function Nc(e){const t=_c(e);return Ec(Ic(e),t,!0,(()=>function(e,t){const n=e.canvas;if(n.width===e.width&&n.height===e.height)return t();const r=n.width,i=n.height;return n.width=e.width,n.height=e.height,e=t(),n.width=r,n.height=i,e}(e,(()=>{if(t.bindFramebuffer(t.FRAMEBUFFER,null),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4),!(e.canvas instanceof OffscreenCanvas))throw Error("Conversion to ImageBitmap requires that the MediaPipe Tasks is initialized with an OffscreenCanvas");return e.canvas.transferToImageBitmap()}))))}var Mc=class{constructor(e,t,n,r,i,a,o){this.g=e,this.j=t,this.m=n,this.canvas=r,this.l=i,this.width=a,this.height=o,(this.j||this.m)&&0==--Pc&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")}ta(){return!!kc(this,0)}Z(){return!!kc(this,1)}J(){return!!kc(this,2)}pa(){return Ac(this)}oa(){var e=kc(this,1);return e||(Rc(this),Fc(this),e=Nc(this),Lc(this),this.g.push(e),this.j=!0),e}T(){return Rc(this)}clone(){const e=[];for(const t of this.g){let n;if(t instanceof ImageData)n=new ImageData(t.data,this.width,this.height);else if(t instanceof WebGLTexture){const e=_c(this),t=Ic(this);e.activeTexture(e.TEXTURE1),n=vc(e.createTexture(),"Failed to create texture"),e.bindTexture(e.TEXTURE_2D,n),Dc(this),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,null),e.bindTexture(e.TEXTURE_2D,null),Tc(t,e,n),Ec(t,e,!1,(()=>{Fc(this),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),Lc(this)})),Sc(t),Lc(this)}else{if(!(t instanceof ImageBitmap))throw Error(`Type is not supported: ${t}`);Rc(this),Fc(this),n=Nc(this),Lc(this)}e.push(n)}return new Mc(e,this.Z(),this.J(),this.canvas,this.l,this.width,this.height)}close(){this.j&&kc(this,1).close(),this.m&&_c(this).deleteTexture(kc(this,2)),Pc=-1}};Mc.prototype.close=Mc.prototype.close,Mc.prototype.clone=Mc.prototype.clone,Mc.prototype.getAsWebGLTexture=Mc.prototype.T,Mc.prototype.getAsImageBitmap=Mc.prototype.oa,Mc.prototype.getAsImageData=Mc.prototype.pa,Mc.prototype.hasWebGLTexture=Mc.prototype.J,Mc.prototype.hasImageBitmap=Mc.prototype.Z,Mc.prototype.hasImageData=Mc.prototype.ta;var Pc=250;function Oc(e,t){switch(t){case 0:return e.g.find((e=>e instanceof Uint8Array));case 1:return e.g.find((e=>e instanceof Float32Array));case 2:return e.g.find((e=>"undefined"!=typeof WebGLTexture&&e instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function Bc(e){var t=Oc(e,1);if(!t){if(t=Oc(e,0))t=new Float32Array(t).map((e=>e/255));else{t=new Float32Array(e.width*e.height);const r=$c(e);var n=jc(e);if(Tc(n,r,Uc(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document){n=new Float32Array(e.width*e.height*4),r.readPixels(0,0,e.width,e.height,r.RGBA,r.FLOAT,n);for(let e=0,r=0;e<t.length;++e,r+=4)t[e]=n[r]}else r.readPixels(0,0,e.width,e.height,r.RED,r.FLOAT,t)}e.g.push(t)}return t}function Uc(e){let t=Oc(e,2);if(!t){const n=$c(e);t=qc(e);const r=Bc(e),i=Gc(e);n.texImage2D(n.TEXTURE_2D,0,i,e.width,e.height,0,n.RED,n.FLOAT,r),Vc(e)}return t}function $c(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=vc(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Gc(e){if(e=$c(e),!Hc)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))Hc=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");Hc=e.R16F}return Hc}function jc(e){return e.l||(e.l=new Cc),e.l}function zc(e){(e=$c(e)).texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST)}function qc(e){const t=$c(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let n=Oc(e,2);return n?t.bindTexture(t.TEXTURE_2D,n):(n=vc(t.createTexture(),"Failed to create texture"),e.g.push(n),e.m=!0,t.bindTexture(t.TEXTURE_2D,n),zc(e)),n}function Vc(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var Hc,Wc=class{constructor(e,t,n,r,i,a){this.g=e,this.m=t,this.canvas=n,this.l=r,this.width=i,this.height=a,this.m&&0==--Kc&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}ua(){return!!Oc(this,0)}sa(){return!!Oc(this,1)}J(){return!!Oc(this,2)}qa(){return(e=Oc(this,0))||(e=Bc(this),e=new Uint8Array(e.map((e=>255*e))),this.g.push(e)),e;var e}na(){return Bc(this)}T(){return Uc(this)}clone(){const e=[];for(const t of this.g){let n;if(t instanceof Uint8Array)n=new Uint8Array(t);else if(t instanceof Float32Array)n=new Float32Array(t);else{if(!(t instanceof WebGLTexture))throw Error(`Type is not supported: ${t}`);{const e=$c(this),t=jc(this);e.activeTexture(e.TEXTURE1),n=vc(e.createTexture(),"Failed to create texture"),e.bindTexture(e.TEXTURE_2D,n),zc(this);const r=Gc(this);e.texImage2D(e.TEXTURE_2D,0,r,this.width,this.height,0,e.RED,e.FLOAT,null),e.bindTexture(e.TEXTURE_2D,null),Tc(t,e,n),Ec(t,e,!1,(()=>{qc(this),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),Vc(this)})),Sc(t),Vc(this)}}e.push(n)}return new Wc(e,this.J(),this.canvas,this.l,this.width,this.height)}close(){this.m&&$c(this).deleteTexture(Oc(this,2)),Kc=-1}};Wc.prototype.close=Wc.prototype.close,Wc.prototype.clone=Wc.prototype.clone,Wc.prototype.getAsWebGLTexture=Wc.prototype.T,Wc.prototype.getAsFloat32Array=Wc.prototype.na,Wc.prototype.getAsUint8Array=Wc.prototype.qa,Wc.prototype.hasWebGLTexture=Wc.prototype.J,Wc.prototype.hasFloat32Array=Wc.prototype.sa,Wc.prototype.hasUint8Array=Wc.prototype.ua;var Kc=250;function Yc(...e){return e.map((([e,t])=>({start:e,end:t})))}const Xc=function(e){return class extends e{xa(){this.i._registerModelResourcesGraphService()}}}((Jc=class{constructor(e,t){this.l=!0,this.i=e,this.g=null,this.h=0,this.m="function"==typeof this.i._addIntToInputStream,void 0!==t?this.i.canvas=t:"undefined"==typeof OffscreenCanvas||rc()?(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas")):this.i.canvas=new OffscreenCanvas(1,1)}async initializeGraph(e){const t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph((new TextEncoder).encode(e),!1)}setGraph(e,t){const n=e.length,r=this.i._malloc(n);this.i.HEAPU8.set(e,r),t?this.i._changeBinaryGraph(n,r):this.i._changeTextGraph(n,r),this.i._free(r)}configureAudio(e,t,n,r,i){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),ac(this,r||"input_audio",(r=>{ac(this,i=i||"audio_header",(i=>{this.i._configureAudio(r,i,e,t,n)}))}))}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}U(e){lc(this,"__graph_config__",(t=>{e(t)})),ac(this,"__graph_config__",(e=>{this.i._getGraphConfig(e,void 0)})),delete this.i.simpleListeners.__graph_config__}attachErrorListener(e){this.i.errorListener=e}attachEmptyPacketListener(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}addAudioToStream(e,t,n){this.addAudioToStreamWithShape(e,0,0,t,n)}addAudioToStreamWithShape(e,t,n,r,i){const a=4*e.length;this.h!==a&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(a),this.h=a),this.i.HEAPF32.set(e,this.g/4),ac(this,r,(e=>{this.i._addAudioToInputStream(this.g,t,n,e,i)}))}addGpuBufferToStream(e,t,n){ac(this,t,(t=>{const[r,i]=oc(this,e,t);this.i._addBoundTextureToStream(t,r,i,n)}))}addBoolToStream(e,t,n){ac(this,t,(t=>{this.i._addBoolToInputStream(e,t,n)}))}addDoubleToStream(e,t,n){ac(this,t,(t=>{this.i._addDoubleToInputStream(e,t,n)}))}addFloatToStream(e,t,n){ac(this,t,(t=>{this.i._addFloatToInputStream(e,t,n)}))}addIntToStream(e,t,n){ac(this,t,(t=>{this.i._addIntToInputStream(e,t,n)}))}addStringToStream(e,t,n){ac(this,t,(t=>{ac(this,e,(e=>{this.i._addStringToInputStream(e,t,n)}))}))}addStringRecordToStream(e,t,n){ac(this,t,(t=>{sc(this,Object.keys(e),(r=>{sc(this,Object.values(e),(i=>{this.i._addFlatHashMapToInputStream(r,i,Object.keys(e).length,t,n)}))}))}))}addProtoToStream(e,t,n,r){ac(this,n,(n=>{ac(this,t,(t=>{const i=this.i._malloc(e.length);this.i.HEAPU8.set(e,i),this.i._addProtoToInputStream(i,e.length,t,n,r),this.i._free(i)}))}))}addEmptyPacketToStream(e,t){ac(this,e,(e=>{this.i._addEmptyPacketToInputStream(e,t)}))}addBoolToInputSidePacket(e,t){ac(this,t,(t=>{this.i._addBoolToInputSidePacket(e,t)}))}addDoubleToInputSidePacket(e,t){ac(this,t,(t=>{this.i._addDoubleToInputSidePacket(e,t)}))}addFloatToInputSidePacket(e,t){ac(this,t,(t=>{this.i._addFloatToInputSidePacket(e,t)}))}addIntToInputSidePacket(e,t){ac(this,t,(t=>{this.i._addIntToInputSidePacket(e,t)}))}addStringToInputSidePacket(e,t){ac(this,t,(t=>{ac(this,e,(e=>{this.i._addStringToInputSidePacket(e,t)}))}))}addProtoToInputSidePacket(e,t,n){ac(this,n,(n=>{ac(this,t,(t=>{const r=this.i._malloc(e.length);this.i.HEAPU8.set(e,r),this.i._addProtoToInputSidePacket(r,e.length,t,n),this.i._free(r)}))}))}attachBoolListener(e,t){lc(this,e,t),ac(this,e,(e=>{this.i._attachBoolListener(e)}))}attachBoolVectorListener(e,t){cc(this,e,t),ac(this,e,(e=>{this.i._attachBoolVectorListener(e)}))}attachIntListener(e,t){lc(this,e,t),ac(this,e,(e=>{this.i._attachIntListener(e)}))}attachIntVectorListener(e,t){cc(this,e,t),ac(this,e,(e=>{this.i._attachIntVectorListener(e)}))}attachDoubleListener(e,t){lc(this,e,t),ac(this,e,(e=>{this.i._attachDoubleListener(e)}))}attachDoubleVectorListener(e,t){cc(this,e,t),ac(this,e,(e=>{this.i._attachDoubleVectorListener(e)}))}attachFloatListener(e,t){lc(this,e,t),ac(this,e,(e=>{this.i._attachFloatListener(e)}))}attachFloatVectorListener(e,t){cc(this,e,t),ac(this,e,(e=>{this.i._attachFloatVectorListener(e)}))}attachStringListener(e,t){lc(this,e,t),ac(this,e,(e=>{this.i._attachStringListener(e)}))}attachStringVectorListener(e,t){cc(this,e,t),ac(this,e,(e=>{this.i._attachStringVectorListener(e)}))}attachProtoListener(e,t,n){lc(this,e,t),ac(this,e,(e=>{this.i._attachProtoListener(e,n||!1)}))}attachProtoVectorListener(e,t,n){cc(this,e,t),ac(this,e,(e=>{this.i._attachProtoVectorListener(e,n||!1)}))}attachAudioListener(e,t,n){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),lc(this,e,((e,n)=>{e=new Float32Array(e.buffer,e.byteOffset,e.length/4),t(e,n)})),ac(this,e,(e=>{this.i._attachAudioListener(e,n||!1)}))}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends Jc{get W(){return this.i}ea(e,t,n){ac(this,t,(t=>{const[r,i]=oc(this,e,t);this.W._addBoundTextureAsImageToStream(t,r,i,n)}))}P(e,t){lc(this,e,t),ac(this,e,(e=>{this.W._attachImageListener(e)}))}R(e,t){cc(this,e,t),ac(this,e,(e=>{this.W._attachImageVectorListener(e)}))}}));var Jc,Zc=class extends Xc{};async function Qc(e,t,n){return async function(e,t,n,r){return async function(e,t,n,r){return e=await(async(e,t,n,r,i)=>{if(t&&await ic(t),!self.ModuleFactory)throw Error("ModuleFactory not set.");if(n&&(await ic(n),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&i&&((t=self.Module).locateFile=i.locateFile,i.mainScriptUrlOrBlob&&(t.mainScriptUrlOrBlob=i.mainScriptUrlOrBlob)),i=await self.ModuleFactory(self.Module||i),self.ModuleFactory=self.Module=void 0,new e(i,r)})(e,n.wasmLoaderPath,n.assetLoaderPath,t,{locateFile(e){var t=n.wasmBinaryPath.toString();return t.includes(e)?t:(t=n.assetBinaryPath?.toString(),t?.includes(e)?t:e)}}),await e.o(r),e}(e,t,n,r)}(e,n.canvas??("undefined"==typeof OffscreenCanvas||rc()?document.createElement("canvas"):void 0),t,n)}function eu(e,t,n,r){if(e.X){const a=new _s;if(n?.regionOfInterest){if(!e.ca)throw Error("This task doesn't support region-of-interest.");var i=n.regionOfInterest;if(i.left>=i.right||i.top>=i.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(0>i.left||0>i.top||1<i.right||1<i.bottom)throw Error("Expected RectF values to be in [0,1].");ha(a,1,(i.left+i.right)/2),ha(a,2,(i.top+i.bottom)/2),ha(a,4,i.right-i.left),ha(a,3,i.bottom-i.top)}else ha(a,1,.5),ha(a,2,.5),ha(a,4,1),ha(a,3,1);if(n?.rotationDegrees){if(0!=n?.rotationDegrees%90)throw Error("Expected rotation to be a multiple of 90°.");if(ha(a,5,-Math.PI*n.rotationDegrees/180),0!=n?.rotationDegrees%180){const[e,r]=void 0!==t.videoWidth?[t.videoWidth,t.videoHeight]:void 0!==t.naturalWidth?[t.naturalWidth,t.naturalHeight]:[t.width,t.height];n=ca(a,3)*r/e,i=ca(a,4)*e/r,ha(a,4,n),ha(a,3,i)}}e.g.addProtoToStream(a.g(),"mediapipe.NormalizedRect",e.X,r)}e.g.ea(t,e.ba,r??performance.now()),e.finishProcessing()}function tu(e,t,n){if(e.baseOptions?.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");eu(e,t,n,e.H+1)}function nu(e,t,n,r){if(!e.baseOptions?.g())throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");eu(e,t,n,r)}function ru(e,t,n){var r=t.data;const i=t.width,a=i*(t=t.height);if((r instanceof Uint8Array||r instanceof Float32Array)&&r.length!==a)throw Error("Unsupported channel count: "+r.length/a);return e=new Wc([r],!1,e.g.i.canvas,e.M,i,t),n?e.clone():e}var iu=class extends mc{constructor(e,t,n,r){super(e),this.g=e,this.ba=t,this.X=n,this.ca=r,this.M=new Cc}l(e,t=!0){if("runningMode"in e&&ua(this.baseOptions,2,!!e.runningMode&&"IMAGE"!==e.runningMode),void 0!==e.canvas&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(e,t)}close(){this.M.close(),super.close()}};iu.prototype.close=iu.prototype.close;var au=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},this.h=new Js,e=new Ys,na(this.h,0,1,e),ha(this.h,2,.5),ha(this.h,3,.3)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&ha(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&ha(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}F(e,t){return this.j={detections:[]},tu(this,e,t),this.j}D(e,t,n){return this.j={detections:[]},nu(this,e,n,t),this.j}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect_in"),Zo(e,"detections");const t=new Lo;pa(t,Qs,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect_in"),zo(n,"DETECTIONS:detections"),n.o(t),Xo(e,n),this.g.attachProtoVectorListener("detections",((e,t)=>{for(const t of e)e=ys(t),this.j.detections.push(Wl(e));hc(this,t)})),this.g.attachEmptyPacketListener("detections",(e=>{hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};au.prototype.detectForVideo=au.prototype.D,au.prototype.setOptions=au.prototype.o,au.createFromModelPath=async function(e,t){return Qc(au,e,{baseOptions:{modelAssetPath:t}})},au.createFromModelBuffer=function(e,t){return Qc(au,e,{baseOptions:{modelAssetBuffer:t}})},au.createFromOptions=function(e,t){return Qc(au,e,t)};var ou=Yc([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),su=Yc([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),lu=Yc([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),cu=Yc([474,475],[475,476],[476,477],[477,474]),uu=Yc([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),du=Yc([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),hu=Yc([469,470],[470,471],[471,472],[472,469]),fu=Yc([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),pu=[...ou,...su,...lu,...uu,...du,...fu],gu=Yc([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function mu(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var vu=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,this.h=new ol,e=new Ys,na(this.h,0,1,e),this.v=new il,na(this.h,0,3,this.v),this.s=new Js,na(this.h,0,2,this.s),da(this.s,4,1),ha(this.s,2,.5),ha(this.v,2,.5),ha(this.h,4,.5)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){return"numFaces"in e&&da(this.s,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&ha(this.s,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&ha(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&ha(this.v,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}F(e,t){return mu(this),tu(this,e,t),this.j}D(e,t,n){return mu(this),nu(this,e,n,t),this.j}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect"),Zo(e,"face_landmarks");const t=new Lo;pa(t,ll,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),zo(n,"NORM_LANDMARKS:face_landmarks"),n.o(t),Xo(e,n),this.g.attachProtoVectorListener("face_landmarks",((e,t)=>{for(const t of e)e=ks(t),this.j.faceLandmarks.push(Kl(e));hc(this,t)})),this.g.attachEmptyPacketListener("face_landmarks",(e=>{hc(this,e)})),this.outputFaceBlendshapes&&(Zo(e,"blendshapes"),zo(n,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",((e,t)=>{if(this.outputFaceBlendshapes)for(const t of e)e=ss(t),this.j.faceBlendshapes.push(Hl(e.g()??[]));hc(this,t)})),this.g.attachEmptyPacketListener("blendshapes",(e=>{hc(this,e)}))),this.outputFacialTransformationMatrixes&&(Zo(e,"face_geometry"),zo(n,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",((e,t)=>{if(this.outputFacialTransformationMatrixes)for(const t of e)(e=Qi(nl(t),As,2))&&this.j.facialTransformationMatrixes.push({rows:la(aa(e,1))??0,columns:la(aa(e,2))??0,data:qi(e,3,oi)??[]});hc(this,t)})),this.g.attachEmptyPacketListener("face_geometry",(e=>{hc(this,e)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};vu.prototype.detectForVideo=vu.prototype.D,vu.prototype.detect=vu.prototype.F,vu.prototype.setOptions=vu.prototype.o,vu.createFromModelPath=function(e,t){return Qc(vu,e,{baseOptions:{modelAssetPath:t}})},vu.createFromModelBuffer=function(e,t){return Qc(vu,e,{baseOptions:{modelAssetBuffer:t}})},vu.createFromOptions=function(e,t){return Qc(vu,e,t)},vu.FACE_LANDMARKS_LIPS=ou,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LIPS",vu.FACE_LANDMARKS_LIPS),vu.FACE_LANDMARKS_LEFT_EYE=su,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LEFT_EYE",vu.FACE_LANDMARKS_LEFT_EYE),vu.FACE_LANDMARKS_LEFT_EYEBROW=lu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LEFT_EYEBROW",vu.FACE_LANDMARKS_LEFT_EYEBROW),vu.FACE_LANDMARKS_LEFT_IRIS=cu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LEFT_IRIS",vu.FACE_LANDMARKS_LEFT_IRIS),vu.FACE_LANDMARKS_RIGHT_EYE=uu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_RIGHT_EYE",vu.FACE_LANDMARKS_RIGHT_EYE),vu.FACE_LANDMARKS_RIGHT_EYEBROW=du,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_RIGHT_EYEBROW",vu.FACE_LANDMARKS_RIGHT_EYEBROW),vu.FACE_LANDMARKS_RIGHT_IRIS=hu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_RIGHT_IRIS",vu.FACE_LANDMARKS_RIGHT_IRIS),vu.FACE_LANDMARKS_FACE_OVAL=fu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_FACE_OVAL",vu.FACE_LANDMARKS_FACE_OVAL),vu.FACE_LANDMARKS_CONTOURS=pu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_CONTOURS",vu.FACE_LANDMARKS_CONTOURS),vu.FACE_LANDMARKS_TESSELATION=gu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_TESSELATION",vu.FACE_LANDMARKS_TESSELATION);var yu=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!0),this.j=new cl,e=new Ys,na(this.j,0,1,e)}get baseOptions(){return Qi(this.j,Ys,1)}set baseOptions(e){na(this.j,0,1,e)}o(e){return super.l(e)}za(e,t,n){const r="function"!=typeof t?t:{};if(this.h="function"==typeof t?t:n,tu(this,e,r??{}),!this.h)return this.s}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect"),Zo(e,"stylized_image");const t=new Lo;pa(t,ul,this.j);const n=new qo;Go(n,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),zo(n,"STYLIZED_IMAGE:stylized_image"),n.o(t),Xo(e,n),this.g.P("stylized_image",((e,t)=>{var n=!this.h,r=e.data,i=e.width;const a=i*(e=e.height);if(r instanceof Uint8Array)if(r.length===3*a){const t=new Uint8ClampedArray(4*a);for(let e=0;e<a;++e)t[4*e]=r[3*e],t[4*e+1]=r[3*e+1],t[4*e+2]=r[3*e+2],t[4*e+3]=255;r=new ImageData(t,i,e)}else{if(r.length!==4*a)throw Error("Unsupported channel count: "+r.length/a);r=new ImageData(new Uint8ClampedArray(r.buffer,r.byteOffset,r.length),i,e)}else if(!(r instanceof WebGLTexture))throw Error(`Unsupported format: ${r.constructor.name}`);i=new Mc([r],!1,!1,this.g.i.canvas,this.M,i,e),this.s=n=n?i.clone():i,this.h&&this.h(n),hc(this,t)})),this.g.attachEmptyPacketListener("stylized_image",(e=>{this.s=null,this.h&&this.h(null),hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};yu.prototype.stylize=yu.prototype.za,yu.prototype.setOptions=yu.prototype.o,yu.createFromModelPath=function(e,t){return Qc(yu,e,{baseOptions:{modelAssetPath:t}})},yu.createFromModelBuffer=function(e,t){return Qc(yu,e,{baseOptions:{modelAssetBuffer:t}})},yu.createFromOptions=function(e,t){return Qc(yu,e,t)};var bu=Yc([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function wu(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function xu(e){return 0===e.gestures.length?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function Eu(e,t=!0){const n=[];for(const i of e){var r=ss(i);e=[];for(const n of r.g())r=t&&null!=aa(n,1)?la(aa(n,1)):-1,e.push({score:ca(n,2)??0,index:r,categoryName:sa(n,3)??""??"",displayName:sa(n,4)??""??""});n.push(e)}return n}var Tu=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.v=new El,e=new Ys,na(this.v,0,1,e),this.C=new wl,na(this.v,0,2,this.C),this.s=new yl,na(this.C,0,3,this.s),this.h=new ml,na(this.C,0,2,this.h),this.j=new pl,na(this.v,0,3,this.j),ha(this.h,2,.5),ha(this.C,4,.5),ha(this.s,2,.5)}get baseOptions(){return Qi(this.v,Ys,1)}set baseOptions(e){na(this.v,0,1,e)}o(e){if(da(this.h,3,e.numHands??1),"minHandDetectionConfidence"in e&&ha(this.h,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&ha(this.C,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&ha(this.s,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new dl,n=Vl(e.cannedGesturesClassifierOptions,Qi(this.j,dl,3)?.h());na(t,0,2,n),na(this.j,0,3,t)}else void 0===e.cannedGesturesClassifierOptions&&Qi(this.j,dl,3)?.g();return e.customGesturesClassifierOptions?(na(t=new dl,0,2,n=Vl(e.customGesturesClassifierOptions,Qi(this.j,dl,4)?.h())),na(this.j,0,4,t)):void 0===e.customGesturesClassifierOptions&&Qi(this.j,dl,4)?.g(),this.l(e)}va(e,t){return wu(this),tu(this,e,t),xu(this)}wa(e,t,n){return wu(this),nu(this,e,n,t),xu(this)}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect"),Zo(e,"hand_gestures"),Zo(e,"hand_landmarks"),Zo(e,"world_hand_landmarks"),Zo(e,"handedness");const t=new Lo;pa(t,Cl,this.v);const n=new qo;Go(n,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),zo(n,"HAND_GESTURES:hand_gestures"),zo(n,"LANDMARKS:hand_landmarks"),zo(n,"WORLD_LANDMARKS:world_hand_landmarks"),zo(n,"HANDEDNESS:handedness"),n.o(t),Xo(e,n),this.g.attachProtoVectorListener("hand_landmarks",((e,t)=>{for(const t of e){e=ks(t);const n=[];for(const t of ta(e,Ts,1))n.push({x:ca(t,1)??0,y:ca(t,2)??0,z:ca(t,3)??0});this.landmarks.push(n)}hc(this,t)})),this.g.attachEmptyPacketListener("hand_landmarks",(e=>{hc(this,e)})),this.g.attachProtoVectorListener("world_hand_landmarks",((e,t)=>{for(const t of e){e=Es(t);const n=[];for(const t of ta(e,bs,1))n.push({x:ca(t,1)??0,y:ca(t,2)??0,z:ca(t,3)??0});this.worldLandmarks.push(n)}hc(this,t)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(e=>{hc(this,e)})),this.g.attachProtoVectorListener("hand_gestures",((e,t)=>{this.gestures.push(...Eu(e,!1)),hc(this,t)})),this.g.attachEmptyPacketListener("hand_gestures",(e=>{hc(this,e)})),this.g.attachProtoVectorListener("handedness",((e,t)=>{this.handedness.push(...Eu(e)),hc(this,t)})),this.g.attachEmptyPacketListener("handedness",(e=>{hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function Su(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Tu.prototype.recognizeForVideo=Tu.prototype.wa,Tu.prototype.recognize=Tu.prototype.va,Tu.prototype.setOptions=Tu.prototype.o,Tu.createFromModelPath=function(e,t){return Qc(Tu,e,{baseOptions:{modelAssetPath:t}})},Tu.createFromModelBuffer=function(e,t){return Qc(Tu,e,{baseOptions:{modelAssetBuffer:t}})},Tu.createFromOptions=function(e,t){return Qc(Tu,e,t)},Tu.HAND_CONNECTIONS=bu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$gesture_recognizer$gesture_recognizer.GestureRecognizer.HAND_CONNECTIONS",Tu.HAND_CONNECTIONS);var Cu=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.j=new wl,e=new Ys,na(this.j,0,1,e),this.s=new yl,na(this.j,0,3,this.s),this.h=new ml,na(this.j,0,2,this.h),da(this.h,3,1),ha(this.h,2,.5),ha(this.s,2,.5),ha(this.j,4,.5)}get baseOptions(){return Qi(this.j,Ys,1)}set baseOptions(e){na(this.j,0,1,e)}o(e){return"numHands"in e&&da(this.h,3,e.numHands??1),"minHandDetectionConfidence"in e&&ha(this.h,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&ha(this.j,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&ha(this.s,2,e.minHandPresenceConfidence??.5),this.l(e)}F(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],tu(this,e,t),Su(this)}D(e,t,n){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],nu(this,e,n,t),Su(this)}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect"),Zo(e,"hand_landmarks"),Zo(e,"world_hand_landmarks"),Zo(e,"handedness");const t=new Lo;pa(t,Sl,this.j);const n=new qo;Go(n,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),zo(n,"LANDMARKS:hand_landmarks"),zo(n,"WORLD_LANDMARKS:world_hand_landmarks"),zo(n,"HANDEDNESS:handedness"),n.o(t),Xo(e,n),this.g.attachProtoVectorListener("hand_landmarks",((e,t)=>{for(const t of e)e=ks(t),this.landmarks.push(Kl(e));hc(this,t)})),this.g.attachEmptyPacketListener("hand_landmarks",(e=>{hc(this,e)})),this.g.attachProtoVectorListener("world_hand_landmarks",((e,t)=>{for(const t of e)e=Es(t),this.worldLandmarks.push(Yl(e));hc(this,t)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(e=>{hc(this,e)})),this.g.attachProtoVectorListener("handedness",((e,t)=>{var n=this.handedness,r=n.push;const i=[];for(const t of e){e=ss(t);const n=[];for(const t of e.g())n.push({score:ca(t,2)??0,index:la(aa(t,1))??-1,categoryName:sa(t,3)??""??"",displayName:sa(t,4)??""??""});i.push(n)}r.call(n,...i),hc(this,t)})),this.g.attachEmptyPacketListener("handedness",(e=>{hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Cu.prototype.detectForVideo=Cu.prototype.D,Cu.prototype.detect=Cu.prototype.F,Cu.prototype.setOptions=Cu.prototype.o,Cu.createFromModelPath=function(e,t){return Qc(Cu,e,{baseOptions:{modelAssetPath:t}})},Cu.createFromModelBuffer=function(e,t){return Qc(Cu,e,{baseOptions:{modelAssetBuffer:t}})},Cu.createFromOptions=function(e,t){return Qc(Cu,e,t)},Cu.HAND_CONNECTIONS=bu,Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$hand_landmarker$hand_landmarker.HandLandmarker.HAND_CONNECTIONS",Cu.HAND_CONNECTIONS);var ku=class extends iu{constructor(e,t){super(new Zc(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},this.h=new kl,e=new Ys,na(this.h,0,1,e)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){var t=Vl(e,Qi(this.h,Gs,2));return na(this.h,0,2,t),this.l(e)}ga(e,t){return this.j={classifications:[]},tu(this,e,t),this.j}ha(e,t,n){return this.j={classifications:[]},nu(this,e,n,t),this.j}m(){var e=new Qo;Jo(e,"input_image"),Jo(e,"norm_rect"),Zo(e,"classifications");const t=new Lo;pa(t,Al,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),jo(n,"IMAGE:input_image"),jo(n,"NORM_RECT:norm_rect"),zo(n,"CLASSIFICATIONS:classifications"),n.o(t),Xo(e,n),this.g.attachProtoListener("classifications",((e,t)=>{this.j=function(e){const t={classifications:ta(e,Is,1).map((e=>Hl(Qi(e,as,4)?.g()??[],la(aa(e,2)),sa(e,3)??"")))};return null!=oa(e)&&(t.timestampMs=la(oa(e))),t}(Ls(e)),hc(this,t)})),this.g.attachEmptyPacketListener("classifications",(e=>{hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ku.prototype.classifyForVideo=ku.prototype.ha,ku.prototype.classify=ku.prototype.ga,ku.prototype.setOptions=ku.prototype.o,ku.createFromModelPath=function(e,t){return Qc(ku,e,{baseOptions:{modelAssetPath:t}})},ku.createFromModelBuffer=function(e,t){return Qc(ku,e,{baseOptions:{modelAssetBuffer:t}})},ku.createFromOptions=function(e,t){return Qc(ku,e,t)};var Au=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!0),this.h=new Rl,this.embeddings={embeddings:[]},e=new Ys,na(this.h,0,1,e)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){var t=this.h,n=Qi(this.h,zs,2);return n=n?n.clone():new zs,void 0!==e.l2Normalize?ua(n,1,e.l2Normalize):"l2Normalize"in e&&Ui(n,1),void 0!==e.quantize?ua(n,2,e.quantize):"quantize"in e&&Ui(n,2),na(t,0,2,n),this.l(e)}la(e,t){return tu(this,e,t),this.embeddings}ma(e,t,n){return nu(this,e,n,t),this.embeddings}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect"),Zo(e,"embeddings_out");const t=new Lo;pa(t,_l,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),zo(n,"EMBEDDINGS:embeddings_out"),n.o(t),Xo(e,n),this.g.attachProtoListener("embeddings_out",((e,t)=>{e=$s(e),this.embeddings=function(e){return{embeddings:ta(e,Ps,1).map((e=>{const t={headIndex:la(aa(e,3))??-1,headName:sa(e,4)??""??""};if(void 0!==Zi(e,Ns,Yi(e,1)))e=qi(e=Qi(e,Ns,Yi(e,1)),1,oi),t.floatEmbedding=e;else{const n=new Uint8Array(0);t.quantizedEmbedding=Qi(e,Ms,Yi(e,2))?.da()?.fa()??n}return t})),timestampMs:la(oa(e))}}(e),hc(this,t)})),this.g.attachEmptyPacketListener("embeddings_out",(e=>{hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Au.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=Jl(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=Jl(Xl(e.quantizedEmbedding),Xl(t.quantizedEmbedding))}return e},Au.prototype.embedForVideo=Au.prototype.ma,Au.prototype.embed=Au.prototype.la,Au.prototype.setOptions=Au.prototype.o,Au.createFromModelPath=function(e,t){return Qc(Au,e,{baseOptions:{modelAssetPath:t}})},Au.createFromModelBuffer=function(e,t){return Qc(Au,e,{baseOptions:{modelAssetBuffer:t}})},Au.createFromOptions=function(e,t){return Qc(Au,e,t)};var Ru=class{constructor(e,t,n){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=n}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};function _u(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function Iu(e){try{const t=new Ru(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{gc(e)}}Ru.prototype.close=Ru.prototype.close;var Du=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!1),this.s=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Nl,this.v=new Il,na(this.h,0,3,this.v),e=new Ys,na(this.h,0,1,e)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){return void 0!==e.displayNamesLocale?Ui(this.h,2,hi(e.displayNamesLocale)):"displayNamesLocale"in e&&Ui(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}N(){!function(e){const t=ta(e.U(),qo,1).filter((e=>(sa(e,1)??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator")));if(e.s=[],1<t.length)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");1===t.length&&(Qi(t[0],Lo,7)?.l()?.g()??new Map).forEach(((t,n)=>{e.s[Number(n)]=sa(t,1)??""}))}(this)}V(e,t,n){const r="function"!=typeof t?t:{};return this.j="function"==typeof t?t:n,_u(this),tu(this,e,r),Iu(this)}ya(e,t,n,r){const i="function"!=typeof n?n:{};return this.j="function"==typeof n?n:r,_u(this),nu(this,e,i,t),Iu(this)}ra(){return this.s}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect");const t=new Lo;pa(t,Ml,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),n.o(t),Xo(e,n),fc(this,e),this.outputConfidenceMasks&&(Zo(e,"confidence_masks"),zo(n,"CONFIDENCE_MASKS:confidence_masks"),pc(this,"confidence_masks"),this.g.R("confidence_masks",((e,t)=>{this.confidenceMasks=e.map((e=>ru(this,e,!this.j))),hc(this,t)})),this.g.attachEmptyPacketListener("confidence_masks",(e=>{this.confidenceMasks=[],hc(this,e)}))),this.outputCategoryMask&&(Zo(e,"category_mask"),zo(n,"CATEGORY_MASK:category_mask"),pc(this,"category_mask"),this.g.P("category_mask",((e,t)=>{this.categoryMask=ru(this,e,!this.j),hc(this,t)})),this.g.attachEmptyPacketListener("category_mask",(e=>{this.categoryMask=void 0,hc(this,e)}))),Zo(e,"quality_scores"),zo(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((e,t)=>{this.qualityScores=e,hc(this,t)})),this.g.attachEmptyPacketListener("quality_scores",(e=>{this.categoryMask=void 0,hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Du.prototype.getLabels=Du.prototype.ra,Du.prototype.segmentForVideo=Du.prototype.ya,Du.prototype.segment=Du.prototype.V,Du.prototype.setOptions=Du.prototype.o,Du.createFromModelPath=function(e,t){return Qc(Du,e,{baseOptions:{modelAssetPath:t}})},Du.createFromModelBuffer=function(e,t){return Qc(Du,e,{baseOptions:{modelAssetBuffer:t}})},Du.createFromOptions=function(e,t){return Qc(Du,e,t)};var Fu=class{constructor(e,t,n){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=n}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};Fu.prototype.close=Fu.prototype.close;var Lu=class extends ga{constructor(e){super(e)}},Nu=[0,Qa,Qa,Qa],Mu=[0,Ha,Ha,Ha,Ha,no],Pu=[0,Ha,Ha,Ha,Ha,no,Ha,Ha],Ou=[0,lo,Pu],Bu=[0,lo,Ou,lo,Nu],Uu=[0,lo,Pu,lo,Nu],$u=[0,lo,Pu,Qa,Qa],Gu=[0,lo,$u,lo,Nu],ju=[0,Ha,Ha,Ha,Ha,no,lo,Nu,lo,Nu],zu=[0,Ha,Ha,Ha,Ha,no,po],qu=class extends ga{constructor(e){super(e)}},Vu=[0,Ha,Ha,no],Hu=class extends ga{constructor(){super()}};Hu.B=[1];var Wu=class extends ga{constructor(e){super(e)}},Ku=[1,2,3,4,5,6,7,8,9,10,14,15],Yu=[0,uo,Pu,Ku,uo,Uu,Ku,uo,Ou,Ku,uo,Bu,Ku,uo,Vu,Ku,uo,zu,Ku,uo,Mu,Ku,uo,[0,oo,Ha,Ha,Ha,no,Qa,no,no,Ha,3,lo,Nu],Ku,uo,$u,Ku,uo,Gu,Ku,Ha,lo,Nu,oo,uo,ju,Ku,uo,[0,co,Vu],Ku],Xu=[0,oo,Qa,Qa,no],Ju=class extends ga{constructor(){super()}};Ju.B=[1],Ju.prototype.g=bo([0,co,Yu,oo,lo,Xu]);var Zu=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Nl,this.v=new Il,na(this.h,0,3,this.v),e=new Ys,na(this.h,0,1,e)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){return"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}V(e,t,n,r){const i="function"!=typeof n?n:{};this.j="function"==typeof n?n:r,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,n=this.H+1,r=new Ju;const a=new Wu;var o=new Lu;if(da(o,1,255),na(a,0,12,o),t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var s=new qu;ua(s,3,!0),ha(s,1,t.keypoint.x),ha(s,2,t.keypoint.y),ra(a,5,Ku,s)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");for(s of(o=new Hu,t.scribble))ua(t=new qu,3,!0),ha(t,1,s.x),ha(t,2,s.y),ia(o,qu,t);ra(a,15,Ku,o)}ia(r,Wu,a),this.g.addProtoToStream(r.g(),"drishti.RenderData","roi_in",n),tu(this,e,i);e:{try{const e=new Fu(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var l=e;break e}this.j(e)}finally{gc(this)}l=void 0}return l}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"roi_in"),Jo(e,"norm_rect_in");const t=new Lo;pa(t,Ml,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),jo(n,"IMAGE:image_in"),jo(n,"ROI:roi_in"),jo(n,"NORM_RECT:norm_rect_in"),n.o(t),Xo(e,n),fc(this,e),this.outputConfidenceMasks&&(Zo(e,"confidence_masks"),zo(n,"CONFIDENCE_MASKS:confidence_masks"),pc(this,"confidence_masks"),this.g.R("confidence_masks",((e,t)=>{this.confidenceMasks=e.map((e=>ru(this,e,!this.j))),hc(this,t)})),this.g.attachEmptyPacketListener("confidence_masks",(e=>{this.confidenceMasks=[],hc(this,e)}))),this.outputCategoryMask&&(Zo(e,"category_mask"),zo(n,"CATEGORY_MASK:category_mask"),pc(this,"category_mask"),this.g.P("category_mask",((e,t)=>{this.categoryMask=ru(this,e,!this.j),hc(this,t)})),this.g.attachEmptyPacketListener("category_mask",(e=>{this.categoryMask=void 0,hc(this,e)}))),Zo(e,"quality_scores"),zo(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((e,t)=>{this.qualityScores=e,hc(this,t)})),this.g.attachEmptyPacketListener("quality_scores",(e=>{this.categoryMask=void 0,hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Zu.prototype.segment=Zu.prototype.V,Zu.prototype.setOptions=Zu.prototype.o,Zu.createFromModelPath=function(e,t){return Qc(Zu,e,{baseOptions:{modelAssetPath:t}})},Zu.createFromModelBuffer=function(e,t){return Qc(Zu,e,{baseOptions:{modelAssetBuffer:t}})},Zu.createFromOptions=function(e,t){return Qc(Zu,e,t)};var Qu=class extends iu{constructor(e,t){super(new Zc(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},this.h=new Pl,e=new Ys,na(this.h,0,1,e)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){return void 0!==e.displayNamesLocale?Ui(this.h,2,hi(e.displayNamesLocale)):"displayNamesLocale"in e&&Ui(this.h,2),void 0!==e.maxResults?da(this.h,3,e.maxResults):"maxResults"in e&&Ui(this.h,3),void 0!==e.scoreThreshold?ha(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&Ui(this.h,4),void 0!==e.categoryAllowlist?Ki(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&Ui(this.h,5),void 0!==e.categoryDenylist?Ki(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&Ui(this.h,6),this.l(e)}F(e,t){return this.j={detections:[]},tu(this,e,t),this.j}D(e,t,n){return this.j={detections:[]},nu(this,e,n,t),this.j}m(){var e=new Qo;Jo(e,"input_frame_gpu"),Jo(e,"norm_rect"),Zo(e,"detections");const t=new Lo;pa(t,Ol,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.ObjectDetectorGraph"),jo(n,"IMAGE:input_frame_gpu"),jo(n,"NORM_RECT:norm_rect"),zo(n,"DETECTIONS:detections"),n.o(t),Xo(e,n),this.g.attachProtoVectorListener("detections",((e,t)=>{for(const t of e)e=ys(t),this.j.detections.push(Wl(e));hc(this,t)})),this.g.attachEmptyPacketListener("detections",(e=>{hc(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function ed(e){e.landmarks=[],e.worldLandmarks=[],e.v=void 0}function td(e){try{const t=new class{constructor(e,t,n){this.landmarks=e,this.worldLandmarks=t,this.g=n}close(){this.g?.forEach((e=>{e.close()}))}}(e.landmarks,e.worldLandmarks,e.v);if(!e.s)return t;e.s(t)}finally{gc(e)}}Qu.prototype.detectForVideo=Qu.prototype.D,Qu.prototype.detect=Qu.prototype.F,Qu.prototype.setOptions=Qu.prototype.o,Qu.createFromModelPath=async function(e,t){return Qc(Qu,e,{baseOptions:{modelAssetPath:t}})},Qu.createFromModelBuffer=function(e,t){return Qc(Qu,e,{baseOptions:{modelAssetBuffer:t}})},Qu.createFromOptions=function(e,t){return Qc(Qu,e,t)};var nd=class extends iu{constructor(e,t){super(new Zc(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,this.h=new jl,e=new Ys,na(this.h,0,1,e),this.C=new $l,na(this.h,0,3,this.C),this.j=new Bl,na(this.h,0,2,this.j),da(this.j,4,1),ha(this.j,2,.5),ha(this.C,2,.5),ha(this.h,4,.5)}get baseOptions(){return Qi(this.h,Ys,1)}set baseOptions(e){na(this.h,0,1,e)}o(e){return"numPoses"in e&&da(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&ha(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&ha(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&ha(this.C,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}F(e,t,n){const r="function"!=typeof t?t:{};return this.s="function"==typeof t?t:n,ed(this),tu(this,e,r),td(this)}D(e,t,n,r){const i="function"!=typeof n?n:{};return this.s="function"==typeof n?n:r,ed(this),nu(this,e,i,t),td(this)}m(){var e=new Qo;Jo(e,"image_in"),Jo(e,"norm_rect"),Zo(e,"normalized_landmarks"),Zo(e,"world_landmarks"),Zo(e,"segmentation_masks");const t=new Lo;pa(t,ql,this.h);const n=new qo;Go(n,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),jo(n,"IMAGE:image_in"),jo(n,"NORM_RECT:norm_rect"),zo(n,"NORM_LANDMARKS:normalized_landmarks"),zo(n,"WORLD_LANDMARKS:world_landmarks"),n.o(t),Xo(e,n),fc(this,e),this.g.attachProtoVectorListener("normalized_landmarks",((e,t)=>{this.landmarks=[];for(const t of e)e=ks(t),this.landmarks.push(Kl(e));hc(this,t)})),this.g.attachEmptyPacketListener("normalized_landmarks",(e=>{this.landmarks=[],hc(this,e)})),this.g.attachProtoVectorListener("world_landmarks",((e,t)=>{this.worldLandmarks=[];for(const t of e)e=Es(t),this.worldLandmarks.push(Yl(e));hc(this,t)})),this.g.attachEmptyPacketListener("world_landmarks",(e=>{this.worldLandmarks=[],hc(this,e)})),this.outputSegmentationMasks&&(zo(n,"SEGMENTATION_MASK:segmentation_masks"),pc(this,"segmentation_masks"),this.g.R("segmentation_masks",((e,t)=>{this.v=e.map((e=>ru(this,e,!this.s))),hc(this,t)})),this.g.attachEmptyPacketListener("segmentation_masks",(e=>{this.v=[],hc(this,e)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};nd.prototype.detectForVideo=nd.prototype.D,nd.prototype.detect=nd.prototype.F,nd.prototype.setOptions=nd.prototype.o,nd.createFromModelPath=function(e,t){return Qc(nd,e,{baseOptions:{modelAssetPath:t}})},nd.createFromModelBuffer=function(e,t){return Qc(nd,e,{baseOptions:{modelAssetBuffer:t}})},nd.createFromOptions=function(e,t){return Qc(nd,e,t)},nd.POSE_CONNECTIONS=Yc([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]),Zt("module$exports$google3$third_party$mediapipe$tasks$web$vision$pose_landmarker$pose_landmarker.PoseLandmarker.POSE_CONNECTIONS",nd.POSE_CONNECTIONS);var rd;function id(e,t,n,r){t.forEach((function(t){var i=t.keypoints.map((function(e){return[e.x,e.y]}));if(n){e.strokeStyle="#FF2C35",e.lineWidth=1;var a=t.box;!function(e,t,n){var r=new Path2D;r.moveTo(t[0][0],t[0][1]);for(var i=1;i<t.length;i++){var a=t[i];r.lineTo(a[0],a[1])}n&&r.closePath(),e.stroke(r)}(e,[[a.xMin,a.yMin],[a.xMax,a.yMin],[a.xMax,a.yMax],[a.xMin,a.yMax]],!0)}if(r){e.fillStyle="#32EEDB";for(var o=0;o<6;o++){var s=i[o][0],l=i[o][1];e.beginPath(),e.arc(s,l,3,0,2*Math.PI),e.fill()}}}))}function ad(){return g(this,void 0,void 0,(function(){var e;return m(this,(function(t){switch(t.label){case 0:return rd?[2,rd]:[4,nc.forVisionTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.6/wasm")];case 1:return e=t.sent(),[4,au.createFromOptions(e,{baseOptions:{modelAssetPath:"https://storage.googleapis.com/mediapipe-models/face_detector/blaze_face_short_range/float16/1/blaze_face_short_range.tflite",delegate:"GPU"},runningMode:"VIDEO"})];case 2:return[2,rd=t.sent()]}}))}))}var od=n.createContext({start:function(){return null},stop:function(){return null},onPredictionMade:function(){return null},canvasRef:{current:null},ready:!1}),sd=function(e){var t=e.autoStart,r=void 0===t||t,i=e.children,a=e.throttleMs,o=n.useContext(Nt),s=o.videoRef,l=o.videoLoaded,c=o.cameraReady,d=n.useRef(null),h=n.useRef(),f=n.useState(!1),v=f[0],y=f[1],b=n.useState(!1),w=b[0],x=b[1],E=n.useRef(null),T=n.useRef(0),S=n.useRef(0);n.useEffect((function(){g(void 0,void 0,void 0,(function(){var e;return m(this,(function(t){switch(t.label){case 0:return y(!1),e=E,[4,ad()];case 1:return e.current=t.sent(),y(!0),[2]}}))}))}),[]),n.useEffect((function(){if(l&&c&&w&&v){var e;S.current+=1;var t=S.current;return g(void 0,void 0,void 0,(function(){var n,r,i,o;return m(this,(function(l){switch(l.label){case 0:return s.current&&E.current?(n=null===(r=d.current)||void 0===r?void 0:r.getContext("2d"),d.current&&(d.current.width=null===(i=s.current)||void 0===i?void 0:i.videoWidth,d.current.height=null===(o=s.current)||void 0===o?void 0:o.videoHeight,null==n||n.translate(s.current.videoWidth,0),null==n||n.scale(-1,1)),[4,function r(){var i;return g(this,void 0,void 0,(function(){var o,l,c,u,d;return m(this,(function(f){switch(f.label){case 0:return E.current&&s.current&&t===S.current?s.current.readyState<2?[4,new Promise((function(e){s.current&&(s.current.onloadeddata=function(){e([])})}))]:[3,2]:[2];case 1:f.sent(),f.label=2;case 2:o=s.current.videoWidth,l=s.current.videoHeight,null==n||n.drawImage(s.current,0,0,o,l),f.label=3;case 3:return f.trys.push([3,5,,6]),[4,E.current.detectForVideo(s.current,performance.now())];case 4:return(c=f.sent())&&(u=c.detections.map((function(e){var t,n,r,i,a,s,c,u,d,h,f,g,m,v,y,b;return{keypoints:e.keypoints.map((function(e){var t;return p(p({},e),{x:e.x*o,y:e.y*l,name:null!==(t=e.label)&&void 0!==t?t:""})})),box:{xMin:null!==(n=null===(t=e.boundingBox)||void 0===t?void 0:t.originX)&&void 0!==n?n:0,xMax:(null!==(i=null===(r=e.boundingBox)||void 0===r?void 0:r.originX)&&void 0!==i?i:0)+(null!==(s=null===(a=e.boundingBox)||void 0===a?void 0:a.width)&&void 0!==s?s:0),yMin:null!==(u=null===(c=e.boundingBox)||void 0===c?void 0:c.originY)&&void 0!==u?u:0,yMax:(null!==(h=null===(d=e.boundingBox)||void 0===d?void 0:d.originY)&&void 0!==h?h:0)+(null!==(g=null===(f=e.boundingBox)||void 0===f?void 0:f.height)&&void 0!==g?g:0),width:null!==(v=null===(m=e.boundingBox)||void 0===m?void 0:m.width)&&void 0!==v?v:0,height:null!==(b=null===(y=e.boundingBox)||void 0===y?void 0:y.height)&&void 0!==b?b:0}}})),null===(i=h.current)||void 0===i||i.call(h,u),n&&id(n,u,!0,!0)),[3,6];case 5:return d=f.sent(),console.error("caught face detection error",d),[3,6];case 6:return a?e=setTimeout((function(){T.current=requestAnimationFrame(r)}),a):T.current=requestAnimationFrame(r),[2]}}))}))}()]):[2];case 1:return l.sent(),[2]}}))})),function(){T.current&&cancelAnimationFrame(T.current),e&&clearTimeout(e)}}}),[c,v,w,a,l,s]);var C=n.useCallback((function(){x(!0)}),[]),k=n.useCallback((function(){x(!1)}),[]);n.useEffect((function(){return r&&C(),function(){k()}}),[r,C,k]);var A=n.useCallback((function(e){h.current=e}),[]),R=n.useMemo((function(){return{start:C,stop:k,ready:v,canvasRef:d,onPredictionMade:A}}),[A,v,C,k]);return u.createElement(od.Provider,{value:R},i)},ld={videoWidth:0,videoHeight:0,capturing:!1,captured:!1,captureFailed:!1,frame:null,faces:[],faceNotCentered:!1,faceLookingAway:!1,faceTooClose:!1,faceTooFar:!1,faceReady:!1,faceReadyAt:null,goodFramesCount:0,goodFramesThreshold:1,goodFramesThresholdMet:!1},cd=function(e,t){switch(t.type){case"configure":return p(p({},e),{videoWidth:t.payload.videoWidth,videoHeight:t.payload.videoHeight});case"capturing":return p(p({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return p(p({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return p(p({},e),{capturing:!1,captured:!1,captureFailed:!0});case"facesDetected":var n=t.payload.faces,r=n[0],i=!0,a=!1,o=!1,s=!1,l=e.faceReadyAt,c=e.goodFramesCount;if(r){var u=e.videoHeight/2,d=(r.box.xMin+r.box.xMax)/2,h=(r.box.yMin+r.box.yMax)/2,f=.125*e.videoWidth,g=.125*e.videoHeight,m=.2*r.box.width,v=.2*r.box.height,y=r.keypoints[2];y&&(i=Math.abs(e.videoWidth/2-d)>f||Math.abs(u+50-h)>g,a=Math.abs(d-y.x)>m||Math.abs(h-y.y)>v);var b=Ct()?2:4.5,w=Ct()?6:7;o=r.box.width>e.videoWidth/b,s=r.box.width<e.videoWidth/w}var x=!(i||a||o||s);return x?e.faceReady||(l=new Date):(l=null,c=0),p(p({},e),{faces:n,faceNotCentered:i,faceLookingAway:a,faceTooClose:o,faceTooFar:s,faceReady:x,faceReadyAt:l,goodFramesCount:c})}},ud=function(e){var t,r,i,a=e.onGuidanceSatisfied,o=e.onGuidanceNotSatisfied,s=e.onSelfieCaptured,l=e.onTimeout,u=e.timeoutDurationMs,d=void 0===u?15e3:u,h=e.guidanceMessage,f=e.verbiage,p=void 0===f?{}:f,v=e.debugMode,y=ye().t,b=Et(),w=b.ref,x=b.width,E=void 0===x?1:x,T=b.height,S=void 0===T?1:T,C=n.useReducer(cd,ld),k=C[0],A=C[1],R=n.useContext(Nt),_=R.cameraRef,I=R.cameraReady,D=R.takePhoto,F=R.videoRef,L=n.useContext(od).onPredictionMade;n.useEffect((function(){I&&F.current&&0!==F.current.videoWidth&&A({type:"configure",payload:{videoWidth:F.current.videoWidth,videoHeight:F.current.videoHeight}})}),[I,F]),n.useEffect((function(){L((function(e){A({type:"facesDetected",payload:{faces:e}})}))}),[L]);var N=n.useState(!1),M=N[0],P=N[1];n.useEffect((function(){var e;return k.faceReady?(null==a||a(),e=setTimeout((function(){P(!0)}),500)):null==o||o(),function(){e&&clearTimeout(e)}}),[o,a,k.faceReady]),n.useEffect((function(){g(void 0,void 0,void 0,(function(){var e,t;return m(this,(function(n){switch(n.label){case 0:return M&&k.faces.length>0?[4,D()]:[3,5];case 1:return(e=n.sent())?null!=s?[3,2]:[3,4]:[3,5];case 2:return t=s,[4,createImageBitmap(e)];case 3:t.apply(void 0,[n.sent(),k.faces[0]]),n.label=4;case 4:n.label=5;case 5:return[2]}}))}))}),[M,s,k.faces,D]);var O=n.useState(),B=O[0],U=O[1],$=n.useState(!1),G=$[0],j=$[1];return n.useEffect((function(){if(d){U(new Date);var e=setTimeout((function(){j(!0)}),d);return function(){e&&clearTimeout(e)}}}),[d]),n.useEffect((function(){G&&(null==l||l())}),[l,G]),h||(p.guidanceHoldStillText=p.guidanceHoldStillText||y("Hold still for a few seconds..."),p.guidanceLookStraightText=p.guidanceLookStraightText||y("Look straight into the camera..."),p.guidanceMoveBackText=p.guidanceMoveBackText||y("Move back..."),p.guidanceMoveForwardText=p.guidanceMoveForwardText||y("Move forward..."),p.guidanceMoveToCenterText=p.guidanceMoveToCenterText||y("Move to the center..."),h=k.faceReady?p.guidanceHoldStillText:k.faceLookingAway?p.guidanceLookStraightText:k.faceTooClose?p.guidanceMoveBackText:k.faceTooFar?p.guidanceMoveForwardText:k.faceNotCentered?p.guidanceMoveToCenterText:""),c.default.createElement(Ze,{ref:w,className:"flex"},c.default.createElement(Vt,null),c.default.createElement(Xt,{borderColor:k.faceReady?"green":"white"}),""!==h&&c.default.createElement("div",{style:{position:"absolute",top:"calc(10vh)",fontWeight:"bold",width:"100%",display:"flex"}},c.default.createElement("div",{style:{marginLeft:"auto",marginRight:"auto",background:k.faceReady?"green":"red",color:"white",padding:"10px 12px 8px",borderRadius:8}},h)),v&&k.faces.length>0&&c.default.createElement("div",{style:{position:"absolute",zIndex:1001,width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%",transform:(null===(t=_.current)||void 0===t?void 0:t.isRearFacing)?"":"scaleX(-1)",overflow:"hidden"}},k.faces.map((function(e,t){var n,r=E/S,i=k.videoWidth/k.videoHeight,a=e.box.xMin/k.videoWidth,o=e.box.yMin/k.videoHeight,s=e.box.width/k.videoWidth,l=e.box.height/k.videoHeight;if(r<i){var u=k.videoWidth*(S/k.videoHeight);a=a*u-(u-E)/2,o*=S,s*=u,l*=S}else{var d=k.videoHeight*(E/k.videoWidth);a*=E,o=o*d-(d-S)/2,s*=E,l*=d}return c.default.createElement("div",{key:t},c.default.createElement("div",{style:{position:"absolute",left:a,top:o,width:s,height:l,border:"3px solid ".concat(k.faceReady?"green":"red"),font:"10px monospace",transform:(null===(n=_.current)||void 0===n?void 0:n.isRearFacing)?"":"scaleX(-1)"}}),e.keypoints.map((function(e,t){var n,a=e.x/k.videoWidth,o=e.y/k.videoHeight;if(r<i){var s=k.videoWidth*(S/k.videoHeight);a=a*s-(s-E)/2,o*=S}else{var l=k.videoHeight*(E/k.videoWidth);a*=E,o=o*l-(l-S)/2}return c.default.createElement("div",{key:t,style:{position:"absolute",left:a-2,top:o-2,width:4,height:4,border:"2px solid red",font:"10px monospace",color:"green",transform:(null===(n=_.current)||void 0===n?void 0:n.isRearFacing)?"":"scaleX(-1)",borderRadius:"50%"}},t)})))}))),v&&c.default.createElement("span",{style:{fontSize:16,fontFamily:"monospace",position:"absolute",left:20,bottom:20,color:"limegreen",background:"rgba(0,0,0,0.5)",zIndex:1001}},_.current?c.default.createElement(c.default.Fragment,null,"✅ Camera: ",null===(r=_.current)||void 0===r?void 0:r.width,"x",null===(i=_.current)||void 0===i?void 0:i.height):"❌ Camera not ready",c.default.createElement("br",null),k.faceNotCentered?"❌":"✅"," Face Centered",c.default.createElement("br",null),k.faceTooClose||k.faceTooFar?"❌":"✅"," Face"," ",k.faceTooClose?"Too Close":k.faceTooFar?"Too Far":"Distance Correct",c.default.createElement("br",null),k.faceLookingAway?"❌":"✅"," Face Looking Forward",c.default.createElement("br",null),k.goodFramesThresholdMet?"✅":"❌"," ",k.goodFramesCount," ","Good Frames",c.default.createElement("br",null),G?"❌":"✅"," Time Remaining:"," ",Math.max(0,d-((new Date).getTime()-(null!=B?B:new Date).getTime())),"ms"))};function dd(e,t){var n=document.createElement("canvas"),r=n.getContext("2d");if(!r)throw new Error("could not get 2d context");var i=t.box,a=i.width,o=.6*e.height-a,s=Math.max(0,i.xMin-o/2);return Ct()?(n.width=e.width,n.height=e.height,r.drawImage(e,0,0,n.width,n.height)):(n.width=a+o,n.height=e.height,r.drawImage(e,s,0,n.width,n.height,0,0,n.width,n.height)),n.toDataURL("image/jpeg",.92)}var hd,fd={frame:null,face:null,requestState:"NOT_READY",requestError:null,imageUrl:null,faceLive:!1,eyeCoveringDetected:!1,maskDetected:!1,headCoveringDetected:!1,phoneDetected:!1,timesLivenessCheckFailed:0},pd=function(e,t){switch(t.type){case"livenessReady":return["NOT_READY","FAILED","ERROR"].includes(e.requestState)?p(p({},e),{requestState:"READY",frame:t.payload.frame,face:t.payload.face}):e;case"livenessChecking":return p(p({},e),{requestState:"IN_PROGRESS"});case"livenessChecked":var n=t.payload.response,r=n.status,i=r.statusMessage,a=r.errorData,o=n.resultData;if("000"!==r.statusCode)return p(p({},e),{requestState:"ERROR",requestError:new Error("".concat(i,": ").concat(a))});var s="Live Face Detected"===o.verificationResult,l="true"===o.eyeCovering,c="true"===o.faceMask,u="true"===o.headCovering,d="true"===o.cellPhone,h=s&&!l&&!c&&!u,f=h?"PASSED":"FAILED",g=e.timesLivenessCheckFailed;return h?g=0:g+=1,p(p({},e),{frame:t.payload.frame,face:t.payload.face,imageUrl:t.payload.imageUrl,requestState:f,faceLive:s,eyeCoveringDetected:l,maskDetected:c,headCoveringDetected:u,phoneDetected:d,timesLivenessCheckFailed:g});case"livenessCheckFailed":return p(p({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},gd=function(e){var t=e.onCapture,r=e.onSuccess,i=e.onTimeout,a=e.timeoutDurationMs,o=void 0===a?15e3:a,s=e.verbiage,l=void 0===s?{}:s,u=e.debugMode,d=ye().t,h=n.useContext(qe).checkLiveness,f=n.useReducer(pd,fd),p=f[0],v=f[1],y=n.useCallback((function(e,n){null==t||t(),v({type:"livenessReady",payload:{frame:e,face:n}})}),[t]),b=p.frame,w=p.face,x="READY"===p.requestState,E="PASSED"===p.requestState;return n.useEffect((function(){b&&w&&x&&(v({type:"livenessChecking"}),g(void 0,void 0,void 0,(function(){var e,t,n,r;return m(this,(function(i){switch(i.label){case 0:return i.trys.push([0,3,,4]),e=dd(b,w),n=h,[4,We(e)];case 1:return[4,n.apply(void 0,[i.sent()])];case 2:return t=i.sent(),v({type:"livenessChecked",payload:{frame:b,face:w,imageUrl:e,response:t}}),[3,4];case 3:return r=i.sent(),v({type:"livenessCheckFailed",payload:{error:r}}),[3,4];case 4:return[2]}}))})))}),[h,w,b,x]),n.useEffect((function(){E&&p.imageUrl&&(null==r||r(p.imageUrl))}),[r,p.imageUrl,E]),n.useEffect((function(){p.timesLivenessCheckFailed>=2&&(null==i||i())}),[i,p.timesLivenessCheckFailed]),l.guidanceRemoveEyeCoveringsText=l.guidanceRemoveEyeCoveringsText||d("Please remove your eye coverings (sunglasses, eye patch, etc.)..."),l.guidanceRemoveHeadCoveringsText=l.guidanceRemoveHeadCoveringsText||d("Please remove your head coverings (hat, scarf, etc.)..."),l.guidanceRemoveMaskText=l.guidanceRemoveMaskText||d("Please remove your mask..."),c.default.createElement(ud,{onSelfieCaptured:y,onTimeout:i,timeoutDurationMs:o,guidanceMessage:p.eyeCoveringDetected?l.guidanceRemoveEyeCoveringsText:p.headCoveringDetected?l.guidanceRemoveHeadCoveringsText:p.maskDetected?l.guidanceRemoveMaskText:void 0,verbiage:l,debugMode:u})},md=function(e){var t=e.headingText,r=e.removeEyeCoveringsText,i=e.avoidExcessiveBacklightingText,a=e.continueText,o=e.cameraInitializingText,s=e.modelsWarmingUpText,l=e.instructionImageUrl,u=e.onDismissed,d=ye().t,h=n.useRef(null),f=n.useRef(null),p=n.useContext(Nt).cameraReady,g=n.useContext(od).ready,m=n.useState(!1),v=m[0],y=m[1];return n.useEffect((function(){if(h.current){f.current=pt(h.current),f.current.start();var e=0,t=setInterval((function(){var t;e<.9&&(e+=.1),null===(t=f.current)||void 0===t||t.setProgress(e)}),250);return function(){var e;null===(e=f.current)||void 0===e||e.remove(),clearInterval(t)}}}),[]),n.useEffect((function(){var e;g&&p&&(null===(e=f.current)||void 0===e||e.stop())}),[p,g]),v?c.default.createElement(c.default.Fragment,null):(l=l||"".concat(Ut,"/Selfie-Image-1.png"),t=t||d("Use your device camera to capture your face"),r=r||d("Remove Sunglasses & Hat"),i=i||d("Avoid Excessive Backlighting"),a=a||d("Continue"),o=o||d("Camera initializing..."),s=s||d("Models warming up..."),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("div",{style:{flexGrow:0}},c.default.createElement("h3",{style:{marginBottom:18}},t),c.default.createElement("div",{style:{background:"#ccc",maxWidth:"280px",margin:"0 auto 12px",borderRadius:8,lineHeight:1.5,padding:"12px 24px"}},r,c.default.createElement("br",null),i)),c.default.createElement(at,null,c.default.createElement("img",{alt:t,src:l,style:{position:"relative",top:"5%"}})),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"mint",disabled:!p||!g,ref:h,onClick:function(){y(!0),null==u||u()}},c.default.createElement("span",{className:"ladda-label"},p&&g?a:g?o:s)),c.default.createElement("div",{style:{display:"none"}},c.default.createElement(Vt,null)))))},vd=function(e){var t=e.headingText,n=e.retryBtnText,r=e.doneBtnText,i=e.imageUrl,a=e.onDoneClick,o=e.onRetryClick,s=ye().t;return t=t||s("Face liveness has been verified!"),n=n||s("Retry"),r=r||s("Done"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",{style:{marginBottom:24}},t),c.default.createElement(at,null,c.default.createElement("img",{alt:t,src:i})),c.default.createElement("div",null,c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:o},c.default.createElement("span",{className:"ladda-label"},n)),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"mint",onClick:a,style:{marginLeft:15}},c.default.createElement("span",{className:"ladda-label"},r)))))},yd=function(e){var t=e.headingText,n=e.retryBtnText,r=e.exitBtnText,i=e.imageUrl,a=e.canRetry,o=void 0===a||a,s=e.onRetryClick,l=e.onExitClick,u=ye().t;return i=i||"".concat(Ut,"/manual_capture.png"),t=t||u("Live face not detected, please try again"),n=n||u("Retry"),r=r||u("Exit"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",{style:{marginBottom:24}},t),c.default.createElement(at,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:t,src:i})),c.default.createElement("div",{style:{marginTop:24}},o&&c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:s,style:{marginRight:15}},c.default.createElement("span",{className:"ladda-label"},n)),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"black",onClick:l},c.default.createElement("span",{className:"ladda-label"},r)))))},bd=function(e){var t=e.onComplete,r=e.onSuccess,i=e.onTimeout,a=e.onExitAfterFailure,o=e.timeoutDurationMs,s=void 0===o?15e3:o,l=e.maxRetries,u=void 0===l?2:l,d=e.debugMode,h=void 0!==d&&d,f=e.verbiage,p=void 0===f?{}:f,v=e.assets,y=void 0===v?{}:v,b=n.useContext(qe),w=b.submissionResponse,x=b.setSelfieImage,E=b.logSelfieCaptureAttempt,T=n.useContext(Nt).releaseCameraAccess,S=n.useState(""),C=S[0],k=S[1],A=n.useState(0),R=A[0],_=A[1],I=n.useState("LOADING"),D=I[0],F=I[1],L=n.useRef(),N=n.useRef(),M=n.useRef();n.useEffect((function(){M.current=new Date}),[]),n.useEffect((function(){"CAPTURING"===D&&(L.current=new Date)}),[D]);var P=n.useCallback((function(){N.current=new Date}),[]),O=n.useCallback((function(){var e,t,n;E({autoCapture:"Y",captureTime:(null!==(e=N.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=L.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=M.current)&&void 0!==n?n:new Date).getTime()}),M.current=new Date}),[E]),B=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){var t;return m(this,(function(n){switch(n.label){case 0:return F("SUCCESS"),k(e),t=x,[4,We(e)];case 1:return t.apply(void 0,[n.sent()]),null==r||r(w),[2]}}))}))}),[r,x,w]),U=n.useCallback((function(){F("FAILED"),null==i||i(w)}),[i,w]);return c.default.createElement(c.default.Fragment,null,"LOADING"!==D&&function(){switch(D){case"CAPTURING":return c.default.createElement(gd,{key:"capture",onCapture:P,onSuccess:B,onTimeout:U,timeoutDurationMs:s,verbiage:p,debugMode:h});case"SUCCESS":return c.default.createElement(vd,{key:"success",headingText:p.successHeadingText,retryBtnText:p.successRetryBtnText,doneBtnText:p.successDoneBtnText,imageUrl:C,onDoneClick:function(){O(),T(),setTimeout((function(){null==t||t(w)}),0)},onRetryClick:function(){O(),F("CAPTURING")}});case"FAILED":return c.default.createElement(yd,{key:"failure",headingText:p.failureHeadingText,retryBtnText:p.failureRetryBtnText,exitBtnText:p.failureExitBtnText,imageUrl:y.failureImageUrl,canRetry:u>-1&&R<u,onRetryClick:function(){O(),_((function(e){return e+1})),F("CAPTURING")},onExitClick:function(){T(),setTimeout((function(){null==a||a(w)}),0)}});default:return null}}(),c.default.createElement(md,{headingText:p.loadingOverlayHeadingText,removeEyeCoveringsText:p.loadingOverlayRemoveEyeCoveringsText,avoidExcessiveBacklightingText:p.loadingOverlayAvoidExcessiveBacklightingText,continueText:p.loadingOverlayContinueText,cameraInitializingText:p.loadingOverlayCameraInitializingText,modelsWarmingUpText:p.loadingOverlayModelsWarmingUpText,instructionImageUrl:y.instructionImageUrl,onDismissed:function(){F("CAPTURING")}}))};function wd(e){return g(this,void 0,void 0,(function(){var t,n,r,i,a,o,s,l,c;return m(this,(function(u){switch(u.label){case 0:return hd?[2,hd]:[4,f.loadLayersModel(e)];case 1:return hd=u.sent(),[4,f.ready()];case 2:return u.sent(),t=f.zeros([448,448,3]),n=f.cast(t,"int32"),a=(i=f).tensor4d,s=(o=Array).from,[4,n.data()];case 3:return r=a.apply(i,[s.apply(o,[u.sent()]),[1,448,448,3]]),l=f.cast(r,"int32"),[4,hd.predict(l)];case 4:return[4,(c=u.sent()).data()];case 5:return u.sent(),f.dispose(c),n.dispose(),l.dispose(),r.dispose(),f.dispose(t),[2,hd]}}))}))}class xd{refCount(e){return Ed("refCount")}incRef(e){return Ed("incRef")}timerAvailable(){return!0}time(e){return Ed("time")}read(e){return Ed("read")}readSync(e){return Ed("readSync")}readToGPU(e,t){return Ed("readToGPU")}numDataIds(){return Ed("numDataIds")}disposeData(e,t){return Ed("disposeData")}write(e,t,n){return Ed("write")}move(e,t,n,r,i){return Ed("move")}createTensorFromGPUData(e,t,n){return Ed("createTensorFromGPUData")}memory(){return Ed("memory")}floatPrecision(){return Ed("floatPrecision")}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}dispose(){return Ed("dispose")}}function Ed(e){throw new Error(`'${e}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function Td(e,t){if(!e)throw new Error("string"==typeof t?t:t())}function Sd(e){if(0===e.length)return 1;let t=e[0];for(let n=1;n<e.length;n++)t*=e[n];return t}function Cd(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function kd(e,t){return t<=e.length?e:e+" ".repeat(t-e.length)}function Ad(e){if("float32"===e||"int32"===e)return 4;if("complex64"===e)return 8;if("bool"===e)return 1;throw new Error(`Unknown dtype ${e}`)}function Rd(e){return"string"==typeof e||e instanceof String}function _d(e){return Array.isArray(e)?_d(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray?"int32":"number"==typeof e?"float32":Rd(e)?"string":function(e){return"boolean"==typeof e}(e)?"bool":"float32"}function Id(e){return!!(e&&e.constructor&&e.call&&e.apply)}function Dd(e){const t=e.length;if(t<2)return[];const n=new Array(t-1);n[t-2]=e[t-1];for(let r=t-3;r>=0;--r)n[r]=n[r+1]*e[r+1];return n}function Fd(e,t,n,r=!1){const i=new Array;if(1===t.length){const a=t[0]*(r?2:1);for(let t=0;t<a;t++)i[t]=n[e+t]}else{const a=t[0],o=t.slice(1),s=o.reduce(((e,t)=>e*t))*(r?2:1);for(let t=0;t<a;t++)i[t]=Fd(e+t*s,o,n,r)}return i}function Ld(e,t,n=!1){if(0===e.length)return t[0];const r=e.reduce(((e,t)=>e*t))*(n?2:1);if(0===r)return[];if(r!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}${n?" for a complex tensor":""}.`);return Fd(0,e,t,n)}function Nd(e,t){if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t)return new Uint8Array(e);throw new Error(`Unknown data type ${t}`)}function Md(e){e.forEach((t=>{Td(Number.isInteger(t)&&t>=0,(()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`))}))}function Pd(e){return e&&e.then&&"function"==typeof e.then}const Od="tfjsflags";class Bd{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.getQueryParams=Ud,this.populateURLFlags()}setPlatform(e,t){null!=this.platform&&($d().getBool("IS_TEST")||$d().getBool("PROD")||console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${e}.`)),this.platformName=e,this.platform=t}registerFlag(e,t,n){if(this.flagRegistry[e]={evaluationFn:t,setHook:n},null!=this.urlFlags[e]){const t=this.urlFlags[e];$d().getBool("IS_TEST")||$d().getBool("PROD")||console.warn(`Setting feature override from URL ${e}: ${t}.`),this.set(e,t)}}async getAsync(e){return e in this.flags||(this.flags[e]=await this.evaluateFlag(e)),this.flags[e]}get(e){if(e in this.flags)return this.flags[e];const t=this.evaluateFlag(e);if(Pd(t))throw new Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);return this.flags[e]=t,this.flags[e]}getNumber(e){return this.get(e)}getBool(e){return this.get(e)}getString(e){return this.get(e)}getFlags(){return this.flags}get features(){return this.flags}set(e,t){if(null==this.flagRegistry[e])throw new Error(`Cannot set flag ${e} as it has not been registered.`);this.flags[e]=t,null!=this.flagRegistry[e].setHook&&this.flagRegistry[e].setHook(t)}evaluateFlag(e){if(null==this.flagRegistry[e])throw new Error(`Cannot evaluate flag '${e}': no evaluation function found.`);return this.flagRegistry[e].evaluationFn()}setFlags(e){this.flags=Object.assign({},e)}reset(){this.flags={},this.urlFlags={},this.populateURLFlags()}populateURLFlags(){if(void 0===this.global||void 0===this.global.location||void 0===this.global.location.search)return;const e=this.getQueryParams(this.global.location.search);if(Od in e){e[Od].split(",").forEach((e=>{const[t,n]=e.split(":");this.urlFlags[t]=function(e,t){const n=t.toLowerCase();return"true"===n||"false"===n?"true"===n:""+ +n===n?+n:t}(0,n)}))}}}function Ud(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,((e,...n)=>(function(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||"")}(t,n[0],n[1]),n.join("=")))),t}function $d(){return jd}let Gd,jd=null;function zd(){if(null==Gd){let e;if("undefined"!=typeof window)e=window;else if("undefined"!=typeof global)e=global;else if("undefined"!=typeof process)e=process;else{if("undefined"==typeof self)throw new Error("Could not find a global object");e=self}Gd=e}return Gd}function qd(e,t){const n=function(){const e=zd();return null==e._tfGlobals&&(e._tfGlobals=new Map),e._tfGlobals}();if(n.has(e))return n.get(e);{const r=t();return n.set(e,r),n.get(e)}}const Vd="Add",Hd="Cast",Wd="Identity";function Kd(...e){$d().getBool("IS_TEST")||$d().getBool("PROD")||console.warn(...e)}const Yd=qd("kernelRegistry",(()=>new Map)),Xd=qd("gradRegistry",(()=>new Map));function Jd(e,t){const n=function(e,t){return`${t}_${e}`}(e,t);return Yd.get(n)}function Zd(e){return Xd.get(e)}function Qd(e){const t=Yd.entries(),n=[];for(;;){const{done:r,value:i}=t.next();if(r)break;const[a,o]=i,[s]=a.split("_");s===e&&n.push(o)}return n}function eh(e){return e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray}function th(e,t){if("string"===t)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=ah(e)),$d().getBool("DEBUG")&&function(e,t){for(let n=0;n<e.length;n++){const r=e[n];if(isNaN(r)||!isFinite(r))throw Error(`A tensor of type ${t} being uploaded contains ${r}.`)}}(e,t),function(e,t){return e instanceof Float32Array&&"float32"===t||e instanceof Int32Array&&"int32"===t||e instanceof Uint8Array&&"bool"===t}(e,t))return e;if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t){const t=new Uint8Array(e.length);for(let n=0;n<t.length;++n)0!==Math.round(e[n])&&(t[n]=1);return t}throw new Error(`Unknown data type ${t}`)}function nh(){return $d().platform.now()}function rh(e,t="utf-8"){return t=t||"utf-8",$d().platform.decode(e,t)}function ih(e){return null!=$d().platform.isTypedArray?$d().platform.isTypedArray(e):eh(e)}function ah(e,t=[],n=!1){if(null==t&&(t=[]),"boolean"==typeof e||"number"==typeof e||"string"==typeof e||Pd(e)||null==e||ih(e)&&n)t.push(e);else if(Array.isArray(e)||ih(e))for(let r=0;r<e.length;++r)ah(e[r],t,n);else{let r=-1;for(const t of Object.keys(e))/^([1-9]+[0-9]*|0)$/.test(t)&&(r=Math.max(r,Number(t)));for(let i=0;i<=r;i++)ah(e[i],t,n)}return t}class oh{constructor(e,t){this.backendTimer=e,this.logger=t,null==t&&(this.logger=new lh)}profileKernel(e,t,n){let r;const i=()=>{r=n()};let a;const o=nh();if(this.backendTimer.timerAvailable())a=this.backendTimer.time(i);else{i();for(const e of r)e.dataSync();a=Promise.resolve({kernelMs:nh()-o})}if($d().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let t=0;t<r.length;t++){const n=r[t];n.data().then((t=>{sh(t,n.dtype,e)}))}return{kernelName:e,outputs:r,inputs:t,timeMs:a.then((e=>e.kernelMs)),extraInfo:a.then((e=>null!=e.getExtraProfileInfo?e.getExtraProfileInfo():""))}}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:i,extraInfo:a}=e;n.forEach((e=>{Promise.all([e.data(),r,a]).then((n=>{this.logger.logKernelProfile(t,e,n[0],n[1],i,n[2])}))}))}}function sh(e,t,n){if("float32"!==t)return!1;for(let t=0;t<e.length;t++){const r=e[t];if(isNaN(r)||!isFinite(r))return console.warn(`Found ${r} in the result of '${n}'`),!0}return!1}class lh{logKernelProfile(e,t,n,r,i,a){const o="number"==typeof r?kd(`${r}ms`,9):r.error,s=kd(e,25),l=t.rank,c=t.size,u=kd(t.shape.toString(),14);let d="";for(const e in i){const n=i[e];if(null!=n){const r=n.shape||t.shape,i=r.length;d+=`${e}: ${i}D ${i>0?r:""} `}}console.log(`%c${s}\t%c${o}\t%c${l}D ${u}\t%c${c}\t%c${d}\t%c${a}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}const ch=20,uh=3,dh=7;function hh(e,t,n,r){const i=Dd(t),a=function(e,t,n,r){const i=Sd(t),a=r[r.length-1],o=new Array(a).fill(0),s=t.length,l="complex64"===n?mh(e):e;if(s>1)for(let e=0;e<i/a;e++){const t=e*a;for(let e=0;e<a;e++)o[e]=Math.max(o[e],fh(l[t+e],0,n).length)}return o}(e,t,n,i),o=t.length,s=gh(e,t,n,i,a),l=["Tensor"];return r&&(l.push(` dtype: ${n}`),l.push(` rank: ${o}`),l.push(` shape: [${t}]`),l.push(" values:")),l.push(s.map((e=>" "+e)).join("\n")),l.join("\n")}function fh(e,t,n){let r;return r=Array.isArray(e)?`${parseFloat(e[0].toFixed(dh))} + ${parseFloat(e[1].toFixed(dh))}j`:Rd(e)?`'${e}'`:"bool"===n?ph(e):parseFloat(e.toFixed(dh)).toString(),kd(r,t)}function ph(e){return 0===e?"false":"true"}function gh(e,t,n,r,i,a=!0){const o="complex64"===n?2:1,s=t[0],l=t.length;if(0===l){if("complex64"===n){return[fh(mh(e)[0],0,n)]}return"bool"===n?[ph(e[0])]:[e[0].toString()]}if(1===l){if(s>ch){let t=Array.from(e.slice(0,uh*o)),r=Array.from(e.slice((s-uh)*o,s*o));return"complex64"===n&&(t=mh(t),r=mh(r)),["["+t.map(((e,t)=>fh(e,i[t],n))).join(", ")+", ..., "+r.map(((e,t)=>fh(e,i[s-uh+t],n))).join(", ")+"]"]}return["["+("complex64"===n?mh(e):Array.from(e)).map(((e,t)=>fh(e,i[t],n))).join(", ")+"]"]}const c=t.slice(1),u=r.slice(1),d=r[0]*o,h=[];if(s>ch){for(let t=0;t<uh;t++){const r=t*d;h.push(...gh(e.slice(r,r+d),c,n,u,i,!1))}h.push("...");for(let t=s-uh;t<s;t++){const r=t*d;h.push(...gh(e.slice(r,r+d),c,n,u,i,t===s-1))}}else for(let t=0;t<s;t++){const r=t*d;h.push(...gh(e.slice(r,r+d),c,n,u,i,t===s-1))}const f=2===l?",":"";h[0]="["+(s>0?h[0]+f:"");for(let e=1;e<h.length-1;e++)h[e]=" "+h[e]+f;let p=",\n";for(let e=2;e<l;e++)p+="\n";return h[h.length-1]=" "+h[h.length-1]+"]"+(a?"":p),h}function mh(e){const t=[];for(let n=0;n<e.length;n+=2)t.push([e[n],e[n+1]]);return t}class vh{constructor(e,t,n){if(this.dtype=t,this.shape=e.slice(),this.size=Sd(e),null!=n){const e=n.length;Td(e===this.size,(()=>`Length of values '${e}' does not match the size inferred by the shape '${this.size}'.`))}if("complex64"===t)throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||function(e,t){let n=null;if(null==e||"float32"===e)n=new Float32Array(t);else if("int32"===e)n=new Int32Array(t);else if("bool"===e)n=new Uint8Array(t);else{if("string"!==e)throw new Error(`Unknown data type ${e}`);n=new Array(t)}return n}(t,this.size),this.strides=Dd(e)}set(e,...t){0===t.length&&(t=[0]),Td(t.length===this.rank,(()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`));const n=this.locToIndex(t);this.values[n]=e}get(...e){0===e.length&&(e=[0]);let t=0;for(const n of e){if(n<0||n>=this.shape[t]){throw new Error(`Requested out of range element at ${e}. Buffer shape=${this.shape}`)}t++}let n=e[e.length-1];for(let t=0;t<e.length-1;++t)n+=this.strides[t]*e[t];return this.values[n]}locToIndex(e){if(0===this.rank)return 0;if(1===this.rank)return e[0];let t=e[e.length-1];for(let n=0;n<e.length-1;++n)t+=this.strides[n]*e[n];return t}indexToLoc(e){if(0===this.rank)return[];if(1===this.rank)return[e];const t=new Array(this.shape.length);for(let n=0;n<t.length-1;++n)t[n]=Math.floor(e/this.strides[n]),e-=t[n]*this.strides[n];return t[t.length-1]=e,t}get rank(){return this.shape.length}toTensor(){return yh().makeTensor(this.values,this.shape,this.dtype)}}let yh=null,bh=null;class wh{constructor(e,t,n,r){this.kept=!1,this.isDisposedInternal=!1,this.shape=e.slice(),this.dtype=t||"float32",this.size=Sd(e),this.strides=Dd(e),this.dataId=n,this.id=r,this.rankType=this.rank<5?this.rank.toString():"higher"}get rank(){return this.shape.length}async buffer(){const e=await this.data();return bh.buffer(this.shape,this.dtype,e)}bufferSync(){return bh.buffer(this.shape,this.dtype,this.dataSync())}async array(){const e=await this.data();return Ld(this.shape,e,"complex64"===this.dtype)}arraySync(){return Ld(this.shape,this.dataSync(),"complex64"===this.dtype)}async data(){this.throwIfDisposed();const e=yh().read(this.dataId);if("string"===this.dtype){const t=await e;try{return t.map((e=>rh(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataToGPU(e){return this.throwIfDisposed(),yh().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();const e=yh().readSync(this.dataId);if("string"===this.dtype)try{return e.map((e=>rh(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();const e=await yh().read(this.dataId);return"string"===this.dtype?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(yh().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return bh.print(this,e)}clone(){return this.throwIfDisposed(),bh.clone(this)}toString(e=!1){return hh(this.dataSync(),this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),bh.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),yh().makeVariable(this,e,t,n)}}Object.defineProperty(wh,Symbol.hasInstance,{value:e=>!!e&&null!=e.data&&null!=e.dataSync&&null!=e.throwIfDisposed}),qd("Tensor",(()=>wh));class xh extends wh{constructor(e,t,n,r){super(e.shape,e.dtype,e.dataId,r),this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!Cd(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);yh().disposeTensor(this),this.dataId=e.dataId,yh().incRef(this,null)}dispose(){yh().disposeVariable(this),this.isDisposedInternal=!0}}var Eh,Th,Sh,Ch,kh;Object.defineProperty(xh,Symbol.hasInstance,{value:e=>e instanceof wh&&null!=e.assign&&e.assign instanceof Function}),function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"}(Eh||(Eh={})),function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"}(Th||(Th={})),function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"}(Sh||(Sh={})),function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"}(Ch||(Ch={})),function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"}(kh||(kh={}));const Ah={float32:Ch,int32:Th,bool:Sh,complex64:kh};function Rh(e){return null!=e&&"object"==typeof e&&"texture"in e&&e.texture instanceof WebGLTexture}function _h(e){return"undefined"!=typeof GPUBuffer&&null!=e&&"object"==typeof e&&"buffer"in e&&e.buffer instanceof GPUBuffer}function Ih(e,t){if(e.dtype===t.dtype)return[e,t];const n=function(e,t){if("string"===e||"string"===t){if("string"===e&&"string"===t)return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return Ah[e][t]}(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function Dh(e){const t=[];return Fh(e,t,new Set),t}function Fh(e,t,n){if(null==e)return;if(e instanceof wh)return void t.push(e);if(r=e,!Array.isArray(r)&&"object"!=typeof r)return;var r;const i=e;for(const e in i){const r=i[e];n.has(r)||(n.add(r),Fh(r,t,n))}}function Lh(e){return null!=e.kernelName}class Nh{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map((e=>e.name))))}}}dispose(){for(const e in this.registeredVariables)this.registeredVariables[e].dispose()}}class Mh{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new Nh}async ready(){if(null!=this.pendingBackendInit)return this.pendingBackendInit.then((()=>{}));if(null!=this.backendInstance)return;const e=this.getSortedBackends();for(let t=0;t<e.length;t++){const n=e[t];if(await this.initializeBackend(n).success)return void await this.setBackend(n)}throw new Error("Could not initialize any backends, all backend initializations failed.")}get backend(){if(null!=this.pendingBackendInit)throw new Error(`Backend '${this.backendName}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);if(null==this.backendInstance){const{name:e,asyncInit:t}=this.initializeBackendsAndReturnBest();if(t)throw new Error(`The highest priority backend '${e}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);this.setBackend(e)}return this.backendInstance}backendNames(){return Object.keys(this.registryFactory)}findBackend(e){if(!(e in this.registry)){if(!(e in this.registryFactory))return null;{const{asyncInit:t}=this.initializeBackend(e);if(t)return null}}return this.registry[e]}findBackendFactory(e){return e in this.registryFactory?this.registryFactory[e].factory:null}registerBackend(e,t,n=1){return e in this.registryFactory?(Kd(`${e} backend was already registered. Reusing existing backend factory.`),!1):(this.registryFactory[e]={factory:t,priority:n},!0)}async setBackend(e){if(null==this.registryFactory[e])throw new Error(`Backend name '${e}' not found in registry`);if(this.backendName=e,null==this.registry[e]){this.backendInstance=null;const{success:t,asyncInit:n}=this.initializeBackend(e);if(!(n?await t:t))return!1}return this.backendInstance=this.registry[e],this.setupRegisteredKernels(),this.profiler=new oh(this.backendInstance),!0}setupRegisteredKernels(){Qd(this.backendName).forEach((e=>{null!=e.setupFunc&&e.setupFunc(this.backendInstance)}))}disposeRegisteredKernels(e){Qd(e).forEach((t=>{null!=t.disposeFunc&&t.disposeFunc(this.registry[e])}))}initializeBackend(e){const t=this.registryFactory[e];if(null==t)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{const n=t.factory();if(!n||n instanceof xd||"function"!=typeof n.then)return this.registry[e]=n,{success:!0,asyncInit:!1};{const t=++this.pendingBackendInitId,r=n.then((n=>!(t<this.pendingBackendInitId)&&(this.registry[e]=n,this.pendingBackendInit=null,!0))).catch((n=>(t<this.pendingBackendInitId||(this.pendingBackendInit=null,Kd(`Initialization of backend ${e} failed`),Kd(n.stack||n.message)),!1)));return this.pendingBackendInit=r,{success:r,asyncInit:!0}}}catch(t){return Kd(`Initialization of backend ${e} failed`),Kd(t.stack||t.message),{success:!1,asyncInit:!1}}}removeBackend(e){if(!(e in this.registryFactory))throw new Error(`${e} backend not found in registry`);this.backendName===e&&null!=this.pendingBackendInit&&this.pendingBackendInitId++,e in this.registry&&(this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e]),delete this.registryFactory[e],this.backendName===e&&(this.pendingBackendInit=null,this.backendName=null,this.backendInstance=null)}getSortedBackends(){if(0===Object.keys(this.registryFactory).length)throw new Error("No backend found in registry.");return Object.keys(this.registryFactory).sort(((e,t)=>this.registryFactory[t].priority-this.registryFactory[e].priority))}initializeBackendsAndReturnBest(){const e=this.getSortedBackends();for(let t=0;t<e.length;t++){const n=e[t],{success:r,asyncInit:i}=this.initializeBackend(n);if(i||r)return{name:n,asyncInit:i}}throw new Error("Could not initialize any backends, all backend initializations failed.")}moveData(e,t){const n=this.state.tensorInfo.get(t),r=n.backend,i=this.readSync(t),a=r.refCount(t);r.disposeData(t,!0),n.backend=e,e.move(t,i,n.shape,n.dtype,a),this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack[this.state.numDataMovesStack.length-1]++}tidy(e,t){let n,r=null;if(null==t){if("function"!=typeof e)throw new Error("Please provide a function to tidy()");t=e}else{if("string"!=typeof e&&!(e instanceof String))throw new Error("When calling with two arguments, the first argument to tidy() must be a string");if("function"!=typeof t)throw new Error("When calling with two arguments, the 2nd argument to tidy() must be a function");r=e}return this.scopedRun((()=>this.startScope(r)),(()=>this.endScope(n)),(()=>(n=t(),n instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),n)))}scopedRun(e,t,n){e();try{const e=n();return t(),e}catch(e){throw t(),e}}nextTensorId(){return Mh.nextTensorId++}nextVariableId(){return Mh.nextVariableId++}clone(e){const t=Oh.runKernel(Wd,{x:e});return this.addTapeNode(this.state.activeScope.name,{x:e},[t],(e=>({x:()=>Oh.runKernel(Hd,{x:e},{dtype:"float32"})})),[],{}),t}runKernel(e,t,n){if(!(null!=Jd(e,this.backendName)))throw new Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,n){const r=this.backend.numDataIds();let i=0;n.forEach((e=>{i+="complex64"===e.dtype?3:1}));const a=r-t-i-this.state.numDataMovesStack[this.state.numDataMovesStack.length-1];if(a>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${a} data ids) after running '${e}'`)}runKernelFunc(e){let t,n=[];const r=this.isTapeOn(),i=this.state.numBytes,a=this.state.numTensors;let o,s;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);const l=Lh(e)?e.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(Lh(e)){const{kernelName:t,inputs:i,attrs:a}=e,l=Jd(t,this.backendName);Td(null!=l,(()=>`Cannot find registered kernel '${t}' for backend '${this.backendName}'`)),o=()=>{const e=this.backend.numDataIds();s=l.kernelFunc({inputs:i,attrs:a,backend:this.backend});const o=Array.isArray(s)?s:[s];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(t,e,o);const c=o.map((e=>null!=e.rank?e:this.makeTensorFromTensorInfo(e)));if(r){const e=this.getTensorsForGradient(t,i,c);n=this.saveTensorsForBackwardMode(e)}return c}}else{const{forwardFunc:t}=e,i=e=>{r&&(n=e.map((e=>this.keep(this.clone(e)))))};o=()=>{const e=this.backend.numDataIds();s=this.tidy((()=>t(this.backend,i)));const n=Array.isArray(s)?s:[s];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,e,n),n}}const{inputs:c,attrs:u}=e,d=Lh(e)?null:e.backwardsFunc;let h;return this.scopedRun((()=>this.state.kernelDepth++),(()=>this.state.kernelDepth--),(()=>{this.ENV.getBool("DEBUG")||this.state.profiling?(h=this.profiler.profileKernel(l,c,(()=>o())),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(h),t=h.outputs):t=o()})),r&&this.addTapeNode(l,c,t,d,n,u),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-i,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-a,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(c).map((e=>null!=c[e]?c[e].shape:null)),outputShapes:t.map((e=>e.shape)),kernelTimeMs:h.timeMs,extraInfo:h.extraInfo}),Array.isArray(s)?t:t[0]}saveTensorsForBackwardMode(e){return e.map((e=>this.keep(this.clone(e))))}getTensorsForGradient(e,t,n){const r=Zd(e);if(null!=r){const e=r.inputsToSave||[],i=r.outputsToSave||[];let a;r.saveAllInputs?(Td(Array.isArray(t),(()=>"saveAllInputs is true, expected inputs to be an array.")),a=Object.keys(t).map((e=>t[e]))):a=e.map((e=>t[e]));const o=n.filter(((e,t)=>i[t]));return a.concat(o)}return[]}makeTensor(e,t,n,r){if(null==e)throw new Error("Values passed to engine.makeTensor() are null");r=r||this.backend;let i=e;"string"===(n=n||"float32")&&Rd(e[0])&&(i=e.map((e=>function(e,t="utf-8"){return t=t||"utf-8",$d().platform.encode(e,t)}(e))));const a=r.write(i,t,n),o=new wh(t,n,a,this.nextTensorId());if(this.trackTensor(o,r),"string"===n){const e=this.state.tensorInfo.get(a),t=function(e){if(null==e)return 0;let t=0;return e.forEach((e=>t+=e.length)),t}(i);this.state.numBytes+=t-e.bytes,e.bytes=t}return o}makeTensorFromDataId(e,t,n,r){return this.makeTensorFromTensorInfo({dataId:e,shape:t,dtype:n=n||"float32"},r)}makeTensorFromTensorInfo(e,t){const{dataId:n,shape:r,dtype:i}=e,a=new wh(r,i,n,this.nextTensorId());return this.trackTensor(a,t),a}makeVariable(e,t=!0,n,r){n=n||this.nextVariableId().toString(),null!=r&&r!==e.dtype&&(e=e.cast(r));const i=new xh(e,t,n,this.nextTensorId());if(null!=this.state.registeredVariables[i.name])throw new Error(`Variable with name ${i.name} was already registered`);return this.state.registeredVariables[i.name]=i,this.incRef(i,this.backend),i}trackTensor(e,t){this.state.numTensors++,"string"===e.dtype&&this.state.numStringTensors++;let n=0;"complex64"!==e.dtype&&"string"!==e.dtype&&(n=e.size*Ad(e.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:n})),e instanceof xh||this.track(e)}incRef(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)}removeDataId(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;const t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,"string"===e.dtype&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),"complex64"!==e.dtype&&"string"!==e.dtype){const t=e.size*Ad(e.dtype);this.state.numBytes-=t}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}disposeVariables(){for(const e in this.state.registeredVariables){this.disposeVariable(this.state.registeredVariables[e])}}disposeVariable(e){this.disposeTensor(e),null!=this.state.registeredVariables[e.name]&&delete this.state.registeredVariables[e.name]}memory(){const e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,null==e.reasons&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;const t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map((e=>e.totalBytesSnapshot))),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(const e of this.state.activeProfile.kernels)e.kernelTimeMs=await e.kernelTimeMs,e.extraInfo=await e.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&0===this.state.kernelDepth}addTapeNode(e,t,n,r,i,a){const o={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:i},s=Zd(e);null!=s&&(r=s.gradFunc),null!=r&&(o.gradient=e=>(e=e.map(((e,t)=>{if(null==e){const e=n[t],r=Nd(e.size,e.dtype);return this.makeTensor(r,e.shape,e.dtype)}return e})),r(e.length>1?e:e[0],i,a))),this.state.activeTape.push(o)}keep(e){return e.kept=!0,e}startTape(){0===this.state.gradientDepth&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){const t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){const t=Dh(e),n=new Set(t.map((e=>e.id)));for(let e=0;e<this.state.activeScope.track.length;e++){const t=this.state.activeScope.track[e];t.kept||n.has(t.id)||t.dispose()}const r=this.state.scopeStack.pop();this.state.activeScope=0===this.state.scopeStack.length?null:this.state.scopeStack[this.state.scopeStack.length-1],t.forEach((e=>{e.kept||e.scopeId!==r.id||this.track(e)}))}gradients(e,t,n,r=!1){if(Td(t.length>0,(()=>"gradients() received an empty list of xs.")),null!=n&&"float32"!==n.dtype)throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);const i=this.scopedRun((()=>this.startTape()),(()=>this.endTape()),(()=>this.tidy("forward",e)));Td(i instanceof wh,(()=>"The result y returned by f() must be a tensor."));const a=function(e,t,n){const r={},i={};for(let e=0;e<t.length;e++)r[t[e].id]=!0;for(let n=0;n<e.length;n++){const a=e[n],o=a.inputs;for(const e in o){const n=o[e];let s=!1;for(let e=0;e<t.length;e++)if(r[n.id]){a.outputs.forEach((e=>r[e.id]=!0)),s=!0,i[a.id]=!0;break}if(s)break}}const a={};a[n.id]=!0;const o={};for(let t=e.length-1;t>=0;t--){const n=e[t],r=n.inputs;for(let e=0;e<n.outputs.length;e++)if(a[n.outputs[e].id]){for(const e in r)a[r[e].id]=!0,o[n.id]=!0;break}}const s=[];for(let t=0;t<e.length;t++){const n=e[t];if(i[n.id]&&o[n.id]){const e={};for(const t in n.inputs){const i=n.inputs[t];r[i.id]&&(e[t]=i)}const t=Object.assign({},n);t.inputs=e,t.outputs=n.outputs,s.push(t)}}return s}(this.state.activeTape,t,i);if(!r&&0===a.length&&t.length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",(()=>{const e={};e[i.id]=null==n?function(e){const t=function(e,t){const n=Nd(e,t);for(let e=0;e<n.length;e++)n[e]=1;return n}(Sd(e),"float32");return Oh.makeTensor(t,e,"float32")}(i.shape):n,function(e,t,n,r){for(let i=t.length-1;i>=0;i--){const a=t[i],o=[];if(a.outputs.forEach((t=>{const n=e[t.id];o.push(null!=n?n:null)})),null==a.gradient)throw new Error(`Cannot compute gradient: gradient function not found for ${a.kernelName}.`);const s=a.gradient(o);for(const t in a.inputs){if(!(t in s))throw new Error(`Cannot backprop through input ${t}. Available gradients found: ${Object.keys(s)}.`);const i=n((()=>s[t]()));if("float32"!==i.dtype)throw new Error(`Error in gradient for op ${a.kernelName}. The gradient of input ${t} must have 'float32' dtype, but has '${i.dtype}'`);const o=a.inputs[t];if(!Cd(i.shape,o.shape))throw new Error(`Error in gradient for op ${a.kernelName}. The gradient of input '${t}' has shape '${i.shape}', which does not match the shape of the input '${o.shape}'`);if(null==e[o.id])e[o.id]=i;else{const t=e[o.id];e[o.id]=r(t,i),t.dispose()}}}}(e,a,(e=>this.tidy(e)),Bh);const r=t.map((t=>e[t.id]));return 0===this.state.gradientDepth&&(this.state.activeTape.forEach((e=>{for(const t of e.saved)t.dispose()})),this.state.activeTape=null),{value:i,grads:r}}))}customGrad(e){return Td(Id(e),(()=>"The f passed in customGrad(f) must be a function.")),(...t)=>{let n;Td(t.every((e=>e instanceof wh)),(()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors"));const r={};t.forEach(((e,t)=>{r[t]=e}));return this.runKernelFunc({forwardFunc:(r,i)=>(n=e(...t,i),Td(n.value instanceof wh,(()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor")),Td(Id(n.gradFunc),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.")),n.value),backwardsFunc:(e,r)=>{const i=n.gradFunc(e,r),a=Array.isArray(i)?i:[i];Td(a.length===t.length,(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).")),Td(a.every((e=>e instanceof wh)),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors."));const o={};return a.forEach(((e,t)=>{o[t]=()=>e})),o},inputs:r})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}readToGPU(e,t){return this.state.tensorInfo.get(e).backend.readToGPU(e,t)}async time(e){const t=nh(),n=await this.backend.time(e);return n.wallMs=nh()-t,n}track(e){return null!=this.state.activeScope&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new Nh;for(const e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}function Ph(){const e=zd();if(null==e._tfengine){const t=new Bd(e);e._tfengine=new Mh(t)}return jd=e._tfengine.ENV,function(e){yh=e}((()=>e._tfengine)),e._tfengine}Mh.nextTensorId=0,Mh.nextVariableId=0;const Oh=Ph();function Bh(e,t){return Oh.runKernel(Vd,{a:e,b:t})}const Uh=$d();function $h(e,t){let n=e;if(ih(e))return"string"===t?[]:[e.length];if(Rh(e)){return[e.height,e.width*(e.channels||"RGBA").length]}if(_h(e))return[e.buffer.size/(null==t?4:Ad(t))];if(!Array.isArray(e))return[];const r=[];for(;Array.isArray(n)||ih(n)&&"string"!==t;)r.push(n.length),n=n[0];return Array.isArray(e)&&$d().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&Gh(e,r,[]),r}function Gh(e,t,n){if(n=n||[],!Array.isArray(e)&&!ih(e))return void Td(0===t.length,(()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`));Td(t.length>0,(()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`)),Td(e.length===t[0],(()=>`Element arr[${n.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`));const r=t.slice(1);for(let t=0;t<e.length;++t)Gh(e[t],r,n.concat(t))}function jh(e,t,n,r){if("string_or_numeric"!==e){if(null==e)throw new Error("Expected dtype cannot be null.");if("numeric"!==e&&e!==t||"numeric"===e&&"string"===t)throw new Error(`Argument '${n}' passed to '${r}' must be ${e} tensor, but got ${t} tensor`)}}function zh(e,t,n,r="numeric"){if(e instanceof wh)return jh(r,e.dtype,t,n),e;let i=_d(e);if("string"!==i&&["bool","int32","float32"].indexOf(r)>=0&&(i=r),jh(r,i,t,n),null==e||!ih(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e){throw new Error(`Argument '${t}' passed to '${n}' must be a Tensor or TensorLike, but got '${null==e?"null":e.constructor.name}'`)}const a=$h(e,i);ih(e)||Array.isArray(e)||(e=[e]);const o="string"!==i?th(e,i):ah(e,[],!0);return Oh.makeTensor(o,a,i)}Uh.registerFlag("DEBUG",(()=>!1),(e=>{e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")})),Uh.registerFlag("IS_BROWSER",(()=>"undefined"!=typeof window&&null!=window.document||"undefined"!=typeof WorkerGlobalScope)),Uh.registerFlag("IS_NODE",(()=>"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node)),Uh.registerFlag("IS_CHROME",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor))),Uh.registerFlag("IS_SAFARI",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Safari/.test(navigator.userAgent)&&/Apple/.test(navigator.vendor))),Uh.registerFlag("PROD",(()=>!1)),Uh.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(()=>Uh.getBool("DEBUG"))),Uh.registerFlag("DEPRECATION_WARNINGS_ENABLED",(()=>!0)),Uh.registerFlag("IS_TEST",(()=>!1)),Uh.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(()=>Uh.getBool("DEBUG"))),Uh.registerFlag("WRAP_TO_IMAGEBITMAP",(()=>!1)),Uh.registerFlag("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU",(()=>!1)),Uh.registerFlag("USE_SETTIMEOUTCUSTOM",(()=>!1));function qh(e){const t=Object.keys(e);if(1!==t.length)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let n=t[0];const r=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1)),n+="__op";const i=(...e)=>{Oh.startScope(n);try{const t=r(...e);return Pd(t)&&console.error("Cannot return a Promise inside of tidy."),Oh.endScope(t),t}catch(e){throw Oh.endScope(null),e}};return Object.defineProperty(i,"name",{value:n,configurable:!0}),i}class Vh{static join(e){return new Vh(e).slice()}constructor(e){if(this.shards=[],this.previousShardIndex=0,null==e)return;if(e instanceof Array||(e=[e]),0===(e=e.map((e=>ih(e)?e.buffer:e))).length)return;this.bufferUniformSize=e[0].byteLength;let t=0;for(let n=0;n<e.length;n++){const r=e[n];n!==e.length-1&&r.byteLength!==this.bufferUniformSize&&(this.bufferUniformSize=void 0);const i=t+r.byteLength;this.shards.push({buffer:r,start:t,end:i}),t=i}0===this.shards.length&&(this.byteLength=0),this.byteLength=this.shards[this.shards.length-1].end}slice(e=0,t=this.byteLength){if(0===this.shards.length)return new ArrayBuffer(0);if(e=isNaN(Number(e))?0:e,t=isNaN(Number(t))?0:t,e=Math.max(0,e),(t=Math.min(this.byteLength,t))<=e)return new ArrayBuffer(0);const n=this.findShardForByte(e);if(-1===n)throw new Error(`Could not find start shard for byte ${e}`);const r=new ArrayBuffer(t-e),i=new Uint8Array(r);let a=0;for(let r=n;r<this.shards.length;r++){const n=this.shards[r],o=e+a-n.start,s=a,l=Math.min(t,n.end),c=new Uint8Array(n.buffer,o,l-n.start-o);if(i.set(c,s),a+=c.length,t<n.end)break}return r}findShardForByte(e){if(0===this.shards.length||e<0||e>=this.byteLength)return-1;if(null!=this.bufferUniformSize)return this.previousShardIndex=Math.floor(e/this.bufferUniformSize),this.previousShardIndex;function t(t){return e<t.start?-1:e>=t.end?1:0}if(0===t(this.shards[this.previousShardIndex]))return this.previousShardIndex;const n=function(e,t){let n=0,r=e.length;for(;n<=r;){const i=Math.floor((r-n)/2)+n,a=t(e[i]);if(0===a)return i;a<0?r=i:n=i+1}return-1}(this.shards,t);return-1===n?-1:(this.previousShardIndex=n,this.previousShardIndex)}}const Hh="undefined"!=typeof Buffer&&("undefined"==typeof Blob||"undefined"==typeof atob||"undefined"==typeof btoa);function Wh(e){return Hh?Buffer.byteLength(e,"utf8"):new Blob([e]).size}function Kh(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date,modelTopologyType:"JSON",modelTopologyBytes:null==e.modelTopology?0:Wh(JSON.stringify(e.modelTopology)),weightSpecsBytes:null==e.weightSpecs?0:Wh(JSON.stringify(e.weightSpecs)),weightDataBytes:null==e.weightData?0:new Vh(e.weightData).byteLength}}class Yh{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return null==Yh.instance&&(Yh.instance=new Yh),Yh.instance}static registerSaveRouter(e){Yh.getInstance().saveRouters.push(e)}static registerLoadRouter(e){Yh.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return Yh.getHandlers(e,"save")}static getLoadHandlers(e,t){return Yh.getHandlers(e,"load",t)}static getHandlers(e,t,n){const r=[];return("load"===t?Yh.getInstance().loadRouters:Yh.getInstance().saveRouters).forEach((t=>{const i=t(e,n);null!==i&&r.push(i)})),r}}const Xh="tensorflowjs",Jh="models_store",Zh="model_info_store";function Qh(){if(!$d().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");const e="undefined"==typeof window?self:window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(null==t)throw new Error("The current browser does not appear to support IndexedDB.");return t}function ef(e){const t=e.result;t.createObjectStore(Jh,{keyPath:"modelPath"}),t.createObjectStore(Zh,{keyPath:"modelPath"})}class tf{constructor(e){if(this.indexedDB=Qh(),null==e||!e)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise(((e,n)=>{const r=this.indexedDB.open(Xh,1);r.onupgradeneeded=()=>ef(r),r.onsuccess=()=>{const i=r.result;if(null==t){const t=i.transaction(Jh,"readonly"),r=t.objectStore(Jh).get(this.modelPath);r.onsuccess=()=>{if(null==r.result)return i.close(),n(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));e(r.result.modelArtifacts)},r.onerror=e=>(i.close(),n(r.error)),t.oncomplete=()=>i.close()}else{const r=Kh(t),a=i.transaction(Zh,"readwrite");let o,s,l=a.objectStore(Zh);try{o=l.put({modelPath:this.modelPath,modelArtifactsInfo:r})}catch(e){return n(e)}o.onsuccess=()=>{s=i.transaction(Jh,"readwrite");const o=s.objectStore(Jh);let c;try{c=o.put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:r})}catch(e){return n(e)}c.onsuccess=()=>e({modelArtifactsInfo:r}),c.onerror=e=>{l=a.objectStore(Zh);const t=l.delete(this.modelPath);t.onsuccess=()=>(i.close(),n(c.error)),t.onerror=e=>(i.close(),n(c.error))}},o.onerror=e=>(i.close(),n(o.error)),a.oncomplete=()=>{null==s?i.close():s.oncomplete=()=>i.close()}}},r.onerror=e=>n(r.error)}))}}tf.URL_SCHEME="indexeddb://";const nf=e=>{return $d().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(tf.URL_SCHEME)?(t=e.slice(tf.URL_SCHEME.length),new tf(t)):null;var t};Yh.registerSaveRouter(nf),Yh.registerLoadRouter(nf);class rf{constructor(){this.indexedDB=Qh()}async listModels(){return new Promise(((e,t)=>{const n=this.indexedDB.open(Xh,1);n.onupgradeneeded=()=>ef(n),n.onsuccess=()=>{const r=n.result,i=r.transaction(Zh,"readonly"),a=i.objectStore(Zh).getAll();a.onsuccess=()=>{const t={};for(const e of a.result)t[e.modelPath]=e.modelArtifactsInfo;e(t)},a.onerror=e=>(r.close(),t(a.error)),i.oncomplete=()=>r.close()},n.onerror=e=>t(n.error)}))}async removeModel(e){var t;return e=(t=e).startsWith(tf.URL_SCHEME)?t.slice(tf.URL_SCHEME.length):t,new Promise(((t,n)=>{const r=this.indexedDB.open(Xh,1);r.onupgradeneeded=()=>ef(r),r.onsuccess=()=>{const i=r.result,a=i.transaction(Zh,"readwrite"),o=a.objectStore(Zh),s=o.get(e);let l;s.onsuccess=()=>{if(null==s.result)return i.close(),n(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{const r=o.delete(e),a=()=>{l=i.transaction(Jh,"readwrite");const r=l.objectStore(Jh).delete(e);r.onsuccess=()=>t(s.result.modelArtifactsInfo),r.onerror=e=>n(s.error)};r.onsuccess=a,r.onerror=e=>(a(),i.close(),n(s.error))}},s.onerror=e=>(i.close(),n(s.error)),a.oncomplete=()=>{null==l?i.close():l.oncomplete=()=>i.close()}},r.onerror=e=>n(r.error)}))}}const af="/",of="tensorflowjs_models",sf="info",lf="model_topology",cf="weight_specs",uf="weight_data",df="model_metadata";function hf(e){return{info:[of,e,sf].join(af),topology:[of,e,lf].join(af),weightSpecs:[of,e,cf].join(af),weightData:[of,e,uf].join(af),modelMetadata:[of,e,df].join(af)}}function ff(e){for(const t of Object.values(e))window.localStorage.removeItem(t)}function pf(e){const t=e.split(af);if(t.length<3)throw new Error(`Invalid key format: ${e}`);return t.slice(1,t.length-1).join(af)}class gf{constructor(e){if(!$d().getBool("IS_BROWSER")||"undefined"==typeof window||void 0===window.localStorage)throw new Error("The current environment does not support local storage.");if(this.LS=window.localStorage,null==e||!e)throw new Error("For local storage, modelPath must not be null, undefined or empty.");this.modelPath=e,this.keys=hf(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");{const t=JSON.stringify(e.modelTopology),n=JSON.stringify(e.weightSpecs),r=Kh(e),i=Vh.join(e.weightData);try{this.LS.setItem(this.keys.info,JSON.stringify(r)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,function(e){if(Hh)return Buffer.from(e).toString("base64");const t=new Uint8Array(e);let n="";for(let e=0,r=t.length;e<r;e++)n+=String.fromCharCode(t[e]);return btoa(n)}(i));return this.LS.setItem(this.keys.modelMetadata,JSON.stringify({format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,signature:null!=e.signature?e.signature:void 0,userDefinedMetadata:null!=e.userDefinedMetadata?e.userDefinedMetadata:void 0,modelInitializer:null!=e.modelInitializer?e.modelInitializer:void 0,initializerSignature:null!=e.initializerSignature?e.initializerSignature:void 0,trainingConfig:null!=e.trainingConfig?e.trainingConfig:void 0})),{modelArtifactsInfo:r}}catch(e){throw ff(this.keys),new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${r.modelTopologyBytes}, weightSpecsBytes=${r.weightSpecsBytes}, weightDataBytes=${r.weightDataBytes}.`)}}}async load(){const e=JSON.parse(this.LS.getItem(this.keys.info));if(null==e)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if("JSON"!==e.modelTopologyType)throw new Error("BrowserLocalStorage does not support loading non-JSON model topology yet.");const t={},n=JSON.parse(this.LS.getItem(this.keys.topology));if(null==n)throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);t.modelTopology=n;const r=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(null==r)throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);t.weightSpecs=r;const i=this.LS.getItem(this.keys.modelMetadata);if(null!=i){const e=JSON.parse(i);t.format=e.format,t.generatedBy=e.generatedBy,t.convertedBy=e.convertedBy,null!=e.signature&&(t.signature=e.signature),null!=e.userDefinedMetadata&&(t.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(t.modelInitializer=e.modelInitializer),null!=e.initializerSignature&&(t.initializerSignature=e.initializerSignature),null!=e.trainingConfig&&(t.trainingConfig=e.trainingConfig)}const a=this.LS.getItem(this.keys.weightData);if(null==a)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=function(e){if(Hh){const t=Buffer.from(e,"base64");return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;++e)n.set([t.charCodeAt(e)],e);return n.buffer}(a),t}}gf.URL_SCHEME="localstorage://";const mf=e=>{return $d().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(gf.URL_SCHEME)?(t=e.slice(gf.URL_SCHEME.length),new gf(t)):null;var t};Yh.registerSaveRouter(mf),Yh.registerLoadRouter(mf);class vf{constructor(){Td($d().getBool("IS_BROWSER"),(()=>"Current environment is not a web browser")),Td("undefined"==typeof window||void 0!==window.localStorage,(()=>"Current browser does not appear to support localStorage")),this.LS=window.localStorage}async listModels(){const e={},t=of+af,n=af+sf;for(let r=0;r<this.LS.length;++r){const i=this.LS.key(r);if(i.startsWith(t)&&i.endsWith(n)){e[pf(i)]=JSON.parse(this.LS.getItem(i))}}return e}async removeModel(e){var t;const n=hf(e=(t=e).startsWith(gf.URL_SCHEME)?t.slice(gf.URL_SCHEME.length):t);if(null==this.LS.getItem(n.info))throw new Error(`Cannot find model at path '${e}'`);const r=JSON.parse(this.LS.getItem(n.info));return ff(n),r}}class yf{constructor(){this.managers={}}static getInstance(){return null==yf.instance&&(yf.instance=new yf),yf.instance}static registerManager(e,t){Td(null!=e,(()=>"scheme must not be undefined or null.")),e.endsWith("://")&&(e=e.slice(0,e.indexOf("://"))),Td(e.length>0,(()=>"scheme must not be an empty string."));const n=yf.getInstance();Td(null==n.managers[e],(()=>`A model store manager is already registered for scheme '${e}'.`)),n.managers[e]=t}static getManager(e){const t=yf.getInstance().managers[e];if(null==t)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(yf.getInstance().managers)}}class bf{constructor(){this.messageName="setTimeoutCustom",this.functionRefs=[],this.handledMessageCount=0,this.hasEventListener=!1}fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Browser's encoder only supports utf-8, but got ${t}`);return null==this.textEncoder&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}setTimeoutCustom(e,t){"undefined"!=typeof window&&$d().getBool("USE_SETTIMEOUTCUSTOM")?(this.functionRefs.push(e),setTimeout((()=>{window.postMessage({name:this.messageName,index:this.functionRefs.length-1},"*")}),t),this.hasEventListener||(this.hasEventListener=!0,window.addEventListener("message",(e=>{if(e.source===window&&e.data.name===this.messageName){e.stopPropagation();(0,this.functionRefs[e.data.index])(),this.handledMessageCount++,this.handledMessageCount===this.functionRefs.length&&(this.functionRefs=[],this.handledMessageCount=0)}}),!0))):setTimeout(e,t)}isTypedArray(e){return eh(e)}}if($d().get("IS_BROWSER")){$d().setPlatform("browser",new bf);try{yf.registerManager(gf.URL_SCHEME,new vf)}catch(e){}try{yf.registerManager(tf.URL_SCHEME,new rf)}catch(e){}}const wf=()=>require("node-fetch");let xf;class Ef{constructor(){this.util=require("util"),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return null!=$d().global.fetch?$d().global.fetch(e,t):(null==xf&&(xf=wf()),xf(e,t))}now(){const e=process.hrtime();return 1e3*e[0]+e[1]/1e6}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return 0===e.length?"":new this.util.TextDecoder(t).decode(e)}isTypedArray(e){return this.util.types.isFloat32Array(e)||this.util.types.isInt32Array(e)||this.util.types.isUint8Array(e)||this.util.types.isUint8ClampedArray(e)}}$d().get("IS_NODE")&&!$d().get("IS_BROWSER")&&$d().setPlatform("node",new Ef);const Tf=qh({cast_:function(e,t){const n=zh(e,"x","cast");if(!function(e){return"bool"===e||"complex64"===e||"float32"===e||"int32"===e||"string"===e}(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if("string"===t&&"string"!==n.dtype||"string"!==t&&"string"===n.dtype)throw new Error("Only strings can be casted to strings");return Oh.runKernel(Hd,{x:n},{dtype:t})}});const Sf=qh({clone_:function(e){const t=zh(e,"x","clone","string_or_numeric");return Oh.runKernel(Wd,{x:t})}});Ph();const Cf={buffer:function(e,t="float32",n){return t=t||"float32",Md(e),new vh(e,t,n)},cast:Tf,clone:Sf,print:function(e,t=!1){console.log(e.toString(t))}};function kf(e,t){return Oh.tidy(e,t)}function Af(e){Dh(e).forEach((e=>e.dispose()))}bh=Cf;const Rf=qh({add_:function(e,t){let n=zh(e,"a","add"),r=zh(t,"b","add");return[n,r]=Ih(n,r),Oh.runKernel(Vd,{a:n,b:r})}});const _f=qh({floorDiv_:function(e,t){let n=zh(e,"a","floorDiv"),r=zh(t,"b","floorDiv");return[n,r]=Ih(n,r),Oh.runKernel("FloorDiv",{a:n,b:r})}});const If=qh({div_:function(e,t){let n=zh(e,"a","div"),r=zh(t,"b","div");return[n,r]=Ih(n,r),"int32"===n.dtype&&"int32"===r.dtype?_f(n,r):Oh.runKernel("RealDiv",{a:n,b:r},{})}});const Df=qh({mul_:function(e,t){let n=zh(e,"a","mul"),r=zh(t,"b","mul");return[n,r]=Ih(n,r),Oh.runKernel("Multiply",{a:n,b:r})}});const Ff=qh({abs_:function(e){const t=zh(e,"x","abs");if("complex64"===t.dtype){return Oh.runKernel("ComplexAbs",{x:t})}return Oh.runKernel("Abs",{x:t})}});const Lf=qh({zerosLike_:function(e){const t=zh(e,"x","zerosLike");return Oh.runKernel("ZerosLike",{x:t})}});const Nf=qh({pow_:function(e,t){let n=zh(e,"base","pow"),r=zh(t,"exp","pow");return[n,r]=Ih(n,r),Oh.runKernel("Pow",{a:n,b:r})}});function Mf(e,t){if((ih(e)&&"string"!==t||Array.isArray(e))&&"complex64"!==t)throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if("string"===t&&ih(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return function(e,t,n,r){if(null==r)r=_d(e);else if("complex64"===r)throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(_h(e)||Rh(e)){if("float32"!==r&&"int32"!==r)throw new Error(`Creating tensor from GPU data only supports 'float32'|'int32' dtype, while the dtype is ${r}.`);return Oh.backend.createTensorFromGPUData(e,t||n,r)}if(!ih(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e)throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray");if(null!=t){Md(t);const e=Sd(t),r=Sd(n);Td(e===r,(()=>`Based on the provided shape, [${t}], the tensor should have ${e} values but has ${r}`));for(let e=0;e<n.length;++e){const r=e!==n.length-1||n[e]!==Sd(t.slice(e));Td(n[e]===t[e]||!r,(()=>`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `))}}return ih(e)||Array.isArray(e)||(e=[e]),t=t||n,e="string"!==r?th(e,r):ah(e,[],!0),Oh.makeTensor(e,t,r)}(e,[],[],t)}const Pf=qh({sqrt_:function(e){const t=zh(e,"x","sqrt","float32");return Oh.runKernel("Sqrt",{x:t})}});const Of=qh({square_:function(e){const t=zh(e,"x","square");return Oh.runKernel("Square",{x:t},{})}});const Bf=qh({sub_:function(e,t){let n=zh(e,"a","sub"),r=zh(t,"b","sub");return[n,r]=Ih(n,r),Oh.runKernel("Sub",{a:n,b:r})}});const Uf=qh({maximum_:function(e,t){let n=zh(e,"a","maximum"),r=zh(t,"b","maximum");return[n,r]=Ih(n,r),"bool"===n.dtype&&(n=Tf(n,"int32"),r=Tf(r,"int32")),function(e,t){const n=Math.max(e.length,t.length),r=new Array(n);for(let i=0;i<n;i++){let a=e[e.length-i-1];null==a&&(a=1);let o=t[t.length-i-1];if(null==o&&(o=1),1===a)r[n-i-1]=o;else if(1===o)r[n-i-1]=a;else{if(a!==o)throw Error(`Operands could not be broadcast together with shapes ${e} and ${t}.`);r[n-i-1]=a}}}(n.shape,r.shape),Oh.runKernel("Maximum",{a:n,b:r})}});class $f{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class Gf{constructor(){this.classNameMap={}}static getMap(){return null==Gf.instance&&(Gf.instance=new Gf),Gf.instance}static register(e){Gf.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function jf(e){Td(null!=e.className,(()=>"Class being registered does not have the static className property defined.")),Td("string"==typeof e.className,(()=>"className is required to be a string, but got type "+typeof e.className)),Td(e.className.length>0,(()=>"Class being registered has an empty-string as its className, which is disallowed.")),Gf.register(e)}class zf extends $f{minimize(e,t=!1,n){const{value:r,grads:i}=this.computeGradients(e,n);if(null!=n){const e=n.map((e=>({name:e.name,tensor:i[e.name]})));this.applyGradients(e)}else this.applyGradients(i);return Af(i),t?r:(r.dispose(),null)}get iterations(){return null==this.iterations_&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return function(e,t){Td(Id(e),(()=>"The f passed in variableGrads(f) must be a function")),Td(null==t||Array.isArray(t)&&t.every((e=>e instanceof xh)),(()=>"The varList passed in variableGrads(f, varList) must be an array of variables"));const n=null!=t;if(!n){t=[];for(const e in Oh.registeredVariables)t.push(Oh.registeredVariables[e])}const r=n?t.filter((e=>!e.trainable)):null,i=t.length;Td((t=t.filter((e=>e.trainable))).length>0,(()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${i} variables is trainable.`));const{value:a,grads:o}=Oh.gradients(e,t,null,!0);Td(o.some((e=>null!=e)),(()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().")),Td(0===a.rank,(()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${a.rank} tensor`));const s={};return t.forEach(((e,t)=>{null!=o[t]&&(s[e.name]=o[t])})),null!=r&&r.forEach((e=>s[e.name]=null)),{value:a,grads:s}}(e,t)}dispose(){null!=this.iterations_&&Af(this.iterations_)}async saveIterations(){return null==this.iterations_&&(this.iterations_=0),{name:"iter",tensor:Mf(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}}Object.defineProperty(zf,Symbol.hasInstance,{value:e=>null!=e.minimize&&null!=e.computeGradients&&null!=e.applyGradients});class qf extends zf{static get className(){return"SGD"}constructor(e){super(),this.learningRate=e,this.setLearningRate(e)}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);t.forEach(((t,n)=>{const r=Array.isArray(e)?e[n].tensor:e[t];if(null==r)return;const i=Oh.registeredVariables[t];kf((()=>{const e=Rf(Df(this.c,r),i);i.assign(e)}))})),this.incrementIterations()}setLearningRate(e){var t;this.learningRate=e,null!=this.c&&this.c.dispose(),this.c=(t=Mf(-e),Oh.keep(t))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(0!==(e=await this.extractIterations(e)).length)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}}const Vf=[class extends zf{static get className(){return"Adadelta"}constructor(e,t,n=null){super(),this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],null==n&&(this.epsilon=Oh.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=Oh.registeredVariables[t];null==this.accumulatedGrads[n]&&(this.accumulatedGrads[n]={originalName:`${t}/accum_grad`,variable:kf((()=>Lf(r).variable(false)))}),null==this.accumulatedUpdates[n]&&(this.accumulatedUpdates[n]={originalName:`${t}/accum_var`,variable:kf((()=>Lf(r).variable(false)))});const i=Array.isArray(e)?e[n].tensor:e[t];if(null==i)return;const a=this.accumulatedGrads[n].variable,o=this.accumulatedUpdates[n].variable;kf((()=>{const e=Rf(Df(a,this.rho),Df(Of(i),1-this.rho)),t=Df(If(Pf(Rf(o,this.epsilon)),Pf(Rf(a,this.epsilon))),i),n=Rf(Df(o,this.rho),Df(Of(t),1-this.rho));a.assign(e),o.assign(n);const s=Rf(Df(t,-this.learningRate),r);r.assign(s)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedUpdates&&(Af(this.accumulatedGrads.map((e=>e.variable))),Af(this.accumulatedUpdates.map((e=>e.variable))))}async getWeights(){const e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){const t=(e=await this.extractIterations(e)).length/2;this.accumulatedGrads=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)}))),this.accumulatedUpdates=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}},class extends zf{static get className(){return"Adagrad"}constructor(e,t=.1){super(),this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=Oh.registeredVariables[t];if(null==this.accumulatedGrads[n]){const e=!1;this.accumulatedGrads[n]={originalName:`${t}/accumulator`,variable:kf((()=>function(e,t,n){return Md(e),n=n||_d(t),Oh.runKernel("Fill",{},{shape:e,value:t,dtype:n})}(r.shape,this.initialAccumulatorValue).variable(e)))}}const i=Array.isArray(e)?e[n].tensor:e[t];if(null==i)return;const a=this.accumulatedGrads[n].variable;kf((()=>{const e=Rf(a,Of(i));a.assign(e);const t=Rf(Df(If(i,Pf(Rf(e,Oh.backend.epsilon()))),-this.learningRate),r);r.assign(t)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedGrads&&Af(this.accumulatedGrads.map((e=>e.variable)))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);this.accumulatedGrads=e.map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}},class extends zf{static get className(){return"Adam"}constructor(e,t,n,r=null){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],kf((()=>{this.accBeta1=Mf(t).variable(),this.accBeta2=Mf(n).variable()})),null==r&&(this.epsilon=Oh.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);kf((()=>{const n=Bf(1,this.accBeta1),r=Bf(1,this.accBeta2);t.forEach(((t,i)=>{const a=Oh.registeredVariables[t];null==this.accumulatedFirstMoment[i]&&(this.accumulatedFirstMoment[i]={originalName:`${t}/m`,variable:kf((()=>Lf(a).variable(false)))}),null==this.accumulatedSecondMoment[i]&&(this.accumulatedSecondMoment[i]={originalName:`${t}/v`,variable:kf((()=>Lf(a).variable(false)))});const o=Array.isArray(e)?e[i].tensor:e[t];if(null==o)return;const s=this.accumulatedFirstMoment[i].variable,l=this.accumulatedSecondMoment[i].variable,c=Rf(Df(s,this.beta1),Df(o,1-this.beta1)),u=Rf(Df(l,this.beta2),Df(Of(o),1-this.beta2)),d=If(c,n),h=If(u,r);s.assign(c),l.assign(u);const f=Rf(Df(If(d,Rf(Pf(h),this.epsilon)),-this.learningRate),a);a.assign(f)})),this.accBeta1.assign(Df(this.accBeta1,this.beta1)),this.accBeta2.assign(Df(this.accBeta2,this.beta2))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),null!=this.accumulatedFirstMoment&&Af(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedSecondMoment&&Af(this.accumulatedSecondMoment.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e),kf((()=>{this.accBeta1.assign(Nf(this.beta1,this.iterations_+1)),this.accBeta2.assign(Nf(this.beta2,this.iterations_+1))}));const t=e.length/2;this.accumulatedFirstMoment=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)}))),this.accumulatedSecondMoment=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}},class extends zf{static get className(){return"Adamax"}constructor(e,t,n,r=null,i=0){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=i,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],kf((()=>{this.iteration=Mf(0).variable(),this.accBeta1=Mf(t).variable()})),null==r&&(this.epsilon=Oh.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);kf((()=>{const n=Bf(1,this.accBeta1),r=If(-this.learningRate,Rf(Df(this.iteration,this.decay),1));t.forEach(((t,i)=>{const a=Oh.registeredVariables[t];null==this.accumulatedFirstMoment[i]&&(this.accumulatedFirstMoment[i]={originalName:`${t}/m`,variable:Lf(a).variable(false)}),null==this.accumulatedWeightedInfNorm[i]&&(this.accumulatedWeightedInfNorm[i]={originalName:`${t}/v`,variable:Lf(a).variable(false)});const o=Array.isArray(e)?e[i].tensor:e[t];if(null==o)return;const s=this.accumulatedFirstMoment[i].variable,l=this.accumulatedWeightedInfNorm[i].variable,c=Rf(Df(s,this.beta1),Df(o,1-this.beta1)),u=Df(l,this.beta2),d=Ff(o),h=Uf(u,d);s.assign(c),l.assign(h);const f=Rf(Df(If(r,n),If(c,Rf(h,this.epsilon))),a);a.assign(f)})),this.iteration.assign(Rf(this.iteration,1)),this.accBeta1.assign(Df(this.accBeta1,this.beta1))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),null!=this.accumulatedFirstMoment&&Af(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedWeightedInfNorm&&Af(this.accumulatedWeightedInfNorm.map((e=>e.variable)))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}},class extends qf{static get className(){return"Momentum"}constructor(e,t,n=!1){super(e),this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=Mf(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=Oh.registeredVariables[t];if(null==this.accumulations[n]){const e=!1;this.accumulations[n]={originalName:`${t}/momentum`,variable:kf((()=>Lf(r).variable(e)))}}const i=this.accumulations[n].variable,a=Array.isArray(e)?e[n].tensor:e[t];null!=a&&kf((()=>{let e;const t=Rf(Df(this.m,i),a);e=Rf(Df(this.c,this.useNesterov?Rf(a,Df(t,this.m)):t),r),i.assign(t),r.assign(e)}))})),this.incrementIterations()}dispose(){this.m.dispose(),null!=this.accumulations&&Af(this.accumulations.map((e=>e.variable)))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);this.accumulations=e.map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}},class extends zf{static get className(){return"RMSProp"}constructor(e,t=.9,n=0,r=null,i=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=i,null==r&&(this.epsilon=Oh.backend.epsilon()),null==e)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=Oh.registeredVariables[t],i=!1;null==this.accumulatedMeanSquares[n]&&(this.accumulatedMeanSquares[n]={originalName:`${t}/rms`,variable:kf((()=>Lf(r).variable(i)))}),null==this.accumulatedMoments[n]&&(this.accumulatedMoments[n]={originalName:`${t}/momentum`,variable:kf((()=>Lf(r).variable(i)))}),null==this.accumulatedMeanGrads[n]&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${t}/mg`,variable:kf((()=>Lf(r).variable(i)))});const a=Array.isArray(e)?e[n].tensor:e[t];if(null==a)return;const o=this.accumulatedMeanSquares[n].variable,s=this.accumulatedMoments[n].variable;kf((()=>{const e=Rf(Df(o,this.decay),Df(Of(a),1-this.decay));if(this.centered){const t=this.accumulatedMeanGrads[n].variable,i=Rf(Df(t,this.decay),Df(a,1-this.decay)),l=If(Df(a,this.learningRate),Pf(Bf(e,Rf(Of(i),this.epsilon)))),c=Rf(Df(s,this.momentum),l);o.assign(e),t.assign(i),s.assign(c);const u=Bf(r,c);r.assign(u)}else{const e=Rf(Df(o,this.decay),Df(Of(a),1-this.decay)),t=Rf(Df(s,this.momentum),If(Df(a,this.learningRate),Pf(Rf(e,this.epsilon))));o.assign(e),s.assign(t);const n=Bf(r,t);r.assign(n)}}))})),this.incrementIterations()}dispose(){null!=this.accumulatedMeanSquares&&Af(this.accumulatedMeanSquares.map((e=>e.variable))),null!=this.accumulatedMeanGrads&&this.centered&&Af(this.accumulatedMeanGrads.map((e=>e.variable))),null!=this.accumulatedMoments&&Af(this.accumulatedMoments.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);const t=this.centered?e.length/3:e.length/2,n=!1;this.accumulatedMeanSquares=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))),this.accumulatedMoments=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))),this.centered&&(this.accumulatedMeanGrads=e.slice(2*t,3*t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}},qf];!function(){for(const e of Vf)jf(e)}();const Hf={},Wf={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function Kf(e,t){if(!(e in Hf)||null!=t){const n=function(e,t){if(1!==e&&2!==e)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const n=null==t?function(e){if($d().getBool("IS_SAFARI")||"undefined"==typeof OffscreenCanvas||2!==e){if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}return new OffscreenCanvas(300,150)}(e):t;n.addEventListener("webglcontextlost",(t=>{t.preventDefault(),delete Hf[e]}),!1),$d().getBool("SOFTWARE_WEBGL_ENABLED")&&(Wf.failIfMajorPerformanceCaveat=!1);if(1===e)return n.getContext("webgl",Wf)||n.getContext("experimental-webgl",Wf);return n.getContext("webgl2",Wf)}(e,t);if(null===n)return console.log("Could not get context for WebGL version",e),null;Hf[e]=n}const n=Hf[e];return null==n||n.isContextLost()?(delete Hf[e],Kf(e)):(n.disable(n.DEPTH_TEST),n.disable(n.STENCIL_TEST),n.disable(n.BLEND),n.disable(n.DITHER),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SAMPLE_COVERAGE),n.enable(n.SCISSOR_TEST),n.enable(n.CULL_FACE),n.cullFace(n.BACK),Hf[e])}var Yf={boxes:0,scores:7,labels:4},Xf=function(e){var t=e.children,r=e.documentDetectionModelUrl,i=e.focusModelUrl,o=n.useRef(),s=n.useRef(),l=n.useState(!1),u=l[0],d=l[1],h=n.useRef(!1),p=n.useRef(),v=n.useRef(null),y=n.useRef(null),b=n.useState(0),w=b[0],x=b[1],E=n.useState(0),T=E[0],S=E[1];r=r||"".concat(Ut,"/models/documentdetection448/model.json"),i=i||"".concat(Ut,"/models/focus/model.json"),n.useEffect((function(){g(void 0,void 0,void 0,(function(){var e;return m(this,(function(t){switch(t.label){case 0:return r&&i?(console.log("loading models!"),d(!1),f.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",52428800),[4,f.setBackend("webgl")]):[2];case 1:return t.sent(),[4,f.ready()];case 2:return t.sent(),[4,Promise.all([bt(r),wd(i)])];case 3:return e=t.sent(),o.current=e[0],s.current=e[1],Kf(2).canvas.addEventListener("webglcontextlost",(function(){return g(void 0,void 0,void 0,(function(){var e,t,n;return m(this,(function(l){switch(l.label){case 0:if(console.log("OMG I CAUGHT IT!"),d(!1),delete Hf[2],!((e=null===(n=y.current)||void 0===n?void 0:n.getContext("webgl2"))&&r&&i))return[3,4];console.log("setting new context!"),a.setWebGLContext(2,e);try{f.backend().dispose()}catch(e){console.error("failed to dispose backend")}return[4,f.setBackend("webgl")];case 1:return l.sent(),[4,f.ready()];case 2:return l.sent(),[4,Promise.all([bt(r),wd(i)])];case 3:t=l.sent(),o.current=t[0],s.current=t[1],console.log("ok we should be good to go now!"),d(!0),l.label=4;case 4:return[2]}}))}))})),d(!0),[2]}}))}))}),[r,i]);var C=n.useCallback((function(e){h.current=!0,g(void 0,void 0,void 0,(function(){var t,n,r,i,a,l,c,u;return m(this,(function(d){switch(d.label){case 0:return o.current&&s.current&&v.current?[4,Jf(o.current,s.current,e,v.current)]:[2];case 1:return t=d.sent(),r=(n=t[0])[0],i=n[1],l=(a=t[1])[0],c=a[1],null===(u=p.current)||void 0===u||u.call(p,{image:e,documentDetection:r,focus:l}),x(i),S(c),h.current=!1,[2]}}))}))}),[]),k=n.useCallback((function(e){p.current=e}),[]);return c.default.createElement(Lt.Provider,{value:{ready:u,working:h,makePrediction:C,onPredictionMade:k,documentDetectionPredictionTime:w,focusPredictionTime:T}},t,c.default.createElement("canvas",{ref:v,style:{display:"none"}}),c.default.createElement("canvas",{ref:y,style:{display:"none"}}))};function Jf(e,t,n,r){return g(this,void 0,void 0,(function(){var i,a,o;return m(this,(function(s){switch(s.label){case 0:return i=null,[4,Zf(e,n)];case 1:return a=s.sent(),[4,Qf(t,n)];case 2:return o=s.sent(),null==i||i.clearRect(0,0,r.width,r.height),[2,[a,o]]}}))}))}function Zf(e,t){return g(this,void 0,void 0,(function(){var n,r,i,a,o,s,l,c,u,d,h,p,g,v,y,b,w;return m(this,(function(m){switch(m.label){case 0:n=new Date,m.label=1;case 1:return m.trys.push([1,7,,8]),r=f.browser.fromPixels(t),console.time("resize"),i=f.image.resizeBilinear(r,[448,448]),console.timeEnd("resize"),r.dispose(),console.time("convert to int32"),a=f.cast(i,"int32"),i.dispose(),l=(s=f).tensor4d,u=(c=Array).from,[4,a.data()];case 2:return o=l.apply(s,[u.apply(c,[m.sent()]),[1,448,448,3]]),a.dispose(),d=f.cast(o,"int32"),console.timeEnd("convert to int32"),o.dispose(),console.log("making predictions"),console.time("predictions"),[4,e.executeAsync(d)];case 3:return h=m.sent(),console.timeEnd("predictions"),d.dispose(),p=h,console.log(p.map((function(e){return e.arraySync()}))),[4,p[Yf.boxes].array()];case 4:return g=m.sent()[0],[4,p[Yf.scores].array()];case 5:return v=m.sent()[0],[4,p[Yf.labels].array()];case 6:return y=(y=m.sent()[0]).map((function(e){return Math.round(e)})),f.dispose(h),b=(new Date).getTime()-n.getTime(),[2,[{boxes:g,scores:v,labels:y},b]];case 7:return w=m.sent(),console.error("caught error in makeDocumentDetectionPredictions",w),[2,[{boxes:[],scores:[],labels:[]},0]];case 8:return[2]}}))}))}function Qf(e,t){return g(this,void 0,void 0,(function(){var n,r,i,a,o,s,l,c,u,d,h,p,g;return m(this,(function(m){switch(m.label){case 0:n=new Date,m.label=1;case 1:return m.trys.push([1,5,,6]),r=f.browser.fromPixels(t),i=f.image.resizeBilinear(r,[448,448]),r.dispose(),a=f.cast(i,"int32"),i.dispose(),l=(s=f).tensor4d,u=(c=Array).from,[4,a.data()];case 2:return o=l.apply(s,[u.apply(c,[m.sent()]),[1,448,448,3]]),a.dispose(),d=f.cast(o,"int32"),o.dispose(),console.time("focus prediction"),[4,e.predict(d)];case 3:return h=m.sent(),d.dispose(),[4,h.array()];case 4:return p=m.sent()[0],console.timeEnd("focus prediction"),f.dispose(h),g=(new Date).getTime()-n.getTime(),[2,[p,g]];case 5:return m.sent(),[2,[[0,0],0]];case 6:return[2]}}))}))}function ep(){if(!(["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document))return!1;var e=window.screen.width<window.screen.height?window.screen.width:window.screen.height,t=window.screen.width*window.devicePixelRatio,n=window.screen.height*window.devicePixelRatio;return 1179==t&&2556==n||1290==t&&2796==n&&(393==e||430==e)}var tp=[{label:"1080p(FHD)",width:1920,height:1080,ratio:"16:9"},{label:"UXGA",width:1600,height:1200,ratio:"4:3"},{label:"720p(HD)",width:1280,height:720,ratio:"16:9"},{label:"SVGA",width:800,height:600,ratio:"4:3"},{label:"VGA",width:640,height:480,ratio:"4:3"},{label:"360p(nHD)",width:640,height:360,ratio:"16:9"},{label:"CIF",width:352,height:288,ratio:"4:3"},{label:"QVGA",width:320,height:240,ratio:"4:3"},{label:"QCIF",width:176,height:144,ratio:"4:3"},{label:"QQVGA",width:160,height:120,ratio:"4:3"}],np=function(e){return e.label.toLocaleLowerCase().split(" ").join("")},rp=function(e){var t=void 0===e?{preferFrontFacingCamera:!1,preferContinuityCamera:!0,requestMicrophoneAccess:!1}:e,r=t.preferFrontFacingCamera,i=t.preferContinuityCamera,a=t.requestMicrophoneAccess,o=n.useRef(null),s=n.useState(null),l=s[0],c=s[1],u=n.useRef(null),d=n.useState(!1),h=d[0],f=d[1],p=n.useState(null),v=p[0],y=p[1],b=n.useState(!1),w=b[0],x=b[1],E=n.useState(i),T=E[0],S=E[1],C=n.useState(!1),k=C[0],A=C[1],R=n.useState(!1),_=R[0],I=R[1];n.useEffect((function(){var e;console.log("iphone continuity camera allowed changed",T),null===(e=u.current)||void 0===e||e.release(),u.current=null,f(!1)}),[T]);var D=n.useCallback((function(){I(!1)}),[]);n.useEffect((function(){g(void 0,void 0,void 0,(function(){var e,t,n,i,a;return m(this,(function(o){switch(o.label){case 0:if(_)return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia({video:!0,audio:!1})];case 2:return e=o.sent(),[3,4];case 3:if("NotAllowedError"===(t=o.sent()).name)return console.error("caught the block!!",t),I(!0),[2];throw t;case 4:return[4,navigator.mediaDevices.enumerateDevices()];case 5:return n=o.sent().filter((function(e){return"videoinput"===e.kind})),k||(a=n.find((function(e){return np(e).includes("iphonecamera")})),x(!!a),T&&(i=a)),r&&(i=n.find((function(e){return np(e).includes("front")}))),i||(i=ep()?n.find((function(e){return np(e).includes("backultrawidecamera")})):n.find((function(e){return np(e).includes("back")&&!np(e).includes("backultrawidecamera")}))),i||(i=n.find((function(e){return np(e).includes("back")}))),i||(i=n[0]),c(i),e.getVideoTracks().forEach((function(e){e.stop()})),[2]}}))}))}),[_,T,k,r]),n.useEffect((function(){var e;if(l){var t=function(){var e;null===(e=u.current)||void 0===e||e.release(),u.current=null,f(!1)};if(!(null===(e=navigator.mediaDevices)||void 0===e?void 0:e.getUserMedia))return t;console.log("loading camera!");var n=null;return g(void 0,void 0,void 0,(function(){var e,t;return m(this,(function(r){switch(r.label){case 0:e=0,r.label=1;case 1:if(e===tp.length)return[3,6];t={audio:a,video:{deviceId:{exact:l.deviceId},width:{exact:tp[e].width},height:{exact:tp[e].height}}},r.label=2;case 2:return r.trys.push([2,4,,5]),null==n||n.getVideoTracks().forEach((function(e){e.stop()})),[4,navigator.mediaDevices.getUserMedia(t)];case 3:return n=r.sent(),console.log("it can do",tp[e].label),[3,6];case 4:return"NotAllowedError"===r.sent().name?(T?(x(!1),A(!0)):I(!0),[2]):(console.log("well, it cant do",tp[e].label),[3,5]);case 5:return++e,[3,1];case 6:if(n)return[3,12];e=0,r.label=7;case 7:if(e===tp.length)return[3,12];t={audio:!1,video:{deviceId:{exact:l.deviceId},width:{ideal:tp[e].width},height:{ideal:tp[e].height}}},r.label=8;case 8:return r.trys.push([8,10,,11]),null==n||n.getVideoTracks().forEach((function(e){e.stop()})),[4,navigator.mediaDevices.getUserMedia(t)];case 9:return n=r.sent(),console.log("it can do",tp[e].label),[3,12];case 10:return r.sent(),console.log("well, it cant do",tp[e].label),[3,11];case 11:return++e,[3,7];case 12:if(n)return[3,16];r.label=13;case 13:return r.trys.push([13,15,,16]),[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 14:return n=r.sent(),console.log("opened stream with no width and height constraints"),[3,16];case 15:return r.sent(),console.log("cannot open stream at all"),[3,16];case 16:if(!n)throw new Error("failed to open camera");return n.getVideoTracks()[0].onended=function(){var e;w&&T?(console.log("someone unplugged the continuity camera"),x(!1),A(!0)):(console.log("someone unplugged the webcam"),null===(e=u.current)||void 0===e||e.release(),u.current=null,f(!1),I(!0),y(null))},u.current=function(e,t){var n=e.getVideoTracks()[0].getSettings(),r=n.width,i=n.height,a=t.toLocaleLowerCase().split(" ").join("");console.log("CAMERA LABEL",a);var o=a.includes("back")||a.includes("iphonecamera");return r||(r=0),i||(i=0),{stream:e,width:r,height:i,isRearFacing:o,release:function(){e.getTracks().forEach((function(e){e.stop()}))}}}(n,l.label),o.current&&(o.current.srcObject=n),[2]}}))})),t}}),[T,w,a,l,!!o.current]),n.useEffect((function(){y(null),h&&g(void 0,void 0,void 0,(function(){var e,t,n,r;return m(this,(function(i){return(e=(null!==(r=null===(n=null===(t=u.current)||void 0===t?void 0:t.stream)||void 0===n?void 0:n.getVideoTracks())&&void 0!==r?r:[])[0])?(y(new ImageCapture(e)),[2]):[2]}))}))}),[h]);var F=n.useCallback((function(){return g(void 0,void 0,void 0,(function(){return m(this,(function(e){switch(e.label){case 0:return v?[4,v.grabFrame()]:[2,null];case 1:return[2,e.sent()]}}))}))}),[v]),L=n.useCallback((function(){return g(void 0,void 0,void 0,(function(){var e,t,n,r,i;return m(this,(function(a){switch(a.label){case 0:return e=document.createElement("canvas"),(t=e.getContext("2d"))&&u.current&&o.current?(e.width=null===(r=o.current)||void 0===r?void 0:r.videoWidth,e.height=null===(i=o.current)||void 0===i?void 0:i.videoHeight,t.drawImage(o.current,0,0,e.width,e.height),n=e.toDataURL("image/jpeg",.98),[4,fetch(n)]):[2,null];case 1:return[4,a.sent().blob()];case 2:return[2,a.sent()]}}))}))}),[]),N=n.useCallback((function(){var e,t;u.current&&(console.log("releasing camera access!"),null===(t=null===(e=u.current)||void 0===e?void 0:e.release)||void 0===t||t.call(e),u.current=null)}),[]);return{videoRef:o,videoDevice:l,videoLoaded:h,setVideoLoaded:f,cameraRef:u,cameraAccessDenied:_,retryCameraAccess:D,releaseCameraAccess:N,iphoneContinuityCameraAvailable:w,iphoneContinuityCameraAllowed:T,setIphoneContinuityCameraAllowed:S,captureDevice:v,grabFrame:F,takePhoto:L}},ip=function(e){var t=e.children,r=e.preferFrontFacingCamera,i=e.preferContinuityCamera,a=e.requestMicrophoneAccess,o=rp({preferFrontFacingCamera:void 0!==r&&r,preferContinuityCamera:void 0===i||i,requestMicrophoneAccess:void 0!==a&&a}),s=o.videoRef,l=o.videoLoaded,u=o.setVideoLoaded,d=o.cameraRef,h=o.cameraAccessDenied,f=o.retryCameraAccess,p=o.releaseCameraAccess,g=o.iphoneContinuityCameraAvailable,m=o.iphoneContinuityCameraAllowed,v=o.setIphoneContinuityCameraAllowed,y=o.grabFrame,b=o.takePhoto,w=o.captureDevice,x=n.useState(!1),E=x[0],T=x[1];return n.useEffect((function(){T(!1),w&&(T(!0),b().then((function(){T(!0)})))}),[w,b]),n.useEffect((function(){return function(){p()}}),[p]),c.default.createElement(Nt.Provider,{value:{videoRef:s,videoLoaded:l,setVideoLoaded:u,cameraRef:d,cameraReady:E,cameraAccessDenied:h,releaseCameraAccess:p,retryCameraAccess:f,iphoneContinuityCameraAvailable:g,iphoneContinuityCameraAllowed:m,setIphoneContinuityCameraAllowed:v,grabFrame:y,takePhoto:b}},t)},ap=function(e){var t=e.children,r=n.useState({width:1,height:1}),i=r[1],a=n.useState(1),o=a[0],s=a[1],l=Et(),u=l.ref,d=l.width,h=void 0===d?1:d,f=l.height,p=void 0===f?1:f,g=h/p,m=n.useCallback((function(e){var t=e.target;s(t.naturalWidth/t.naturalHeight)}),[]);return c.default.createElement(Tt.Provider,{value:{orientation:"landscape",wrapperWidth:h,wrapperHeight:p,wrapperAspectRatio:g,imageAspectRatio:o,setDimensions:i,wrapperRef:u,onImageLoaded:m}},t)},op=function(){var e=n.useContext(qe),t=e.submissionRequest,r=e.submissionResponse,i=n.useState(!1),a=i[0],o=i[1],s=n.useState(!0),l=s[0],u=s[1],d=n.useMemo((function(){var e,n,r,i,a,o,s=JSON.parse(JSON.stringify(t));return l&&((null===(n=null===(e=null==s?void 0:s.customerData)||void 0===e?void 0:e.idData)||void 0===n?void 0:n.idImageFront)&&(s.customerData.idData.idImageFront=sp(s.customerData.idData.idImageFront,200)),(null===(i=null===(r=null==s?void 0:s.customerData)||void 0===r?void 0:r.idData)||void 0===i?void 0:i.idImageBack)&&(s.customerData.idData.idImageBack=sp(s.customerData.idData.idImageBack,200)),(null===(o=null===(a=null==s?void 0:s.customerData)||void 0===a?void 0:a.biometricData)||void 0===o?void 0:o.selfie)&&(s.customerData.biometricData.selfie=sp(s.customerData.biometricData.selfie,200))),JSON.stringify(s,null,2)}),[t,l]);return c.default.createElement(c.default.Fragment,null,c.default.createElement("h3",null,"Submission completed!"),c.default.createElement("button",{onClick:function(){o(!a)}},a?"Hide":"Show"," request body"),a&&c.default.createElement(c.default.Fragment,null,c.default.createElement("button",{style:{marginLeft:8},onClick:function(){u(!l)}},l?"Display full images":"Truncate images"),c.default.createElement("h5",null,"Request Body"),c.default.createElement("pre",null,d)),c.default.createElement("h5",null,"Response Body"),c.default.createElement("pre",null,JSON.stringify(r,null,2)))};function sp(e,t){var n=e.split("").splice(0,t).join("");return n.length<e.length&&(n+="..."),n}var lp,cp=h.default.div(lp||(lp=y(["\n display: inline-block;\n width: 80px;\n height: 80px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: 64px;\n height: 64px;\n margin: 8px;\n border-radius: 50%;\n border: 6px solid #888;\n border-color: #888 transparent #888 transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"],["\n display: inline-block;\n width: 80px;\n height: 80px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: 64px;\n height: 64px;\n margin: 8px;\n border-radius: 50%;\n border: 6px solid #888;\n border-color: #888 transparent #888 transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"]))),up=function(e){var t=e.document,r=e.onComplete,i=e.headingText,a=e.nextBtnText,o=ye().t,s=n.useState(null),l=s[0],u=s[1];return i=i||o("Additional document capture"),a=a||o("Next"),c.default.createElement(rt,null,c.default.createElement(it,{style:{textAlign:"left"}},c.default.createElement("h3",{style:{margin:"0 0 8px"}},i,": ",t.name),t.description&&c.default.createElement("p",{style:{margin:"8px 0"}},t.description),c.default.createElement("p",{style:{margin:"8px 0"}},c.default.createElement("input",{type:"file",accept:"image/*,.pdf",onChange:function(e){var t,n=null===(t=e.target.files)||void 0===t?void 0:t[0];n&&u(n)}})),c.default.createElement("p",{style:{margin:"8px 0"}},c.default.createElement("button",{disabled:!l,onClick:function(e){if(e.preventDefault(),l){var n=new FileReader;n.onloadend=function(){if(n.result){var e=n.result.toString();null==r||r({documentName:t.name,additionalDocument:{name:l.name,fileContent:Ke(e),type:Ye(e),fileUploadType:"Y",isImageControlData:"N",fieldId:""}})}},n.readAsDataURL(l)}}},a))))},dp=function(e){var t=e.documents,r=e.onComplete,i=e.verbiage,a=void 0===i?{}:i,o=n.useState([]),s=o[0],l=o[1],u=s.length,d=t[u],h=u>=t.length;return n.useEffect((function(){(null==d?void 0:d.skip)&&g(void 0,void 0,void 0,(function(){var e;return m(this,(function(t){switch(t.label){case 0:return[4,null===(e=d.skip)||void 0===e?void 0:e.call(d)];case 1:return t.sent()&&l((function(e){return v(v([],e,!0),[null],!1)})),[2]}}))}))}),[d]),n.useEffect((function(){h&&(null==r||r(s.filter((function(e){return!!e}))))}),[h,r,s]),h?c.default.createElement(c.default.Fragment,null,"Thanks, your documents have been received."):c.default.createElement(up,{key:u,headingText:a.headingText,nextBtnText:a.nextBtnText,document:d,onComplete:function(e){l((function(t){return v(v([],t,!0),[e],!1)}))}})},hp="function"==typeof Symbol&&Symbol.for,fp=hp?Symbol.for("react.element"):60103,pp=hp?Symbol.for("react.portal"):60106,gp=hp?Symbol.for("react.fragment"):60107,mp=hp?Symbol.for("react.strict_mode"):60108,vp=hp?Symbol.for("react.profiler"):60114,yp=hp?Symbol.for("react.provider"):60109,bp=hp?Symbol.for("react.context"):60110,wp=hp?Symbol.for("react.async_mode"):60111,xp=hp?Symbol.for("react.concurrent_mode"):60111,Ep=hp?Symbol.for("react.forward_ref"):60112,Tp=hp?Symbol.for("react.suspense"):60113,Sp=hp?Symbol.for("react.suspense_list"):60120,Cp=hp?Symbol.for("react.memo"):60115,kp=hp?Symbol.for("react.lazy"):60116,Ap=hp?Symbol.for("react.block"):60121,Rp=hp?Symbol.for("react.fundamental"):60117,_p=hp?Symbol.for("react.responder"):60118,Ip=hp?Symbol.for("react.scope"):60119;function Dp(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case fp:switch(e=e.type){case wp:case xp:case gp:case vp:case mp:case Tp:return e;default:switch(e=e&&e.$$typeof){case bp:case Ep:case kp:case Cp:case yp:return e;default:return t}}case pp:return t}}}function Fp(e){return Dp(e)===xp}var Lp={AsyncMode:wp,ConcurrentMode:xp,ContextConsumer:bp,ContextProvider:yp,Element:fp,ForwardRef:Ep,Fragment:gp,Lazy:kp,Memo:Cp,Portal:pp,Profiler:vp,StrictMode:mp,Suspense:Tp,isAsyncMode:function(e){return Fp(e)||Dp(e)===wp},isConcurrentMode:Fp,isContextConsumer:function(e){return Dp(e)===bp},isContextProvider:function(e){return Dp(e)===yp},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===fp},isForwardRef:function(e){return Dp(e)===Ep},isFragment:function(e){return Dp(e)===gp},isLazy:function(e){return Dp(e)===kp},isMemo:function(e){return Dp(e)===Cp},isPortal:function(e){return Dp(e)===pp},isProfiler:function(e){return Dp(e)===vp},isStrictMode:function(e){return Dp(e)===mp},isSuspense:function(e){return Dp(e)===Tp},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===gp||e===xp||e===vp||e===mp||e===Tp||e===Sp||"object"==typeof e&&null!==e&&(e.$$typeof===kp||e.$$typeof===Cp||e.$$typeof===yp||e.$$typeof===bp||e.$$typeof===Ep||e.$$typeof===Rp||e.$$typeof===_p||e.$$typeof===Ip||e.$$typeof===Ap)},typeOf:Dp};ie((function(e,t){}));ie((function(e){e.exports=Lp}));function Np(){}function Mp(){}Mp.resetWarningCache=Np;var Pp=ie((function(e){e.exports=function(){function e(e,t,n,r,i,a){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==a){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:Mp,resetWarningCache:Np};return n.PropTypes=n,n}()}));function Op(e,t,n){this.x=e,this.y=t,this.time=n||(new Date).getTime()}function Bp(e,t,n,r){this.startPoint=e,this.control1=t,this.control2=n,this.endPoint=r}function Up(e,t){var n=this,r=t||{};this.velocityFilterWeight=r.velocityFilterWeight||.7,this.minWidth=r.minWidth||.5,this.maxWidth=r.maxWidth||2.5,this.throttle="throttle"in r?r.throttle:16,this.minDistance="minDistance"in r?r.minDistance:5,this._strokeMoveUpdate=this.throttle?function(e,t,n){var r,i,a,o=null,s=0;n||(n={});var l=function(){s=!1===n.leading?0:Date.now(),o=null,a=e.apply(r,i),o||(r=i=null)};return function(){var c=Date.now();s||!1!==n.leading||(s=c);var u=t-(c-s);return r=this,i=arguments,u<=0||u>t?(o&&(clearTimeout(o),o=null),s=c,a=e.apply(r,i),o||(r=i=null)):o||!1===n.trailing||(o=setTimeout(l,u)),a}}(Up.prototype._strokeUpdate,this.throttle):Up.prototype._strokeUpdate,this.dotSize=r.dotSize||function(){return(this.minWidth+this.maxWidth)/2},this.penColor=r.penColor||"black",this.backgroundColor=r.backgroundColor||"rgba(0,0,0,0)",this.onBegin=r.onBegin,this.onEnd=r.onEnd,this._canvas=e,this._ctx=e.getContext("2d"),this.clear(),this._handleMouseDown=function(e){1===e.which&&(n._mouseButtonDown=!0,n._strokeBegin(e))},this._handleMouseMove=function(e){n._mouseButtonDown&&n._strokeMoveUpdate(e)},this._handleMouseUp=function(e){1===e.which&&n._mouseButtonDown&&(n._mouseButtonDown=!1,n._strokeEnd(e))},this._handleTouchStart=function(e){1===e.targetTouches.length&&n._strokeBegin(e.changedTouches[0])},this._handleTouchMove=function(e){e.preventDefault(),n._strokeMoveUpdate(e.targetTouches[0])},this._handleTouchEnd=function(e){e.target===n._canvas&&(e.preventDefault(),n._strokeEnd(e))},this.on()}Op.prototype.velocityFrom=function(e){return this.time!==e.time?this.distanceTo(e)/(this.time-e.time):1},Op.prototype.distanceTo=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))},Op.prototype.equals=function(e){return this.x===e.x&&this.y===e.y&&this.time===e.time},Bp.prototype.length=function(){for(var e=0,t=void 0,n=void 0,r=0;r<=10;r+=1){var i=r/10,a=this._point(i,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),o=this._point(i,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(r>0){var s=a-t,l=o-n;e+=Math.sqrt(s*s+l*l)}t=a,n=o}return e},Bp.prototype._point=function(e,t,n,r,i){return t*(1-e)*(1-e)*(1-e)+3*n*(1-e)*(1-e)*e+3*r*(1-e)*e*e+i*e*e*e},Up.prototype.clear=function(){var e=this._ctx,t=this._canvas;e.fillStyle=this.backgroundColor,e.clearRect(0,0,t.width,t.height),e.fillRect(0,0,t.width,t.height),this._data=[],this._reset(),this._isEmpty=!0},Up.prototype.fromDataURL=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=new Image,i=n.ratio||window.devicePixelRatio||1,a=n.width||this._canvas.width/i,o=n.height||this._canvas.height/i;this._reset(),r.src=e,r.onload=function(){t._ctx.drawImage(r,0,0,a,o)},this._isEmpty=!1},Up.prototype.toDataURL=function(e){var t;if("image/svg+xml"===e)return this._toSVG();for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return(t=this._canvas).toDataURL.apply(t,[e].concat(r))},Up.prototype.on=function(){this._handleMouseEvents(),this._handleTouchEvents()},Up.prototype.off=function(){this._canvas.removeEventListener("mousedown",this._handleMouseDown),this._canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this._canvas.removeEventListener("touchstart",this._handleTouchStart),this._canvas.removeEventListener("touchmove",this._handleTouchMove),this._canvas.removeEventListener("touchend",this._handleTouchEnd)},Up.prototype.isEmpty=function(){return this._isEmpty},Up.prototype._strokeBegin=function(e){this._data.push([]),this._reset(),this._strokeUpdate(e),"function"==typeof this.onBegin&&this.onBegin(e)},Up.prototype._strokeUpdate=function(e){var t=this._createPoint(e.clientX,e.clientY),n=this._data[this._data.length-1],r=n&&n[n.length-1],i=r&&t.distanceTo(r)<this.minDistance;if(!r||!i){var a=this._addPoint(t),o=a.curve,s=a.widths;o&&s&&this._drawCurve(o,s.start,s.end),this._data[this._data.length-1].push({x:t.x,y:t.y,time:t.time,color:this.penColor})}},Up.prototype._strokeEnd=function(e){var t=this.points[0];if(!(this.points.length>2)&&t&&this._drawDot(t),t){var n=this._data[this._data.length-1];t.equals(n[n.length-1])||n.push({x:t.x,y:t.y,time:t.time,color:this.penColor})}"function"==typeof this.onEnd&&this.onEnd(e)},Up.prototype._handleMouseEvents=function(){this._mouseButtonDown=!1,this._canvas.addEventListener("mousedown",this._handleMouseDown),this._canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)},Up.prototype._handleTouchEvents=function(){this._canvas.style.msTouchAction="none",this._canvas.style.touchAction="none",this._canvas.addEventListener("touchstart",this._handleTouchStart),this._canvas.addEventListener("touchmove",this._handleTouchMove),this._canvas.addEventListener("touchend",this._handleTouchEnd)},Up.prototype._reset=function(){this.points=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor},Up.prototype._createPoint=function(e,t,n){var r=this._canvas.getBoundingClientRect();return new Op(e-r.left,t-r.top,n||(new Date).getTime())},Up.prototype._addPoint=function(e){var t=this.points,n=void 0;if(t.push(e),t.length>2){3===t.length&&t.unshift(t[0]);var r=(n=this._calculateCurveControlPoints(t[0],t[1],t[2])).c2;n=this._calculateCurveControlPoints(t[1],t[2],t[3]);var i=new Bp(t[1],r,n.c1,t[2]),a=this._calculateCurveWidths(i);return t.shift(),{curve:i,widths:a}}return{}},Up.prototype._calculateCurveControlPoints=function(e,t,n){var r=e.x-t.x,i=e.y-t.y,a=t.x-n.x,o=t.y-n.y,s=(e.x+t.x)/2,l=(e.y+t.y)/2,c=(t.x+n.x)/2,u=(t.y+n.y)/2,d=Math.sqrt(r*r+i*i),h=Math.sqrt(a*a+o*o),f=h/(d+h),p=t.x-(c+(s-c)*f),g=t.y-(u+(l-u)*f);return{c1:new Op(s+p,l+g),c2:new Op(c+p,u+g)}},Up.prototype._calculateCurveWidths=function(e){var t={start:null,end:null},n=this.velocityFilterWeight*e.endPoint.velocityFrom(e.startPoint)+(1-this.velocityFilterWeight)*this._lastVelocity,r=this._strokeWidth(n);return t.start=this._lastWidth,t.end=r,this._lastVelocity=n,this._lastWidth=r,t},Up.prototype._strokeWidth=function(e){return Math.max(this.maxWidth/(e+1),this.minWidth)},Up.prototype._drawPoint=function(e,t,n){var r=this._ctx;r.moveTo(e,t),r.arc(e,t,n,0,2*Math.PI,!1),this._isEmpty=!1},Up.prototype._drawCurve=function(e,t,n){var r=this._ctx,i=n-t,a=Math.floor(e.length());r.beginPath();for(var o=0;o<a;o+=1){var s=o/a,l=s*s,c=l*s,u=1-s,d=u*u,h=d*u,f=h*e.startPoint.x;f+=3*d*s*e.control1.x,f+=3*u*l*e.control2.x;var p=h*e.startPoint.y;p+=3*d*s*e.control1.y,p+=3*u*l*e.control2.y,this._drawPoint(f+=c*e.endPoint.x,p+=c*e.endPoint.y,t+c*i)}r.closePath(),r.fill()},Up.prototype._drawDot=function(e){var t=this._ctx,n="function"==typeof this.dotSize?this.dotSize():this.dotSize;t.beginPath(),this._drawPoint(e.x,e.y,n),t.closePath(),t.fill()},Up.prototype._fromData=function(e,t,n){for(var r=0;r<e.length;r+=1){var i=e[r];if(i.length>1)for(var a=0;a<i.length;a+=1){var o=i[a],s=new Op(o.x,o.y,o.time),l=o.color;if(0===a)this.penColor=l,this._reset(),this._addPoint(s);else if(a!==i.length-1){var c=this._addPoint(s),u=c.curve,d=c.widths;u&&d&&t(u,d,l)}}else this._reset(),n(i[0])}},Up.prototype._toSVG=function(){var e=this,t=this._data,n=this._canvas,r=Math.max(window.devicePixelRatio||1,1),i=n.width/r,a=n.height/r,o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttributeNS(null,"width",n.width),o.setAttributeNS(null,"height",n.height),this._fromData(t,(function(e,t,n){var r=document.createElement("path");if(!(isNaN(e.control1.x)||isNaN(e.control1.y)||isNaN(e.control2.x)||isNaN(e.control2.y))){var i="M "+e.startPoint.x.toFixed(3)+","+e.startPoint.y.toFixed(3)+" C "+e.control1.x.toFixed(3)+","+e.control1.y.toFixed(3)+" "+e.control2.x.toFixed(3)+","+e.control2.y.toFixed(3)+" "+e.endPoint.x.toFixed(3)+","+e.endPoint.y.toFixed(3);r.setAttribute("d",i),r.setAttribute("stroke-width",(2.25*t.end).toFixed(3)),r.setAttribute("stroke",n),r.setAttribute("fill","none"),r.setAttribute("stroke-linecap","round"),o.appendChild(r)}}),(function(t){var n=document.createElement("circle"),r="function"==typeof e.dotSize?e.dotSize():e.dotSize;n.setAttribute("r",r),n.setAttribute("cx",t.x),n.setAttribute("cy",t.y),n.setAttribute("fill",t.color),o.appendChild(n)}));var s='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 '+i+" "+a+'" width="'+i+'" height="'+a+'">',l=o.innerHTML;if(void 0===l){var c=document.createElement("dummy"),u=o.childNodes;c.innerHTML="";for(var d=0;d<u.length;d+=1)c.appendChild(u[d].cloneNode(!0));l=c.innerHTML}return"data:image/svg+xml;base64,"+btoa(s+l+"</svg>")},Up.prototype.fromData=function(e){var t=this;this.clear(),this._fromData(e,(function(e,n){return t._drawCurve(e,n.start,n.end)}),(function(e){return t._drawDot(e)})),this._data=e},Up.prototype.toData=function(){return this._data};var $p=Object.freeze({__proto__:null,default:Up}),Gp=ie((function(e,t){e.exports=function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t){function n(e){var t=e.getContext("2d"),n=e.width,r=e.height,i=t.getImageData(0,0,n,r).data,s=a(!0,n,r,i),l=a(!1,n,r,i),c=o(!0,n,r,i),u=o(!1,n,r,i)-c+1,d=l-s+1,h=t.getImageData(c,s,u,d);return e.width=u,e.height=d,t.clearRect(0,0,u,d),t.putImageData(h,0,0),e}function r(e,t,n,r){return{red:r[4*(n*t+e)],green:r[4*(n*t+e)+1],blue:r[4*(n*t+e)+2],alpha:r[4*(n*t+e)+3]}}function i(e,t,n,i){return r(e,t,n,i).alpha}function a(e,t,n,r){for(var a=e?1:-1,o=e?0:n-1;e?o<n:o>-1;o+=a)for(var s=0;s<t;s++)if(i(s,o,t,r))return o;return null}function o(e,t,n,r){for(var a=e?1:-1,o=e?0:t-1;e?o<t:o>-1;o+=a)for(var s=0;s<n;s++)if(i(o,s,t,r))return o;return null}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n}])}));re(Gp);var jp=function(e){return e&&e.default||e}($p),zp=ie((function(e,t){e.exports=function(e,t,n,r){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=r(n(1)),d=n(2),h=r(d),f=r(n(3)),p=r(n(4)),g=function(e){function t(){var e,n,r;a(this,t);for(var s=arguments.length,l=Array(s),c=0;c<s;c++)l[c]=arguments[c];return n=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),r._sigPad=null,r._excludeOurProps=function(){var e=r.props;return i(e,["canvasProps","clearOnResize"])},r.getCanvas=function(){return r._canvas},r.getTrimmedCanvas=function(){var e=document.createElement("canvas");return e.width=r._canvas.width,e.height=r._canvas.height,e.getContext("2d").drawImage(r._canvas,0,0),(0,p.default)(e)},r.getSignaturePad=function(){return r._sigPad},r._checkClearOnResize=function(){r.props.clearOnResize&&r._resizeCanvas()},r._resizeCanvas=function(){var e=r.props.canvasProps||{},t=e.width,n=e.height;if(!t||!n){var i=r._canvas,a=Math.max(window.devicePixelRatio||1,1);t||(i.width=i.offsetWidth*a),n||(i.height=i.offsetHeight*a),i.getContext("2d").scale(a,a),r.clear()}},r.on=function(){return window.addEventListener("resize",r._checkClearOnResize),r._sigPad.on()},r.off=function(){return window.removeEventListener("resize",r._checkClearOnResize),r._sigPad.off()},r.clear=function(){return r._sigPad.clear()},r.isEmpty=function(){return r._sigPad.isEmpty()},r.fromDataURL=function(e,t){return r._sigPad.fromDataURL(e,t)},r.toDataURL=function(e,t){return r._sigPad.toDataURL(e,t)},r.fromData=function(e){return r._sigPad.fromData(e)},r.toData=function(){return r._sigPad.toData()},o(r,n)}return s(t,e),c(t,[{key:"componentDidMount",value:function(){this._sigPad=new f.default(this._canvas,this._excludeOurProps()),this._resizeCanvas(),this.on()}},{key:"componentWillUnmount",value:function(){this.off()}},{key:"componentDidUpdate",value:function(){Object.assign(this._sigPad,this._excludeOurProps())}},{key:"render",value:function(){var e=this;return h.default.createElement("canvas",l({ref:function(t){e._canvas=t}},this.props.canvasProps))}}]),t}(d.Component);g.propTypes={velocityFilterWeight:u.default.number,minWidth:u.default.number,maxWidth:u.default.number,minDistance:u.default.number,dotSize:u.default.oneOfType([u.default.number,u.default.func]),penColor:u.default.string,throttle:u.default.number,onEnd:u.default.func,onBegin:u.default.func,canvasProps:u.default.object,clearOnResize:u.default.bool},g.defaultProps={clearOnResize:!0},t.default=g},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t){e.exports=r}])}(Pp,c.default,jp,Gp)})),qp=re(zp);function Vp(e){var t,n=null!==(t=e.toDataURL())&&void 0!==t?t:null,r={clickX_simple:[],clickY_simple:[],time_simple:[],pressure:"",fileContent:n?Ke(n):""};return e.toData().forEach((function(e){var t=[],n=[],i=[];e.forEach((function(e){t.push(e.x),n.push(e.y),i.push(new Date(e.time).toString())})),r.clickX_simple.push(t),r.clickY_simple.push(n),r.time_simple.push(i)})),r}var Hp,Wp=function(e){var t=e.onAccept,r=e.background,i=void 0===r?"white":r,a=e.verbiage,o=void 0===a?{}:a,s=ye().t,l=Et(),u=l.ref,d=l.width,h=l.height,f=n.useRef(null);return o.headingText=o.headingText||s("Please sign the box below"),o.acceptBtnText=o.acceptBtnText||s("Accept"),o.clearBtnText=o.clearBtnText||s("Clear"),c.default.createElement(rt,{style:{background:i}},c.default.createElement(it,null,c.default.createElement("div",{style:{flexGrow:0,paddingBottom:12}},c.default.createElement("h3",{style:{margin:0}},o.headingText)),c.default.createElement("div",{ref:u,style:{position:"relative",border:"3px solid #888",flexGrow:1,zIndex:"100"}},c.default.createElement(qp,{ref:f,canvasProps:{width:d,height:(null!=h?h:500)-4}})),c.default.createElement("div",{style:{flexGrow:0,paddingTop:12,display:"flex"}},c.default.createElement("button",{onClick:function(e){var t;e.preventDefault(),null===(t=f.current)||void 0===t||t.clear()}},o.clearBtnText),c.default.createElement("button",{style:{marginLeft:"auto"},onClick:function(e){if(e.preventDefault(),f.current){var n=Vp(f.current);null==t||t(n,f.current.toDataURL())}}},o.acceptBtnText))))},Kp=h.default.div(Hp||(Hp=y(["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"],["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"]))),Yp=function(e){var t,r,i=e.onComplete,a=e.onFaceNotDetected,o=e.verbiage,s=void 0===o?{}:o,l=ye().t,u=n.useContext(Nt),d=u.cameraRef,h=u.videoRef,f=Et(),p=f.ref,y=f.width,b=f.height,w=n.useRef(null),x=n.useRef(null),E=n.useRef([]),T=n.useState(null),S=T[0],C=T[1],k=n.useContext(od),A=k.start,R=k.stop,_=k.onPredictionMade,I=function(e){var t=n.useRef(null),r=n.useRef([]),i=n.useState(null),a=i[0],o=i[1],s=n.useState(!1),l=s[0],c=s[1],u=null==e?void 0:e.stream,d=n.useCallback((function(){u&&(r.current=[],c(!0),t.current=new MediaRecorder(u),t.current.ondataavailable=function(e){r.current.push(e.data)},t.current.onstop=function(){var t=new Blob(r.current,{type:"video/mp4"});r.current=[],o(URL.createObjectURL(t)),c(!1),null==e||e.release()},t.current.start())}),[e,u]),h=n.useCallback((function(){var e;null===(e=t.current)||void 0===e||e.stop()}),[]);return{isRecording:l,startRecording:d,stopRecording:h,videoUrl:a}}(d.current),D=I.isRecording,F=I.startRecording,L=I.stopRecording,N=I.videoUrl,M=n.useState(null),P=M[0],O=M[1],B=n.useState(null),U=B[0],$=B[1];s.acceptBtnText=s.acceptBtnText||l("Accept"),s.clearBtnText=s.clearBtnText||l("Clear");var G=n.useRef(null);n.useEffect((function(){return D&&a&&A(),function(){R()}}),[D,a,A,R]),n.useEffect((function(){if(!D&&!N&&G.current){F();var e=G.current.captureStream(25);x.current=new MediaRecorder(e,{}),x.current.start(),x.current.ondataavailable=function(e){var t;E.current.push(e.data),"recording"===(null===(t=x.current)||void 0===t?void 0:t.state)&&x.current.stop()},x.current.onstop=function(){var e=new Blob(E.current,{type:"video/mp4"}),t=URL.createObjectURL(e);C(t)}}}),[D,F,N]),n.useEffect((function(){S&&P&&U&&(null==i||i(P,U))}),[i,P,U,S]);var j=n.useRef(0);n.useEffect((function(){if(w.current&&h.current&&G.current&&d.current&&D){G.current.width=d.current.width,G.current.height=d.current.height;var e=G.current.getContext("2d");if(e)return j.current=requestAnimationFrame((function t(){return g(this,void 0,void 0,(function(){var n,r,i,a;return m(this,(function(o){return w.current&&h.current&&G.current?(n=window.innerWidth<=800,a=[(r=G.current.width)*(n?.02:.15),(i=G.current.height)*(n?.15:.25),r*(n?.96:.7),i*(n?.7:.5)],e.drawImage(h.current,0,0,r,i),e.beginPath(),e.fillStyle="rgba(255,255,255,0.5)",e.roundRect.apply(e,v(v([],a,!1),[16],!1)),e.fill(),e.drawImage.apply(e,v([w.current.getCanvas()],a,!1)),j.current=requestAnimationFrame(t),[2]):(cancelAnimationFrame(j.current),[2])}))}))})),function(){cancelAnimationFrame(j.current)}}}),[d,D,a,h]);var z=n.useState(0),q=z[0],V=z[1];if(n.useEffect((function(){_((function(e){V((function(t){return 0===e.length?t+1:0}))}))}),[_]),n.useEffect((function(){q>=2&&(null==a||a())}),[q,a]),!D&&N)return c.default.createElement(c.default.Fragment,null,S&&c.default.createElement("video",{src:S,controls:!0,width:"100%"}),U&&c.default.createElement("img",{src:U,alt:"signature"}),P&&c.default.createElement("textarea",{readOnly:!0,style:{width:"100%",height:500},value:JSON.stringify(P,null,2)}));var H=l("Please sign the box below");return c.default.createElement(Ze,{className:"flex"},c.default.createElement(Vt,null),""!==H&&c.default.createElement("div",{style:{position:"absolute",top:"calc(5vh)",fontWeight:"bold",width:"100%",display:"flex"}},c.default.createElement("div",{style:{marginLeft:"auto",marginRight:"auto",background:"#ccc",padding:"10px 12px 8px",borderRadius:8}},H)),c.default.createElement(Kp,null,c.default.createElement("div",{ref:p,style:{position:"relative",background:"rgba(255,255,255,0.5)",borderRadius:16,flexGrow:1,zIndex:"100",height:"100%"}},c.default.createElement(qp,{ref:w,canvasProps:{width:y,height:b}})),c.default.createElement("div",{style:{flexGrow:0,paddingTop:12,display:"flex",zIndex:1e3,position:"relative"}},c.default.createElement("button",{onClick:function(e){var t;e.preventDefault(),null===(t=w.current)||void 0===t||t.clear()}},s.clearBtnText),c.default.createElement("button",{style:{marginLeft:"auto"},onClick:function(e){var t;if(e.preventDefault(),w.current){var n=Vp(w.current);O(n),$(w.current.toDataURL()),L(),null===(t=x.current)||void 0===t||t.stop()}}},s.acceptBtnText))),c.default.createElement("div",{style:{display:"none"}},c.default.createElement("canvas",{ref:G,style:{width:null===(t=h.current)||void 0===t?void 0:t.videoWidth,height:null===(r=h.current)||void 0===r?void 0:r.videoHeight}})))},Xp=function(e){return c.default.createElement(md,{headingText:e.headingText,removeEyeCoveringsText:e.removeEyeCoveringsText,avoidExcessiveBacklightingText:e.avoidExcessiveBacklightingText,continueText:e.continueText,cameraInitializingText:e.cameraInitializingText,modelsWarmingUpText:e.modelsWarmingUpText,instructionImageUrl:e.instructionImageUrl,onDismissed:e.onDismissed})},Jp=function(e){var t=e.onComplete,r=n.useContext(qe),i=r.selfieImage,a=r.setSelfieImage,o=r.setSignatureData,s=r.logSelfieCaptureAttempt,l=n.useContext(Nt).releaseCameraAccess,u=n.useState("LOADING"),d=u[0],h=u[1],f=n.useRef(),p=n.useRef(),v=n.useRef();n.useEffect((function(){return f.current=new Date,function(){l()}}),[l]),n.useEffect((function(){"CHECKING_LIVENESS"===d&&(p.current=new Date)}),[d]);var y=n.useCallback((function(){var e,t,n;s({autoCapture:"Y",captureTime:(null!==(e=v.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=p.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=f.current)&&void 0!==n?n:new Date).getTime()}),f.current=new Date}),[s]),b=n.useCallback((function(){h("CHECKING_LIVENESS")}),[]),w=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){var t;return m(this,(function(n){switch(n.label){case 0:return h("CAPTURING_SIGNATURE"),y(),i?[3,2]:(t=a,[4,We(e)]);case 1:t.apply(void 0,[n.sent()]),n.label=2;case 2:return[2]}}))}))}),[y,i,a]),x=n.useCallback((function(e){o(e),null==t||t()}),[t,o]),E=n.useCallback((function(){h("CHECKING_LIVENESS")}),[]);return c.default.createElement(sd,{throttleMs:"CAPTURING_SIGNATURE"===d?250:0},"LOADING"!==d&&function(){switch(d){case"CHECKING_LIVENESS":return c.default.createElement(gd,{onSuccess:w});case"CAPTURING_SIGNATURE":return c.default.createElement(Yp,{onComplete:x,onFaceNotDetected:E});default:return null}}(),c.default.createElement(Xp,{onDismissed:b}))},Zp=function(e){var t,r,i,a,o,s=e.checks,l=e.idCaptureProps,u=void 0===l?{}:l,d=e.faceLivenessProps,h=void 0===d?{}:d,f=e.signatureCaptureProps,g=void 0===f?{}:f,m=e.signatureKYCProps,y=void 0===m?{}:m,b=e.additionalDocumentCaptureProps,w=e.captureSignature,x=void 0!==w&&w,E=e.captureSignatureVideo,T=void 0!==E&&E,S=n.useContext(qe),C=S.submit,k=S.submissionStatus,A=S.setSignatureData,R=S.setAdditionalDocuments,_=n.useState(0),I=_[0],D=_[1],F=n.useMemo((function(){var e,t,n=v([],s,!0);if(x&&T)throw new Error("captureSignature and captureSignatureVideo cannot be used together");return x&&n.push("SignatureCapture"),T&&n.push("SignatureKYC"),null!==(t=null===(e=null==b?void 0:b.documents)||void 0===e?void 0:e.length)&&void 0!==t&&t&&n.push("AdditionalDocumentCapture"),n}),[null===(t=null==b?void 0:b.documents)||void 0===t?void 0:t.length,x,T,s]),L=F[I],N=I>=F.length;n.useEffect((function(){"SignatureCapture"===L&&"function"==typeof x?x().then((function(e){e||D((function(e){return e+1}))})):"SignatureKYC"===L&&"function"==typeof T&&T().then((function(e){e||D((function(e){return e+1}))}))}),[x,T,L]),n.useEffect((function(){N&&C()}),[N,C]);var M=u.onSuccess,P=n.useCallback((function(e){null==M||M(e),D((function(e){return e+1}))}),[M]),O=h.onComplete,B=n.useCallback((function(e){null==O||O(e),D((function(e){return e+1}))}),[O]),U=n.useCallback((function(e){A(e),D((function(e){return e+1}))}),[A]),$=y.onComplete,G=n.useCallback((function(){null==$||$(),D((function(e){return e+1}))}),[$]),j=null==b?void 0:b.onComplete,z=n.useCallback((function(e){R(e),null==j||j(e),D((function(e){return e+1}))}),[j,R]),q=n.useMemo((function(){var e;return null!==(e=null==b?void 0:b.documents)&&void 0!==e?e:[]}),[null==b?void 0:b.documents]);if(N)switch(k){case Ge.SUBMITTING:return c.default.createElement(Ze,{className:"flex"},c.default.createElement(cp,null));case Ge.SUBMITTED:return c.default.createElement(op,null);case Ge.FAILED:return c.default.createElement(c.default.Fragment,null,"Submission failed!");default:return c.default.createElement(c.default.Fragment,null,"Complete!!")}return c.default.createElement(Xf,{documentDetectionModelUrl:null!==(i=null===(r=u.assets)||void 0===r?void 0:r.documentDetectionModelUrl)&&void 0!==i?i:"",focusModelUrl:null!==(o=null===(a=u.assets)||void 0===a?void 0:a.focusModelUrl)&&void 0!==o?o:""},function(){switch(F[I]){case"IdCapture":return c.default.createElement(ip,null,c.default.createElement(ap,null,c.default.createElement(Yt,p({},u,{onSuccess:P}))));case"FaceLiveness":return c.default.createElement(ip,{preferFrontFacingCamera:!0,preferContinuityCamera:!1},c.default.createElement(sd,null,c.default.createElement(bd,p({},h,{onComplete:B}))));case"SignatureCapture":return c.default.createElement(Wp,p({},g,{onAccept:U}));case"SignatureKYC":return c.default.createElement(ip,{preferContinuityCamera:!1,preferFrontFacingCamera:!0,requestMicrophoneAccess:!0},c.default.createElement(Jp,p({},y,{onComplete:G})));case"AdditionalDocumentCapture":return c.default.createElement(dp,p({},b,{documents:q,onComplete:z}));default:return c.default.createElement(c.default.Fragment,null)}}())},Qp={en:{translation:{}},es:{translation:{"Use your device camera to capture your ID":"Para capturar la identificación hay que utilizar la cámara del dispositivo.","Use your iPhone as a webcam":"Usar el iPhone como cámara web","Models warming up...":"Cargando modelos...","Camera initializing...":"Inicializando la cámara...","Camera access blocked":"Acceso bloqueado a la cámara","Location access blocked":"Acceso bloqueado a la localización",Continue:"Continuar","Your camera permission is disabled":"El permiso de la cámara está desactivado","This application requires access to your camera to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for camera permissions, you must go to settings and provide camera access to the current browser.":"Esta aplicación requiere el acceso a la cámara para continuar. Hay que aceptar el permiso una vez que se muestre la ventana en el explorador. Si no aparece la ventana para otorgar permisos, entonces hay que dirigirse a Configuración y otorgar el permiso a la cámara en el explorador actual.","Your location permission is disabled":"El permiso de la localización está desactivado","This application requires access to your location to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for location permissions, you must go to settings and provide location access to the current browser.":"Esta aplicación requiere el acceso a la localización para continuar. Hay que aceptar el permiso una vez que se muestre la ventana en el explorador. Si no aparece la ventana para otorgar permisos, entonces hay que dirigirse a Configuración y otorgar el permiso a la localización en el explorador actual.",Retry:"Reintentar","Scan the front of ID":"Escanear el frente de la ID","Scan the back of ID":"Escanear el reverso de la ID","Scan the ID page of passport":"Escanear la página de datos del pasaporte","ID Card Front":"Frente de la ID","ID Card Back":"Reverso de la ID",Passport:"Pasaporte","Capturing...":"Capturando...","Capture failed!":"Falló la captura","Please flip your ID card...":"Por favor voltea la identificación...","ID Capture Successful":"Captura Exitosa de ID","Verify the entire ID was captured clearly with no glare.":"Hay que verificar que toda la ID se vea completa y sin reflejos.",Submit:"Enviar","Submitting...":"Enviando...","Use your device camera to capture your face":"Hay que utilizar la cámara del dispositivo para capturar el rostro","Remove Sunglasses & Hat":"Hay que quitarse lentes y/o la gorra","Avoid Excessive Backlighting":"Hay que evitar demasiada luz en el fondo","Hold still for a few seconds...":"Hay que permanecer quieto por unos segundos...","Look straight into the camera...":"Hay que mirar directamente a la cámara...","Move back...":"Hay que hacerse hacia atrás..","Move forward...":"Hay que hacerse hacia adelante...","Move to the center...":"Hay que moverse hacia el centro...","Please remove your eye coverings (sunglasses, eye patch, etc.)...":"Hay que quitarse lo que cubre los ojos (lentes, parche, etc.)...","Please remove your head coverings (hat, scarf, etc.)...":"Hay que quitarse lo que cubre la cabeza (gorra, mascada, etc.)...","Please remove your mask...":"Hay que quitarse el cubrebocas...","Live face not detected, please try again":"Rostro vivo no detectado. Por favor hay que intentar de nuevo.",Exit:"Salir","Face liveness has been verified!":"Se ha verificado la Prueba de Vida en rostro!",Done:"Terminar","Customer has been identified!":"¡Se ha identificado al cliente!","Customer not found":"Cliente no encontrado","Additional document capture":"Captura de otro documento",Next:"Siguiente","Please sign the box below":"Por favor, hay que firmar en el recuadro de abajo",Accept:"Aceptar",Clear:"Borrar"}}},eg=function(e){var t=ye().i18n;n.useEffect((function(){"auto"!==e?t.changeLanguage(e):t.changeLanguage()}),[t,e])},tg=function(e){var t=e.lang,r=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,o=e.submissionUrl,s=e.documentDetectionNonMaxSuppressionEnabled,l=void 0===s||s,u=e.idAutoCaptureEnabled,d=void 0===u||u,h=e.idCardAutoCaptureScoreThreshold,f=void 0===h?.8:h,p=e.passportAutoCaptureScoreThreshold,g=void 0===p?.8:p,m=e.idCardFocusScoreThreshold,v=void 0===m?.3:m,y=e.passportFocusScoreThreshold,b=void 0===y?.3:y,w=e.onBeforeSubmit,x=e.onComplete,E=e.onApproved,T=e.onDenied,S=e.assets,C=void 0===S?{}:S,k=e.verbiage,A=void 0===k?{}:k,R=e.captureSignature,_=void 0!==R&&R,I=e.captureSignatureVideo,D=void 0!==I&&I,F=e.captureAdditionalDocuments,L=void 0===F?[]:F,N=e.geolocationEnabled,M=void 0===N||N,P=e.geolocationRequired,O=void 0!==P&&P,B=e.debugMode,U=void 0!==B&&B;eg(void 0===t?"auto":t);var $=n.useMemo((function(){return{documentDetectionNonMaxSuppressionEnabled:l,autoCaptureEnabled:d,idCardAutoCaptureScoreThreshold:f,passportAutoCaptureScoreThreshold:g,mrzDetectionScoreThreshold:.5,idCardFocusScoreThreshold:v,passportFocusScoreThreshold:b,barcodeScanningEnabled:!1,assets:C,verbiage:A,debugMode:U}}),[C,U,l,d,f,v,g,b,A]),G=n.useMemo((function(){return{verbiage:{headingText:A.signatureCaptureHeadingText,acceptBtnText:A.signatureCaptureAcceptBtnText,clearBtnText:A.signatureCaptureClearBtnText}}}),[A.signatureCaptureAcceptBtnText,A.signatureCaptureClearBtnText,A.signatureCaptureHeadingText]),j=n.useMemo((function(){return{documents:L,verbiage:{headingText:A.additionalDocumentsHeadingText,nextBtnText:A.additionalDocumentsNextBtnText}}}),[L,A.additionalDocumentsHeadingText,A.additionalDocumentsNextBtnText]),z=n.useCallback((function(e){null==x||x(e),"Approved"===e.resultData.verificationResult?null==E||E(e):null==T||T(e)}),[E,x,T]);return c.default.createElement(yt,{action:$e.VALIDATE,environment:a,url:o,token:r,onBeforeSubmit:w,onResponseReceived:z,geolocationEnabled:M,geolocationRequired:O},c.default.createElement(Zp,{checks:n.useMemo((function(){return["IdCapture"]}),[]),idCaptureProps:$,signatureCaptureProps:G,additionalDocumentCaptureProps:j,captureSignature:_,captureSignatureVideo:D}))},ng=function(e){var t=e.lang,r=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,o=e.submissionUrl,s=e.timeoutDurationMs,l=void 0===s?15e3:s,u=e.onBeforeSubmit,d=e.onComplete,h=e.onApproved,f=e.onDenied,p=e.onExitAfterFailure,g=e.assets,m=e.verbiage,v=e.geolocationEnabled,y=void 0===v||v,b=e.geolocationRequired,w=void 0!==b&&b,x=e.debugMode,E=void 0!==x&&x;eg(void 0===t?"auto":t);var T=n.useMemo((function(){return{timeoutDurationMs:l,onComplete:d,onSuccess:h,onTimeout:f,onExitAfterFailure:p,assets:g,verbiage:m,debugMode:E}}),[g,E,h,d,f,p,l,m]);return c.default.createElement(yt,{action:$e.NONE,environment:a,url:o,token:r,onBeforeSubmit:u,geolocationEnabled:y,geolocationRequired:w},c.default.createElement(Zp,{checks:n.useMemo((function(){return["FaceLiveness"]}),[]),idCaptureProps:{},faceLivenessProps:T}))},rg=function(e){var t=e.lang,r=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,o=e.submissionUrl,s=e.documentDetectionNonMaxSuppressionEnabled,l=void 0===s||s,u=e.idAutoCaptureEnabled,d=void 0===u||u,h=e.idCardAutoCaptureScoreThreshold,f=void 0===h?.8:h,p=e.mrzDetectionScoreThreshold,g=void 0===p?.5:p,m=e.passportAutoCaptureScoreThreshold,v=void 0===m?.8:m,y=e.idCardFocusScoreThreshold,b=void 0===y?.3:y,w=e.passportFocusScoreThreshold,x=void 0===w?.3:w,E=e.idCaptureAssets,T=e.idCaptureVerbiage,S=e.faceLivenessTimeoutDurationMs,C=void 0===S?15e3:S,k=e.faceLivenessAssets,A=e.faceLivenessVerbiage,R=e.onBeforeSubmit,_=e.onComplete,I=e.onApproved,D=e.onDenied,F=e.onExitAfterFailure,L=e.captureSignature,N=void 0!==L&&L,M=e.captureSignatureVideo,P=void 0!==M&&M,O=e.captureAdditionalDocuments,B=void 0===O?[]:O,U=e.geolocationEnabled,$=void 0===U||U,G=e.geolocationRequired,j=void 0!==G&&G,z=e.debugMode,q=void 0!==z&&z;eg(void 0===t?"auto":t);var V=n.useMemo((function(){return{assets:E,verbiage:T,autoCaptureEnabled:d,documentDetectionNonMaxSuppressionEnabled:l,idCardAutoCaptureScoreThreshold:f,passportAutoCaptureScoreThreshold:v,mrzDetectionScoreThreshold:g,idCardFocusScoreThreshold:b,passportFocusScoreThreshold:x,debugMode:q}}),[q,l,d,E,T,f,b,g,v,x]),H=n.useMemo((function(){return{timeoutDurationMs:C,onTimeout:D,onExitAfterFailure:F,assets:k,verbiage:A,debugMode:q}}),[q,k,C,A,D,F]),W=n.useMemo((function(){return{verbiage:{headingText:null==T?void 0:T.signatureCaptureHeadingText,acceptBtnText:null==T?void 0:T.signatureCaptureAcceptBtnText,clearBtnText:null==T?void 0:T.signatureCaptureClearBtnText}}}),[null==T?void 0:T.signatureCaptureAcceptBtnText,null==T?void 0:T.signatureCaptureClearBtnText,null==T?void 0:T.signatureCaptureHeadingText]),K=n.useMemo((function(){return{documents:B,verbiage:{headingText:null==T?void 0:T.additionalDocumentsHeadingText,nextBtnText:null==T?void 0:T.additionalDocumentsNextBtnText}}}),[B,null==T?void 0:T.additionalDocumentsHeadingText,null==T?void 0:T.additionalDocumentsNextBtnText]),Y=n.useCallback((function(e){null==_||_(e),"Approved"===e.resultData.verificationResult?null==I||I(e):null==D||D(e)}),[I,_,D]);return c.default.createElement(yt,{action:$e.VALIDATE,environment:a,url:o,token:r,onBeforeSubmit:R,onResponseReceived:Y,geolocationEnabled:$,geolocationRequired:j},c.default.createElement(Zp,{checks:n.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:V,faceLivenessProps:H,signatureCaptureProps:W,additionalDocumentCaptureProps:K,captureSignature:N,captureSignatureVideo:P}))},ig=function(e){var t=e.enrollmentId,r=e.lang,i=e.submissionToken,a=e.submissionEnvironment,o=void 0===a?"prod":a,s=e.submissionUrl,l=e.documentDetectionNonMaxSuppressionEnabled,u=void 0===l||l,d=e.idAutoCaptureEnabled,h=void 0===d||d,f=e.idCardAutoCaptureScoreThreshold,p=void 0===f?.8:f,g=e.mrzDetectionScoreThreshold,m=void 0===g?.5:g,v=e.passportAutoCaptureScoreThreshold,y=void 0===v?.8:v,b=e.idCardFocusScoreThreshold,w=void 0===b?.3:b,x=e.passportFocusScoreThreshold,E=void 0===x?.3:x,T=e.idCaptureAssets,S=e.idCaptureVerbiage,C=e.faceLivenessTimeoutDurationMs,k=void 0===C?15e3:C,A=e.faceLivenessAssets,R=e.faceLivenessVerbiage,_=e.onBeforeSubmit,I=e.onComplete,D=e.onEnrolled,F=e.onDenied,L=e.onExitAfterFailure,N=e.captureSignature,M=void 0!==N&&N,P=e.captureSignatureVideo,O=void 0!==P&&P,B=e.captureAdditionalDocuments,U=void 0===B?[]:B,$=e.geolocationEnabled,G=void 0===$||$,j=e.geolocationRequired,z=void 0!==j&&j,q=e.debugMode,V=void 0!==q&&q;eg(void 0===r?"auto":r);var H=n.useMemo((function(){return{assets:T,verbiage:S,documentDetectionNonMaxSuppressionEnabled:u,autoCaptureEnabled:h,idCardAutoCaptureScoreThreshold:p,passportAutoCaptureScoreThreshold:y,mrzDetectionScoreThreshold:m,idCardFocusScoreThreshold:w,passportFocusScoreThreshold:E,debugMode:V}}),[V,u,h,T,S,p,w,m,y,E]),W=n.useMemo((function(){return{onExitAfterFailure:L,timeoutDurationMs:k,assets:A,verbiage:R,debugMode:V}}),[V,A,k,R,L]),K=n.useMemo((function(){return{verbiage:{headingText:null==S?void 0:S.signatureCaptureHeadingText,acceptBtnText:null==S?void 0:S.signatureCaptureAcceptBtnText,clearBtnText:null==S?void 0:S.signatureCaptureClearBtnText}}}),[null==S?void 0:S.signatureCaptureAcceptBtnText,null==S?void 0:S.signatureCaptureClearBtnText,null==S?void 0:S.signatureCaptureHeadingText]),Y=n.useMemo((function(){return{documents:U,verbiage:{headingText:null==S?void 0:S.additionalDocumentsHeadingText,nextBtnText:null==S?void 0:S.additionalDocumentsNextBtnText}}}),[U,null==S?void 0:S.additionalDocumentsHeadingText,null==S?void 0:S.additionalDocumentsNextBtnText]),X=n.useCallback((function(e){null==I||I(e),"Customer Onboarded"===e.resultData.verificationResult?null==D||D(e):null==F||F(e)}),[D,I,F]);return c.default.createElement(yt,{action:$e.ENROLL,environment:o,url:s,token:i,enrollmentId:t,onBeforeSubmit:_,onResponseReceived:X,geolocationEnabled:G,geolocationRequired:z},c.default.createElement(Zp,{checks:n.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:H,faceLivenessProps:W,signatureCaptureProps:K,additionalDocumentCaptureProps:Y,captureSignature:M,captureSignatureVideo:O}))},ag={frame:null,face:null,imageUrl:null,requestState:"NOT_READY",requestError:null,unverifiedTimes:0},og=function(e,t){switch(t.type){case"verificationReady":return["NOT_READY","ERROR"].includes(e.requestState)?p(p({},e),{requestState:"READY",frame:t.payload.frame,face:t.payload.face}):e;case"verifying":return p(p({},e),{requestState:"IN_PROGRESS",imageUrl:t.payload.imageUrl});case"verificationCompleted":var n=t.payload.response,r=n.status,i=r.statusMessage,a=r.errorData,o=n.resultData;if("000"!==r.statusCode)return p(p({},e),{requestState:"ERROR",requestError:new Error("".concat(i,": ").concat(a))});var s=e.requestState,l=e.unverifiedTimes;return"46"===o.verificationResultCode?s="FOUND":l<2?(s="READY",l+=1):s="NOT_FOUND",p(p({},e),{requestState:s,unverifiedTimes:l});case"verificationFailed":return p(p({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},sg=function(e){var t=e.onCustomerMatched,r=e.onCustomerNotMatched,i=e.onCaptureGuidanceTimeout,a=e.captureGuidanceTimeoutDurationMs,o=e.verbiage,s=void 0===o?{}:o,l=e.debugMode,u=void 0!==l&&l,d=n.useReducer(og,ag),h=d[0],f=d[1],p=h.frame,v=h.face,y=n.useContext(qe),b=y.submit,w=y.submissionResponse,x=y.selfieImage,E=y.setSelfieImage,T=n.useCallback((function(e,t){f({type:"verificationReady",payload:{frame:e,face:t}})}),[]),S="READY"===h.requestState;return n.useEffect((function(){p&&v&&We(dd(p,v)).then((function(e){console.log("setting selfie image",e),E(e)}))}),[v,p,E]),n.useEffect((function(){S&&x&&g(void 0,void 0,void 0,(function(){var e,t;return m(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),f({type:"verifying",payload:{imageUrl:x}}),[4,b()];case 1:if(!(e=n.sent()))throw new Error("submission failed!");return f({type:"verificationCompleted",payload:{response:e}}),[3,3];case 2:return t=n.sent(),f({type:"verificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[S,t,r,x,h.requestState,b]),n.useEffect((function(){w&&("FOUND"===h.requestState?null==t||t(w):"NOT_FOUND"===h.requestState&&(null==r||r(w)))}),[t,r,h.requestState,w]),c.default.createElement(ud,{onSelfieCaptured:T,onTimeout:i,timeoutDurationMs:a,verbiage:s,debugMode:u})},lg=function(e){var t=e.headingText,n=e.retryBtnText,r=e.doneBtnText,i=e.imageUrl,a=e.onDoneClick,o=e.onRetryClick,s=ye().t;return i=i||"".concat(Ut,"/Selfie-Image-1.png"),t=t||s("Customer has been verified!"),n=n||s("Retry"),r=r||s("Done"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",{style:{marginBottom:24}},t),c.default.createElement(at,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:t,src:i})),c.default.createElement("div",{style:{marginTop:24}},c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:o},c.default.createElement("span",{className:"ladda-label"},n)),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"mint",onClick:a,style:{marginLeft:15}},c.default.createElement("span",{className:"ladda-label"},r)))))},cg=function(e){var t=e.headingText,n=e.retryBtnText,r=e.exitBtnText,i=e.imageUrl,a=e.canRetry,o=void 0===a||a,s=e.onRetryClick,l=e.onExitClick,u=ye().t;return i=i||"".concat(Ut,"/manual_capture.png"),t=t||u("Customer not verified"),n=n||u("Retry"),r=r||u("Exit"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",{style:{marginBottom:24}},t),c.default.createElement(at,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:t,src:i})),c.default.createElement("div",{style:{marginTop:24}},o&&c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:s,style:{marginRight:15}},c.default.createElement("span",{className:"ladda-label"},n)),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"black",onClick:l},c.default.createElement("span",{className:"ladda-label"},r)))))},ug=function(e){var t=e.onComplete,r=e.onCustomerMatched,i=e.onCustomerNotMatched,a=e.onExitAfterFailure,o=e.onCaptureGuidanceTimeout,s=e.captureGuidanceTimeoutDurationMs,l=e.assets,u=void 0===l?{}:l,d=e.verbiage,h=void 0===d?{}:d,f=e.debugMode,p=void 0!==f&&f,v=n.useContext(qe),y=v.submissionResponse,b=v.selfieImage,w=n.useContext(Nt).releaseCameraAccess,x=n.useState("LOADING"),E=x[0],T=x[1],S=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){return m(this,(function(t){return T("MATCHED"),w(),setTimeout((function(){null==r||r(e)}),0),[2]}))}))}),[r,w]),C=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){return m(this,(function(t){return T("NOT_MATCHED"),w(),setTimeout((function(){null==i||i(e)}),0),[2]}))}))}),[i,w]),k=n.useCallback((function(){T("FAILED"),w(),setTimeout((function(){null==o||o()}),0)}),[o,w]);return c.default.createElement(c.default.Fragment,null,"LOADING"!==E&&function(){switch(E){case"CAPTURING":return c.default.createElement(sg,{onCustomerMatched:S,onCustomerNotMatched:C,onCaptureGuidanceTimeout:k,captureGuidanceTimeoutDurationMs:s,verbiage:h,debugMode:p});case"MATCHED":return c.default.createElement(lg,{headingText:h.successHeadingText,retryBtnText:h.successRetryBtnText,doneBtnText:h.successDoneBtnText,imageUrl:"data:image/png;base64, ".concat(b),onDoneClick:function(){y&&(null==t||t(y))},onRetryClick:function(){T("CAPTURING")}});case"NOT_MATCHED":return c.default.createElement(cg,{headingText:h.failureHeadingText,retryBtnText:h.failureRetryBtnText,exitBtnText:null==h?void 0:h.failureExitBtnText,imageUrl:u.failureImageUrl,canRetry:!1,onExitClick:a});default:return null}}(),c.default.createElement(md,{headingText:h.loadingOverlayHeadingText,removeEyeCoveringsText:h.loadingOverlayRemoveEyeCoveringsText,avoidExcessiveBacklightingText:h.loadingOverlayAvoidExcessiveBacklightingText,continueText:h.loadingOverlayContinueText,cameraInitializingText:h.loadingOverlayCameraInitializingText,modelsWarmingUpText:h.loadingOverlayModelsWarmingUpText,instructionImageUrl:u.instructionImageUrl,onDismissed:function(){T("CAPTURING")}}))},dg=function(e){var t=e.lang,n=e.enrollmentId,r=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,o=e.submissionUrl,s=e.timeoutDurationMs,l=void 0===s?15e3:s,u=e.assets,d=e.verbiage,h=e.onBeforeSubmit,f=e.onComplete,p=e.onCustomerMatched,g=e.onCustomerNotMatched,m=e.onExitAfterFailure,v=e.geolocationEnabled,y=void 0===v||v,b=e.geolocationRequired,w=void 0!==b&&b,x=e.debugMode,E=void 0!==x&&x;return eg(void 0===t?"auto":t),c.default.createElement(yt,{action:$e.VERIFY,environment:a,url:o,token:r,enrollmentId:n,onBeforeSubmit:h,geolocationEnabled:y,geolocationRequired:w},c.default.createElement(sd,null,c.default.createElement(ip,{preferFrontFacingCamera:!0},c.default.createElement(ug,{onComplete:f,onCustomerMatched:p,onCustomerNotMatched:g,onExitAfterFailure:m,captureGuidanceTimeoutDurationMs:l,assets:u,verbiage:d,debugMode:E}))))},hg={frame:null,face:null,imageUrl:null,requestState:"NOT_READY",requestError:null,notFoundTimes:0},fg=function(e,t){switch(t.type){case"identificationReady":return["NOT_READY","ERROR"].includes(e.requestState)?p(p({},e),{requestState:"READY",frame:t.payload.frame,face:t.payload.face}):e;case"identifying":return p(p({},e),{requestState:"IN_PROGRESS",imageUrl:t.payload.imageUrl});case"identificationCompleted":var n=t.payload.response,r=n.status,i=r.statusMessage,a=r.errorData,o=n.resultData;if("000"!==r.statusCode)return p(p({},e),{requestState:"ERROR",requestError:new Error("".concat(i,": ").concat(a))});var s=e.requestState,l=e.notFoundTimes;return"46"===o.verificationResultCode?s="FOUND":l<2?(s="READY",l+=1):s="NOT_FOUND",p(p({},e),{requestState:s,notFoundTimes:l});case"identificationFailed":return p(p({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},pg=function(e){var t=e.onCustomerMatched,r=e.onCustomerNotMatched,i=e.onCaptureGuidanceTimeout,a=e.captureGuidanceTimeoutDurationMs,o=e.verbiage,s=void 0===o?{}:o,l=e.debugMode,u=void 0!==l&&l,d=n.useReducer(fg,hg),h=d[0],f=d[1],p=n.useContext(qe),v=p.submit,y=p.submissionResponse,b=p.selfieImage,w=p.setSelfieImage,x=n.useCallback((function(e,t){f({type:"identificationReady",payload:{frame:e,face:t}})}),[]),E=h.frame,T=h.face,S="READY"===h.requestState;return n.useEffect((function(){E&&T&&We(dd(E,T)).then((function(e){console.log("setting selfie image",e),w(e)}))}),[T,E,w]),n.useEffect((function(){S&&b&&g(void 0,void 0,void 0,(function(){var e,t;return m(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),f({type:"identifying",payload:{imageUrl:b}}),[4,v()];case 1:if(!(e=n.sent()))throw new Error("submission failed!");return f({type:"identificationCompleted",payload:{response:e}}),[3,3];case 2:return t=n.sent(),f({type:"identificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[S,t,r,b,h.requestState,v]),n.useEffect((function(){y&&("FOUND"===h.requestState?null==t||t(y):"NOT_FOUND"===h.requestState&&(null==r||r(y)))}),[t,r,h.requestState,y]),c.default.createElement(ud,{onSelfieCaptured:x,onTimeout:i,timeoutDurationMs:a,verbiage:s,debugMode:u})},gg=function(e){var t=e.headingText,n=e.retryBtnText,r=e.doneBtnText,i=e.imageUrl,a=e.onDoneClick,o=e.onRetryClick,s=ye().t;return i=i||"".concat(Ut,"/Selfie-Image-1.png"),t=t||s("Customer has been identified!"),n=n||s("Retry"),r=r||s("Done"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",{style:{marginBottom:24}},t),c.default.createElement(at,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:t,src:i})),c.default.createElement("div",{style:{marginTop:24}},c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:o},c.default.createElement("span",{className:"ladda-label"},n)),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"mint",onClick:a,style:{marginLeft:15}},c.default.createElement("span",{className:"ladda-label"},r)))))},mg=function(e){var t=e.headingText,n=e.retryBtnText,r=e.exitBtnText,i=e.imageUrl,a=e.canRetry,o=void 0===a||a,s=e.onRetryClick,l=e.onExitClick,u=ye().t;return i=i||"".concat(Ut,"/manual_capture.png"),t=t||u("Customer not found"),n=n||u("Retry"),r=r||u("Exit"),c.default.createElement(rt,null,c.default.createElement(it,null,c.default.createElement("h3",{style:{marginBottom:24}},t),c.default.createElement(at,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:t,src:i})),c.default.createElement("div",{style:{marginTop:24}},o&&c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"red",onClick:s,style:{marginRight:15}},c.default.createElement("span",{className:"ladda-label"},n)),c.default.createElement("button",{className:"ladda-button","data-style":"expand-right","data-color":"black",onClick:l},c.default.createElement("span",{className:"ladda-label"},r)))))},vg=function(e){var t=e.onComplete,r=e.onCustomerMatched,i=e.onCustomerNotMatched,a=e.onExitAfterFailure,o=e.onCaptureGuidanceTimeout,s=e.captureGuidanceTimeoutDurationMs,l=e.assets,u=void 0===l?{}:l,d=e.verbiage,h=void 0===d?{}:d,f=e.debugMode,p=void 0!==f&&f,v=n.useContext(qe),y=v.submissionResponse,b=v.selfieImage,w=n.useContext(Nt).releaseCameraAccess,x=n.useState("LOADING"),E=x[0],T=x[1],S=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){return m(this,(function(t){return T("FOUND"),w(),setTimeout((function(){null==r||r(e)}),0),[2]}))}))}),[r,w]),C=n.useCallback((function(e){return g(void 0,void 0,void 0,(function(){return m(this,(function(t){return T("NOT_FOUND"),w(),setTimeout((function(){null==i||i(e)}),0),[2]}))}))}),[i,w]),k=n.useCallback((function(){T("FAILED"),w(),setTimeout((function(){null==o||o()}),0)}),[o,w]);return c.default.createElement(c.default.Fragment,null,"LOADING"!==E&&function(){switch(E){case"CAPTURING":return c.default.createElement(pg,{onCustomerMatched:S,onCustomerNotMatched:C,onCaptureGuidanceTimeout:k,captureGuidanceTimeoutDurationMs:s,verbiage:h,debugMode:p});case"FOUND":return c.default.createElement(gg,{headingText:h.successHeadingText,retryBtnText:h.successRetryBtnText,doneBtnText:h.successDoneBtnText,imageUrl:"data:image/png;base64, ".concat(b),onDoneClick:function(){y&&(null==t||t(y))},onRetryClick:function(){T("CAPTURING")}});case"NOT_FOUND":case"FAILED":return c.default.createElement(mg,{headingText:h.failureHeadingText,retryBtnText:h.failureRetryBtnText,exitBtnText:null==h?void 0:h.failureExitBtnText,imageUrl:u.failureImageUrl,canRetry:!1,onExitClick:a});default:return null}}(),c.default.createElement(md,{headingText:h.loadingOverlayHeadingText,removeEyeCoveringsText:h.loadingOverlayRemoveEyeCoveringsText,avoidExcessiveBacklightingText:h.loadingOverlayAvoidExcessiveBacklightingText,continueText:h.loadingOverlayContinueText,cameraInitializingText:h.loadingOverlayCameraInitializingText,modelsWarmingUpText:h.loadingOverlayModelsWarmingUpText,instructionImageUrl:u.instructionImageUrl,onDismissed:function(){T("CAPTURING")}}))},yg=function(e){var t=e.lang,n=e.submissionToken,r=e.submissionEnvironment,i=void 0===r?"prod":r,a=e.submissionUrl,o=e.timeoutDurationMs,s=void 0===o?15e3:o,l=e.onBeforeSubmit,u=e.onComplete,d=e.onCustomerMatched,h=e.onCustomerNotMatched,f=e.onCaptureGuidanceTimeout,p=e.onExitAfterFailure,g=e.assets,m=e.verbiage,v=e.geolocationEnabled,y=e.geolocationRequired,b=void 0!==y&&y,w=e.debugMode,x=void 0!==w&&w;return eg(void 0===t?"auto":t),c.default.createElement(yt,{action:$e.IDENTIFY,environment:i,url:a,token:n,onBeforeSubmit:l,geolocationEnabled:v,geolocationRequired:b},c.default.createElement(ip,{preferFrontFacingCamera:!0},c.default.createElement(sd,null,c.default.createElement(vg,{onComplete:u,onCustomerMatched:d,onCustomerNotMatched:h,onExitAfterFailure:p,onCaptureGuidanceTimeout:f,captureGuidanceTimeoutDurationMs:s,assets:g,verbiage:m,debugMode:x}))))},bg=function(e){var t=e.documentDetectionModel,n=void 0===t?"".concat(Ut,"/models/documentdetection448/model.json"):t,r=e.focusModel,i=void 0===r?"".concat(Ut,"/models/focus/model.json"):r,a=e.skipFaceDetectionModel,o=void 0!==a&&a;return g(void 0,void 0,void 0,(function(){return m(this,(function(e){switch(e.label){case 0:return n?[4,bt(n)]:[3,2];case 1:e.sent(),e.label=2;case 2:return i?[4,wd(i)]:[3,4];case 3:e.sent(),e.label=4;case 4:return o?[3,6]:[4,ad()];case 5:e.sent(),e.label=6;case 6:return[2]}}))}))},wg=function(e){var t=e.enrollmentId,r=e.lang,i=e.submissionToken,a=e.submissionEnvironment,o=void 0===a?"prod":a,s=e.submissionUrl,l=e.timeoutDurationMs,u=void 0===l?15e3:l,d=e.assets,h=e.verbiage,f=e.onBeforeSubmit,p=e.onComplete,g=e.onEnrolled,m=e.onDenied,v=e.onExitAfterFailure,y=e.captureSignature,b=void 0!==y&&y,w=e.captureSignatureVideo,x=void 0!==w&&w,E=e.captureAdditionalDocuments,T=void 0===E?[]:E,S=e.geolocationEnabled,C=void 0===S||S,k=e.geolocationRequired,A=void 0!==k&&k,R=e.debugMode,_=void 0!==R&&R;eg(void 0===r?"auto":r);var I=n.useMemo((function(){return{onExitAfterFailure:v,timeoutDurationMs:u,assets:d,verbiage:h,debugMode:_}}),[d,_,v,u,h]),D=n.useMemo((function(){return{verbiage:{headingText:null==h?void 0:h.signatureCaptureHeadingText,acceptBtnText:null==h?void 0:h.signatureCaptureAcceptBtnText,clearBtnText:null==h?void 0:h.signatureCaptureClearBtnText}}}),[null==h?void 0:h.signatureCaptureAcceptBtnText,null==h?void 0:h.signatureCaptureClearBtnText,null==h?void 0:h.signatureCaptureHeadingText]),F=n.useMemo((function(){return{documents:T,verbiage:{headingText:null==h?void 0:h.additionalDocumentsHeadingText,nextBtnText:null==h?void 0:h.additionalDocumentsNextBtnText}}}),[T,null==h?void 0:h.additionalDocumentsHeadingText,null==h?void 0:h.additionalDocumentsNextBtnText]),L=n.useCallback((function(e){null==p||p(e),"Customer Onboarded"===e.resultData.verificationResult?null==g||g(e):null==m||m(e)}),[g,p,m]);return c.default.createElement(yt,{action:$e.ENROLL,environment:o,url:s,token:i,enrollmentId:t,onBeforeSubmit:f,onResponseReceived:L,geolocationEnabled:C,geolocationRequired:A},c.default.createElement(Zp,{checks:n.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:I,signatureCaptureProps:D,additionalDocumentCaptureProps:F,captureSignature:b,captureSignatureVideo:x}))},xg=function(e){return c.default.createElement(yt,{action:$e.NONE,environment:e.submissionEnvironment,url:e.submissionUrl,token:e.submissionToken,onBeforeSubmit:e.onBeforeSubmit,onResponseReceived:e.onComplete,geolocationEnabled:e.geolocationEnabled,geolocationRequired:e.geolocationRequired},c.default.createElement(ip,{preferContinuityCamera:!1,preferFrontFacingCamera:!0,requestMicrophoneAccess:!0},c.default.createElement(Jp,null)))};function Eg(e){return c.default.createElement(rt,null,e.children)}ne.use(je).use(ge).init({resources:Qp,detection:{caches:[]},fallbackLng:"en",debug:!1,interpolation:{escapeValue:!1}}),void 0!==d&&d.init&&d.init({dsn:"https://0a8e0e8df645473abe217b60b50fbcb1@o4505120557367296.ingest.sentry.io/4505120582008832",tracesSampleRate:1,debug:!0});var Tg=function(e,t,n){if(void 0===n&&(n=!0),"string"==typeof t){var r=document.querySelector(t);if(!r)throw new Error("targetElement ".concat(t," not found"));t=r}n&&(e=c.default.createElement(Eg,null,e)),l.default.render(e,t)},Sg=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(tg,p({},t)),e,n)},Cg=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(ng,p({},t)),e,n)},kg=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(rg,p({},t)),e,n)},Ag=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(ig,p({},t)),e,n)},Rg=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(wg,p({},t)),e,n)},_g=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(dg,p({},t)),e,n)},Ig=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(yg,p({},t)),e,n)},Dg=function(e,t,n){void 0===n&&(n=!0),Tg(c.default.createElement(xg,p({},t)),e,n)};globalThis.IDmissionSDK={renderIdValidation:Sg,renderFaceValidation:Cg,renderIdAndFaceValidation:kg,renderCustomerIdAndBiometricsEnrollment:Ag,renderCustomerBiometricsEnrollment:Rg,renderCustomerVerification:_g,renderCustomerIdentification:Ig,renderSignatureKYC:Dg,preloadModels:bg,ready:!0},e.CustomerBiometricsEnrollment=wg,e.CustomerIdAndBiometricsEnrollment=ig,e.CustomerIdentification=yg,e.CustomerVerification=dg,e.FaceValidation=ng,e.IdAndFaceValidation=rg,e.IdValidation=tg,e.SignatureKYC=xg,e.preloadModels=bg,e.renderCustomerBiometricsEnrollment=Rg,e.renderCustomerIdAndBiometricsEnrollment=Ag,e.renderCustomerIdentification=Ig,e.renderCustomerVerification=_g,e.renderFaceValidation=Cg,e.renderIdAndFaceValidation=kg,e.renderIdValidation=Sg,e.renderSignatureKYC=Dg,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=sdk2.umd.production.js.map
|