idmission-web-sdk 0.0.76 → 0.0.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,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,o,i){"use strict";function a(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=a(t),c=a(n),u=s(n),d=s(r),h=a(o),f=s(i),p=function(e,t){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},p(e,t)};var g=function(){return g=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},g.apply(this,arguments)};function m(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))}function v(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function b(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);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 w={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 x{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||w,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 x(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new x(this.logger,e)}}var E=new x;class S{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 k(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return n.resolve=e,n.reject=t,n}function C(e){return null==e?"":""+e}function T(e,t,n){function r(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function o(){return!e||"string"==typeof e}const i="string"!=typeof t?[].concat(t):t.split(".");for(;i.length>1;){if(o())return{};const t=r(i.shift());!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}return o()?{}:{obj:e,k:r(i.shift())}}function A(e,t,n){const{obj:r,k:o}=T(e,t,Object);r[o]=n}function R(e,t){const{obj:n,k:r}=T(e,t);if(n)return n[r]}function I(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]):I(e[r],t[r],n):e[r]=t[r]);return e}function _(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var D={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function F(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>D[e])):e}const M=[" ",",","?","!",";"];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 o=e;for(let e=0;e<r.length;++e){if(!o)return;if("string"==typeof o[r[e]]&&e+1<r.length)return;if(void 0===o[r[e]]){let i=2,a=r.slice(e,e+i).join(n),s=o[a];for(;void 0===s&&r.length>e+i;)i++,a=r.slice(e,e+i).join(n),s=o[a];if(void 0===s)return;if(null===s)return null;if(t.endsWith(a)){if("string"==typeof s)return s;if(a&&"string"==typeof s[a])return s[a]}const l=r.slice(e+i).join(n);return l?L(s,l,n):void 0}o=o[r[e]]}return o}function P(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class O extends S{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 o=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,i=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[e,t];n&&"string"!=typeof n&&(a=a.concat(n)),n&&"string"==typeof n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."));const s=R(this.data,a);return s||!i||"string"!=typeof n?s:L(this.data&&this.data[e]&&this.data[e][t],n,o)}addResource(e,t,n,r){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator;let a=[e,t];n&&(a=a.concat(i?n.split(i):n)),e.indexOf(".")>-1&&(a=e.split("."),r=t,t=a[1]),this.addNamespaces(t),A(this.data,a,r),o.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,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),r=n,n=t,t=a[1]),this.addNamespaces(t);let s=R(this.data,a)||{};r?I(s,n,o):s={...s,...n},A(this.data,a,s),i.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 N={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,o){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,n,r,o))})),t}};const B={};class U extends S{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=E.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 o=t.ns||this.options.defaultNS||[];const i=n&&e.indexOf(n)>-1,a=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(e,t,n){t=t||"",n=n||"";const r=M.filter((e=>t.indexOf(e)<0&&n.indexOf(e)<0));if(0===r.length)return!0;const o=new RegExp(`(${r.map((e=>"?"===e?"\\?":e)).join("|")})`);let i=!o.test(e);if(!i){const t=e.indexOf(n);t>0&&!o.test(e.substring(0,t))&&(i=!0)}return i}(e,n,r));if(i&&!a){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:o};const i=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(i[0])>-1)&&(o=i.shift()),e=i.join(r)}return"string"==typeof o&&(o=[o]),{key:e,namespaces:o}}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,o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:i,namespaces:a}=this.extractFromKey(e[e.length-1],t),s=a[a.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}${i}`,usedKey:i,exactUsedKey:i,usedLng:l,usedNS:s}:`${s}${e}${i}`}return r?{res:i,usedKey:i,exactUsedKey:i,usedLng:l,usedNS:s}:i}const u=this.resolve(e,t);let d=u&&u.res;const h=u&&u.usedKey||i,f=u&&u.exactUsedKey||i,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:a}):`key '${i} (${this.language})' returned an object instead of string.`;return r?(u.res=e,u):e}if(o){const e="[object Array]"===p,n=e?[]:{},r=e?f:h;for(const e in d)if(Object.prototype.hasOwnProperty.call(d,e)){const i=`${r}${o}${e}`;n[e]=this.translate(i,{...t,joinArrays:!1,ns:a}),n[e]===i&&(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,a=!1;const c=void 0!==t.count&&"string"!=typeof t.count,h=U.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)||(a=!0,d=i);const m=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&a?void 0:d,v=h&&g!==d&&this.options.updateMissing;if(a||r||v){if(this.logger.log(v?"updateKey":"missingKey",l,s,i,v?g:d),o){const e=this.resolve(i,{...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 o=h&&r!==d?r:m;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,n,o,v,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,s,n,o,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],i+n,t[`defaultValue${n}`]||g)}))})):r(e,i,g))}d=this.extendTranslation(d,e,t,u,n),a&&d===i&&this.options.appendNamespaceToMissingKey&&(d=`${s}:${i}`),(a||r)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${s}:${i}`:i,r?d:void 0):this.options.parseMissingKeyHandler(d))}return r?(u.res=d,u):d}extendTranslation(e,t,n,r,o){var i=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 a="string"==typeof e&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let s;if(a){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),a){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),a=0;a<e;a++)r[a]=arguments[a];return o&&o[0]===r[0]&&!n.context?(i.logger.warn(`It seems you are nesting recursively key: ${r[0]} in key: ${t[0]}`),null):i.translate(...r,t)}),n)),n.interpolation&&this.interpolator.reset()}const a=n.postProcess||this.options.postProcess,s="string"==typeof a?[a]:a;return null!=e&&s&&s.length&&!1!==n.applyPostProcessor&&(e=N.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:r,...n}:n,this)),e}resolve(e){let t,n,r,o,i,a=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,a),l=s.key;n=l;let c=s.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const u=void 0!==a.count&&"string"!=typeof a.count,d=u&&!a.ordinal&&0===a.count&&this.pluralResolver.shouldUseIntlApi(),h=void 0!==a.context&&("string"==typeof a.context||"number"==typeof a.context)&&""!==a.context,f=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);c.forEach((e=>{this.isValidLookup(t)||(i=e,!B[`${f[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(i)&&(B[`${f[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${f.join(", ")}" won't get resolved as namespace "${i}" 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;o=n;const i=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(i,l,n,e,a);else{let e;u&&(e=this.pluralResolver.getSuffix(n,a.count,a));const t=`${this.options.pluralSeparator}zero`,r=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(i.push(l+e),a.ordinal&&0===e.indexOf(r)&&i.push(l+e.replace(r,this.options.pluralSeparator)),d&&i.push(l+t)),h){const n=`${l}${this.options.contextSeparator}${a.context}`;i.push(n),u&&(i.push(n+e),a.ordinal&&0===e.indexOf(r)&&i.push(n+e.replace(r,this.options.pluralSeparator)),d&&i.push(n+t))}}let s;for(;s=i.pop();)this.isValidLookup(t)||(r=s,t=this.getResource(n,e,s,a))})))}))})),{res:t,usedKey:n,exactUsedKey:r,usedLng:o,usedNS:i}}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 $(e){return e.charAt(0).toUpperCase()+e.slice(1)}class j{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=E.create("languageUtils")}getScriptPartFromCode(e){if(!(e=P(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=P(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]=$(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]=$(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=$(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=[],o=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&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):"string"==typeof e&&o(this.formatLanguageCode(e)),n.forEach((e=>{r.indexOf(e)<0&&o(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}],z={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 q=["v1","v2","v3"],V=["v4"],W={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=E.create("pluralResolver"),this.options.compatibilityJSON&&!V.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:z[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(P(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)=>W[e]-W[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 o=()=>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()}`:o():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?o():this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString()}shouldUseIntlApi(){return!q.includes(this.options.compatibilityJSON)}}function K(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=function(e,t,n){const r=R(e,n);return void 0!==r?r:R(t,n)}(e,t,n);return!i&&o&&"string"==typeof n&&(i=L(e,n,r),void 0===i&&(i=L(t,n,r))),i}class Y{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=E.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:F,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 o,i,a;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 o=K(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(o,void 0,n,{...r,...t,interpolationkey:e}):o}const o=e.split(this.formatSeparator),i=o.shift().trim(),a=o.join(this.formatSeparator).trim();return this.format(K(t,s,i,this.options.keySeparator,this.options.ignoreJSONStructure),a,n,{...r,...t,interpolationkey:i})};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(a=0;o=t.regex.exec(e);){const n=o[1].trim();if(i=c(n),void 0===i)if("function"==typeof u){const t=u(e,o,r);i="string"==typeof t?t:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))i="";else{if(d){i=o[0];continue}this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),i=""}else"string"==typeof i||this.useRawValueToEscape||(i=C(i));const s=t.safeValue(i);if(e=e.replace(o[0],s),d?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,a++,a>=this.maxReplaces)break}})),e}nest(e,t){let n,r,o,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function a(e,t){const n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;const r=e.split(new RegExp(`${n}[ ]*{`));let i=`{${r[1]}`;e=r[0],i=this.interpolate(i,o);const a=i.match(/'/g),s=i.match(/"/g);(a&&a.length%2==0&&!s||s.length%2!=0)&&(i=i.replace(/'/g,'"'));try{o=JSON.parse(i),t&&(o={...t,...o})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return delete o.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){let s=[];o={...i},o=o.replace&&"string"!=typeof o.replace?o.replace:o,o.applyPostProcessor=!1,delete o.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(a.call(this,n[1].trim(),o),o),r&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=C(r)),r||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),r=""),l&&(r=s.reduce(((e,t)=>this.format(e,t,i.lng,{...i,interpolationkey:n[1].trim()})),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}function X(e){const t={};return function(n,r,o){const i=r+JSON.stringify(o);let a=t[i];return a||(a=e(P(r),o),t[i]=a),a(n)}}class J{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=E.create("formatter"),this.options=e,this.formats={number:X(((e,t)=>{const n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)})),currency:X(((e,t)=>{const n=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>n.format(e)})),datetime:X(((e,t)=>{const n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)})),relativetime:X(((e,t)=>{const n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||"day")})),list:X(((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()]=X(t)}format(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=t.split(this.formatSeparator).reduce(((e,t)=>{const{formatName:o,formatOptions:i}=function(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);"currency"===t&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach((e=>{if(!e)return;const[t,...r]=e.split(":"),o=r.join(":").trim().replace(/^'+|'+$/g,"");n[t.trim()]||(n[t.trim()]=o),"false"===o&&(n[t.trim()]=!1),"true"===o&&(n[t.trim()]=!0),isNaN(o)||(n[t.trim()]=parseInt(o,10))}))}return{formatName:t,formatOptions:n}}(t);if(this.formats[o]){let t=e;try{const a=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{};t=this.formats[o](e,a.locale||a.lng||r.locale||r.lng||n,{...i,...r,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e}),e);return o}}class Z extends S{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=E.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 o={},i={},a={},s={};return e.forEach((e=>{let r=!0;t.forEach((t=>{const a=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===i[a]&&(i[a]=!0):(this.state[a]=1,r=!1,void 0===i[a]&&(i[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===s[t]&&(s[t]=!0)))})),r||(a[e]=!0)})),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){const r=e.split("|"),o=r[0],i=r[1];t&&this.emit("failedLoading",o,i,t),n&&this.store.addResourceBundle(o,i,n),this.state[e]=t?-1:2;const a={};this.queue.forEach((n=>{!function(e,t,n,r){const{obj:o,k:i}=T(e,t,Object);o[i]=o[i]||[],r&&(o[i]=o[i].concat(n)),r||o[i].push(n)}(n.loaded,[o],i),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=>{a[e]||(a[e]={});const t=n.loaded[e];t.length&&t.forEach((t=>{void 0===a[e][t]&&(a[e][t]=!0)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",a),this.queue=this.queue.filter((e=>!e.done))}read(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,i=arguments.length>5?arguments[5]:void 0;if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:o,callback:i});this.readingCalls++;const a=(a,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)}a&&s&&r<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,n,r+1,2*o,i)}),o):i(a,s)},s=this.backend[n].bind(this.backend);if(2!==s.length)return s(e,t,a);try{const n=s(e,t);n&&"function"==typeof n.then?n.then((e=>a(null,e))).catch(a):a(null,n)}catch(e){a(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 o=this.queueLoad(e,t,n,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.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],o=n[1];this.read(r,o,"read",void 0,void 0,((n,i)=>{n&&this.logger.warn(`${t}loading namespace ${o} for language ${r} failed`,n),!n&&i&&this.logger.log(`${t}loaded namespace ${o} for language ${r}`,i),this.loaded(e,n,i)}))}saveMissing(e,t,n,r,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=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={...i,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;o=5===l.length?l(e,t,n,r,s):l(e,t,n,r),o&&"function"==typeof o.then?o.then((e=>a(null,e))).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,n,r,a,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}function Q(){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 ee(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 te(){}class ne extends S{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=ee(e),this.services={},this.logger=E,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=Q();function o(e){return e?"function"==typeof e?new e:e:null}if(this.options={...r,...this.options,...ee(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;E.init(this.modules.logger?o(this.modules.logger):null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=J);const n=new j(this.options);this.store=new O(this.options.resources,this.options);const i=this.services;i.logger=E,i.resourceStore=this.store,i.languageUtils=n,i.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||(i.formatter=o(t),i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new Y(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new Z(o(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];e.emit(t,...r)})),this.modules.languageDetector&&(i.languageDetector=o(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=o(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new U(this.services,this.options),this.translator.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];e.emit(t,...r)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,n||(n=te),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 i=k(),a=()=>{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),i.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?a():setTimeout(a,0),i}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:te;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=k();return e||(e=this.languages),t||(t=this.options.ns),n||(n=te),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&&N.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=k();this.emit("languageChanging",e);const o=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(e,i)=>{i?(o(i),this.translator.changeLanguage(i),this.isLanguageChangingTo=void 0,this.emit("languageChanged",i),this.logger.log("languageChanged",i)):this.isLanguageChangingTo=void 0,r.resolve((function(){return n.t(...arguments)})),t&&t(e,(function(){return n.t(...arguments)}))},a=t=>{e||t||!this.services.languageDetector||(t=[]);const n="string"==typeof t?t:this.services.languageUtils.getBestMatchFromCodes(t);n&&(this.language||o(n),this.translator.language||this.translator.changeLanguage(n),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(n)),this.loadResources(n,(e=>{i(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(a):this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),r}getFixedT(e,t,n){var r=this;const o=function(e,t){let i;if("object"!=typeof t){for(var a=arguments.length,s=new Array(a>2?a-2:0),l=2;l<a;l++)s[l-2]=arguments[l];i=r.options.overloadTranslationOptionHandler([e,t].concat(s))}else i={...t};i.lng=i.lng||o.lng,i.lngs=i.lngs||o.lngs,i.ns=i.ns||o.ns,i.keyPrefix=i.keyPrefix||n||o.keyPrefix;const c=r.options.keySeparator||".";let u;return u=i.keyPrefix&&Array.isArray(e)?e.map((e=>`${i.keyPrefix}${c}${e}`)):i.keyPrefix?`${i.keyPrefix}${c}${e}`:e,r.t(u,i)};return"string"==typeof e?o.lng=e:o.lngs=e,o.ns=t,o.keyPrefix=n,o}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,o=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;const i=(e,t)=>{const n=this.services.backendConnector.state[`${e}|${t}`];return-1===n||2===n};if(t.precheck){const e=t.precheck(this,i);if(void 0!==e)return e}return!!this.hasResourceBundle(n,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!i(n,e)||r&&!i(o,e)))}loadNamespaces(e,t){const n=k();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=k();"string"==typeof e&&(e=[e]);const r=this.options.preload||[],o=e.filter((e=>r.indexOf(e)<0));return o.length?(this.options.preload=r.concat(o),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 j(Q());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 ne(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]:te;const n=e.forkResourceStore;n&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},o=new ne(r);void 0===e.debug&&void 0===e.prefix||(o.logger=o.logger.clone(e));return["store","services","language"].forEach((e=>{o[e]=this[e]})),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},n&&(o.store=new O(this.store.data,r),o.services.resourceStore=o.store),o.translator=new U(o.services,r),o.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];o.emit(e,...n)})),o.init(r,t),o.translator.options=r,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const re=ne.createInstance();re.createInstance=ne.createInstance;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function oe(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 se(){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 le=(e,t)=>()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout((()=>{e.off("initialized",n)}),0),t()};e.on("initialized",n)}};function ce(e,t,n){e.loadNamespaces(t,le(e,n))}function ue(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,le(e,r))}const de=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,he={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},fe=e=>he[e];let pe,ge={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(de,fe)};const me={type:"3rdParty",init(e){!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ge={...ge,...e}}(e.options.react),function(e){pe=e}(e)}},ve=n.createContext();class be{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach((e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)}))}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const ye=(e,t)=>{const r=n.useRef();return n.useEffect((()=>{r.current=t?r.current:e}),[e,t]),r.current};function we(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:i}=n.useContext(ve)||{},a=r||o||pe;if(a&&!a.reportNamespaces&&(a.reportNamespaces=new be),!a){se("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}a.options.react&&void 0!==a.options.react.wait&&se("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...ge,...a.options.react,...t},{useSuspense:l,keyPrefix:c}=s;let u=e||i||a.options&&a.options.defaultNS;u="string"==typeof u?[u]:u||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(u);const d=(a.isInitialized||a.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],o=!!t.options&&t.options.fallbackLng,i=t.languages[t.languages.length-1];if("cimode"===r.toLowerCase())return!0;const a=(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&&!a(t.isLanguageChangingTo,e)||!t.hasResourceBundle(r,e)&&t.services.backendConnector.backend&&(!t.options.resources||t.options.partialBundledLanguages)&&(!a(r,e)||o&&!a(i,e)))}(e,t,n):(se("i18n.languages were undefined or empty",t.languages),!0)}(e,a,s)));function h(){return a.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=ye(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?ue(a,t.lng,u,(()=>{v.current&&p(h)})):ce(a,u,(()=>{v.current&&p(h)}))),d&&m&&m!==g&&v.current&&p(h),e&&a&&a.on(e,r),n&&a&&a.store.on(n,r),()=>{v.current=!1,e&&a&&e.split(" ").forEach((e=>a.off(e,r))),n&&a&&n.split(" ").forEach((e=>a.store.off(e,r)))}}),[a,g]);const b=n.useRef(!0);n.useEffect((()=>{v.current&&!b.current&&p(h),b.current=!1}),[a,c]);const y=[f,a,d];if(y.t=f,y.i18n=a,y.ready=d,d)return y;if(!d&&!l)return y;throw new Promise((e=>{t.lng?ue(a,t.lng,u,(()=>e())):ce(a,u,(()=>e()))}))}function xe(e){return xe="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},xe(e)}function Ee(e){var t=function(e,t){if("object"!==xe(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==xe(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===xe(t)?t:String(t)}function Se(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,Ee(r.key),r)}}var ke=[],Ce=ke.forEach,Te=ke.slice;var Ae=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Re=function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{path:"/",sameSite:"strict"};n&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+60*n*1e3)),r&&(o.domain=r),document.cookie=function(e,t,n){var r=n||{};r.path=r.path||"/";var o=encodeURIComponent(t),i="".concat(e,"=").concat(o);if(r.maxAge>0){var a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");i+="; Max-Age=".concat(Math.floor(a))}if(r.domain){if(!Ae.test(r.domain))throw new TypeError("option domain is invalid");i+="; Domain=".concat(r.domain)}if(r.path){if(!Ae.test(r.path))throw new TypeError("option path is invalid");i+="; Path=".concat(r.path)}if(r.expires){if("function"!=typeof r.expires.toUTCString)throw new TypeError("option expires is invalid");i+="; Expires=".concat(r.expires.toUTCString())}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.sameSite)switch("string"==typeof r.sameSite?r.sameSite.toLowerCase():r.sameSite){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return i}(e,encodeURIComponent(t),o)},Ie=function(e){for(var t="".concat(e,"="),n=document.cookie.split(";"),r=0;r<n.length;r++){for(var o=n[r];" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null},_e={name:"cookie",lookup:function(e){var t;if(e.lookupCookie&&"undefined"!=typeof document){var n=Ie(e.lookupCookie);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupCookie&&"undefined"!=typeof document&&Re(t.lookupCookie,e,t.cookieMinutes,t.cookieDomain,t.cookieOptions)}},De={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("&"),o=0;o<r.length;o++){var i=r[o].indexOf("=");if(i>0)r[o].substring(0,i)===e.lookupQuerystring&&(t=r[o].substring(i+1))}}return t}},Fe=null,Me=function(){if(null!==Fe)return Fe;try{Fe="undefined"!==window&&null!==window.localStorage;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){Fe=!1}return Fe},Le={name:"localStorage",lookup:function(e){var t;if(e.lookupLocalStorage&&Me()){var n=window.localStorage.getItem(e.lookupLocalStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupLocalStorage&&Me()&&window.localStorage.setItem(t.lookupLocalStorage,e)}},Pe=null,Oe=function(){if(null!==Pe)return Pe;try{Pe="undefined"!==window&&null!==window.sessionStorage;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){Pe=!1}return Pe},Ne={name:"sessionStorage",lookup:function(e){var t;if(e.lookupSessionStorage&&Oe()){var n=window.sessionStorage.getItem(e.lookupSessionStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupSessionStorage&&Oe()&&window.sessionStorage.setItem(t.lookupSessionStorage,e)}},Be={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}},Ue={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}},$e={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}},je={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 Ge=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 Ce.call(Te.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(_e),this.addDetector(De),this.addDetector(Le),this.addDetector(Ne),this.addDetector(Be),this.addDetector(Ue),this.addDetector($e),this.addDetector(je)}},{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&&Se(t.prototype,n),r&&Se(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();Ge.type="languageDetector";var ze,qe,Ve="0.0.76";function We(){return window.platform}!function(e){e.NONE="NONE",e.ENROLL="ENROLL",e.IDENTIFY="IDENTIFY",e.VALIDATE="VALIDATE",e.VERIFY="VERIFY"}(ze||(ze={})),function(e){e.READY="READY",e.SUBMITTING="SUBMITTING",e.SUBMITTED="SUBMITTED",e.FAILED="FAILED"}(qe||(qe={}));var He={prod:"https://api.idmission.com",demo:"https://apidemo.idmission.com"},Ke=n.createContext({submit:function(){return m(void 0,void 0,void 0,(function(){return v(this,(function(e){return[2,null]}))}))},submissionStatus:qe.READY,submissionRequest:null,submissionResponse:null,submissionEnvironment:"prod",idFrontImage:null,idBackImage:null,passportImage:null,selfieImage:null,signatureData:null,signatureVideo:null,additionalDocuments:null,setIdFrontImage:function(){return null},setIdBackImage:function(){return null},setPassportImage:function(){return null},setSelfieImage:function(){return null},setSignatureData:function(){return null},setSignatureVideo:function(){return null},setAdditionalDocuments:function(){return null},logIdFrontCaptureAttempt:function(){return null},logIdBackCaptureAttempt:function(){return null},logSelfieCaptureAttempt:function(){return null},checkLiveness:function(){return m(void 0,void 0,void 0,(function(){return v(this,(function(e){throw new Error("checkLiveness is not implemented")}))}))},retryLocationAccess:function(){return null}});function Ye(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 He.prod;case"https://demoauth.idmission.com/auth/realms/identity":return He.demo}var n=He[e];if(!n)throw new Error("unrecognized SubmissionEnvironment ".concat(e));return n}function Xe(e){var t={"Content-Type":"application/json",Origin:"*"};return e&&(t.Authorization="Bearer ".concat(e)),t}function Je(e,t){var n=t.geolocationResult,r={selfie:t.selfieCaptureAttempts,front:t.idFrontCaptureAttempts,back:t.idBackCaptureAttempts,isRealIDCheckRequired:"false",sdkVersion:"WebSDK_".concat(Ve),Resolution:"".concat(window.innerWidth," x ").concat(window.innerHeight)},o=We();o&&(r.os=o.os.family,r.osVersion=o.os.version,r.browserVersion="".concat(o.name," ").concat(o.version)),n&&(r.GeoLocation=JSON.stringify(n)),e.additionalData.metadata=JSON.stringify(r)}function Ze(e){return m(this,void 0,void 0,(function(){return v(this,(function(t){return[2,e.replace(/^data:image\/(png|jpeg);base64,/,"")]}))}))}function Qe(e){return e.replace(/^data:.*;base64,/,"")}function et(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 tt,nt=h.default.div(tt||(tt=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:\n Inter,\n -apple-system,\n BlinkMacSystemFont,\n Segoe UI,\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n Fira Sans,\n Droid Sans,\n Helvetica Neue,\n 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:\n Inter,\n -apple-system,\n BlinkMacSystemFont,\n Segoe UI,\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n Fira Sans,\n Droid Sans,\n Helvetica Neue,\n 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})),rt=n.forwardRef((function(e,t){var r=e.children,o=e.className,i=e.heightOffset,a=void 0===i?0:i,s=e.style,l=e.onClick,u=n.useState(!1),d=u[0],h=u[1];return n.useEffect((function(){h(!1);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(),h(!0),function(){window.removeEventListener("resize",e)}}),[]),c.default.createElement(nt,{ref:t,style:s,onClick:l,className:o,$heightOffset:a},d&&r)}));rt.displayName="PageContainer";var ot,it,at,st,lt=h.default(rt)(ot||(ot=y(["\n background: white;\n z-index: 10000;\n"],["\n background: white;\n z-index: 10000;\n"]))),ct=h.default.div(it||(it=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"]))),ut=h.default.div(at||(at=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"]))),dt=h.default.div(st||(st=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 object-fit: contain;\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 object-fit: contain;\n }\n }\n"]))),ht=function(){return ht=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},ht.apply(this,arguments)},ft={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"},pt=function(){function e(e){void 0===e&&(e={}),this.opts=ht(ht({},ft),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"),gt(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 o=function(e){for(var t=/^\s*([a-zA-Z]+\s+)?(-?\d+(\.\d+)?)([a-zA-Z]*)\s+(-?\d+(\.\d+)?)([a-zA-Z]*)(.*)$/,n=[],r=0,o=e.split(",");r<o.length;r++){var i=o[r].match(t);if(null!==i){var a=+i[2],s=+i[5],l=i[4],c=i[7];0!==a||l||(l=c),0!==s||c||(c=l),l===c&&n.push({prefix:i[1]||"",x:a,y:s,xUnits:l,yUnits:c,end:i[8]})}}return n}(r),i=0;i<t.lines;i++){var a=~~(360/t.lines*i+t.rotate),s=gt(document.createElement("div"),{position:"absolute",top:-t.width/2+"px",width:t.length+t.width+"px",height:t.width+"px",background:mt(t.fadeColor,i),borderRadius:n,transformOrigin:"left",transform:"rotate("+a+"deg) translateX("+t.radius+"px)"}),l=i*t.direction/t.lines/t.speed;l-=1/t.speed;var c=gt(document.createElement("div"),{width:"100%",height:"100%",background:mt(t.color,i),borderRadius:n,boxShadow:vt(o,a),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 gt(e,t){for(var n in t)e.style[n]=t[n];return e}function mt(e,t){return"string"==typeof e?e:e[t%e.length]}function vt(e,t){for(var n=[],r=0,o=e;r<o.length;r++){var i=o[r],a=bt(i.x,i.y,t);n.push(i.prefix+a[0]+i.xUnits+" "+a[1]+i.yUnits+i.end)}return n.join(", ")}function bt(e,t,n){var r=n*Math.PI/180,o=Math.sin(r),i=Math.cos(r);return[Math.round(1e3*(e*i+t*o))/1e3,Math.round(1e3*(-e*o+t*i))/1e3]}function yt(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,o=e.querySelector(".ladda-spinner");o||((o=document.createElement("span")).className="ladda-spinner"),e.appendChild(o);var i={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 o=.2*r;return new pt({color:t||"#fff",lines:n||12,radius:o,length:.6*o,width:o<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(o),this.setProgress(0),this},startAfter:function(e){return clearTimeout(n),n=setTimeout((function(){i.start()}),e),this},stop:function(){return i.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 i}console.warn("Ladda button target must be defined.")}var wt,xt,Et,St=function(e){var t=e.children,r=e.colors,o=void 0===r?{}:r,i=e.disabled,a=e.finished,s=e.onClick,l=e.style,u=n.useRef(null),d=n.useRef(null);return o.backgroundColor||(o.backgroundColor="#16a085"),o.textColor||(o.textColor="white"),o.loadingBackgroundColor||(o.loadingBackgroundColor="gray"),o.loadingTextColor||(o.loadingTextColor="white"),n.useEffect((function(){if(u.current){d.current=yt(u.current),d.current.start();var e=0,t=setInterval((function(){var t;e<.9&&(e+=.1),null===(t=d.current)||void 0===t||t.setProgress(e)}),250);return function(){var e;null===(e=d.current)||void 0===e||e.remove(),clearInterval(t)}}}),[]),n.useEffect((function(){var e;a&&(null===(e=d.current)||void 0===e||e.stop())}),[a]),c.default.createElement(kt,{className:"ladda-button","data-style":"expand-right",disabled:i,ref:u,onClick:s,$backgroundColor:o.backgroundColor,$textColor:o.textColor,$disabledBackgroundColor:o.loadingBackgroundColor,$disabledTextColor:o.loadingTextColor,style:l},c.default.createElement("span",{className:"ladda-label"},t))},kt=h.default.button(wt||(wt=y(["\n border-radius: 0;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n text-transform: none;\n -webkit-appearance: button;\n\n &:not(:disabled),\n &[type='button']:not(:disabled),\n &[type='reset']:not(:disabled),\n &[type='submit']:not(:disabled) {\n cursor: pointer;\n }\n\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n\n --bs-btn-padding-x: 0.75rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &:hover {\n filter: brightness(1.15);\n }\n\n &:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n }\n\n --bs-btn-color: ",";\n --bs-btn-bg: ",";\n --bs-btn-border-color: ",";\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0a58ca;\n --bs-btn-active-border-color: #0a53be;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: ",";\n --bs-btn-disabled-bg: ",";\n --bs-btn-disabled-border-color: ",";\n\n --bs-btn-padding-y: 14px;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 18px;\n --bs-btn-border-radius: 4px;\n"],["\n border-radius: 0;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n text-transform: none;\n -webkit-appearance: button;\n\n &:not(:disabled),\n &[type='button']:not(:disabled),\n &[type='reset']:not(:disabled),\n &[type='submit']:not(:disabled) {\n cursor: pointer;\n }\n\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n\n --bs-btn-padding-x: 0.75rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &:hover {\n filter: brightness(1.15);\n }\n\n &:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n }\n\n --bs-btn-color: ",";\n --bs-btn-bg: ",";\n --bs-btn-border-color: ",";\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0a58ca;\n --bs-btn-active-border-color: #0a53be;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: ",";\n --bs-btn-disabled-bg: ",";\n --bs-btn-disabled-border-color: ",";\n\n --bs-btn-padding-y: 14px;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 18px;\n --bs-btn-border-radius: 4px;\n"])),(function(e){var t=e.$textColor;return null!=t?t:"#fff"}),(function(e){var t=e.$backgroundColor;return null!=t?t:"#0d6efd"}),(function(e){var t=e.$backgroundColor;return null!=t?t:"#0d6efd"}),(function(e){var t=e.$disabledTextColor;return null!=t?t:"#fff"}),(function(e){var t=e.$disabledBackgroundColor;return null!=t?t:"#0d6efd"}),(function(e){var t=e.$disabledBackgroundColor;return null!=t?t:"#0d6efd"})),Ct=function(e){var t=e.accessBlockedImageUrl,r=we().t,o=n.useContext(Ke).retryLocationAccess;return c.default.createElement(lt,null,c.default.createElement("div",{style:{display:"flex",height:"100%"}},c.default.createElement(ct,{style:{maxWidth:500,height:"auto",margin:"auto"}},c.default.createElement(ut,{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(St,{onClick:o,style:{width:200,marginLeft:"auto",marginRight:"auto"},finished:!0},r("Retry")))))},Tt=function(e){var t=e.submissionError;return c.default.createElement(lt,null,c.default.createElement(ct,{style:{justifyContent:"center"}},c.default.createElement("h3",{style:{marginBottom:8}},"We're sorry, an unexpected error has occurred."),t.status.statusCode&&c.default.createElement("p",{style:{marginBottom:0}},c.default.createElement("code",null,"Status: ",t.status.statusCode)),c.default.createElement("p",{style:{marginBottom:0}},c.default.createElement("code",null,t.message)),t.status.errorData&&c.default.createElement("p",{style:{marginBottom:0}},c.default.createElement("code",null,t.status.errorData))))},At=function(e){function t(t){var n=e.call(this,t.statusMessage)||this;return n.status=t,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error),Rt=function(e){var t=e.action,r=e.children,o=e.url,i=e.environment,a=void 0===i?"prod":i,s=e.token,l=e.companyId,u=e.enrollmentId,d=e.personalData,h=e.cardData,f=e.manualReviewRequired,p=void 0!==f&&f,y=e.verifyIdWithExternalDatabases,w=void 0!==y&&y,x=e.deduplicationEnabled,E=void 0!==x&&x,S=e.deduplicationSynchronous,k=void 0!==S&&S,C=e.geolocationEnabled,T=void 0===C||C,A=e.geolocationRequired,R=void 0!==A&&A,I=e.webhooksEnabled,_=void 0!==I&&I,D=e.webhooksClientTraceId,F=e.webhooksStripSpecialCharacters,M=void 0===F||F,L=e.onBeforeSubmit,P=e.onResponseReceived,O=e.onRequestFailure,N=n.useState(qe.READY),B=N[0],U=N[1],$=n.useState(null),j=$[0],G=$[1],z=n.useState(null),q=z[0],V=z[1],W=n.useState(null),H=W[0],K=W[1],Y=n.useState(null),X=Y[0],J=Y[1],Z=n.useState(null),Q=Z[0],ee=Z[1],te=n.useState(null),ne=te[0],re=te[1],oe=n.useState(null),ie=oe[0],ae=oe[1],se=n.useState(null),le=se[0],ce=se[1],ue=n.useState(null),de=ue[0],he=ue[1],fe=n.useState(null),pe=fe[0],ge=fe[1],me=n.useState(null),ve=me[0],be=me[1],ye=n.useState(0),we=ye[0],xe=ye[1],Ee=n.useState(!1),Se=Ee[0],ke=Ee[1],Ce=n.useState([]),Te=Ce[0],Ae=Ce[1],Re=n.useState([]),Ie=Re[0],_e=Re[1],De=n.useState([]),Fe=De[0],Me=De[1],Le=n.useCallback((function(e){Ae((function(t){return b(b([],t,!0),[e],!1)}))}),[]),Pe=n.useCallback((function(e){_e((function(t){return b(b([],t,!0),[e],!1)}))}),[]),Oe=n.useCallback((function(e){Me((function(t){return b(b([],t,!0),[e],!1)}))}),[]),Ne=n.useCallback((function(){return m(void 0,void 0,void 0,(function(){var e,n,r,i,c,f,m,b,y,x,S,C;return v(this,(function(v){switch(v.label){case 0:if(t===ze.NONE)return e={status:{statusCode:"000"},resultData:{}},U(qe.SUBMITTED),V(e),[2,e];U(qe.SUBMITTING),v.label=1;case 1:return v.trys.push([1,8,,9]),n={securityData:{userName:"",password:"",merchantId:0},customerData:{idData:{idType:"NSP",idCountry:"NSP",idState:""}},additionalData:{uniqueRequestId:(new Date).getTime().toString(),manualReviewRequired:p?"Y":"N",bypassAgeValidation:"N",deDuplicationRequired:E?"Y":"N",bypassNameMatching:"Y",postDataAPIRequired:_?"Y":"N",sendInputImagesInPost:"N",sendProcessedImagesInPost:"N",needImmediateResponse:"N",deduplicationSynchronous:k?"Y":"N",verifyDataWithHost:w?"Y":"N",idBackImageRequired:"N",stripSpecialCharacters:M?"Y":"N",idImageResolutionCheck:"Y"}},X&&(n.customerData.idData.idImageFront=X),Q&&(n.customerData.idData.idImageBack=Q),ne&&(n.customerData.idData.idImageFront=ne),ie&&(t===ze.IDENTIFY?n.biometricData={selfie:ie}:n.customerData.biometricData={selfie:ie}),l&&(n.employee={companyId:l}),d&&(n.customerData.personalData=d),h&&(n.customerData.cardData=h),u&&((C=n.customerData).personalData||(C.personalData={}),n.customerData.personalData.uniqueNumber=u),D&&(n.additionalData.clientTraceId=D),le&&(n.customerData.signatureData={signatureImage:JSON.stringify(le)}),pe&&(n.customerData.additionalDocuments=pe.map((function(e){return g(g({},e),{additionalDocument:JSON.stringify(g(g({},e.additionalDocument),{uniqueId:n.additionalData.uniqueRequestId}))})}))),Je(n,{selfieCaptureAttempts:Fe,idFrontCaptureAttempts:Te,idBackCaptureAttempts:Ie,geolocationResult:ve}),L?[4,L(n)]:[3,3];case 2:(r=v.sent())&&(n=r),v.label=3;case 3:return i=o||Ye(a,s),c=function(e,t,n,r){var o=r?"v4":"v3";switch(e){case ze.ENROLL:return"/".concat(o,t?"/customer/enroll":"/customer/enroll-biometrics");case ze.IDENTIFY:return"/".concat(o,"/customer/identify");case ze.VALIDATE:return"/".concat(o,n?"/customer/validate-id-match-face":"/customer/validate-id");case ze.VERIFY:return"/".concat(o,"/customer/verify");default:throw new Error("unrecognized SubmissionAction ".concat(e))}}(t,!!(X||Q||ne),!!ie,!!s),[4,fetch(i+c,{method:"POST",headers:Xe(s),body:JSON.stringify(n)})];case 4:return(f=v.sent()).ok?[3,6]:(m=At.bind,S={statusCode:f.statusText},[4,f.text()]);case 5:throw new(m.apply(At,[void 0,(S.statusMessage=v.sent(),S)]));case 6:return[4,f.json()];case 7:if("000"!==(b=v.sent()).status.statusCode)throw new At(b.status);return G(n),V(b),U(qe.SUBMITTED),null==P||P(b),[2,b];case 8:throw y=v.sent(),x=y,U(qe.FAILED),K(y instanceof At?y:new At({statusCode:"",statusMessage:x.message})),null==O||O(x),x;case 9:return[2]}}))}))}),[t,pe,h,l,E,k,u,a,ve,Ie,Q,Te,X,p,L,O,P,ne,d,Fe,ie,le,s,o,w,D,_,M]),Be=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){var t,n,r,i,l,c,u,d,h,f,p,g;return v(this,(function(m){switch(m.label){case 0:return m.trys.push([0,6,,7]),h={securityData:{userName:"",password:"",merchantId:0}},f={},p={},[4,Ze(e)];case 1:return h.customerData=(f.biometricData=(p.selfie=m.sent(),p),f),h.additionalData={uniqueRequestId:(new Date).getTime().toString(),stripSpecialCharacters:"Y",estimateAge:"N",predictGender:"N"},Je(t=h,{selfieCaptureAttempts:Fe,idFrontCaptureAttempts:Te,idBackCaptureAttempts:Ie,geolocationResult:ve}),n=o||Ye(a,s),r="/".concat(!!s?"v4":"v3","/customer/live-check"),[4,fetch(n+r,{method:"POST",headers:Xe(s),body:JSON.stringify(t)})];case 2:return(i=m.sent()).ok?[3,4]:(l=At.bind,g={statusCode:i.statusText},[4,i.text()]);case 3:throw new(l.apply(At,[void 0,(g.statusMessage=m.sent(),g)]));case 4:return[4,i.json()];case 5:if("000"!==(c=m.sent()).status.statusCode)throw new At(c.status);return V(c),[2,c];case 6:throw u=m.sent(),d=u,U(qe.FAILED),K(u instanceof At?u:new At({statusCode:"",statusMessage:d.message})),null==O||O(d),d;case 7:return[2]}}))}))}),[a,ve,Ie,Te,O,Fe,s,o]),Ue=n.useCallback((function(){xe((function(e){return e+1}))}),[]);return n.useEffect((function(){T&&(console.log("making geolocation attempt",we),navigator.geolocation.getCurrentPosition((function(e){be(e),ke(!1)}),(function(e){if(1!==e.code)throw new Error(e.message);ke(!0)})))}),[we,T,R]),c.default.createElement(Ke.Provider,{value:{submit:Ne,submissionStatus:B,submissionRequest:j,submissionResponse:q,submissionEnvironment:a,idFrontImage:X,idBackImage:Q,passportImage:ne,selfieImage:ie,signatureData:le,signatureVideo:de,additionalDocuments:pe,setIdFrontImage:J,setIdBackImage:ee,setPassportImage:re,setSelfieImage:ae,setSignatureData:ce,setSignatureVideo:he,setAdditionalDocuments:ge,logIdFrontCaptureAttempt:Le,logIdBackCaptureAttempt:Pe,logSelfieCaptureAttempt:Oe,checkLiveness:Be,retryLocationAccess:Ue}},R&&Se?c.default.createElement(Ct,null):H?c.default.createElement(Tt,{submissionError:H}):r)};function It(e){return m(this,void 0,void 0,(function(){var t,n,r,o,i,a;return v(this,(function(s){switch(s.label){case 0:return Et?[2,Et]:[4,f.loadGraphModel(e)];case 1:return Et=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]),o=f.cast(r,"int32"),a=(i=f).dispose,[4,Et.executeAsync(o)];case 3:return a.apply(i,[s.sent()]),n.dispose(),o.dispose(),r.dispose(),f.dispose(t),[2,Et]}}))}))}!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"}(xt||(xt={}));var _t={1:"Document",2:"MRZ",3:"PDF417",4:"Primary face",5:"Secondary face",6:"Glare",7:"Punch Hole",8:"Passport Page"};function Dt(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 Ft(e){void 0===e&&(e={});var t=e.onResize,r=n.useRef(void 0);r.current=t;var o=e.round||Math.round,i=n.useRef(),a=n.useState({width:void 0,height:void 0}),s=a[0],l=a[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),o=n.useRef(null);o.current=t;var i=n.useRef(null);n.useEffect((function(){a()}));var a=n.useCallback((function(){var t=o.current,n=i.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){i.current=e,a()}),[a])}(n.useCallback((function(t){return i.current&&i.current.box===e.box&&i.current.round===o||(i.current={box:e.box,round:o,instance:new ResizeObserver((function(t){var n=t[0],i="border-box"===e.box?"borderBoxSize":"device-pixel-content-box"===e.box?"devicePixelContentBoxSize":"contentBoxSize",a=Dt(n,i,"inlineSize"),s=Dt(n,i,"blockSize"),d=a?o(a):void 0,h=s?o(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)}}))}),i.current.instance.observe(t,{box:e.box}),function(){i.current&&i.current.instance.unobserve(t)}}),[e.box,o]),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 Mt=n.createContext({orientation:"landscape",wrapperWidth:1,wrapperHeight:1,wrapperAspectRatio:0,imageAspectRatio:0,wrapperRef:null,setDimensions:function(){return null},onImageLoaded:function(){return null}});let Lt;function Pt(e){if(void 0!==Lt)return Lt;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 Ot=function(e){var t=e.width,r=void 0===t?0:t,o=e.height,i=void 0===o?0:o,a=e.padding,s=void 0===a?Pt()?0:50:a,l=e.borderWidth,u=void 0===l?4:l,d=e.borderColor,h=void 0===d?"white":d,f=e.isMirrored,p=void 0!==f&&f,m=e.instruction,v=void 0===m?"":m,b=e.portraitGuidesImageUrl,y=e.landscapeGuidesImageUrl,w=e.onClick,x=n.useContext(Mt),E=x.orientation,S=x.wrapperRef,k=x.wrapperWidth,C=x.wrapperHeight,T=x.imageAspectRatio,A=x.wrapperAspectRatio,R=x.onImageLoaded,I=x.setDimensions;0==r&&(r=k),0==i&&(i=C),n.useEffect((function(){I({width:r,height:i})}),[i,I,r]);var _={height:C-2*s-2*u};return T>=A&&(_={width:k-2*s-2*u}),c.default.createElement(rt,{ref:S,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:p?"scaleX(-1)":"",border:"".concat(u,"px solid ").concat(h),maxWidth:"calc(100% - ".concat(2*s,"px - ").concat(2*u,"px)"),maxHeight:i-2*s-2*u}},c.default.createElement("img",{src:"portrait"===E?b:y,alt:"",onLoad:R,style:g({},_)})),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 Nt(e){return m(this,void 0,void 0,(function(){var t;return v(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 Bt(e,t){return void 0===t&&(t=!1),m(this,void 0,void 0,(function(){var n,r,o,i,a,s,l,c,u;return v(this,(function(d){switch(d.label){case 0:return[4,new Promise((function(a){if(o=e.naturalWidth,i=e.naturalHeight,n=document.createElement("canvas"),!(r=n.getContext("2d")))return[];if(t){console.log("rotating!!"),n.width=i,n.height=o,r.setTransform(0,1,-1,0,n.width,0),r.drawImage(e,0,0,o,i);var s=new Image;s.width=n.width,s.height=n.height,s.onload=function(){a(s)},n.toBlob((function(e){e&&(s.src=URL.createObjectURL(e))}))}else r.drawImage(e,0,0,n.width,n.height),a(e)}))];case 1:return a=d.sent(),s=new ZXing.BitmapLuminanceSource(r,a),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 Ut(){return"BarcodeDetector"in window}function $t(e,t){var n=this;return new Promise((function(r){var o=new Image;o.onload=function(){return m(n,void 0,void 0,(function(){var e,n,i,a;return v(this,(function(s){switch(s.label){case 0:return Ut()?[4,Nt(o)]:[3,2];case 1:return n=s.sent(),console.log("native result",n,"".concat(o.width,"x").concat(o.height)),r(n.length>0?g(g({},n[0]),{Source:"native"}):null),[3,4];case 2:return e=(null!==(i=null==t?void 0:t[2])&&void 0!==i?i:0)<(null!==(a=null==t?void 0:t[3])&&void 0!==a?a:0),[4,Bt(o,e)];case 3:n=s.sent(),console.log("zxing result",n),r(n.length>0?g(g({},n[0]),{Source:"zxing"}):null),s.label=4;case 4:return[2]}}))}))},o.src=URL.createObjectURL(e)}))}var jt,Gt=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}});function zt(e){return m(this,void 0,void 0,(function(){var t,n,r,o,i,a,s,l,c;return v(this,(function(u){switch(u.label){case 0:return jt?[2,jt]:[4,f.loadLayersModel(e)];case 1:return jt=u.sent(),[4,f.ready()];case 2:return u.sent(),t=f.zeros([448,448,3]),n=f.cast(t,"int32"),i=(o=f).tensor4d,s=(a=Array).from,[4,n.data()];case 3:return r=i.apply(o,[s.apply(a,[u.sent()]),[1,448,448,3]]),l=f.cast(r,"int32"),[4,jt.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,jt]}}))}))}class qt{refCount(e){return Vt("refCount")}incRef(e){return Vt("incRef")}timerAvailable(){return!0}time(e){return Vt("time")}read(e){return Vt("read")}readSync(e){return Vt("readSync")}readToGPU(e,t){return Vt("readToGPU")}numDataIds(){return Vt("numDataIds")}disposeData(e,t){return Vt("disposeData")}write(e,t,n){return Vt("write")}move(e,t,n,r,o){return Vt("move")}createTensorFromGPUData(e,t,n){return Vt("createTensorFromGPUData")}memory(){return Vt("memory")}floatPrecision(){return Vt("floatPrecision")}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}dispose(){return Vt("dispose")}}function Vt(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 Wt(e,t){if(!e)throw new Error("string"==typeof t?t:t())}function Ht(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 Kt(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 Yt(e,t){return t<=e.length?e:e+" ".repeat(t-e.length)}function Xt(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 Jt(e){return"string"==typeof e||e instanceof String}function Zt(e){return Array.isArray(e)?Zt(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray?"int32":"number"==typeof e?"float32":Jt(e)?"string":function(e){return"boolean"==typeof e}(e)?"bool":"float32"}function Qt(e){return!!(e&&e.constructor&&e.call&&e.apply)}function en(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 tn(e,t,n,r=!1){const o=new Array;if(1===t.length){const i=t[0]*(r?2:1);for(let t=0;t<i;t++)o[t]=n[e+t]}else{const i=t[0],a=t.slice(1),s=a.reduce(((e,t)=>e*t))*(r?2:1);for(let t=0;t<i;t++)o[t]=tn(e+t*s,a,n,r)}return o}function nn(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 tn(0,e,t,n)}function rn(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 on(e){e.forEach((t=>{Wt(Number.isInteger(t)&&t>=0,(()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`))}))}function an(e){return e&&e.then&&"function"==typeof e.then}const sn="tfjsflags";class ln{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.getQueryParams=cn,this.populateURLFlags()}setPlatform(e,t){null!=this.platform&&(un().getBool("IS_TEST")||un().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];un().getBool("IS_TEST")||un().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(an(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(sn in e){e[sn].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 cn(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 un(){return hn}let dn,hn=null;function fn(){if(null==dn){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}dn=e}return dn}function pn(e,t){const n=function(){const e=fn();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 gn="Add",mn="Cast",vn="Identity";function bn(...e){un().getBool("IS_TEST")||un().getBool("PROD")||console.warn(...e)}const yn=pn("kernelRegistry",(()=>new Map)),wn=pn("gradRegistry",(()=>new Map));function xn(e,t){const n=function(e,t){return`${t}_${e}`}(e,t);return yn.get(n)}function En(e){return wn.get(e)}function Sn(e){const t=yn.entries(),n=[];for(;;){const{done:r,value:o}=t.next();if(r)break;const[i,a]=o,[s]=i.split("_");s===e&&n.push(a)}return n}function kn(e){return e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray}function Cn(e,t){if("string"===t)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=In(e)),un().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 Tn(){return un().platform.now()}function An(e,t="utf-8"){return t=t||"utf-8",un().platform.decode(e,t)}function Rn(e){return null!=un().platform.isTypedArray?un().platform.isTypedArray(e):kn(e)}function In(e,t=[],n=!1){if(null==t&&(t=[]),"boolean"==typeof e||"number"==typeof e||"string"==typeof e||an(e)||null==e||Rn(e)&&n)t.push(e);else if(Array.isArray(e)||Rn(e))for(let r=0;r<e.length;++r)In(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 o=0;o<=r;o++)In(e[o],t,n)}return t}class _n{constructor(e,t){this.backendTimer=e,this.logger=t,null==t&&(this.logger=new Fn)}profileKernel(e,t,n){let r;const o=()=>{r=n()};let i;const a=Tn();if(this.backendTimer.timerAvailable())i=this.backendTimer.time(o);else{o();for(const e of r)e.dataSync();i=Promise.resolve({kernelMs:Tn()-a})}if(un().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let t=0;t<r.length;t++){const n=r[t];n.data().then((t=>{Dn(t,n.dtype,e)}))}return{kernelName:e,outputs:r,inputs:t,timeMs:i.then((e=>e.kernelMs)),extraInfo:i.then((e=>null!=e.getExtraProfileInfo?e.getExtraProfileInfo():""))}}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:o,extraInfo:i}=e;n.forEach((e=>{Promise.all([e.data(),r,i]).then((n=>{this.logger.logKernelProfile(t,e,n[0],n[1],o,n[2])}))}))}}function Dn(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 Fn{logKernelProfile(e,t,n,r,o,i){const a="number"==typeof r?Yt(`${r}ms`,9):r.error,s=Yt(e,25),l=t.rank,c=t.size,u=Yt(t.shape.toString(),14);let d="";for(const e in o){const n=o[e];if(null!=n){const r=n.shape||t.shape,o=r.length;d+=`${e}: ${o}D ${o>0?r:""} `}}console.log(`%c${s}\t%c${a}\t%c${l}D ${u}\t%c${c}\t%c${d}\t%c${i}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}const Mn=20,Ln=3,Pn=7;function On(e,t,n,r){const o=en(t),i=function(e,t,n,r){const o=Ht(t),i=r[r.length-1],a=new Array(i).fill(0),s=t.length,l="complex64"===n?$n(e):e;if(s>1)for(let e=0;e<o/i;e++){const t=e*i;for(let e=0;e<i;e++)a[e]=Math.max(a[e],Nn(l[t+e],0,n).length)}return a}(e,t,n,o),a=t.length,s=Un(e,t,n,o,i),l=["Tensor"];return r&&(l.push(` dtype: ${n}`),l.push(` rank: ${a}`),l.push(` shape: [${t}]`),l.push(" values:")),l.push(s.map((e=>" "+e)).join("\n")),l.join("\n")}function Nn(e,t,n){let r;return r=Array.isArray(e)?`${parseFloat(e[0].toFixed(Pn))} + ${parseFloat(e[1].toFixed(Pn))}j`:Jt(e)?`'${e}'`:"bool"===n?Bn(e):parseFloat(e.toFixed(Pn)).toString(),Yt(r,t)}function Bn(e){return 0===e?"false":"true"}function Un(e,t,n,r,o,i=!0){const a="complex64"===n?2:1,s=t[0],l=t.length;if(0===l){if("complex64"===n){return[Nn($n(e)[0],0,n)]}return"bool"===n?[Bn(e[0])]:[e[0].toString()]}if(1===l){if(s>Mn){let t=Array.from(e.slice(0,Ln*a)),r=Array.from(e.slice((s-Ln)*a,s*a));return"complex64"===n&&(t=$n(t),r=$n(r)),["["+t.map(((e,t)=>Nn(e,o[t],n))).join(", ")+", ..., "+r.map(((e,t)=>Nn(e,o[s-Ln+t],n))).join(", ")+"]"]}return["["+("complex64"===n?$n(e):Array.from(e)).map(((e,t)=>Nn(e,o[t],n))).join(", ")+"]"]}const c=t.slice(1),u=r.slice(1),d=r[0]*a,h=[];if(s>Mn){for(let t=0;t<Ln;t++){const r=t*d;h.push(...Un(e.slice(r,r+d),c,n,u,o,!1))}h.push("...");for(let t=s-Ln;t<s;t++){const r=t*d;h.push(...Un(e.slice(r,r+d),c,n,u,o,t===s-1))}}else for(let t=0;t<s;t++){const r=t*d;h.push(...Un(e.slice(r,r+d),c,n,u,o,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]+"]"+(i?"":p),h}function $n(e){const t=[];for(let n=0;n<e.length;n+=2)t.push([e[n],e[n+1]]);return t}class jn{constructor(e,t,n){if(this.dtype=t,this.shape=e.slice(),this.size=Ht(e),null!=n){const e=n.length;Wt(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=en(e)}set(e,...t){0===t.length&&(t=[0]),Wt(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 Gn().makeTensor(this.values,this.shape,this.dtype)}}let Gn=null,zn=null;class qn{constructor(e,t,n,r){this.kept=!1,this.isDisposedInternal=!1,this.shape=e.slice(),this.dtype=t||"float32",this.size=Ht(e),this.strides=en(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 zn.buffer(this.shape,this.dtype,e)}bufferSync(){return zn.buffer(this.shape,this.dtype,this.dataSync())}async array(){const e=await this.data();return nn(this.shape,e,"complex64"===this.dtype)}arraySync(){return nn(this.shape,this.dataSync(),"complex64"===this.dtype)}async data(){this.throwIfDisposed();const e=Gn().read(this.dataId);if("string"===this.dtype){const t=await e;try{return t.map((e=>An(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(),Gn().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();const e=Gn().readSync(this.dataId);if("string"===this.dtype)try{return e.map((e=>An(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 Gn().read(this.dataId);return"string"===this.dtype?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(Gn().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return zn.print(this,e)}clone(){return this.throwIfDisposed(),zn.clone(this)}toString(e=!1){return On(this.dataSync(),this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),zn.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),Gn().makeVariable(this,e,t,n)}}Object.defineProperty(qn,Symbol.hasInstance,{value:e=>!!e&&null!=e.data&&null!=e.dataSync&&null!=e.throwIfDisposed}),pn("Tensor",(()=>qn));class Vn extends qn{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(!Kt(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);Gn().disposeTensor(this),this.dataId=e.dataId,Gn().incRef(this,null)}dispose(){Gn().disposeVariable(this),this.isDisposedInternal=!0}}var Wn,Hn,Kn,Yn,Xn;Object.defineProperty(Vn,Symbol.hasInstance,{value:e=>e instanceof qn&&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"}(Wn||(Wn={})),function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"}(Hn||(Hn={})),function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"}(Kn||(Kn={})),function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"}(Yn||(Yn={})),function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"}(Xn||(Xn={}));const Jn={float32:Yn,int32:Hn,bool:Kn,complex64:Xn};function Zn(e){return null!=e&&"object"==typeof e&&"texture"in e&&e.texture instanceof WebGLTexture}function Qn(e){return"undefined"!=typeof GPUBuffer&&null!=e&&"object"==typeof e&&"buffer"in e&&e.buffer instanceof GPUBuffer}function er(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 Jn[e][t]}(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function tr(e){const t=[];return nr(e,t,new Set),t}function nr(e,t,n){if(null==e)return;if(e instanceof qn)return void t.push(e);if(r=e,!Array.isArray(r)&&"object"!=typeof r)return;var r;const o=e;for(const e in o){const r=o[e];n.has(r)||(n.add(r),nr(r,t,n))}}function rr(e){return null!=e.kernelName}class or{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 ir{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new or}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?(bn(`${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 _n(this.backendInstance),!0}setupRegisteredKernels(){Sn(this.backendName).forEach((e=>{null!=e.setupFunc&&e.setupFunc(this.backendInstance)}))}disposeRegisteredKernels(e){Sn(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 qt||"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,bn(`Initialization of backend ${e} failed`),bn(n.stack||n.message)),!1)));return this.pendingBackendInit=r,{success:r,asyncInit:!0}}}catch(t){return bn(`Initialization of backend ${e} failed`),bn(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:o}=this.initializeBackend(n);if(o||r)return{name:n,asyncInit:o}}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,o=this.readSync(t),i=r.refCount(t);r.disposeData(t,!0),n.backend=e,e.move(t,o,n.shape,n.dtype,i),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 ir.nextTensorId++}nextVariableId(){return ir.nextVariableId++}clone(e){const t=sr.runKernel(vn,{x:e});return this.addTapeNode(this.state.activeScope.name,{x:e},[t],(e=>({x:()=>sr.runKernel(mn,{x:e},{dtype:"float32"})})),[],{}),t}runKernel(e,t,n){if(!(null!=xn(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 o=0;n.forEach((e=>{o+="complex64"===e.dtype?3:1}));const i=r-t-o-this.state.numDataMovesStack[this.state.numDataMovesStack.length-1];if(i>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${i} data ids) after running '${e}'`)}runKernelFunc(e){let t,n=[];const r=this.isTapeOn(),o=this.state.numBytes,i=this.state.numTensors;let a,s;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);const l=rr(e)?e.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(rr(e)){const{kernelName:t,inputs:o,attrs:i}=e,l=xn(t,this.backendName);Wt(null!=l,(()=>`Cannot find registered kernel '${t}' for backend '${this.backendName}'`)),a=()=>{const e=this.backend.numDataIds();s=l.kernelFunc({inputs:o,attrs:i,backend:this.backend});const a=Array.isArray(s)?s:[s];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(t,e,a);const c=a.map((e=>null!=e.rank?e:this.makeTensorFromTensorInfo(e)));if(r){const e=this.getTensorsForGradient(t,o,c);n=this.saveTensorsForBackwardMode(e)}return c}}else{const{forwardFunc:t}=e,o=e=>{r&&(n=e.map((e=>this.keep(this.clone(e)))))};a=()=>{const e=this.backend.numDataIds();s=this.tidy((()=>t(this.backend,o)));const n=Array.isArray(s)?s:[s];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,e,n),n}}const{inputs:c,attrs:u}=e,d=rr(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,(()=>a())),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(h),t=h.outputs):t=a()})),r&&this.addTapeNode(l,c,t,d,n,u),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-o,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-i,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=En(e);if(null!=r){const e=r.inputsToSave||[],o=r.outputsToSave||[];let i;r.saveAllInputs?(Wt(Array.isArray(t),(()=>"saveAllInputs is true, expected inputs to be an array.")),i=Object.keys(t).map((e=>t[e]))):i=e.map((e=>t[e]));const a=n.filter(((e,t)=>o[t]));return i.concat(a)}return[]}makeTensor(e,t,n,r){if(null==e)throw new Error("Values passed to engine.makeTensor() are null");r=r||this.backend;let o=e;"string"===(n=n||"float32")&&Jt(e[0])&&(o=e.map((e=>function(e,t="utf-8"){return t=t||"utf-8",un().platform.encode(e,t)}(e))));const i=r.write(o,t,n),a=new qn(t,n,i,this.nextTensorId());if(this.trackTensor(a,r),"string"===n){const e=this.state.tensorInfo.get(i),t=function(e){if(null==e)return 0;let t=0;return e.forEach((e=>t+=e.length)),t}(o);this.state.numBytes+=t-e.bytes,e.bytes=t}return a}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:o}=e,i=new qn(r,o,n,this.nextTensorId());return this.trackTensor(i,t),i}makeVariable(e,t=!0,n,r){n=n||this.nextVariableId().toString(),null!=r&&r!==e.dtype&&(e=e.cast(r));const o=new Vn(e,t,n,this.nextTensorId());if(null!=this.state.registeredVariables[o.name])throw new Error(`Variable with name ${o.name} was already registered`);return this.state.registeredVariables[o.name]=o,this.incRef(o,this.backend),o}trackTensor(e,t){this.state.numTensors++,"string"===e.dtype&&this.state.numStringTensors++;let n=0;"complex64"!==e.dtype&&"string"!==e.dtype&&(n=e.size*Xt(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 Vn||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*Xt(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,o,i){const a={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:o},s=En(e);null!=s&&(r=s.gradFunc),null!=r&&(a.gradient=e=>(e=e.map(((e,t)=>{if(null==e){const e=n[t],r=rn(e.size,e.dtype);return this.makeTensor(r,e.shape,e.dtype)}return e})),r(e.length>1?e:e[0],o,i))),this.state.activeTape.push(a)}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=tr(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(Wt(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 o=this.scopedRun((()=>this.startTape()),(()=>this.endTape()),(()=>this.tidy("forward",e)));Wt(o instanceof qn,(()=>"The result y returned by f() must be a tensor."));const i=function(e,t,n){const r={},o={};for(let e=0;e<t.length;e++)r[t[e].id]=!0;for(let n=0;n<e.length;n++){const i=e[n],a=i.inputs;for(const e in a){const n=a[e];let s=!1;for(let e=0;e<t.length;e++)if(r[n.id]){i.outputs.forEach((e=>r[e.id]=!0)),s=!0,o[i.id]=!0;break}if(s)break}}const i={};i[n.id]=!0;const a={};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(i[n.outputs[e].id]){for(const e in r)i[r[e].id]=!0,a[n.id]=!0;break}}const s=[];for(let t=0;t<e.length;t++){const n=e[t];if(o[n.id]&&a[n.id]){const e={};for(const t in n.inputs){const o=n.inputs[t];r[o.id]&&(e[t]=o)}const t=Object.assign({},n);t.inputs=e,t.outputs=n.outputs,s.push(t)}}return s}(this.state.activeTape,t,o);if(!r&&0===i.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[o.id]=null==n?function(e){const t=function(e,t){const n=rn(e,t);for(let e=0;e<n.length;e++)n[e]=1;return n}(Ht(e),"float32");return sr.makeTensor(t,e,"float32")}(o.shape):n,function(e,t,n,r){for(let o=t.length-1;o>=0;o--){const i=t[o],a=[];if(i.outputs.forEach((t=>{const n=e[t.id];a.push(null!=n?n:null)})),null==i.gradient)throw new Error(`Cannot compute gradient: gradient function not found for ${i.kernelName}.`);const s=i.gradient(a);for(const t in i.inputs){if(!(t in s))throw new Error(`Cannot backprop through input ${t}. Available gradients found: ${Object.keys(s)}.`);const o=n((()=>s[t]()));if("float32"!==o.dtype)throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input ${t} must have 'float32' dtype, but has '${o.dtype}'`);const a=i.inputs[t];if(!Kt(o.shape,a.shape))throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input '${t}' has shape '${o.shape}', which does not match the shape of the input '${a.shape}'`);if(null==e[a.id])e[a.id]=o;else{const t=e[a.id];e[a.id]=r(t,o),t.dispose()}}}}(e,i,(e=>this.tidy(e)),lr);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:o,grads:r}}))}customGrad(e){return Wt(Qt(e),(()=>"The f passed in customGrad(f) must be a function.")),(...t)=>{let n;Wt(t.every((e=>e instanceof qn)),(()=>"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,o)=>(n=e(...t,o),Wt(n.value instanceof qn,(()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor")),Wt(Qt(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 o=n.gradFunc(e,r),i=Array.isArray(o)?o:[o];Wt(i.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(...).")),Wt(i.every((e=>e instanceof qn)),(()=>"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 a={};return i.forEach(((e,t)=>{a[t]=()=>e})),a},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=Tn(),n=await this.backend.time(e);return n.wallMs=Tn()-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 or;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 ar(){const e=fn();if(null==e._tfengine){const t=new ln(e);e._tfengine=new ir(t)}return hn=e._tfengine.ENV,function(e){Gn=e}((()=>e._tfengine)),e._tfengine}ir.nextTensorId=0,ir.nextVariableId=0;const sr=ar();function lr(e,t){return sr.runKernel(gn,{a:e,b:t})}const cr=un();function ur(e,t){let n=e;if(Rn(e))return"string"===t?[]:[e.length];if(Zn(e)){return[e.height,e.width*(e.channels||"RGBA").length]}if(Qn(e))return[e.buffer.size/(null==t?4:Xt(t))];if(!Array.isArray(e))return[];const r=[];for(;Array.isArray(n)||Rn(n)&&"string"!==t;)r.push(n.length),n=n[0];return Array.isArray(e)&&un().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&dr(e,r,[]),r}function dr(e,t,n){if(n=n||[],!Array.isArray(e)&&!Rn(e))return void Wt(0===t.length,(()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`));Wt(t.length>0,(()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`)),Wt(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)dr(e[t],r,n.concat(t))}function hr(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 fr(e,t,n,r="numeric"){if(e instanceof qn)return hr(r,e.dtype,t,n),e;let o=Zt(e);if("string"!==o&&["bool","int32","float32"].indexOf(r)>=0&&(o=r),hr(r,o,t,n),null==e||!Rn(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 i=ur(e,o);Rn(e)||Array.isArray(e)||(e=[e]);const a="string"!==o?Cn(e,o):In(e,[],!0);return sr.makeTensor(a,i,o)}cr.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.")})),cr.registerFlag("IS_BROWSER",(()=>"undefined"!=typeof window&&null!=window.document||"undefined"!=typeof WorkerGlobalScope)),cr.registerFlag("IS_NODE",(()=>"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node)),cr.registerFlag("IS_CHROME",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor))),cr.registerFlag("IS_SAFARI",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Safari/.test(navigator.userAgent)&&/Apple/.test(navigator.vendor))),cr.registerFlag("PROD",(()=>!1)),cr.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(()=>cr.getBool("DEBUG"))),cr.registerFlag("DEPRECATION_WARNINGS_ENABLED",(()=>!0)),cr.registerFlag("IS_TEST",(()=>!1)),cr.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(()=>cr.getBool("DEBUG"))),cr.registerFlag("WRAP_TO_IMAGEBITMAP",(()=>!1)),cr.registerFlag("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU",(()=>!1)),cr.registerFlag("USE_SETTIMEOUTCUSTOM",(()=>!1));function pr(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 o=(...e)=>{sr.startScope(n);try{const t=r(...e);return an(t)&&console.error("Cannot return a Promise inside of tidy."),sr.endScope(t),t}catch(e){throw sr.endScope(null),e}};return Object.defineProperty(o,"name",{value:n,configurable:!0}),o}class gr{static join(e){return new gr(e).slice()}constructor(e){if(this.shards=[],this.previousShardIndex=0,null==e)return;if(e instanceof Array||(e=[e]),0===(e=e.map((e=>Rn(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 o=t+r.byteLength;this.shards.push({buffer:r,start:t,end:o}),t=o}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),o=new Uint8Array(r);let i=0;for(let r=n;r<this.shards.length;r++){const n=this.shards[r],a=e+i-n.start,s=i,l=Math.min(t,n.end),c=new Uint8Array(n.buffer,a,l-n.start-a);if(o.set(c,s),i+=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 o=Math.floor((r-n)/2)+n,i=t(e[o]);if(0===i)return o;i<0?r=o:n=o+1}return-1}(this.shards,t);return-1===n?-1:(this.previousShardIndex=n,this.previousShardIndex)}}const mr="undefined"!=typeof Buffer&&("undefined"==typeof Blob||"undefined"==typeof atob||"undefined"==typeof btoa);function vr(e){return mr?Buffer.byteLength(e,"utf8"):new Blob([e]).size}function br(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:vr(JSON.stringify(e.modelTopology)),weightSpecsBytes:null==e.weightSpecs?0:vr(JSON.stringify(e.weightSpecs)),weightDataBytes:null==e.weightData?0:new gr(e.weightData).byteLength}}class yr{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return null==yr.instance&&(yr.instance=new yr),yr.instance}static registerSaveRouter(e){yr.getInstance().saveRouters.push(e)}static registerLoadRouter(e){yr.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return yr.getHandlers(e,"save")}static getLoadHandlers(e,t){return yr.getHandlers(e,"load",t)}static getHandlers(e,t,n){const r=[];return("load"===t?yr.getInstance().loadRouters:yr.getInstance().saveRouters).forEach((t=>{const o=t(e,n);null!==o&&r.push(o)})),r}}const wr="tensorflowjs",xr="models_store",Er="model_info_store";function Sr(){if(!un().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 kr(e){const t=e.result;t.createObjectStore(xr,{keyPath:"modelPath"}),t.createObjectStore(Er,{keyPath:"modelPath"})}class Cr{constructor(e){if(this.indexedDB=Sr(),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(wr,1);r.onupgradeneeded=()=>kr(r),r.onsuccess=()=>{const o=r.result;if(null==t){const t=o.transaction(xr,"readonly"),r=t.objectStore(xr).get(this.modelPath);r.onsuccess=()=>{if(null==r.result)return o.close(),n(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));e(r.result.modelArtifacts)},r.onerror=e=>(o.close(),n(r.error)),t.oncomplete=()=>o.close()}else{const r=br(t),i=o.transaction(Er,"readwrite");let a,s,l=i.objectStore(Er);try{a=l.put({modelPath:this.modelPath,modelArtifactsInfo:r})}catch(e){return n(e)}a.onsuccess=()=>{s=o.transaction(xr,"readwrite");const a=s.objectStore(xr);let c;try{c=a.put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:r})}catch(e){return n(e)}c.onsuccess=()=>e({modelArtifactsInfo:r}),c.onerror=e=>{l=i.objectStore(Er);const t=l.delete(this.modelPath);t.onsuccess=()=>(o.close(),n(c.error)),t.onerror=e=>(o.close(),n(c.error))}},a.onerror=e=>(o.close(),n(a.error)),i.oncomplete=()=>{null==s?o.close():s.oncomplete=()=>o.close()}}},r.onerror=e=>n(r.error)}))}}Cr.URL_SCHEME="indexeddb://";const Tr=e=>{return un().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(Cr.URL_SCHEME)?(t=e.slice(Cr.URL_SCHEME.length),new Cr(t)):null;var t};yr.registerSaveRouter(Tr),yr.registerLoadRouter(Tr);class Ar{constructor(){this.indexedDB=Sr()}async listModels(){return new Promise(((e,t)=>{const n=this.indexedDB.open(wr,1);n.onupgradeneeded=()=>kr(n),n.onsuccess=()=>{const r=n.result,o=r.transaction(Er,"readonly"),i=o.objectStore(Er).getAll();i.onsuccess=()=>{const t={};for(const e of i.result)t[e.modelPath]=e.modelArtifactsInfo;e(t)},i.onerror=e=>(r.close(),t(i.error)),o.oncomplete=()=>r.close()},n.onerror=e=>t(n.error)}))}async removeModel(e){var t;return e=(t=e).startsWith(Cr.URL_SCHEME)?t.slice(Cr.URL_SCHEME.length):t,new Promise(((t,n)=>{const r=this.indexedDB.open(wr,1);r.onupgradeneeded=()=>kr(r),r.onsuccess=()=>{const o=r.result,i=o.transaction(Er,"readwrite"),a=i.objectStore(Er),s=a.get(e);let l;s.onsuccess=()=>{if(null==s.result)return o.close(),n(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{const r=a.delete(e),i=()=>{l=o.transaction(xr,"readwrite");const r=l.objectStore(xr).delete(e);r.onsuccess=()=>t(s.result.modelArtifactsInfo),r.onerror=e=>n(s.error)};r.onsuccess=i,r.onerror=e=>(i(),o.close(),n(s.error))}},s.onerror=e=>(o.close(),n(s.error)),i.oncomplete=()=>{null==l?o.close():l.oncomplete=()=>o.close()}},r.onerror=e=>n(r.error)}))}}const Rr="/",Ir="tensorflowjs_models",_r="info",Dr="model_topology",Fr="weight_specs",Mr="weight_data",Lr="model_metadata";function Pr(e){return{info:[Ir,e,_r].join(Rr),topology:[Ir,e,Dr].join(Rr),weightSpecs:[Ir,e,Fr].join(Rr),weightData:[Ir,e,Mr].join(Rr),modelMetadata:[Ir,e,Lr].join(Rr)}}function Or(e){for(const t of Object.values(e))window.localStorage.removeItem(t)}function Nr(e){const t=e.split(Rr);if(t.length<3)throw new Error(`Invalid key format: ${e}`);return t.slice(1,t.length-1).join(Rr)}class Br{constructor(e){if(!un().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=Pr(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=br(e),o=gr.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(mr)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)}(o));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 Or(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 o=this.LS.getItem(this.keys.modelMetadata);if(null!=o){const e=JSON.parse(o);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 i=this.LS.getItem(this.keys.weightData);if(null==i)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=function(e){if(mr){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}(i),t}}Br.URL_SCHEME="localstorage://";const Ur=e=>{return un().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(Br.URL_SCHEME)?(t=e.slice(Br.URL_SCHEME.length),new Br(t)):null;var t};yr.registerSaveRouter(Ur),yr.registerLoadRouter(Ur);class $r{constructor(){Wt(un().getBool("IS_BROWSER"),(()=>"Current environment is not a web browser")),Wt("undefined"==typeof window||void 0!==window.localStorage,(()=>"Current browser does not appear to support localStorage")),this.LS=window.localStorage}async listModels(){const e={},t=Ir+Rr,n=Rr+_r;for(let r=0;r<this.LS.length;++r){const o=this.LS.key(r);if(o.startsWith(t)&&o.endsWith(n)){e[Nr(o)]=JSON.parse(this.LS.getItem(o))}}return e}async removeModel(e){var t;const n=Pr(e=(t=e).startsWith(Br.URL_SCHEME)?t.slice(Br.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 Or(n),r}}class jr{constructor(){this.managers={}}static getInstance(){return null==jr.instance&&(jr.instance=new jr),jr.instance}static registerManager(e,t){Wt(null!=e,(()=>"scheme must not be undefined or null.")),e.endsWith("://")&&(e=e.slice(0,e.indexOf("://"))),Wt(e.length>0,(()=>"scheme must not be an empty string."));const n=jr.getInstance();Wt(null==n.managers[e],(()=>`A model store manager is already registered for scheme '${e}'.`)),n.managers[e]=t}static getManager(e){const t=jr.getInstance().managers[e];if(null==t)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(jr.getInstance().managers)}}class Gr{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&&un().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 kn(e)}}if(un().get("IS_BROWSER")){un().setPlatform("browser",new Gr);try{jr.registerManager(Br.URL_SCHEME,new $r)}catch(e){}try{jr.registerManager(Cr.URL_SCHEME,new Ar)}catch(e){}}const zr=()=>require("node-fetch");let qr;class Vr{constructor(){this.util=require("util"),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return null!=un().global.fetch?un().global.fetch(e,t):(null==qr&&(qr=zr()),qr(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)}}un().get("IS_NODE")&&!un().get("IS_BROWSER")&&un().setPlatform("node",new Vr);const Wr=pr({cast_:function(e,t){const n=fr(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 sr.runKernel(mn,{x:n},{dtype:t})}});const Hr=pr({clone_:function(e){const t=fr(e,"x","clone","string_or_numeric");return sr.runKernel(vn,{x:t})}});ar();const Kr={buffer:function(e,t="float32",n){return t=t||"float32",on(e),new jn(e,t,n)},cast:Wr,clone:Hr,print:function(e,t=!1){console.log(e.toString(t))}};function Yr(e,t){return sr.tidy(e,t)}function Xr(e){tr(e).forEach((e=>e.dispose()))}zn=Kr;const Jr=pr({add_:function(e,t){let n=fr(e,"a","add"),r=fr(t,"b","add");return[n,r]=er(n,r),sr.runKernel(gn,{a:n,b:r})}});const Zr=pr({floorDiv_:function(e,t){let n=fr(e,"a","floorDiv"),r=fr(t,"b","floorDiv");return[n,r]=er(n,r),sr.runKernel("FloorDiv",{a:n,b:r})}});const Qr=pr({div_:function(e,t){let n=fr(e,"a","div"),r=fr(t,"b","div");return[n,r]=er(n,r),"int32"===n.dtype&&"int32"===r.dtype?Zr(n,r):sr.runKernel("RealDiv",{a:n,b:r},{})}});const eo=pr({mul_:function(e,t){let n=fr(e,"a","mul"),r=fr(t,"b","mul");return[n,r]=er(n,r),sr.runKernel("Multiply",{a:n,b:r})}});const to=pr({abs_:function(e){const t=fr(e,"x","abs");if("complex64"===t.dtype){return sr.runKernel("ComplexAbs",{x:t})}return sr.runKernel("Abs",{x:t})}});const no=pr({zerosLike_:function(e){const t=fr(e,"x","zerosLike");return sr.runKernel("ZerosLike",{x:t})}});const ro=pr({pow_:function(e,t){let n=fr(e,"base","pow"),r=fr(t,"exp","pow");return[n,r]=er(n,r),sr.runKernel("Pow",{a:n,b:r})}});function oo(e,t){if((Rn(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&&Rn(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=Zt(e);else if("complex64"===r)throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(Qn(e)||Zn(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 sr.backend.createTensorFromGPUData(e,t||n,r)}if(!Rn(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){on(t);const e=Ht(t),r=Ht(n);Wt(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]!==Ht(t.slice(e));Wt(n[e]===t[e]||!r,(()=>`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `))}}return Rn(e)||Array.isArray(e)||(e=[e]),t=t||n,e="string"!==r?Cn(e,r):In(e,[],!0),sr.makeTensor(e,t,r)}(e,[],[],t)}const io=pr({sqrt_:function(e){const t=fr(e,"x","sqrt","float32");return sr.runKernel("Sqrt",{x:t})}});const ao=pr({square_:function(e){const t=fr(e,"x","square");return sr.runKernel("Square",{x:t},{})}});const so=pr({sub_:function(e,t){let n=fr(e,"a","sub"),r=fr(t,"b","sub");return[n,r]=er(n,r),sr.runKernel("Sub",{a:n,b:r})}});const lo=pr({maximum_:function(e,t){let n=fr(e,"a","maximum"),r=fr(t,"b","maximum");return[n,r]=er(n,r),"bool"===n.dtype&&(n=Wr(n,"int32"),r=Wr(r,"int32")),function(e,t){const n=Math.max(e.length,t.length),r=new Array(n);for(let o=0;o<n;o++){let i=e[e.length-o-1];null==i&&(i=1);let a=t[t.length-o-1];if(null==a&&(a=1),1===i)r[n-o-1]=a;else if(1===a)r[n-o-1]=i;else{if(i!==a)throw Error(`Operands could not be broadcast together with shapes ${e} and ${t}.`);r[n-o-1]=i}}}(n.shape,r.shape),sr.runKernel("Maximum",{a:n,b:r})}});class co{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class uo{constructor(){this.classNameMap={}}static getMap(){return null==uo.instance&&(uo.instance=new uo),uo.instance}static register(e){uo.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function ho(e){Wt(null!=e.className,(()=>"Class being registered does not have the static className property defined.")),Wt("string"==typeof e.className,(()=>"className is required to be a string, but got type "+typeof e.className)),Wt(e.className.length>0,(()=>"Class being registered has an empty-string as its className, which is disallowed.")),uo.register(e)}class fo extends co{minimize(e,t=!1,n){const{value:r,grads:o}=this.computeGradients(e,n);if(null!=n){const e=n.map((e=>({name:e.name,tensor:o[e.name]})));this.applyGradients(e)}else this.applyGradients(o);return Xr(o),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){Wt(Qt(e),(()=>"The f passed in variableGrads(f) must be a function")),Wt(null==t||Array.isArray(t)&&t.every((e=>e instanceof Vn)),(()=>"The varList passed in variableGrads(f, varList) must be an array of variables"));const n=null!=t;if(!n){t=[];for(const e in sr.registeredVariables)t.push(sr.registeredVariables[e])}const r=n?t.filter((e=>!e.trainable)):null,o=t.length;Wt((t=t.filter((e=>e.trainable))).length>0,(()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${o} variables is trainable.`));const{value:i,grads:a}=sr.gradients(e,t,null,!0);Wt(a.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().")),Wt(0===i.rank,(()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`));const s={};return t.forEach(((e,t)=>{null!=a[t]&&(s[e.name]=a[t])})),null!=r&&r.forEach((e=>s[e.name]=null)),{value:i,grads:s}}(e,t)}dispose(){null!=this.iterations_&&Xr(this.iterations_)}async saveIterations(){return null==this.iterations_&&(this.iterations_=0),{name:"iter",tensor:oo(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(fo,Symbol.hasInstance,{value:e=>null!=e.minimize&&null!=e.computeGradients&&null!=e.applyGradients});class po extends fo{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 o=sr.registeredVariables[t];Yr((()=>{const e=Jr(eo(this.c,r),o);o.assign(e)}))})),this.incrementIterations()}setLearningRate(e){var t;this.learningRate=e,null!=this.c&&this.c.dispose(),this.c=(t=oo(-e),sr.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 go=[class extends fo{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=sr.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=sr.registeredVariables[t];null==this.accumulatedGrads[n]&&(this.accumulatedGrads[n]={originalName:`${t}/accum_grad`,variable:Yr((()=>no(r).variable(false)))}),null==this.accumulatedUpdates[n]&&(this.accumulatedUpdates[n]={originalName:`${t}/accum_var`,variable:Yr((()=>no(r).variable(false)))});const o=Array.isArray(e)?e[n].tensor:e[t];if(null==o)return;const i=this.accumulatedGrads[n].variable,a=this.accumulatedUpdates[n].variable;Yr((()=>{const e=Jr(eo(i,this.rho),eo(ao(o),1-this.rho)),t=eo(Qr(io(Jr(a,this.epsilon)),io(Jr(i,this.epsilon))),o),n=Jr(eo(a,this.rho),eo(ao(t),1-this.rho));i.assign(e),a.assign(n);const s=Jr(eo(t,-this.learningRate),r);r.assign(s)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedUpdates&&(Xr(this.accumulatedGrads.map((e=>e.variable))),Xr(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 fo{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=sr.registeredVariables[t];if(null==this.accumulatedGrads[n]){const e=!1;this.accumulatedGrads[n]={originalName:`${t}/accumulator`,variable:Yr((()=>function(e,t,n){return on(e),n=n||Zt(t),sr.runKernel("Fill",{},{shape:e,value:t,dtype:n})}(r.shape,this.initialAccumulatorValue).variable(e)))}}const o=Array.isArray(e)?e[n].tensor:e[t];if(null==o)return;const i=this.accumulatedGrads[n].variable;Yr((()=>{const e=Jr(i,ao(o));i.assign(e);const t=Jr(eo(Qr(o,io(Jr(e,sr.backend.epsilon()))),-this.learningRate),r);r.assign(t)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedGrads&&Xr(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 fo{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=[],Yr((()=>{this.accBeta1=oo(t).variable(),this.accBeta2=oo(n).variable()})),null==r&&(this.epsilon=sr.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);Yr((()=>{const n=so(1,this.accBeta1),r=so(1,this.accBeta2);t.forEach(((t,o)=>{const i=sr.registeredVariables[t];null==this.accumulatedFirstMoment[o]&&(this.accumulatedFirstMoment[o]={originalName:`${t}/m`,variable:Yr((()=>no(i).variable(false)))}),null==this.accumulatedSecondMoment[o]&&(this.accumulatedSecondMoment[o]={originalName:`${t}/v`,variable:Yr((()=>no(i).variable(false)))});const a=Array.isArray(e)?e[o].tensor:e[t];if(null==a)return;const s=this.accumulatedFirstMoment[o].variable,l=this.accumulatedSecondMoment[o].variable,c=Jr(eo(s,this.beta1),eo(a,1-this.beta1)),u=Jr(eo(l,this.beta2),eo(ao(a),1-this.beta2)),d=Qr(c,n),h=Qr(u,r);s.assign(c),l.assign(u);const f=Jr(eo(Qr(d,Jr(io(h),this.epsilon)),-this.learningRate),i);i.assign(f)})),this.accBeta1.assign(eo(this.accBeta1,this.beta1)),this.accBeta2.assign(eo(this.accBeta2,this.beta2))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),null!=this.accumulatedFirstMoment&&Xr(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedSecondMoment&&Xr(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),Yr((()=>{this.accBeta1.assign(ro(this.beta1,this.iterations_+1)),this.accBeta2.assign(ro(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 fo{static get className(){return"Adamax"}constructor(e,t,n,r=null,o=0){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=o,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],Yr((()=>{this.iteration=oo(0).variable(),this.accBeta1=oo(t).variable()})),null==r&&(this.epsilon=sr.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);Yr((()=>{const n=so(1,this.accBeta1),r=Qr(-this.learningRate,Jr(eo(this.iteration,this.decay),1));t.forEach(((t,o)=>{const i=sr.registeredVariables[t];null==this.accumulatedFirstMoment[o]&&(this.accumulatedFirstMoment[o]={originalName:`${t}/m`,variable:no(i).variable(false)}),null==this.accumulatedWeightedInfNorm[o]&&(this.accumulatedWeightedInfNorm[o]={originalName:`${t}/v`,variable:no(i).variable(false)});const a=Array.isArray(e)?e[o].tensor:e[t];if(null==a)return;const s=this.accumulatedFirstMoment[o].variable,l=this.accumulatedWeightedInfNorm[o].variable,c=Jr(eo(s,this.beta1),eo(a,1-this.beta1)),u=eo(l,this.beta2),d=to(a),h=lo(u,d);s.assign(c),l.assign(h);const f=Jr(eo(Qr(r,n),Qr(c,Jr(h,this.epsilon))),i);i.assign(f)})),this.iteration.assign(Jr(this.iteration,1)),this.accBeta1.assign(eo(this.accBeta1,this.beta1))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),null!=this.accumulatedFirstMoment&&Xr(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedWeightedInfNorm&&Xr(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 po{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=oo(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=sr.registeredVariables[t];if(null==this.accumulations[n]){const e=!1;this.accumulations[n]={originalName:`${t}/momentum`,variable:Yr((()=>no(r).variable(e)))}}const o=this.accumulations[n].variable,i=Array.isArray(e)?e[n].tensor:e[t];null!=i&&Yr((()=>{let e;const t=Jr(eo(this.m,o),i);e=Jr(eo(this.c,this.useNesterov?Jr(i,eo(t,this.m)):t),r),o.assign(t),r.assign(e)}))})),this.incrementIterations()}dispose(){this.m.dispose(),null!=this.accumulations&&Xr(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 fo{static get className(){return"RMSProp"}constructor(e,t=.9,n=0,r=null,o=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=o,null==r&&(this.epsilon=sr.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=sr.registeredVariables[t],o=!1;null==this.accumulatedMeanSquares[n]&&(this.accumulatedMeanSquares[n]={originalName:`${t}/rms`,variable:Yr((()=>no(r).variable(o)))}),null==this.accumulatedMoments[n]&&(this.accumulatedMoments[n]={originalName:`${t}/momentum`,variable:Yr((()=>no(r).variable(o)))}),null==this.accumulatedMeanGrads[n]&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${t}/mg`,variable:Yr((()=>no(r).variable(o)))});const i=Array.isArray(e)?e[n].tensor:e[t];if(null==i)return;const a=this.accumulatedMeanSquares[n].variable,s=this.accumulatedMoments[n].variable;Yr((()=>{const e=Jr(eo(a,this.decay),eo(ao(i),1-this.decay));if(this.centered){const t=this.accumulatedMeanGrads[n].variable,o=Jr(eo(t,this.decay),eo(i,1-this.decay)),l=Qr(eo(i,this.learningRate),io(so(e,Jr(ao(o),this.epsilon)))),c=Jr(eo(s,this.momentum),l);a.assign(e),t.assign(o),s.assign(c);const u=so(r,c);r.assign(u)}else{const e=Jr(eo(a,this.decay),eo(ao(i),1-this.decay)),t=Jr(eo(s,this.momentum),Qr(eo(i,this.learningRate),io(Jr(e,this.epsilon))));a.assign(e),s.assign(t);const n=so(r,t);r.assign(n)}}))})),this.incrementIterations()}dispose(){null!=this.accumulatedMeanSquares&&Xr(this.accumulatedMeanSquares.map((e=>e.variable))),null!=this.accumulatedMeanGrads&&this.centered&&Xr(this.accumulatedMeanGrads.map((e=>e.variable))),null!=this.accumulatedMoments&&Xr(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)}},po];!function(){for(const e of go)ho(e)}();const mo={},vo={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function bo(e,t){if(!(e in mo)||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(un().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 mo[e]}),!1),un().getBool("SOFTWARE_WEBGL_ENABLED")&&(vo.failIfMajorPerformanceCaveat=!1);if(1===e)return n.getContext("webgl",vo)||n.getContext("experimental-webgl",vo);return n.getContext("webgl2",vo)}(e,t);if(null===n)return console.log("Could not get context for WebGL version",e),null;mo[e]=n}const n=mo[e];return null==n||n.isContextLost()?(delete mo[e],bo(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),mo[e])}var yo="https://websdk-cdn-dev.idmission.com/assets";function wo(e){var t=e.width,n=e.height;return e instanceof HTMLVideoElement&&(t=e.videoWidth,n=e.videoHeight),[t,n]}function xo(e,t){var n=document.createElement("canvas"),r=n.getContext("2d");if(!r)throw new Error("could not get 2d context");var o=t.box,i=o.width,a=.6*e.height-i,s=Math.max(0,o.xMin-a/2);return Pt()?(n.width=e.width,n.height=e.height,r.drawImage(e,0,0,n.width,n.height)):(n.width=i+a,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 Eo=function(e){var t=e.error;return c.default.createElement(lt,null,c.default.createElement(ct,{style:{justifyContent:"center"}},c.default.createElement("h3",{style:{marginBottom:8}},"We're sorry, an unexpected error has occurred."),c.default.createElement("p",{style:{marginBottom:0}},c.default.createElement("code",null,t.message))))},So={boxes:0,scores:7,labels:4},ko=n.createContext({ready:!1,working:{current:!1},thresholds:{},setThresholds:function(){return null},makePrediction:function(){return null},onPredictionMade:function(){return null},detectionTime:0,focusPredictionTime:0,getBestFrame:function(){return Promise.resolve(null)},resetBestFrame:function(){return null}}),Co="".concat(yo,"/models/documentdetection448/model.json"),To="".concat(yo,"/models/focus/model.json"),Ao=function(e){var t=e.children,r=e.documentDetectionModelUrl,o=e.focusModelUrl,a=e.logPredictions,s=void 0!==a&&a,l=n.useState(!1),u=l[0],d=l[1],h=n.useState(0),p=h[0],g=h[1],b=n.useState(0),y=b[0],w=b[1],x=n.useState(0),E=x[0],S=x[1],k=n.useState(0),C=k[0],T=k[1],A=n.useState(0),R=A[0],I=A[1],_=n.useRef(!1),D=n.useRef(),F=n.useRef(null),M=n.useState(0),L=M[0],P=M[1],O=n.useState(0),N=O[0],B=O[1],U=n.useState(null),$=U[0],j=U[1];n.useEffect((function(){d(!1);var e=r||Co,t=o||To;function n(){return m(this,void 0,void 0,(function(){return v(this,(function(n){switch(n.label){case 0:return f.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",52428800),[4,f.setBackend("webgl")];case 1:return n.sent(),[4,f.ready()];case 2:return n.sent(),[4,Promise.all([It(e),zt(t)])];case 3:return n.sent(),[2]}}))}))}function a(){return m(this,void 0,void 0,(function(){var r;return v(this,(function(o){switch(o.label){case 0:return d(!1),Et=null,jt=null,delete mo[2],(r=document.createElement("canvas").getContext("webgl2"))&&e&&t?(i.setWebGLContext(2,r),function(){try{f.backend().dispose()}catch(e){console.error("failed to dispose backend",e)}}(),[4,n()]):[3,2];case 1:o.sent(),d(!0),o.label=2;case 2:return[2]}}))}))}try{n().then((function(){d(!0)}))}catch(e){j(e)}var s=bo(2).canvas;return s.addEventListener("webglcontextlost",a),function(){var e;null===(e=s.removeEventListener)||void 0===e||e.call(s,"webglcontextlost",a)}}),[r,o]);var G=n.useMemo((function(){return{document:p,passport:y,mrz:E,pdf417:C,focus:R}}),[p,R,E,y,C]),z=n.useCallback((function(e){e.document&&g(e.document),e.passport&&w(e.passport),e.mrz&&S(e.mrz),e.pdf417&&T(e.pdf417),e.focus&&I(e.focus)}),[]),q=n.useRef(null),V=n.useRef(0),W=n.useCallback((function(e){_.current=!0,m(void 0,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:return Et&&jt&&F.current?[4,Io(e,F.current,G,s)]:[2];case 1:return t=r.sent(),P(t.detectionTime),B(t.focusPredictionTime),V.current<=t.focusScore&&(V.current=t.focusScore,Ro(q.current,e)),null===(n=D.current)||void 0===n||n.call(D,t),_.current=!1,[2]}}))}))}),[s,G]),H=n.useCallback((function(e){D.current=e}),[]),K=n.useCallback((function(){return m(void 0,void 0,void 0,(function(){var e;return v(this,(function(t){switch(t.label){case 0:return q.current?(e=q.current.toDataURL("image/jpeg",.98),[4,fetch(e)]):[2,null];case 1:return[4,t.sent().blob()];case 2:return[2,t.sent()]}}))}))}),[]),Y=n.useCallback((function(){V.current=0,function(e){if(!e)return;var t=e.getContext("2d");if(!t)return;t.clearRect(0,0,e.width,e.height)}(q.current)}),[]),X=n.useMemo((function(){return{ready:u,working:_,thresholds:G,setThresholds:z,makePrediction:W,onPredictionMade:H,detectionTime:L,focusPredictionTime:N,getBestFrame:K,resetBestFrame:Y}}),[L,N,K,W,H,u,Y,z,G]);return c.default.createElement(ko.Provider,{value:X},$?c.default.createElement(Eo,{error:$}):t,c.default.createElement(No,{ref:F}),c.default.createElement(No,{ref:q}))};function Ro(e,t,n,r){if(e){var o=e.getContext("2d");if(o){if(!n||!r){var i=wo(t);n||(n=i[0]),r||(r=i[1])}e.width=n,e.height=r,o.drawImage(t,0,0,n,r)}}}function Io(e,t,n,r){var o,i,a,s,l,c,u,d,h,f;return void 0===r&&(r=!1),m(this,void 0,void 0,(function(){var p,g,m,b,y,w,x,E,S,k,C,T,A,R,I,_,D,F,M,L,P,O,N,B,U,$,j,G;return v(this,(function(v){switch(v.label){case 0:return p=wo(e),g=p[0],m=p[1],Ro(t,e),[4,_o(e,r)];case 1:return b=v.sent(),y=b.scores,w=b.labels,x=b.time,E=function(e){var t={};return e.forEach((function(e,n){e&&(t[e.label]||(t[e.label]=[0,-1]),e.score>t[e.label][0]&&(t[e.label]=[e.score,n]))})),Object.keys(t).map((function(n){return e[t[n][1]]})).filter((function(e){return!!e}))}(b.boxes.map((function(e,t){return function(e,t,n){var r=e[0],o=e[1];return{score:t,bbox:[o,r,e[3]-o,e[2]-r],label:_t[n]}}(e,y[t],w[t])}))),S=E.find((function(e){return"Document"===e.label})),k=E.find((function(e){return"Passport Page"===e.label})),C=null!==(o=null==S?void 0:S.score)&&void 0!==o?o:0,T=null!==(i=null==k?void 0:k.score)&&void 0!==i?i:0,A=T>=(null!==(a=n.passport)&&void 0!==a?a:0),R=C>T?S:k,_=(I=A?T:C)>=(null!==(s=n.document)&&void 0!==s?s:0),D=xt.NONE,A?D=xt.PASSPORT:_&&(D=xt.ID_CARD),F=E.find((function(e){return"MRZ"===e.label})),M=null!==(l=null==F?void 0:F.score)&&void 0!==l?l:0,L=M>=(null!==(c=n.mrz)&&void 0!==c?c:0),P=E.find((function(e){return"PDF417"===e.label})),O=null!==(u=null==P?void 0:P.score)&&void 0!==u?u:0,N=O>=(null!==(d=n.pdf417)&&void 0!==d?d:0),B=null,U=0,$=0,j=!1,_?[4,Do(e,null==R?void 0:R.bbox,r)]:[3,3];case 2:G=v.sent(),U=G[1],$=null!==(h=null==(B=G[0])?void 0:B[1])&&void 0!==h?h:0,j=$>=(null!==(f=n.focus)&&void 0!==f?f:0),v.label=3;case 3:return[2,{detectedObjects:E,detectionScore:I,detectionTime:x,detectionThresholdMet:_,detectedDocumentType:D,passportDetectionScore:T,passportDetectionThresholdMet:A,mrzDetectionScore:M,mrzDetectionThresholdMet:L,pdf417DetectionScore:O,pdf417DetectionThresholdMet:N,bestDocumentOrPassport:R,bestMrz:F,bestPdf417:P,focusScore:$,focusThresholdMet:j,focusPredictionTime:U,frameWidth:g,frameHeight:m}]}}))}))}function _o(e,t){return void 0===t&&(t=!1),m(this,void 0,void 0,(function(){var n,r,o,i,a,s,l,c,u,d,h,p,g,m,b,y,w;return v(this,(function(v){switch(v.label){case 0:if(!Et)throw new Error("document detection model is not loaded");n=new Date,v.label=1;case 1:return v.trys.push([1,7,,8]),r=f.browser.fromPixels(e),t&&console.time("resize"),o=f.image.resizeBilinear(r,[448,448]),t&&console.timeEnd("resize"),r.dispose(),t&&console.time("convert to int32"),i=f.cast(o,"int32"),o.dispose(),l=(s=f).tensor4d,u=(c=Array).from,[4,i.data()];case 2:return a=l.apply(s,[u.apply(c,[v.sent()]),[1,448,448,3]]),i.dispose(),d=f.cast(a,"int32"),t&&console.timeEnd("convert to int32"),a.dispose(),t&&console.time("predictions"),[4,Et.executeAsync(d)];case 3:return h=v.sent(),t&&console.timeEnd("predictions"),d.dispose(),p=h,t&&console.log("predictions made!",p.map((function(e){return e.arraySync()}))),[4,p[So.boxes].array()];case 4:return g=v.sent()[0],[4,p[So.scores].array()];case 5:return m=v.sent()[0],[4,p[So.labels].array()];case 6:return b=(b=v.sent()[0]).map((function(e){return Math.round(e)})),f.dispose(h),y=(new Date).getTime()-n.getTime(),[2,{boxes:g,scores:m,labels:b,time:y}];case 7:return w=v.sent(),console.error("caught error in makeDocumentDetectionPredictions",w),[2,{boxes:[],scores:[],labels:[],time:0}];case 8:return[2]}}))}))}function Do(e,t,n){return void 0===n&&(n=!1),m(this,void 0,void 0,(function(){var r,o,i,a,s,l,c,u,d,h,p,g,m;return v(this,(function(v){switch(v.label){case 0:if(!jt)throw new Error("focus model is not loaded");r=new Date,v.label=1;case 1:return v.trys.push([1,5,,6]),o=void 0,o=f.browser.fromPixels(t?function(e,t){var n=document.createElement("canvas"),r=n.getContext("2d");if(!r)throw new Error("could not get 2d context");var o=wo(e),i=o[0],a=o[1],s=t[0],l=t[1],c=t[2],u=t[3];return n.width=c*i,n.height=u*a,r.drawImage(e,s*i,l*a,c*i,u*a,0,0,c*i,u*a),n}(e,t):e),i=f.image.resizeBilinear(o,[448,448]),o.dispose(),a=f.cast(i,"int32"),i.dispose(),c=(l=f).tensor4d,d=(u=Array).from,[4,a.data()];case 2:return s=c.apply(l,[d.apply(u,[v.sent()]),[1,448,448,3]]),a.dispose(),h=f.cast(s,"int32"),s.dispose(),n&&console.time("focus prediction"),[4,jt.predict(h)];case 3:return p=v.sent(),h.dispose(),[4,p.array()];case 4:return g=v.sent()[0],n&&console.timeEnd("focus prediction"),f.dispose(p),m=(new Date).getTime()-r.getTime(),[2,[g,m]];case 5:return v.sent(),[2,[[0,0],0]];case 6:return[2]}}))}))}var Fo,Mo,Lo,Po,Oo,No=h.default.canvas(Fo||(Fo=y(["\n display: none;\n"],["\n display: none;\n"]))),Bo=h.default.span(Mo||(Mo=y(["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1001;\n"],["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1001;\n"]))),Uo=h.default.div(Lo||(Lo=y(["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ","\n"],["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ","\n"])),(function(e){return e.$flipX?"transform: scaleX(-1);":""})),$o=h.default.div(Po||(Po=y(["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ",";\n color: ",";\n ","\n"],["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ",";\n color: ",";\n ","\n"])),(function(e){var t=e.$color;return null!=t?t:"green"}),(function(e){var t=e.$color;return null!=t?t:"green"}),(function(e){return e.$flipX?"transform: scaleX(-1);":""})),jo=h.default.div(Oo||(Oo=y(["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ",";\n font: 10px monospace;\n color: ",";\n border-radius: 50%;\n ","\n"],["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ",";\n font: 10px monospace;\n color: ",";\n border-radius: 50%;\n ","\n"])),(function(e){var t=e.$color;return null!=t?t:"red"}),(function(e){var t=e.$color;return null!=t?t:"red"}),(function(e){return e.$flipX?"transform: scaleX(-1);":""}));function Go(e){var t=e.enabled,r=void 0===t||t,o=e.pageWidth,i=e.pageHeight,a=e.videoWidth,s=e.videoHeight;return n.useMemo((function(){var e=!1,t=0,n=0,l=0,c=0;return r&&((e=o/i<a/s)?l=((t=a*(i/s))-o)/2:c=((n=s*(o/a))-i)/2),{horizontal:e,pageWidth:o,pageHeight:i,videoWidth:a,videoHeight:s,scaledWidth:t,scaledHeight:n,xOffset:l,yOffset:c}}),[r,i,o,s,a])}function zo(e){var t=e.obj,n=e.scaling,r=n.horizontal,o=n.pageWidth,i=n.pageHeight,a=n.scaledWidth,s=n.scaledHeight;return c.default.createElement($o,{$flipX:e.flipX,style:{top:t.bbox[1]*(r?i:s-n.yOffset),left:t.bbox[0]*(r?a-n.xOffset:o),width:t.bbox[2]*(r?a:o),height:t.bbox[3]*(r?i:s)}},t.label," (",t.score.toFixed(3),")")}function qo(e){var t,n,r,o,i=e.face,a=e.flipX,s=e.color,l=e.scaling,u=l.pageWidth,d=l.pageHeight,h=l.videoWidth,f=l.videoHeight,p=l.scaledWidth,g=l.scaledHeight;return l.horizontal?(t=i.box.yMin/f*d,n=i.box.xMin/h*p-l.xOffset,r=i.box.width/h*p,o=i.box.height/f*d):(t=i.box.yMin/f*g-l.yOffset,n=i.box.xMin/h*u,r=i.box.width/h*u,o=i.box.height/f*g),c.default.createElement(c.default.Fragment,null,c.default.createElement($o,{$flipX:a,$color:void 0===s?"green":s,style:{top:t,left:n,width:r,height:o}}),i.keypoints.map((function(e,t){return c.default.createElement(Vo,{key:t,point:e,scaling:l,flipX:a})})))}function Vo(e){var t,n,r=e.point,o=e.color,i=e.scaling,a=i.videoWidth,s=i.videoHeight;return i.horizontal?(t=r.x/a*i.scaledWidth-i.xOffset,n=r.y/s*i.pageHeight):(t=r.x/a*i.pageWidth,n=r.y/s*i.scaledHeight-i.yOffset),c.default.createElement(jo,{$flipX:e.flipX,$color:void 0===o?"red":o,style:{top:n-=2,left:t-=2}})}var Wo,Ho,Ko,Yo,Xo,Jo=h.default.button(Wo||(Wo=y(["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n\n &:hover {\n background: #ddd;\n }\n"],["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n\n &:hover {\n background: #ddd;\n }\n"]))),Zo=h.default.div(Ho||(Ho=y(["\n display: inline-block;\n width: ","px;\n height: ","px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ","px;\n height: ","px;\n margin: 8px;\n border-radius: 50%;\n border: ","px solid\n ",";\n border-color: "," transparent\n "," transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\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: ","px;\n height: ","px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ","px;\n height: ","px;\n margin: 8px;\n border-radius: 50%;\n border: ","px solid\n ",";\n border-color: "," transparent\n "," transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"])),(function(e){var t=e.$size;return null!=t?t:80}),(function(e){var t=e.$size;return null!=t?t:80}),(function(e){var t=e.$size;return(null!=t?t:80)-16}),(function(e){var t=e.$size;return(null!=t?t:80)-16}),(function(e){var t=e.$thickness;return null!=t?t:6}),(function(e){var t=e.$color;return null!=t?t:"#888"}),(function(e){var t=e.$color;return null!=t?t:"#888"}),(function(e){var t=e.$color;return null!=t?t:"#888"})),Qo=function(e){var t=e.text,n=e.imageUrl;return c.default.createElement(ti,null,t&&c.default.createElement(ni,null,t),c.default.createElement(ri,null,c.default.createElement("img",{src:n,alt:""})))},ei=function(e){var t=e.imageUrl;return c.default.createElement(ti,null,c.default.createElement(ni,null,c.default.createElement(Zo,{$size:24,$color:"white",$thickness:3,style:{position:"relative",top:4,left:-3,margin:"0 3px 0 -12px"}}),"Processing..."),c.default.createElement(ri,null,c.default.createElement("img",{src:t,alt:""})))},ti=h.default.div(Ko||(Ko=y(["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"],["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"]))),ni=h.default.div(Yo||(Yo=y(["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"],["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"]))),ri=h.default.div(Xo||(Xo=y(["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"],["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"]))),oi={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 card front captured.":"","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","Video signature has been successfully captured!":"La video firma ha sido exitosa."}}},ii=function(e){var t=we().i18n;n.useEffect((function(){"auto"!==e?t.changeLanguage(e):t.changeLanguage()}),[t,e])};function ai(e,t,n,r){if("string"==typeof n)return n;if("object"==typeof n){var o=n;if(o[t])return o[t];var i=t.split("-")[0];if(o[i])return o[i]}return e(r)}function si(e,t){var r=we(),o=r.t,i=r.i18n;return n.useMemo((function(){return g(g({},e),Object.keys(t).reduce((function(n,r){var a;return g(g({},n),((a={})[r]=ai(o,i.language,null==e?void 0:e[r],t[r]),a))}),{}))}),[t,i.language,o,e])}var li,ci,ui={videoWidth:0,videoHeight:0,captureStartedAt:null,detectedObjects:[],bestDocument:void 0,bestMrz:void 0,bestPdf417:void 0,documentType:xt.NONE,documentInBounds:!1,documentDetectionScore:0,documentDetectionThresholdMet:!1,passportPageDetectionScore:0,passportPageDetectionThresholdMet:!1,mrzDetectionScore:0,mrzDetectionThresholdMet:!1,pdf417DetectionScore:0,pdf417DetectionThresholdMet:!1,focusScore:0,focusThresholdMet:!1,barcodeScanningEnabled:!1,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},di=function(e,t){switch(t.type){case"configure":return g(g(g({},e),t.payload),{goodFramesCount:0,captureStartedAt:new Date,capturing:!1,captured:!1,captureFailed:!1});case"objectsDetected":var n=t.payload.prediction,r=n.detectedObjects,o=n.detectionScore,i=n.detectionThresholdMet,a=n.detectedDocumentType,s=n.passportDetectionScore,l=n.passportDetectionThresholdMet,c=n.mrzDetectionScore,u=n.mrzDetectionThresholdMet,d=n.pdf417DetectionScore,h=n.pdf417DetectionThresholdMet,f=n.bestDocumentOrPassport,p=n.bestMrz,m=n.bestPdf417,v=n.focusScore,b=n.focusThresholdMet,y=n.frameWidth,w=n.frameHeight,x=new Date,E=0,S=e.goodFramesThreshold;e.lastFrameCapturedAt&&(E=1e3/(x.getTime()-e.lastFrameCapturedAt.getTime()))>0&&(S=Math.ceil(3*E));var k=!1;if(f){var C=f.bbox,T=C[0],A=C[1],R=C[2],I=C[3];T*=y,R*=y,k=(A*=w)>5&&A+(I*=w)+5<w&&(T>5||T<5&&T+R>.8*y)&&T+R+5<y}var _=!0===e.autoCaptureBarcodeRequired||"mobile"===e.autoCaptureBarcodeRequired&&Pt(),D=e.barcodeScanningEnabled&&h&&_,F=D&&!e.barcodeResult,M=i&&k&&b,L=e.goodFramesCount;return M&&(L+=1),g(g({},e),{videoWidth:y,videoHeight:w,detectedObjects:r,bestDocument:f,bestMrz:p,bestPdf417:m,documentType:a,documentInBounds:k,documentDetectionScore:o,documentDetectionThresholdMet:i,mrzDetectionScore:c,mrzDetectionThresholdMet:u,pdf417DetectionScore:d,pdf417DetectionThresholdMet:h,passportPageDetectionScore:s,passportPageDetectionThresholdMet:l,focusScore:v,focusThresholdMet:b,shouldScanBarcode:D,waitingForBarcodeScan:F,isGoodFrame:M,goodFramesCount:L,goodFramesThreshold:S,goodFramesThresholdMet:L>=S,lastFrameCapturedAt:x,frameCaptureRate:E});case"barcodeScanned":return g(g({},e),{barcodeResult:t.payload.result,waitingForBarcodeScan:!1,autoCaptureBarcodeRequired:!1});case"barcodeScanFailed":var P=g(g({},e),{barcodeScanFailedAttempts:e.barcodeScanFailedAttempts+1});return P.barcodeScanFailedAttempts>=P.maxBarcodeScanAttempts&&(P.autoCaptureBarcodeRequired=!1,P.shouldScanBarcode=!1,P.waitingForBarcodeScan=!1),P;case"capturing":return g(g({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return g(g({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return g(g({},e),{capturing:!1,captured:!1,captureFailed:!0});default:return e}},hi=function(e){var t,r,o,i,a,s=e.requiredDocumentType,l=e.autoCaptureEnabled,u=void 0===l||l,d=e.autoCaptureScoreThreshold,h=void 0===d?.8:d,f=e.autoCaptureGoodFramesRequired,p=void 0===f?3:f,g=e.autoCaptureBarcodeRequired,b=void 0===g?"mobile":g,y=e.mrzDetectionScoreThreshold,w=void 0===y?.25:y,x=e.passportPageDetectionThreshold,E=void 0===x?.6:x,S=e.pdf417DetectionThreshold,k=void 0===S?.15:S,C=e.focusScoreThreshold,T=void 0===C?.3:C,A=e.barcodeScanningEnabled,R=void 0===A||A,I=e.maxBarcodeScanAttempts,_=void 0===I?10:I,D=e.onPrediction,F=e.onBarcodeScanned,M=e.onCapture,L=e.onExit,P=e.processingScreen,O=e.processingDelay,N=void 0===O?0:O,B=e.assets,U=void 0===B?{}:B,$=e.colors,j=void 0===$?{}:$,G=e.verbiage,z=void 0===G?{}:G,q=e.debugMode,V=void 0!==q&&q,W=Ft(),H=W.ref,K=W.width,Y=void 0===K?1:K,X=W.height,J=void 0===X?1:X,Z=n.useReducer(di,ui),Q=Z[0],ee=Z[1],te=n.useState(""),ne=te[0],re=te[1],oe=n.useState(!1),ie=oe[0],ae=oe[1],se=n.useContext(Gt),le=se.cameraRef,ce=se.cameraReady,ue=se.takePhoto,de=se.videoRef,he=se.videoLoaded,fe=n.useRef(),pe=n.useContext(ko),ge=pe.ready,me=pe.working,ve=pe.setThresholds,be=pe.makePrediction,ye=pe.onPredictionMade,we=pe.detectionTime,xe=pe.focusPredictionTime,Ee=pe.getBestFrame,Se=pe.resetBestFrame;n.useEffect((function(){fe.current=new Date}),[]),n.useEffect((function(){ee({type:"configure",payload:{requiredDocumentType:s,goodFramesThreshold:p,autoCaptureBarcodeRequired:b,barcodeScanningEnabled:R,maxBarcodeScanAttempts:_}}),Se(),ve({document:h,passport:E,mrz:w,pdf417:k,focus:T})}),[s,h,T,w,p,b,R,_,E,k,Se,ve]);var ke=n.useRef(0),Ce=n.useRef(!1);n.useEffect((function(){Ce.current=he&&ce&&ge&&!Q.capturing&&!Q.captured}),[ce,Q.captured,Q.capturing,ge,he]);var Te=n.useState(null),Ae=Te[0],Re=Te[1];n.useEffect((function(){if(ge&&ce&&he)return ke.current=requestAnimationFrame((function e(){return m(this,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:if(!Ce.current||me.current)return[3,5];r.label=1;case 1:return r.trys.push([1,4,,5]),Q.shouldScanBarcode?[4,ue()]:[3,3];case 2:if(!(t=r.sent()))return ke.current=requestAnimationFrame(e),[2];Re(t),r.label=3;case 3:return de.current&&be(de.current),[3,5];case 4:return n=r.sent(),console.error("error capturing frame",n),[3,5];case 5:return ke.current=requestAnimationFrame(e),[2]}}))}))})),function(){cancelAnimationFrame(ke.current)}}),[ce,be,ge,me,Q.shouldScanBarcode,ue,he,de]),n.useEffect((function(){ye((function(e){ee({type:"objectsDetected",payload:{prediction:e}}),null==D||D(e)}))}),[D,ye]),n.useEffect((function(){m(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return Q.shouldScanBarcode&&Ae?[4,$t(Ae,null===(t=Q.bestPdf417)||void 0===t?void 0:t.bbox)]:[3,2];case 1:(e=n.sent())?(ee({type:"barcodeScanned",payload:{result:e}}),null==F||F(e)):ee({type:"barcodeScanFailed"}),n.label=2;case 2:return[2]}}))}))}),[F,Q.shouldScanBarcode,null===(t=Q.bestPdf417)||void 0===t?void 0:t.bbox,ue,Ae]);var Ie=u&&Q.goodFramesThresholdMet&&!Q.capturing&&!Q.captured&&!Q.waitingForBarcodeScan&&fi(Q.captureStartedAt)>=3e3;n.useEffect((function(){m(void 0,void 0,void 0,(function(){var e,t,n,r,o,i,a,s,l;return v(this,(function(c){switch(c.label){case 0:return Ie?(ee({type:"capturing"}),[4,Ee()]):[2];case 1:return(e=c.sent())?(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"),ee({type:"captureFailed"}),[2]);case 2:return t=c.sent(),n=t[0],r=t[1],(o=document.createElement("canvas")).width=n,o.height=r,[4,createImageBitmap(e)];case 3:if(i=c.sent(),(n>1920&&r>1080||n>1080&&r>1920)&&Q.barcodeResult){if(n>r?(o.width=1920,o.height=r*(1920/n)):(o.height=1920,o.width=n*(1920/r)),!(a=o.getContext("2d")))return[2];a.drawImage(i,0,0,o.width,o.height)}else{if(!(s=o.getContext("bitmaprenderer")))return[2];s.transferFromImageBitmap(i)}return l=o.toDataURL("image/jpeg",.92),re(l),setTimeout((function(){var e,t=(new Date).getTime()-(null!==(e=fe.current)&&void 0!==e?e:new Date).getTime();null==M||M(l,n,r,{autoCapture:"Y",captureTime:t}),ee({type:"captured"}),ae(!1)}),N),[2]}var u}))}))}),[Ee,M,N,Ie,Q.barcodeResult]),j.guideBoxUnsatisfiedColor||(j.guideBoxUnsatisfiedColor="white"),j.guideBoxSatisfiedColor||(j.guideBoxSatisfiedColor="green");var _e=si(z,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured.",capturingText:"Capturing...",captureFailedText:"Capture failed!"}),De=Go({enabled:V,pageWidth:Y,pageHeight:J,videoWidth:Q.videoWidth,videoHeight:Q.videoHeight});return ie?c.default.createElement(c.default.Fragment,null,P,ne&&c.default.createElement(Qo,{text:_e.processingIdCardText,imageUrl:ne})):""!==ne?c.default.createElement("img",{src:ne,alt:"",style:{maxWidth:"100%",maxHeight:"100%"}}):c.default.createElement(rt,{ref:H,className:"flex"},c.default.createElement(Ot,{width:Y,height:J,instruction:Q.captureFailed?_e.captureFailedText:Q.capturing?null==_e?void 0:_e.capturingText:_e.instructionText,portraitGuidesImageUrl:U.portraitGuidesImageUrl,landscapeGuidesImageUrl:U.landscapeGuidesImageUrl,isMirrored:!(null===(r=le.current)||void 0===r?void 0:r.isRearFacing),borderColor:Q.isGoodFrame?j.guideBoxSatisfiedColor:j.guideBoxUnsatisfiedColor}),V&&Q.detectedObjects.length>0&&c.default.createElement(Uo,{$flipX:!(null===(o=le.current)||void 0===o?void 0:o.isRearFacing)},Q.detectedObjects.map((function(e,t){var n;return c.default.createElement(zo,{key:t,obj:e,scaling:De,flipX:!(null===(n=le.current)||void 0===n?void 0:n.isRearFacing)})}))),V&&c.default.createElement(Bo,null,le.current?c.default.createElement(c.default.Fragment,null,"✅ Camera: ",null===(i=le.current)||void 0===i?void 0:i.width,"x",null===(a=le.current)||void 0===a?void 0:a.height):"❌ Camera not ready",c.default.createElement("br",null),Q.frameCaptureRate>.75?"✅":"👎"," Frame Rate:"," ",Math.round(1e3*(Q.frameCaptureRate+Number.EPSILON))/1e3," ","fps (",we,"ms doc detect, ",xe,"ms focus)",c.default.createElement("br",null),ge?c.default.createElement(c.default.Fragment,null,Q.documentDetectionThresholdMet?"✅":"❌"," Document Score: ",Q.documentDetectionScore," (",Q.documentType,")",c.default.createElement("br",null),Q.documentInBounds?"✅":"❌"," Document In Bounds",c.default.createElement("br",null),Q.focusThresholdMet?"✅":"❌"," Focus Score:"," ",Q.focusScore,c.default.createElement("br",null),Q.goodFramesThresholdMet?"✅":"❌"," Good Frame Count:"," ",Q.goodFramesCount,"/",Q.goodFramesThreshold,R&&Q.autoCaptureBarcodeRequired?c.default.createElement(c.default.Fragment,null,c.default.createElement("br",null),Q.barcodeResult?"✅":"❌"," Barcode Scanned (",Ut()?"Native":"ZXing",","," ",Q.barcodeScanFailedAttempts,"/",Q.maxBarcodeScanAttempts," failed attempts)"):null):c.default.createElement(c.default.Fragment,null,"❌ Models not ready")),c.default.createElement(Jo,{onClick:L},"×"))},fi=function(e){return e?Math.abs((new Date).getTime()-e.getTime()):0},pi=function(e){var t,r,o=e.assets,i=void 0===o?{}:o,a=e.colors,s=void 0===a?{}:a,l=e.verbiage,u=void 0===l?{}:l,d=n.useContext(Gt).retryCameraAccess;i.imageUrl||(i.imageUrl=yo+"/camera-disable-icon.png"),s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(r=s.retryBtn).textColor||(r.textColor="white");var h=si(u,{headingText:"Your camera permission is disabled",descriptionText:"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.",retryBtnText:"Retry"});return c.default.createElement(lt,null,c.default.createElement("div",{style:{display:"flex",height:"100%"}},c.default.createElement(ct,{style:{maxWidth:500,height:"auto",margin:"auto"}},c.default.createElement(ut,{style:{flexGrow:0}},c.default.createElement("img",{src:i.imageUrl,alt:""})),c.default.createElement("h3",null,h.headingText),c.default.createElement("p",{style:{lineHeight:1.5,marginBottom:50}},h.descriptionText),c.default.createElement(St,{onClick:d,colors:s.retryBtn,style:{width:200,marginLeft:"auto",marginRight:"auto"},finished:!0},h.retryBtnText))))},gi=function(e){var t=e.onDismissed,r=e.assets,o=void 0===r?{}:r,i=e.colors,a=void 0===i?{}:i,s=e.verbiage,l=void 0===s?{}:s,u=n.useContext(ko).ready,d=n.useContext(Gt),h=d.cameraReady,f=d.cameraAccessDenied,p=d.iphoneContinuityCameraAvailable,g=d.setIphoneContinuityCameraAllowed,m=n.useState(!1),v=m[0],b=m[1];o.instructionImageUrl||(o.instructionImageUrl="".concat(yo,"/WebSDK-Instruction-DL-Capture-3-Portrait.png"));var y=si(l,{headingText:"Use your device camera to capture your ID",useContinuityCameraText:"Use your iPhone as a webcam",modelsWarmingUpText:"Models warming up...",cameraInitializingText:"Camera initializing...",continueText:"Continue"});return n.useEffect((function(){if(u&&h)return function(){return null};var e=setTimeout((function(){b(!1)}),500);return function(){clearTimeout(e)}}),[h,u]),v?c.default.createElement(c.default.Fragment,null):f?c.default.createElement(pi,{assets:o.cameraAccessDenied,colors:a.cameraAccessDenied,verbiage:l.cameraAccessDenied}):c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",null,y.headingText),c.default.createElement(ut,{style:{pointerEvents:"none"}},c.default.createElement("img",{alt:y.headingText,src:o.instructionImageUrl})),c.default.createElement("div",{style:{paddingTop:26,height:48,marginTop:-48}},p&&c.default.createElement(c.default.Fragment,null,c.default.createElement("input",{id:"use-continuity-camera",type:"checkbox",defaultChecked:!0,style:{marginRight:8},onChange:function(e){g(e.target.checked)}}),c.default.createElement("label",{htmlFor:"use-continuity-camera"},y.useContinuityCameraText))),c.default.createElement(St,{disabled:!h||!u,finished:u&&h,colors:a.continueBtn,style:{marginTop:8},onClick:function(){b(!0),null==t||t()}},h&&u?y.continueText:u?y.cameraInitializingText:y.modelsWarmingUpText)))},mi=function(e){var t,r=e.assets,o=void 0===r?{}:r,i=e.verbiage,a=void 0===i?{}:i,s=Ft(),l=s.ref,u=s.width,d=void 0===u?1:u,h=s.height,f=void 0===h?1:h,p=n.useContext(Gt).cameraRef;o.frontPortraitGuidesImageUrl||(o.frontPortraitGuidesImageUrl="".concat(yo,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),o.frontLandscapeGuidesImageUrl||(o.frontLandscapeGuidesImageUrl="".concat(yo,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),o.backPortraitGuidesImageUrl||(o.backPortraitGuidesImageUrl="".concat(yo,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg")),o.backLandscapeGuidesImageUrl||(o.backLandscapeGuidesImageUrl="".concat(yo,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"));var m=function(e,t){var r=we(),o=r.t,i=r.i18n;return n.useMemo((function(){return ai(o,i.language,e,t)}),[t,i.language,o,e])}(a.instructionText,"Please flip your ID card..."),v=Pt()?0:50,b=!(null===(t=p.current)||void 0===t?void 0:t.isRearFacing),y=n.useContext(Mt),w=y.orientation,x=y.wrapperRef,E=y.wrapperWidth,S=y.wrapperHeight,k=y.imageAspectRatio,C=y.wrapperAspectRatio,T=y.onImageLoaded,A=y.setDimensions;n.useEffect((function(){A({width:d,height:f})}),[f,A,d]);var R={height:S-2*v-8};k>=C&&(R={width:E-2*v-8});var I=n.useState(1),_=I[0],D=I[1],F=n.useState(0),M=F[0],L=F[1],P=["rotateY(".concat(M,"deg)")];b&&P.push("scaleX(-1)");var O=["rotateY(".concat(180-M,"deg)")];return b&&O.push("scaleX(-1)"),n.useEffect((function(){var e=function(){D(1),L(180),setTimeout((function(){D(0),L(0)}),1500)};setTimeout(e,250);var t=setInterval(e,2500);return function(){clearInterval(t)}}),[]),c.default.createElement(rt,{ref:l,className:"flex"},c.default.createElement("div",{ref:x,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}},m)),c.default.createElement("div",{style:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyItems:"center",maxWidth:"calc(100%)",maxHeight:"calc(100% - ".concat(2*v,"px - ").concat(8,"px)")}},c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:v,flexGrow:1}}),c.default.createElement("div",{style:{maxWidth:"calc(100% - ".concat(2*v,"px - ").concat(8,"px)"),maxHeight:f-2*v-8}},c.default.createElement("div",{style:{position:"relative",border:"".concat(4,"px solid ").concat("white")}},c.default.createElement("img",{src:"portrait"===w?o.frontPortraitGuidesImageUrl:o.frontLandscapeGuidesImageUrl,alt:"",onLoad:T,style:g({backfaceVisibility:"hidden",transition:"transform ".concat(_,"s"),transform:P.join(" "),transformStyle:"preserve-3d",position:"relative",top:0,left:0,display:"block"},R)}),c.default.createElement("img",{src:"portrait"===w?o.backPortraitGuidesImageUrl:o.backLandscapeGuidesImageUrl,alt:"",style:g({backfaceVisibility:"hidden",transition:"transform ".concat(_,"s"),transform:O.join(" "),transformStyle:"preserve-3d",position:"absolute",top:0,left:0,display:"block"},R)}))),c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:v,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}},m)))))},vi=function(e){var t,r,o=e.capturedDocuments,i=e.onSubmitClick,a=e.onRetryClick,s=e.colors,l=void 0===s?{}:s,u=e.verbiage,d=void 0===u?{}:u,h=n.useContext(Ke).submissionStatus,f=o.ID_CARD_FRONT,p=o.ID_CARD_BACK,g=o.PASSPORT;l.retryBtn||(l.retryBtn={}),(t=l.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(r=l.retryBtn).textColor||(r.textColor="white");var m=si(d,{headingText:"ID Capture Successful",idCardFrontText:"ID Card Front",idCardBackText:"ID Card Back",passportText:"Passport",instructionText:"Verify the entire ID was captured clearly with no glare.",retryText:"Retry",submittingText:"Submitting...",submitText:"Done"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h1",null,m.headingText),c.default.createElement(ut,null,c.default.createElement(dt,{style:{paddingBottom:40}},f&&c.default.createElement("div",null,c.default.createElement("h3",null,m.idCardFrontText),c.default.createElement("img",{src:f.imageData,alt:m.idCardFrontText,width:f.width,height:f.height})),p&&c.default.createElement("div",null,c.default.createElement("h3",null,m.idCardBackText),c.default.createElement("img",{src:p.imageData,alt:m.idCardBackText,width:p.width,height:p.height})),g&&c.default.createElement("div",null,c.default.createElement("h3",null,m.passportText),c.default.createElement("img",{src:g.imageData,alt:m.passportText,width:g.width,height:g.height})))),c.default.createElement("p",{style:{fontSize:18}},m.instructionText),c.default.createElement("div",{style:{paddingTop:15,textAlign:"center"}},c.default.createElement(St,{onClick:a,colors:l.retryBtn,style:{marginRight:15},finished:!0},m.retryText),c.default.createElement(St,{onClick:i,disabled:h===qe.SUBMITTING,colors:l.doneBtn,finished:!0},h===qe.SUBMITTING?m.submittingText:m.submitText))))},bi=function(){var e,t=n.useContext(Gt),r=t.videoRef,o=t.setVideoLoaded,i=t.cameraRef;n.useEffect((function(){o(!1)}),[o]),n.useEffect((function(){var e;r.current&&(null===(e=i.current)||void 0===e?void 0:e.stream)&&(r.current.srcObject=i.current.stream)}),[i,r]);var a=n.useCallback((function(){o(!0)}),[o]);return c.default.createElement(yi,{autoPlay:!0,playsInline:!0,muted:!0,ref:r,onLoadedData:a,$isRearFacing:null===(e=i.current)||void 0===e?void 0:e.isRearFacing})},yi=h.default.video(li||(li=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 wi(e,t,r){var o=this,i=n.useState(!1),a=i[0],s=i[1];return n.useEffect((function(){t&&e&&("function"==typeof e?m(o,void 0,void 0,(function(){return v(this,(function(t){switch(t.label){case 0:return[4,e()];case 1:return t.sent()?null==r||r():s(!0),[2]}}))})):null==r||r())}),[t,r,e]),!e||a}!function(e){e.CAPTURING="CAPTURING",e.COMPLETE="COMPLETE"}(ci||(ci={}));var xi={captureState:ci.CAPTURING,capturedDocuments:{},requestedDocumentType:xt.ID_CARD_FRONT,currentDocumentType:xt.NONE,differentDocumentTypeDetections:0,barcodeResult:null},Ei=function(e,t){var n;switch(t.type){case"predictionMade":var r=t.payload.prediction;return(o=g(g({},e),{currentDocumentType:r.detectedDocumentType})).currentDocumentType===e.requestedDocumentType&&(o.differentDocumentTypeDetections=0),"PASSPORT"===r.detectedDocumentType&&"PASSPORT"!==e.requestedDocumentType&&(o.requestedDocumentType=xt.PASSPORT),"PASSPORT"===e.requestedDocumentType&&r.passportDetectionScore<.3&&(o.requestedDocumentType=xt.ID_CARD_FRONT),o;case"barcodeScanned":return g(g({},e),{barcodeResult:t.payload.result});case"imageCaptured":var o=g(g({},e),{capturedDocuments:g(g({},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?o.captureState=ci.COMPLETE:o.requestedDocumentType=xt.ID_CARD_FRONT:o.requestedDocumentType=xt.ID_CARD_BACK,o;case"reset":return g({},xi)}},Si=function(e){var t,r,o,i,a,s,l,u,d,h,f=e.onSuccess,p=e.autoCaptureEnabled,g=void 0===p||p,b=e.autoCaptureGoodFramesRequired,y=void 0===b?3:b,w=e.autoCaptureBarcodeRequired,x=void 0===w?"mobile":w,E=e.barcodeScanningEnabled,S=void 0!==E&&E,k=e.idCardAutoCaptureScoreThreshold,C=void 0===k?.9:k,T=e.passportAutoCaptureScoreThreshold,A=void 0===T?.85:T,R=e.mrzDetectionScoreThreshold,I=void 0===R?.25:R,_=e.idCardFocusScoreThreshold,D=void 0===_?.3:_,F=e.passportFocusScoreThreshold,M=void 0===F?.3:F,L=e.skipSuccessScreen,P=void 0!==L&&L,O=e.assets,N=void 0===O?{}:O,B=e.colors,U=void 0===B?{}:B,$=e.verbiage,j=void 0===$?{}:$,G=e.debugMode,z=void 0!==G&&G,q=n.useReducer(Ei,xi),V=q[0],W=q[1],H=n.useContext(Gt).releaseCameraAccess,K=n.useState(!1),Y=K[0],X=K[1],J=n.useContext(Ke),Z=J.submissionStatus,Q=J.submissionResponse,ee=J.setIdFrontImage,te=J.setIdBackImage,ne=J.setPassportImage,re=J.logIdFrontCaptureAttempt,oe=J.logIdBackCaptureAttempt,ie=n.useRef();n.useEffect((function(){ie.current=new Date}),[V.capturedDocuments.length]);var ae=n.useCallback((function(e){var t;e.operationTime=(new Date).getTime()-(null!==(t=ie.current)&&void 0!==t?t:new Date).getTime(),"ID_CARD_BACK"===V.requestedDocumentType?oe(e):re(e)}),[oe,re,V.requestedDocumentType]),se=n.useCallback((function(e){W({type:"predictionMade",payload:{prediction:e}})}),[]),le=n.useCallback((function(e){W({type:"barcodeScanned",payload:{result:e}})}),[]),ce=n.useCallback((function(e,t,n,r){ae(r),W({type:"imageCaptured",payload:{imageData:e,width:t,height:n}})}),[ae]),ue=n.useCallback((function(){return m(void 0,void 0,void 0,(function(){var e,t,n,r,o,i,a,s,l;return v(this,(function(c){switch(c.label){case 0:return t=V.capturedDocuments.ID_CARD_BACK,n=V.capturedDocuments.PASSPORT,(o=e=V.capturedDocuments.ID_CARD_FRONT)?[4,Ze(e.imageData)]:[3,2];case 1:o=c.sent(),c.label=2;case 2:return r=o,(a=t)?[4,Ze(t.imageData)]:[3,4];case 3:a=c.sent(),c.label=4;case 4:return i=a,(l=n)?[4,Ze(n.imageData)]:[3,6];case 5:l=c.sent(),c.label=6;case 6:return s=l,ee(r),te(i),ne(s),H(),setTimeout((function(){null==f||f({idFrontImage:r,idBackImage:i,passportImage:s})}),0),[2]}}))}))}),[f,H,te,ee,ne,V.capturedDocuments]),de=wi(P,V.captureState===ci.COMPLETE,ue),he=n.useCallback((function(){W({type:"reset"})}),[]),fe=n.useState(0),pe=fe[0],ge=fe[1],me=n.useCallback((function(){X(!1),ge((function(e){return e+1})),W({type:"reset"})}),[]);n.useEffect((function(){Z!==qe.READY&&H()}),[H,Z]),N.idCardFront||(N.idCardFront={}),(t=N.idCardFront).portraitGuidesImageUrl||(t.portraitGuidesImageUrl="".concat(yo,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),(r=N.idCardFront).landscapeGuidesImageUrl||(r.landscapeGuidesImageUrl="".concat(yo,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),N.idCardBack||(N.idCardBack={}),(o=N.idCardBack).portraitGuidesImageUrl||(o.portraitGuidesImageUrl="".concat(yo,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg")),(i=N.idCardBack).landscapeGuidesImageUrl||(i.landscapeGuidesImageUrl="".concat(yo,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg")),N.passport||(N.passport={}),(a=N.passport).portraitGuidesImageUrl||(a.portraitGuidesImageUrl="".concat(yo,"/Shieldout-Passport-Front-SVG-Portrait-2.svg")),(s=N.passport).landscapeGuidesImageUrl||(s.landscapeGuidesImageUrl="".concat(yo,"/Shieldout-Passport-Front-SVG-Landscape-2.svg")),N.flipIdPrompt||(N.flipIdPrompt={}),(l=N.flipIdPrompt).frontPortraitGuidesImageUrl||(l.frontPortraitGuidesImageUrl=N.idCardFront.portraitGuidesImageUrl),(u=N.flipIdPrompt).frontLandscapeGuidesImageUrl||(u.frontLandscapeGuidesImageUrl=N.idCardFront.landscapeGuidesImageUrl),(d=N.flipIdPrompt).backPortraitGuidesImageUrl||(d.backPortraitGuidesImageUrl=N.idCardBack.portraitGuidesImageUrl),(h=N.flipIdPrompt).backLandscapeGuidesImageUrl||(h.backLandscapeGuidesImageUrl=N.idCardBack.landscapeGuidesImageUrl);var ve=si(j.idCardFront,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured."}),be=si(j.idCardBack,{instructionText:"Scan the back of ID"}),ye=si(j.idCardBack,{instructionText:"Scan the ID page of passport"});return Q?c.default.createElement(rt,{className:"padded"},c.default.createElement("h1",null,"Submission completed!"),c.default.createElement("pre",null,JSON.stringify(Q,null,2))):c.default.createElement(rt,{className:"flex"},V.captureState!==ci.COMPLETE&&c.default.createElement(bi,null),Y&&function(){var e=Object.keys(V.capturedDocuments).length;switch(V.requestedDocumentType){case xt.ID_CARD_FRONT:return c.default.createElement(hi,{key:"capture".concat(e),requiredDocumentType:V.requestedDocumentType,autoCaptureEnabled:g,autoCaptureScoreThreshold:C,autoCaptureGoodFramesRequired:y,autoCaptureBarcodeRequired:x,barcodeScanningEnabled:!1,mrzDetectionScoreThreshold:I,focusScoreThreshold:D,onPrediction:se,onCapture:ce,onExit:me,processingDelay:3500,assets:N.idCardFront,colors:U,verbiage:ve,debugMode:z,processingScreen:c.default.createElement(mi,{assets:N.flipIdPrompt,verbiage:j.flipIdPrompt})});case xt.ID_CARD_BACK:return c.default.createElement(hi,{key:"capture".concat(e),requiredDocumentType:V.requestedDocumentType,autoCaptureEnabled:g,autoCaptureScoreThreshold:C,autoCaptureGoodFramesRequired:y,autoCaptureBarcodeRequired:x,barcodeScanningEnabled:S,mrzDetectionScoreThreshold:I,focusScoreThreshold:D,onPrediction:se,onBarcodeScanned:le,onCapture:ce,onExit:me,assets:N.idCardBack,colors:U,verbiage:be,debugMode:z});case xt.PASSPORT:return c.default.createElement(hi,{key:"capture".concat(e),requiredDocumentType:V.requestedDocumentType,autoCaptureEnabled:g,autoCaptureScoreThreshold:A,mrzDetectionScoreThreshold:I,autoCaptureGoodFramesRequired:y,autoCaptureBarcodeRequired:x,barcodeScanningEnabled:!1,focusScoreThreshold:M,onPrediction:se,onBarcodeScanned:le,onCapture:ce,onExit:me,assets:N.passport,colors:U,verbiage:ye,debugMode:z});default:return null}}(),!Y&&c.default.createElement(gi,{key:pe,assets:N.loadingOverlay,colors:U.loadingOverlay,verbiage:j.loadingOverlay,onDismissed:function(){X(!0)}}),V.captureState===ci.COMPLETE&&de&&c.default.createElement(vi,{capturedDocuments:V.capturedDocuments,barcodeResult:V.barcodeResult,onSubmitClick:ue,onRetryClick:he,colors:U.success,verbiage:j.success}))},ki=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"}}))},Ci=self;function Ti(e,t){e=e.split(".");var n,r=Ci;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 Ai(e){return e}function Ri(){throw Error("Invalid UTF8")}function Ii(e,t){return t=String.fromCharCode.apply(null,t),null==e?t:e+t}let _i,Di;const Fi="undefined"!=typeof TextDecoder;let Mi;const Li="undefined"!=typeof TextEncoder;function Pi(e){if(Li)e=(Mi||=new TextEncoder).encode(e);else{let n=0;const r=new Uint8Array(3*e.length);for(let o=0;o<e.length;o++){var t=e.charCodeAt(o);if(128>t)r[n++]=t;else{if(2048>t)r[n++]=t>>6|192;else{if(55296<=t&&57343>=t){if(56319>=t&&o<e.length){const i=e.charCodeAt(++o);if(56320<=i&&57343>=i){r[n++]=(t=1024*(t-55296)+i-56320+65536)>>18|240,r[n++]=t>>12&63|128,r[n++]=t>>6&63|128,r[n++]=63&t|128;continue}o--}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 Oi,Ni;e:{for(var Bi=["CLOSURE_FLAGS"],Ui=Ci,$i=0;$i<Bi.length;$i++)if(null==(Ui=Ui[Bi[$i]])){Ni=null;break e}Ni=Ui}var ji,Gi=Ni&&Ni[610401301];Oi=null!=Gi&&Gi;const zi=Ci.navigator;function qi(e){return!!Oi&&!!ji&&ji.brands.some((({brand:t})=>t&&-1!=t.indexOf(e)))}function Vi(e){var t;return(t=Ci.navigator)&&(t=t.userAgent)||(t=""),-1!=t.indexOf(e)}function Wi(){return!!Oi&&!!ji&&0<ji.brands.length}function Hi(){return Wi()?qi("Chromium"):(Vi("Chrome")||Vi("CriOS"))&&!(!Wi()&&Vi("Edge"))||Vi("Silk")}ji=zi&&zi.userAgentData||null;var Ki=!Wi()&&(Vi("Trident")||Vi("MSIE"));!Vi("Android")||Hi(),Hi(),Vi("Safari")&&(Hi()||!Wi()&&Vi("Coast")||!Wi()&&Vi("Opera")||!Wi()&&Vi("Edge")||(Wi()?qi("Microsoft Edge"):Vi("Edg/"))||Wi()&&qi("Opera"));var Yi={},Xi=null;function Ji(){if(!Xi){Xi={};for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"],n=0;5>n;n++){var r=e.concat(t[n].split(""));Yi[n]=r;for(var o=0;o<r.length;o++){var i=r[o];void 0===Xi[i]&&(Xi[i]=o)}}}}var Zi="undefined"!=typeof Uint8Array,Qi=!Ki&&"function"==typeof btoa;function ea(e){if(!Qi){var t;void 0===t&&(t=0),Ji(),t=Yi[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 o=e[l],i=e[l+1],a=e[l+2],s=t[o>>2];n[c++]=s+(o=t[(3&o)<<4|i>>4])+(i=t[(15&i)<<2|a>>6])+(a=t[63&a])}switch(s=0,a=r,e.length-l){case 2:a=t[(15&(s=e[l+1]))<<2]||r;case 1:n[c]=t[(e=e[l])>>2]+t[(3&e)<<4|s>>4]+a+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 ta=/[-_.]/g,na={"-":"+",_:"/",".":"="};function ra(e){return na[e]||""}function oa(e){if(!Qi)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),o=0;return function(e,t){function n(t){for(;r<e.length;){var n=e.charAt(r++),o=Xi[n];if(null!=o)return o;if(!/^[\s\xa0]*$/.test(n))throw Error("Unknown base64 encoding at char: "+n)}return t}Ji();for(var r=0;;){var o=n(-1),i=n(0),a=n(64),s=n(64);if(64===s&&-1===o)break;t(o<<2|i>>4),64!=a&&(t(i<<4&240|a>>2),64!=s&&t(a<<6&192|s))}}(e,(function(e){r[o++]=e})),o!==n?r.subarray(0,o):r}(e);ta.test(e)&&(e=e.replace(ta,ra)),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 ia(e){return Zi&&null!=e&&e instanceof Uint8Array}let aa;function sa(){return aa||=new Uint8Array(0)}var la={};let ca;function ua(e){if(e!==la)throw Error("illegal external caller")}function da(){return ca||=new fa(null,la)}function ha(e){ua(la);var t=e.L;return null==(t=null==t||ia(t)?t:"string"==typeof t?oa(t):null)?t:e.L=t}var fa=class{constructor(e,t){if(ua(t),this.L=e,null!=e&&0===e.length)throw Error("ByteString should be constructed with non-empty values")}fa(){const e=ha(this);return e?new Uint8Array(e):sa()}};function pa(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function ga(){return Error("Failed to read varint, encoding is invalid.")}function ma(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function va(e){return 0==e.length?da():new fa(e,la)}function ba(e){if("string"==typeof e)return{buffer:oa(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===fa)return{buffer:ha(e)||sa(),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 ya="function"==typeof Uint8Array.prototype.slice;let wa,xa=0,Ea=0;function Sa(e){const t=0>e;let n=(e=Math.abs(e))>>>0;if(e=Math.floor((e-n)/4294967296),t){const[t,r]=Ra(n,e);e=r,n=t}xa=n>>>0,Ea=e>>>0}function ka(e){const t=wa||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),Ea=0,xa=t.getUint32(0,!0)}function Ca(e,t){return 4294967296*t+(e>>>0)}function Ta(e,t){const n=2147483648&t;return n&&(t=~t>>>0,0==(e=1+~e>>>0)&&(t=t+1>>>0)),e=Ca(e,t),n?-e:e}function Aa(e){if(16>e.length)Sa(Number(e));else if("function"==typeof BigInt)e=BigInt(e),xa=Number(e&BigInt(4294967295))>>>0,Ea=Number(e>>BigInt(32)&BigInt(4294967295));else{const t=+("-"===e[0]);Ea=xa=0;const n=e.length;for(let r=t,o=(n-t)%6+t;o<=n;r=o,o+=6){const t=Number(e.slice(r,o));Ea*=1e6,xa=1e6*xa+t,4294967296<=xa&&(Ea+=Math.trunc(xa/4294967296),Ea>>>=0,xa>>>=0)}if(t){const[e,t]=Ra(xa,Ea);xa=e,Ea=t}}}function Ra(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}function Ia(e,t,{O:n=!1}={}){e.O=n,t&&(t=ba(t),e.h=t.buffer,e.s=t.G,e.v=0,e.l=e.h.length,e.g=e.v)}function _a(e,t){if(e.g=t,t>e.l)throw ma(e.l,t)}function Da(e,t){let n,r=0,o=0,i=0;const a=e.h;let s=e.g;do{n=a[s++],r|=(127&n)<<i,i+=7}while(32>i&&128&n);for(32<i&&(o|=(127&n)>>4),i=3;32>i&&128&n;i+=7)n=a[s++],o|=(127&n)<<i;if(_a(e,s),128>n)return t(r>>>0,o>>>0);throw ga()}function Fa(e){let t=0,n=e.g;const r=n+10,o=e.h;for(;n<r;){const r=o[n++];if(t|=r,0==(128&r))return _a(e,n),!!(127&t)}throw ga()}function Ma(e){var t=e.h;const n=e.g,r=t[n],o=t[n+1],i=t[n+2];return t=t[n+3],_a(e,e.g+4),(r<<0|o<<8|i<<16|t<<24)>>>0}function La(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 ma(t,e.l-n);return e.g=r,n}function Pa(e,t){if(0==t)return da();var n=La(e,t);return e.O&&e.s?n=e.h.subarray(n,n+t):(e=e.h,n=n===(t=n+t)?sa():ya?e.slice(n,t):new Uint8Array(e.subarray(n,t))),va(n)}var Oa=class{constructor(e,t){this.h=null,this.s=!1,this.g=this.l=this.v=0,Ia(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 ga();return _a(this,t),r}j(){return this.m()>>>0}A(){var e=Ma(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()}},Na=[];function Ba(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 pa(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 Ua(e){switch(e.h){case 0:0!=e.h?Ua(e):Fa(e.g);break;case 1:_a(e=e.g,e.g+8);break;case 2:if(2!=e.h)Ua(e);else{var t=e.g.j();_a(e=e.g,e.g+t)}break;case 5:_a(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!Ba(e))throw Error("Unmatched start-group tag: stream EOF");if(4==e.h){if(e.m!=t)throw Error("Unmatched end-group tag");break}Ua(e)}break;default:throw pa(e.h,e.l)}}function $a(e,t,n){const r=e.g.l,o=e.g.j(),i=e.g.g+o;let a=i-r;if(0>=a&&(e.g.l=i,n(t,e,void 0,void 0,void 0),a=i-e.g.g),a)throw Error(`Message parsing ended unexpectedly. Expected to read ${o} bytes, instead read ${o-a} bytes, either the data ended unexpectedly or the message misreported its own length`);return e.g.g=i,e.g.l=r,t}function ja(e){var t=e.g.j(),n=La(e=e.g,t);if(e=e.h,Fi){var r,o=e;(r=Di)||(r=Di=new TextDecoder("utf-8",{fatal:!0})),e=n+t,o=0===n&&e===o.length?o:o.subarray(n,e);try{var i=r.decode(o)}catch(e){if(void 0===_i){try{r.decode(new Uint8Array([128]))}catch(e){}try{r.decode(new Uint8Array([97])),_i=!0}catch(e){_i=!1}}throw!_i&&(Di=void 0),e}}else{t=(i=n)+t,n=[];let s,l=null;for(;i<t;){var a=e[i++];128>a?n.push(a):224>a?i>=t?Ri():(s=e[i++],194>a||128!=(192&s)?(i--,Ri()):n.push((31&a)<<6|63&s)):240>a?i>=t-1?Ri():(s=e[i++],128!=(192&s)||224===a&&160>s||237===a&&160<=s||128!=(192&(o=e[i++]))?(i--,Ri()):n.push((15&a)<<12|(63&s)<<6|63&o)):244>=a?i>=t-2?Ri():(s=e[i++],128!=(192&s)||0!=s-144+(a<<28)>>30||128!=(192&(o=e[i++]))||128!=(192&(r=e[i++]))?(i--,Ri()):(a=(7&a)<<18|(63&s)<<12|(63&o)<<6|63&r,n.push(55296+((a-=65536)>>10&1023),56320+(1023&a)))):Ri(),8192<=n.length&&(l=Ii(l,n),n.length=0)}i=Ii(l,n)}return i}function Ga(e){const t=e.g.j();return Pa(e.g,t)}function za(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 qa=[];function Va(e){return e?/^\d+$/.test(e)?(Aa(e),new Wa(xa,Ea)):null:Ha||=new Wa(0,0)}var Wa=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Ha;function Ka(e){return e?/^-?\d+$/.test(e)?(Aa(e),new Ya(xa,Ea)):null:Xa||=new Ya(0,0)}var Ya=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Xa;function Ja(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 Za(e,t){for(;127<t;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function Qa(e,t){if(0<=t)Za(e,t);else{for(let n=0;9>n;n++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function es(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 ts(e,t){0!==t.length&&(e.l.push(t),e.h+=t.length)}function ns(e,t,n){Za(e.g,8*t+n)}function rs(e,t){return ns(e,t,2),t=e.g.end(),ts(e,t),t.push(e.h),t}function os(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 is(e,t,n){ns(e,t,2),Za(e.g,n.length),ts(e,e.g.end()),ts(e,n)}function as(e,t,n,r){null!=n&&(t=rs(e,t),r(n,e),os(e,t))}class ss{constructor(e,t,n){this.g=e,this.h=t,this.l=n}}function ls(e){return Array.prototype.slice.call(e)}const cs="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():void 0;var us=cs?(e,t)=>{e[cs]|=t}:(e,t)=>{void 0!==e.g?e.g|=t:Object.defineProperties(e,{g:{value:t,configurable:!0,writable:!0,enumerable:!1}})};function ds(e){const t=fs(e);1!=(1&t)&&(Object.isFrozen(e)&&(e=ls(e)),gs(e,1|t))}var hs=cs?(e,t)=>{e[cs]&=~t}:(e,t)=>{void 0!==e.g&&(e.g&=~t)},fs=cs?e=>0|e[cs]:e=>0|e.g,ps=cs?e=>e[cs]:e=>e.g,gs=cs?(e,t)=>{e[cs]=t}:(e,t)=>{void 0!==e.g?e.g=t:Object.defineProperties(e,{g:{value:t,configurable:!0,writable:!0,enumerable:!1}})};function ms(e){return us(e,1),e}function vs(e){return us(e,34),e}function bs(e,t){gs(t,-255&(0|e))}function ys(e,t){gs(t,-221&(34|e))}function ws(e){return 0==(e=e>>11&1023)?536870912:e}var xs,Es={};function Ss(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)&&e.constructor===Object}function ks(e,t,n){if(null!=e)if("string"==typeof e)e=e?new fa(e,la):da();else if(e.constructor!==fa)if(ia(e))e=n?va(e):e.length?new fa(new Uint8Array(e),la):da();else{if(!t)throw Error();e=void 0}return e}const Cs=[];function Ts(e){if(2&e)throw Error()}gs(Cs,39),xs=Object.freeze(Cs);class As{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 As(this.g,this.h,this.m)}}var Rs={};let Is,_s;function Ds(e,t){(t=Is?t[Is]:void 0)&&(e[Is]=ls(t))}function Fs(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function Ms(e){return null==e?e:"number"==typeof e||"NaN"===e||"Infinity"===e||"-Infinity"===e?Number(e):void 0}function Ls(e){return null==e?e:"boolean"==typeof e||"number"==typeof e?!!e:void 0}function Ps(e){return"number"==typeof e&&Number.isFinite(e)||!!e&&"string"==typeof e&&isFinite(e)}function Os(e){if(null==e)return e;if("string"==typeof e){if(!e)return;e=+e}return"number"==typeof e?e:void 0}function Ns(e){if(null==e)return e;if("string"==typeof e){if(!e)return;e=+e}return"number"==typeof e?e:void 0}function Bs(e){if("string"!=typeof e)throw Error();return e}function Us(e){if(null!=e&&"string"!=typeof e)throw Error();return e}function $s(e){return null==e||"string"==typeof e?e:void 0}function js(e,t,n,r){var o=!1;return null==e||"object"!=typeof e||(o=Array.isArray(e))||e.K!==Es?o?(0===(o=n=fs(e))&&(o|=32&r),(o|=2&r)!==n&&gs(e,o),new t(e)):(n?2&r?(e=t[Gs])?t=e:(vs((e=new t).u),t=t[Gs]=e):t=new t:t=void 0,t):e}const Gs="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():"di";function zs(e){return e}function qs(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 Vs,Ws;function Hs(e){switch(typeof e){case"number":return 0<e?void 0:0===e?Ws||=[0,void 0]:[-e,void 0];case"string":return[0,e];case"object":return e}}function Ks(e,t){return Ys(e,t[0],t[1])}function Ys(e,t,n){if(null==e&&(e=Vs),Vs=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=fs(e)))return _s&&delete e[_s],e;if(r|=64,n&&(r|=512,n!==e[0]))throw Error();e:{var o=(n=e).length;if(o){const e=o-1;var i=n[e];if(Ss(i)){1024<=(o=e-(t=+!!(512&(r|=256))-1))&&(Xs(n,t,i),o=1023),r=-2095105&r|(1023&o)<<11;break e}}t&&(i=+!!(512&r)-1,1024<(t=Math.max(t,o-i))&&(Xs(n,i,{}),r|=256,t=1023),r=-2095105&r|(1023&t)<<11)}}return gs(e,r),e}function Xs(e,t,n){const r=1023+t,o=e.length;for(let i=r;i<o;i++){const r=e[i];null!=r&&r!==n&&(n[i-t]=r)}e.length=r+1,e[r]=n}function Js(e){if(2&e.g)throw Error("Cannot mutate an immutable Map")}var Zs=class extends Map{constructor(e,t,n=zs,r=zs){super();let o=fs(e);o|=64,gs(e,o),this.g=o,this.l=t,this.h=n||zs,this.j=this.l?Qs:r||zs;for(let i=0;i<e.length;i++){const a=e[i],s=n(a[0],!1,!0);let l=a[1];t?void 0===l&&(l=null):l=r(a[1],!1,!0,void 0,void 0,o),super.set(s,l)}}s(e=el){return this.m(e)}m(e=el){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(){Js(this),super.clear()}delete(e){return Js(this),super.delete(this.h(e,!0,!1))}entries(){var e=this.A();return new As(e,tl,this)}keys(){return this.C()}values(){var e=this.A();return new As(e,Zs.prototype.get,this)}forEach(e,t){super.forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))}set(e,t){return Js(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 Qs(e,t,n,r,o,i){return e=js(e,r,n,i),o&&(e=cl(e)),e}function el(e){return e}function tl(e){return[e,this.get(e)]}function nl(e,t,n,r,o,i){if(null!=e){if(Array.isArray(e))e=o&&0==e.length&&1&fs(e)?void 0:i&&2&fs(e)?e:rl(e,t,n,void 0!==r,o,i);else if(Ss(e)){const a={};for(let s in e)a[s]=nl(e[s],t,n,r,o,i);e=a}else e=t(e,r);return e}}function rl(e,t,n,r,o,i){const a=r||n?fs(e):0;r=r?!!(32&a):void 0;const s=ls(e);for(let e=0;e<s.length;e++)s[e]=nl(s[e],t,n,r,o,i);return n&&(Ds(s,e),n(a,s)),s}function ol(e){return nl(e,il,void 0,void 0,!1,!1)}function il(e){return e.K===Es?e.toJSON():e instanceof Zs?e.s(ol):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(ia(e))return ea(e);if(e instanceof fa){const t=e.L;return null==t?"":"string"==typeof t?t:e.L=ea(t)}if(e instanceof Zs)return e.s()}}return e}(e)}function al(e,t,n=ys){if(null!=e){if(Zi&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){const r=fs(e);return 2&r?e:!t||68&r||!(32&r||0===r)?rl(e,al,4&r?ys:n,!0,!1,!0):(gs(e,34|r),e)}return e.K===Es?e=2&(n=ps(t=e.u))?e:sl(e,t,n,!0):e instanceof Zs&&(t=vs(e.m(al)),e=new Zs(t,e.l,e.h,e.j)),e}}function sl(e,t,n,r){return e=e.constructor,Vs=t=ll(t,n,r),t=new e(t),Vs=void 0,t}function ll(e,t,n){const r=n||2&t?ys:bs,o=!!(32&t);return e=function(e,t,n){const r=ls(e);var o=r.length;const i=256&t?r[o-1]:void 0;for(o+=i?-1:0,t=512&t?1:0;t<o;t++)r[t]=n(r[t]);if(i){t=r[t]={};for(const e in i)t[e]=n(i[e])}return Ds(r,e),r}(e,t,(e=>al(e,o,r))),us(e,32|(n?2:0)),e}function cl(e){const t=e.u,n=ps(t);return 2&n?sl(e,t,n,!1):e}function ul(e,t){return dl(e=e.u,ps(e),t)}function dl(e,t,n,r){if(-1===n)return null;if(n>=ws(t)){if(256&t)return e[e.length-1][n]}else{var o=e.length;if(r&&256&t&&null!=(r=e[o-1][n]))return r;if((t=n+(+!!(512&t)-1))<o)return e[t]}}function hl(e,t,n,r){const o=e.u,i=ps(o);return Ts(i),fl(o,i,t,n,r),e}function fl(e,t,n,r,o){var i=ws(t);if(n>=i||o){if(o=t,256&t)i=e[e.length-1];else{if(null==r)return;i=e[i+(+!!(512&t)-1)]={},o|=256}i[n]=r,o!==t&&gs(e,o)}else e[n+(+!!(512&t)-1)]=r,256&t&&n in(e=e[e.length-1])&&delete e[n]}function pl(e,t,n,r,o){var i=2&t;let a=dl(e,t,n,o);Array.isArray(a)||(a=xs);const s=fs(a);if(1&s||ms(a),i)2&s||vs(a),1&r||Object.freeze(a);else{i=!(2&r);const l=2&s;1&r||!l?i&&32&s&&!l&&hs(a,32):(a=ms(ls(a)),fl(e,t,n,a,o))}return a}function gl(e,t){const n=ps(e=e.u),r=dl(e,n,t),o=Ms(r);return null!=o&&o!==r&&fl(e,n,t,o),o}function ml(e){const t=ps(e=e.u),n=dl(e,t,1),r=ks(n,!0,!!(34&t));return null!=r&&r!==n&&fl(e,t,1,r),r}function vl(e,t,n){const r=ps(e=e.u),o=2&r;let i=pl(e,r,t,1),a=fs(i);if(!(4&a)){Object.isFrozen(i)&&(a=0,i=ls(i),fl(e,r,t,i));let s=0,l=0;for(;s<i.length;s++){const e=n(i[s]);null!=e&&(i[l++]=e)}l<s&&(i.length=l),a|=5,o&&(a|=34),gs(i,a),2&a&&Object.freeze(i)}return!o&&(2&a||Object.isFrozen(i))&&(i=ls(i),us(i,5),fl(e,r,t,i)),i}let bl;function yl(){return bl??=new Zs(vs([]),void 0,void 0,void 0,Rs)}function wl(e){e=ls(e);for(let t=0;t<e.length;t++){const n=e[t]=ls(e[t]);Array.isArray(n[1])&&(n[1]=vs(n[1]))}return e}function xl(e,t,n){{const r=ps(e=e.u);if(Ts(r),null==n)fl(e,r,t);else{if(!(4&fs(n))){Object.isFrozen(n)&&(n=ls(n));for(let e=0;e<n.length;e++)n[e]=Bs(n[e]);gs(n,5)}fl(e,r,t,n)}}}function El(e,t){return Sl(e=e.u,ps(e),cd)===t?t:-1}function Sl(e,t,n){let r=0;for(let o=0;o<n.length;o++){const i=n[o];null!=dl(e,t,i)&&(0!==r&&fl(e,t,r),r=i)}return r}function kl(e,t,n,r){const o=ps(e);Ts(o);const i=dl(e,o,n,r);let a;if(null!=i&&i.K===Es)return(t=cl(i))!==i&&fl(e,o,n,t,r),t.u;if(Array.isArray(i)){const e=fs(i);a=2&e?ll(i,e,!1):i,a=Ks(a,t)}else a=Ks(void 0,t);return a!==i&&fl(e,o,n,a,r),a}function Cl(e,t,n,r){const o=ps(e=e.u),i=dl(e,o,n,r);return(t=js(i,t,!1,o))!==i&&null!=t&&fl(e,o,n,t,r),t}function Tl(e,t,n,r=!1){if(null==(t=Cl(e,t,n,r)))return t;const o=ps(e=e.u);if(!(2&o)){const i=cl(t);i!==t&&fl(e,o,n,t=i,r)}return t}function Al(e,t,n,r,o){var i=!!(2&t),a=pl(e,t,r,1);if(a===xs||!(4&fs(a))){var s=a;a=!!(2&t);var l=!!(2&fs(s));i=s,!a&&l&&(s=ls(s));var c=t|(l?2:0);l=l||void 0;let u=0,d=0;for(;u<s.length;u++){const e=js(s[u],n,!1,c);void 0!==e&&(l=l||2&ps(e.u),s[d++]=e)}return d<u&&(s.length=d),c=5|(s=fs(n=s)),s!=(l=l?-9&c:8|c)&&(Object.isFrozen(n)&&(n=ls(n)),gs(n,l)),i!==(s=n)&&fl(e,t,r,s),(a&&2!==o||1===o)&&Object.freeze(s),s}return 3===o||(i?2===o&&(o=fs(a),a=ls(a),gs(a,o),fl(e,t,r,a)):(i=Object.isFrozen(a),1===o?i||Object.freeze(a):(n=-35&(o=fs(a)),i&&(o=0,fl(e,t,r,a=ls(a))),o!==n&&gs(a,n)))),a}function Rl(e,t,n){var r=e.u;const o=ps(r);if(t=Al(r,o,t,n,(e=!!(2&o))?1:2),!(e||8&fs(t))){for(n=0;n<t.length;n++)(e=t[n])!==(r=cl(e))&&(t[n]=r);us(t,8)}return t}function Il(e,t,n,r,o){return null==r&&(r=void 0),hl(e,n,r,o)}function _l(e,t,n,r){null==r&&(r=void 0);const o=ps(e=e.u);Ts(o),(n=Sl(e,o,n))&&n!==t&&null!=r&&fl(e,o,n),fl(e,o,t,r)}function Dl(e,t,n){const r=ps(e=e.u);Ts(r),e=Al(e,r,t,1,2),t=null!=n?n:new t,e.push(t),t.G()&&hs(e,8)}function Fl(e,t){return Os(ul(e,t))}function Ml(e){return null==(e=ul(e,2))||Ps(e)?e:void 0}function Ll(e,t){return $s(ul(e,t))}function Pl(e){return e??0}function Ol(e,t){return Pl(gl(e,t))}function Nl(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}hl(e,t,n)}function Bl(e,t,n){if(null!=n){if("number"!=typeof n)throw Fs(e=Error(),"warning"),e;if(!Number.isFinite(n)){const e=Error();Fs(e,"incident"),function(e){Ci.setTimeout((()=>{throw e}),0)}(e)}}hl(e,t,n)}function Ul(e,t,n){if(null!=n&&"number"!=typeof n)throw Error(`Value of float/double field must be a number, found ${typeof n}: ${n}`);hl(e,t,n)}function $l(e,t,n){n=Bs(n);const r=ps(e=e.u);Ts(r),pl(e,r,t,2).push(n)}function jl(e,t,n){t.g?t.m(e,t.g,t.h,n,!0):t.m(e,t.h,n,!0)}Zs.prototype.toJSON=void 0;var Gl=class{constructor(e,t){this.u=Ys(e,t)}toJSON(){return zl(this,rl(this.u,il,void 0,void 0,!1,!1),!0)}l(){var e=ih;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 sl(this,e,ps(e),!1)}G(){return!!(2&fs(this.u))}};function zl(e,t,n){var r=e.constructor.B,o=ws(ps(n?e.u:t)),i=!1;if(r){if(!n){var a;if((t=ls(t)).length&&Ss(a=t[t.length-1]))for(i=0;i<r.length;i++)if(r[i]>=o){Object.assign(t[t.length-1]={},a);break}i=!0}var s;o=t,n=!n,e=ws(a=ps(e.u)),a=+!!(512&a)-1;for(let t=0;t<r.length;t++){var l=r[t];if(l<e){var c=o[l+=a];null==c?o[l]=n?xs:ms([]):n&&c!==xs&&ds(c)}else{if(!s){var u=void 0;o.length&&Ss(u=o[o.length-1])?s=u:o.push(s={})}c=s[l],null==s[l]?s[l]=n?xs:ms([]):n&&c!==xs&&ds(c)}}}if(!(r=t.length))return t;let d,h;if(Ss(s=t[r-1])){e:{var f=s;u={},o=!1;for(let e in f)n=f[e],Array.isArray(n)&&n!=n&&(o=!0),null!=n?u[e]=n:o=!0;if(o){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=i?t:Array.prototype.slice.call(t,0,r),i&&(t.length=r),f&&t.push(f),t):t}function ql(e){return{aa:Lc,S:e}}function Vl(e,t){if(Array.isArray(t)){var n=fs(t);if(4&n)return t;for(var r=0,o=0;r<t.length;r++){const n=e(t[r]);null!=n&&(t[o++]=n)}return o<r&&(t.length=o),gs(t,5|n),2&n&&Object.freeze(t),t}}Gl.prototype.K=Es,Gl.prototype.toString=function(){return zl(this,this.u,!1).toString()};const Wl=Symbol();function Hl(e){let t=e[Wl];if(!t){const n=ic(e),r=n.m;t=r?(e,t)=>r(e,t,n):(e,t)=>{for(;Ba(t)&&4!=t.h;){var r=t.m,o=n[r];if(!o){var i=n.h;i&&(i=i[r])&&(o=n[r]=Kl(i))}o&&o(t,e,r)||(r=(o=t).l,Ua(o),o.Y?o=void 0:(i=o.g.g-r,o.g.g=r,o=Pa(o.g,i)),r=e,o&&(Is||=Symbol(),(i=r[Is])?i.push(o):r[Is]=[o]))}(t=n.l)&&(e[_s||=Symbol()]=t)},e[Wl]=t}return t}function Kl(e){const t=function(e){if(e=e.S)return Hl(e)}(e),n=e.aa.g;if(t){const r=ic(e.S).g;return(e,o,i)=>n(e,o,i,r,t)}return(e,t,r)=>n(e,t,r)}function Yl(e,t,n,r){t.g=Hs(e[0]);let o=1;if(e.length>o&&!(e[o]instanceof ss)){var i=e[o++];if(Array.isArray(i))return t.m=i[0],t.h=i[1],t;t.h=i}for(i=0;o<e.length;){const u=e[o++];var a=e[o];for("number"==typeof a?(o++,i+=a):i++,u.l&&((a=t.l)||(t.l=a=[]),a.push(i)),a=o;a<e.length&&!(e[a]instanceof ss);)a++;if(a-=o){var s=e,l=o,c=s[l];if("function"==typeof c&&(c=c(),s[l]=c),(s=Array.isArray(c))&&!(s=nc in c||Zl in c)&&(s=0<c.length)){const e=Hs(l=(s=c)[0]);null!=e&&e!==l&&(s[0]=e),s=null!=e}(c=s?c:void 0)?(o++,t[i]=1===a?r(u,c):r(u,c,e[o++])):t[i]=n(u,e[o++])}else t[i]=n(u)}return t}const Xl=Symbol();function Jl(e){let t=e[Xl];if(!t){const n=tc(e);t=(e,t)=>sc(e,t,n),e[Xl]=t}return t}const Zl=Symbol();function Ql(e){return e.h}function ec(e,t){let n,r;const o=e.h;return(e,i,a)=>o(e,i,a,r||=tc(t).g,n||=Jl(t))}function tc(e){let t=e[Zl];return t||(t=Yl(e,e[Zl]={},Ql,ec),nc in e&&Zl in e&&(e.length=0),t)}const nc=Symbol();function rc(e,t){const n=e.g;return t?(e,r,o)=>n(e,r,o,t):n}function oc(e,t,n){const r=e.g;let o,i;return(e,a,s)=>r(e,a,s,i||=ic(t).g,o||=Hl(t),n)}function ic(e){let t=e[nc];return t||(t=Yl(e,e[nc]={},rc,oc),nc in e&&Zl in e&&(e.length=0),t)}function ac(e,t){var n=e[t];if(n)return n;if((n=e.h)&&(n=n[t])){var r=n.S,o=n.aa.h;if(r){const e=Jl(r),t=tc(r).g;n=(n,r,i)=>o(n,r,i,t,e)}else n=o;return e[t]=n}}function sc(e,t,n){for(var r=ps(e),o=+!!(512&r)-1,i=e.length,a=512&r?1:0,s=i+(256&r?-1:0);a<s;a++){const r=e[a];if(null==r)continue;const i=a-o,s=ac(n,i);s&&s(t,r,i)}if(256&r){r=e[i-1];for(let e in r)o=+e,Number.isNaN(o)||null!=(i=r[e])&&(s=ac(n,o))&&s(t,i,o)}if(e=Is?e[Is]:void 0)for(ts(t,t.g.end()),n=0;n<e.length;n++)ts(t,ha(e[n])||sa())}function lc(e,t){return new ss(e,t,!1)}function cc(e,t){return new ss(e,t,!0)}function uc(e,t,n){fl(e,ps(e),t,n)}var dc=lc((function(e,t,n,r,o){return 2===e.h&&(e=$a(e,Ks([void 0,void 0],r),o),Ts(r=ps(t)),(o=dl(t,r,n))instanceof Zs?0!=(2&o.g)?((o=o.m()).push(e),fl(t,r,n,o)):o.H(e):Array.isArray(o)?(2&fs(o)&&fl(t,r,n,o=wl(o)),o.push(e)):fl(t,r,n,[e]),!0)}),(function(e,t,n,r,o){if(t instanceof Zs)t.forEach(((t,i)=>{as(e,n,Ks([i,t],r),o)}));else if(Array.isArray(t))for(let i=0;i<t.length;i++){const a=t[i];Array.isArray(a)&&as(e,n,Ks(a,r),o)}}));function hc(e,t,n){e:if(null!=t){if(Ps(t)){if("string"==typeof t)break e;if("number"==typeof t)break e}t=void 0}null!=t&&("string"==typeof t&&Ka(t),null!=t&&(ns(e,n,0),"number"==typeof t?(e=e.g,Sa(t),Ja(e,xa,Ea)):(n=Ka(t),Ja(e.g,n.h,n.g))))}function fc(e,t,n){null!=(t=Os(t))&&null!=t&&(ns(e,n,0),Qa(e.g,t))}function pc(e,t,n){null!=(t=Ls(t))&&(ns(e,n,0),e.g.g.push(t?1:0))}function gc(e,t,n){null!=(t=$s(t))&&is(e,n,Pi(t))}function mc(e,t,n,r,o){as(e,n,t instanceof Gl?t.u:Array.isArray(t)?Ks(t,r):void 0,o)}function vc(e,t,n){null!=(t=null==t||"string"==typeof t||ia(t)||t instanceof fa?t:void 0)&&is(e,n,ba(t).buffer)}function bc(e,t,n){return(5===e.h||2===e.h)&&(t=pl(t,ps(t),n,2,!1),2==e.h?za(e,Oa.prototype.A,t):t.push(e.g.A()),!0)}var yc=lc((function(e,t,n){if(1!==e.h)return!1;var r=e.g;e=Ma(r);const o=Ma(r);r=2*(o>>31)+1;const i=o>>>20&2047;return e=4294967296*(1048575&o)+e,uc(t,n,2047==i?e?NaN:1/0*r:0==i?r*Math.pow(2,-1074)*e:r*Math.pow(2,i-1075)*(e+4503599627370496)),!0}),(function(e,t,n){null!=(t=Ms(t))&&(ns(e,n,1),e=e.g,(n=wa||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),xa=n.getUint32(0,!0),Ea=n.getUint32(4,!0),es(e,xa),es(e,Ea))})),wc=lc((function(e,t,n){return 5===e.h&&(uc(t,n,e.g.A()),!0)}),(function(e,t,n){null!=(t=Ms(t))&&(ns(e,n,5),e=e.g,ka(t),es(e,xa))})),xc=cc(bc,(function(e,t,n){if(null!=(t=Vl(Ms,t)))for(let i=0;i<t.length;i++){var r=e,o=t[i];null!=o&&(ns(r,n,5),r=r.g,ka(o),es(r,xa))}})),Ec=cc(bc,(function(e,t,n){if(null!=(t=Vl(Ms,t))&&t.length){ns(e,n,2),Za(e.g,4*t.length);for(let r=0;r<t.length;r++)n=e.g,ka(t[r]),es(n,xa)}})),Sc=lc((function(e,t,n){return 0===e.h&&(uc(t,n,Da(e.g,Ta)),!0)}),hc),kc=lc((function(e,t,n){return 0===e.h&&(uc(t,n,0===(e=Da(e.g,Ta))?void 0:e),!0)}),hc),Cc=lc((function(e,t,n){return 0===e.h&&(uc(t,n,Da(e.g,Ca)),!0)}),(function(e,t,n){e:if(null!=t){if(Ps(t)){if("string"==typeof t)break e;if("number"==typeof t)break e}t=void 0}null!=t&&("string"==typeof t&&Va(t),null!=t&&(ns(e,n,0),"number"==typeof t?(e=e.g,Sa(t),Ja(e,xa,Ea)):(n=Va(t),Ja(e.g,n.h,n.g))))})),Tc=lc((function(e,t,n){return 0===e.h&&(uc(t,n,e.g.m()),!0)}),fc),Ac=cc((function(e,t,n){return(0===e.h||2===e.h)&&(t=pl(t,ps(t),n,2,!1),2==e.h?za(e,Oa.prototype.m,t):t.push(e.g.m()),!0)}),(function(e,t,n){if(null!=(t=Vl(Os,t))&&t.length){n=rs(e,n);for(let n=0;n<t.length;n++)Qa(e.g,t[n]);os(e,n)}})),Rc=lc((function(e,t,n){return 0===e.h&&(uc(t,n,0===(e=e.g.m())?void 0:e),!0)}),fc),Ic=lc((function(e,t,n){return 0===e.h&&(uc(t,n,Fa(e.g)),!0)}),pc),_c=lc((function(e,t,n){return 0===e.h&&(uc(t,n,!1===(e=Fa(e.g))?void 0:e),!0)}),pc),Dc=cc((function(e,t,n){if(2!==e.h)return!1;e=ja(e);const r=ps(t);return Ts(r),pl(t,r,n,2).push(e),!0}),(function(e,t,n){if(null!=(t=Vl($s,t)))for(let o=0;o<t.length;o++){var r=t[o];null!=r&&is(e,n,Pi(r))}})),Fc=lc((function(e,t,n){return 2===e.h&&(uc(t,n,""===(e=ja(e))?void 0:e),!0)}),gc),Mc=lc((function(e,t,n){return 2===e.h&&(uc(t,n,ja(e)),!0)}),gc),Lc=lc((function(e,t,n,r,o){return 2===e.h&&($a(e,kl(t,r,n,!0),o),!0)}),mc),Pc=lc((function(e,t,n,r,o){return 2===e.h&&($a(e,kl(t,r,n),o),!0)}),mc),Oc=cc((function(e,t,n,r,o){if(2!==e.h)return!1;r=Ks(void 0,r);const i=ps(t);Ts(i);let a=pl(t,i,n,3);return(Object.isFrozen(a)||4&fs(a))&&(a=ls(a),fl(t,i,n,a)),a.push(r),$a(e,r,o),!0}),(function(e,t,n,r,o){if(Array.isArray(t))for(let i=0;i<t.length;i++)mc(e,t[i],n,r,o)})),Nc=lc((function(e,t,n,r,o,i){if(2!==e.h)return!1;const a=ps(t);return Ts(a),(i=Sl(t,a,i))&&n!==i&&fl(t,a,i),$a(e,t=kl(t,r,n),o),!0}),mc),Bc=lc((function(e,t,n){return 2===e.h&&(uc(t,n,Ga(e)),!0)}),vc),Uc=cc((function(e,t,n){return(0===e.h||2===e.h)&&(t=pl(t,ps(t),n,2,!1),2==e.h?za(e,Oa.prototype.j,t):t.push(e.g.j()),!0)}),(function(e,t,n){if(null!=(t=Vl(Ns,t)))for(let i=0;i<t.length;i++){var r=e,o=t[i];null!=o&&(ns(r,n,0),Za(r.g,o))}})),$c=lc((function(e,t,n){return 0===e.h&&(uc(t,n,e.g.m()),!0)}),(function(e,t,n){null!=(t=Os(t))&&(t=parseInt(t,10),ns(e,n,0),Qa(e.g,t))})),jc=cc((function(e,t,n){return(0===e.h||2===e.h)&&(t=pl(t,ps(t),n,2,!1),2==e.h?za(e,Oa.prototype.C,t):t.push(e.g.m()),!0)}),(function(e,t,n){if(null!=(t=Vl(Os,t))&&t.length){n=rs(e,n);for(let n=0;n<t.length;n++)Qa(e.g,t[n]);os(e,n)}}));class Gc{constructor(e,t){this.h=e,this.g=t,this.l=Tl,this.m=Il,this.defaultValue=void 0}}function zc(e,t){return new Gc(e,t)}function qc(e,t){return(n,r)=>{e:{if(qa.length){const e=qa.pop();e.o(r),Ia(e.g,n,r),n=e}else n=new class{constructor(e,t){if(Na.length){const n=Na.pop();Ia(n,e,t),e=n}else e=new Oa(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 o=new e;const r=o.u;Hl(t)(r,n),_s&&delete r[_s];var i=o;break e}finally{(o=n.g).h=null,o.s=!1,o.v=0,o.l=0,o.g=0,o.O=!1,n.m=-1,n.h=-1,100>qa.length&&qa.push(n)}i=void 0}return i}}function Vc(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}}}};sc(this.u,t,tc(e)),ts(t,t.g.end());const n=new Uint8Array(t.h),r=t.l,o=r.length;let i=0;for(let e=0;e<o;e++){const t=r[e];n.set(t,i),i+=t.length}return t.l=[n],n}}var Wc,Hc=[0,Fc,lc((function(e,t,n){return 2===e.h&&(uc(t,n,(e=Ga(e))===da()?void 0:e),!0)}),(function(e,t,n){if(null!=t){if(t instanceof Gl){const r=t.Aa;return void(r&&(t=r(t),null!=t&&is(e,n,ba(t).buffer)))}if(Array.isArray(t))return}vc(e,t,n)}))];function Kc(e){if(void 0===Wc){var t=null,n=Ci.trustedTypes;if(n&&n.createPolicy){try{t=n.createPolicy("goog#html",{createHTML:Ai,createScript:Ai,createScriptURL:Ai})}catch(e){Ci.console&&Ci.console.error(e.message)}Wc=t}else Wc=t}return e=(t=Wc)?t.createScriptURL(e):e,new class{constructor(e){this.g=e}toString(){return this.g+""}}(e)}var Yc=[0,Mc],Xc=[0,Tc,$c,Ic,Ic,Ac,$c,$c],Jc=[0,Ic,Ic],Zc=class extends Gl{constructor(){super()}};Zc.B=[6];var Qc=[0,Ic,Mc,Ic,$c,$c,jc,Mc,Mc,Pc,Jc,$c],eu=[0,Mc,Mc,Mc],tu=class extends Gl{constructor(){super()}},nu=[0],ru=[0,Tc],ou=[1,2,3,4,5],iu=class extends Gl{constructor(e){super(e,2)}},au={},su=[-2,au,Ic];au[336783863]=ql([0,Mc,Ic,Ic,Tc,Pc,[0,Nc,nu,ou,Nc,Qc,ou,Nc,eu,ou,Nc,ru,ou,Nc,Xc,ou],Pc,Yc]);var lu=[0,Fc,_c],cu=[0,kc,kc,_c,_c,_c,_c,kc,Ac,Fc,Rc,kc,kc,_c,Rc,_c,_c,_c,Fc],uu=[-1,{}],du=[0,Mc,Pc,2,uu],hu=[0,Mc,Dc,Pc,uu];function fu(e,t){t=Us(t);const n=ps(e=e.u);Ts(n),fl(e,n,2,""===t?void 0:t)}function pu(e,t){$l(e,3,t)}function gu(e,t){$l(e,4,t)}var mu=class extends Gl{constructor(e){super(e,500)}o(e){return Il(this,0,7,e)}};mu.B=[3,4,5,6,8,13,17,1005];var vu=[-500,Fc,Fc,Dc,Dc,Dc,Dc,Pc,su,Oc,Hc,Rc,Rc,Pc,du,Pc,hu,Oc,lu,Fc,Pc,cu,Rc,Dc,Dc,988],bu=[0,Fc,Fc,Pc,uu],yu=[-500,Mc,Mc,Pc,[-1,{}],Mc,999],wu=[-500,Mc,Dc,Dc,Pc,[-2,{},Ic],Dc,998,Dc],xu=[-500,Mc,Dc,Pc,uu,Dc,999];function Eu(e,t){Dl(e,mu,t)}function Su(e,t){$l(e,10,t)}function ku(e,t){$l(e,15,t)}var Cu=class extends Gl{constructor(e){super(e,500)}o(e){return Il(this,0,1001,e)}};Cu.B=[1,6,7,9,10,15,16,17,14,1002];var Tu=[-500,Oc,vu,Oc,5,yu,Oc,wu,Rc,Oc,xu,Dc,Rc,Pc,du,Pc,hu,Oc,bu,Dc,Dc,Dc,Pc,cu,Fc,Fc,_c,Pc,980,uu,Oc,Hc],Au=qc(Cu,Tu);Cu.prototype.g=Vc(Tu);var Ru=[0,Oc,[0,Tc,Tc,Tc]],Iu=class extends Gl{constructor(e){super(e)}},_u=[0,Tc,wc,Mc,Mc],Du=class extends Gl{constructor(e){super(e)}g(){return Rl(this,Iu,1)}};Du.B=[1];var Fu=[0,Oc,_u],Mu=qc(Du,Fu),Lu=[0,Tc,wc],Pu=[0,Tc,Tc,Pc,Ru],Ou=class extends Gl{constructor(e){super(e)}},Nu=[0,Tc,Tc,Tc,Tc],Bu=[0,wc,wc,wc,wc],Uu=class extends Gl{constructor(e){super(e)}},$u=[0,wc,wc,Mc,wc],ju=class extends Gl{constructor(e){super(e)}h(){return Tl(this,Ou,2)}g(){return Rl(this,Uu,5)}};ju.B=[5];var Gu=[0,$c,Pc,Nu,Pc,Bu,Pc,Pu,Oc,$u],zu=class extends Gl{constructor(e){super(e)}};zu.B=[1,2,3,8,9];var qu=qc(zu,[0,Dc,Ac,Ec,Pc,Gu,Mc,Mc,Sc,Oc,Lu,Dc,Sc]),Vu=class extends Gl{constructor(e){super(e)}},Wu=[0,wc,wc,wc,wc,wc],Hu=class extends Gl{constructor(e){super(e)}};Hu.B=[1];var Ku=qc(Hu,[0,Oc,Wu]),Yu=class extends Gl{constructor(e){super(e)}},Xu=[0,wc,wc,wc,wc,wc],Ju=class extends Gl{constructor(e){super(e)}};Ju.B=[1];var Zu=qc(Ju,[0,Oc,Xu]),Qu=class extends Gl{constructor(e){super(e)}};Qu.B=[3];var ed=[0,Tc,Tc,Ec,$c],td=class extends Gl{constructor(){super()}};td.prototype.g=Vc([0,wc,wc,wc,wc,wc,Sc]);var nd=class extends Gl{constructor(e){super(e)}},rd=[0,Tc,2,Mc,Pc,Fu],od=class extends Gl{constructor(e){super(e)}};od.B=[1];var id=qc(od,[0,Oc,rd,Sc]),ad=class extends Gl{constructor(e){super(e)}};ad.B=[1];var sd=class extends Gl{constructor(e){super(e)}da(){const e=ml(this);return null==e?da():e}},ld=class extends Gl{constructor(e){super(e)}},cd=[1,2],ud=[0,Nc,[0,Ec],cd,Nc,[0,Bc],cd,Tc,Mc],dd=class extends Gl{constructor(e){super(e)}};dd.B=[1];var hd=qc(dd,[0,Oc,ud,Sc]),fd=class extends Gl{constructor(e){super(e)}};fd.B=[4,5];var pd=[0,Mc,Tc,wc,Dc,Dc],gd=class extends Gl{constructor(e){super(e)}},md=[0,Ic,Ic],vd=class extends Gl{constructor(e){super(e)}},bd=[1,2,3,4,5],yd=class extends Gl{constructor(e){super(e)}g(){return null!=ml(this)}h(){return null!=Ll(this,2)}},wd=[0,Bc,Mc,Pc,[0,Tc,Sc,Sc],Pc,[0,Cc,Sc]],xd=class extends Gl{constructor(e){super(e)}g(){return Ls(ul(this,2))??!1}},Ed=[0,Pc,wd,Ic,Pc,[0,Nc,ru,bd,Nc,Qc,bd,Nc,Xc,bd,Nc,nu,bd,Nc,eu,bd]],Sd=class extends Gl{constructor(e){super(e)}},kd=[0,Pc,Ed,wc,wc,Tc],Cd=zc(502141897,Sd);au[502141897]=ql(kd);var Td=[0,Pc,wd];au[512499200]=ql(Td);var Ad=[0,Pc,Td];au[515723506]=ql(Ad);var Rd=qc(class extends Gl{constructor(e){super(e)}},[0,Pc,[0,$c,$c,xc,Uc],Pc,ed]),Id=[0,Pc,Ed];au[508981768]=ql(Id);var _d=class extends Gl{constructor(e){super(e)}},Dd=[0,Pc,Ed,wc,Pc,Id,Ic],Fd=class extends Gl{constructor(e){super(e)}},Md=[0,Pc,Ed,Pc,kd,Pc,Dd,wc,Pc,Ad];au[508968149]=ql(Dd);var Ld=zc(508968150,Fd);au[508968150]=ql(Md);var Pd=class extends Gl{constructor(e){super(e)}},Od=zc(513916220,Pd);au[513916220]=ql([0,Pc,Ed,Pc,Md,Tc]);var Nd=class extends Gl{constructor(e){super(e)}h(){return Tl(this,fd,2)}g(){hl(this,2)}},Bd=[0,Pc,Ed,Pc,pd];au[478825465]=ql(Bd);var Ud=[0,Pc,Ed];au[478825422]=ql(Ud);var $d=class extends Gl{constructor(e){super(e)}},jd=[0,Pc,Ed,Pc,Ud,Pc,Bd,Pc,Bd],Gd=class extends Gl{constructor(e){super(e)}},zd=[0,Pc,Ed,wc,Tc],qd=class extends Gl{constructor(e){super(e)}},Vd=[0,Pc,Ed,wc],Wd=class extends Gl{constructor(e){super(e)}},Hd=[0,Pc,Ed,Pc,zd,Pc,Vd,wc],Kd=class extends Gl{constructor(e){super(e)}},Yd=[0,Pc,Ed,Pc,Hd,Pc,jd];au[463370452]=ql(jd),au[464864288]=ql(zd),au[474472470]=ql(Vd);var Xd=zc(462713202,Wd);au[462713202]=ql(Hd);var Jd=zc(479097054,Kd);au[479097054]=ql(Yd);var Zd=class extends Gl{constructor(e){super(e)}},Qd=zc(456383383,Zd);au[456383383]=ql([0,Pc,Ed,Pc,pd]);var eh=class extends Gl{constructor(e){super(e)}},th=zc(476348187,eh);au[476348187]=ql([0,Pc,Ed,Pc,md]);var nh=class extends Gl{constructor(e){super(e)}},rh=[0,$c,$c],oh=class extends Gl{constructor(e){super(e)}};oh.B=[3];var ih=zc(458105876,class extends Gl{constructor(e){super(e)}g(){var e=this.u;const t=ps(e);var n=2&t;return e=function(e,t,n){var r=oh;const o=2&t;let i=!1;if(null==n){if(o)return yl();n=[]}else if(n.constructor===Zs){if(0==(2&n.g)||o)return n;n=n.m()}else Array.isArray(n)?i=!!(2&fs(n)):n=[];if(o){if(!n.length)return yl();i||(i=!0,vs(n))}else i&&(i=!1,n=wl(n));return i||(64&fs(n)?hs(n,32):32&t&&us(n,32)),fl(e,t,2,r=new Zs(n,r,qs,void 0),!1),r}(e,t,dl(e,t,2)),null==e||!n&&oh&&(e.v=!0),e}});au[458105876]=ql([0,Pc,rh,dc,[0,Sc,Pc,[0,Mc,Mc,Dc]]]);var ah=class extends Gl{constructor(e){super(e)}},sh=zc(458105758,ah);au[458105758]=ql([0,Pc,Ed,Mc,Pc,rh]);var lh=class extends Gl{constructor(e){super(e)}};lh.B=[5,6];var ch=zc(443442058,lh);au[443442058]=ql([0,Pc,Ed,Mc,Tc,wc,Dc,Dc]);var uh=class extends Gl{constructor(e){super(e)}},dh=[0,Pc,Ed,wc,wc,Tc];au[514774813]=ql(dh);var hh=class extends Gl{constructor(e){super(e)}},fh=[0,Pc,Ed,wc],ph=class extends Gl{constructor(e){super(e)}},gh=[0,Pc,Ed,Pc,dh,Pc,fh,wc];au[518928384]=ql(fh);var mh=zc(516587230,ph);function vh(e,t){return t=t?t.clone():new fd,void 0!==e.displayNamesLocale?hl(t,1,Us(e.displayNamesLocale)):void 0===e.displayNamesLocale&&hl(t,1),void 0!==e.maxResults?Bl(t,2,e.maxResults):"maxResults"in e&&hl(t,2),void 0!==e.scoreThreshold?Ul(t,3,e.scoreThreshold):"scoreThreshold"in e&&hl(t,3),void 0!==e.categoryAllowlist?xl(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&hl(t,4),void 0!==e.categoryDenylist?xl(t,5,e.categoryDenylist):"categoryDenylist"in e&&hl(t,5),t}function bh(e,t=-1,n=""){return{categories:e.map((e=>({index:Pl(Fl(e,1))??-1,score:Ol(e,2)??0,categoryName:Ll(e,3)??""??"",displayName:Ll(e,4)??""??""}))),headIndex:t,headName:n}}function yh(e){var t=vl(e,3,Ms),n=vl(e,2,Os);const r=vl(e,1,$s),o=vl(e,9,$s),i={categories:[],keypoints:[]};for(let e=0;e<t.length;e++)i.categories.push({score:t[e],index:n[e]??-1,categoryName:r[e]??"",displayName:o[e]??""});if((t=Tl(e,ju,4)?.h())&&(i.boundingBox={originX:Fl(t,1)??0,originY:Fl(t,2)??0,width:Fl(t,3)??0,height:Fl(t,4)??0,angle:0}),Tl(e,ju,4)?.g().length)for(const t of Tl(e,ju,4).g())i.keypoints.push({x:gl(t,1)??0,y:gl(t,2)??0,score:gl(t,4)??0,label:Ll(t,3)??""});return i}function wh(e){const t=[];for(const n of Rl(e,Yu,1))t.push({x:Ol(n,1)??0,y:Ol(n,2)??0,z:Ol(n,3)??0});return t}function xh(e){const t=[];for(const n of Rl(e,Vu,1))t.push({x:Ol(n,1)??0,y:Ol(n,2)??0,z:Ol(n,3)??0});return t}function Eh(e){return Array.from(e,(e=>127<e?e-256:e))}function Sh(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,o=0;for(let i=0;i<e.length;i++)n+=e[i]*t[i],r+=e[i]*e[i],o+=t[i]*t[i];if(0>=r||0>=o)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return n/Math.sqrt(r*o)}let kh;au[516587230]=ql(gh);const Ch=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 Th(){if(void 0===kh)try{await WebAssembly.instantiate(Ch),kh=!0}catch{kh=!1}return kh}async function Ah(e,t){const n=await Th()?"wasm_internal":"wasm_nosimd_internal";return void 0!==t?{wasmLoaderPath:`${t}/${e}_${n}.js`,wasmBinaryPath:`${t}/${e}_${n}.wasm`}:{wasmLoaderPath:Kc(`./${encodeURIComponent(e)}_${encodeURIComponent(n)}.js`),wasmBinaryPath:Kc(`./${encodeURIComponent(e)}_${encodeURIComponent(n)}.wasm`)}}var Rh=class{};function Ih(){const e=navigator.userAgent;return e.includes("Safari")&&!e.includes("Chrome")}async function _h(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 Dh(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 Fh(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 Mh(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 Lh(e,t,n){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=n}function Ph(e,t,n){let r=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(e,t,o)=>{t?(n(r,o),r=[]):r.push(e)}}function Oh(e,t){const n=Tl(e.baseOptions,yd,1)||new yd;"string"==typeof t?(hl(n,2,Us(t)),hl(n,1)):t instanceof Uint8Array&&(hl(n,1,ks(t,!1,!1)),hl(n,2)),Il(e.baseOptions,0,1,n)}function Nh(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 Bh(e,t){e.H=Math.max(e.H,t)}function Uh(e,t){e.A=new mu,fu(e.A,"PassThroughCalculator"),pu(e.A,"free_memory"),gu(e.A,"free_memory_unused_out"),Su(t,"free_memory"),Eu(t,e.A)}function $h(e,t){pu(e.A,t),gu(e.A,t+"_unused_out")}function jh(e){e.g.addBoolToStream(!0,"free_memory",e.H)}Rh.forVisionTasks=function(e=""){return Ah("vision",e)},Rh.forTextTasks=function(e=""){return Ah("text",e)},Rh.forAudioTasks=function(e=""){return Ah("audio",e)},Rh.isSimdSupported=function(){return Th()};var Gh=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(!(Tl(this.baseOptions,yd,1)?.g()||Tl(this.baseOptions,yd,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=Tl(e.baseOptions,vd,3);if(!n){var r=n=new vd,o=new tu;_l(r,4,bd,o)}"delegate"in t&&("GPU"===t.delegate?(t=n,r=new Zc,_l(t,2,bd,r)):(t=n,r=new tu,_l(t,4,bd,r))),Il(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),Oh(this,"/model.dat"),this.m(),this.N()}));Oh(this,t.modelAssetBuffer)}return this.m(),this.N(),Promise.resolve()}N(){}U(){let e;if(this.g.U((t=>{e=Au(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,Nh(this)}finishProcessing(){this.g.finishProcessing(),Nh(this)}close(){this.A=void 0,this.g.closeGraph()}};function zh(e,t){if(null===e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}Gh.prototype.close=Gh.prototype.close;class qh{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 Vh(e,t,n){const r=e.h;if(n=zh(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 Wh(e,t){const n=e.h,r=zh(n.createVertexArray(),"Failed to create vertex array");n.bindVertexArray(r);const o=zh(n.createBuffer(),"Failed to create buffer");n.bindBuffer(n.ARRAY_BUFFER,o),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 i=zh(n.createBuffer(),"Failed to create buffer");return n.bindBuffer(n.ARRAY_BUFFER,i),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 qh(n,r,o,i)}function Hh(e,t){if(e.h){if(t!==e.h)throw Error("Cannot change GL context once initialized")}else e.h=t}function Kh(e,t,n,r){if(Hh(e,t),!e.g){const t=e.h;if(e.g=zh(t.createProgram(),"Failed to create WebGL program"),e.C=Vh(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=Vh(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=Wh(e,!0)),n=e.m):(e.j||(e.j=Wh(e,!1)),n=e.j),t.useProgram(e.g),n.bind(),e=r(),n.g.bindVertexArray(null),e}function Yh(e,t,n){Hh(e,t),e.l||(e.l=zh(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 Xh(e){e.h?.bindFramebuffer(e.h.FRAMEBUFFER,null)}var Jh=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 Zh(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 Qh(e){var t=Zh(e,0);if(!t){t=tf(e);const n=nf(e),r=new Uint8Array(e.width*e.height*4);Yh(n,t,ef(e)),t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,r),Xh(n),t=new ImageData(new Uint8ClampedArray(r.buffer),e.width,e.height),e.g.push(t)}return t}function ef(e){let t=Zh(e,2);if(!t){const n=tf(e);t=of(e);const r=Zh(e,1)||Qh(e);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,r),af(e)}return t}function tf(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=zh(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function nf(e){return e.l||(e.l=new Jh),e.l}function rf(e){(e=tf(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 of(e){const t=tf(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let n=Zh(e,2);return n?t.bindTexture(t.TEXTURE_2D,n):(n=zh(t.createTexture(),"Failed to create texture"),e.g.push(n),e.m=!0,t.bindTexture(t.TEXTURE_2D,n),rf(e)),n}function af(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}function sf(e){const t=tf(e);return Kh(nf(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,o=n.height;return n.width=e.width,n.height=e.height,e=t(),n.width=r,n.height=o,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 lf=class{constructor(e,t,n,r,o,i,a){this.g=e,this.j=t,this.m=n,this.canvas=r,this.l=o,this.width=i,this.height=a,(this.j||this.m)&&0==--cf&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")}ta(){return!!Zh(this,0)}Z(){return!!Zh(this,1)}J(){return!!Zh(this,2)}pa(){return Qh(this)}oa(){var e=Zh(this,1);return e||(ef(this),of(this),e=sf(this),af(this),this.g.push(e),this.j=!0),e}T(){return ef(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=tf(this),t=nf(this);e.activeTexture(e.TEXTURE1),n=zh(e.createTexture(),"Failed to create texture"),e.bindTexture(e.TEXTURE_2D,n),rf(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),Yh(t,e,n),Kh(t,e,!1,(()=>{of(this),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),af(this)})),Xh(t),af(this)}else{if(!(t instanceof ImageBitmap))throw Error(`Type is not supported: ${t}`);ef(this),of(this),n=sf(this),af(this)}e.push(n)}return new lf(e,this.Z(),this.J(),this.canvas,this.l,this.width,this.height)}close(){this.j&&Zh(this,1).close(),this.m&&tf(this).deleteTexture(Zh(this,2)),cf=-1}};lf.prototype.close=lf.prototype.close,lf.prototype.clone=lf.prototype.clone,lf.prototype.getAsWebGLTexture=lf.prototype.T,lf.prototype.getAsImageBitmap=lf.prototype.oa,lf.prototype.getAsImageData=lf.prototype.pa,lf.prototype.hasWebGLTexture=lf.prototype.J,lf.prototype.hasImageBitmap=lf.prototype.Z,lf.prototype.hasImageData=lf.prototype.ta;var cf=250;function uf(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 df(e){var t=uf(e,1);if(!t){if(t=uf(e,0))t=new Float32Array(t).map((e=>e/255));else{t=new Float32Array(e.width*e.height);const r=ff(e);var n=gf(e);if(Yh(n,r,hf(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 hf(e){let t=uf(e,2);if(!t){const n=ff(e);t=vf(e);const r=df(e),o=pf(e);n.texImage2D(n.TEXTURE_2D,0,o,e.width,e.height,0,n.RED,n.FLOAT,r),bf(e)}return t}function ff(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=zh(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function pf(e){if(e=ff(e),!yf)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))yf=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");yf=e.R16F}return yf}function gf(e){return e.l||(e.l=new Jh),e.l}function mf(e){(e=ff(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 vf(e){const t=ff(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let n=uf(e,2);return n?t.bindTexture(t.TEXTURE_2D,n):(n=zh(t.createTexture(),"Failed to create texture"),e.g.push(n),e.m=!0,t.bindTexture(t.TEXTURE_2D,n),mf(e)),n}function bf(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var yf,wf=class{constructor(e,t,n,r,o,i){this.g=e,this.m=t,this.canvas=n,this.l=r,this.width=o,this.height=i,this.m&&0==--xf&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}ua(){return!!uf(this,0)}sa(){return!!uf(this,1)}J(){return!!uf(this,2)}qa(){return(e=uf(this,0))||(e=df(this),e=new Uint8Array(e.map((e=>255*e))),this.g.push(e)),e;var e}na(){return df(this)}T(){return hf(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=ff(this),t=gf(this);e.activeTexture(e.TEXTURE1),n=zh(e.createTexture(),"Failed to create texture"),e.bindTexture(e.TEXTURE_2D,n),mf(this);const r=pf(this);e.texImage2D(e.TEXTURE_2D,0,r,this.width,this.height,0,e.RED,e.FLOAT,null),e.bindTexture(e.TEXTURE_2D,null),Yh(t,e,n),Kh(t,e,!1,(()=>{vf(this),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),bf(this)})),Xh(t),bf(this)}}e.push(n)}return new wf(e,this.J(),this.canvas,this.l,this.width,this.height)}close(){this.m&&ff(this).deleteTexture(uf(this,2)),xf=-1}};wf.prototype.close=wf.prototype.close,wf.prototype.clone=wf.prototype.clone,wf.prototype.getAsWebGLTexture=wf.prototype.T,wf.prototype.getAsFloat32Array=wf.prototype.na,wf.prototype.getAsUint8Array=wf.prototype.qa,wf.prototype.hasWebGLTexture=wf.prototype.J,wf.prototype.hasFloat32Array=wf.prototype.sa,wf.prototype.hasUint8Array=wf.prototype.ua;var xf=250;function Ef(...e){return e.map((([e,t])=>({start:e,end:t})))}const Sf=function(e){return class extends e{xa(){this.i._registerModelResourcesGraphService()}}}((kf=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||Ih()?(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,o){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),Dh(this,r||"input_audio",(r=>{Dh(this,o=o||"audio_header",(o=>{this.i._configureAudio(r,o,e,t,n)}))}))}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}U(e){Lh(this,"__graph_config__",(t=>{e(t)})),Dh(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,o){const i=4*e.length;this.h!==i&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(i),this.h=i),this.i.HEAPF32.set(e,this.g/4),Dh(this,r,(e=>{this.i._addAudioToInputStream(this.g,t,n,e,o)}))}addGpuBufferToStream(e,t,n){Dh(this,t,(t=>{const[r,o]=Fh(this,e,t);this.i._addBoundTextureToStream(t,r,o,n)}))}addBoolToStream(e,t,n){Dh(this,t,(t=>{this.i._addBoolToInputStream(e,t,n)}))}addDoubleToStream(e,t,n){Dh(this,t,(t=>{this.i._addDoubleToInputStream(e,t,n)}))}addFloatToStream(e,t,n){Dh(this,t,(t=>{this.i._addFloatToInputStream(e,t,n)}))}addIntToStream(e,t,n){Dh(this,t,(t=>{this.i._addIntToInputStream(e,t,n)}))}addStringToStream(e,t,n){Dh(this,t,(t=>{Dh(this,e,(e=>{this.i._addStringToInputStream(e,t,n)}))}))}addStringRecordToStream(e,t,n){Dh(this,t,(t=>{Mh(this,Object.keys(e),(r=>{Mh(this,Object.values(e),(o=>{this.i._addFlatHashMapToInputStream(r,o,Object.keys(e).length,t,n)}))}))}))}addProtoToStream(e,t,n,r){Dh(this,n,(n=>{Dh(this,t,(t=>{const o=this.i._malloc(e.length);this.i.HEAPU8.set(e,o),this.i._addProtoToInputStream(o,e.length,t,n,r),this.i._free(o)}))}))}addEmptyPacketToStream(e,t){Dh(this,e,(e=>{this.i._addEmptyPacketToInputStream(e,t)}))}addBoolToInputSidePacket(e,t){Dh(this,t,(t=>{this.i._addBoolToInputSidePacket(e,t)}))}addDoubleToInputSidePacket(e,t){Dh(this,t,(t=>{this.i._addDoubleToInputSidePacket(e,t)}))}addFloatToInputSidePacket(e,t){Dh(this,t,(t=>{this.i._addFloatToInputSidePacket(e,t)}))}addIntToInputSidePacket(e,t){Dh(this,t,(t=>{this.i._addIntToInputSidePacket(e,t)}))}addStringToInputSidePacket(e,t){Dh(this,t,(t=>{Dh(this,e,(e=>{this.i._addStringToInputSidePacket(e,t)}))}))}addProtoToInputSidePacket(e,t,n){Dh(this,n,(n=>{Dh(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){Lh(this,e,t),Dh(this,e,(e=>{this.i._attachBoolListener(e)}))}attachBoolVectorListener(e,t){Ph(this,e,t),Dh(this,e,(e=>{this.i._attachBoolVectorListener(e)}))}attachIntListener(e,t){Lh(this,e,t),Dh(this,e,(e=>{this.i._attachIntListener(e)}))}attachIntVectorListener(e,t){Ph(this,e,t),Dh(this,e,(e=>{this.i._attachIntVectorListener(e)}))}attachDoubleListener(e,t){Lh(this,e,t),Dh(this,e,(e=>{this.i._attachDoubleListener(e)}))}attachDoubleVectorListener(e,t){Ph(this,e,t),Dh(this,e,(e=>{this.i._attachDoubleVectorListener(e)}))}attachFloatListener(e,t){Lh(this,e,t),Dh(this,e,(e=>{this.i._attachFloatListener(e)}))}attachFloatVectorListener(e,t){Ph(this,e,t),Dh(this,e,(e=>{this.i._attachFloatVectorListener(e)}))}attachStringListener(e,t){Lh(this,e,t),Dh(this,e,(e=>{this.i._attachStringListener(e)}))}attachStringVectorListener(e,t){Ph(this,e,t),Dh(this,e,(e=>{this.i._attachStringVectorListener(e)}))}attachProtoListener(e,t,n){Lh(this,e,t),Dh(this,e,(e=>{this.i._attachProtoListener(e,n||!1)}))}attachProtoVectorListener(e,t,n){Ph(this,e,t),Dh(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?'),Lh(this,e,((e,n)=>{e=new Float32Array(e.buffer,e.byteOffset,e.length/4),t(e,n)})),Dh(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 kf{get W(){return this.i}ea(e,t,n){Dh(this,t,(t=>{const[r,o]=Fh(this,e,t);this.W._addBoundTextureAsImageToStream(t,r,o,n)}))}P(e,t){Lh(this,e,t),Dh(this,e,(e=>{this.W._attachImageListener(e)}))}R(e,t){Ph(this,e,t),Dh(this,e,(e=>{this.W._attachImageVectorListener(e)}))}}));var kf,Cf=class extends Sf{};async function Tf(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,o)=>{if(t&&await _h(t),!self.ModuleFactory)throw Error("ModuleFactory not set.");if(n&&(await _h(n),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&o&&((t=self.Module).locateFile=o.locateFile,o.mainScriptUrlOrBlob&&(t.mainScriptUrlOrBlob=o.mainScriptUrlOrBlob)),o=await self.ModuleFactory(self.Module||o),self.ModuleFactory=self.Module=void 0,new e(o,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||Ih()?document.createElement("canvas"):void 0),t,n)}function Af(e,t,n,r){if(e.X){const i=new td;if(n?.regionOfInterest){if(!e.ca)throw Error("This task doesn't support region-of-interest.");var o=n.regionOfInterest;if(o.left>=o.right||o.top>=o.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(0>o.left||0>o.top||1<o.right||1<o.bottom)throw Error("Expected RectF values to be in [0,1].");Ul(i,1,(o.left+o.right)/2),Ul(i,2,(o.top+o.bottom)/2),Ul(i,4,o.right-o.left),Ul(i,3,o.bottom-o.top)}else Ul(i,1,.5),Ul(i,2,.5),Ul(i,4,1),Ul(i,3,1);if(n?.rotationDegrees){if(0!=n?.rotationDegrees%90)throw Error("Expected rotation to be a multiple of 90°.");if(Ul(i,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=Ol(i,3)*r/e,o=Ol(i,4)*e/r,Ul(i,4,n),Ul(i,3,o)}}e.g.addProtoToStream(i.g(),"mediapipe.NormalizedRect",e.X,r)}e.g.ea(t,e.ba,r??performance.now()),e.finishProcessing()}function Rf(e,t,n){if(e.baseOptions?.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");Af(e,t,n,e.H+1)}function If(e,t,n,r){if(!e.baseOptions?.g())throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");Af(e,t,n,r)}function _f(e,t,n){var r=t.data;const o=t.width,i=o*(t=t.height);if((r instanceof Uint8Array||r instanceof Float32Array)&&r.length!==i)throw Error("Unsupported channel count: "+r.length/i);return e=new wf([r],!1,e.g.i.canvas,e.M,o,t),n?e.clone():e}var Df=class extends Gh{constructor(e,t,n,r){super(e),this.g=e,this.ba=t,this.X=n,this.ca=r,this.M=new Jh}l(e,t=!0){if("runningMode"in e&&Nl(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()}};Df.prototype.close=Df.prototype.close;var Ff=class extends Df{constructor(e,t){super(new Cf(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},this.h=new Sd,e=new xd,Il(this.h,0,1,e),Ul(this.h,2,.5),Ul(this.h,3,.3)}get baseOptions(){return Tl(this.h,xd,1)}set baseOptions(e){Il(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&Ul(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&Ul(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}F(e,t){return this.j={detections:[]},Rf(this,e,t),this.j}D(e,t,n){return this.j={detections:[]},If(this,e,n,t),this.j}m(){var e=new Cu;Su(e,"image_in"),Su(e,"norm_rect_in"),ku(e,"detections");const t=new iu;jl(t,Cd,this.h);const n=new mu;fu(n,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),pu(n,"IMAGE:image_in"),pu(n,"NORM_RECT:norm_rect_in"),gu(n,"DETECTIONS:detections"),n.o(t),Eu(e,n),this.g.attachProtoVectorListener("detections",((e,t)=>{for(const t of e)e=qu(t),this.j.detections.push(yh(e));Bh(this,t)})),this.g.attachEmptyPacketListener("detections",(e=>{Bh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ff.prototype.detectForVideo=Ff.prototype.D,Ff.prototype.setOptions=Ff.prototype.o,Ff.createFromModelPath=async function(e,t){return Tf(Ff,e,{baseOptions:{modelAssetPath:t}})},Ff.createFromModelBuffer=function(e,t){return Tf(Ff,e,{baseOptions:{modelAssetBuffer:t}})},Ff.createFromOptions=function(e,t){return Tf(Ff,e,t)};var Mf=Ef([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]),Lf=Ef([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]),Pf=Ef([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),Of=Ef([474,475],[475,476],[476,477],[477,474]),Nf=Ef([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]),Bf=Ef([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),Uf=Ef([469,470],[470,471],[471,472],[472,469]),$f=Ef([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]),jf=[...Mf,...Lf,...Pf,...Nf,...Bf,...$f],Gf=Ef([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 zf(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var qf=class extends Df{constructor(e,t){super(new Cf(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,this.h=new Fd,e=new xd,Il(this.h,0,1,e),this.v=new _d,Il(this.h,0,3,this.v),this.s=new Sd,Il(this.h,0,2,this.s),Bl(this.s,4,1),Ul(this.s,2,.5),Ul(this.v,2,.5),Ul(this.h,4,.5)}get baseOptions(){return Tl(this.h,xd,1)}set baseOptions(e){Il(this.h,0,1,e)}o(e){return"numFaces"in e&&Bl(this.s,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&Ul(this.s,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&Ul(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&Ul(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 zf(this),Rf(this,e,t),this.j}D(e,t,n){return zf(this),If(this,e,n,t),this.j}m(){var e=new Cu;Su(e,"image_in"),Su(e,"norm_rect"),ku(e,"face_landmarks");const t=new iu;jl(t,Ld,this.h);const n=new mu;fu(n,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),pu(n,"IMAGE:image_in"),pu(n,"NORM_RECT:norm_rect"),gu(n,"NORM_LANDMARKS:face_landmarks"),n.o(t),Eu(e,n),this.g.attachProtoVectorListener("face_landmarks",((e,t)=>{for(const t of e)e=Zu(t),this.j.faceLandmarks.push(wh(e));Bh(this,t)})),this.g.attachEmptyPacketListener("face_landmarks",(e=>{Bh(this,e)})),this.outputFaceBlendshapes&&(ku(e,"blendshapes"),gu(n,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",((e,t)=>{if(this.outputFaceBlendshapes)for(const t of e)e=Mu(t),this.j.faceBlendshapes.push(bh(e.g()??[]));Bh(this,t)})),this.g.attachEmptyPacketListener("blendshapes",(e=>{Bh(this,e)}))),this.outputFacialTransformationMatrixes&&(ku(e,"face_geometry"),gu(n,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",((e,t)=>{if(this.outputFacialTransformationMatrixes)for(const t of e)(e=Tl(Rd(t),Qu,2))&&this.j.facialTransformationMatrixes.push({rows:Pl(Fl(e,1))??0,columns:Pl(Fl(e,2))??0,data:vl(e,3,Ms)??[]});Bh(this,t)})),this.g.attachEmptyPacketListener("face_geometry",(e=>{Bh(this,e)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};qf.prototype.detectForVideo=qf.prototype.D,qf.prototype.detect=qf.prototype.F,qf.prototype.setOptions=qf.prototype.o,qf.createFromModelPath=function(e,t){return Tf(qf,e,{baseOptions:{modelAssetPath:t}})},qf.createFromModelBuffer=function(e,t){return Tf(qf,e,{baseOptions:{modelAssetBuffer:t}})},qf.createFromOptions=function(e,t){return Tf(qf,e,t)},qf.FACE_LANDMARKS_LIPS=Mf,Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LIPS",qf.FACE_LANDMARKS_LIPS),qf.FACE_LANDMARKS_LEFT_EYE=Lf,Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LEFT_EYE",qf.FACE_LANDMARKS_LEFT_EYE),qf.FACE_LANDMARKS_LEFT_EYEBROW=Pf,Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LEFT_EYEBROW",qf.FACE_LANDMARKS_LEFT_EYEBROW),qf.FACE_LANDMARKS_LEFT_IRIS=Of,Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LEFT_IRIS",qf.FACE_LANDMARKS_LEFT_IRIS),qf.FACE_LANDMARKS_RIGHT_EYE=Nf,Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_RIGHT_EYE",qf.FACE_LANDMARKS_RIGHT_EYE),qf.FACE_LANDMARKS_RIGHT_EYEBROW=Bf,Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_RIGHT_EYEBROW",qf.FACE_LANDMARKS_RIGHT_EYEBROW),qf.FACE_LANDMARKS_RIGHT_IRIS=Uf,Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_RIGHT_IRIS",qf.FACE_LANDMARKS_RIGHT_IRIS),qf.FACE_LANDMARKS_FACE_OVAL=$f,Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_FACE_OVAL",qf.FACE_LANDMARKS_FACE_OVAL),qf.FACE_LANDMARKS_CONTOURS=jf,Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_CONTOURS",qf.FACE_LANDMARKS_CONTOURS),qf.FACE_LANDMARKS_TESSELATION=Gf,Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_TESSELATION",qf.FACE_LANDMARKS_TESSELATION);var Vf=class extends Df{constructor(e,t){super(new Cf(e,t),"image_in","norm_rect",!0),this.j=new Pd,e=new xd,Il(this.j,0,1,e)}get baseOptions(){return Tl(this.j,xd,1)}set baseOptions(e){Il(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,Rf(this,e,r??{}),!this.h)return this.s}m(){var e=new Cu;Su(e,"image_in"),Su(e,"norm_rect"),ku(e,"stylized_image");const t=new iu;jl(t,Od,this.j);const n=new mu;fu(n,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),pu(n,"IMAGE:image_in"),pu(n,"NORM_RECT:norm_rect"),gu(n,"STYLIZED_IMAGE:stylized_image"),n.o(t),Eu(e,n),this.g.P("stylized_image",((e,t)=>{var n=!this.h,r=e.data,o=e.width;const i=o*(e=e.height);if(r instanceof Uint8Array)if(r.length===3*i){const t=new Uint8ClampedArray(4*i);for(let e=0;e<i;++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,o,e)}else{if(r.length!==4*i)throw Error("Unsupported channel count: "+r.length/i);r=new ImageData(new Uint8ClampedArray(r.buffer,r.byteOffset,r.length),o,e)}else if(!(r instanceof WebGLTexture))throw Error(`Unsupported format: ${r.constructor.name}`);o=new lf([r],!1,!1,this.g.i.canvas,this.M,o,e),this.s=n=n?o.clone():o,this.h&&this.h(n),Bh(this,t)})),this.g.attachEmptyPacketListener("stylized_image",(e=>{this.s=null,this.h&&this.h(null),Bh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Vf.prototype.stylize=Vf.prototype.za,Vf.prototype.setOptions=Vf.prototype.o,Vf.createFromModelPath=function(e,t){return Tf(Vf,e,{baseOptions:{modelAssetPath:t}})},Vf.createFromModelBuffer=function(e,t){return Tf(Vf,e,{baseOptions:{modelAssetBuffer:t}})},Vf.createFromOptions=function(e,t){return Tf(Vf,e,t)};var Wf=Ef([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 Hf(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function Kf(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 Yf(e,t=!0){const n=[];for(const o of e){var r=Mu(o);e=[];for(const n of r.g())r=t&&null!=Fl(n,1)?Pl(Fl(n,1)):-1,e.push({score:Ol(n,2)??0,index:r,categoryName:Ll(n,3)??""??"",displayName:Ll(n,4)??""??""});n.push(e)}return n}var Xf=class extends Df{constructor(e,t){super(new Cf(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.v=new Kd,e=new xd,Il(this.v,0,1,e),this.C=new Wd,Il(this.v,0,2,this.C),this.s=new qd,Il(this.C,0,3,this.s),this.h=new Gd,Il(this.C,0,2,this.h),this.j=new $d,Il(this.v,0,3,this.j),Ul(this.h,2,.5),Ul(this.C,4,.5),Ul(this.s,2,.5)}get baseOptions(){return Tl(this.v,xd,1)}set baseOptions(e){Il(this.v,0,1,e)}o(e){if(Bl(this.h,3,e.numHands??1),"minHandDetectionConfidence"in e&&Ul(this.h,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&Ul(this.C,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&Ul(this.s,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new Nd,n=vh(e.cannedGesturesClassifierOptions,Tl(this.j,Nd,3)?.h());Il(t,0,2,n),Il(this.j,0,3,t)}else void 0===e.cannedGesturesClassifierOptions&&Tl(this.j,Nd,3)?.g();return e.customGesturesClassifierOptions?(Il(t=new Nd,0,2,n=vh(e.customGesturesClassifierOptions,Tl(this.j,Nd,4)?.h())),Il(this.j,0,4,t)):void 0===e.customGesturesClassifierOptions&&Tl(this.j,Nd,4)?.g(),this.l(e)}va(e,t){return Hf(this),Rf(this,e,t),Kf(this)}wa(e,t,n){return Hf(this),If(this,e,n,t),Kf(this)}m(){var e=new Cu;Su(e,"image_in"),Su(e,"norm_rect"),ku(e,"hand_gestures"),ku(e,"hand_landmarks"),ku(e,"world_hand_landmarks"),ku(e,"handedness");const t=new iu;jl(t,Jd,this.v);const n=new mu;fu(n,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),pu(n,"IMAGE:image_in"),pu(n,"NORM_RECT:norm_rect"),gu(n,"HAND_GESTURES:hand_gestures"),gu(n,"LANDMARKS:hand_landmarks"),gu(n,"WORLD_LANDMARKS:world_hand_landmarks"),gu(n,"HANDEDNESS:handedness"),n.o(t),Eu(e,n),this.g.attachProtoVectorListener("hand_landmarks",((e,t)=>{for(const t of e){e=Zu(t);const n=[];for(const t of Rl(e,Yu,1))n.push({x:Ol(t,1)??0,y:Ol(t,2)??0,z:Ol(t,3)??0});this.landmarks.push(n)}Bh(this,t)})),this.g.attachEmptyPacketListener("hand_landmarks",(e=>{Bh(this,e)})),this.g.attachProtoVectorListener("world_hand_landmarks",((e,t)=>{for(const t of e){e=Ku(t);const n=[];for(const t of Rl(e,Vu,1))n.push({x:Ol(t,1)??0,y:Ol(t,2)??0,z:Ol(t,3)??0});this.worldLandmarks.push(n)}Bh(this,t)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(e=>{Bh(this,e)})),this.g.attachProtoVectorListener("hand_gestures",((e,t)=>{this.gestures.push(...Yf(e,!1)),Bh(this,t)})),this.g.attachEmptyPacketListener("hand_gestures",(e=>{Bh(this,e)})),this.g.attachProtoVectorListener("handedness",((e,t)=>{this.handedness.push(...Yf(e)),Bh(this,t)})),this.g.attachEmptyPacketListener("handedness",(e=>{Bh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function Jf(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Xf.prototype.recognizeForVideo=Xf.prototype.wa,Xf.prototype.recognize=Xf.prototype.va,Xf.prototype.setOptions=Xf.prototype.o,Xf.createFromModelPath=function(e,t){return Tf(Xf,e,{baseOptions:{modelAssetPath:t}})},Xf.createFromModelBuffer=function(e,t){return Tf(Xf,e,{baseOptions:{modelAssetBuffer:t}})},Xf.createFromOptions=function(e,t){return Tf(Xf,e,t)},Xf.HAND_CONNECTIONS=Wf,Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$gesture_recognizer$gesture_recognizer.GestureRecognizer.HAND_CONNECTIONS",Xf.HAND_CONNECTIONS);var Zf=class extends Df{constructor(e,t){super(new Cf(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.j=new Wd,e=new xd,Il(this.j,0,1,e),this.s=new qd,Il(this.j,0,3,this.s),this.h=new Gd,Il(this.j,0,2,this.h),Bl(this.h,3,1),Ul(this.h,2,.5),Ul(this.s,2,.5),Ul(this.j,4,.5)}get baseOptions(){return Tl(this.j,xd,1)}set baseOptions(e){Il(this.j,0,1,e)}o(e){return"numHands"in e&&Bl(this.h,3,e.numHands??1),"minHandDetectionConfidence"in e&&Ul(this.h,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&Ul(this.j,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&Ul(this.s,2,e.minHandPresenceConfidence??.5),this.l(e)}F(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Rf(this,e,t),Jf(this)}D(e,t,n){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],If(this,e,n,t),Jf(this)}m(){var e=new Cu;Su(e,"image_in"),Su(e,"norm_rect"),ku(e,"hand_landmarks"),ku(e,"world_hand_landmarks"),ku(e,"handedness");const t=new iu;jl(t,Xd,this.j);const n=new mu;fu(n,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),pu(n,"IMAGE:image_in"),pu(n,"NORM_RECT:norm_rect"),gu(n,"LANDMARKS:hand_landmarks"),gu(n,"WORLD_LANDMARKS:world_hand_landmarks"),gu(n,"HANDEDNESS:handedness"),n.o(t),Eu(e,n),this.g.attachProtoVectorListener("hand_landmarks",((e,t)=>{for(const t of e)e=Zu(t),this.landmarks.push(wh(e));Bh(this,t)})),this.g.attachEmptyPacketListener("hand_landmarks",(e=>{Bh(this,e)})),this.g.attachProtoVectorListener("world_hand_landmarks",((e,t)=>{for(const t of e)e=Ku(t),this.worldLandmarks.push(xh(e));Bh(this,t)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(e=>{Bh(this,e)})),this.g.attachProtoVectorListener("handedness",((e,t)=>{var n=this.handedness,r=n.push;const o=[];for(const t of e){e=Mu(t);const n=[];for(const t of e.g())n.push({score:Ol(t,2)??0,index:Pl(Fl(t,1))??-1,categoryName:Ll(t,3)??""??"",displayName:Ll(t,4)??""??""});o.push(n)}r.call(n,...o),Bh(this,t)})),this.g.attachEmptyPacketListener("handedness",(e=>{Bh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Zf.prototype.detectForVideo=Zf.prototype.D,Zf.prototype.detect=Zf.prototype.F,Zf.prototype.setOptions=Zf.prototype.o,Zf.createFromModelPath=function(e,t){return Tf(Zf,e,{baseOptions:{modelAssetPath:t}})},Zf.createFromModelBuffer=function(e,t){return Tf(Zf,e,{baseOptions:{modelAssetBuffer:t}})},Zf.createFromOptions=function(e,t){return Tf(Zf,e,t)},Zf.HAND_CONNECTIONS=Wf,Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$hand_landmarker$hand_landmarker.HandLandmarker.HAND_CONNECTIONS",Zf.HAND_CONNECTIONS);var Qf=class extends Df{constructor(e,t){super(new Cf(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},this.h=new Zd,e=new xd,Il(this.h,0,1,e)}get baseOptions(){return Tl(this.h,xd,1)}set baseOptions(e){Il(this.h,0,1,e)}o(e){var t=vh(e,Tl(this.h,fd,2));return Il(this.h,0,2,t),this.l(e)}ga(e,t){return this.j={classifications:[]},Rf(this,e,t),this.j}ha(e,t,n){return this.j={classifications:[]},If(this,e,n,t),this.j}m(){var e=new Cu;Su(e,"input_image"),Su(e,"norm_rect"),ku(e,"classifications");const t=new iu;jl(t,Qd,this.h);const n=new mu;fu(n,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),pu(n,"IMAGE:input_image"),pu(n,"NORM_RECT:norm_rect"),gu(n,"CLASSIFICATIONS:classifications"),n.o(t),Eu(e,n),this.g.attachProtoListener("classifications",((e,t)=>{this.j=function(e){const t={classifications:Rl(e,nd,1).map((e=>bh(Tl(e,Du,4)?.g()??[],Pl(Fl(e,2)),Ll(e,3)??"")))};return null!=Ml(e)&&(t.timestampMs=Pl(Ml(e))),t}(id(e)),Bh(this,t)})),this.g.attachEmptyPacketListener("classifications",(e=>{Bh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Qf.prototype.classifyForVideo=Qf.prototype.ha,Qf.prototype.classify=Qf.prototype.ga,Qf.prototype.setOptions=Qf.prototype.o,Qf.createFromModelPath=function(e,t){return Tf(Qf,e,{baseOptions:{modelAssetPath:t}})},Qf.createFromModelBuffer=function(e,t){return Tf(Qf,e,{baseOptions:{modelAssetBuffer:t}})},Qf.createFromOptions=function(e,t){return Tf(Qf,e,t)};var ep=class extends Df{constructor(e,t){super(new Cf(e,t),"image_in","norm_rect",!0),this.h=new eh,this.embeddings={embeddings:[]},e=new xd,Il(this.h,0,1,e)}get baseOptions(){return Tl(this.h,xd,1)}set baseOptions(e){Il(this.h,0,1,e)}o(e){var t=this.h,n=Tl(this.h,gd,2);return n=n?n.clone():new gd,void 0!==e.l2Normalize?Nl(n,1,e.l2Normalize):"l2Normalize"in e&&hl(n,1),void 0!==e.quantize?Nl(n,2,e.quantize):"quantize"in e&&hl(n,2),Il(t,0,2,n),this.l(e)}la(e,t){return Rf(this,e,t),this.embeddings}ma(e,t,n){return If(this,e,n,t),this.embeddings}m(){var e=new Cu;Su(e,"image_in"),Su(e,"norm_rect"),ku(e,"embeddings_out");const t=new iu;jl(t,th,this.h);const n=new mu;fu(n,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),pu(n,"IMAGE:image_in"),pu(n,"NORM_RECT:norm_rect"),gu(n,"EMBEDDINGS:embeddings_out"),n.o(t),Eu(e,n),this.g.attachProtoListener("embeddings_out",((e,t)=>{e=hd(e),this.embeddings=function(e){return{embeddings:Rl(e,ld,1).map((e=>{const t={headIndex:Pl(Fl(e,3))??-1,headName:Ll(e,4)??""??""};if(void 0!==Cl(e,ad,El(e,1)))e=vl(e=Tl(e,ad,El(e,1)),1,Ms),t.floatEmbedding=e;else{const n=new Uint8Array(0);t.quantizedEmbedding=Tl(e,sd,El(e,2))?.da()?.fa()??n}return t})),timestampMs:Pl(Ml(e))}}(e),Bh(this,t)})),this.g.attachEmptyPacketListener("embeddings_out",(e=>{Bh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ep.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=Sh(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=Sh(Eh(e.quantizedEmbedding),Eh(t.quantizedEmbedding))}return e},ep.prototype.embedForVideo=ep.prototype.ma,ep.prototype.embed=ep.prototype.la,ep.prototype.setOptions=ep.prototype.o,ep.createFromModelPath=function(e,t){return Tf(ep,e,{baseOptions:{modelAssetPath:t}})},ep.createFromModelBuffer=function(e,t){return Tf(ep,e,{baseOptions:{modelAssetBuffer:t}})},ep.createFromOptions=function(e,t){return Tf(ep,e,t)};var tp=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 np(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function rp(e){try{const t=new tp(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{jh(e)}}tp.prototype.close=tp.prototype.close;var op=class extends Df{constructor(e,t){super(new Cf(e,t),"image_in","norm_rect",!1),this.s=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new ah,this.v=new nh,Il(this.h,0,3,this.v),e=new xd,Il(this.h,0,1,e)}get baseOptions(){return Tl(this.h,xd,1)}set baseOptions(e){Il(this.h,0,1,e)}o(e){return void 0!==e.displayNamesLocale?hl(this.h,2,Us(e.displayNamesLocale)):"displayNamesLocale"in e&&hl(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=Rl(e.U(),mu,1).filter((e=>(Ll(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&&(Tl(t[0],iu,7)?.l()?.g()??new Map).forEach(((t,n)=>{e.s[Number(n)]=Ll(t,1)??""}))}(this)}V(e,t,n){const r="function"!=typeof t?t:{};return this.j="function"==typeof t?t:n,np(this),Rf(this,e,r),rp(this)}ya(e,t,n,r){const o="function"!=typeof n?n:{};return this.j="function"==typeof n?n:r,np(this),If(this,e,o,t),rp(this)}ra(){return this.s}m(){var e=new Cu;Su(e,"image_in"),Su(e,"norm_rect");const t=new iu;jl(t,sh,this.h);const n=new mu;fu(n,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),pu(n,"IMAGE:image_in"),pu(n,"NORM_RECT:norm_rect"),n.o(t),Eu(e,n),Uh(this,e),this.outputConfidenceMasks&&(ku(e,"confidence_masks"),gu(n,"CONFIDENCE_MASKS:confidence_masks"),$h(this,"confidence_masks"),this.g.R("confidence_masks",((e,t)=>{this.confidenceMasks=e.map((e=>_f(this,e,!this.j))),Bh(this,t)})),this.g.attachEmptyPacketListener("confidence_masks",(e=>{this.confidenceMasks=[],Bh(this,e)}))),this.outputCategoryMask&&(ku(e,"category_mask"),gu(n,"CATEGORY_MASK:category_mask"),$h(this,"category_mask"),this.g.P("category_mask",((e,t)=>{this.categoryMask=_f(this,e,!this.j),Bh(this,t)})),this.g.attachEmptyPacketListener("category_mask",(e=>{this.categoryMask=void 0,Bh(this,e)}))),ku(e,"quality_scores"),gu(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((e,t)=>{this.qualityScores=e,Bh(this,t)})),this.g.attachEmptyPacketListener("quality_scores",(e=>{this.categoryMask=void 0,Bh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};op.prototype.getLabels=op.prototype.ra,op.prototype.segmentForVideo=op.prototype.ya,op.prototype.segment=op.prototype.V,op.prototype.setOptions=op.prototype.o,op.createFromModelPath=function(e,t){return Tf(op,e,{baseOptions:{modelAssetPath:t}})},op.createFromModelBuffer=function(e,t){return Tf(op,e,{baseOptions:{modelAssetBuffer:t}})},op.createFromOptions=function(e,t){return Tf(op,e,t)};var ip=class{constructor(e,t,n){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=n}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};ip.prototype.close=ip.prototype.close;var ap=class extends Gl{constructor(e){super(e)}},sp=[0,Tc,Tc,Tc],lp=[0,yc,yc,yc,yc,Ic],cp=[0,yc,yc,yc,yc,Ic,yc,yc],up=[0,Pc,cp],dp=[0,Pc,up,Pc,sp],hp=[0,Pc,cp,Pc,sp],fp=[0,Pc,cp,Tc,Tc],pp=[0,Pc,fp,Pc,sp],gp=[0,yc,yc,yc,yc,Ic,Pc,sp,Pc,sp],mp=[0,yc,yc,yc,yc,Ic,$c],vp=class extends Gl{constructor(e){super(e)}},bp=[0,yc,yc,Ic],yp=class extends Gl{constructor(){super()}};yp.B=[1];var wp=class extends Gl{constructor(e){super(e)}},xp=[1,2,3,4,5,6,7,8,9,10,14,15],Ep=[0,Nc,cp,xp,Nc,hp,xp,Nc,up,xp,Nc,dp,xp,Nc,bp,xp,Nc,mp,xp,Nc,lp,xp,Nc,[0,Mc,yc,yc,yc,Ic,Tc,Ic,Ic,yc,3,Pc,sp],xp,Nc,fp,xp,Nc,pp,xp,yc,Pc,sp,Mc,Nc,gp,xp,Nc,[0,Oc,bp],xp],Sp=[0,Mc,Tc,Tc,Ic],kp=class extends Gl{constructor(){super()}};kp.B=[1],kp.prototype.g=Vc([0,Oc,Ep,Mc,Pc,Sp]);var Cp=class extends Df{constructor(e,t){super(new Cf(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new ah,this.v=new nh,Il(this.h,0,3,this.v),e=new xd,Il(this.h,0,1,e)}get baseOptions(){return Tl(this.h,xd,1)}set baseOptions(e){Il(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 o="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 kp;const i=new wp;var a=new ap;if(Bl(a,1,255),Il(i,0,12,a),t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var s=new vp;Nl(s,3,!0),Ul(s,1,t.keypoint.x),Ul(s,2,t.keypoint.y),_l(i,5,xp,s)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");for(s of(a=new yp,t.scribble))Nl(t=new vp,3,!0),Ul(t,1,s.x),Ul(t,2,s.y),Dl(a,vp,t);_l(i,15,xp,a)}Dl(r,wp,i),this.g.addProtoToStream(r.g(),"drishti.RenderData","roi_in",n),Rf(this,e,o);e:{try{const e=new ip(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var l=e;break e}this.j(e)}finally{jh(this)}l=void 0}return l}m(){var e=new Cu;Su(e,"image_in"),Su(e,"roi_in"),Su(e,"norm_rect_in");const t=new iu;jl(t,sh,this.h);const n=new mu;fu(n,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),pu(n,"IMAGE:image_in"),pu(n,"ROI:roi_in"),pu(n,"NORM_RECT:norm_rect_in"),n.o(t),Eu(e,n),Uh(this,e),this.outputConfidenceMasks&&(ku(e,"confidence_masks"),gu(n,"CONFIDENCE_MASKS:confidence_masks"),$h(this,"confidence_masks"),this.g.R("confidence_masks",((e,t)=>{this.confidenceMasks=e.map((e=>_f(this,e,!this.j))),Bh(this,t)})),this.g.attachEmptyPacketListener("confidence_masks",(e=>{this.confidenceMasks=[],Bh(this,e)}))),this.outputCategoryMask&&(ku(e,"category_mask"),gu(n,"CATEGORY_MASK:category_mask"),$h(this,"category_mask"),this.g.P("category_mask",((e,t)=>{this.categoryMask=_f(this,e,!this.j),Bh(this,t)})),this.g.attachEmptyPacketListener("category_mask",(e=>{this.categoryMask=void 0,Bh(this,e)}))),ku(e,"quality_scores"),gu(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((e,t)=>{this.qualityScores=e,Bh(this,t)})),this.g.attachEmptyPacketListener("quality_scores",(e=>{this.categoryMask=void 0,Bh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Cp.prototype.segment=Cp.prototype.V,Cp.prototype.setOptions=Cp.prototype.o,Cp.createFromModelPath=function(e,t){return Tf(Cp,e,{baseOptions:{modelAssetPath:t}})},Cp.createFromModelBuffer=function(e,t){return Tf(Cp,e,{baseOptions:{modelAssetBuffer:t}})},Cp.createFromOptions=function(e,t){return Tf(Cp,e,t)};var Tp=class extends Df{constructor(e,t){super(new Cf(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},this.h=new lh,e=new xd,Il(this.h,0,1,e)}get baseOptions(){return Tl(this.h,xd,1)}set baseOptions(e){Il(this.h,0,1,e)}o(e){return void 0!==e.displayNamesLocale?hl(this.h,2,Us(e.displayNamesLocale)):"displayNamesLocale"in e&&hl(this.h,2),void 0!==e.maxResults?Bl(this.h,3,e.maxResults):"maxResults"in e&&hl(this.h,3),void 0!==e.scoreThreshold?Ul(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&hl(this.h,4),void 0!==e.categoryAllowlist?xl(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&hl(this.h,5),void 0!==e.categoryDenylist?xl(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&hl(this.h,6),this.l(e)}F(e,t){return this.j={detections:[]},Rf(this,e,t),this.j}D(e,t,n){return this.j={detections:[]},If(this,e,n,t),this.j}m(){var e=new Cu;Su(e,"input_frame_gpu"),Su(e,"norm_rect"),ku(e,"detections");const t=new iu;jl(t,ch,this.h);const n=new mu;fu(n,"mediapipe.tasks.vision.ObjectDetectorGraph"),pu(n,"IMAGE:input_frame_gpu"),pu(n,"NORM_RECT:norm_rect"),gu(n,"DETECTIONS:detections"),n.o(t),Eu(e,n),this.g.attachProtoVectorListener("detections",((e,t)=>{for(const t of e)e=qu(t),this.j.detections.push(yh(e));Bh(this,t)})),this.g.attachEmptyPacketListener("detections",(e=>{Bh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function Ap(e){e.landmarks=[],e.worldLandmarks=[],e.v=void 0}function Rp(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{jh(e)}}Tp.prototype.detectForVideo=Tp.prototype.D,Tp.prototype.detect=Tp.prototype.F,Tp.prototype.setOptions=Tp.prototype.o,Tp.createFromModelPath=async function(e,t){return Tf(Tp,e,{baseOptions:{modelAssetPath:t}})},Tp.createFromModelBuffer=function(e,t){return Tf(Tp,e,{baseOptions:{modelAssetBuffer:t}})},Tp.createFromOptions=function(e,t){return Tf(Tp,e,t)};var Ip=class extends Df{constructor(e,t){super(new Cf(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,this.h=new ph,e=new xd,Il(this.h,0,1,e),this.C=new hh,Il(this.h,0,3,this.C),this.j=new uh,Il(this.h,0,2,this.j),Bl(this.j,4,1),Ul(this.j,2,.5),Ul(this.C,2,.5),Ul(this.h,4,.5)}get baseOptions(){return Tl(this.h,xd,1)}set baseOptions(e){Il(this.h,0,1,e)}o(e){return"numPoses"in e&&Bl(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&Ul(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&Ul(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&Ul(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,Ap(this),Rf(this,e,r),Rp(this)}D(e,t,n,r){const o="function"!=typeof n?n:{};return this.s="function"==typeof n?n:r,Ap(this),If(this,e,o,t),Rp(this)}m(){var e=new Cu;Su(e,"image_in"),Su(e,"norm_rect"),ku(e,"normalized_landmarks"),ku(e,"world_landmarks"),ku(e,"segmentation_masks");const t=new iu;jl(t,mh,this.h);const n=new mu;fu(n,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),pu(n,"IMAGE:image_in"),pu(n,"NORM_RECT:norm_rect"),gu(n,"NORM_LANDMARKS:normalized_landmarks"),gu(n,"WORLD_LANDMARKS:world_landmarks"),n.o(t),Eu(e,n),Uh(this,e),this.g.attachProtoVectorListener("normalized_landmarks",((e,t)=>{this.landmarks=[];for(const t of e)e=Zu(t),this.landmarks.push(wh(e));Bh(this,t)})),this.g.attachEmptyPacketListener("normalized_landmarks",(e=>{this.landmarks=[],Bh(this,e)})),this.g.attachProtoVectorListener("world_landmarks",((e,t)=>{this.worldLandmarks=[];for(const t of e)e=Ku(t),this.worldLandmarks.push(xh(e));Bh(this,t)})),this.g.attachEmptyPacketListener("world_landmarks",(e=>{this.worldLandmarks=[],Bh(this,e)})),this.outputSegmentationMasks&&(gu(n,"SEGMENTATION_MASK:segmentation_masks"),$h(this,"segmentation_masks"),this.g.R("segmentation_masks",((e,t)=>{this.v=e.map((e=>_f(this,e,!this.s))),Bh(this,t)})),this.g.attachEmptyPacketListener("segmentation_masks",(e=>{this.v=[],Bh(this,e)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ip.prototype.detectForVideo=Ip.prototype.D,Ip.prototype.detect=Ip.prototype.F,Ip.prototype.setOptions=Ip.prototype.o,Ip.createFromModelPath=function(e,t){return Tf(Ip,e,{baseOptions:{modelAssetPath:t}})},Ip.createFromModelBuffer=function(e,t){return Tf(Ip,e,{baseOptions:{modelAssetBuffer:t}})},Ip.createFromOptions=function(e,t){return Tf(Ip,e,t)},Ip.POSE_CONNECTIONS=Ef([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]),Ti("module$exports$google3$third_party$mediapipe$tasks$web$vision$pose_landmarker$pose_landmarker.PoseLandmarker.POSE_CONNECTIONS",Ip.POSE_CONNECTIONS);var _p;function Dp(e,t,n,r){t.forEach((function(t){var o=t.keypoints.map((function(e){return[e.x,e.y]}));if(n){e.strokeStyle="#FF2C35",e.lineWidth=1;var i=t.box;!function(e,t,n){var r=new Path2D;r.moveTo(t[0][0],t[0][1]);for(var o=1;o<t.length;o++){var i=t[o];r.lineTo(i[0],i[1])}n&&r.closePath(),e.stroke(r)}(e,[[i.xMin,i.yMin],[i.xMax,i.yMin],[i.xMax,i.yMax],[i.xMin,i.yMax]],!0)}if(r){e.fillStyle="#32EEDB";for(var a=0;a<6;a++){var s=o[a][0],l=o[a][1];e.beginPath(),e.arc(s,l,3,0,2*Math.PI),e.fill()}}}))}function Fp(){return m(this,void 0,void 0,(function(){var e;return v(this,(function(t){switch(t.label){case 0:return _p?[2,_p]:[4,Rh.forVisionTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.6/wasm")];case 1:return e=t.sent(),[4,Ff.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,_p=t.sent()]}}))}))}var Mp,Lp,Pp=n.createContext({start:function(){return null},stop:function(){return null},onPredictionMade:function(){return null},canvasRef:{current:null},ready:!1}),Op=function(e){var t=e.autoStart,r=void 0===t||t,o=e.children,i=e.throttleMs,a=n.useContext(Gt),s=a.videoRef,l=a.videoLoaded,c=a.cameraReady,d=n.useRef(null),h=n.useRef(),f=n.useState(!1),p=f[0],b=f[1],y=n.useState(!1),w=y[0],x=y[1],E=n.useRef(null),S=n.useRef(0),k=n.useRef(0),C=n.useState(null),T=C[0],A=C[1];n.useEffect((function(){m(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:b(!1),n.label=1;case 1:return n.trys.push([1,3,,4]),e=E,[4,Fp()];case 2:return e.current=n.sent(),[3,4];case 3:return t=n.sent(),A(t),[3,4];case 4:return b(!0),[2]}}))}))}),[]),n.useEffect((function(){if(l&&c&&w&&p){var e;k.current+=1;var t=k.current;return m(void 0,void 0,void 0,(function(){var n,r,o,a;return v(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===(o=s.current)||void 0===o?void 0:o.videoWidth,d.current.height=null===(a=s.current)||void 0===a?void 0:a.videoHeight,null==n||n.translate(s.current.videoWidth,0),null==n||n.scale(-1,1)),[4,function r(){var o;return m(this,void 0,void 0,(function(){var a,l,c,u,d;return v(this,(function(f){switch(f.label){case 0:return E.current&&s.current&&t===k.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:a=s.current.videoWidth,l=s.current.videoHeight,null==n||n.drawImage(s.current,0,0,a,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,o,i,s,c,u,d,h,f,p,m,v,b,y;return{keypoints:e.keypoints.map((function(e){var t;return g(g({},e),{x:e.x*a,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!==(o=null===(r=e.boundingBox)||void 0===r?void 0:r.originX)&&void 0!==o?o:0)+(null!==(s=null===(i=e.boundingBox)||void 0===i?void 0:i.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!==(p=null===(f=e.boundingBox)||void 0===f?void 0:f.height)&&void 0!==p?p:0),width:null!==(v=null===(m=e.boundingBox)||void 0===m?void 0:m.width)&&void 0!==v?v:0,height:null!==(y=null===(b=e.boundingBox)||void 0===b?void 0:b.height)&&void 0!==y?y:0}}})),null===(o=h.current)||void 0===o||o.call(h,u),n&&Dp(n,u,!0,!0)),[3,6];case 5:return d=f.sent(),console.error("caught face detection error",d),[3,6];case 6:return i?e=setTimeout((function(){S.current=requestAnimationFrame(r)}),i):S.current=requestAnimationFrame(r),[2]}}))}))}()]):[2];case 1:return l.sent(),[2]}}))})),function(){S.current&&cancelAnimationFrame(S.current),e&&clearTimeout(e)}}}),[c,p,w,i,l,s]);var R=n.useCallback((function(){x(!0)}),[]),I=n.useCallback((function(){x(!1)}),[]);n.useEffect((function(){return r&&R(),function(){I()}}),[r,R,I]);var _=n.useCallback((function(e){h.current=e}),[]),D=n.useMemo((function(){return{start:R,stop:I,ready:p,canvasRef:d,onPredictionMade:_}}),[_,p,R,I]);return u.createElement(Pp.Provider,{value:D},T?u.createElement(Eo,{error:T}):o)},Np=h.default.div(Mp||(Mp=y(["\n position: absolute;\n top: calc(",");\n font-weight: bold;\n width: 100%;\n display: flex;\n"],["\n position: absolute;\n top: calc(",");\n font-weight: bold;\n width: 100%;\n display: flex;\n"])),(function(e){var t=e.$top;return null!=t?t:"10vh"})),Bp=h.default.div(Lp||(Lp=y(["\n margin-left: auto;\n margin-right: auto;\n background: ",";\n color: ",";\n padding: 10px 12px 8px;\n border-radius: 8px;\n"],["\n margin-left: auto;\n margin-right: auto;\n background: ",";\n color: ",";\n padding: 10px 12px 8px;\n border-radius: 8px;\n"])),(function(e){var t=e.$background;return null!=t?t:"#ccc"}),(function(e){var t=e.$textColor;return null!=t?t:"black"})),Up=function(e,t,r,o){var i=n.useState(!1),a=i[0],s=i[1],l=n.useState(),c=l[0],u=l[1];return n.useEffect((function(){if(e){u(new Date);var t=setTimeout((function(){s(!0)}),e);return function(){t&&clearTimeout(t)}}}),[e]),n.useEffect((function(){if(a&&!r){if(o){var e=setTimeout((function(){null==t||t()}),1e4);return function(){clearTimeout(e)}}null==t||t()}}),[t,o,a,r]),{timedOut:a,timeoutStartedAt:c}},$p={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},jp=function(e,t){switch(t.type){case"configure":return g(g({},e),{videoWidth:t.payload.videoWidth,videoHeight:t.payload.videoHeight});case"capturing":return g(g({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return g(g({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return g(g({},e),{capturing:!1,captured:!1,captureFailed:!0});case"facesDetected":var n=t.payload.faces,r=n[0],o=!0,i=!1,a=!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,p=.125*e.videoHeight,m=.2*r.box.width,v=.2*r.box.height,b=r.keypoints[2];b&&(o=Math.abs(e.videoWidth/2-d)>f||Math.abs(u+50-h)>p,i=Math.abs(d-b.x)>m||Math.abs(h-b.y)>v);var y=e.videoWidth<e.videoHeight;a=r.box.width>e.videoWidth/(y?2:4.5),s=r.box.width<e.videoWidth/(y?6:7)}var w=!(o||i||a||s);return w?e.faceReady||(l=new Date):(l=null,c=0),g(g({},e),{faces:n,faceNotCentered:o,faceLookingAway:i,faceTooClose:a,faceTooFar:s,faceReady:w,faceReadyAt:l,goodFramesCount:c})}},Gp=function(e){var t,r,o,i=e.onGuidanceSatisfied,a=e.onGuidanceNotSatisfied,s=e.onSelfieCaptured,l=e.onTimeout,u=e.onExit,d=e.timeoutDurationMs,h=void 0===d?15e3:d,f=e.guidanceMessage,p=e.guidanceSatisfied,g=e.colors,b=void 0===g?{}:g,y=e.verbiage,w=void 0===y?{}:y,x=e.debugMode,E=void 0!==x&&x,S=Ft(),k=S.ref,C=S.width,T=void 0===C?1:C,A=S.height,R=void 0===A?1:A,I=n.useReducer(jp,$p),_=I[0],D=I[1],F=n.useContext(Gt),M=F.cameraRef,L=F.cameraReady,P=F.takePhoto,O=F.videoRef,N=n.useContext(Pp).onPredictionMade;n.useEffect((function(){L&&O.current&&0!==O.current.videoWidth&&D({type:"configure",payload:{videoWidth:O.current.videoWidth,videoHeight:O.current.videoHeight}})}),[L,O]),n.useEffect((function(){N((function(e){D({type:"facesDetected",payload:{faces:e}})}))}),[N]);var B=n.useState(!1),U=B[0],$=B[1];n.useEffect((function(){var e;return _.faceReady?(null==i||i(),e=setTimeout((function(){$(!0)}),1e3)):null==a||a(),function(){e&&clearTimeout(e)}}),[a,i,_.faceReady]),n.useEffect((function(){m(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return U&&_.faces.length>0?[4,P()]:[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(),_.faces[0]]),n.label=4;case 4:n.label=5;case 5:return[2]}}))}))}),[U,s,_.faces,P]);var j=Up(h,l),G=j.timedOut,z=j.timeoutStartedAt,q=Go({enabled:E,pageWidth:T,pageHeight:R,videoWidth:_.videoWidth,videoHeight:_.videoHeight});b.guidesUnsatisfiedColor||(b.guidesUnsatisfiedColor="white"),b.guidesSatisfiedColor||(b.guidesSatisfiedColor="green"),b.guidanceMessagesUnsatisfiedBackgroundColor||(b.guidanceMessagesUnsatisfiedBackgroundColor="red"),b.guidanceMessagesSatisfiedBackgroundColor||(b.guidanceMessagesSatisfiedBackgroundColor="green"),b.guidanceMessagesUnsatisfiedTextColor||(b.guidanceMessagesUnsatisfiedTextColor="white"),b.guidanceMessagesSatisfiedTextColor||(b.guidanceMessagesSatisfiedTextColor="white");var V=si(w,{guidanceHoldStillText:"Hold still for a few seconds...",guidanceLookStraightText:"Look straight into the camera...",guidanceMoveBackText:"Move back...",guidanceMoveForwardText:"Move forward...",guidanceMoveToCenterText:"Move to the center..."});f||(f=_.faceReady?V.guidanceHoldStillText:_.faceLookingAway?V.guidanceLookStraightText:_.faceTooClose?V.guidanceMoveBackText:_.faceTooFar?V.guidanceMoveForwardText:_.faceNotCentered?V.guidanceMoveToCenterText:"");var W=_.faceReady;return"boolean"==typeof p&&(W=p),c.default.createElement(rt,{ref:k,className:"flex"},c.default.createElement(bi,null),c.default.createElement(ki,{borderColor:W?b.guidesSatisfiedColor:b.guidesUnsatisfiedColor}),""!==f&&c.default.createElement(Np,null,c.default.createElement(Bp,{$background:W?b.guidanceMessagesSatisfiedBackgroundColor:b.guidanceMessagesUnsatisfiedBackgroundColor,$textColor:W?b.guidanceMessagesSatisfiedTextColor:b.guidanceMessagesUnsatisfiedTextColor},f)),E&&_.faces.length>0&&c.default.createElement(Uo,{$flipX:!(null===(t=M.current)||void 0===t?void 0:t.isRearFacing)},_.faces.map((function(e,t){var n;return c.default.createElement(qo,{key:t,face:e,scaling:q,flipX:!(null===(n=M.current)||void 0===n?void 0:n.isRearFacing),color:W?"green":"red"})}))),E&&c.default.createElement(Bo,null,M.current?c.default.createElement(c.default.Fragment,null,"✅ Camera: ",null===(r=M.current)||void 0===r?void 0:r.width,"x",null===(o=M.current)||void 0===o?void 0:o.height):"❌ Camera not ready",c.default.createElement("br",null),_.faceNotCentered?"❌":"✅"," Face Centered",c.default.createElement("br",null),_.faceTooClose||_.faceTooFar?"❌":"✅"," Face"," ",_.faceTooClose?"Too Close":_.faceTooFar?"Too Far":"Distance Correct",c.default.createElement("br",null),_.faceLookingAway?"❌":"✅"," Face Looking Forward",c.default.createElement("br",null),_.goodFramesThresholdMet?"✅":"❌"," ",_.goodFramesCount," ","Good Frames",c.default.createElement("br",null),G?"❌":"✅"," Time Remaining:"," ",Math.max(0,h-((new Date).getTime()-(null!=z?z:new Date).getTime())),"ms"),c.default.createElement(Jo,{onClick:u},"×"))},zp={frame:null,face:null,requestState:"CAPTURING",requestError:null,imageUrl:null,faceLive:!1,eyeCoveringDetected:!1,maskDetected:!1,headCoveringDetected:!1,phoneDetected:!1,timesLivenessCheckFailed:0},qp=function(e,t){switch(t.type){case"livenessReady":return["CAPTURING","FAILED","ERROR"].includes(e.requestState)?g(g({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"livenessChecking":return g(g({},e),{requestState:"IN_PROGRESS"});case"livenessChecked":var n=t.payload.response,r=n.status,o=r.statusMessage,i=r.errorData,a=n.resultData;if("000"!==r.statusCode)return g(g({},e),{requestState:"ERROR",requestError:new Error("".concat(o,": ").concat(i))});var s="Live Face Detected"===a.verificationResult,l="true"===a.eyeCovering,c="true"===a.faceMask,u="true"===a.headCovering,d="true"===a.cellPhone,h=s&&!l&&!c&&!u,f=h?"PASSED":"FAILED",p=e.timesLivenessCheckFailed;return h?p=0:p+=1,g(g({},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:p});case"livenessCheckFailed":return g(g({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},Vp=function(e){var t=e.onCapture,r=e.onSuccess,o=e.onTimeout,i=e.onExit,a=e.timeoutDurationMs,s=void 0===a?15e3:a,l=e.colors,u=void 0===l?{}:l,d=e.verbiage,h=void 0===d?{}:d,f=e.debugMode,p=n.useContext(Ke).checkLiveness,g=n.useReducer(qp,zp),b=g[0],y=g[1],w=n.useState(null),x=w[0],E=w[1],S=n.useCallback((function(e,n){null==t||t(),y({type:"livenessReady",payload:{frame:e,face:n}})}),[t]),k=b.frame,C=b.face,T="CAPTURED"===b.requestState,A="PASSED"===b.requestState;n.useEffect((function(){k&&C&&T&&(y({type:"livenessChecking"}),m(void 0,void 0,void 0,(function(){var e,t,n,r;return v(this,(function(o){switch(o.label){case 0:return o.trys.push([0,3,,4]),e=xo(k,C),E(e),n=p,[4,Ze(e)];case 1:return[4,n.apply(void 0,[o.sent()])];case 2:return t=o.sent(),y({type:"livenessChecked",payload:{frame:k,face:C,imageUrl:e,response:t}}),[3,4];case 3:return r=o.sent(),y({type:"livenessCheckFailed",payload:{error:r}}),[3,4];case 4:return[2]}}))})))}),[p,C,k,T]),n.useEffect((function(){A&&b.imageUrl&&(null==r||r(b.imageUrl))}),[r,b.imageUrl,A]),n.useEffect((function(){b.timesLivenessCheckFailed>=2&&(null==o||o())}),[o,b.timesLivenessCheckFailed]),Up(s,o,"PASSED"===b.requestState,"IN_PROGRESS"===b.requestState);var R=si(h,{guidanceRemoveEyeCoveringsText:"Please remove your eye coverings (sunglasses, eye patch, etc.)...",guidanceRemoveHeadCoveringsText:"Please remove your head coverings (hat, scarf, etc.)...",guidanceRemoveMaskText:"Please remove your mask..."}),I=b.eyeCoveringDetected?R.guidanceRemoveEyeCoveringsText:b.headCoveringDetected?R.guidanceRemoveHeadCoveringsText:b.maskDetected?R.guidanceRemoveMaskText:void 0;return c.default.createElement(c.default.Fragment,null,c.default.createElement(Gp,{onSelfieCaptured:S,onExit:i,timeoutDurationMs:s,guidanceMessage:I,guidanceSatisfied:!I&&void 0,colors:u,verbiage:R,debugMode:f}),x&&c.default.createElement(ei,{imageUrl:x}))},Wp=function(e){var t=e.onDismissed,r=e.assets,o=void 0===r?{}:r,i=e.colors,a=void 0===i?{}:i,s=e.verbiage,l=void 0===s?{}:s,u=n.useContext(Gt),d=u.cameraReady,h=u.cameraAccessDenied,f=n.useContext(Pp).ready;o.instructionImageUrl||(o.instructionImageUrl="".concat(yo,"/Selfie-Image-1.png"));var p=si(l,{headingText:"Use your device camera to capture your face",removeEyeCoveringsText:"Remove Sunglasses & Hat",avoidExcessiveBacklightingText:"Avoid Excessive Backlighting",continueText:"Continue",cameraInitializingText:"Camera initializing...",modelsWarmingUpText:"Models warming up..."}),g=n.useState(!1),m=g[1];return g[0]?c.default.createElement(c.default.Fragment,null):h?c.default.createElement(pi,{assets:o.cameraAccessDenied,colors:a.cameraAccessDenied,verbiage:l.cameraAccessDenied}):c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("div",{style:{flexGrow:0}},c.default.createElement("h3",{style:{marginBottom:18}},p.headingText),c.default.createElement("div",{style:{background:"#ccc",maxWidth:"280px",margin:"0 auto 12px",borderRadius:8,lineHeight:1.5,padding:"12px 24px"}},p.removeEyeCoveringsText,c.default.createElement("br",null),p.avoidExcessiveBacklightingText)),c.default.createElement(ut,null,c.default.createElement("img",{alt:p.headingText,src:o.instructionImageUrl,style:{position:"relative",top:"5%"}})),c.default.createElement(St,{disabled:!d||!f,finished:d&&f,colors:a.continueBtn,onClick:function(){m(!0),null==t||t()}},d&&f?p.continueText:f?p.cameraInitializingText:p.modelsWarmingUpText),c.default.createElement("div",{style:{display:"none"}},c.default.createElement(bi,null))))},Hp=function(e){var t,n,r=e.imageUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,l=e.verbiage,u=void 0===l?{}:l;s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=si(u,{headingText:"Face liveness has been verified!",retryBtnText:"Retry",doneBtnText:"Done"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",{style:{marginBottom:24}},d.headingText),c.default.createElement(ut,null,c.default.createElement("img",{alt:d.headingText,src:r})),c.default.createElement("div",null,c.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),c.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},Kp=function(e){var t,n,r,o,i=e.canRetry,a=void 0===i||i,s=e.onRetryClick,l=e.onExitClick,u=e.assets,d=void 0===u?{}:u,h=e.colors,f=void 0===h?{}:h,p=e.verbiage,g=void 0===p?{}:p;d.imageUrl||(d.imageUrl="".concat(yo,"/manual_capture.png")),f.retryBtn||(f.retryBtn={}),(t=f.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=f.retryBtn).textColor||(n.textColor="white"),f.exitBtn||(f.exitBtn={}),(r=f.exitBtn).backgroundColor||(r.backgroundColor="#666"),(o=f.exitBtn).textColor||(o.textColor="white");var m=si(g,{headingText:"Live face not detected, please try again",retryBtnText:"Retry",exitBtnText:"Exit"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",{style:{marginBottom:24}},m.headingText),c.default.createElement(ut,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:m.headingText,src:d.imageUrl})),c.default.createElement("div",{style:{marginTop:24}},a&&c.default.createElement(St,{onClick:s,colors:f.retryBtn,style:{marginRight:15},finished:!0},m.retryBtnText),c.default.createElement(St,{onClick:l,colors:f.exitBtn,finished:!0},m.exitBtnText))))},Yp=function(e){var t=e.onComplete,r=e.onSuccess,o=e.onTimeout,i=e.onExitAfterFailure,a=e.timeoutDurationMs,s=void 0===a?15e3:a,l=e.maxRetries,u=void 0===l?2:l,d=e.skipSuccessScreen,h=void 0!==d&&d,f=e.assets,p=void 0===f?{}:f,g=e.colors,b=void 0===g?{}:g,y=e.verbiage,w=void 0===y?{}:y,x=e.debugMode,E=void 0!==x&&x,S=n.useContext(Ke),k=S.submissionResponse,C=S.setSelfieImage,T=S.logSelfieCaptureAttempt,A=n.useContext(Gt).releaseCameraAccess,R=n.useState(""),I=R[0],_=R[1],D=n.useState(0),F=D[0],M=D[1],L=n.useState("LOADING"),P=L[0],O=L[1],N=n.useRef(),B=n.useRef(),U=n.useRef();n.useEffect((function(){U.current=new Date}),[]),n.useEffect((function(){"CAPTURING"===P&&(N.current=new Date)}),[P]);var $=n.useCallback((function(){B.current=new Date}),[]),j=n.useCallback((function(){var e,t,n;T({autoCapture:"Y",captureTime:(null!==(e=B.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=N.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=U.current)&&void 0!==n?n:new Date).getTime()}),U.current=new Date}),[T]),G=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return O("SUCCESS"),_(e),t=C,[4,Ze(e)];case 1:return t.apply(void 0,[n.sent()]),null==r||r(k),[2]}}))}))}),[r,C,k]),z=n.useCallback((function(){O("FAILED"),null==o||o(k)}),[o,k]),q=n.useState(0),V=q[0],W=q[1],H=n.useCallback((function(){W((function(e){return e+1})),O("LOADING")}),[]),K=n.useCallback((function(){j(),A(),setTimeout((function(){null==t||t(k)}),0)}),[j,t,A,k]),Y=wi(h,"SUCCESS"===P,K);return c.default.createElement(c.default.Fragment,null,"LOADING"!==P&&function(){switch(P){case"CAPTURING":return c.default.createElement(Vp,{key:"capture".concat(V),onCapture:$,onSuccess:G,onTimeout:z,onExit:H,timeoutDurationMs:s,colors:b,verbiage:w,debugMode:E});case"SUCCESS":return Y?c.default.createElement(Hp,{key:"success",imageUrl:I,colors:b.success,verbiage:w.success,onDoneClick:K,onRetryClick:function(){j(),O("CAPTURING")}}):null;case"FAILED":return c.default.createElement(Kp,{key:"failure",assets:p.failure,colors:b.failure,verbiage:w.failure,canRetry:u>-1&&F<u,onRetryClick:function(){j(),M((function(e){return e+1})),O("CAPTURING")},onExitClick:function(){A(),setTimeout((function(){null==i||i(k)}),0)}});default:return null}}(),c.default.createElement(Wp,{key:V,assets:p.loadingOverlay,colors:b.loadingOverlay,verbiage:w.loadingOverlay,onDismissed:function(){O("CAPTURING")}}))};function Xp(){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 Jp,Zp=["front","avant","anteriore","cameraaanvoorzijde","kamerapåframsidan","forsidekamera","kamerapåforsiden","aparatprzedni","etukamera","kameradepan","ÖnKamera","cameramặttrước","camerăfață","prednákamera","prednjakamera","előlapikamera","přednífotoaparát","μπροστινήκάμερα","переднякамера","передняякамера","преднакамера","алдыңғыкамера","מצלמה קדמית","الكاميرا الأمامية","फ़्रंटकैमरा","前置相机","前置鏡頭","前面カメラ","전면카메라","กล้องด้านหน้า"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),Qp=["back","rear","posterior","trasera","traseira","arrière","rückkamera","fotocamera(posteriore)","cameraaanachterzijde","kamerapåbaksidan","kamerapåbaksiden","bagsidekamera","aparattylny","takakamera","arkakamera","kamerabelakang","cameramặtsau","camerăspate","stražnjakamera","zadnákamera","hátoldalikamera","zadnífotoaparát","πίσωκάμερα","заднякамера","Задняякамера","заднакамера","артқыкамера","מצלמה אחורית","الكاميرا الخلفية","बैककैमरा","后置相机","後置鏡頭","背面カメラ","후면카메라","กล้องด้านหลัง"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),eg=["backultrawidecamera","ultraampliaposterior","ultra-angulartraseira","ultragrandeangulartraseira","ultragrandangle","ultragranangular","ultra-weitwinkelkamera","ultra-grandangolo","ultrabredecameraaanachterzijde","ultravidvinkelkamerapåbaksidan","ultravidvinkelkameraetpåbagsiden","ultravidvinkelkamerabak","ultragenişkameraarkayüzü","ultralaajakulmainentakakamera","tylnyaparatultraszerokokątny","cameracựcrộngmặtsau","camerăcuobiectivultra‑superangularspate","ultraszéleslátószögűkamera","kameraultralebarbelakang","stražnjaultraširokakamera","zadníultraširokoúhlýfotoaparát","ultraširokouhlá","πίσωυπερευρείακάμερα","заднянадширококутнакамера","Задняясверхширокоугольнаякамера","Задна свръх широкоъгълна камера","артқыультракеңбұрыштыкамера","מצלמה אולטרה רחבה אחורית","كاميرا خلفية عريضة جدًا","बैकअल्ट्रावाइडकैमरा","后置超广角相机","後置超廣角鏡頭相機","背面超広角カメラ","후면울트라와이드카메라","กล้องด้านหลังอัลตร้าไวด์"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),tg=function(e,t){var n=e instanceof MediaDeviceInfo?ng(e):e;return("string"==typeof t?[t]:t).some((function(e){return n.includes(e)}))},ng=function(e){return e.label.toLocaleLowerCase().split(" ").join("")};function rg(){Jp&&(console.log("releasing camera access..."),Jp.release(),Jp=void 0)}var og=function(e){var t=void 0===e?{preferFrontFacingCamera:!1,preferContinuityCamera:!0,requestMicrophoneAccess:!1}:e,r=t.preferFrontFacingCamera,o=void 0!==r&&r,i=t.preferContinuityCamera,a=void 0===i||i,s=t.requestMicrophoneAccess,l=void 0!==s&&s,c=n.useRef(null),u=n.useRef(null),d=n.useState(null),h=d[0],f=d[1],p=n.useState(!1),g=p[0],y=p[1],w=n.useState(null),x=w[0],E=w[1],S=n.useState(!1),k=S[0],C=S[1],T=n.useState(a),A=T[0],R=T[1],I=n.useState(!1),_=I[0],D=I[1],F=n.useState(!1),M=F[0],L=F[1];n.useEffect((function(){console.log("iphone continuity camera allowed changed",A),rg(),u.current=null,y(!1)}),[A]);var P=n.useCallback((function(){L(!1)}),[]);n.useEffect((function(){M||function(e){return m(this,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,navigator.mediaDevices.getUserMedia({video:{facingMode:{exact:e}},audio:!1})];case 1:return t=r.sent(),[3,3];case 2:return r.sent(),[2,[]];case 3:return[4,navigator.mediaDevices.enumerateDevices()];case 4:return n=r.sent().filter((function(e){return"videoinput"===e.kind})),t.getVideoTracks().forEach((function(e){e.enabled=!1,e.stop()})),t=null,[2,n]}}))}))}().then((function(e){var t,n=We();if(!(_||n&&"OS X"!==n.os.family)){var r=e.find((function(e){return tg(e,"iphone")}));C(!!r),r&&A&&(t=r)}o&&(t=e.find((function(e){return tg(e,Zp)}))),Xp()?t||(t=e.find((function(e){return tg(e,eg)}))):t||(t=e.find((function(e){return tg(e,Qp)&&!tg(e,eg)}))),t||(t=e.find((function(e){return tg(e,Qp)}))),!o&&"iOS"===(null==n?void 0:n.os.family)&&e.length>0&&(t||(t=e[1])),t||(t=e[0]),f(t)})).catch((function(e){if("NotAllowedError"!==e.name)throw e;console.error("camera access has been blocked by the user",e),L(!0)}))}),[M,A,_,o]),n.useEffect((function(){var e;if(h){var t=function(){rg(),u.current=null,y(!1)};return(null===(e=navigator.mediaDevices)||void 0===e?void 0:e.getUserMedia)?(m(void 0,void 0,void 0,(function(){var e;return v(this,(function(t){switch(t.label){case 0:e=null,t.label=1;case 1:return t.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia({audio:l,video:{deviceId:{exact:h.deviceId},width:{ideal:1920},aspectRatio:1.777777778}})];case 2:return e=t.sent(),[3,4];case 3:return"NotAllowedError"===t.sent().name?(A?(C(!1),D(!0)):L(!0),[2]):[3,4];case 4:if(e)return[3,8];t.label=5;case 5:return t.trys.push([5,7,,8]),[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 6:return e=t.sent(),console.log("opened stream with no width and height constraints"),[3,8];case 7:return t.sent(),console.log("cannot open stream at all"),[3,8];case 8:if(!e)throw new Error("failed to open camera");return e.getVideoTracks()[0].onended=function(){var e;k&&A?(console.log("someone unplugged the continuity camera"),C(!1),D(!0)):(console.log("someone unplugged the webcam"),null===(e=u.current)||void 0===e||e.release(),u.current=null,y(!1),L(!0),E(null))},u.current=function(e,t,n){rg(),console.log("obtaining camera access...");var r=e.getVideoTracks()[0].getSettings(),o=r.width,i=r.height,a=t.toLocaleLowerCase().split(" ").join(""),s=tg(a,b(b(b([],Qp,!0),eg,!0),["iphone"],!1));return o||(o=0),i||(i=0),Jp={stream:e,width:o,height:i,isRearFacing:s,release:function(){e.getTracks().forEach((function(e){e.enabled=!1,e.stop()})),n&&(n.pause(),n.srcObject=null,n.src="")}},n&&(n.srcObject=e),Jp}(e,h.label,c.current),[2]}}))})),t):t}}),[A,k,l,h]),n.useEffect((function(){E(null),g&&m(void 0,void 0,void 0,(function(){var e,t,n,r;return v(this,(function(o){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])?(E(new ImageCapture(e)),[2]):[2]}))}))}),[g]);var O=n.useCallback((function(){return m(void 0,void 0,void 0,(function(){return v(this,(function(e){switch(e.label){case 0:return x?[4,x.grabFrame()]:[2,null];case 1:return[2,e.sent()]}}))}))}),[x]),N=n.useCallback((function(){return m(void 0,void 0,void 0,(function(){var e,t,n,r,o;return v(this,(function(i){switch(i.label){case 0:return e=document.createElement("canvas"),(t=e.getContext("2d"))&&u.current&&c.current?(e.width=null===(r=c.current)||void 0===r?void 0:r.videoWidth,e.height=null===(o=c.current)||void 0===o?void 0:o.videoHeight,t.drawImage(c.current,0,0,e.width,e.height),n=e.toDataURL("image/jpeg",.98),[4,fetch(n)]):[2,null];case 1:return[4,i.sent().blob()];case 2:return[2,i.sent()]}}))}))}),[]);return{videoRef:c,videoDevice:h,videoLoaded:g,setVideoLoaded:y,cameraRef:u,cameraAccessDenied:M,retryCameraAccess:P,releaseCameraAccess:rg,iphoneContinuityCameraAvailable:k,iphoneContinuityCameraAllowed:A,setIphoneContinuityCameraAllowed:R,captureDevice:x,grabFrame:O,takePhoto:N}},ig=function(e){var t=e.children,r=e.preferFrontFacingCamera,o=e.preferContinuityCamera,i=e.requestMicrophoneAccess,a=og({preferFrontFacingCamera:void 0!==r&&r,preferContinuityCamera:void 0===o||o,requestMicrophoneAccess:void 0!==i&&i}),s=a.videoRef,l=a.videoLoaded,u=a.setVideoLoaded,d=a.cameraRef,h=a.cameraAccessDenied,f=a.retryCameraAccess,p=a.releaseCameraAccess,g=a.iphoneContinuityCameraAvailable,m=a.iphoneContinuityCameraAllowed,v=a.setIphoneContinuityCameraAllowed,b=a.grabFrame,y=a.takePhoto,w=a.captureDevice,x=n.useState(!1),E=x[0],S=x[1];return n.useEffect((function(){S(!1),w&&S(!0)}),[w]),n.useEffect((function(){return function(){p()}}),[p]),c.default.createElement(Gt.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:b,takePhoto:y}},t)},ag=function(e){var t=e.children,r=n.useState({width:1,height:1}),o=r[1],i=n.useState(1),a=i[0],s=i[1],l=Ft(),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(Mt.Provider,{value:{orientation:"landscape",wrapperWidth:h,wrapperHeight:p,wrapperAspectRatio:g,imageAspectRatio:a,setDimensions:o,wrapperRef:u,onImageLoaded:m}},t)},sg=function(){var e=n.useContext(Ke),t=e.submissionRequest,r=e.submissionResponse,o=n.useState(!1),i=o[0],a=o[1],s=n.useState(!0),l=s[0],u=s[1],d=n.useMemo((function(){var e,n,r,o,i,a,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=lg(s.customerData.idData.idImageFront,200)),(null===(o=null===(r=null==s?void 0:s.customerData)||void 0===r?void 0:r.idData)||void 0===o?void 0:o.idImageBack)&&(s.customerData.idData.idImageBack=lg(s.customerData.idData.idImageBack,200)),(null===(a=null===(i=null==s?void 0:s.customerData)||void 0===i?void 0:i.biometricData)||void 0===a?void 0:a.selfie)&&(s.customerData.biometricData.selfie=lg(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(){a(!i)}},i?"Hide":"Show"," request body"),i&&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 lg(e,t){var n=e.split("").splice(0,t).join("");return n.length<e.length&&(n+="..."),n}var cg=function(e){var t=e.document,r=e.onComplete,o=e.verbiage,i=void 0===o?{}:o,a=n.useState(null),s=a[0],l=a[1],u=si(i,{headingText:"Additional document capture",nextBtnText:"Next"});return c.default.createElement(lt,null,c.default.createElement(ct,{style:{textAlign:"left"}},c.default.createElement("h3",{style:{margin:"0 0 8px"}},u.headingText,": ",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&&l(n)}})),c.default.createElement("p",{style:{margin:"8px 0"}},c.default.createElement("button",{disabled:!s,onClick:function(e){if(e.preventDefault(),s){var n=new FileReader;n.onloadend=function(){if(n.result){var e=n.result.toString();null==r||r({documentName:t.name,additionalDocument:{name:s.name,fileContent:Qe(e),type:et(e),fileUploadType:"Y",isImageControlData:"N",fieldId:""}})}},n.readAsDataURL(s)}}},u.nextBtnText))))},ug=function(e){var t=e.documents,r=e.onComplete,o=e.verbiage,i=void 0===o?{}:o,a=n.useState([]),s=a[0],l=a[1],u=s.length,d=t[u],h=u>=t.length;return n.useEffect((function(){(null==d?void 0:d.skip)&&m(void 0,void 0,void 0,(function(){var e;return v(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 b(b([],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(cg,{key:u,document:d,verbiage:i,onComplete:function(e){l((function(t){return b(b([],t,!0),[e],!1)}))}})},dg="function"==typeof Symbol&&Symbol.for,hg=dg?Symbol.for("react.element"):60103,fg=dg?Symbol.for("react.portal"):60106,pg=dg?Symbol.for("react.fragment"):60107,gg=dg?Symbol.for("react.strict_mode"):60108,mg=dg?Symbol.for("react.profiler"):60114,vg=dg?Symbol.for("react.provider"):60109,bg=dg?Symbol.for("react.context"):60110,yg=dg?Symbol.for("react.async_mode"):60111,wg=dg?Symbol.for("react.concurrent_mode"):60111,xg=dg?Symbol.for("react.forward_ref"):60112,Eg=dg?Symbol.for("react.suspense"):60113,Sg=dg?Symbol.for("react.suspense_list"):60120,kg=dg?Symbol.for("react.memo"):60115,Cg=dg?Symbol.for("react.lazy"):60116,Tg=dg?Symbol.for("react.block"):60121,Ag=dg?Symbol.for("react.fundamental"):60117,Rg=dg?Symbol.for("react.responder"):60118,Ig=dg?Symbol.for("react.scope"):60119;function _g(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case hg:switch(e=e.type){case yg:case wg:case pg:case mg:case gg:case Eg:return e;default:switch(e=e&&e.$$typeof){case bg:case xg:case Cg:case kg:case vg:return e;default:return t}}case fg:return t}}}function Dg(e){return _g(e)===wg}var Fg={AsyncMode:yg,ConcurrentMode:wg,ContextConsumer:bg,ContextProvider:vg,Element:hg,ForwardRef:xg,Fragment:pg,Lazy:Cg,Memo:kg,Portal:fg,Profiler:mg,StrictMode:gg,Suspense:Eg,isAsyncMode:function(e){return Dg(e)||_g(e)===yg},isConcurrentMode:Dg,isContextConsumer:function(e){return _g(e)===bg},isContextProvider:function(e){return _g(e)===vg},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===hg},isForwardRef:function(e){return _g(e)===xg},isFragment:function(e){return _g(e)===pg},isLazy:function(e){return _g(e)===Cg},isMemo:function(e){return _g(e)===kg},isPortal:function(e){return _g(e)===fg},isProfiler:function(e){return _g(e)===mg},isStrictMode:function(e){return _g(e)===gg},isSuspense:function(e){return _g(e)===Eg},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===pg||e===wg||e===mg||e===gg||e===Eg||e===Sg||"object"==typeof e&&null!==e&&(e.$$typeof===Cg||e.$$typeof===kg||e.$$typeof===vg||e.$$typeof===bg||e.$$typeof===xg||e.$$typeof===Ag||e.$$typeof===Rg||e.$$typeof===Ig||e.$$typeof===Tg)},typeOf:_g};ie((function(e,t){}));ie((function(e){e.exports=Fg}));function Mg(){}function Lg(){}Lg.resetWarningCache=Mg;var Pg=ie((function(e){e.exports=function(){function e(e,t,n,r,o,i){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==i){var a=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 a.name="Invariant Violation",a}}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:Lg,resetWarningCache:Mg};return n.PropTypes=n,n}()}));function Og(e,t,n){this.x=e,this.y=t,this.time=n||(new Date).getTime()}function Ng(e,t,n,r){this.startPoint=e,this.control1=t,this.control2=n,this.endPoint=r}function Bg(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,o,i,a=null,s=0;n||(n={});var l=function(){s=!1===n.leading?0:Date.now(),a=null,i=e.apply(r,o),a||(r=o=null)};return function(){var c=Date.now();s||!1!==n.leading||(s=c);var u=t-(c-s);return r=this,o=arguments,u<=0||u>t?(a&&(clearTimeout(a),a=null),s=c,i=e.apply(r,o),a||(r=o=null)):a||!1===n.trailing||(a=setTimeout(l,u)),i}}(Bg.prototype._strokeUpdate,this.throttle):Bg.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()}Og.prototype.velocityFrom=function(e){return this.time!==e.time?this.distanceTo(e)/(this.time-e.time):1},Og.prototype.distanceTo=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))},Og.prototype.equals=function(e){return this.x===e.x&&this.y===e.y&&this.time===e.time},Ng.prototype.length=function(){for(var e=0,t=void 0,n=void 0,r=0;r<=10;r+=1){var o=r/10,i=this._point(o,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),a=this._point(o,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(r>0){var s=i-t,l=a-n;e+=Math.sqrt(s*s+l*l)}t=i,n=a}return e},Ng.prototype._point=function(e,t,n,r,o){return t*(1-e)*(1-e)*(1-e)+3*n*(1-e)*(1-e)*e+3*r*(1-e)*e*e+o*e*e*e},Bg.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},Bg.prototype.fromDataURL=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=new Image,o=n.ratio||window.devicePixelRatio||1,i=n.width||this._canvas.width/o,a=n.height||this._canvas.height/o;this._reset(),r.src=e,r.onload=function(){t._ctx.drawImage(r,0,0,i,a)},this._isEmpty=!1},Bg.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),o=1;o<n;o++)r[o-1]=arguments[o];return(t=this._canvas).toDataURL.apply(t,[e].concat(r))},Bg.prototype.on=function(){this._handleMouseEvents(),this._handleTouchEvents()},Bg.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)},Bg.prototype.isEmpty=function(){return this._isEmpty},Bg.prototype._strokeBegin=function(e){this._data.push([]),this._reset(),this._strokeUpdate(e),"function"==typeof this.onBegin&&this.onBegin(e)},Bg.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],o=r&&t.distanceTo(r)<this.minDistance;if(!r||!o){var i=this._addPoint(t),a=i.curve,s=i.widths;a&&s&&this._drawCurve(a,s.start,s.end),this._data[this._data.length-1].push({x:t.x,y:t.y,time:t.time,color:this.penColor})}},Bg.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)},Bg.prototype._handleMouseEvents=function(){this._mouseButtonDown=!1,this._canvas.addEventListener("mousedown",this._handleMouseDown),this._canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)},Bg.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)},Bg.prototype._reset=function(){this.points=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor},Bg.prototype._createPoint=function(e,t,n){var r=this._canvas.getBoundingClientRect();return new Og(e-r.left,t-r.top,n||(new Date).getTime())},Bg.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 o=new Ng(t[1],r,n.c1,t[2]),i=this._calculateCurveWidths(o);return t.shift(),{curve:o,widths:i}}return{}},Bg.prototype._calculateCurveControlPoints=function(e,t,n){var r=e.x-t.x,o=e.y-t.y,i=t.x-n.x,a=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+o*o),h=Math.sqrt(i*i+a*a),f=h/(d+h),p=t.x-(c+(s-c)*f),g=t.y-(u+(l-u)*f);return{c1:new Og(s+p,l+g),c2:new Og(c+p,u+g)}},Bg.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},Bg.prototype._strokeWidth=function(e){return Math.max(this.maxWidth/(e+1),this.minWidth)},Bg.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},Bg.prototype._drawCurve=function(e,t,n){var r=this._ctx,o=n-t,i=Math.floor(e.length());r.beginPath();for(var a=0;a<i;a+=1){var s=a/i,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*o)}r.closePath(),r.fill()},Bg.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()},Bg.prototype._fromData=function(e,t,n){for(var r=0;r<e.length;r+=1){var o=e[r];if(o.length>1)for(var i=0;i<o.length;i+=1){var a=o[i],s=new Og(a.x,a.y,a.time),l=a.color;if(0===i)this.penColor=l,this._reset(),this._addPoint(s);else if(i!==o.length-1){var c=this._addPoint(s),u=c.curve,d=c.widths;u&&d&&t(u,d,l)}}else this._reset(),n(o[0])}},Bg.prototype._toSVG=function(){var e=this,t=this._data,n=this._canvas,r=Math.max(window.devicePixelRatio||1,1),o=n.width/r,i=n.height/r,a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttributeNS(null,"width",n.width),a.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 o="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",o),r.setAttribute("stroke-width",(2.25*t.end).toFixed(3)),r.setAttribute("stroke",n),r.setAttribute("fill","none"),r.setAttribute("stroke-linecap","round"),a.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),a.appendChild(n)}));var s='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 '+o+" "+i+'" width="'+o+'" height="'+i+'">',l=a.innerHTML;if(void 0===l){var c=document.createElement("dummy"),u=a.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>")},Bg.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},Bg.prototype.toData=function(){return this._data};var Ug=Object.freeze({__proto__:null,default:Bg}),$g=ie((function(e,t){e.exports=function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.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,o=t.getImageData(0,0,n,r).data,s=i(!0,n,r,o),l=i(!1,n,r,o),c=a(!0,n,r,o),u=a(!1,n,r,o)-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 o(e,t,n,o){return r(e,t,n,o).alpha}function i(e,t,n,r){for(var i=e?1:-1,a=e?0:n-1;e?a<n:a>-1;a+=i)for(var s=0;s<t;s++)if(o(s,a,t,r))return a;return null}function a(e,t,n,r){for(var i=e?1:-1,a=e?0:t-1;e?a<t:a>-1;a+=i)for(var s=0;s<n;s++)if(o(a,s,t,r))return a;return null}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n}])}));oe($g);var jg=function(e){return e&&e.default||e}(Ug),Gg=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 o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.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 o(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 i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(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;i(this,t);for(var s=arguments.length,l=Array(s),c=0;c<s;c++)l[c]=arguments[c];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),r._sigPad=null,r._excludeOurProps=function(){var e=r.props;return o(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 o=r._canvas,i=Math.max(window.devicePixelRatio||1,1);t||(o.width=o.offsetWidth*i),n||(o.height=o.offsetHeight*i),o.getContext("2d").scale(i,i),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()},a(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}])}(Pg,c.default,jg,$g)})),zg=oe(Gg);function qg(e){var t,n=null!==(t=e.toDataURL())&&void 0!==t?t:null,r={clickX_simple:[],clickY_simple:[],time_simple:[],pressure:"",fileContent:n?Qe(n):""};return e.toData().forEach((function(e){var t=[],n=[],o=[];e.forEach((function(e){t.push(e.x),n.push(e.y),o.push(new Date(e.time).toString())})),r.clickX_simple.push(t),r.clickY_simple.push(n),r.time_simple.push(o)})),r}var Vg,Wg,Hg,Kg,Yg,Xg=h.default.div(Vg||(Vg=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"]))),Jg=h.default.div(Wg||(Wg=y(["\n position: relative;\n background: rgba(255, 255, 255, 0.5);\n border-radius: 16px;\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"],["\n position: relative;\n background: rgba(255, 255, 255, 0.5);\n border-radius: 16px;\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"]))),Zg=h.default.div(Hg||(Hg=y(["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"],["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"]))),Qg=h.default.div(Kg||(Kg=y(["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #e5e5f7;\n opacity: 0.8;\n background-image: radial-gradient(#444cf7 0.5px, transparent 0.5px),\n radial-gradient(#444cf7 0.5px, #e5e5f7 0.5px);\n background-size: 20px 20px;\n background-position: 0 0, 10px 10px;\n"],["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #e5e5f7;\n opacity: 0.8;\n background-image: radial-gradient(#444cf7 0.5px, transparent 0.5px),\n radial-gradient(#444cf7 0.5px, #e5e5f7 0.5px);\n background-size: 20px 20px;\n background-position: 0 0, 10px 10px;\n"]))),em=function(e){var t=e.onAccept,r=e.verbiage,o=void 0===r?{}:r,i=Ft(),a=i.ref,s=i.width,l=i.height,u=n.useRef(null),d=si(o,{headingText:"Please sign the box below",acceptBtnText:"Accept",clearBtnText:"Clear"});return c.default.createElement(rt,null,c.default.createElement(Qg,null,c.default.createElement(Np,{$top:"5vh"},c.default.createElement(Bp,null,d.headingText)),c.default.createElement(Xg,null,c.default.createElement(Jg,{ref:a},c.default.createElement(zg,{ref:u,canvasProps:{width:s,height:l}})),c.default.createElement(Zg,null,c.default.createElement("button",{onClick:function(e){var t;e.preventDefault(),null===(t=u.current)||void 0===t||t.clear()}},d.clearBtnText),c.default.createElement("button",{style:{marginLeft:"auto"},onClick:function(e){if(e.preventDefault(),u.current){var n=qg(u.current);null==t||t(n,u.current.toDataURL())}}},d.acceptBtnText)))))},tm=function(e){var t,r,o=e.onVideoCaptured,i=e.onFaceNotDetected,a=e.onExit,s=e.colors,l=void 0===s?{}:s,u=e.verbiage,d=void 0===u?{}:u,h=e.debugMode,f=void 0!==h&&h,p=n.useContext(Gt),g=p.cameraRef,y=p.videoRef,w=Ft(),x=w.ref,E=w.width,S=w.height,k=n.useRef(null),C=n.useRef(null),T=n.useRef([]),A=n.useState(null),R=A[0],I=A[1],_=n.useContext(Pp).onPredictionMade,D=function(e){var t=n.useRef(null),r=n.useRef([]),o=n.useState(null),i=o[0],a=o[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=[],a(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:i}}(g.current),F=D.isRecording,M=D.startRecording,L=D.stopRecording,P=D.videoUrl,O=n.useState(null),N=O[0],B=O[1],U=n.useState(null),$=U[0],j=U[1],G=n.useState(null),z=G[0],q=G[1];l.guidanceMessageBackgroundColor||(l.guidanceMessageBackgroundColor="#ccc"),l.guidanceMessageTextColor||(l.guidanceMessageTextColor="black");var V=si(d,{guidanceMessageText:"Please sign the box below",acceptBtnText:"Accept",clearBtnText:"Clear"}),W=n.useRef(null);n.useEffect((function(){setTimeout((function(){if(!F&&!P&&W.current){M();var e=W.current.captureStream(25);C.current=new MediaRecorder(e,{}),C.current.start(),C.current.ondataavailable=function(e){var t;T.current.push(e.data),"recording"===(null===(t=C.current)||void 0===t?void 0:t.state)&&C.current.stop()},C.current.onstop=function(){var e=new Blob(T.current,{type:"video/mp4"});q(e);var t=URL.createObjectURL(e);I(t)}}}),100)}),[F,M,P]),n.useEffect((function(){z&&N&&$&&(null==o||o(z,N,$))}),[o,N,$,z]);var H=n.useRef(0);n.useEffect((function(){var e;if(k.current&&y.current&&W.current&&g.current&&F){var t=[g.current.width,g.current.height],n=t[0],r=t[1],o=window.innerWidth<window.innerHeight;o&&n>r&&(n=(e=[r,n])[0],r=e[1]),W.current.width=n,W.current.height=r;var i=W.current.getContext("2d");if(i)return H.current=requestAnimationFrame((function e(){return m(this,void 0,void 0,(function(){var t;return v(this,(function(a){return k.current&&y.current&&W.current?(t=[n*(o?.02:.15),r*(o?.15:.25),n*(o?.96:.7),r*(o?.7:.5)],i.drawImage(y.current,0,0,n,r),i.beginPath(),i.fillStyle="rgba(255,255,255,0.5)",i.roundRect.apply(i,b(b([],t,!1),[16],!1)),i.fill(),i.drawImage.apply(i,b([k.current.getCanvas()],t,!1)),H.current=requestAnimationFrame(e),[2]):(cancelAnimationFrame(H.current),[2])}))}))})),function(){cancelAnimationFrame(H.current)}}}),[g,F,i,y]);var K=n.useState(0),Y=K[0],X=K[1];return n.useEffect((function(){_((function(e){X((function(t){return 0===e.length?t+1:0}))}))}),[_]),n.useEffect((function(){Y>=2&&(null==i||i())}),[Y,i]),!F&&P?c.default.createElement(c.default.Fragment,null,R&&c.default.createElement("video",{src:R,controls:!0,width:"100%"}),$&&c.default.createElement("img",{src:$,alt:"signature"}),N&&c.default.createElement("textarea",{readOnly:!0,style:{width:"100%",height:500},value:JSON.stringify(N,null,2)})):c.default.createElement(rt,{className:"flex"},c.default.createElement(bi,null),V.guidanceMessageText&&c.default.createElement(Np,{$top:"5vh"},c.default.createElement(Bp,{$background:l.guidanceMessageBackgroundColor,$textColor:l.guidanceMessageTextColor},V.guidanceMessageText)),c.default.createElement(Xg,null,c.default.createElement(Jg,{ref:x},c.default.createElement(zg,{ref:k,canvasProps:{width:E,height:S}})),c.default.createElement(Zg,null,c.default.createElement("button",{onClick:function(e){var t;e.preventDefault(),null===(t=k.current)||void 0===t||t.clear()}},V.clearBtnText),c.default.createElement("button",{style:{marginLeft:"auto"},onClick:function(e){var t;if(e.preventDefault(),k.current){var n=qg(k.current);B(n),j(k.current.toDataURL()),L(),null===(t=C.current)||void 0===t||t.stop()}}},V.acceptBtnText))),f&&c.default.createElement(Bo,null,"Video: ",null===(t=g.current)||void 0===t?void 0:t.width,"x",null===(r=g.current)||void 0===r?void 0:r.height),c.default.createElement(Jo,{onClick:a},"×"),c.default.createElement("div",{style:{display:"none"}},c.default.createElement("canvas",{ref:W})))},nm=function(e){var t=e.assets,n=e.verbiage;return c.default.createElement(Wp,{assets:void 0===t?{}:t,verbiage:void 0===n?{}:n,onDismissed:e.onDismissed})},rm=function(e){var t,n,r=e.videoUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,l=e.verbiage,u=void 0===l?{}:l;s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=si(u,{headingText:"Video signature has been successfully captured!",retryBtnText:"Retry",doneBtnText:"Done"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h1",null,d.headingText),c.default.createElement(ut,null,c.default.createElement(om,{src:r,poster:r+"#t=0.1",controls:!0,preload:"metadata",autoPlay:!0})),c.default.createElement("div",null,c.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),c.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},om=h.default.video(Yg||(Yg=y(["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"],["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"]))),im=function(e){var t=e.onComplete,r=e.onVideoCaptured,o=e.onRetryClicked,i=e.skipSuccessScreen,a=void 0!==i&&i,s=e.assets,l=void 0===s?{}:s,u=e.colors,d=void 0===u?{}:u,h=e.verbiage,f=void 0===h?{}:h,p=e.debugMode,g=void 0!==p&&p,b=n.useContext(Ke),y=b.selfieImage,w=b.signatureVideo,x=b.setSelfieImage,E=b.setSignatureData,S=b.setSignatureVideo,k=b.logSelfieCaptureAttempt,C=n.useState("LOADING"),T=C[0],A=C[1],R=n.useRef(),I=n.useRef(),_=n.useRef();n.useEffect((function(){R.current=new Date}),[]),n.useEffect((function(){"CHECKING_LIVENESS"===T&&(I.current=new Date)}),[T]);var D=n.useCallback((function(){var e,t,n;k({autoCapture:"Y",captureTime:(null!==(e=_.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=I.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=R.current)&&void 0!==n?n:new Date).getTime()}),R.current=new Date}),[k]),F=n.useCallback((function(){A("CHECKING_LIVENESS")}),[]),M=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return A("CAPTURING_SIGNATURE"),D(),y?[3,2]:(t=x,[4,Ze(e)]);case 1:t.apply(void 0,[n.sent()]),n.label=2;case 2:return[2]}}))}))}),[D,y,x]),L=n.useCallback((function(e,t,n){E(t),S(URL.createObjectURL(e)),A("SUCCESS"),null==r||r(e,t,n)}),[r,E,S]),P=n.useCallback((function(){A("CHECKING_LIVENESS")}),[]),O=n.useState(0),N=O[0],B=O[1],U=n.useCallback((function(){B((function(e){return e+1})),A("LOADING")}),[]),$=n.useCallback((function(){null==o||o(),U()}),[U,o]),j=wi(a,"SUCCESS"===T,t);return c.default.createElement(Op,{throttleMs:"CAPTURING_SIGNATURE"===T?250:0},"LOADING"!==T&&function(){switch(T){case"CHECKING_LIVENESS":return c.default.createElement(Vp,{onSuccess:M,onExit:U,colors:d.faceLiveness,verbiage:f.faceLiveness,debugMode:g});case"CAPTURING_SIGNATURE":return c.default.createElement(tm,{onVideoCaptured:L,onFaceNotDetected:P,onExit:U,colors:d,verbiage:f,debugMode:g});case"SUCCESS":if(!j)return;return c.default.createElement(rm,{videoUrl:null!=w?w:"",onDoneClick:t,onRetryClick:$,colors:d.success,verbiage:f.success});default:return null}}(),c.default.createElement(nm,{key:N,onDismissed:F,assets:l.loadingOverlay,verbiage:f.loadingOverlay}))},am=function(e){var t,r,o,i,a,s=e.checks,l=e.idCaptureProps,u=void 0===l?{}:l,d=e.faceLivenessProps,h=void 0===d?{}:d,f=e.signatureCaptureProps,p=void 0===f?{}:f,m=e.videoSignatureCaptureProps,v=void 0===m?{}:m,y=e.additionalDocumentCaptureProps,w=e.captureSignature,x=void 0!==w&&w,E=e.captureSignatureVideo,S=void 0!==E&&E,k=e.debugMode,C=void 0!==k&&k,T=n.useContext(Ke),A=T.submit,R=T.submissionStatus,I=T.setSignatureData,_=T.setAdditionalDocuments,D=n.useState(0),F=D[0],M=D[1],L=n.useMemo((function(){var e,t,n=b([],s,!0);if(x&&S)throw new Error("captureSignature and captureSignatureVideo cannot be used together");return x&&n.push("SignatureCapture"),S&&(n.push("VideoSignatureCapture"),n.includes("FaceLiveness")&&n.splice(n.indexOf("FaceLiveness"),1)),null!==(t=null===(e=null==y?void 0:y.documents)||void 0===e?void 0:e.length)&&void 0!==t&&t&&n.push("AdditionalDocumentCapture"),n}),[null===(t=null==y?void 0:y.documents)||void 0===t?void 0:t.length,x,S,s]),P=L[F],O=F>=L.length;n.useEffect((function(){"SignatureCapture"===P&&"function"==typeof x?x().then((function(e){e||M((function(e){return e+1}))})):"VideoSignatureCapture"===P&&"function"==typeof S&&S().then((function(e){e||M((function(e){return e+1}))}))}),[x,S,P]),n.useEffect((function(){O&&A()}),[O,A]);var N=u.onSuccess,B=n.useCallback((function(e){null==N||N(e),M((function(e){return e+1}))}),[N]),U=h.onComplete,$=n.useCallback((function(e){null==U||U(e),M((function(e){return e+1}))}),[U]),j=n.useCallback((function(e){I(e),M((function(e){return e+1}))}),[I]),G=v.onComplete,z=n.useCallback((function(){null==G||G(),M((function(e){return e+1}))}),[G]),q=n.useState(0),V=q[0],W=q[1],H=v.onRetryClicked,K=n.useCallback((function(){null==H||H(),W((function(e){return e+1}))}),[H]),Y=null==y?void 0:y.onComplete,X=n.useCallback((function(e){_(e),null==Y||Y(e),M((function(e){return e+1}))}),[Y,_]),J=n.useMemo((function(){var e;return null!==(e=null==y?void 0:y.documents)&&void 0!==e?e:[]}),[null==y?void 0:y.documents]);if(O)switch(R){case qe.SUBMITTING:return c.default.createElement(rt,{className:"flex"},c.default.createElement(Zo,null));case qe.SUBMITTED:return c.default.createElement(sg,null);case qe.FAILED:return c.default.createElement(c.default.Fragment,null,"Submission failed!");default:return c.default.createElement(c.default.Fragment,null,"Complete!!")}switch(L[F]){case"IdCapture":return c.default.createElement(Ao,{documentDetectionModelUrl:null!==(o=null===(r=u.assets)||void 0===r?void 0:r.documentDetectionModelUrl)&&void 0!==o?o:"",focusModelUrl:null!==(a=null===(i=u.assets)||void 0===i?void 0:i.focusModelUrl)&&void 0!==a?a:"",logPredictions:C},c.default.createElement(ig,{key:"IdCaptureCamera"},c.default.createElement(ag,null,c.default.createElement(Si,g({},u,{onSuccess:B})))));case"FaceLiveness":return c.default.createElement(ig,{key:"FaceLivenessCamera",preferFrontFacingCamera:!0,preferContinuityCamera:!1},c.default.createElement(Op,null,c.default.createElement(Yp,g({},h,{onComplete:$}))));case"SignatureCapture":return c.default.createElement(em,g({},p,{onAccept:j}));case"VideoSignatureCapture":return c.default.createElement(ig,{key:"SignatureKycCamera-".concat(V),preferContinuityCamera:!1,preferFrontFacingCamera:!0},c.default.createElement(im,g({},v,{onComplete:z,onRetryClicked:K})));case"AdditionalDocumentCapture":return c.default.createElement(ug,g({},y,{documents:J,onComplete:X}));default:return c.default.createElement(c.default.Fragment,null)}},sm=function(e){var t=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,l=e.manualReviewRequired,u=e.verifyIdWithExternalDatabases,d=e.personalData,h=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,m=e.idAutoCaptureEnabled,v=void 0===m||m,b=e.idCardAutoCaptureScoreThreshold,y=void 0===b?.8:b,w=e.passportAutoCaptureScoreThreshold,x=void 0===w?.8:w,E=e.idCardFocusScoreThreshold,S=void 0===E?.3:E,k=e.passportFocusScoreThreshold,C=void 0===k?.3:k,T=e.skipSuccessScreen,A=void 0!==T&&T,R=e.onBeforeSubmit,I=e.onComplete,_=e.onApproved,D=e.onDenied,F=e.assets,M=void 0===F?{}:F,L=e.colors,P=void 0===L?{}:L,O=e.verbiage,N=void 0===O?{}:O,B=e.captureSignature,U=void 0!==B&&B,$=e.captureSignatureVideo,j=void 0!==$&&$,G=e.captureAdditionalDocuments,z=void 0===G?[]:G,q=e.geolocationEnabled,V=void 0===q||q,W=e.geolocationRequired,H=void 0!==W&&W,K=e.debugMode,Y=void 0!==K&&K;ii(void 0===t?"auto":t);var X=n.useMemo((function(){return{autoCaptureEnabled:v,idCardAutoCaptureScoreThreshold:y,passportAutoCaptureScoreThreshold:x,mrzDetectionScoreThreshold:.5,idCardFocusScoreThreshold:S,passportFocusScoreThreshold:C,barcodeScanningEnabled:!1,skipSuccessScreen:A,assets:M,colors:P,verbiage:N,debugMode:Y}}),[M,P,Y,v,y,S,x,C,A,N]),J=n.useMemo((function(){return{documents:z,verbiage:null==N?void 0:N.additionalDocumentCapture}}),[z,null==N?void 0:N.additionalDocumentCapture]),Z=n.useMemo((function(){return{verbiage:null==N?void 0:N.signatureCapture}}),[null==N?void 0:N.signatureCapture]),Q=n.useMemo((function(){return{skipSuccessScreen:A,colors:null==P?void 0:P.videoSignatureCapture,verbiage:null==N?void 0:N.videoSignatureCapture,debugMode:Y}}),[null==P?void 0:P.videoSignatureCapture,Y,A,null==N?void 0:N.videoSignatureCapture]),ee=n.useCallback((function(e){null==I||I(e),"Approved"===e.resultData.verificationResult?null==_||_(e):null==D||D(e)}),[_,I,D]);return c.default.createElement(Rt,{action:ze.VALIDATE,environment:i,url:a,token:r,companyId:s,manualReviewRequired:l,verifyIdWithExternalDatabases:u,personalData:d,cardData:h,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,onBeforeSubmit:R,onResponseReceived:ee,geolocationEnabled:V,geolocationRequired:H},c.default.createElement(am,{checks:n.useMemo((function(){return["IdCapture"]}),[]),idCaptureProps:X,signatureCaptureProps:Z,videoSignatureCaptureProps:Q,additionalDocumentCaptureProps:J,captureSignature:U,captureSignatureVideo:j,debugMode:Y}))},lm=function(e){var t=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,l=e.webhooksEnabled,u=e.webhooksClientTraceId,d=e.webhooksStripSpecialCharacters,h=e.timeoutDurationMs,f=void 0===h?15e3:h,p=e.skipSuccessScreen,g=void 0!==p&&p,m=e.onBeforeSubmit,v=e.onComplete,b=e.onApproved,y=e.onDenied,w=e.onExitAfterFailure,x=e.assets,E=e.colors,S=e.verbiage,k=e.geolocationEnabled,C=void 0===k||k,T=e.geolocationRequired,A=void 0!==T&&T,R=e.debugMode,I=void 0!==R&&R;ii(void 0===t?"auto":t);var _=n.useMemo((function(){return{timeoutDurationMs:f,skipSuccessScreen:g,onComplete:v,onSuccess:b,onTimeout:y,onExitAfterFailure:w,assets:x,colors:E,verbiage:S,debugMode:I}}),[x,E,I,b,v,y,w,g,f,S]);return c.default.createElement(Rt,{action:ze.NONE,environment:i,url:a,token:r,companyId:s,webhooksEnabled:l,webhooksClientTraceId:u,webhooksStripSpecialCharacters:d,onBeforeSubmit:m,geolocationEnabled:C,geolocationRequired:A},c.default.createElement(am,{checks:n.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:_,debugMode:I}))},cm=function(e){var t=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,l=e.manualReviewRequired,u=e.verifyIdWithExternalDatabases,d=e.personalData,h=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,m=e.idAutoCaptureEnabled,v=void 0===m||m,b=e.idCardAutoCaptureScoreThreshold,y=void 0===b?.8:b,w=e.mrzDetectionScoreThreshold,x=void 0===w?.5:w,E=e.passportAutoCaptureScoreThreshold,S=void 0===E?.8:E,k=e.idCardFocusScoreThreshold,C=void 0===k?.3:k,T=e.passportFocusScoreThreshold,A=void 0===T?.3:T,R=e.faceLivenessTimeoutDurationMs,I=void 0===R?15e3:R,_=e.skipSuccessScreen,D=void 0!==_&&_,F=e.onBeforeSubmit,M=e.onComplete,L=e.onApproved,P=e.onDenied,O=e.onExitAfterFailure,N=e.captureSignature,B=void 0!==N&&N,U=e.captureSignatureVideo,$=void 0!==U&&U,j=e.captureAdditionalDocuments,G=void 0===j?[]:j,z=e.assets,q=void 0===z?{}:z,V=e.colors,W=void 0===V?{}:V,H=e.verbiage,K=void 0===H?{}:H,Y=e.geolocationEnabled,X=void 0===Y||Y,J=e.geolocationRequired,Z=void 0!==J&&J,Q=e.debugMode,ee=void 0!==Q&&Q;ii(void 0===t?"auto":t);var te=n.useMemo((function(){return{assets:q.idCapture,colors:W.idCapture,verbiage:K.idCapture,autoCaptureEnabled:v,idCardAutoCaptureScoreThreshold:y,passportAutoCaptureScoreThreshold:S,mrzDetectionScoreThreshold:x,idCardFocusScoreThreshold:C,passportFocusScoreThreshold:A,skipSuccessScreen:D,debugMode:ee}}),[q.idCapture,W.idCapture,ee,v,y,C,x,S,A,D,K.idCapture]),ne=n.useMemo((function(){return{timeoutDurationMs:I,onTimeout:P,onExitAfterFailure:O,skipSuccessScreen:D,assets:q.faceLiveness,colors:W.faceLiveness,verbiage:K.faceLiveness,debugMode:ee}}),[q.faceLiveness,W.faceLiveness,ee,I,P,O,D,K.faceLiveness]),re=n.useMemo((function(){return{verbiage:K.signatureCapture}}),[null==K?void 0:K.signatureCapture]),oe=n.useMemo((function(){return{skipSuccessScreen:D,colors:null==W?void 0:W.videoSignatureCapture,verbiage:null==K?void 0:K.videoSignatureCapture,debugMode:ee}}),[null==W?void 0:W.videoSignatureCapture,ee,D,null==K?void 0:K.videoSignatureCapture]),ie=n.useMemo((function(){return{documents:G,verbiage:null==K?void 0:K.additionalDocumentCapture}}),[G,null==K?void 0:K.additionalDocumentCapture]),ae=n.useCallback((function(e){null==M||M(e),"Approved"===e.resultData.verificationResult?null==L||L(e):null==P||P(e)}),[L,M,P]);return c.default.createElement(Rt,{action:ze.VALIDATE,environment:i,url:a,token:r,companyId:s,manualReviewRequired:l,verifyIdWithExternalDatabases:u,personalData:d,cardData:h,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,onBeforeSubmit:F,onResponseReceived:ae,geolocationEnabled:X,geolocationRequired:Z},c.default.createElement(am,{checks:n.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:te,faceLivenessProps:ne,signatureCaptureProps:re,videoSignatureCaptureProps:oe,additionalDocumentCaptureProps:ie,captureSignature:B,captureSignatureVideo:$,debugMode:ee}))},um=function(e){var t=e.enrollmentId,r=e.lang,o=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,s=e.submissionUrl,l=e.companyId,u=e.manualReviewRequired,d=e.verifyIdWithExternalDatabases,h=e.personalData,f=e.cardData,p=e.deduplicationEnabled,g=e.deduplicationSynchronous,m=e.webhooksEnabled,v=e.webhooksClientTraceId,b=e.webhooksStripSpecialCharacters,y=e.idAutoCaptureEnabled,w=void 0===y||y,x=e.idCardAutoCaptureScoreThreshold,E=void 0===x?.8:x,S=e.mrzDetectionScoreThreshold,k=void 0===S?.5:S,C=e.passportAutoCaptureScoreThreshold,T=void 0===C?.8:C,A=e.idCardFocusScoreThreshold,R=void 0===A?.3:A,I=e.passportFocusScoreThreshold,_=void 0===I?.3:I,D=e.faceLivenessTimeoutDurationMs,F=void 0===D?15e3:D,M=e.skipSuccessScreen,L=void 0!==M&&M,P=e.onBeforeSubmit,O=e.onComplete,N=e.onEnrolled,B=e.onDenied,U=e.onExitAfterFailure,$=e.captureAdditionalDocuments,j=void 0===$?[]:$,G=e.captureSignature,z=void 0!==G&&G,q=e.captureSignatureVideo,V=void 0!==q&&q,W=e.assets,H=void 0===W?{}:W,K=e.colors,Y=void 0===K?{}:K,X=e.verbiage,J=void 0===X?{}:X,Z=e.geolocationEnabled,Q=void 0===Z||Z,ee=e.geolocationRequired,te=void 0!==ee&&ee,ne=e.debugMode,re=void 0!==ne&&ne;ii(void 0===r?"auto":r);var oe=n.useMemo((function(){return{assets:H.idCapture,colors:Y.idCapture,verbiage:J.idCapture,autoCaptureEnabled:w,idCardAutoCaptureScoreThreshold:E,passportAutoCaptureScoreThreshold:T,mrzDetectionScoreThreshold:k,idCardFocusScoreThreshold:R,passportFocusScoreThreshold:_,skipSuccessScreen:L,debugMode:re}}),[H.idCapture,Y.idCapture,re,w,E,R,k,T,_,L,J.idCapture]),ie=n.useMemo((function(){return{onExitAfterFailure:U,timeoutDurationMs:F,skipSuccessScreen:L,assets:H.faceLiveness,colors:Y.faceLiveness,verbiage:J.faceLiveness,debugMode:re}}),[H.faceLiveness,Y.faceLiveness,re,F,U,L,J.faceLiveness]),ae=n.useMemo((function(){return{documents:j,verbiage:J.additionalDocumentCapture}}),[j,J.additionalDocumentCapture]),se=n.useMemo((function(){return{verbiage:null==J?void 0:J.signatureCapture}}),[null==J?void 0:J.signatureCapture]),le=n.useMemo((function(){return{skipSuccessScreen:L,colors:null==Y?void 0:Y.videoSignatureCapture,verbiage:null==J?void 0:J.videoSignatureCapture,debugMode:re}}),[null==Y?void 0:Y.videoSignatureCapture,re,L,null==J?void 0:J.videoSignatureCapture]),ce=n.useCallback((function(e){null==O||O(e),"Customer Onboarded"===e.resultData.verificationResult?null==N||N(e):null==B||B(e)}),[N,O,B]);return c.default.createElement(Rt,{action:ze.ENROLL,environment:a,url:s,token:o,companyId:l,enrollmentId:t,manualReviewRequired:u,verifyIdWithExternalDatabases:d,personalData:h,cardData:f,deduplicationEnabled:p,deduplicationSynchronous:g,webhooksEnabled:m,webhooksClientTraceId:v,webhooksStripSpecialCharacters:b,onBeforeSubmit:P,onResponseReceived:ce,geolocationEnabled:Q,geolocationRequired:te},c.default.createElement(am,{checks:n.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:oe,faceLivenessProps:ie,additionalDocumentCaptureProps:ae,signatureCaptureProps:se,videoSignatureCaptureProps:le,captureSignature:z,captureSignatureVideo:V,debugMode:re}))},dm={frame:null,face:null,imageUrl:null,requestState:"CAPTURING",requestError:null,unverifiedTimes:0},hm=function(e,t){switch(t.type){case"verificationReady":return["CAPTURING","ERROR"].includes(e.requestState)?g(g({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"verifying":return g(g({},e),{requestState:"VERIFYING",imageUrl:t.payload.imageUrl});case"verificationCompleted":var n=t.payload.response,r=n.status,o=r.statusMessage,i=r.errorData,a=n.resultData;if("000"!==r.statusCode)return g(g({},e),{requestState:"ERROR",requestError:new Error("".concat(o,": ").concat(i))});var s=e.requestState,l=e.unverifiedTimes;return"00"===a.verificationResultCode?s="VERIFIED":l<0?(s="CAPTURING",l+=1):s="REJECTED",g(g({},e),{requestState:s,unverifiedTimes:l});case"verificationFailed":return g(g({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},fm=function(e){var t=e.onCustomerMatched,r=e.onCustomerNotMatched,o=e.onCaptureGuidanceTimeout,i=e.onExit,a=e.captureGuidanceTimeoutDurationMs,s=e.colors,l=void 0===s?{}:s,u=e.verbiage,d=void 0===u?{}:u,h=e.debugMode,f=void 0!==h&&h,p=n.useReducer(hm,dm),g=p[0],b=p[1],y=g.frame,w=g.face,x=n.useContext(Ke),E=x.submit,S=x.submissionResponse,k=x.selfieImage,C=x.setSelfieImage,T=n.useState(null),A=T[0],R=T[1],I=n.useCallback((function(e,t){b({type:"verificationReady",payload:{frame:e,face:t}})}),[]),_="CAPTURED"===g.requestState;return n.useEffect((function(){if(y&&w){var e=xo(y,w);R(e),Ze(e).then((function(e){C(e)}))}}),[w,y,C]),n.useEffect((function(){_&&k&&m(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),b({type:"verifying",payload:{imageUrl:k}}),[4,E()];case 1:if(!(e=n.sent()))throw new Error("submission failed!");return b({type:"verificationCompleted",payload:{response:e}}),[3,3];case 2:return t=n.sent(),b({type:"verificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[_,t,r,k,g.requestState,E]),n.useEffect((function(){S&&("VERIFIED"===g.requestState?null==t||t(S):"REJECTED"===g.requestState&&(null==r||r(S)))}),[t,r,g.requestState,S]),Up(a,o,["VERIFIED","REJECTED"].includes(g.requestState),"VERIFYING"===g.requestState),c.default.createElement(c.default.Fragment,null,c.default.createElement(Gp,{onSelfieCaptured:I,onExit:i,timeoutDurationMs:a,colors:l,verbiage:d,debugMode:f}),A&&c.default.createElement(ei,{imageUrl:A}))},pm=function(e){var t,n,r=e.imageUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,l=e.verbiage,u=void 0===l?{}:l;r||(r="".concat(yo,"/Selfie-Image-1.png")),s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=si(u,{headingText:"Customer has been verified!",retryBtnText:"Retry",doneBtnText:"Done"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",{style:{marginBottom:24}},d.headingText),c.default.createElement(ut,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:d.headingText,src:r})),c.default.createElement("div",{style:{marginTop:24}},c.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),c.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},gm=function(e){var t,n,r,o,i=e.canRetry,a=void 0===i||i,s=e.onRetryClick,l=e.onExitClick,u=e.assets,d=void 0===u?{}:u,h=e.colors,f=void 0===h?{}:h,p=e.verbiage,g=void 0===p?{}:p;d.imageUrl||(d.imageUrl="".concat(yo,"/manual_capture.png")),f.retryBtn||(f.retryBtn={}),(t=f.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=f.retryBtn).textColor||(n.textColor="white"),f.exitBtn||(f.exitBtn={}),(r=f.exitBtn).backgroundColor||(r.backgroundColor="#666"),(o=f.exitBtn).textColor||(o.textColor="white");var m=si(g,{headingText:"Customer not verified",retryBtnText:"Retry",exitBtnText:"Exit"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",{style:{marginBottom:24}},m.headingText),c.default.createElement(ut,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:m.headingText,src:d.imageUrl})),c.default.createElement("div",{style:{marginTop:24}},a&&c.default.createElement(St,{onClick:s,colors:f.retryBtn,style:{marginRight:15},finished:!0},m.retryBtnText),c.default.createElement(St,{onClick:l,colors:f.exitBtn,finished:!0},m.exitBtnText))))},mm=function(e){var t=e.onComplete,r=e.onCustomerMatched,o=e.onCustomerNotMatched,i=e.onExitAfterFailure,a=e.onCaptureGuidanceTimeout,s=e.captureGuidanceTimeoutDurationMs,l=e.skipSuccessScreen,u=void 0!==l&&l,d=e.assets,h=void 0===d?{}:d,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,b=void 0===g?{}:g,y=e.debugMode,w=void 0!==y&&y,x=n.useContext(Ke),E=x.submissionResponse,S=x.selfieImage,k=n.useState("LOADING"),C=k[0],T=k[1],A=n.useContext(Gt).releaseCameraAccess,R=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){return v(this,(function(t){return T("MATCHED"),null==r||r(e),[2]}))}))}),[r]),I=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){return v(this,(function(t){return T("NOT_MATCHED"),null==o||o(e),[2]}))}))}),[o]),_=n.useCallback((function(){T("FAILED"),null==a||a()}),[a]),D=n.useState(0),F=D[0],M=D[1],L=n.useCallback((function(){M((function(e){return e+1})),T("LOADING")}),[]),P=n.useCallback((function(){A(),E&&(null==t||t(E))}),[t,A,E]),O=wi(u,"MATCHED"===C,P);return c.default.createElement(c.default.Fragment,null,"LOADING"!==C&&function(){switch(C){case"CAPTURING":return c.default.createElement(fm,{key:"capture".concat(F),onCustomerMatched:R,onCustomerNotMatched:I,onCaptureGuidanceTimeout:_,onExit:L,captureGuidanceTimeoutDurationMs:s,colors:p,verbiage:b,debugMode:w});case"MATCHED":if(!O)return;return c.default.createElement(pm,{imageUrl:"data:image/png;base64, ".concat(S),colors:p.success,verbiage:b.success,onDoneClick:P,onRetryClick:function(){T("CAPTURING"),M(0)}});case"NOT_MATCHED":case"FAILED":return c.default.createElement(gm,{assets:h.failure,colors:p.failure,verbiage:b.failure,canRetry:F<2,onExitClick:function(){A(),null==i||i()},onRetryClick:function(){M((function(e){return e+1}))}});default:return null}}(),c.default.createElement(Wp,{key:F,assets:h.loadingOverlay,colors:p.loadingOverlay,verbiage:b.loadingOverlay,onDismissed:function(){T("CAPTURING")}}))},vm=function(e){var t=e.lang,n=e.enrollmentId,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,l=e.webhooksEnabled,u=e.webhooksClientTraceId,d=e.webhooksStripSpecialCharacters,h=e.timeoutDurationMs,f=void 0===h?15e3:h,p=e.skipSuccessScreen,g=void 0!==p&&p,m=e.assets,v=e.colors,b=e.verbiage,y=e.onBeforeSubmit,w=e.onComplete,x=e.onCustomerMatched,E=e.onCustomerNotMatched,S=e.onExitAfterFailure,k=e.geolocationEnabled,C=void 0===k||k,T=e.geolocationRequired,A=void 0!==T&&T,R=e.debugMode,I=void 0!==R&&R;return ii(void 0===t?"auto":t),c.default.createElement(Rt,{action:ze.VERIFY,environment:i,url:a,token:r,companyId:s,enrollmentId:n,webhooksEnabled:l,webhooksClientTraceId:u,webhooksStripSpecialCharacters:d,onBeforeSubmit:y,geolocationEnabled:C,geolocationRequired:A},c.default.createElement(ig,{preferFrontFacingCamera:!0},c.default.createElement(Op,null,c.default.createElement(mm,{onComplete:w,onCustomerMatched:x,onCustomerNotMatched:E,onExitAfterFailure:S,captureGuidanceTimeoutDurationMs:f,skipSuccessScreen:g,assets:m,colors:v,verbiage:b,debugMode:I}))))},bm={frame:null,face:null,imageUrl:null,requestState:"CAPTURING",requestError:null,notFoundTimes:0},ym=function(e,t){switch(t.type){case"identificationReady":return["CAPTURING","ERROR"].includes(e.requestState)?g(g({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"identifying":return g(g({},e),{requestState:"IDENTIFYING",imageUrl:t.payload.imageUrl});case"identificationCompleted":var n=t.payload.response,r=n.status,o=r.statusMessage,i=r.errorData,a=n.resultData;if("000"!==r.statusCode)return g(g({},e),{requestState:"ERROR",requestError:new Error("".concat(o,": ").concat(i))});var s=e.requestState,l=e.notFoundTimes;return"46"===a.verificationResultCode?s="FOUND":l<0?(s="CAPTURING",l+=1):s="NOT_FOUND",g(g({},e),{requestState:s,notFoundTimes:l});case"identificationFailed":return g(g({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},wm=function(e){var t=e.onCustomerMatched,r=e.onCustomerNotMatched,o=e.onCaptureGuidanceTimeout,i=e.onExit,a=e.captureGuidanceTimeoutDurationMs,s=e.colors,l=void 0===s?{}:s,u=e.verbiage,d=void 0===u?{}:u,h=e.debugMode,f=void 0!==h&&h,p=n.useReducer(ym,bm),g=p[0],b=p[1],y=n.useContext(Ke),w=y.submit,x=y.submissionResponse,E=y.selfieImage,S=y.setSelfieImage,k=n.useState(null),C=k[0],T=k[1],A=n.useCallback((function(e,t){b({type:"identificationReady",payload:{frame:e,face:t}})}),[]),R=g.frame,I=g.face,_="CAPTURED"===g.requestState;return n.useEffect((function(){if(R&&I){var e=xo(R,I);T(e),Ze(e).then((function(e){S(e)}))}}),[I,R,S]),n.useEffect((function(){_&&E&&m(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),b({type:"identifying",payload:{imageUrl:E}}),[4,w()];case 1:if(!(e=n.sent()))throw new Error("submission failed!");return b({type:"identificationCompleted",payload:{response:e}}),[3,3];case 2:return t=n.sent(),b({type:"identificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[_,t,r,E,g.requestState,w]),n.useEffect((function(){x&&("FOUND"===g.requestState?null==t||t(x):"NOT_FOUND"===g.requestState&&(null==r||r(x)))}),[t,r,g.requestState,x]),Up(a,o,["FOUND","NOT_FOUND"].includes(g.requestState),"IDENTIFYING"===g.requestState),c.default.createElement(c.default.Fragment,null,c.default.createElement(Gp,{onSelfieCaptured:A,onExit:i,timeoutDurationMs:a,colors:l,verbiage:d,debugMode:f}),C&&c.default.createElement(ei,{imageUrl:C}))},xm=function(e){var t,n,r=e.imageUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,l=e.verbiage,u=void 0===l?{}:l;r||(r="".concat(yo,"/Selfie-Image-1.png")),s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=si(u,{headingText:"Customer has been identified!",retryBtnText:"Retry",doneBtnText:"Done"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",{style:{marginBottom:24}},d.headingText),c.default.createElement(ut,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:d.headingText,src:r})),c.default.createElement("div",{style:{marginTop:24}},c.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),c.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},Em=function(e){var t,n,r,o,i=e.canRetry,a=void 0===i||i,s=e.onRetryClick,l=e.onExitClick,u=e.assets,d=void 0===u?{}:u,h=e.colors,f=void 0===h?{}:h,p=e.verbiage,g=void 0===p?{}:p;d.imageUrl||(d.imageUrl="".concat(yo,"/manual_capture.png")),f.retryBtn||(f.retryBtn={}),(t=f.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=f.retryBtn).textColor||(n.textColor="white"),f.exitBtn||(f.exitBtn={}),(r=f.exitBtn).backgroundColor||(r.backgroundColor="#666"),(o=f.exitBtn).textColor||(o.textColor="white");var m=si(g,{headingText:"Customer not found",retryBtnText:"Retry",exitBtnText:"Exit"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",{style:{marginBottom:24}},m.headingText),c.default.createElement(ut,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:m.headingText,src:d.imageUrl})),c.default.createElement("div",{style:{marginTop:24}},a&&c.default.createElement(St,{onClick:s,colors:f.retryBtn,style:{marginRight:15},finished:!0},m.retryBtnText),c.default.createElement(St,{onClick:l,colors:f.exitBtn,finished:!0},m.exitBtnText))))},Sm=function(e){var t=e.onComplete,r=e.onCustomerMatched,o=e.onCustomerNotMatched,i=e.onExitAfterFailure,a=e.onCaptureGuidanceTimeout,s=e.captureGuidanceTimeoutDurationMs,l=e.skipSuccessScreen,u=void 0!==l&&l,d=e.assets,h=void 0===d?{}:d,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,b=void 0===g?{}:g,y=e.debugMode,w=void 0!==y&&y,x=n.useContext(Ke),E=x.submissionResponse,S=x.selfieImage,k=n.useState("LOADING"),C=k[0],T=k[1],A=n.useContext(Gt).releaseCameraAccess,R=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){return v(this,(function(t){return T("FOUND"),null==r||r(e),[2]}))}))}),[r]),I=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){return v(this,(function(t){return T("NOT_FOUND"),null==o||o(e),[2]}))}))}),[o]),_=n.useCallback((function(){T("FAILED"),null==a||a()}),[a]),D=n.useState(0),F=D[0],M=D[1],L=n.useCallback((function(){M((function(e){return e+1})),T("LOADING")}),[]),P=n.useCallback((function(){A(),E&&(null==t||t(E))}),[t,A,E]),O=wi(u,"FOUND"===C,P);return c.default.createElement(c.default.Fragment,null,"LOADING"!==C&&function(){switch(C){case"CAPTURING":return c.default.createElement(wm,{key:"capture".concat(F),onCustomerMatched:R,onCustomerNotMatched:I,onCaptureGuidanceTimeout:_,onExit:L,captureGuidanceTimeoutDurationMs:s,colors:p,verbiage:b,debugMode:w});case"FOUND":if(!O)return;return c.default.createElement(xm,{imageUrl:"data:image/png;base64, ".concat(S),colors:p.success,verbiage:b.success,onDoneClick:P,onRetryClick:function(){T("CAPTURING"),M(0)}});case"NOT_FOUND":case"FAILED":return c.default.createElement(Em,{assets:h.failure,colors:p.failure,verbiage:b.failure,canRetry:F<2,onExitClick:function(){A(),null==i||i()},onRetryClick:function(){M((function(e){return e+1}))}});default:return null}}(),c.default.createElement(Wp,{key:F,assets:h.loadingOverlay,colors:p.loadingOverlay,verbiage:b.loadingOverlay,onDismissed:function(){T("CAPTURING")}}))},km=function(e){var t=e.lang,n=e.submissionToken,r=e.submissionEnvironment,o=void 0===r?"prod":r,i=e.submissionUrl,a=e.companyId,s=e.webhooksEnabled,l=e.webhooksClientTraceId,u=e.webhooksStripSpecialCharacters,d=e.timeoutDurationMs,h=void 0===d?15e3:d,f=e.skipSuccessScreen,p=void 0!==f&&f,g=e.onBeforeSubmit,m=e.onComplete,v=e.onCustomerMatched,b=e.onCustomerNotMatched,y=e.onCaptureGuidanceTimeout,w=e.onExitAfterFailure,x=e.assets,E=e.colors,S=e.verbiage,k=e.geolocationEnabled,C=e.geolocationRequired,T=void 0!==C&&C,A=e.debugMode,R=void 0!==A&&A;return ii(void 0===t?"auto":t),c.default.createElement(Rt,{action:ze.IDENTIFY,environment:o,url:i,token:n,companyId:a,webhooksEnabled:s,webhooksClientTraceId:l,webhooksStripSpecialCharacters:u,onBeforeSubmit:g,geolocationEnabled:k,geolocationRequired:T},c.default.createElement(ig,{preferFrontFacingCamera:!0},c.default.createElement(Op,null,c.default.createElement(Sm,{onComplete:m,onCustomerMatched:v,onCustomerNotMatched:b,onExitAfterFailure:w,onCaptureGuidanceTimeout:y,captureGuidanceTimeoutDurationMs:h,skipSuccessScreen:p,assets:x,colors:E,verbiage:S,debugMode:R}))))},Cm=function(e){var t=e.documentDetectionModel,n=void 0===t?"".concat(yo,"/models/documentdetection448/model.json"):t,r=e.focusModel,o=void 0===r?"".concat(yo,"/models/focus/model.json"):r,i=e.skipFaceDetectionModel,a=void 0!==i&&i;return m(void 0,void 0,void 0,(function(){return v(this,(function(e){switch(e.label){case 0:return n?[4,It(n)]:[3,2];case 1:e.sent(),e.label=2;case 2:return o?[4,zt(o)]:[3,4];case 3:e.sent(),e.label=4;case 4:return a?[3,6]:[4,Fp()];case 5:e.sent(),e.label=6;case 6:return[2]}}))}))},Tm=function(e){var t=e.enrollmentId,r=e.lang,o=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,s=e.submissionUrl,l=e.companyId,u=e.deduplicationEnabled,d=e.deduplicationSynchronous,h=e.webhooksEnabled,f=e.webhooksClientTraceId,p=e.webhooksStripSpecialCharacters,g=e.timeoutDurationMs,m=void 0===g?15e3:g,v=e.skipSuccessScreen,b=void 0!==v&&v,y=e.onBeforeSubmit,w=e.onComplete,x=e.onEnrolled,E=e.onDenied,S=e.onExitAfterFailure,k=e.captureAdditionalDocuments,C=void 0===k?[]:k,T=e.captureSignature,A=void 0!==T&&T,R=e.captureSignatureVideo,I=void 0!==R&&R,_=e.assets,D=void 0===_?{}:_,F=e.colors,M=void 0===F?{}:F,L=e.verbiage,P=void 0===L?{}:L,O=e.geolocationEnabled,N=void 0===O||O,B=e.geolocationRequired,U=void 0!==B&&B,$=e.debugMode,j=void 0!==$&&$;ii(void 0===r?"auto":r);var G=n.useMemo((function(){return{onExitAfterFailure:S,timeoutDurationMs:m,skipSuccessScreen:b,assets:D.faceLiveness,colors:M.faceLiveness,verbiage:P.faceLiveness,debugMode:j}}),[D.faceLiveness,M.faceLiveness,j,S,b,m,P.faceLiveness]),z=n.useMemo((function(){return{documents:C,verbiage:P.additionalDocumentCapture}}),[C,P.additionalDocumentCapture]),q=n.useMemo((function(){return{verbiage:P.signatureCapture}}),[P.signatureCapture]),V=n.useMemo((function(){return{skipSuccessScreen:b,colors:null==M?void 0:M.videoSignatureCapture,verbiage:null==P?void 0:P.videoSignatureCapture,debugMode:j}}),[null==M?void 0:M.videoSignatureCapture,j,b,null==P?void 0:P.videoSignatureCapture]),W=n.useCallback((function(e){null==w||w(e),"Customer Onboarded"===e.resultData.verificationResult?null==x||x(e):null==E||E(e)}),[x,w,E]);return c.default.createElement(Rt,{action:ze.ENROLL,environment:a,url:s,token:o,companyId:l,enrollmentId:t,deduplicationEnabled:u,deduplicationSynchronous:d,webhooksEnabled:h,webhooksClientTraceId:f,webhooksStripSpecialCharacters:p,onBeforeSubmit:y,onResponseReceived:W,geolocationEnabled:N,geolocationRequired:U},c.default.createElement(am,{checks:n.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:G,additionalDocumentCaptureProps:z,signatureCaptureProps:q,videoSignatureCaptureProps:V,captureSignature:A,captureSignatureVideo:I,debugMode:j}))},Am=function(e){var t=e.submissionToken,r=e.submissionEnvironment,o=e.submissionUrl,i=e.onBeforeSubmit,a=e.onComplete,s=e.skipSuccessScreen,l=void 0!==s&&s,u=e.colors,d=e.verbiage,h=e.geolocationEnabled,f=e.geolocationRequired,p=e.debugMode,g=n.useState(0),m=g[1];return c.default.createElement(Rt,{action:ze.NONE,environment:r,url:o,token:t,onBeforeSubmit:i,onResponseReceived:a,geolocationEnabled:h,geolocationRequired:f},c.default.createElement(ig,{key:g[0],preferContinuityCamera:!1,preferFrontFacingCamera:!0},c.default.createElement(im,{skipSuccessScreen:l,colors:u,debugMode:p,verbiage:d,onRetryClicked:function(){m((function(e){return e+1}))}})))};function Rm(e){return c.default.createElement(lt,null,e.children)}re.use(Ge).use(me).init({resources:oi,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 Im=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(Rm,null,e)),l.default.render(e,t)},_m=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(sm,g({},t)),e,n)},Dm=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(lm,g({},t)),e,n)},Fm=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(cm,g({},t)),e,n)},Mm=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(um,g({},t)),e,n)},Lm=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(Tm,g({},t)),e,n)},Pm=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(vm,g({},t)),e,n)},Om=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(km,g({},t)),e,n)},Nm=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(Am,g({},t)),e,n)};globalThis.IDmissionSDK={renderIdValidation:_m,renderFaceValidation:Dm,renderIdAndFaceValidation:Fm,renderCustomerIdAndBiometricsEnrollment:Mm,renderCustomerBiometricsEnrollment:Lm,renderCustomerVerification:Pm,renderCustomerIdentification:Om,renderSignatureKYC:Nm,preloadModels:Cm,version:Ve,ready:!0},e.CustomerBiometricsEnrollment=Tm,e.CustomerIdAndBiometricsEnrollment=um,e.CustomerIdentification=km,e.CustomerVerification=vm,e.FaceValidation=lm,e.IdAndFaceValidation=cm,e.IdValidation=sm,e.SignatureKYC=Am,e.preloadModels=Cm,e.renderCustomerBiometricsEnrollment=Lm,e.renderCustomerIdAndBiometricsEnrollment=Mm,e.renderCustomerIdentification=Om,e.renderCustomerVerification=Pm,e.renderFaceValidation=Dm,e.renderIdAndFaceValidation=Fm,e.renderIdValidation=_m,e.renderSignatureKYC=Nm,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,o,i){"use strict";function a(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=a(t),c=a(n),u=s(n),d=s(r),h=a(o),f=s(i),p=function(e,t){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},p(e,t)};var g=function(){return g=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},g.apply(this,arguments)};function m(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))}function v(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function b(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);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 w={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 x{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||w,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 x(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new x(this.logger,e)}}var E=new x;class S{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 k(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return n.resolve=e,n.reject=t,n}function C(e){return null==e?"":""+e}function T(e,t,n){function r(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function o(){return!e||"string"==typeof e}const i="string"!=typeof t?[].concat(t):t.split(".");for(;i.length>1;){if(o())return{};const t=r(i.shift());!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}return o()?{}:{obj:e,k:r(i.shift())}}function A(e,t,n){const{obj:r,k:o}=T(e,t,Object);r[o]=n}function R(e,t){const{obj:n,k:r}=T(e,t);if(n)return n[r]}function I(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]):I(e[r],t[r],n):e[r]=t[r]);return e}function _(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var D={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function F(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>D[e])):e}const M=[" ",",","?","!",";"];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 o=e;for(let e=0;e<r.length;++e){if(!o)return;if("string"==typeof o[r[e]]&&e+1<r.length)return;if(void 0===o[r[e]]){let i=2,a=r.slice(e,e+i).join(n),s=o[a];for(;void 0===s&&r.length>e+i;)i++,a=r.slice(e,e+i).join(n),s=o[a];if(void 0===s)return;if(null===s)return null;if(t.endsWith(a)){if("string"==typeof s)return s;if(a&&"string"==typeof s[a])return s[a]}const l=r.slice(e+i).join(n);return l?L(s,l,n):void 0}o=o[r[e]]}return o}function P(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class O extends S{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 o=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,i=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[e,t];n&&"string"!=typeof n&&(a=a.concat(n)),n&&"string"==typeof n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."));const s=R(this.data,a);return s||!i||"string"!=typeof n?s:L(this.data&&this.data[e]&&this.data[e][t],n,o)}addResource(e,t,n,r){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator;let a=[e,t];n&&(a=a.concat(i?n.split(i):n)),e.indexOf(".")>-1&&(a=e.split("."),r=t,t=a[1]),this.addNamespaces(t),A(this.data,a,r),o.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,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),r=n,n=t,t=a[1]),this.addNamespaces(t);let s=R(this.data,a)||{};r?I(s,n,o):s={...s,...n},A(this.data,a,s),i.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 N={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,o){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,n,r,o))})),t}};const B={};class U extends S{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=E.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 o=t.ns||this.options.defaultNS||[];const i=n&&e.indexOf(n)>-1,a=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(e,t,n){t=t||"",n=n||"";const r=M.filter((e=>t.indexOf(e)<0&&n.indexOf(e)<0));if(0===r.length)return!0;const o=new RegExp(`(${r.map((e=>"?"===e?"\\?":e)).join("|")})`);let i=!o.test(e);if(!i){const t=e.indexOf(n);t>0&&!o.test(e.substring(0,t))&&(i=!0)}return i}(e,n,r));if(i&&!a){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:o};const i=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(i[0])>-1)&&(o=i.shift()),e=i.join(r)}return"string"==typeof o&&(o=[o]),{key:e,namespaces:o}}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,o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:i,namespaces:a}=this.extractFromKey(e[e.length-1],t),s=a[a.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}${i}`,usedKey:i,exactUsedKey:i,usedLng:l,usedNS:s}:`${s}${e}${i}`}return r?{res:i,usedKey:i,exactUsedKey:i,usedLng:l,usedNS:s}:i}const u=this.resolve(e,t);let d=u&&u.res;const h=u&&u.usedKey||i,f=u&&u.exactUsedKey||i,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:a}):`key '${i} (${this.language})' returned an object instead of string.`;return r?(u.res=e,u):e}if(o){const e="[object Array]"===p,n=e?[]:{},r=e?f:h;for(const e in d)if(Object.prototype.hasOwnProperty.call(d,e)){const i=`${r}${o}${e}`;n[e]=this.translate(i,{...t,joinArrays:!1,ns:a}),n[e]===i&&(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,a=!1;const c=void 0!==t.count&&"string"!=typeof t.count,h=U.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)||(a=!0,d=i);const m=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&a?void 0:d,v=h&&g!==d&&this.options.updateMissing;if(a||r||v){if(this.logger.log(v?"updateKey":"missingKey",l,s,i,v?g:d),o){const e=this.resolve(i,{...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 o=h&&r!==d?r:m;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,n,o,v,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,s,n,o,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],i+n,t[`defaultValue${n}`]||g)}))})):r(e,i,g))}d=this.extendTranslation(d,e,t,u,n),a&&d===i&&this.options.appendNamespaceToMissingKey&&(d=`${s}:${i}`),(a||r)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${s}:${i}`:i,r?d:void 0):this.options.parseMissingKeyHandler(d))}return r?(u.res=d,u):d}extendTranslation(e,t,n,r,o){var i=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 a="string"==typeof e&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let s;if(a){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),a){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),a=0;a<e;a++)r[a]=arguments[a];return o&&o[0]===r[0]&&!n.context?(i.logger.warn(`It seems you are nesting recursively key: ${r[0]} in key: ${t[0]}`),null):i.translate(...r,t)}),n)),n.interpolation&&this.interpolator.reset()}const a=n.postProcess||this.options.postProcess,s="string"==typeof a?[a]:a;return null!=e&&s&&s.length&&!1!==n.applyPostProcessor&&(e=N.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:r,...n}:n,this)),e}resolve(e){let t,n,r,o,i,a=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,a),l=s.key;n=l;let c=s.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const u=void 0!==a.count&&"string"!=typeof a.count,d=u&&!a.ordinal&&0===a.count&&this.pluralResolver.shouldUseIntlApi(),h=void 0!==a.context&&("string"==typeof a.context||"number"==typeof a.context)&&""!==a.context,f=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);c.forEach((e=>{this.isValidLookup(t)||(i=e,!B[`${f[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(i)&&(B[`${f[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${f.join(", ")}" won't get resolved as namespace "${i}" 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;o=n;const i=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(i,l,n,e,a);else{let e;u&&(e=this.pluralResolver.getSuffix(n,a.count,a));const t=`${this.options.pluralSeparator}zero`,r=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(i.push(l+e),a.ordinal&&0===e.indexOf(r)&&i.push(l+e.replace(r,this.options.pluralSeparator)),d&&i.push(l+t)),h){const n=`${l}${this.options.contextSeparator}${a.context}`;i.push(n),u&&(i.push(n+e),a.ordinal&&0===e.indexOf(r)&&i.push(n+e.replace(r,this.options.pluralSeparator)),d&&i.push(n+t))}}let s;for(;s=i.pop();)this.isValidLookup(t)||(r=s,t=this.getResource(n,e,s,a))})))}))})),{res:t,usedKey:n,exactUsedKey:r,usedLng:o,usedNS:i}}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 $(e){return e.charAt(0).toUpperCase()+e.slice(1)}class j{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=E.create("languageUtils")}getScriptPartFromCode(e){if(!(e=P(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=P(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]=$(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]=$(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=$(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=[],o=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&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):"string"==typeof e&&o(this.formatLanguageCode(e)),n.forEach((e=>{r.indexOf(e)<0&&o(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}],z={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 q=["v1","v2","v3"],V=["v4"],W={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=E.create("pluralResolver"),this.options.compatibilityJSON&&!V.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:z[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(P(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)=>W[e]-W[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 o=()=>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()}`:o():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?o():this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString()}shouldUseIntlApi(){return!q.includes(this.options.compatibilityJSON)}}function K(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=function(e,t,n){const r=R(e,n);return void 0!==r?r:R(t,n)}(e,t,n);return!i&&o&&"string"==typeof n&&(i=L(e,n,r),void 0===i&&(i=L(t,n,r))),i}class Y{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=E.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:F,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 o,i,a;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 o=K(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(o,void 0,n,{...r,...t,interpolationkey:e}):o}const o=e.split(this.formatSeparator),i=o.shift().trim(),a=o.join(this.formatSeparator).trim();return this.format(K(t,s,i,this.options.keySeparator,this.options.ignoreJSONStructure),a,n,{...r,...t,interpolationkey:i})};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(a=0;o=t.regex.exec(e);){const n=o[1].trim();if(i=c(n),void 0===i)if("function"==typeof u){const t=u(e,o,r);i="string"==typeof t?t:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))i="";else{if(d){i=o[0];continue}this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),i=""}else"string"==typeof i||this.useRawValueToEscape||(i=C(i));const s=t.safeValue(i);if(e=e.replace(o[0],s),d?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,a++,a>=this.maxReplaces)break}})),e}nest(e,t){let n,r,o,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function a(e,t){const n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;const r=e.split(new RegExp(`${n}[ ]*{`));let i=`{${r[1]}`;e=r[0],i=this.interpolate(i,o);const a=i.match(/'/g),s=i.match(/"/g);(a&&a.length%2==0&&!s||s.length%2!=0)&&(i=i.replace(/'/g,'"'));try{o=JSON.parse(i),t&&(o={...t,...o})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return delete o.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){let s=[];o={...i},o=o.replace&&"string"!=typeof o.replace?o.replace:o,o.applyPostProcessor=!1,delete o.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(a.call(this,n[1].trim(),o),o),r&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=C(r)),r||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),r=""),l&&(r=s.reduce(((e,t)=>this.format(e,t,i.lng,{...i,interpolationkey:n[1].trim()})),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}function X(e){const t={};return function(n,r,o){const i=r+JSON.stringify(o);let a=t[i];return a||(a=e(P(r),o),t[i]=a),a(n)}}class J{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=E.create("formatter"),this.options=e,this.formats={number:X(((e,t)=>{const n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)})),currency:X(((e,t)=>{const n=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>n.format(e)})),datetime:X(((e,t)=>{const n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)})),relativetime:X(((e,t)=>{const n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||"day")})),list:X(((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()]=X(t)}format(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=t.split(this.formatSeparator).reduce(((e,t)=>{const{formatName:o,formatOptions:i}=function(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);"currency"===t&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach((e=>{if(!e)return;const[t,...r]=e.split(":"),o=r.join(":").trim().replace(/^'+|'+$/g,"");n[t.trim()]||(n[t.trim()]=o),"false"===o&&(n[t.trim()]=!1),"true"===o&&(n[t.trim()]=!0),isNaN(o)||(n[t.trim()]=parseInt(o,10))}))}return{formatName:t,formatOptions:n}}(t);if(this.formats[o]){let t=e;try{const a=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{};t=this.formats[o](e,a.locale||a.lng||r.locale||r.lng||n,{...i,...r,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e}),e);return o}}class Z extends S{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=E.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 o={},i={},a={},s={};return e.forEach((e=>{let r=!0;t.forEach((t=>{const a=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===i[a]&&(i[a]=!0):(this.state[a]=1,r=!1,void 0===i[a]&&(i[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===s[t]&&(s[t]=!0)))})),r||(a[e]=!0)})),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){const r=e.split("|"),o=r[0],i=r[1];t&&this.emit("failedLoading",o,i,t),n&&this.store.addResourceBundle(o,i,n),this.state[e]=t?-1:2;const a={};this.queue.forEach((n=>{!function(e,t,n,r){const{obj:o,k:i}=T(e,t,Object);o[i]=o[i]||[],r&&(o[i]=o[i].concat(n)),r||o[i].push(n)}(n.loaded,[o],i),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=>{a[e]||(a[e]={});const t=n.loaded[e];t.length&&t.forEach((t=>{void 0===a[e][t]&&(a[e][t]=!0)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",a),this.queue=this.queue.filter((e=>!e.done))}read(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,i=arguments.length>5?arguments[5]:void 0;if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:o,callback:i});this.readingCalls++;const a=(a,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)}a&&s&&r<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,n,r+1,2*o,i)}),o):i(a,s)},s=this.backend[n].bind(this.backend);if(2!==s.length)return s(e,t,a);try{const n=s(e,t);n&&"function"==typeof n.then?n.then((e=>a(null,e))).catch(a):a(null,n)}catch(e){a(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 o=this.queueLoad(e,t,n,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.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],o=n[1];this.read(r,o,"read",void 0,void 0,((n,i)=>{n&&this.logger.warn(`${t}loading namespace ${o} for language ${r} failed`,n),!n&&i&&this.logger.log(`${t}loaded namespace ${o} for language ${r}`,i),this.loaded(e,n,i)}))}saveMissing(e,t,n,r,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=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={...i,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;o=5===l.length?l(e,t,n,r,s):l(e,t,n,r),o&&"function"==typeof o.then?o.then((e=>a(null,e))).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,n,r,a,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}function Q(){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 ee(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 te(){}class ne extends S{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=ee(e),this.services={},this.logger=E,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=Q();function o(e){return e?"function"==typeof e?new e:e:null}if(this.options={...r,...this.options,...ee(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;E.init(this.modules.logger?o(this.modules.logger):null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=J);const n=new j(this.options);this.store=new O(this.options.resources,this.options);const i=this.services;i.logger=E,i.resourceStore=this.store,i.languageUtils=n,i.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||(i.formatter=o(t),i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new Y(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new Z(o(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];e.emit(t,...r)})),this.modules.languageDetector&&(i.languageDetector=o(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=o(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new U(this.services,this.options),this.translator.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];e.emit(t,...r)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,n||(n=te),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 i=k(),a=()=>{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),i.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?a():setTimeout(a,0),i}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:te;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=k();return e||(e=this.languages),t||(t=this.options.ns),n||(n=te),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&&N.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=k();this.emit("languageChanging",e);const o=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(e,i)=>{i?(o(i),this.translator.changeLanguage(i),this.isLanguageChangingTo=void 0,this.emit("languageChanged",i),this.logger.log("languageChanged",i)):this.isLanguageChangingTo=void 0,r.resolve((function(){return n.t(...arguments)})),t&&t(e,(function(){return n.t(...arguments)}))},a=t=>{e||t||!this.services.languageDetector||(t=[]);const n="string"==typeof t?t:this.services.languageUtils.getBestMatchFromCodes(t);n&&(this.language||o(n),this.translator.language||this.translator.changeLanguage(n),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(n)),this.loadResources(n,(e=>{i(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(a):this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),r}getFixedT(e,t,n){var r=this;const o=function(e,t){let i;if("object"!=typeof t){for(var a=arguments.length,s=new Array(a>2?a-2:0),l=2;l<a;l++)s[l-2]=arguments[l];i=r.options.overloadTranslationOptionHandler([e,t].concat(s))}else i={...t};i.lng=i.lng||o.lng,i.lngs=i.lngs||o.lngs,i.ns=i.ns||o.ns,i.keyPrefix=i.keyPrefix||n||o.keyPrefix;const c=r.options.keySeparator||".";let u;return u=i.keyPrefix&&Array.isArray(e)?e.map((e=>`${i.keyPrefix}${c}${e}`)):i.keyPrefix?`${i.keyPrefix}${c}${e}`:e,r.t(u,i)};return"string"==typeof e?o.lng=e:o.lngs=e,o.ns=t,o.keyPrefix=n,o}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,o=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;const i=(e,t)=>{const n=this.services.backendConnector.state[`${e}|${t}`];return-1===n||2===n};if(t.precheck){const e=t.precheck(this,i);if(void 0!==e)return e}return!!this.hasResourceBundle(n,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!i(n,e)||r&&!i(o,e)))}loadNamespaces(e,t){const n=k();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=k();"string"==typeof e&&(e=[e]);const r=this.options.preload||[],o=e.filter((e=>r.indexOf(e)<0));return o.length?(this.options.preload=r.concat(o),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 j(Q());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 ne(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]:te;const n=e.forkResourceStore;n&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},o=new ne(r);void 0===e.debug&&void 0===e.prefix||(o.logger=o.logger.clone(e));return["store","services","language"].forEach((e=>{o[e]=this[e]})),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},n&&(o.store=new O(this.store.data,r),o.services.resourceStore=o.store),o.translator=new U(o.services,r),o.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];o.emit(e,...n)})),o.init(r,t),o.translator.options=r,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const re=ne.createInstance();re.createInstance=ne.createInstance;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function oe(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 se(){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 le=(e,t)=>()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout((()=>{e.off("initialized",n)}),0),t()};e.on("initialized",n)}};function ce(e,t,n){e.loadNamespaces(t,le(e,n))}function ue(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,le(e,r))}const de=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,he={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},fe=e=>he[e];let pe,ge={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(de,fe)};const me={type:"3rdParty",init(e){!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ge={...ge,...e}}(e.options.react),function(e){pe=e}(e)}},ve=n.createContext();class be{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach((e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)}))}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const ye=(e,t)=>{const r=n.useRef();return n.useEffect((()=>{r.current=t?r.current:e}),[e,t]),r.current};function we(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:i}=n.useContext(ve)||{},a=r||o||pe;if(a&&!a.reportNamespaces&&(a.reportNamespaces=new be),!a){se("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}a.options.react&&void 0!==a.options.react.wait&&se("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...ge,...a.options.react,...t},{useSuspense:l,keyPrefix:c}=s;let u=e||i||a.options&&a.options.defaultNS;u="string"==typeof u?[u]:u||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(u);const d=(a.isInitialized||a.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],o=!!t.options&&t.options.fallbackLng,i=t.languages[t.languages.length-1];if("cimode"===r.toLowerCase())return!0;const a=(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&&!a(t.isLanguageChangingTo,e)||!t.hasResourceBundle(r,e)&&t.services.backendConnector.backend&&(!t.options.resources||t.options.partialBundledLanguages)&&(!a(r,e)||o&&!a(i,e)))}(e,t,n):(se("i18n.languages were undefined or empty",t.languages),!0)}(e,a,s)));function h(){return a.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=ye(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?ue(a,t.lng,u,(()=>{v.current&&p(h)})):ce(a,u,(()=>{v.current&&p(h)}))),d&&m&&m!==g&&v.current&&p(h),e&&a&&a.on(e,r),n&&a&&a.store.on(n,r),()=>{v.current=!1,e&&a&&e.split(" ").forEach((e=>a.off(e,r))),n&&a&&n.split(" ").forEach((e=>a.store.off(e,r)))}}),[a,g]);const b=n.useRef(!0);n.useEffect((()=>{v.current&&!b.current&&p(h),b.current=!1}),[a,c]);const y=[f,a,d];if(y.t=f,y.i18n=a,y.ready=d,d)return y;if(!d&&!l)return y;throw new Promise((e=>{t.lng?ue(a,t.lng,u,(()=>e())):ce(a,u,(()=>e()))}))}function xe(e){return xe="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},xe(e)}function Ee(e){var t=function(e,t){if("object"!==xe(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==xe(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===xe(t)?t:String(t)}function Se(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,Ee(r.key),r)}}var ke=[],Ce=ke.forEach,Te=ke.slice;var Ae=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Re=function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{path:"/",sameSite:"strict"};n&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+60*n*1e3)),r&&(o.domain=r),document.cookie=function(e,t,n){var r=n||{};r.path=r.path||"/";var o=encodeURIComponent(t),i="".concat(e,"=").concat(o);if(r.maxAge>0){var a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");i+="; Max-Age=".concat(Math.floor(a))}if(r.domain){if(!Ae.test(r.domain))throw new TypeError("option domain is invalid");i+="; Domain=".concat(r.domain)}if(r.path){if(!Ae.test(r.path))throw new TypeError("option path is invalid");i+="; Path=".concat(r.path)}if(r.expires){if("function"!=typeof r.expires.toUTCString)throw new TypeError("option expires is invalid");i+="; Expires=".concat(r.expires.toUTCString())}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.sameSite)switch("string"==typeof r.sameSite?r.sameSite.toLowerCase():r.sameSite){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return i}(e,encodeURIComponent(t),o)},Ie=function(e){for(var t="".concat(e,"="),n=document.cookie.split(";"),r=0;r<n.length;r++){for(var o=n[r];" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null},_e={name:"cookie",lookup:function(e){var t;if(e.lookupCookie&&"undefined"!=typeof document){var n=Ie(e.lookupCookie);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupCookie&&"undefined"!=typeof document&&Re(t.lookupCookie,e,t.cookieMinutes,t.cookieDomain,t.cookieOptions)}},De={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("&"),o=0;o<r.length;o++){var i=r[o].indexOf("=");if(i>0)r[o].substring(0,i)===e.lookupQuerystring&&(t=r[o].substring(i+1))}}return t}},Fe=null,Me=function(){if(null!==Fe)return Fe;try{Fe="undefined"!==window&&null!==window.localStorage;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){Fe=!1}return Fe},Le={name:"localStorage",lookup:function(e){var t;if(e.lookupLocalStorage&&Me()){var n=window.localStorage.getItem(e.lookupLocalStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupLocalStorage&&Me()&&window.localStorage.setItem(t.lookupLocalStorage,e)}},Pe=null,Oe=function(){if(null!==Pe)return Pe;try{Pe="undefined"!==window&&null!==window.sessionStorage;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){Pe=!1}return Pe},Ne={name:"sessionStorage",lookup:function(e){var t;if(e.lookupSessionStorage&&Oe()){var n=window.sessionStorage.getItem(e.lookupSessionStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupSessionStorage&&Oe()&&window.sessionStorage.setItem(t.lookupSessionStorage,e)}},Be={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}},Ue={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}},$e={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}},je={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 Ge=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 Ce.call(Te.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(_e),this.addDetector(De),this.addDetector(Le),this.addDetector(Ne),this.addDetector(Be),this.addDetector(Ue),this.addDetector($e),this.addDetector(je)}},{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&&Se(t.prototype,n),r&&Se(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();Ge.type="languageDetector";var ze,qe,Ve="0.0.78";function We(){return window.platform}!function(e){e.NONE="NONE",e.ENROLL="ENROLL",e.IDENTIFY="IDENTIFY",e.VALIDATE="VALIDATE",e.VERIFY="VERIFY"}(ze||(ze={})),function(e){e.READY="READY",e.SUBMITTING="SUBMITTING",e.SUBMITTED="SUBMITTED",e.FAILED="FAILED"}(qe||(qe={}));var He={prod:"https://api.idmission.com",demo:"https://apidemo.idmission.com"},Ke=n.createContext({submit:function(){return m(void 0,void 0,void 0,(function(){return v(this,(function(e){return[2,null]}))}))},submissionStatus:qe.READY,submissionRequest:null,submissionResponse:null,submissionEnvironment:"prod",idFrontImage:null,idBackImage:null,passportImage:null,selfieImage:null,signatureData:null,signatureVideo:null,additionalDocuments:null,setIdFrontImage:function(){return null},setIdBackImage:function(){return null},setPassportImage:function(){return null},setSelfieImage:function(){return null},setSignatureData:function(){return null},setSignatureVideo:function(){return null},setAdditionalDocuments:function(){return null},logIdFrontCaptureAttempt:function(){return null},logIdBackCaptureAttempt:function(){return null},logSelfieCaptureAttempt:function(){return null},checkLiveness:function(){return m(void 0,void 0,void 0,(function(){return v(this,(function(e){throw new Error("checkLiveness is not implemented")}))}))},retryLocationAccess:function(){return null}});function Ye(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 He.prod;case"https://demoauth.idmission.com/auth/realms/identity":return He.demo}var n=He[e];if(!n)throw new Error("unrecognized SubmissionEnvironment ".concat(e));return n}function Xe(e){var t={"Content-Type":"application/json",Origin:"*"};return e&&(t.Authorization="Bearer ".concat(e)),t}function Je(e,t){var n=t.geolocationResult,r={selfie:t.selfieCaptureAttempts,front:t.idFrontCaptureAttempts,back:t.idBackCaptureAttempts,isRealIDCheckRequired:"false",sdkVersion:"WebSDK_".concat(Ve),Resolution:"".concat(window.innerWidth," x ").concat(window.innerHeight)},o=We();o&&(r.os=o.os.family,r.osVersion=o.os.version,r.browserVersion="".concat(o.name," ").concat(o.version)),n&&(r.GeoLocation=JSON.stringify(n)),e.additionalData.metadata=JSON.stringify(r)}function Ze(e){return m(this,void 0,void 0,(function(){return v(this,(function(t){return[2,e.replace(/^data:image\/(png|jpeg);base64,/,"")]}))}))}function Qe(e){return e.replace(/^data:.*;base64,/,"")}function et(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 tt,nt=h.default.div(tt||(tt=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:\n Inter,\n -apple-system,\n BlinkMacSystemFont,\n Segoe UI,\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n Fira Sans,\n Droid Sans,\n Helvetica Neue,\n 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:\n Inter,\n -apple-system,\n BlinkMacSystemFont,\n Segoe UI,\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n Fira Sans,\n Droid Sans,\n Helvetica Neue,\n 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})),rt=n.forwardRef((function(e,t){var r=e.children,o=e.className,i=e.heightOffset,a=void 0===i?0:i,s=e.style,l=e.onClick,u=n.useState(!1),d=u[0],h=u[1];return n.useEffect((function(){h(!1);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(),h(!0),function(){window.removeEventListener("resize",e)}}),[]),c.default.createElement(nt,{ref:t,style:s,onClick:l,className:o,$heightOffset:a},d&&r)}));rt.displayName="PageContainer";var ot,it,at,st,lt=h.default(rt)(ot||(ot=y(["\n background: white;\n z-index: 10000;\n"],["\n background: white;\n z-index: 10000;\n"]))),ct=h.default.div(it||(it=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"]))),ut=h.default.div(at||(at=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"]))),dt=h.default.div(st||(st=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 object-fit: contain;\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 object-fit: contain;\n }\n }\n"]))),ht=function(){return ht=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},ht.apply(this,arguments)},ft={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"},pt=function(){function e(e){void 0===e&&(e={}),this.opts=ht(ht({},ft),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"),gt(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 o=function(e){for(var t=/^\s*([a-zA-Z]+\s+)?(-?\d+(\.\d+)?)([a-zA-Z]*)\s+(-?\d+(\.\d+)?)([a-zA-Z]*)(.*)$/,n=[],r=0,o=e.split(",");r<o.length;r++){var i=o[r].match(t);if(null!==i){var a=+i[2],s=+i[5],l=i[4],c=i[7];0!==a||l||(l=c),0!==s||c||(c=l),l===c&&n.push({prefix:i[1]||"",x:a,y:s,xUnits:l,yUnits:c,end:i[8]})}}return n}(r),i=0;i<t.lines;i++){var a=~~(360/t.lines*i+t.rotate),s=gt(document.createElement("div"),{position:"absolute",top:-t.width/2+"px",width:t.length+t.width+"px",height:t.width+"px",background:mt(t.fadeColor,i),borderRadius:n,transformOrigin:"left",transform:"rotate("+a+"deg) translateX("+t.radius+"px)"}),l=i*t.direction/t.lines/t.speed;l-=1/t.speed;var c=gt(document.createElement("div"),{width:"100%",height:"100%",background:mt(t.color,i),borderRadius:n,boxShadow:vt(o,a),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 gt(e,t){for(var n in t)e.style[n]=t[n];return e}function mt(e,t){return"string"==typeof e?e:e[t%e.length]}function vt(e,t){for(var n=[],r=0,o=e;r<o.length;r++){var i=o[r],a=bt(i.x,i.y,t);n.push(i.prefix+a[0]+i.xUnits+" "+a[1]+i.yUnits+i.end)}return n.join(", ")}function bt(e,t,n){var r=n*Math.PI/180,o=Math.sin(r),i=Math.cos(r);return[Math.round(1e3*(e*i+t*o))/1e3,Math.round(1e3*(-e*o+t*i))/1e3]}function yt(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,o=e.querySelector(".ladda-spinner");o||((o=document.createElement("span")).className="ladda-spinner"),e.appendChild(o);var i={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 o=.2*r;return new pt({color:t||"#fff",lines:n||12,radius:o,length:.6*o,width:o<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(o),this.setProgress(0),this},startAfter:function(e){return clearTimeout(n),n=setTimeout((function(){i.start()}),e),this},stop:function(){return i.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 i}console.warn("Ladda button target must be defined.")}var wt,xt,Et,St=function(e){var t=e.children,r=e.colors,o=void 0===r?{}:r,i=e.disabled,a=e.finished,s=e.onClick,l=e.style,u=n.useRef(null),d=n.useRef(null);return o.backgroundColor||(o.backgroundColor="#16a085"),o.textColor||(o.textColor="white"),o.loadingBackgroundColor||(o.loadingBackgroundColor="gray"),o.loadingTextColor||(o.loadingTextColor="white"),n.useEffect((function(){if(u.current){d.current=yt(u.current),d.current.start();var e=0,t=setInterval((function(){var t;e<.9&&(e+=.1),null===(t=d.current)||void 0===t||t.setProgress(e)}),250);return function(){var e;null===(e=d.current)||void 0===e||e.remove(),clearInterval(t)}}}),[]),n.useEffect((function(){var e;a&&(null===(e=d.current)||void 0===e||e.stop())}),[a]),c.default.createElement(kt,{className:"ladda-button","data-style":"expand-right",disabled:i,ref:u,onClick:s,$backgroundColor:o.backgroundColor,$textColor:o.textColor,$disabledBackgroundColor:o.loadingBackgroundColor,$disabledTextColor:o.loadingTextColor,style:l},c.default.createElement("span",{className:"ladda-label"},t))},kt=h.default.button(wt||(wt=y(["\n border-radius: 0;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n text-transform: none;\n -webkit-appearance: button;\n\n &:not(:disabled),\n &[type='button']:not(:disabled),\n &[type='reset']:not(:disabled),\n &[type='submit']:not(:disabled) {\n cursor: pointer;\n }\n\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n\n --bs-btn-padding-x: 0.75rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &:hover {\n filter: brightness(1.15);\n }\n\n &:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n }\n\n --bs-btn-color: ",";\n --bs-btn-bg: ",";\n --bs-btn-border-color: ",";\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0a58ca;\n --bs-btn-active-border-color: #0a53be;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: ",";\n --bs-btn-disabled-bg: ",";\n --bs-btn-disabled-border-color: ",";\n\n --bs-btn-padding-y: 14px;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 18px;\n --bs-btn-border-radius: 4px;\n"],["\n border-radius: 0;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n text-transform: none;\n -webkit-appearance: button;\n\n &:not(:disabled),\n &[type='button']:not(:disabled),\n &[type='reset']:not(:disabled),\n &[type='submit']:not(:disabled) {\n cursor: pointer;\n }\n\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n\n --bs-btn-padding-x: 0.75rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &:hover {\n filter: brightness(1.15);\n }\n\n &:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n }\n\n --bs-btn-color: ",";\n --bs-btn-bg: ",";\n --bs-btn-border-color: ",";\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0a58ca;\n --bs-btn-active-border-color: #0a53be;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: ",";\n --bs-btn-disabled-bg: ",";\n --bs-btn-disabled-border-color: ",";\n\n --bs-btn-padding-y: 14px;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 18px;\n --bs-btn-border-radius: 4px;\n"])),(function(e){var t=e.$textColor;return null!=t?t:"#fff"}),(function(e){var t=e.$backgroundColor;return null!=t?t:"#0d6efd"}),(function(e){var t=e.$backgroundColor;return null!=t?t:"#0d6efd"}),(function(e){var t=e.$disabledTextColor;return null!=t?t:"#fff"}),(function(e){var t=e.$disabledBackgroundColor;return null!=t?t:"#0d6efd"}),(function(e){var t=e.$disabledBackgroundColor;return null!=t?t:"#0d6efd"})),Ct=function(e){var t=e.accessBlockedImageUrl,r=we().t,o=n.useContext(Ke).retryLocationAccess;return c.default.createElement(lt,null,c.default.createElement("div",{style:{display:"flex",height:"100%"}},c.default.createElement(ct,{style:{maxWidth:500,height:"auto",margin:"auto"}},c.default.createElement(ut,{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(St,{onClick:o,style:{width:200,marginLeft:"auto",marginRight:"auto"},finished:!0},r("Retry")))))},Tt=function(e){var t=e.submissionError;return c.default.createElement(lt,null,c.default.createElement(ct,{style:{justifyContent:"center"}},c.default.createElement("h3",{style:{marginBottom:8}},"We're sorry, an unexpected error has occurred."),t.status.statusCode&&c.default.createElement("p",{style:{marginBottom:0}},c.default.createElement("code",null,"Status: ",t.status.statusCode)),c.default.createElement("p",{style:{marginBottom:0}},c.default.createElement("code",null,t.message)),t.status.errorData&&c.default.createElement("p",{style:{marginBottom:0}},c.default.createElement("code",null,t.status.errorData))))},At=function(e){function t(t){var n=e.call(this,t.statusMessage)||this;return n.status=t,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error),Rt=function(e){var t=e.action,r=e.children,o=e.url,i=e.environment,a=void 0===i?"prod":i,s=e.token,l=e.companyId,u=e.enrollmentId,d=e.personalData,h=e.cardData,f=e.manualReviewRequired,p=void 0!==f&&f,y=e.verifyIdWithExternalDatabases,w=void 0!==y&&y,x=e.deduplicationEnabled,E=void 0!==x&&x,S=e.deduplicationSynchronous,k=void 0!==S&&S,C=e.geolocationEnabled,T=void 0===C||C,A=e.geolocationRequired,R=void 0!==A&&A,I=e.webhooksEnabled,_=void 0!==I&&I,D=e.webhooksClientTraceId,F=e.webhooksStripSpecialCharacters,M=void 0===F||F,L=e.onBeforeSubmit,P=e.onResponseReceived,O=e.onRequestFailure,N=n.useState(qe.READY),B=N[0],U=N[1],$=n.useState(null),j=$[0],G=$[1],z=n.useState(null),q=z[0],V=z[1],W=n.useState(null),H=W[0],K=W[1],Y=n.useState(null),X=Y[0],J=Y[1],Z=n.useState(null),Q=Z[0],ee=Z[1],te=n.useState(null),ne=te[0],re=te[1],oe=n.useState(null),ie=oe[0],ae=oe[1],se=n.useState(null),le=se[0],ce=se[1],ue=n.useState(null),de=ue[0],he=ue[1],fe=n.useState(null),pe=fe[0],ge=fe[1],me=n.useState(null),ve=me[0],be=me[1],ye=n.useState(0),we=ye[0],xe=ye[1],Ee=n.useState(!1),Se=Ee[0],ke=Ee[1],Ce=n.useState([]),Te=Ce[0],Ae=Ce[1],Re=n.useState([]),Ie=Re[0],_e=Re[1],De=n.useState([]),Fe=De[0],Me=De[1],Le=n.useCallback((function(e){Ae((function(t){return b(b([],t,!0),[e],!1)}))}),[]),Pe=n.useCallback((function(e){_e((function(t){return b(b([],t,!0),[e],!1)}))}),[]),Oe=n.useCallback((function(e){Me((function(t){return b(b([],t,!0),[e],!1)}))}),[]),Ne=n.useCallback((function(){return m(void 0,void 0,void 0,(function(){var e,n,r,i,c,f,m,b,y,x,S,C;return v(this,(function(v){switch(v.label){case 0:if(t===ze.NONE)return e={status:{statusCode:"000"},resultData:{}},U(qe.SUBMITTED),V(e),[2,e];U(qe.SUBMITTING),v.label=1;case 1:return v.trys.push([1,8,,9]),n={securityData:{userName:"",password:"",merchantId:0},customerData:{idData:{idType:"NSP",idCountry:"NSP",idState:""}},additionalData:{uniqueRequestId:(new Date).getTime().toString(),manualReviewRequired:p?"Y":"N",bypassAgeValidation:"N",deDuplicationRequired:E?"Y":"N",bypassNameMatching:"Y",postDataAPIRequired:_?"Y":"N",sendInputImagesInPost:"N",sendProcessedImagesInPost:"N",needImmediateResponse:"N",deduplicationSynchronous:k?"Y":"N",verifyDataWithHost:w?"Y":"N",idBackImageRequired:"N",stripSpecialCharacters:M?"Y":"N",idImageResolutionCheck:"Y"}},X&&(n.customerData.idData.idImageFront=X),Q&&(n.customerData.idData.idImageBack=Q),ne&&(n.customerData.idData.idImageFront=ne),ie&&(t===ze.IDENTIFY?n.biometricData={selfie:ie}:n.customerData.biometricData={selfie:ie}),l&&(n.employee={companyId:l}),d&&(n.customerData.personalData=d),h&&(n.customerData.cardData=h),u&&((C=n.customerData).personalData||(C.personalData={}),n.customerData.personalData.uniqueNumber=u),D&&(n.additionalData.clientTraceId=D),le&&(n.customerData.signatureData={signatureImage:JSON.stringify(le)}),pe&&(n.customerData.additionalDocuments=pe.map((function(e){return g(g({},e),{additionalDocument:JSON.stringify(g(g({},e.additionalDocument),{uniqueId:n.additionalData.uniqueRequestId}))})}))),Je(n,{selfieCaptureAttempts:Fe,idFrontCaptureAttempts:Te,idBackCaptureAttempts:Ie,geolocationResult:ve}),L?[4,L(n)]:[3,3];case 2:(r=v.sent())&&(n=r),v.label=3;case 3:return i=o||Ye(a,s),c=function(e,t,n,r){var o=r?"v4":"v3";switch(e){case ze.ENROLL:return"/".concat(o,t?"/customer/enroll":"/customer/enroll-biometrics");case ze.IDENTIFY:return"/".concat(o,"/customer/identify");case ze.VALIDATE:return"/".concat(o,n?"/customer/validate-id-match-face":"/customer/validate-id");case ze.VERIFY:return"/".concat(o,"/customer/verify");default:throw new Error("unrecognized SubmissionAction ".concat(e))}}(t,!!(X||Q||ne),!!ie,!!s),[4,fetch(i+c,{method:"POST",headers:Xe(s),body:JSON.stringify(n)})];case 4:return(f=v.sent()).ok?[3,6]:(m=At.bind,S={statusCode:f.statusText},[4,f.text()]);case 5:throw new(m.apply(At,[void 0,(S.statusMessage=v.sent(),S)]));case 6:return[4,f.json()];case 7:if("000"!==(b=v.sent()).status.statusCode)throw new At(b.status);return G(n),V(b),U(qe.SUBMITTED),null==P||P(b),[2,b];case 8:throw y=v.sent(),x=y,U(qe.FAILED),K(y instanceof At?y:new At({statusCode:"",statusMessage:x.message})),null==O||O(x),x;case 9:return[2]}}))}))}),[t,pe,h,l,E,k,u,a,ve,Ie,Q,Te,X,p,L,O,P,ne,d,Fe,ie,le,s,o,w,D,_,M]),Be=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){var t,n,r,i,l,c,u,d,h,f,p,g;return v(this,(function(m){switch(m.label){case 0:return m.trys.push([0,6,,7]),h={securityData:{userName:"",password:"",merchantId:0}},f={},p={},[4,Ze(e)];case 1:return h.customerData=(f.biometricData=(p.selfie=m.sent(),p),f),h.additionalData={uniqueRequestId:(new Date).getTime().toString(),stripSpecialCharacters:"Y",estimateAge:"N",predictGender:"N"},Je(t=h,{selfieCaptureAttempts:Fe,idFrontCaptureAttempts:Te,idBackCaptureAttempts:Ie,geolocationResult:ve}),n=o||Ye(a,s),r="/".concat(!!s?"v4":"v3","/customer/live-check"),[4,fetch(n+r,{method:"POST",headers:Xe(s),body:JSON.stringify(t)})];case 2:return(i=m.sent()).ok?[3,4]:(l=At.bind,g={statusCode:i.statusText},[4,i.text()]);case 3:throw new(l.apply(At,[void 0,(g.statusMessage=m.sent(),g)]));case 4:return[4,i.json()];case 5:if("000"!==(c=m.sent()).status.statusCode)throw new At(c.status);return V(c),[2,c];case 6:throw u=m.sent(),d=u,U(qe.FAILED),K(u instanceof At?u:new At({statusCode:"",statusMessage:d.message})),null==O||O(d),d;case 7:return[2]}}))}))}),[a,ve,Ie,Te,O,Fe,s,o]),Ue=n.useCallback((function(){xe((function(e){return e+1}))}),[]);return n.useEffect((function(){T&&(console.log("making geolocation attempt",we),navigator.geolocation.getCurrentPosition((function(e){be(e),ke(!1)}),(function(e){if(1!==e.code)throw new Error(e.message);ke(!0)})))}),[we,T,R]),c.default.createElement(Ke.Provider,{value:{submit:Ne,submissionStatus:B,submissionRequest:j,submissionResponse:q,submissionEnvironment:a,idFrontImage:X,idBackImage:Q,passportImage:ne,selfieImage:ie,signatureData:le,signatureVideo:de,additionalDocuments:pe,setIdFrontImage:J,setIdBackImage:ee,setPassportImage:re,setSelfieImage:ae,setSignatureData:ce,setSignatureVideo:he,setAdditionalDocuments:ge,logIdFrontCaptureAttempt:Le,logIdBackCaptureAttempt:Pe,logSelfieCaptureAttempt:Oe,checkLiveness:Be,retryLocationAccess:Ue}},R&&Se?c.default.createElement(Ct,null):H?c.default.createElement(Tt,{submissionError:H}):r)};function It(e){return m(this,void 0,void 0,(function(){var t,n,r,o,i,a;return v(this,(function(s){switch(s.label){case 0:return Et?[2,Et]:[4,f.loadGraphModel(e)];case 1:return Et=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]),o=f.cast(r,"int32"),a=(i=f).dispose,[4,Et.executeAsync(o)];case 3:return a.apply(i,[s.sent()]),n.dispose(),o.dispose(),r.dispose(),f.dispose(t),[2,Et]}}))}))}!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"}(xt||(xt={}));var _t={1:"Document",2:"MRZ",3:"PDF417",4:"Primary face",5:"Secondary face",6:"Glare",7:"Punch Hole",8:"Passport Page"};function Dt(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 Ft(e){void 0===e&&(e={});var t=e.onResize,r=n.useRef(void 0);r.current=t;var o=e.round||Math.round,i=n.useRef(),a=n.useState({width:void 0,height:void 0}),s=a[0],l=a[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),o=n.useRef(null);o.current=t;var i=n.useRef(null);n.useEffect((function(){a()}));var a=n.useCallback((function(){var t=o.current,n=i.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){i.current=e,a()}),[a])}(n.useCallback((function(t){return i.current&&i.current.box===e.box&&i.current.round===o||(i.current={box:e.box,round:o,instance:new ResizeObserver((function(t){var n=t[0],i="border-box"===e.box?"borderBoxSize":"device-pixel-content-box"===e.box?"devicePixelContentBoxSize":"contentBoxSize",a=Dt(n,i,"inlineSize"),s=Dt(n,i,"blockSize"),d=a?o(a):void 0,h=s?o(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)}}))}),i.current.instance.observe(t,{box:e.box}),function(){i.current&&i.current.instance.unobserve(t)}}),[e.box,o]),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 Mt=n.createContext({orientation:"landscape",wrapperWidth:1,wrapperHeight:1,wrapperAspectRatio:0,imageAspectRatio:0,wrapperRef:null,setDimensions:function(){return null},onImageLoaded:function(){return null}});let Lt;function Pt(e){if(void 0!==Lt)return Lt;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 Ot=function(e){var t=e.width,r=void 0===t?0:t,o=e.height,i=void 0===o?0:o,a=e.padding,s=void 0===a?Pt()?0:50:a,l=e.borderWidth,u=void 0===l?4:l,d=e.borderColor,h=void 0===d?"white":d,f=e.isMirrored,p=void 0!==f&&f,m=e.instruction,v=void 0===m?"":m,b=e.portraitGuidesImageUrl,y=e.landscapeGuidesImageUrl,w=e.onClick,x=n.useContext(Mt),E=x.orientation,S=x.wrapperRef,k=x.wrapperWidth,C=x.wrapperHeight,T=x.imageAspectRatio,A=x.wrapperAspectRatio,R=x.onImageLoaded,I=x.setDimensions;0==r&&(r=k),0==i&&(i=C),n.useEffect((function(){I({width:r,height:i})}),[i,I,r]);var _={height:C-2*s-2*u};return T>=A&&(_={width:k-2*s-2*u}),c.default.createElement(rt,{ref:S,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:p?"scaleX(-1)":"",border:"".concat(u,"px solid ").concat(h),maxWidth:"calc(100% - ".concat(2*s,"px - ").concat(2*u,"px)"),maxHeight:i-2*s-2*u}},c.default.createElement("img",{src:"portrait"===E?b:y,alt:"",onLoad:R,style:g({},_)})),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 Nt(e){return m(this,void 0,void 0,(function(){var t;return v(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 Bt(e,t){return void 0===t&&(t=!1),m(this,void 0,void 0,(function(){var n,r,o,i,a,s,l,c,u;return v(this,(function(d){switch(d.label){case 0:return[4,new Promise((function(a){if(o=e.naturalWidth,i=e.naturalHeight,n=document.createElement("canvas"),!(r=n.getContext("2d")))return[];if(t){console.log("rotating!!"),n.width=i,n.height=o,r.setTransform(0,1,-1,0,n.width,0),r.drawImage(e,0,0,o,i);var s=new Image;s.width=n.width,s.height=n.height,s.onload=function(){a(s)},n.toBlob((function(e){e&&(s.src=URL.createObjectURL(e))}))}else r.drawImage(e,0,0,n.width,n.height),a(e)}))];case 1:return a=d.sent(),s=new ZXing.BitmapLuminanceSource(r,a),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 Ut(){return"BarcodeDetector"in window}function $t(e,t){var n=this;return new Promise((function(r){var o=new Image;o.onload=function(){return m(n,void 0,void 0,(function(){var e,n,i,a;return v(this,(function(s){switch(s.label){case 0:return Ut()?[4,Nt(o)]:[3,2];case 1:return n=s.sent(),console.log("native result",n,"".concat(o.width,"x").concat(o.height)),r(n.length>0?g(g({},n[0]),{Source:"native"}):null),[3,4];case 2:return e=(null!==(i=null==t?void 0:t[2])&&void 0!==i?i:0)<(null!==(a=null==t?void 0:t[3])&&void 0!==a?a:0),[4,Bt(o,e)];case 3:n=s.sent(),console.log("zxing result",n),r(n.length>0?g(g({},n[0]),{Source:"zxing"}):null),s.label=4;case 4:return[2]}}))}))},o.src=URL.createObjectURL(e)}))}function jt(){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 Gt,zt=["front","avant","anteriore","cameraaanvoorzijde","kamerapåframsidan","forsidekamera","kamerapåforsiden","aparatprzedni","etukamera","kameradepan","ÖnKamera","cameramặttrước","camerăfață","prednákamera","prednjakamera","előlapikamera","přednífotoaparát","μπροστινήκάμερα","переднякамера","передняякамера","преднакамера","алдыңғыкамера","מצלמה קדמית","الكاميرا الأمامية","फ़्रंटकैमरा","前置相机","前置鏡頭","前面カメラ","전면카메라","กล้องด้านหน้า"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),qt=["back","rear","posterior","trasera","traseira","arrière","rückkamera","fotocamera(posteriore)","cameraaanachterzijde","kamerapåbaksidan","kamerapåbaksiden","bagsidekamera","aparattylny","takakamera","arkakamera","kamerabelakang","cameramặtsau","camerăspate","stražnjakamera","zadnákamera","hátoldalikamera","zadnífotoaparát","πίσωκάμερα","заднякамера","Задняякамера","заднакамера","артқыкамера","מצלמה אחורית","الكاميرا الخلفية","बैककैमरा","后置相机","後置鏡頭","背面カメラ","후면카메라","กล้องด้านหลัง"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),Vt=["backultrawidecamera","ultraampliaposterior","ultra-angulartraseira","ultragrandeangulartraseira","ultragrandangle","ultragranangular","ultra-weitwinkelkamera","ultra-grandangolo","ultrabredecameraaanachterzijde","ultravidvinkelkamerapåbaksidan","ultravidvinkelkameraetpåbagsiden","ultravidvinkelkamerabak","ultragenişkameraarkayüzü","ultralaajakulmainentakakamera","tylnyaparatultraszerokokątny","cameracựcrộngmặtsau","camerăcuobiectivultra‑superangularspate","ultraszéleslátószögűkamera","kameraultralebarbelakang","stražnjaultraširokakamera","zadníultraširokoúhlýfotoaparát","ultraširokouhlá","πίσωυπερευρείακάμερα","заднянадширококутнакамера","Задняясверхширокоугольнаякамера","Задна свръх широкоъгълна камера","артқыультракеңбұрыштыкамера","מצלמה אולטרה רחבה אחורית","كاميرا خلفية عريضة جدًا","बैकअल्ट्रावाइडकैमरा","后置超广角相机","後置超廣角鏡頭相機","背面超広角カメラ","후면울트라와이드카메라","กล้องด้านหลังอัลตร้าไวด์"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),Wt=function(e,t){var n=e instanceof MediaDeviceInfo?Ht(e):e;return("string"==typeof t?[t]:t).some((function(e){return n.includes(e)}))},Ht=function(e){return e.label.toLocaleLowerCase().split(" ").join("")};function Kt(){Gt&&(console.log("releasing camera access..."),Gt.release(),Gt=void 0)}var Yt,Xt=function(e){var t=void 0===e?{preferFrontFacingCamera:!1,preferContinuityCamera:!0,requestMicrophoneAccess:!1}:e,r=t.preferFrontFacingCamera,o=void 0!==r&&r,i=t.preferContinuityCamera,a=void 0===i||i,s=t.requestMicrophoneAccess,l=void 0!==s&&s,c=n.useRef(null),u=n.useRef(null),d=n.useState(null),h=d[0],f=d[1],p=n.useState(!1),g=p[0],y=p[1],w=n.useState(null),x=w[0],E=w[1],S=n.useState(!1),k=S[0],C=S[1],T=n.useState(a),A=T[0],R=T[1],I=n.useState(!1),_=I[0],D=I[1],F=n.useState(!1),M=F[0],L=F[1];n.useEffect((function(){console.log("iphone continuity camera allowed changed",A),Kt(),u.current=null,y(!1)}),[A]);var P=n.useCallback((function(){L(!1)}),[]);n.useEffect((function(){M||function(e){return m(this,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,navigator.mediaDevices.getUserMedia({video:{facingMode:{exact:e}},audio:!1})];case 1:return t=r.sent(),[3,3];case 2:return r.sent(),[2,[]];case 3:return[4,navigator.mediaDevices.enumerateDevices()];case 4:return n=r.sent().filter((function(e){return"videoinput"===e.kind})),t.getVideoTracks().forEach((function(e){e.enabled=!1,e.stop()})),t=null,[2,n]}}))}))}().then((function(e){var t,n=We();if(!(_||n&&"OS X"!==n.os.family)){var r=e.find((function(e){return Wt(e,"iphone")}));C(!!r),r&&A&&(t=r)}o&&(t=e.find((function(e){return Wt(e,zt)}))),jt()?t||(t=e.find((function(e){return Wt(e,Vt)}))):t||(t=e.find((function(e){return Wt(e,qt)&&!Wt(e,Vt)}))),t||(t=e.find((function(e){return Wt(e,qt)}))),!o&&"iOS"===(null==n?void 0:n.os.family)&&e.length>0&&(t||(t=e[1])),t||(t=e[0]),f(t)})).catch((function(e){if("NotAllowedError"!==e.name)throw e;console.error("camera access has been blocked by the user",e),L(!0)}))}),[M,A,_,o]),n.useEffect((function(){var e;if(h){var t=function(){Kt(),u.current=null,y(!1)};return(null===(e=navigator.mediaDevices)||void 0===e?void 0:e.getUserMedia)?(m(void 0,void 0,void 0,(function(){var e;return v(this,(function(t){switch(t.label){case 0:e=null,t.label=1;case 1:return t.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia({audio:l,video:{deviceId:{exact:h.deviceId},width:{ideal:1920},aspectRatio:1.777777778}})];case 2:return e=t.sent(),[3,4];case 3:return"NotAllowedError"===t.sent().name?(A?(C(!1),D(!0)):L(!0),[2]):[3,4];case 4:if(e)return[3,8];t.label=5;case 5:return t.trys.push([5,7,,8]),[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 6:return e=t.sent(),console.log("opened stream with no width and height constraints"),[3,8];case 7:return t.sent(),console.log("cannot open stream at all"),[3,8];case 8:if(!e)throw new Error("failed to open camera");return e.getVideoTracks()[0].onended=function(){var e;k&&A?(console.log("someone unplugged the continuity camera"),C(!1),D(!0)):(console.log("someone unplugged the webcam"),null===(e=u.current)||void 0===e||e.release(),u.current=null,y(!1),L(!0),E(null))},u.current=function(e,t,n){Kt(),console.log("obtaining camera access...");var r=e.getVideoTracks()[0].getSettings(),o=r.width,i=r.height,a=t.toLocaleLowerCase().split(" ").join(""),s=Wt(a,b(b(b([],qt,!0),Vt,!0),["iphone"],!1));return o||(o=0),i||(i=0),Gt={label:t,stream:e,width:o,height:i,isRearFacing:s,release:function(){e.getTracks().forEach((function(e){e.enabled=!1,e.stop()})),n&&(n.pause(),n.srcObject=null,n.src="")}},n&&(n.srcObject=e),Gt}(e,h.label,c.current),[2]}}))})),t):t}}),[A,k,l,h]),n.useEffect((function(){E(null),g&&m(void 0,void 0,void 0,(function(){var e,t,n,r;return v(this,(function(o){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])?(E(new ImageCapture(e)),[2]):[2]}))}))}),[g]);var O=n.useCallback((function(){return m(void 0,void 0,void 0,(function(){return v(this,(function(e){switch(e.label){case 0:return x?[4,x.grabFrame()]:[2,null];case 1:return[2,e.sent()]}}))}))}),[x]),N=n.useCallback((function(){return m(void 0,void 0,void 0,(function(){var e,t,n,r,o;return v(this,(function(i){switch(i.label){case 0:return e=document.createElement("canvas"),(t=e.getContext("2d"))&&u.current&&c.current?(e.width=null===(r=c.current)||void 0===r?void 0:r.videoWidth,e.height=null===(o=c.current)||void 0===o?void 0:o.videoHeight,t.drawImage(c.current,0,0,e.width,e.height),n=e.toDataURL("image/jpeg",.98),[4,fetch(n)]):[2,null];case 1:return[4,i.sent().blob()];case 2:return[2,i.sent()]}}))}))}),[]);return{videoRef:c,videoDevice:h,videoLoaded:g,setVideoLoaded:y,cameraRef:u,cameraAccessDenied:M,retryCameraAccess:P,releaseCameraAccess:Kt,iphoneContinuityCameraAvailable:k,iphoneContinuityCameraAllowed:A,setIphoneContinuityCameraAllowed:R,captureDevice:x,grabFrame:O,takePhoto:N}},Jt=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}}),Zt=function(e){var t=e.children,r=e.preferFrontFacingCamera,o=e.preferContinuityCamera,i=e.requestMicrophoneAccess,a=Xt({preferFrontFacingCamera:void 0!==r&&r,preferContinuityCamera:void 0===o||o,requestMicrophoneAccess:void 0!==i&&i}),s=a.videoRef,l=a.videoLoaded,u=a.setVideoLoaded,d=a.cameraRef,h=a.cameraAccessDenied,f=a.retryCameraAccess,p=a.releaseCameraAccess,g=a.iphoneContinuityCameraAvailable,m=a.iphoneContinuityCameraAllowed,v=a.setIphoneContinuityCameraAllowed,b=a.grabFrame,y=a.takePhoto,w=a.captureDevice,x=n.useState(!1),E=x[0],S=x[1];return n.useEffect((function(){S(!1),w&&S(!0)}),[w]),n.useEffect((function(){return function(){p()}}),[p]),c.default.createElement(Jt.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:b,takePhoto:y}},t)};function Qt(e){return m(this,void 0,void 0,(function(){var t,n,r,o,i,a,s,l,c;return v(this,(function(u){switch(u.label){case 0:return Yt?[2,Yt]:[4,f.loadLayersModel(e)];case 1:return Yt=u.sent(),[4,f.ready()];case 2:return u.sent(),t=f.zeros([448,448,3]),n=f.cast(t,"int32"),i=(o=f).tensor4d,s=(a=Array).from,[4,n.data()];case 3:return r=i.apply(o,[s.apply(a,[u.sent()]),[1,448,448,3]]),l=f.cast(r,"int32"),[4,Yt.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,Yt]}}))}))}class en{refCount(e){return tn("refCount")}incRef(e){return tn("incRef")}timerAvailable(){return!0}time(e){return tn("time")}read(e){return tn("read")}readSync(e){return tn("readSync")}readToGPU(e,t){return tn("readToGPU")}numDataIds(){return tn("numDataIds")}disposeData(e,t){return tn("disposeData")}write(e,t,n){return tn("write")}move(e,t,n,r,o){return tn("move")}createTensorFromGPUData(e,t,n){return tn("createTensorFromGPUData")}memory(){return tn("memory")}floatPrecision(){return tn("floatPrecision")}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}dispose(){return tn("dispose")}}function tn(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 nn(e,t){if(!e)throw new Error("string"==typeof t?t:t())}function rn(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 on(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 an(e,t){return t<=e.length?e:e+" ".repeat(t-e.length)}function sn(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 ln(e){return"string"==typeof e||e instanceof String}function cn(e){return Array.isArray(e)?cn(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray?"int32":"number"==typeof e?"float32":ln(e)?"string":function(e){return"boolean"==typeof e}(e)?"bool":"float32"}function un(e){return!!(e&&e.constructor&&e.call&&e.apply)}function dn(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 hn(e,t,n,r=!1){const o=new Array;if(1===t.length){const i=t[0]*(r?2:1);for(let t=0;t<i;t++)o[t]=n[e+t]}else{const i=t[0],a=t.slice(1),s=a.reduce(((e,t)=>e*t))*(r?2:1);for(let t=0;t<i;t++)o[t]=hn(e+t*s,a,n,r)}return o}function fn(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 hn(0,e,t,n)}function pn(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 gn(e){e.forEach((t=>{nn(Number.isInteger(t)&&t>=0,(()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`))}))}function mn(e){return e&&e.then&&"function"==typeof e.then}const vn="tfjsflags";class bn{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.getQueryParams=yn,this.populateURLFlags()}setPlatform(e,t){null!=this.platform&&(wn().getBool("IS_TEST")||wn().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];wn().getBool("IS_TEST")||wn().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(mn(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(vn in e){e[vn].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 yn(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 wn(){return En}let xn,En=null;function Sn(){if(null==xn){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}xn=e}return xn}function kn(e,t){const n=function(){const e=Sn();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 Cn="Add",Tn="Cast",An="Identity";function Rn(...e){wn().getBool("IS_TEST")||wn().getBool("PROD")||console.warn(...e)}const In=kn("kernelRegistry",(()=>new Map)),_n=kn("gradRegistry",(()=>new Map));function Dn(e,t){const n=function(e,t){return`${t}_${e}`}(e,t);return In.get(n)}function Fn(e){return _n.get(e)}function Mn(e){const t=In.entries(),n=[];for(;;){const{done:r,value:o}=t.next();if(r)break;const[i,a]=o,[s]=i.split("_");s===e&&n.push(a)}return n}function Ln(e){return e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray}function Pn(e,t){if("string"===t)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=Un(e)),wn().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 On(){return wn().platform.now()}function Nn(e,t="utf-8"){return t=t||"utf-8",wn().platform.decode(e,t)}function Bn(e){return null!=wn().platform.isTypedArray?wn().platform.isTypedArray(e):Ln(e)}function Un(e,t=[],n=!1){if(null==t&&(t=[]),"boolean"==typeof e||"number"==typeof e||"string"==typeof e||mn(e)||null==e||Bn(e)&&n)t.push(e);else if(Array.isArray(e)||Bn(e))for(let r=0;r<e.length;++r)Un(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 o=0;o<=r;o++)Un(e[o],t,n)}return t}class $n{constructor(e,t){this.backendTimer=e,this.logger=t,null==t&&(this.logger=new Gn)}profileKernel(e,t,n){let r;const o=()=>{r=n()};let i;const a=On();if(this.backendTimer.timerAvailable())i=this.backendTimer.time(o);else{o();for(const e of r)e.dataSync();i=Promise.resolve({kernelMs:On()-a})}if(wn().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let t=0;t<r.length;t++){const n=r[t];n.data().then((t=>{jn(t,n.dtype,e)}))}return{kernelName:e,outputs:r,inputs:t,timeMs:i.then((e=>e.kernelMs)),extraInfo:i.then((e=>null!=e.getExtraProfileInfo?e.getExtraProfileInfo():""))}}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:o,extraInfo:i}=e;n.forEach((e=>{Promise.all([e.data(),r,i]).then((n=>{this.logger.logKernelProfile(t,e,n[0],n[1],o,n[2])}))}))}}function jn(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 Gn{logKernelProfile(e,t,n,r,o,i){const a="number"==typeof r?an(`${r}ms`,9):r.error,s=an(e,25),l=t.rank,c=t.size,u=an(t.shape.toString(),14);let d="";for(const e in o){const n=o[e];if(null!=n){const r=n.shape||t.shape,o=r.length;d+=`${e}: ${o}D ${o>0?r:""} `}}console.log(`%c${s}\t%c${a}\t%c${l}D ${u}\t%c${c}\t%c${d}\t%c${i}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}const zn=20,qn=3,Vn=7;function Wn(e,t,n,r){const o=dn(t),i=function(e,t,n,r){const o=rn(t),i=r[r.length-1],a=new Array(i).fill(0),s=t.length,l="complex64"===n?Xn(e):e;if(s>1)for(let e=0;e<o/i;e++){const t=e*i;for(let e=0;e<i;e++)a[e]=Math.max(a[e],Hn(l[t+e],0,n).length)}return a}(e,t,n,o),a=t.length,s=Yn(e,t,n,o,i),l=["Tensor"];return r&&(l.push(` dtype: ${n}`),l.push(` rank: ${a}`),l.push(` shape: [${t}]`),l.push(" values:")),l.push(s.map((e=>" "+e)).join("\n")),l.join("\n")}function Hn(e,t,n){let r;return r=Array.isArray(e)?`${parseFloat(e[0].toFixed(Vn))} + ${parseFloat(e[1].toFixed(Vn))}j`:ln(e)?`'${e}'`:"bool"===n?Kn(e):parseFloat(e.toFixed(Vn)).toString(),an(r,t)}function Kn(e){return 0===e?"false":"true"}function Yn(e,t,n,r,o,i=!0){const a="complex64"===n?2:1,s=t[0],l=t.length;if(0===l){if("complex64"===n){return[Hn(Xn(e)[0],0,n)]}return"bool"===n?[Kn(e[0])]:[e[0].toString()]}if(1===l){if(s>zn){let t=Array.from(e.slice(0,qn*a)),r=Array.from(e.slice((s-qn)*a,s*a));return"complex64"===n&&(t=Xn(t),r=Xn(r)),["["+t.map(((e,t)=>Hn(e,o[t],n))).join(", ")+", ..., "+r.map(((e,t)=>Hn(e,o[s-qn+t],n))).join(", ")+"]"]}return["["+("complex64"===n?Xn(e):Array.from(e)).map(((e,t)=>Hn(e,o[t],n))).join(", ")+"]"]}const c=t.slice(1),u=r.slice(1),d=r[0]*a,h=[];if(s>zn){for(let t=0;t<qn;t++){const r=t*d;h.push(...Yn(e.slice(r,r+d),c,n,u,o,!1))}h.push("...");for(let t=s-qn;t<s;t++){const r=t*d;h.push(...Yn(e.slice(r,r+d),c,n,u,o,t===s-1))}}else for(let t=0;t<s;t++){const r=t*d;h.push(...Yn(e.slice(r,r+d),c,n,u,o,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]+"]"+(i?"":p),h}function Xn(e){const t=[];for(let n=0;n<e.length;n+=2)t.push([e[n],e[n+1]]);return t}class Jn{constructor(e,t,n){if(this.dtype=t,this.shape=e.slice(),this.size=rn(e),null!=n){const e=n.length;nn(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=dn(e)}set(e,...t){0===t.length&&(t=[0]),nn(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 Zn().makeTensor(this.values,this.shape,this.dtype)}}let Zn=null,Qn=null;class er{constructor(e,t,n,r){this.kept=!1,this.isDisposedInternal=!1,this.shape=e.slice(),this.dtype=t||"float32",this.size=rn(e),this.strides=dn(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 Qn.buffer(this.shape,this.dtype,e)}bufferSync(){return Qn.buffer(this.shape,this.dtype,this.dataSync())}async array(){const e=await this.data();return fn(this.shape,e,"complex64"===this.dtype)}arraySync(){return fn(this.shape,this.dataSync(),"complex64"===this.dtype)}async data(){this.throwIfDisposed();const e=Zn().read(this.dataId);if("string"===this.dtype){const t=await e;try{return t.map((e=>Nn(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(),Zn().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();const e=Zn().readSync(this.dataId);if("string"===this.dtype)try{return e.map((e=>Nn(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 Zn().read(this.dataId);return"string"===this.dtype?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(Zn().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return Qn.print(this,e)}clone(){return this.throwIfDisposed(),Qn.clone(this)}toString(e=!1){return Wn(this.dataSync(),this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),Qn.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),Zn().makeVariable(this,e,t,n)}}Object.defineProperty(er,Symbol.hasInstance,{value:e=>!!e&&null!=e.data&&null!=e.dataSync&&null!=e.throwIfDisposed}),kn("Tensor",(()=>er));class tr extends er{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(!on(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);Zn().disposeTensor(this),this.dataId=e.dataId,Zn().incRef(this,null)}dispose(){Zn().disposeVariable(this),this.isDisposedInternal=!0}}var nr,rr,or,ir,ar;Object.defineProperty(tr,Symbol.hasInstance,{value:e=>e instanceof er&&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"}(nr||(nr={})),function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"}(rr||(rr={})),function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"}(or||(or={})),function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"}(ir||(ir={})),function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"}(ar||(ar={}));const sr={float32:ir,int32:rr,bool:or,complex64:ar};function lr(e){return null!=e&&"object"==typeof e&&"texture"in e&&e.texture instanceof WebGLTexture}function cr(e){return"undefined"!=typeof GPUBuffer&&null!=e&&"object"==typeof e&&"buffer"in e&&e.buffer instanceof GPUBuffer}function ur(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 sr[e][t]}(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function dr(e){const t=[];return hr(e,t,new Set),t}function hr(e,t,n){if(null==e)return;if(e instanceof er)return void t.push(e);if(r=e,!Array.isArray(r)&&"object"!=typeof r)return;var r;const o=e;for(const e in o){const r=o[e];n.has(r)||(n.add(r),hr(r,t,n))}}function fr(e){return null!=e.kernelName}class pr{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 gr{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new pr}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?(Rn(`${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 $n(this.backendInstance),!0}setupRegisteredKernels(){Mn(this.backendName).forEach((e=>{null!=e.setupFunc&&e.setupFunc(this.backendInstance)}))}disposeRegisteredKernels(e){Mn(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 en||"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,Rn(`Initialization of backend ${e} failed`),Rn(n.stack||n.message)),!1)));return this.pendingBackendInit=r,{success:r,asyncInit:!0}}}catch(t){return Rn(`Initialization of backend ${e} failed`),Rn(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:o}=this.initializeBackend(n);if(o||r)return{name:n,asyncInit:o}}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,o=this.readSync(t),i=r.refCount(t);r.disposeData(t,!0),n.backend=e,e.move(t,o,n.shape,n.dtype,i),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 gr.nextTensorId++}nextVariableId(){return gr.nextVariableId++}clone(e){const t=vr.runKernel(An,{x:e});return this.addTapeNode(this.state.activeScope.name,{x:e},[t],(e=>({x:()=>vr.runKernel(Tn,{x:e},{dtype:"float32"})})),[],{}),t}runKernel(e,t,n){if(!(null!=Dn(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 o=0;n.forEach((e=>{o+="complex64"===e.dtype?3:1}));const i=r-t-o-this.state.numDataMovesStack[this.state.numDataMovesStack.length-1];if(i>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${i} data ids) after running '${e}'`)}runKernelFunc(e){let t,n=[];const r=this.isTapeOn(),o=this.state.numBytes,i=this.state.numTensors;let a,s;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);const l=fr(e)?e.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(fr(e)){const{kernelName:t,inputs:o,attrs:i}=e,l=Dn(t,this.backendName);nn(null!=l,(()=>`Cannot find registered kernel '${t}' for backend '${this.backendName}'`)),a=()=>{const e=this.backend.numDataIds();s=l.kernelFunc({inputs:o,attrs:i,backend:this.backend});const a=Array.isArray(s)?s:[s];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(t,e,a);const c=a.map((e=>null!=e.rank?e:this.makeTensorFromTensorInfo(e)));if(r){const e=this.getTensorsForGradient(t,o,c);n=this.saveTensorsForBackwardMode(e)}return c}}else{const{forwardFunc:t}=e,o=e=>{r&&(n=e.map((e=>this.keep(this.clone(e)))))};a=()=>{const e=this.backend.numDataIds();s=this.tidy((()=>t(this.backend,o)));const n=Array.isArray(s)?s:[s];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,e,n),n}}const{inputs:c,attrs:u}=e,d=fr(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,(()=>a())),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(h),t=h.outputs):t=a()})),r&&this.addTapeNode(l,c,t,d,n,u),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-o,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-i,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=Fn(e);if(null!=r){const e=r.inputsToSave||[],o=r.outputsToSave||[];let i;r.saveAllInputs?(nn(Array.isArray(t),(()=>"saveAllInputs is true, expected inputs to be an array.")),i=Object.keys(t).map((e=>t[e]))):i=e.map((e=>t[e]));const a=n.filter(((e,t)=>o[t]));return i.concat(a)}return[]}makeTensor(e,t,n,r){if(null==e)throw new Error("Values passed to engine.makeTensor() are null");r=r||this.backend;let o=e;"string"===(n=n||"float32")&&ln(e[0])&&(o=e.map((e=>function(e,t="utf-8"){return t=t||"utf-8",wn().platform.encode(e,t)}(e))));const i=r.write(o,t,n),a=new er(t,n,i,this.nextTensorId());if(this.trackTensor(a,r),"string"===n){const e=this.state.tensorInfo.get(i),t=function(e){if(null==e)return 0;let t=0;return e.forEach((e=>t+=e.length)),t}(o);this.state.numBytes+=t-e.bytes,e.bytes=t}return a}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:o}=e,i=new er(r,o,n,this.nextTensorId());return this.trackTensor(i,t),i}makeVariable(e,t=!0,n,r){n=n||this.nextVariableId().toString(),null!=r&&r!==e.dtype&&(e=e.cast(r));const o=new tr(e,t,n,this.nextTensorId());if(null!=this.state.registeredVariables[o.name])throw new Error(`Variable with name ${o.name} was already registered`);return this.state.registeredVariables[o.name]=o,this.incRef(o,this.backend),o}trackTensor(e,t){this.state.numTensors++,"string"===e.dtype&&this.state.numStringTensors++;let n=0;"complex64"!==e.dtype&&"string"!==e.dtype&&(n=e.size*sn(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 tr||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*sn(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,o,i){const a={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:o},s=Fn(e);null!=s&&(r=s.gradFunc),null!=r&&(a.gradient=e=>(e=e.map(((e,t)=>{if(null==e){const e=n[t],r=pn(e.size,e.dtype);return this.makeTensor(r,e.shape,e.dtype)}return e})),r(e.length>1?e:e[0],o,i))),this.state.activeTape.push(a)}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=dr(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(nn(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 o=this.scopedRun((()=>this.startTape()),(()=>this.endTape()),(()=>this.tidy("forward",e)));nn(o instanceof er,(()=>"The result y returned by f() must be a tensor."));const i=function(e,t,n){const r={},o={};for(let e=0;e<t.length;e++)r[t[e].id]=!0;for(let n=0;n<e.length;n++){const i=e[n],a=i.inputs;for(const e in a){const n=a[e];let s=!1;for(let e=0;e<t.length;e++)if(r[n.id]){i.outputs.forEach((e=>r[e.id]=!0)),s=!0,o[i.id]=!0;break}if(s)break}}const i={};i[n.id]=!0;const a={};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(i[n.outputs[e].id]){for(const e in r)i[r[e].id]=!0,a[n.id]=!0;break}}const s=[];for(let t=0;t<e.length;t++){const n=e[t];if(o[n.id]&&a[n.id]){const e={};for(const t in n.inputs){const o=n.inputs[t];r[o.id]&&(e[t]=o)}const t=Object.assign({},n);t.inputs=e,t.outputs=n.outputs,s.push(t)}}return s}(this.state.activeTape,t,o);if(!r&&0===i.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[o.id]=null==n?function(e){const t=function(e,t){const n=pn(e,t);for(let e=0;e<n.length;e++)n[e]=1;return n}(rn(e),"float32");return vr.makeTensor(t,e,"float32")}(o.shape):n,function(e,t,n,r){for(let o=t.length-1;o>=0;o--){const i=t[o],a=[];if(i.outputs.forEach((t=>{const n=e[t.id];a.push(null!=n?n:null)})),null==i.gradient)throw new Error(`Cannot compute gradient: gradient function not found for ${i.kernelName}.`);const s=i.gradient(a);for(const t in i.inputs){if(!(t in s))throw new Error(`Cannot backprop through input ${t}. Available gradients found: ${Object.keys(s)}.`);const o=n((()=>s[t]()));if("float32"!==o.dtype)throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input ${t} must have 'float32' dtype, but has '${o.dtype}'`);const a=i.inputs[t];if(!on(o.shape,a.shape))throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input '${t}' has shape '${o.shape}', which does not match the shape of the input '${a.shape}'`);if(null==e[a.id])e[a.id]=o;else{const t=e[a.id];e[a.id]=r(t,o),t.dispose()}}}}(e,i,(e=>this.tidy(e)),br);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:o,grads:r}}))}customGrad(e){return nn(un(e),(()=>"The f passed in customGrad(f) must be a function.")),(...t)=>{let n;nn(t.every((e=>e instanceof er)),(()=>"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,o)=>(n=e(...t,o),nn(n.value instanceof er,(()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor")),nn(un(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 o=n.gradFunc(e,r),i=Array.isArray(o)?o:[o];nn(i.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(...).")),nn(i.every((e=>e instanceof er)),(()=>"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 a={};return i.forEach(((e,t)=>{a[t]=()=>e})),a},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=On(),n=await this.backend.time(e);return n.wallMs=On()-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 pr;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 mr(){const e=Sn();if(null==e._tfengine){const t=new bn(e);e._tfengine=new gr(t)}return En=e._tfengine.ENV,function(e){Zn=e}((()=>e._tfengine)),e._tfengine}gr.nextTensorId=0,gr.nextVariableId=0;const vr=mr();function br(e,t){return vr.runKernel(Cn,{a:e,b:t})}const yr=wn();function wr(e,t){let n=e;if(Bn(e))return"string"===t?[]:[e.length];if(lr(e)){return[e.height,e.width*(e.channels||"RGBA").length]}if(cr(e))return[e.buffer.size/(null==t?4:sn(t))];if(!Array.isArray(e))return[];const r=[];for(;Array.isArray(n)||Bn(n)&&"string"!==t;)r.push(n.length),n=n[0];return Array.isArray(e)&&wn().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&xr(e,r,[]),r}function xr(e,t,n){if(n=n||[],!Array.isArray(e)&&!Bn(e))return void nn(0===t.length,(()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`));nn(t.length>0,(()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`)),nn(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)xr(e[t],r,n.concat(t))}function Er(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 Sr(e,t,n,r="numeric"){if(e instanceof er)return Er(r,e.dtype,t,n),e;let o=cn(e);if("string"!==o&&["bool","int32","float32"].indexOf(r)>=0&&(o=r),Er(r,o,t,n),null==e||!Bn(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 i=wr(e,o);Bn(e)||Array.isArray(e)||(e=[e]);const a="string"!==o?Pn(e,o):Un(e,[],!0);return vr.makeTensor(a,i,o)}yr.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.")})),yr.registerFlag("IS_BROWSER",(()=>"undefined"!=typeof window&&null!=window.document||"undefined"!=typeof WorkerGlobalScope)),yr.registerFlag("IS_NODE",(()=>"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node)),yr.registerFlag("IS_CHROME",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor))),yr.registerFlag("IS_SAFARI",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Safari/.test(navigator.userAgent)&&/Apple/.test(navigator.vendor))),yr.registerFlag("PROD",(()=>!1)),yr.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(()=>yr.getBool("DEBUG"))),yr.registerFlag("DEPRECATION_WARNINGS_ENABLED",(()=>!0)),yr.registerFlag("IS_TEST",(()=>!1)),yr.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(()=>yr.getBool("DEBUG"))),yr.registerFlag("WRAP_TO_IMAGEBITMAP",(()=>!1)),yr.registerFlag("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU",(()=>!1)),yr.registerFlag("USE_SETTIMEOUTCUSTOM",(()=>!1));function kr(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 o=(...e)=>{vr.startScope(n);try{const t=r(...e);return mn(t)&&console.error("Cannot return a Promise inside of tidy."),vr.endScope(t),t}catch(e){throw vr.endScope(null),e}};return Object.defineProperty(o,"name",{value:n,configurable:!0}),o}class Cr{static join(e){return new Cr(e).slice()}constructor(e){if(this.shards=[],this.previousShardIndex=0,null==e)return;if(e instanceof Array||(e=[e]),0===(e=e.map((e=>Bn(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 o=t+r.byteLength;this.shards.push({buffer:r,start:t,end:o}),t=o}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),o=new Uint8Array(r);let i=0;for(let r=n;r<this.shards.length;r++){const n=this.shards[r],a=e+i-n.start,s=i,l=Math.min(t,n.end),c=new Uint8Array(n.buffer,a,l-n.start-a);if(o.set(c,s),i+=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 o=Math.floor((r-n)/2)+n,i=t(e[o]);if(0===i)return o;i<0?r=o:n=o+1}return-1}(this.shards,t);return-1===n?-1:(this.previousShardIndex=n,this.previousShardIndex)}}const Tr="undefined"!=typeof Buffer&&("undefined"==typeof Blob||"undefined"==typeof atob||"undefined"==typeof btoa);function Ar(e){return Tr?Buffer.byteLength(e,"utf8"):new Blob([e]).size}function Rr(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:Ar(JSON.stringify(e.modelTopology)),weightSpecsBytes:null==e.weightSpecs?0:Ar(JSON.stringify(e.weightSpecs)),weightDataBytes:null==e.weightData?0:new Cr(e.weightData).byteLength}}class Ir{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return null==Ir.instance&&(Ir.instance=new Ir),Ir.instance}static registerSaveRouter(e){Ir.getInstance().saveRouters.push(e)}static registerLoadRouter(e){Ir.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return Ir.getHandlers(e,"save")}static getLoadHandlers(e,t){return Ir.getHandlers(e,"load",t)}static getHandlers(e,t,n){const r=[];return("load"===t?Ir.getInstance().loadRouters:Ir.getInstance().saveRouters).forEach((t=>{const o=t(e,n);null!==o&&r.push(o)})),r}}const _r="tensorflowjs",Dr="models_store",Fr="model_info_store";function Mr(){if(!wn().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 Lr(e){const t=e.result;t.createObjectStore(Dr,{keyPath:"modelPath"}),t.createObjectStore(Fr,{keyPath:"modelPath"})}class Pr{constructor(e){if(this.indexedDB=Mr(),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(_r,1);r.onupgradeneeded=()=>Lr(r),r.onsuccess=()=>{const o=r.result;if(null==t){const t=o.transaction(Dr,"readonly"),r=t.objectStore(Dr).get(this.modelPath);r.onsuccess=()=>{if(null==r.result)return o.close(),n(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));e(r.result.modelArtifacts)},r.onerror=e=>(o.close(),n(r.error)),t.oncomplete=()=>o.close()}else{const r=Rr(t),i=o.transaction(Fr,"readwrite");let a,s,l=i.objectStore(Fr);try{a=l.put({modelPath:this.modelPath,modelArtifactsInfo:r})}catch(e){return n(e)}a.onsuccess=()=>{s=o.transaction(Dr,"readwrite");const a=s.objectStore(Dr);let c;try{c=a.put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:r})}catch(e){return n(e)}c.onsuccess=()=>e({modelArtifactsInfo:r}),c.onerror=e=>{l=i.objectStore(Fr);const t=l.delete(this.modelPath);t.onsuccess=()=>(o.close(),n(c.error)),t.onerror=e=>(o.close(),n(c.error))}},a.onerror=e=>(o.close(),n(a.error)),i.oncomplete=()=>{null==s?o.close():s.oncomplete=()=>o.close()}}},r.onerror=e=>n(r.error)}))}}Pr.URL_SCHEME="indexeddb://";const Or=e=>{return wn().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(Pr.URL_SCHEME)?(t=e.slice(Pr.URL_SCHEME.length),new Pr(t)):null;var t};Ir.registerSaveRouter(Or),Ir.registerLoadRouter(Or);class Nr{constructor(){this.indexedDB=Mr()}async listModels(){return new Promise(((e,t)=>{const n=this.indexedDB.open(_r,1);n.onupgradeneeded=()=>Lr(n),n.onsuccess=()=>{const r=n.result,o=r.transaction(Fr,"readonly"),i=o.objectStore(Fr).getAll();i.onsuccess=()=>{const t={};for(const e of i.result)t[e.modelPath]=e.modelArtifactsInfo;e(t)},i.onerror=e=>(r.close(),t(i.error)),o.oncomplete=()=>r.close()},n.onerror=e=>t(n.error)}))}async removeModel(e){var t;return e=(t=e).startsWith(Pr.URL_SCHEME)?t.slice(Pr.URL_SCHEME.length):t,new Promise(((t,n)=>{const r=this.indexedDB.open(_r,1);r.onupgradeneeded=()=>Lr(r),r.onsuccess=()=>{const o=r.result,i=o.transaction(Fr,"readwrite"),a=i.objectStore(Fr),s=a.get(e);let l;s.onsuccess=()=>{if(null==s.result)return o.close(),n(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{const r=a.delete(e),i=()=>{l=o.transaction(Dr,"readwrite");const r=l.objectStore(Dr).delete(e);r.onsuccess=()=>t(s.result.modelArtifactsInfo),r.onerror=e=>n(s.error)};r.onsuccess=i,r.onerror=e=>(i(),o.close(),n(s.error))}},s.onerror=e=>(o.close(),n(s.error)),i.oncomplete=()=>{null==l?o.close():l.oncomplete=()=>o.close()}},r.onerror=e=>n(r.error)}))}}const Br="/",Ur="tensorflowjs_models",$r="info",jr="model_topology",Gr="weight_specs",zr="weight_data",qr="model_metadata";function Vr(e){return{info:[Ur,e,$r].join(Br),topology:[Ur,e,jr].join(Br),weightSpecs:[Ur,e,Gr].join(Br),weightData:[Ur,e,zr].join(Br),modelMetadata:[Ur,e,qr].join(Br)}}function Wr(e){for(const t of Object.values(e))window.localStorage.removeItem(t)}function Hr(e){const t=e.split(Br);if(t.length<3)throw new Error(`Invalid key format: ${e}`);return t.slice(1,t.length-1).join(Br)}class Kr{constructor(e){if(!wn().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=Vr(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=Rr(e),o=Cr.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(Tr)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)}(o));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 Wr(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 o=this.LS.getItem(this.keys.modelMetadata);if(null!=o){const e=JSON.parse(o);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 i=this.LS.getItem(this.keys.weightData);if(null==i)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=function(e){if(Tr){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}(i),t}}Kr.URL_SCHEME="localstorage://";const Yr=e=>{return wn().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(Kr.URL_SCHEME)?(t=e.slice(Kr.URL_SCHEME.length),new Kr(t)):null;var t};Ir.registerSaveRouter(Yr),Ir.registerLoadRouter(Yr);class Xr{constructor(){nn(wn().getBool("IS_BROWSER"),(()=>"Current environment is not a web browser")),nn("undefined"==typeof window||void 0!==window.localStorage,(()=>"Current browser does not appear to support localStorage")),this.LS=window.localStorage}async listModels(){const e={},t=Ur+Br,n=Br+$r;for(let r=0;r<this.LS.length;++r){const o=this.LS.key(r);if(o.startsWith(t)&&o.endsWith(n)){e[Hr(o)]=JSON.parse(this.LS.getItem(o))}}return e}async removeModel(e){var t;const n=Vr(e=(t=e).startsWith(Kr.URL_SCHEME)?t.slice(Kr.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 Wr(n),r}}class Jr{constructor(){this.managers={}}static getInstance(){return null==Jr.instance&&(Jr.instance=new Jr),Jr.instance}static registerManager(e,t){nn(null!=e,(()=>"scheme must not be undefined or null.")),e.endsWith("://")&&(e=e.slice(0,e.indexOf("://"))),nn(e.length>0,(()=>"scheme must not be an empty string."));const n=Jr.getInstance();nn(null==n.managers[e],(()=>`A model store manager is already registered for scheme '${e}'.`)),n.managers[e]=t}static getManager(e){const t=Jr.getInstance().managers[e];if(null==t)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(Jr.getInstance().managers)}}class Zr{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&&wn().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 Ln(e)}}if(wn().get("IS_BROWSER")){wn().setPlatform("browser",new Zr);try{Jr.registerManager(Kr.URL_SCHEME,new Xr)}catch(e){}try{Jr.registerManager(Pr.URL_SCHEME,new Nr)}catch(e){}}const Qr=()=>require("node-fetch");let eo;class to{constructor(){this.util=require("util"),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return null!=wn().global.fetch?wn().global.fetch(e,t):(null==eo&&(eo=Qr()),eo(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)}}wn().get("IS_NODE")&&!wn().get("IS_BROWSER")&&wn().setPlatform("node",new to);const no=kr({cast_:function(e,t){const n=Sr(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 vr.runKernel(Tn,{x:n},{dtype:t})}});const ro=kr({clone_:function(e){const t=Sr(e,"x","clone","string_or_numeric");return vr.runKernel(An,{x:t})}});mr();const oo={buffer:function(e,t="float32",n){return t=t||"float32",gn(e),new Jn(e,t,n)},cast:no,clone:ro,print:function(e,t=!1){console.log(e.toString(t))}};function io(e,t){return vr.tidy(e,t)}function ao(e){dr(e).forEach((e=>e.dispose()))}Qn=oo;const so=kr({add_:function(e,t){let n=Sr(e,"a","add"),r=Sr(t,"b","add");return[n,r]=ur(n,r),vr.runKernel(Cn,{a:n,b:r})}});const lo=kr({floorDiv_:function(e,t){let n=Sr(e,"a","floorDiv"),r=Sr(t,"b","floorDiv");return[n,r]=ur(n,r),vr.runKernel("FloorDiv",{a:n,b:r})}});const co=kr({div_:function(e,t){let n=Sr(e,"a","div"),r=Sr(t,"b","div");return[n,r]=ur(n,r),"int32"===n.dtype&&"int32"===r.dtype?lo(n,r):vr.runKernel("RealDiv",{a:n,b:r},{})}});const uo=kr({mul_:function(e,t){let n=Sr(e,"a","mul"),r=Sr(t,"b","mul");return[n,r]=ur(n,r),vr.runKernel("Multiply",{a:n,b:r})}});const ho=kr({abs_:function(e){const t=Sr(e,"x","abs");if("complex64"===t.dtype){return vr.runKernel("ComplexAbs",{x:t})}return vr.runKernel("Abs",{x:t})}});const fo=kr({zerosLike_:function(e){const t=Sr(e,"x","zerosLike");return vr.runKernel("ZerosLike",{x:t})}});const po=kr({pow_:function(e,t){let n=Sr(e,"base","pow"),r=Sr(t,"exp","pow");return[n,r]=ur(n,r),vr.runKernel("Pow",{a:n,b:r})}});function go(e,t){if((Bn(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&&Bn(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=cn(e);else if("complex64"===r)throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(cr(e)||lr(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 vr.backend.createTensorFromGPUData(e,t||n,r)}if(!Bn(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){gn(t);const e=rn(t),r=rn(n);nn(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]!==rn(t.slice(e));nn(n[e]===t[e]||!r,(()=>`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `))}}return Bn(e)||Array.isArray(e)||(e=[e]),t=t||n,e="string"!==r?Pn(e,r):Un(e,[],!0),vr.makeTensor(e,t,r)}(e,[],[],t)}const mo=kr({sqrt_:function(e){const t=Sr(e,"x","sqrt","float32");return vr.runKernel("Sqrt",{x:t})}});const vo=kr({square_:function(e){const t=Sr(e,"x","square");return vr.runKernel("Square",{x:t},{})}});const bo=kr({sub_:function(e,t){let n=Sr(e,"a","sub"),r=Sr(t,"b","sub");return[n,r]=ur(n,r),vr.runKernel("Sub",{a:n,b:r})}});const yo=kr({maximum_:function(e,t){let n=Sr(e,"a","maximum"),r=Sr(t,"b","maximum");return[n,r]=ur(n,r),"bool"===n.dtype&&(n=no(n,"int32"),r=no(r,"int32")),function(e,t){const n=Math.max(e.length,t.length),r=new Array(n);for(let o=0;o<n;o++){let i=e[e.length-o-1];null==i&&(i=1);let a=t[t.length-o-1];if(null==a&&(a=1),1===i)r[n-o-1]=a;else if(1===a)r[n-o-1]=i;else{if(i!==a)throw Error(`Operands could not be broadcast together with shapes ${e} and ${t}.`);r[n-o-1]=i}}}(n.shape,r.shape),vr.runKernel("Maximum",{a:n,b:r})}});class wo{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class xo{constructor(){this.classNameMap={}}static getMap(){return null==xo.instance&&(xo.instance=new xo),xo.instance}static register(e){xo.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function Eo(e){nn(null!=e.className,(()=>"Class being registered does not have the static className property defined.")),nn("string"==typeof e.className,(()=>"className is required to be a string, but got type "+typeof e.className)),nn(e.className.length>0,(()=>"Class being registered has an empty-string as its className, which is disallowed.")),xo.register(e)}class So extends wo{minimize(e,t=!1,n){const{value:r,grads:o}=this.computeGradients(e,n);if(null!=n){const e=n.map((e=>({name:e.name,tensor:o[e.name]})));this.applyGradients(e)}else this.applyGradients(o);return ao(o),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){nn(un(e),(()=>"The f passed in variableGrads(f) must be a function")),nn(null==t||Array.isArray(t)&&t.every((e=>e instanceof tr)),(()=>"The varList passed in variableGrads(f, varList) must be an array of variables"));const n=null!=t;if(!n){t=[];for(const e in vr.registeredVariables)t.push(vr.registeredVariables[e])}const r=n?t.filter((e=>!e.trainable)):null,o=t.length;nn((t=t.filter((e=>e.trainable))).length>0,(()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${o} variables is trainable.`));const{value:i,grads:a}=vr.gradients(e,t,null,!0);nn(a.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().")),nn(0===i.rank,(()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`));const s={};return t.forEach(((e,t)=>{null!=a[t]&&(s[e.name]=a[t])})),null!=r&&r.forEach((e=>s[e.name]=null)),{value:i,grads:s}}(e,t)}dispose(){null!=this.iterations_&&ao(this.iterations_)}async saveIterations(){return null==this.iterations_&&(this.iterations_=0),{name:"iter",tensor:go(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(So,Symbol.hasInstance,{value:e=>null!=e.minimize&&null!=e.computeGradients&&null!=e.applyGradients});class ko extends So{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 o=vr.registeredVariables[t];io((()=>{const e=so(uo(this.c,r),o);o.assign(e)}))})),this.incrementIterations()}setLearningRate(e){var t;this.learningRate=e,null!=this.c&&this.c.dispose(),this.c=(t=go(-e),vr.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 Co=[class extends So{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=vr.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=vr.registeredVariables[t];null==this.accumulatedGrads[n]&&(this.accumulatedGrads[n]={originalName:`${t}/accum_grad`,variable:io((()=>fo(r).variable(false)))}),null==this.accumulatedUpdates[n]&&(this.accumulatedUpdates[n]={originalName:`${t}/accum_var`,variable:io((()=>fo(r).variable(false)))});const o=Array.isArray(e)?e[n].tensor:e[t];if(null==o)return;const i=this.accumulatedGrads[n].variable,a=this.accumulatedUpdates[n].variable;io((()=>{const e=so(uo(i,this.rho),uo(vo(o),1-this.rho)),t=uo(co(mo(so(a,this.epsilon)),mo(so(i,this.epsilon))),o),n=so(uo(a,this.rho),uo(vo(t),1-this.rho));i.assign(e),a.assign(n);const s=so(uo(t,-this.learningRate),r);r.assign(s)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedUpdates&&(ao(this.accumulatedGrads.map((e=>e.variable))),ao(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 So{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=vr.registeredVariables[t];if(null==this.accumulatedGrads[n]){const e=!1;this.accumulatedGrads[n]={originalName:`${t}/accumulator`,variable:io((()=>function(e,t,n){return gn(e),n=n||cn(t),vr.runKernel("Fill",{},{shape:e,value:t,dtype:n})}(r.shape,this.initialAccumulatorValue).variable(e)))}}const o=Array.isArray(e)?e[n].tensor:e[t];if(null==o)return;const i=this.accumulatedGrads[n].variable;io((()=>{const e=so(i,vo(o));i.assign(e);const t=so(uo(co(o,mo(so(e,vr.backend.epsilon()))),-this.learningRate),r);r.assign(t)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedGrads&&ao(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 So{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=[],io((()=>{this.accBeta1=go(t).variable(),this.accBeta2=go(n).variable()})),null==r&&(this.epsilon=vr.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);io((()=>{const n=bo(1,this.accBeta1),r=bo(1,this.accBeta2);t.forEach(((t,o)=>{const i=vr.registeredVariables[t];null==this.accumulatedFirstMoment[o]&&(this.accumulatedFirstMoment[o]={originalName:`${t}/m`,variable:io((()=>fo(i).variable(false)))}),null==this.accumulatedSecondMoment[o]&&(this.accumulatedSecondMoment[o]={originalName:`${t}/v`,variable:io((()=>fo(i).variable(false)))});const a=Array.isArray(e)?e[o].tensor:e[t];if(null==a)return;const s=this.accumulatedFirstMoment[o].variable,l=this.accumulatedSecondMoment[o].variable,c=so(uo(s,this.beta1),uo(a,1-this.beta1)),u=so(uo(l,this.beta2),uo(vo(a),1-this.beta2)),d=co(c,n),h=co(u,r);s.assign(c),l.assign(u);const f=so(uo(co(d,so(mo(h),this.epsilon)),-this.learningRate),i);i.assign(f)})),this.accBeta1.assign(uo(this.accBeta1,this.beta1)),this.accBeta2.assign(uo(this.accBeta2,this.beta2))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),null!=this.accumulatedFirstMoment&&ao(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedSecondMoment&&ao(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),io((()=>{this.accBeta1.assign(po(this.beta1,this.iterations_+1)),this.accBeta2.assign(po(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 So{static get className(){return"Adamax"}constructor(e,t,n,r=null,o=0){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=o,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],io((()=>{this.iteration=go(0).variable(),this.accBeta1=go(t).variable()})),null==r&&(this.epsilon=vr.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);io((()=>{const n=bo(1,this.accBeta1),r=co(-this.learningRate,so(uo(this.iteration,this.decay),1));t.forEach(((t,o)=>{const i=vr.registeredVariables[t];null==this.accumulatedFirstMoment[o]&&(this.accumulatedFirstMoment[o]={originalName:`${t}/m`,variable:fo(i).variable(false)}),null==this.accumulatedWeightedInfNorm[o]&&(this.accumulatedWeightedInfNorm[o]={originalName:`${t}/v`,variable:fo(i).variable(false)});const a=Array.isArray(e)?e[o].tensor:e[t];if(null==a)return;const s=this.accumulatedFirstMoment[o].variable,l=this.accumulatedWeightedInfNorm[o].variable,c=so(uo(s,this.beta1),uo(a,1-this.beta1)),u=uo(l,this.beta2),d=ho(a),h=yo(u,d);s.assign(c),l.assign(h);const f=so(uo(co(r,n),co(c,so(h,this.epsilon))),i);i.assign(f)})),this.iteration.assign(so(this.iteration,1)),this.accBeta1.assign(uo(this.accBeta1,this.beta1))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),null!=this.accumulatedFirstMoment&&ao(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedWeightedInfNorm&&ao(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 ko{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=go(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=vr.registeredVariables[t];if(null==this.accumulations[n]){const e=!1;this.accumulations[n]={originalName:`${t}/momentum`,variable:io((()=>fo(r).variable(e)))}}const o=this.accumulations[n].variable,i=Array.isArray(e)?e[n].tensor:e[t];null!=i&&io((()=>{let e;const t=so(uo(this.m,o),i);e=so(uo(this.c,this.useNesterov?so(i,uo(t,this.m)):t),r),o.assign(t),r.assign(e)}))})),this.incrementIterations()}dispose(){this.m.dispose(),null!=this.accumulations&&ao(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 So{static get className(){return"RMSProp"}constructor(e,t=.9,n=0,r=null,o=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=o,null==r&&(this.epsilon=vr.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=vr.registeredVariables[t],o=!1;null==this.accumulatedMeanSquares[n]&&(this.accumulatedMeanSquares[n]={originalName:`${t}/rms`,variable:io((()=>fo(r).variable(o)))}),null==this.accumulatedMoments[n]&&(this.accumulatedMoments[n]={originalName:`${t}/momentum`,variable:io((()=>fo(r).variable(o)))}),null==this.accumulatedMeanGrads[n]&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${t}/mg`,variable:io((()=>fo(r).variable(o)))});const i=Array.isArray(e)?e[n].tensor:e[t];if(null==i)return;const a=this.accumulatedMeanSquares[n].variable,s=this.accumulatedMoments[n].variable;io((()=>{const e=so(uo(a,this.decay),uo(vo(i),1-this.decay));if(this.centered){const t=this.accumulatedMeanGrads[n].variable,o=so(uo(t,this.decay),uo(i,1-this.decay)),l=co(uo(i,this.learningRate),mo(bo(e,so(vo(o),this.epsilon)))),c=so(uo(s,this.momentum),l);a.assign(e),t.assign(o),s.assign(c);const u=bo(r,c);r.assign(u)}else{const e=so(uo(a,this.decay),uo(vo(i),1-this.decay)),t=so(uo(s,this.momentum),co(uo(i,this.learningRate),mo(so(e,this.epsilon))));a.assign(e),s.assign(t);const n=bo(r,t);r.assign(n)}}))})),this.incrementIterations()}dispose(){null!=this.accumulatedMeanSquares&&ao(this.accumulatedMeanSquares.map((e=>e.variable))),null!=this.accumulatedMeanGrads&&this.centered&&ao(this.accumulatedMeanGrads.map((e=>e.variable))),null!=this.accumulatedMoments&&ao(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)}},ko];!function(){for(const e of Co)Eo(e)}();const To={},Ao={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function Ro(e,t){if(!(e in To)||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(wn().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 To[e]}),!1),wn().getBool("SOFTWARE_WEBGL_ENABLED")&&(Ao.failIfMajorPerformanceCaveat=!1);if(1===e)return n.getContext("webgl",Ao)||n.getContext("experimental-webgl",Ao);return n.getContext("webgl2",Ao)}(e,t);if(null===n)return console.log("Could not get context for WebGL version",e),null;To[e]=n}const n=To[e];return null==n||n.isContextLost()?(delete To[e],Ro(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),To[e])}var Io="https://websdk-cdn-dev.idmission.com/assets";function _o(e){var t=e.width,n=e.height;return e instanceof HTMLVideoElement&&(t=e.videoWidth,n=e.videoHeight),[t,n]}function Do(e,t){var n=document.createElement("canvas"),r=n.getContext("2d");if(!r)throw new Error("could not get 2d context");var o=t.box,i=o.width,a=.6*e.height-i,s=Math.max(0,o.xMin-a/2);return Pt()?(n.width=e.width,n.height=e.height,r.drawImage(e,0,0,n.width,n.height)):(n.width=i+a,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 Fo=function(e){var t=e.error;return c.default.createElement(lt,null,c.default.createElement(ct,{style:{justifyContent:"center"}},c.default.createElement("h3",{style:{marginBottom:8}},"We're sorry, an unexpected error has occurred."),c.default.createElement("p",{style:{marginBottom:0}},c.default.createElement("code",null,t.message))))},Mo={boxes:0,scores:7,labels:4},Lo=n.createContext({ready:!1,working:{current:!1},thresholds:{},setThresholds:function(){return null},makePrediction:function(){return null},onPredictionMade:function(){return null},detectionTime:0,focusPredictionTime:0,getBestFrame:function(){return Promise.resolve(null)},resetBestFrame:function(){return null}}),Po="".concat(Io,"/models/documentdetection448/model.json"),Oo="".concat(Io,"/models/focus/model.json"),No=function(e){var t=e.children,r=e.documentDetectionModelUrl,o=e.focusModelUrl,a=e.logPredictions,s=void 0!==a&&a,l=n.useState(!1),u=l[0],d=l[1],h=n.useState(0),p=h[0],g=h[1],b=n.useState(0),y=b[0],w=b[1],x=n.useState(0),E=x[0],S=x[1],k=n.useState(0),C=k[0],T=k[1],A=n.useState(0),R=A[0],I=A[1],_=n.useRef(!1),D=n.useRef(),F=n.useRef(null),M=n.useState(0),L=M[0],P=M[1],O=n.useState(0),N=O[0],B=O[1],U=n.useState(null),$=U[0],j=U[1];n.useEffect((function(){d(!1);var e=r||Po,t=o||Oo;function n(){return m(this,void 0,void 0,(function(){return v(this,(function(n){switch(n.label){case 0:return f.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",52428800),[4,f.setBackend("webgl")];case 1:return n.sent(),[4,f.ready()];case 2:return n.sent(),[4,Promise.all([It(e),Qt(t)])];case 3:return n.sent(),[2]}}))}))}function a(){return m(this,void 0,void 0,(function(){var r;return v(this,(function(o){switch(o.label){case 0:return d(!1),Et=null,Yt=null,delete To[2],(r=document.createElement("canvas").getContext("webgl2"))&&e&&t?(i.setWebGLContext(2,r),function(){try{f.backend().dispose()}catch(e){console.error("failed to dispose backend",e)}}(),[4,n()]):[3,2];case 1:o.sent(),d(!0),o.label=2;case 2:return[2]}}))}))}try{n().then((function(){d(!0)}))}catch(e){j(e)}var s=Ro(2).canvas;return s.addEventListener("webglcontextlost",a),function(){var e;null===(e=s.removeEventListener)||void 0===e||e.call(s,"webglcontextlost",a)}}),[r,o]);var G=n.useMemo((function(){return{document:p,passport:y,mrz:E,pdf417:C,focus:R}}),[p,R,E,y,C]),z=n.useCallback((function(e){e.document&&g(e.document),e.passport&&w(e.passport),e.mrz&&S(e.mrz),e.pdf417&&T(e.pdf417),e.focus&&I(e.focus)}),[]),q=n.useRef(null),V=n.useRef(0),W=n.useCallback((function(e){_.current=!0,m(void 0,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:return Et&&Yt&&F.current?[4,Uo(e,F.current,G,s)]:[2];case 1:return t=r.sent(),P(t.detectionTime),B(t.focusPredictionTime),V.current<=t.focusScore&&(V.current=t.focusScore,Bo(q.current,e)),null===(n=D.current)||void 0===n||n.call(D,t),_.current=!1,[2]}}))}))}),[s,G]),H=n.useCallback((function(e){D.current=e}),[]),K=n.useCallback((function(){return m(void 0,void 0,void 0,(function(){var e;return v(this,(function(t){switch(t.label){case 0:return q.current?(e=q.current.toDataURL("image/jpeg",.98),[4,fetch(e)]):[2,null];case 1:return[4,t.sent().blob()];case 2:return[2,t.sent()]}}))}))}),[]),Y=n.useCallback((function(){V.current=0,function(e){if(!e)return;var t=e.getContext("2d");if(!t)return;t.clearRect(0,0,e.width,e.height)}(q.current)}),[]),X=n.useMemo((function(){return{ready:u,working:_,thresholds:G,setThresholds:z,makePrediction:W,onPredictionMade:H,detectionTime:L,focusPredictionTime:N,getBestFrame:K,resetBestFrame:Y}}),[L,N,K,W,H,u,Y,z,G]);return c.default.createElement(Lo.Provider,{value:X},$?c.default.createElement(Fo,{error:$}):t,c.default.createElement(Ho,{ref:F}),c.default.createElement(Ho,{ref:q}))};function Bo(e,t,n,r){if(e){var o=e.getContext("2d");if(o){if(!n||!r){var i=_o(t);n||(n=i[0]),r||(r=i[1])}e.width=n,e.height=r,o.drawImage(t,0,0,n,r)}}}function Uo(e,t,n,r){var o,i,a,s,l,c,u,d,h,f;return void 0===r&&(r=!1),m(this,void 0,void 0,(function(){var p,g,m,b,y,w,x,E,S,k,C,T,A,R,I,_,D,F,M,L,P,O,N,B,U,$,j,G;return v(this,(function(v){switch(v.label){case 0:return p=_o(e),g=p[0],m=p[1],Bo(t,e),[4,$o(e,r)];case 1:return b=v.sent(),y=b.scores,w=b.labels,x=b.time,E=function(e){var t={};return e.forEach((function(e,n){e&&(t[e.label]||(t[e.label]=[0,-1]),e.score>t[e.label][0]&&(t[e.label]=[e.score,n]))})),Object.keys(t).map((function(n){return e[t[n][1]]})).filter((function(e){return!!e}))}(b.boxes.map((function(e,t){return function(e,t,n){var r=e[0],o=e[1];return{score:t,bbox:[o,r,e[3]-o,e[2]-r],label:_t[n]}}(e,y[t],w[t])}))),S=E.find((function(e){return"Document"===e.label})),k=E.find((function(e){return"Passport Page"===e.label})),C=null!==(o=null==S?void 0:S.score)&&void 0!==o?o:0,T=null!==(i=null==k?void 0:k.score)&&void 0!==i?i:0,A=T>=(null!==(a=n.passport)&&void 0!==a?a:0),R=C>T?S:k,_=(I=A?T:C)>=(null!==(s=n.document)&&void 0!==s?s:0),D=xt.NONE,A?D=xt.PASSPORT:_&&(D=xt.ID_CARD),F=E.find((function(e){return"MRZ"===e.label})),M=null!==(l=null==F?void 0:F.score)&&void 0!==l?l:0,L=M>=(null!==(c=n.mrz)&&void 0!==c?c:0),P=E.find((function(e){return"PDF417"===e.label})),O=null!==(u=null==P?void 0:P.score)&&void 0!==u?u:0,N=O>=(null!==(d=n.pdf417)&&void 0!==d?d:0),B=null,U=0,$=0,j=!1,_?[4,jo(e,null==R?void 0:R.bbox,r)]:[3,3];case 2:G=v.sent(),U=G[1],$=null!==(h=null==(B=G[0])?void 0:B[1])&&void 0!==h?h:0,j=$>=(null!==(f=n.focus)&&void 0!==f?f:0),v.label=3;case 3:return[2,{detectedObjects:E,detectionScore:I,detectionTime:x,detectionThresholdMet:_,detectedDocumentType:D,passportDetectionScore:T,passportDetectionThresholdMet:A,mrzDetectionScore:M,mrzDetectionThresholdMet:L,pdf417DetectionScore:O,pdf417DetectionThresholdMet:N,bestDocumentOrPassport:R,bestMrz:F,bestPdf417:P,focusScore:$,focusThresholdMet:j,focusPredictionTime:U,frameWidth:g,frameHeight:m}]}}))}))}function $o(e,t){return void 0===t&&(t=!1),m(this,void 0,void 0,(function(){var n,r,o,i,a,s,l,c,u,d,h,p,g,m,b,y,w;return v(this,(function(v){switch(v.label){case 0:if(!Et)throw new Error("document detection model is not loaded");n=new Date,v.label=1;case 1:return v.trys.push([1,7,,8]),r=f.browser.fromPixels(e),t&&console.time("resize"),o=f.image.resizeBilinear(r,[448,448]),t&&console.timeEnd("resize"),r.dispose(),t&&console.time("convert to int32"),i=f.cast(o,"int32"),o.dispose(),l=(s=f).tensor4d,u=(c=Array).from,[4,i.data()];case 2:return a=l.apply(s,[u.apply(c,[v.sent()]),[1,448,448,3]]),i.dispose(),d=f.cast(a,"int32"),t&&console.timeEnd("convert to int32"),a.dispose(),t&&console.time("predictions"),[4,Et.executeAsync(d)];case 3:return h=v.sent(),t&&console.timeEnd("predictions"),d.dispose(),p=h,t&&console.log("predictions made!",p.map((function(e){return e.arraySync()}))),[4,p[Mo.boxes].array()];case 4:return g=v.sent()[0],[4,p[Mo.scores].array()];case 5:return m=v.sent()[0],[4,p[Mo.labels].array()];case 6:return b=(b=v.sent()[0]).map((function(e){return Math.round(e)})),f.dispose(h),y=(new Date).getTime()-n.getTime(),[2,{boxes:g,scores:m,labels:b,time:y}];case 7:return w=v.sent(),console.error("caught error in makeDocumentDetectionPredictions",w),[2,{boxes:[],scores:[],labels:[],time:0}];case 8:return[2]}}))}))}function jo(e,t,n){return void 0===n&&(n=!1),m(this,void 0,void 0,(function(){var r,o,i,a,s,l,c,u,d,h,p,g,m;return v(this,(function(v){switch(v.label){case 0:if(!Yt)throw new Error("focus model is not loaded");r=new Date,v.label=1;case 1:return v.trys.push([1,5,,6]),o=void 0,o=f.browser.fromPixels(t?function(e,t){var n=document.createElement("canvas"),r=n.getContext("2d");if(!r)throw new Error("could not get 2d context");var o=_o(e),i=o[0],a=o[1],s=t[0],l=t[1],c=t[2],u=t[3];return n.width=c*i,n.height=u*a,r.drawImage(e,s*i,l*a,c*i,u*a,0,0,c*i,u*a),n}(e,t):e),i=f.image.resizeBilinear(o,[448,448]),o.dispose(),a=f.cast(i,"int32"),i.dispose(),c=(l=f).tensor4d,d=(u=Array).from,[4,a.data()];case 2:return s=c.apply(l,[d.apply(u,[v.sent()]),[1,448,448,3]]),a.dispose(),h=f.cast(s,"int32"),s.dispose(),n&&console.time("focus prediction"),[4,Yt.predict(h)];case 3:return p=v.sent(),h.dispose(),[4,p.array()];case 4:return g=v.sent()[0],n&&console.timeEnd("focus prediction"),f.dispose(p),m=(new Date).getTime()-r.getTime(),[2,[g,m]];case 5:return v.sent(),[2,[[0,0],0]];case 6:return[2]}}))}))}var Go,zo,qo,Vo,Wo,Ho=h.default.canvas(Go||(Go=y(["\n display: none;\n"],["\n display: none;\n"]))),Ko=h.default.span(zo||(zo=y(["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1001;\n"],["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1001;\n"]))),Yo=h.default.div(qo||(qo=y(["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ","\n"],["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ","\n"])),(function(e){return e.$flipX?"transform: scaleX(-1);":""})),Xo=h.default.div(Vo||(Vo=y(["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ",";\n color: ",";\n ","\n"],["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ",";\n color: ",";\n ","\n"])),(function(e){var t=e.$color;return null!=t?t:"green"}),(function(e){var t=e.$color;return null!=t?t:"green"}),(function(e){return e.$flipX?"transform: scaleX(-1);":""})),Jo=h.default.div(Wo||(Wo=y(["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ",";\n font: 10px monospace;\n color: ",";\n border-radius: 50%;\n ","\n"],["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ",";\n font: 10px monospace;\n color: ",";\n border-radius: 50%;\n ","\n"])),(function(e){var t=e.$color;return null!=t?t:"red"}),(function(e){var t=e.$color;return null!=t?t:"red"}),(function(e){return e.$flipX?"transform: scaleX(-1);":""}));function Zo(e){var t=e.enabled,r=void 0===t||t,o=e.pageWidth,i=e.pageHeight,a=e.videoWidth,s=e.videoHeight;return n.useMemo((function(){var e=!1,t=0,n=0,l=0,c=0;return r&&((e=o/i<a/s)?l=((t=a*(i/s))-o)/2:c=((n=s*(o/a))-i)/2),{horizontal:e,pageWidth:o,pageHeight:i,videoWidth:a,videoHeight:s,scaledWidth:t,scaledHeight:n,xOffset:l,yOffset:c}}),[r,i,o,s,a])}function Qo(e){var t=e.obj,n=e.scaling,r=n.horizontal,o=n.pageWidth,i=n.pageHeight,a=n.scaledWidth,s=n.scaledHeight;return c.default.createElement(Xo,{$flipX:e.flipX,style:{top:t.bbox[1]*(r?i:s-n.yOffset),left:t.bbox[0]*(r?a-n.xOffset:o),width:t.bbox[2]*(r?a:o),height:t.bbox[3]*(r?i:s)}},t.label," (",t.score.toFixed(3),")")}function ei(e){var t,n,r,o,i=e.face,a=e.flipX,s=e.color,l=e.scaling,u=l.pageWidth,d=l.pageHeight,h=l.videoWidth,f=l.videoHeight,p=l.scaledWidth,g=l.scaledHeight;return l.horizontal?(t=i.box.yMin/f*d,n=i.box.xMin/h*p-l.xOffset,r=i.box.width/h*p,o=i.box.height/f*d):(t=i.box.yMin/f*g-l.yOffset,n=i.box.xMin/h*u,r=i.box.width/h*u,o=i.box.height/f*g),c.default.createElement(c.default.Fragment,null,c.default.createElement(Xo,{$flipX:a,$color:void 0===s?"green":s,style:{top:t,left:n,width:r,height:o}}),i.keypoints.map((function(e,t){return c.default.createElement(ti,{key:t,point:e,scaling:l,flipX:a})})))}function ti(e){var t,n,r=e.point,o=e.color,i=e.scaling,a=i.videoWidth,s=i.videoHeight;return i.horizontal?(t=r.x/a*i.scaledWidth-i.xOffset,n=r.y/s*i.pageHeight):(t=r.x/a*i.pageWidth,n=r.y/s*i.scaledHeight-i.yOffset),c.default.createElement(Jo,{$flipX:e.flipX,$color:void 0===o?"red":o,style:{top:n-=2,left:t-=2}})}var ni,ri,oi,ii,ai,si=h.default.button(ni||(ni=y(["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n\n &:hover {\n background: #ddd;\n }\n"],["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n\n &:hover {\n background: #ddd;\n }\n"]))),li=h.default.div(ri||(ri=y(["\n display: inline-block;\n width: ","px;\n height: ","px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ","px;\n height: ","px;\n margin: 8px;\n border-radius: 50%;\n border: ","px solid\n ",";\n border-color: "," transparent\n "," transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\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: ","px;\n height: ","px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ","px;\n height: ","px;\n margin: 8px;\n border-radius: 50%;\n border: ","px solid\n ",";\n border-color: "," transparent\n "," transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"])),(function(e){var t=e.$size;return null!=t?t:80}),(function(e){var t=e.$size;return null!=t?t:80}),(function(e){var t=e.$size;return(null!=t?t:80)-16}),(function(e){var t=e.$size;return(null!=t?t:80)-16}),(function(e){var t=e.$thickness;return null!=t?t:6}),(function(e){var t=e.$color;return null!=t?t:"#888"}),(function(e){var t=e.$color;return null!=t?t:"#888"}),(function(e){var t=e.$color;return null!=t?t:"#888"})),ci=function(e){var t=e.text,n=e.imageUrl;return c.default.createElement(di,null,t&&c.default.createElement(hi,null,t),c.default.createElement(fi,null,c.default.createElement("img",{src:n,alt:""})))},ui=function(e){var t=e.imageUrl;return c.default.createElement(di,null,c.default.createElement(hi,null,c.default.createElement(li,{$size:24,$color:"white",$thickness:3,style:{position:"relative",top:4,left:-3,margin:"0 3px 0 -12px"}}),"Processing..."),c.default.createElement(fi,null,c.default.createElement("img",{src:t,alt:""})))},di=h.default.div(oi||(oi=y(["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"],["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"]))),hi=h.default.div(ii||(ii=y(["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"],["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"]))),fi=h.default.div(ai||(ai=y(["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"],["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"]))),pi={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 card front captured.":"Se ha capturado el frente de 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","Video signature has been successfully captured!":"La video firma ha sido exitosa."}}},gi=function(e){var t=we().i18n;n.useEffect((function(){"auto"!==e?t.changeLanguage(e):t.changeLanguage()}),[t,e])};function mi(e,t,n,r){if("string"==typeof n)return n;if("object"==typeof n){var o=n;if(o[t])return o[t];var i=t.split("-")[0];if(o[i])return o[i]}return e(r)}function vi(e,t){var r=we(),o=r.t,i=r.i18n;return n.useMemo((function(){return g(g({},e),Object.keys(t).reduce((function(n,r){var a;return g(g({},n),((a={})[r]=mi(o,i.language,null==e?void 0:e[r],t[r]),a))}),{}))}),[t,i.language,o,e])}var bi,yi,wi={videoWidth:0,videoHeight:0,captureStartedAt:null,detectedObjects:[],bestDocument:void 0,bestMrz:void 0,bestPdf417:void 0,documentType:xt.NONE,documentInBounds:!1,documentDetectionScore:0,documentDetectionThresholdMet:!1,passportPageDetectionScore:0,passportPageDetectionThresholdMet:!1,mrzDetectionScore:0,mrzDetectionThresholdMet:!1,pdf417DetectionScore:0,pdf417DetectionThresholdMet:!1,focusScore:0,focusThresholdMet:!1,barcodeScanningEnabled:!1,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},xi=function(e,t){switch(t.type){case"configure":return g(g(g({},e),t.payload),{goodFramesCount:0,captureStartedAt:new Date,capturing:!1,captured:!1,captureFailed:!1});case"objectsDetected":var n=t.payload.prediction,r=n.detectedObjects,o=n.detectionScore,i=n.detectionThresholdMet,a=n.detectedDocumentType,s=n.passportDetectionScore,l=n.passportDetectionThresholdMet,c=n.mrzDetectionScore,u=n.mrzDetectionThresholdMet,d=n.pdf417DetectionScore,h=n.pdf417DetectionThresholdMet,f=n.bestDocumentOrPassport,p=n.bestMrz,m=n.bestPdf417,v=n.focusScore,b=n.focusThresholdMet,y=n.frameWidth,w=n.frameHeight,x=new Date,E=0,S=e.goodFramesThreshold;e.lastFrameCapturedAt&&(E=1e3/(x.getTime()-e.lastFrameCapturedAt.getTime()))>0&&(S=Math.ceil(3*E));var k=!1;if(f){var C=f.bbox,T=C[0],A=C[1],R=C[2],I=C[3];T*=y,R*=y,k=(A*=w)>5&&A+(I*=w)+5<w&&(T>5||T<5&&T+R>.8*y)&&T+R+5<y}var _=!0===e.autoCaptureBarcodeRequired||"mobile"===e.autoCaptureBarcodeRequired&&Pt(),D=e.barcodeScanningEnabled&&h&&_,F=D&&!e.barcodeResult,M=i&&k&&b,L=e.goodFramesCount;return M&&(L+=1),g(g({},e),{videoWidth:y,videoHeight:w,detectedObjects:r,bestDocument:f,bestMrz:p,bestPdf417:m,documentType:a,documentInBounds:k,documentDetectionScore:o,documentDetectionThresholdMet:i,mrzDetectionScore:c,mrzDetectionThresholdMet:u,pdf417DetectionScore:d,pdf417DetectionThresholdMet:h,passportPageDetectionScore:s,passportPageDetectionThresholdMet:l,focusScore:v,focusThresholdMet:b,shouldScanBarcode:D,waitingForBarcodeScan:F,isGoodFrame:M,goodFramesCount:L,goodFramesThreshold:S,goodFramesThresholdMet:L>=S,lastFrameCapturedAt:x,frameCaptureRate:E});case"barcodeScanned":return g(g({},e),{barcodeResult:t.payload.result,waitingForBarcodeScan:!1,autoCaptureBarcodeRequired:!1});case"barcodeScanFailed":var P=g(g({},e),{barcodeScanFailedAttempts:e.barcodeScanFailedAttempts+1});return P.barcodeScanFailedAttempts>=P.maxBarcodeScanAttempts&&(P.autoCaptureBarcodeRequired=!1,P.shouldScanBarcode=!1,P.waitingForBarcodeScan=!1),P;case"capturing":return g(g({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return g(g({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return g(g({},e),{capturing:!1,captured:!1,captureFailed:!0});default:return e}},Ei=function(e){var t,r,o,i=e.requiredDocumentType,a=e.autoCaptureEnabled,s=void 0===a||a,l=e.autoCaptureScoreThreshold,u=void 0===l?.8:l,d=e.autoCaptureGoodFramesRequired,h=void 0===d?3:d,f=e.autoCaptureBarcodeRequired,p=void 0===f?"mobile":f,g=e.mrzDetectionScoreThreshold,b=void 0===g?.25:g,y=e.passportPageDetectionThreshold,w=void 0===y?.6:y,x=e.pdf417DetectionThreshold,E=void 0===x?.15:x,S=e.focusScoreThreshold,k=void 0===S?.3:S,C=e.barcodeScanningEnabled,T=void 0===C||C,A=e.maxBarcodeScanAttempts,R=void 0===A?10:A,I=e.onPrediction,_=e.onBarcodeScanned,D=e.onCapture,F=e.onExit,M=e.processingScreen,L=e.processingDelay,P=void 0===L?0:L,O=e.assets,N=void 0===O?{}:O,B=e.colors,U=void 0===B?{}:B,$=e.verbiage,j=void 0===$?{}:$,G=e.debugMode,z=void 0!==G&&G,q=Ft(),V=q.ref,W=q.width,H=void 0===W?1:W,K=q.height,Y=void 0===K?1:K,X=n.useReducer(xi,wi),J=X[0],Z=X[1],Q=n.useState(""),ee=Q[0],te=Q[1],ne=n.useState(!1),re=ne[0],oe=ne[1],ie=n.useContext(Jt),ae=ie.cameraRef,se=ie.cameraReady,le=ie.takePhoto,ce=ie.videoRef,ue=ie.videoLoaded,de=n.useRef(),he=n.useContext(Lo),fe=he.ready,pe=he.working,ge=he.setThresholds,me=he.makePrediction,ve=he.onPredictionMade,be=he.detectionTime,ye=he.focusPredictionTime,we=he.getBestFrame,xe=he.resetBestFrame;n.useEffect((function(){de.current=new Date}),[]),n.useEffect((function(){Z({type:"configure",payload:{requiredDocumentType:i,goodFramesThreshold:h,autoCaptureBarcodeRequired:p,barcodeScanningEnabled:T,maxBarcodeScanAttempts:R}}),xe(),ge({document:u,passport:w,mrz:b,pdf417:E,focus:k})}),[i,u,k,b,h,p,T,R,w,E,xe,ge]);var Ee=n.useRef(0),Se=n.useRef(!1);n.useEffect((function(){Se.current=ue&&se&&fe&&!J.capturing&&!J.captured}),[se,J.captured,J.capturing,fe,ue]);var ke=n.useState(null),Ce=ke[0],Te=ke[1];n.useEffect((function(){if(fe&&se&&ue)return Ee.current=requestAnimationFrame((function e(){return m(this,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:if(!Se.current||pe.current)return[3,5];r.label=1;case 1:return r.trys.push([1,4,,5]),J.shouldScanBarcode?[4,le()]:[3,3];case 2:if(!(t=r.sent()))return Ee.current=requestAnimationFrame(e),[2];Te(t),r.label=3;case 3:return ce.current&&me(ce.current),[3,5];case 4:return n=r.sent(),console.error("error capturing frame",n),[3,5];case 5:return Ee.current=requestAnimationFrame(e),[2]}}))}))})),function(){cancelAnimationFrame(Ee.current)}}),[se,me,fe,pe,J.shouldScanBarcode,le,ue,ce]),n.useEffect((function(){ve((function(e){Z({type:"objectsDetected",payload:{prediction:e}}),null==I||I(e)}))}),[I,ve]),n.useEffect((function(){m(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return J.shouldScanBarcode&&Ce?[4,$t(Ce,null===(t=J.bestPdf417)||void 0===t?void 0:t.bbox)]:[3,2];case 1:(e=n.sent())?(Z({type:"barcodeScanned",payload:{result:e}}),null==_||_(e)):Z({type:"barcodeScanFailed"}),n.label=2;case 2:return[2]}}))}))}),[_,J.shouldScanBarcode,null===(t=J.bestPdf417)||void 0===t?void 0:t.bbox,le,Ce]);var Ae=s&&J.goodFramesThresholdMet&&!J.capturing&&!J.captured&&!J.waitingForBarcodeScan&&Si(J.captureStartedAt)>=3e3;n.useEffect((function(){m(void 0,void 0,void 0,(function(){var e,t,n,r,o,i,a,s,l;return v(this,(function(c){switch(c.label){case 0:return Ae?(Z({type:"capturing"}),[4,we()]):[2];case 1:return(e=c.sent())?(oe(!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"),Z({type:"captureFailed"}),[2]);case 2:return t=c.sent(),n=t[0],r=t[1],(o=document.createElement("canvas")).width=n,o.height=r,[4,createImageBitmap(e)];case 3:if(i=c.sent(),(n>1920&&r>1080||n>1080&&r>1920)&&J.barcodeResult){if(n>r?(o.width=1920,o.height=r*(1920/n)):(o.height=1920,o.width=n*(1920/r)),!(a=o.getContext("2d")))return[2];a.drawImage(i,0,0,o.width,o.height)}else{if(!(s=o.getContext("bitmaprenderer")))return[2];s.transferFromImageBitmap(i)}return l=o.toDataURL("image/jpeg",.92),te(l),setTimeout((function(){var e,t=(new Date).getTime()-(null!==(e=de.current)&&void 0!==e?e:new Date).getTime();null==D||D(l,n,r,{autoCapture:"Y",captureTime:t}),Z({type:"captured"}),oe(!1)}),P),[2]}var u}))}))}),[we,D,P,Ae,J.barcodeResult]),U.guideBoxUnsatisfiedColor||(U.guideBoxUnsatisfiedColor="white"),U.guideBoxSatisfiedColor||(U.guideBoxSatisfiedColor="green");var Re=vi(j,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured.",capturingText:"Capturing...",captureFailedText:"Capture failed!"}),Ie=Zo({enabled:z,pageWidth:H,pageHeight:Y,videoWidth:J.videoWidth,videoHeight:J.videoHeight});return re?c.default.createElement(c.default.Fragment,null,M,ee&&c.default.createElement(ci,{text:Re.processingIdCardText,imageUrl:ee})):""!==ee?c.default.createElement("img",{src:ee,alt:"",style:{maxWidth:"100%",maxHeight:"100%"}}):c.default.createElement(rt,{ref:V,className:"flex"},c.default.createElement(Ot,{width:H,height:Y,instruction:J.captureFailed?Re.captureFailedText:J.capturing?null==Re?void 0:Re.capturingText:Re.instructionText,portraitGuidesImageUrl:N.portraitGuidesImageUrl,landscapeGuidesImageUrl:N.landscapeGuidesImageUrl,isMirrored:!(null===(r=ae.current)||void 0===r?void 0:r.isRearFacing),borderColor:J.isGoodFrame?U.guideBoxSatisfiedColor:U.guideBoxUnsatisfiedColor}),z&&J.detectedObjects.length>0&&c.default.createElement(Yo,{$flipX:!(null===(o=ae.current)||void 0===o?void 0:o.isRearFacing)},J.detectedObjects.map((function(e,t){var n;return c.default.createElement(Qo,{key:t,obj:e,scaling:Ie,flipX:!(null===(n=ae.current)||void 0===n?void 0:n.isRearFacing)})}))),z&&c.default.createElement(Ko,null,ae.current?c.default.createElement(c.default.Fragment,null,"✅ Camera: ",ae.current.label," (",ae.current.width,"x",ae.current.height,")"):"❌ Camera not ready",c.default.createElement("br",null),J.frameCaptureRate>.75?"✅":"👎"," Frame Rate:"," ",Math.round(1e3*(J.frameCaptureRate+Number.EPSILON))/1e3," ","fps (",be,"ms doc detect, ",ye,"ms focus)",c.default.createElement("br",null),fe?c.default.createElement(c.default.Fragment,null,J.documentDetectionThresholdMet?"✅":"❌"," Document Score: ",J.documentDetectionScore," (",J.documentType,")",c.default.createElement("br",null),J.documentInBounds?"✅":"❌"," Document In Bounds",c.default.createElement("br",null),J.focusThresholdMet?"✅":"❌"," Focus Score:"," ",J.focusScore,c.default.createElement("br",null),J.goodFramesThresholdMet?"✅":"❌"," Good Frame Count:"," ",J.goodFramesCount,"/",J.goodFramesThreshold,T&&J.autoCaptureBarcodeRequired?c.default.createElement(c.default.Fragment,null,c.default.createElement("br",null),J.barcodeResult?"✅":"❌"," Barcode Scanned (",Ut()?"Native":"ZXing",","," ",J.barcodeScanFailedAttempts,"/",J.maxBarcodeScanAttempts," failed attempts)"):null):c.default.createElement(c.default.Fragment,null,"❌ Models not ready")),c.default.createElement(si,{onClick:F},"×"))},Si=function(e){return e?Math.abs((new Date).getTime()-e.getTime()):0},ki=function(e){var t,r,o=e.assets,i=void 0===o?{}:o,a=e.colors,s=void 0===a?{}:a,l=e.verbiage,u=void 0===l?{}:l,d=n.useContext(Jt).retryCameraAccess;i.imageUrl||(i.imageUrl=Io+"/camera-disable-icon.png"),s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(r=s.retryBtn).textColor||(r.textColor="white");var h=vi(u,{headingText:"Your camera permission is disabled",descriptionText:"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.",retryBtnText:"Retry"});return c.default.createElement(lt,null,c.default.createElement("div",{style:{display:"flex",height:"100%"}},c.default.createElement(ct,{style:{maxWidth:500,height:"auto",margin:"auto"}},c.default.createElement(ut,{style:{flexGrow:0}},c.default.createElement("img",{src:i.imageUrl,alt:""})),c.default.createElement("h3",null,h.headingText),c.default.createElement("p",{style:{lineHeight:1.5,marginBottom:50}},h.descriptionText),c.default.createElement(St,{onClick:d,colors:s.retryBtn,style:{width:200,marginLeft:"auto",marginRight:"auto"},finished:!0},h.retryBtnText))))},Ci=function(e){var t=e.onDismissed,r=e.assets,o=void 0===r?{}:r,i=e.colors,a=void 0===i?{}:i,s=e.verbiage,l=void 0===s?{}:s,u=n.useContext(Lo).ready,d=n.useContext(Jt),h=d.cameraReady,f=d.cameraAccessDenied,p=d.iphoneContinuityCameraAvailable,g=d.setIphoneContinuityCameraAllowed,m=n.useState(!1),v=m[0],b=m[1];o.instructionImageUrl||(o.instructionImageUrl="".concat(Io,"/WebSDK-Instruction-DL-Capture-3-Portrait.png"));var y=vi(l,{headingText:"Use your device camera to capture your ID",useContinuityCameraText:"Use your iPhone as a webcam",modelsWarmingUpText:"Models warming up...",cameraInitializingText:"Camera initializing...",continueText:"Continue"});return n.useEffect((function(){if(u&&h)return function(){return null};var e=setTimeout((function(){b(!1)}),500);return function(){clearTimeout(e)}}),[h,u]),v?c.default.createElement(c.default.Fragment,null):f?c.default.createElement(ki,{assets:o.cameraAccessDenied,colors:a.cameraAccessDenied,verbiage:l.cameraAccessDenied}):c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",null,y.headingText),c.default.createElement(ut,{style:{pointerEvents:"none"}},c.default.createElement("img",{alt:y.headingText,src:o.instructionImageUrl})),c.default.createElement("div",{style:{paddingTop:26,height:48,marginTop:-48}},p&&c.default.createElement(c.default.Fragment,null,c.default.createElement("input",{id:"use-continuity-camera",type:"checkbox",defaultChecked:!0,style:{marginRight:8},onChange:function(e){g(e.target.checked)}}),c.default.createElement("label",{htmlFor:"use-continuity-camera"},y.useContinuityCameraText))),c.default.createElement(St,{disabled:!h||!u,finished:u&&h,colors:a.continueBtn,style:{marginTop:8},onClick:function(){b(!0),null==t||t()}},h&&u?y.continueText:u?y.cameraInitializingText:y.modelsWarmingUpText)))},Ti=function(e){var t,r=e.assets,o=void 0===r?{}:r,i=e.verbiage,a=void 0===i?{}:i,s=Ft(),l=s.ref,u=s.width,d=void 0===u?1:u,h=s.height,f=void 0===h?1:h,p=n.useContext(Jt).cameraRef;o.frontPortraitGuidesImageUrl||(o.frontPortraitGuidesImageUrl="".concat(Io,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),o.frontLandscapeGuidesImageUrl||(o.frontLandscapeGuidesImageUrl="".concat(Io,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),o.backPortraitGuidesImageUrl||(o.backPortraitGuidesImageUrl="".concat(Io,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg")),o.backLandscapeGuidesImageUrl||(o.backLandscapeGuidesImageUrl="".concat(Io,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"));var m=function(e,t){var r=we(),o=r.t,i=r.i18n;return n.useMemo((function(){return mi(o,i.language,e,t)}),[t,i.language,o,e])}(a.instructionText,"Please flip your ID card..."),v=Pt()?0:50,b=!(null===(t=p.current)||void 0===t?void 0:t.isRearFacing),y=n.useContext(Mt),w=y.orientation,x=y.wrapperRef,E=y.wrapperWidth,S=y.wrapperHeight,k=y.imageAspectRatio,C=y.wrapperAspectRatio,T=y.onImageLoaded,A=y.setDimensions;n.useEffect((function(){A({width:d,height:f})}),[f,A,d]);var R={height:S-2*v-8};k>=C&&(R={width:E-2*v-8});var I=n.useState(1),_=I[0],D=I[1],F=n.useState(0),M=F[0],L=F[1],P=["rotateY(".concat(M,"deg)")];b&&P.push("scaleX(-1)");var O=["rotateY(".concat(180-M,"deg)")];return b&&O.push("scaleX(-1)"),n.useEffect((function(){var e=function(){D(1),L(180),setTimeout((function(){D(0),L(0)}),1500)};setTimeout(e,250);var t=setInterval(e,2500);return function(){clearInterval(t)}}),[]),c.default.createElement(rt,{ref:l,className:"flex"},c.default.createElement("div",{ref:x,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}},m)),c.default.createElement("div",{style:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyItems:"center",maxWidth:"calc(100%)",maxHeight:"calc(100% - ".concat(2*v,"px - ").concat(8,"px)")}},c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:v,flexGrow:1}}),c.default.createElement("div",{style:{maxWidth:"calc(100% - ".concat(2*v,"px - ").concat(8,"px)"),maxHeight:f-2*v-8}},c.default.createElement("div",{style:{position:"relative",border:"".concat(4,"px solid ").concat("white")}},c.default.createElement("img",{src:"portrait"===w?o.frontPortraitGuidesImageUrl:o.frontLandscapeGuidesImageUrl,alt:"",onLoad:T,style:g({backfaceVisibility:"hidden",transition:"transform ".concat(_,"s"),transform:P.join(" "),transformStyle:"preserve-3d",position:"relative",top:0,left:0,display:"block"},R)}),c.default.createElement("img",{src:"portrait"===w?o.backPortraitGuidesImageUrl:o.backLandscapeGuidesImageUrl,alt:"",style:g({backfaceVisibility:"hidden",transition:"transform ".concat(_,"s"),transform:O.join(" "),transformStyle:"preserve-3d",position:"absolute",top:0,left:0,display:"block"},R)}))),c.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:v,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}},m)))))},Ai=function(e){var t,r,o=e.capturedDocuments,i=e.onSubmitClick,a=e.onRetryClick,s=e.colors,l=void 0===s?{}:s,u=e.verbiage,d=void 0===u?{}:u,h=n.useContext(Ke).submissionStatus,f=o.ID_CARD_FRONT,p=o.ID_CARD_BACK,g=o.PASSPORT;l.retryBtn||(l.retryBtn={}),(t=l.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(r=l.retryBtn).textColor||(r.textColor="white");var m=vi(d,{headingText:"ID Capture Successful",idCardFrontText:"ID Card Front",idCardBackText:"ID Card Back",passportText:"Passport",instructionText:"Verify the entire ID was captured clearly with no glare.",retryText:"Retry",submittingText:"Submitting...",submitText:"Done"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h1",null,m.headingText),c.default.createElement(ut,null,c.default.createElement(dt,{style:{paddingBottom:40}},f&&c.default.createElement("div",null,c.default.createElement("h3",null,m.idCardFrontText),c.default.createElement("img",{src:f.imageData,alt:m.idCardFrontText,width:f.width,height:f.height})),p&&c.default.createElement("div",null,c.default.createElement("h3",null,m.idCardBackText),c.default.createElement("img",{src:p.imageData,alt:m.idCardBackText,width:p.width,height:p.height})),g&&c.default.createElement("div",null,c.default.createElement("h3",null,m.passportText),c.default.createElement("img",{src:g.imageData,alt:m.passportText,width:g.width,height:g.height})))),c.default.createElement("p",{style:{fontSize:18}},m.instructionText),c.default.createElement("div",{style:{paddingTop:15,textAlign:"center"}},c.default.createElement(St,{onClick:a,colors:l.retryBtn,style:{marginRight:15},finished:!0},m.retryText),c.default.createElement(St,{onClick:i,disabled:h===qe.SUBMITTING,colors:l.doneBtn,finished:!0},h===qe.SUBMITTING?m.submittingText:m.submitText))))},Ri=function(){var e,t=n.useContext(Jt),r=t.videoRef,o=t.setVideoLoaded,i=t.cameraRef;n.useEffect((function(){o(!1)}),[o]),n.useEffect((function(){var e;r.current&&(null===(e=i.current)||void 0===e?void 0:e.stream)&&(r.current.srcObject=i.current.stream)}),[i,r]);var a=n.useCallback((function(){o(!0)}),[o]);return c.default.createElement(Ii,{autoPlay:!0,playsInline:!0,muted:!0,ref:r,onLoadedData:a,$isRearFacing:null===(e=i.current)||void 0===e?void 0:e.isRearFacing})},Ii=h.default.video(bi||(bi=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 _i(e,t,r){var o=this,i=n.useState(!1),a=i[0],s=i[1];return n.useEffect((function(){t&&e&&("function"==typeof e?m(o,void 0,void 0,(function(){return v(this,(function(t){switch(t.label){case 0:return[4,e()];case 1:return t.sent()?null==r||r():s(!0),[2]}}))})):null==r||r())}),[t,r,e]),!e||a}!function(e){e.CAPTURING="CAPTURING",e.COMPLETE="COMPLETE"}(yi||(yi={}));var Di={captureState:yi.CAPTURING,capturedDocuments:{},requestedDocumentType:xt.ID_CARD_FRONT,currentDocumentType:xt.NONE,differentDocumentTypeDetections:0,barcodeResult:null},Fi=function(e,t){var n;switch(t.type){case"predictionMade":var r=t.payload.prediction;return(o=g(g({},e),{currentDocumentType:r.detectedDocumentType})).currentDocumentType===e.requestedDocumentType&&(o.differentDocumentTypeDetections=0),"PASSPORT"===r.detectedDocumentType&&"PASSPORT"!==e.requestedDocumentType&&(o.requestedDocumentType=xt.PASSPORT),"PASSPORT"===e.requestedDocumentType&&r.passportDetectionScore<.3&&(o.requestedDocumentType=xt.ID_CARD_FRONT),o;case"barcodeScanned":return g(g({},e),{barcodeResult:t.payload.result});case"imageCaptured":var o=g(g({},e),{capturedDocuments:g(g({},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?o.captureState=yi.COMPLETE:o.requestedDocumentType=xt.ID_CARD_FRONT:o.requestedDocumentType=xt.ID_CARD_BACK,o;case"reset":return g({},Di)}},Mi=function(e){var t,r,o,i,a,s,l,u,d,h,f=e.onSuccess,p=e.autoCaptureEnabled,g=void 0===p||p,b=e.autoCaptureGoodFramesRequired,y=void 0===b?3:b,w=e.autoCaptureBarcodeRequired,x=void 0===w?"mobile":w,E=e.barcodeScanningEnabled,S=void 0!==E&&E,k=e.idCardAutoCaptureScoreThreshold,C=void 0===k?.9:k,T=e.passportAutoCaptureScoreThreshold,A=void 0===T?.85:T,R=e.mrzDetectionScoreThreshold,I=void 0===R?.25:R,_=e.idCardFocusScoreThreshold,D=void 0===_?.3:_,F=e.passportFocusScoreThreshold,M=void 0===F?.3:F,L=e.skipSuccessScreen,P=void 0!==L&&L,O=e.assets,N=void 0===O?{}:O,B=e.colors,U=void 0===B?{}:B,$=e.verbiage,j=void 0===$?{}:$,G=e.debugMode,z=void 0!==G&&G,q=n.useReducer(Fi,Di),V=q[0],W=q[1],H=n.useContext(Jt).releaseCameraAccess,K=n.useState(!1),Y=K[0],X=K[1],J=n.useContext(Ke),Z=J.submissionStatus,Q=J.submissionResponse,ee=J.setIdFrontImage,te=J.setIdBackImage,ne=J.setPassportImage,re=J.logIdFrontCaptureAttempt,oe=J.logIdBackCaptureAttempt,ie=n.useRef();n.useEffect((function(){ie.current=new Date}),[V.capturedDocuments.length]);var ae=n.useCallback((function(e){var t;e.operationTime=(new Date).getTime()-(null!==(t=ie.current)&&void 0!==t?t:new Date).getTime(),"ID_CARD_BACK"===V.requestedDocumentType?oe(e):re(e)}),[oe,re,V.requestedDocumentType]),se=n.useCallback((function(e){W({type:"predictionMade",payload:{prediction:e}})}),[]),le=n.useCallback((function(e){W({type:"barcodeScanned",payload:{result:e}})}),[]),ce=n.useCallback((function(e,t,n,r){ae(r),W({type:"imageCaptured",payload:{imageData:e,width:t,height:n}})}),[ae]),ue=n.useCallback((function(){return m(void 0,void 0,void 0,(function(){var e,t,n,r,o,i,a,s,l;return v(this,(function(c){switch(c.label){case 0:return t=V.capturedDocuments.ID_CARD_BACK,n=V.capturedDocuments.PASSPORT,(o=e=V.capturedDocuments.ID_CARD_FRONT)?[4,Ze(e.imageData)]:[3,2];case 1:o=c.sent(),c.label=2;case 2:return r=o,(a=t)?[4,Ze(t.imageData)]:[3,4];case 3:a=c.sent(),c.label=4;case 4:return i=a,(l=n)?[4,Ze(n.imageData)]:[3,6];case 5:l=c.sent(),c.label=6;case 6:return s=l,ee(r),te(i),ne(s),H(),setTimeout((function(){null==f||f({idFrontImage:r,idBackImage:i,passportImage:s})}),0),[2]}}))}))}),[f,H,te,ee,ne,V.capturedDocuments]),de=_i(P,V.captureState===yi.COMPLETE,ue),he=n.useCallback((function(){W({type:"reset"})}),[]),fe=n.useState(0),pe=fe[0],ge=fe[1],me=n.useCallback((function(){X(!1),ge((function(e){return e+1})),W({type:"reset"})}),[]);n.useEffect((function(){Z!==qe.READY&&H()}),[H,Z]),N.idCardFront||(N.idCardFront={}),(t=N.idCardFront).portraitGuidesImageUrl||(t.portraitGuidesImageUrl="".concat(Io,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),(r=N.idCardFront).landscapeGuidesImageUrl||(r.landscapeGuidesImageUrl="".concat(Io,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),N.idCardBack||(N.idCardBack={}),(o=N.idCardBack).portraitGuidesImageUrl||(o.portraitGuidesImageUrl="".concat(Io,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg")),(i=N.idCardBack).landscapeGuidesImageUrl||(i.landscapeGuidesImageUrl="".concat(Io,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg")),N.passport||(N.passport={}),(a=N.passport).portraitGuidesImageUrl||(a.portraitGuidesImageUrl="".concat(Io,"/Shieldout-Passport-Front-SVG-Portrait-2.svg")),(s=N.passport).landscapeGuidesImageUrl||(s.landscapeGuidesImageUrl="".concat(Io,"/Shieldout-Passport-Front-SVG-Landscape-2.svg")),N.flipIdPrompt||(N.flipIdPrompt={}),(l=N.flipIdPrompt).frontPortraitGuidesImageUrl||(l.frontPortraitGuidesImageUrl=N.idCardFront.portraitGuidesImageUrl),(u=N.flipIdPrompt).frontLandscapeGuidesImageUrl||(u.frontLandscapeGuidesImageUrl=N.idCardFront.landscapeGuidesImageUrl),(d=N.flipIdPrompt).backPortraitGuidesImageUrl||(d.backPortraitGuidesImageUrl=N.idCardBack.portraitGuidesImageUrl),(h=N.flipIdPrompt).backLandscapeGuidesImageUrl||(h.backLandscapeGuidesImageUrl=N.idCardBack.landscapeGuidesImageUrl);var ve=vi(j.idCardFront,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured."}),be=vi(j.idCardBack,{instructionText:"Scan the back of ID"}),ye=vi(j.idCardBack,{instructionText:"Scan the ID page of passport"});return Q?c.default.createElement(rt,{className:"padded"},c.default.createElement("h1",null,"Submission completed!"),c.default.createElement("pre",null,JSON.stringify(Q,null,2))):c.default.createElement(rt,{className:"flex"},V.captureState!==yi.COMPLETE&&c.default.createElement(Ri,null),Y&&function(){var e=Object.keys(V.capturedDocuments).length;switch(V.requestedDocumentType){case xt.ID_CARD_FRONT:return c.default.createElement(Ei,{key:"capture".concat(e),requiredDocumentType:V.requestedDocumentType,autoCaptureEnabled:g,autoCaptureScoreThreshold:C,autoCaptureGoodFramesRequired:y,autoCaptureBarcodeRequired:x,barcodeScanningEnabled:!1,mrzDetectionScoreThreshold:I,focusScoreThreshold:D,onPrediction:se,onCapture:ce,onExit:me,processingDelay:3500,assets:N.idCardFront,colors:U,verbiage:ve,debugMode:z,processingScreen:c.default.createElement(Ti,{assets:N.flipIdPrompt,verbiage:j.flipIdPrompt})});case xt.ID_CARD_BACK:return c.default.createElement(Ei,{key:"capture".concat(e),requiredDocumentType:V.requestedDocumentType,autoCaptureEnabled:g,autoCaptureScoreThreshold:C,autoCaptureGoodFramesRequired:y,autoCaptureBarcodeRequired:x,barcodeScanningEnabled:S,mrzDetectionScoreThreshold:I,focusScoreThreshold:D,onPrediction:se,onBarcodeScanned:le,onCapture:ce,onExit:me,assets:N.idCardBack,colors:U,verbiage:be,debugMode:z});case xt.PASSPORT:return c.default.createElement(Ei,{key:"capture".concat(e),requiredDocumentType:V.requestedDocumentType,autoCaptureEnabled:g,autoCaptureScoreThreshold:A,mrzDetectionScoreThreshold:I,autoCaptureGoodFramesRequired:y,autoCaptureBarcodeRequired:x,barcodeScanningEnabled:!1,focusScoreThreshold:M,onPrediction:se,onBarcodeScanned:le,onCapture:ce,onExit:me,assets:N.passport,colors:U,verbiage:ye,debugMode:z});default:return null}}(),!Y&&c.default.createElement(Ci,{key:pe,assets:N.loadingOverlay,colors:U.loadingOverlay,verbiage:j.loadingOverlay,onDismissed:function(){X(!0)}}),V.captureState===yi.COMPLETE&&de&&c.default.createElement(Ai,{capturedDocuments:V.capturedDocuments,barcodeResult:V.barcodeResult,onSubmitClick:ue,onRetryClick:he,colors:U.success,verbiage:j.success}))},Li=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"}}))},Pi=self;function Oi(e,t){e=e.split(".");var n,r=Pi;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 Ni(e){return e}function Bi(){throw Error("Invalid UTF8")}function Ui(e,t){return t=String.fromCharCode.apply(null,t),null==e?t:e+t}let $i,ji;const Gi="undefined"!=typeof TextDecoder;let zi;const qi="undefined"!=typeof TextEncoder;function Vi(e){if(qi)e=(zi||=new TextEncoder).encode(e);else{let n=0;const r=new Uint8Array(3*e.length);for(let o=0;o<e.length;o++){var t=e.charCodeAt(o);if(128>t)r[n++]=t;else{if(2048>t)r[n++]=t>>6|192;else{if(55296<=t&&57343>=t){if(56319>=t&&o<e.length){const i=e.charCodeAt(++o);if(56320<=i&&57343>=i){r[n++]=(t=1024*(t-55296)+i-56320+65536)>>18|240,r[n++]=t>>12&63|128,r[n++]=t>>6&63|128,r[n++]=63&t|128;continue}o--}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 Wi,Hi;e:{for(var Ki=["CLOSURE_FLAGS"],Yi=Pi,Xi=0;Xi<Ki.length;Xi++)if(null==(Yi=Yi[Ki[Xi]])){Hi=null;break e}Hi=Yi}var Ji,Zi=Hi&&Hi[610401301];Wi=null!=Zi&&Zi;const Qi=Pi.navigator;function ea(e){return!!Wi&&!!Ji&&Ji.brands.some((({brand:t})=>t&&-1!=t.indexOf(e)))}function ta(e){var t;return(t=Pi.navigator)&&(t=t.userAgent)||(t=""),-1!=t.indexOf(e)}function na(){return!!Wi&&!!Ji&&0<Ji.brands.length}function ra(){return na()?ea("Chromium"):(ta("Chrome")||ta("CriOS"))&&!(!na()&&ta("Edge"))||ta("Silk")}Ji=Qi&&Qi.userAgentData||null;var oa=!na()&&(ta("Trident")||ta("MSIE"));!ta("Android")||ra(),ra(),ta("Safari")&&(ra()||!na()&&ta("Coast")||!na()&&ta("Opera")||!na()&&ta("Edge")||(na()?ea("Microsoft Edge"):ta("Edg/"))||na()&&ea("Opera"));var ia={},aa=null;function sa(){if(!aa){aa={};for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"],n=0;5>n;n++){var r=e.concat(t[n].split(""));ia[n]=r;for(var o=0;o<r.length;o++){var i=r[o];void 0===aa[i]&&(aa[i]=o)}}}}var la="undefined"!=typeof Uint8Array,ca=!oa&&"function"==typeof btoa;function ua(e){if(!ca){var t;void 0===t&&(t=0),sa(),t=ia[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 o=e[l],i=e[l+1],a=e[l+2],s=t[o>>2];n[c++]=s+(o=t[(3&o)<<4|i>>4])+(i=t[(15&i)<<2|a>>6])+(a=t[63&a])}switch(s=0,a=r,e.length-l){case 2:a=t[(15&(s=e[l+1]))<<2]||r;case 1:n[c]=t[(e=e[l])>>2]+t[(3&e)<<4|s>>4]+a+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 da=/[-_.]/g,ha={"-":"+",_:"/",".":"="};function fa(e){return ha[e]||""}function pa(e){if(!ca)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),o=0;return function(e,t){function n(t){for(;r<e.length;){var n=e.charAt(r++),o=aa[n];if(null!=o)return o;if(!/^[\s\xa0]*$/.test(n))throw Error("Unknown base64 encoding at char: "+n)}return t}sa();for(var r=0;;){var o=n(-1),i=n(0),a=n(64),s=n(64);if(64===s&&-1===o)break;t(o<<2|i>>4),64!=a&&(t(i<<4&240|a>>2),64!=s&&t(a<<6&192|s))}}(e,(function(e){r[o++]=e})),o!==n?r.subarray(0,o):r}(e);da.test(e)&&(e=e.replace(da,fa)),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 ga(e){return la&&null!=e&&e instanceof Uint8Array}let ma;function va(){return ma||=new Uint8Array(0)}var ba={};let ya;function wa(e){if(e!==ba)throw Error("illegal external caller")}function xa(){return ya||=new Sa(null,ba)}function Ea(e){wa(ba);var t=e.L;return null==(t=null==t||ga(t)?t:"string"==typeof t?pa(t):null)?t:e.L=t}var Sa=class{constructor(e,t){if(wa(t),this.L=e,null!=e&&0===e.length)throw Error("ByteString should be constructed with non-empty values")}fa(){const e=Ea(this);return e?new Uint8Array(e):va()}};function ka(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function Ca(){return Error("Failed to read varint, encoding is invalid.")}function Ta(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function Aa(e){return 0==e.length?xa():new Sa(e,ba)}function Ra(e){if("string"==typeof e)return{buffer:pa(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===Sa)return{buffer:Ea(e)||va(),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 Ia="function"==typeof Uint8Array.prototype.slice;let _a,Da=0,Fa=0;function Ma(e){const t=0>e;let n=(e=Math.abs(e))>>>0;if(e=Math.floor((e-n)/4294967296),t){const[t,r]=Ba(n,e);e=r,n=t}Da=n>>>0,Fa=e>>>0}function La(e){const t=_a||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),Fa=0,Da=t.getUint32(0,!0)}function Pa(e,t){return 4294967296*t+(e>>>0)}function Oa(e,t){const n=2147483648&t;return n&&(t=~t>>>0,0==(e=1+~e>>>0)&&(t=t+1>>>0)),e=Pa(e,t),n?-e:e}function Na(e){if(16>e.length)Ma(Number(e));else if("function"==typeof BigInt)e=BigInt(e),Da=Number(e&BigInt(4294967295))>>>0,Fa=Number(e>>BigInt(32)&BigInt(4294967295));else{const t=+("-"===e[0]);Fa=Da=0;const n=e.length;for(let r=t,o=(n-t)%6+t;o<=n;r=o,o+=6){const t=Number(e.slice(r,o));Fa*=1e6,Da=1e6*Da+t,4294967296<=Da&&(Fa+=Math.trunc(Da/4294967296),Fa>>>=0,Da>>>=0)}if(t){const[e,t]=Ba(Da,Fa);Da=e,Fa=t}}}function Ba(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}function Ua(e,t,{O:n=!1}={}){e.O=n,t&&(t=Ra(t),e.h=t.buffer,e.s=t.G,e.v=0,e.l=e.h.length,e.g=e.v)}function $a(e,t){if(e.g=t,t>e.l)throw Ta(e.l,t)}function ja(e,t){let n,r=0,o=0,i=0;const a=e.h;let s=e.g;do{n=a[s++],r|=(127&n)<<i,i+=7}while(32>i&&128&n);for(32<i&&(o|=(127&n)>>4),i=3;32>i&&128&n;i+=7)n=a[s++],o|=(127&n)<<i;if($a(e,s),128>n)return t(r>>>0,o>>>0);throw Ca()}function Ga(e){let t=0,n=e.g;const r=n+10,o=e.h;for(;n<r;){const r=o[n++];if(t|=r,0==(128&r))return $a(e,n),!!(127&t)}throw Ca()}function za(e){var t=e.h;const n=e.g,r=t[n],o=t[n+1],i=t[n+2];return t=t[n+3],$a(e,e.g+4),(r<<0|o<<8|i<<16|t<<24)>>>0}function qa(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 Ta(t,e.l-n);return e.g=r,n}function Va(e,t){if(0==t)return xa();var n=qa(e,t);return e.O&&e.s?n=e.h.subarray(n,n+t):(e=e.h,n=n===(t=n+t)?va():Ia?e.slice(n,t):new Uint8Array(e.subarray(n,t))),Aa(n)}var Wa=class{constructor(e,t){this.h=null,this.s=!1,this.g=this.l=this.v=0,Ua(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 Ca();return $a(this,t),r}j(){return this.m()>>>0}A(){var e=za(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()}},Ha=[];function Ka(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 ka(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 Ya(e){switch(e.h){case 0:0!=e.h?Ya(e):Ga(e.g);break;case 1:$a(e=e.g,e.g+8);break;case 2:if(2!=e.h)Ya(e);else{var t=e.g.j();$a(e=e.g,e.g+t)}break;case 5:$a(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!Ka(e))throw Error("Unmatched start-group tag: stream EOF");if(4==e.h){if(e.m!=t)throw Error("Unmatched end-group tag");break}Ya(e)}break;default:throw ka(e.h,e.l)}}function Xa(e,t,n){const r=e.g.l,o=e.g.j(),i=e.g.g+o;let a=i-r;if(0>=a&&(e.g.l=i,n(t,e,void 0,void 0,void 0),a=i-e.g.g),a)throw Error(`Message parsing ended unexpectedly. Expected to read ${o} bytes, instead read ${o-a} bytes, either the data ended unexpectedly or the message misreported its own length`);return e.g.g=i,e.g.l=r,t}function Ja(e){var t=e.g.j(),n=qa(e=e.g,t);if(e=e.h,Gi){var r,o=e;(r=ji)||(r=ji=new TextDecoder("utf-8",{fatal:!0})),e=n+t,o=0===n&&e===o.length?o:o.subarray(n,e);try{var i=r.decode(o)}catch(e){if(void 0===$i){try{r.decode(new Uint8Array([128]))}catch(e){}try{r.decode(new Uint8Array([97])),$i=!0}catch(e){$i=!1}}throw!$i&&(ji=void 0),e}}else{t=(i=n)+t,n=[];let s,l=null;for(;i<t;){var a=e[i++];128>a?n.push(a):224>a?i>=t?Bi():(s=e[i++],194>a||128!=(192&s)?(i--,Bi()):n.push((31&a)<<6|63&s)):240>a?i>=t-1?Bi():(s=e[i++],128!=(192&s)||224===a&&160>s||237===a&&160<=s||128!=(192&(o=e[i++]))?(i--,Bi()):n.push((15&a)<<12|(63&s)<<6|63&o)):244>=a?i>=t-2?Bi():(s=e[i++],128!=(192&s)||0!=s-144+(a<<28)>>30||128!=(192&(o=e[i++]))||128!=(192&(r=e[i++]))?(i--,Bi()):(a=(7&a)<<18|(63&s)<<12|(63&o)<<6|63&r,n.push(55296+((a-=65536)>>10&1023),56320+(1023&a)))):Bi(),8192<=n.length&&(l=Ui(l,n),n.length=0)}i=Ui(l,n)}return i}function Za(e){const t=e.g.j();return Va(e.g,t)}function Qa(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 es=[];function ts(e){return e?/^\d+$/.test(e)?(Na(e),new ns(Da,Fa)):null:rs||=new ns(0,0)}var ns=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let rs;function os(e){return e?/^-?\d+$/.test(e)?(Na(e),new is(Da,Fa)):null:as||=new is(0,0)}var is=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let as;function ss(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 ls(e,t){for(;127<t;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function cs(e,t){if(0<=t)ls(e,t);else{for(let n=0;9>n;n++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function us(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 ds(e,t){0!==t.length&&(e.l.push(t),e.h+=t.length)}function hs(e,t,n){ls(e.g,8*t+n)}function fs(e,t){return hs(e,t,2),t=e.g.end(),ds(e,t),t.push(e.h),t}function ps(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 gs(e,t,n){hs(e,t,2),ls(e.g,n.length),ds(e,e.g.end()),ds(e,n)}function ms(e,t,n,r){null!=n&&(t=fs(e,t),r(n,e),ps(e,t))}class vs{constructor(e,t,n){this.g=e,this.h=t,this.l=n}}function bs(e){return Array.prototype.slice.call(e)}const ys="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():void 0;var ws=ys?(e,t)=>{e[ys]|=t}:(e,t)=>{void 0!==e.g?e.g|=t:Object.defineProperties(e,{g:{value:t,configurable:!0,writable:!0,enumerable:!1}})};function xs(e){const t=Ss(e);1!=(1&t)&&(Object.isFrozen(e)&&(e=bs(e)),Cs(e,1|t))}var Es=ys?(e,t)=>{e[ys]&=~t}:(e,t)=>{void 0!==e.g&&(e.g&=~t)},Ss=ys?e=>0|e[ys]:e=>0|e.g,ks=ys?e=>e[ys]:e=>e.g,Cs=ys?(e,t)=>{e[ys]=t}:(e,t)=>{void 0!==e.g?e.g=t:Object.defineProperties(e,{g:{value:t,configurable:!0,writable:!0,enumerable:!1}})};function Ts(e){return ws(e,1),e}function As(e){return ws(e,34),e}function Rs(e,t){Cs(t,-255&(0|e))}function Is(e,t){Cs(t,-221&(34|e))}function _s(e){return 0==(e=e>>11&1023)?536870912:e}var Ds,Fs={};function Ms(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)&&e.constructor===Object}function Ls(e,t,n){if(null!=e)if("string"==typeof e)e=e?new Sa(e,ba):xa();else if(e.constructor!==Sa)if(ga(e))e=n?Aa(e):e.length?new Sa(new Uint8Array(e),ba):xa();else{if(!t)throw Error();e=void 0}return e}const Ps=[];function Os(e){if(2&e)throw Error()}Cs(Ps,39),Ds=Object.freeze(Ps);class Ns{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 Ns(this.g,this.h,this.m)}}var Bs={};let Us,$s;function js(e,t){(t=Us?t[Us]:void 0)&&(e[Us]=bs(t))}function Gs(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function zs(e){return null==e?e:"number"==typeof e||"NaN"===e||"Infinity"===e||"-Infinity"===e?Number(e):void 0}function qs(e){return null==e?e:"boolean"==typeof e||"number"==typeof e?!!e:void 0}function Vs(e){return"number"==typeof e&&Number.isFinite(e)||!!e&&"string"==typeof e&&isFinite(e)}function Ws(e){if(null==e)return e;if("string"==typeof e){if(!e)return;e=+e}return"number"==typeof e?e:void 0}function Hs(e){if(null==e)return e;if("string"==typeof e){if(!e)return;e=+e}return"number"==typeof e?e:void 0}function Ks(e){if("string"!=typeof e)throw Error();return e}function Ys(e){if(null!=e&&"string"!=typeof e)throw Error();return e}function Xs(e){return null==e||"string"==typeof e?e:void 0}function Js(e,t,n,r){var o=!1;return null==e||"object"!=typeof e||(o=Array.isArray(e))||e.K!==Fs?o?(0===(o=n=Ss(e))&&(o|=32&r),(o|=2&r)!==n&&Cs(e,o),new t(e)):(n?2&r?(e=t[Zs])?t=e:(As((e=new t).u),t=t[Zs]=e):t=new t:t=void 0,t):e}const Zs="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():"di";function Qs(e){return e}function el(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 tl,nl;function rl(e){switch(typeof e){case"number":return 0<e?void 0:0===e?nl||=[0,void 0]:[-e,void 0];case"string":return[0,e];case"object":return e}}function ol(e,t){return il(e,t[0],t[1])}function il(e,t,n){if(null==e&&(e=tl),tl=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=Ss(e)))return $s&&delete e[$s],e;if(r|=64,n&&(r|=512,n!==e[0]))throw Error();e:{var o=(n=e).length;if(o){const e=o-1;var i=n[e];if(Ms(i)){1024<=(o=e-(t=+!!(512&(r|=256))-1))&&(al(n,t,i),o=1023),r=-2095105&r|(1023&o)<<11;break e}}t&&(i=+!!(512&r)-1,1024<(t=Math.max(t,o-i))&&(al(n,i,{}),r|=256,t=1023),r=-2095105&r|(1023&t)<<11)}}return Cs(e,r),e}function al(e,t,n){const r=1023+t,o=e.length;for(let i=r;i<o;i++){const r=e[i];null!=r&&r!==n&&(n[i-t]=r)}e.length=r+1,e[r]=n}function sl(e){if(2&e.g)throw Error("Cannot mutate an immutable Map")}var ll=class extends Map{constructor(e,t,n=Qs,r=Qs){super();let o=Ss(e);o|=64,Cs(e,o),this.g=o,this.l=t,this.h=n||Qs,this.j=this.l?cl:r||Qs;for(let i=0;i<e.length;i++){const a=e[i],s=n(a[0],!1,!0);let l=a[1];t?void 0===l&&(l=null):l=r(a[1],!1,!0,void 0,void 0,o),super.set(s,l)}}s(e=ul){return this.m(e)}m(e=ul){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(){sl(this),super.clear()}delete(e){return sl(this),super.delete(this.h(e,!0,!1))}entries(){var e=this.A();return new Ns(e,dl,this)}keys(){return this.C()}values(){var e=this.A();return new Ns(e,ll.prototype.get,this)}forEach(e,t){super.forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))}set(e,t){return sl(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 cl(e,t,n,r,o,i){return e=Js(e,r,n,i),o&&(e=yl(e)),e}function ul(e){return e}function dl(e){return[e,this.get(e)]}function hl(e,t,n,r,o,i){if(null!=e){if(Array.isArray(e))e=o&&0==e.length&&1&Ss(e)?void 0:i&&2&Ss(e)?e:fl(e,t,n,void 0!==r,o,i);else if(Ms(e)){const a={};for(let s in e)a[s]=hl(e[s],t,n,r,o,i);e=a}else e=t(e,r);return e}}function fl(e,t,n,r,o,i){const a=r||n?Ss(e):0;r=r?!!(32&a):void 0;const s=bs(e);for(let e=0;e<s.length;e++)s[e]=hl(s[e],t,n,r,o,i);return n&&(js(s,e),n(a,s)),s}function pl(e){return hl(e,gl,void 0,void 0,!1,!1)}function gl(e){return e.K===Fs?e.toJSON():e instanceof ll?e.s(pl):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(ga(e))return ua(e);if(e instanceof Sa){const t=e.L;return null==t?"":"string"==typeof t?t:e.L=ua(t)}if(e instanceof ll)return e.s()}}return e}(e)}function ml(e,t,n=Is){if(null!=e){if(la&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){const r=Ss(e);return 2&r?e:!t||68&r||!(32&r||0===r)?fl(e,ml,4&r?Is:n,!0,!1,!0):(Cs(e,34|r),e)}return e.K===Fs?e=2&(n=ks(t=e.u))?e:vl(e,t,n,!0):e instanceof ll&&(t=As(e.m(ml)),e=new ll(t,e.l,e.h,e.j)),e}}function vl(e,t,n,r){return e=e.constructor,tl=t=bl(t,n,r),t=new e(t),tl=void 0,t}function bl(e,t,n){const r=n||2&t?Is:Rs,o=!!(32&t);return e=function(e,t,n){const r=bs(e);var o=r.length;const i=256&t?r[o-1]:void 0;for(o+=i?-1:0,t=512&t?1:0;t<o;t++)r[t]=n(r[t]);if(i){t=r[t]={};for(const e in i)t[e]=n(i[e])}return js(r,e),r}(e,t,(e=>ml(e,o,r))),ws(e,32|(n?2:0)),e}function yl(e){const t=e.u,n=ks(t);return 2&n?vl(e,t,n,!1):e}function wl(e,t){return xl(e=e.u,ks(e),t)}function xl(e,t,n,r){if(-1===n)return null;if(n>=_s(t)){if(256&t)return e[e.length-1][n]}else{var o=e.length;if(r&&256&t&&null!=(r=e[o-1][n]))return r;if((t=n+(+!!(512&t)-1))<o)return e[t]}}function El(e,t,n,r){const o=e.u,i=ks(o);return Os(i),Sl(o,i,t,n,r),e}function Sl(e,t,n,r,o){var i=_s(t);if(n>=i||o){if(o=t,256&t)i=e[e.length-1];else{if(null==r)return;i=e[i+(+!!(512&t)-1)]={},o|=256}i[n]=r,o!==t&&Cs(e,o)}else e[n+(+!!(512&t)-1)]=r,256&t&&n in(e=e[e.length-1])&&delete e[n]}function kl(e,t,n,r,o){var i=2&t;let a=xl(e,t,n,o);Array.isArray(a)||(a=Ds);const s=Ss(a);if(1&s||Ts(a),i)2&s||As(a),1&r||Object.freeze(a);else{i=!(2&r);const l=2&s;1&r||!l?i&&32&s&&!l&&Es(a,32):(a=Ts(bs(a)),Sl(e,t,n,a,o))}return a}function Cl(e,t){const n=ks(e=e.u),r=xl(e,n,t),o=zs(r);return null!=o&&o!==r&&Sl(e,n,t,o),o}function Tl(e){const t=ks(e=e.u),n=xl(e,t,1),r=Ls(n,!0,!!(34&t));return null!=r&&r!==n&&Sl(e,t,1,r),r}function Al(e,t,n){const r=ks(e=e.u),o=2&r;let i=kl(e,r,t,1),a=Ss(i);if(!(4&a)){Object.isFrozen(i)&&(a=0,i=bs(i),Sl(e,r,t,i));let s=0,l=0;for(;s<i.length;s++){const e=n(i[s]);null!=e&&(i[l++]=e)}l<s&&(i.length=l),a|=5,o&&(a|=34),Cs(i,a),2&a&&Object.freeze(i)}return!o&&(2&a||Object.isFrozen(i))&&(i=bs(i),ws(i,5),Sl(e,r,t,i)),i}let Rl;function Il(){return Rl??=new ll(As([]),void 0,void 0,void 0,Bs)}function _l(e){e=bs(e);for(let t=0;t<e.length;t++){const n=e[t]=bs(e[t]);Array.isArray(n[1])&&(n[1]=As(n[1]))}return e}function Dl(e,t,n){{const r=ks(e=e.u);if(Os(r),null==n)Sl(e,r,t);else{if(!(4&Ss(n))){Object.isFrozen(n)&&(n=bs(n));for(let e=0;e<n.length;e++)n[e]=Ks(n[e]);Cs(n,5)}Sl(e,r,t,n)}}}function Fl(e,t){return Ml(e=e.u,ks(e),yd)===t?t:-1}function Ml(e,t,n){let r=0;for(let o=0;o<n.length;o++){const i=n[o];null!=xl(e,t,i)&&(0!==r&&Sl(e,t,r),r=i)}return r}function Ll(e,t,n,r){const o=ks(e);Os(o);const i=xl(e,o,n,r);let a;if(null!=i&&i.K===Fs)return(t=yl(i))!==i&&Sl(e,o,n,t,r),t.u;if(Array.isArray(i)){const e=Ss(i);a=2&e?bl(i,e,!1):i,a=ol(a,t)}else a=ol(void 0,t);return a!==i&&Sl(e,o,n,a,r),a}function Pl(e,t,n,r){const o=ks(e=e.u),i=xl(e,o,n,r);return(t=Js(i,t,!1,o))!==i&&null!=t&&Sl(e,o,n,t,r),t}function Ol(e,t,n,r=!1){if(null==(t=Pl(e,t,n,r)))return t;const o=ks(e=e.u);if(!(2&o)){const i=yl(t);i!==t&&Sl(e,o,n,t=i,r)}return t}function Nl(e,t,n,r,o){var i=!!(2&t),a=kl(e,t,r,1);if(a===Ds||!(4&Ss(a))){var s=a;a=!!(2&t);var l=!!(2&Ss(s));i=s,!a&&l&&(s=bs(s));var c=t|(l?2:0);l=l||void 0;let u=0,d=0;for(;u<s.length;u++){const e=Js(s[u],n,!1,c);void 0!==e&&(l=l||2&ks(e.u),s[d++]=e)}return d<u&&(s.length=d),c=5|(s=Ss(n=s)),s!=(l=l?-9&c:8|c)&&(Object.isFrozen(n)&&(n=bs(n)),Cs(n,l)),i!==(s=n)&&Sl(e,t,r,s),(a&&2!==o||1===o)&&Object.freeze(s),s}return 3===o||(i?2===o&&(o=Ss(a),a=bs(a),Cs(a,o),Sl(e,t,r,a)):(i=Object.isFrozen(a),1===o?i||Object.freeze(a):(n=-35&(o=Ss(a)),i&&(o=0,Sl(e,t,r,a=bs(a))),o!==n&&Cs(a,n)))),a}function Bl(e,t,n){var r=e.u;const o=ks(r);if(t=Nl(r,o,t,n,(e=!!(2&o))?1:2),!(e||8&Ss(t))){for(n=0;n<t.length;n++)(e=t[n])!==(r=yl(e))&&(t[n]=r);ws(t,8)}return t}function Ul(e,t,n,r,o){return null==r&&(r=void 0),El(e,n,r,o)}function $l(e,t,n,r){null==r&&(r=void 0);const o=ks(e=e.u);Os(o),(n=Ml(e,o,n))&&n!==t&&null!=r&&Sl(e,o,n),Sl(e,o,t,r)}function jl(e,t,n){const r=ks(e=e.u);Os(r),e=Nl(e,r,t,1,2),t=null!=n?n:new t,e.push(t),t.G()&&Es(e,8)}function Gl(e,t){return Ws(wl(e,t))}function zl(e){return null==(e=wl(e,2))||Vs(e)?e:void 0}function ql(e,t){return Xs(wl(e,t))}function Vl(e){return e??0}function Wl(e,t){return Vl(Cl(e,t))}function Hl(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}El(e,t,n)}function Kl(e,t,n){if(null!=n){if("number"!=typeof n)throw Gs(e=Error(),"warning"),e;if(!Number.isFinite(n)){const e=Error();Gs(e,"incident"),function(e){Pi.setTimeout((()=>{throw e}),0)}(e)}}El(e,t,n)}function Yl(e,t,n){if(null!=n&&"number"!=typeof n)throw Error(`Value of float/double field must be a number, found ${typeof n}: ${n}`);El(e,t,n)}function Xl(e,t,n){n=Ks(n);const r=ks(e=e.u);Os(r),kl(e,r,t,2).push(n)}function Jl(e,t,n){t.g?t.m(e,t.g,t.h,n,!0):t.m(e,t.h,n,!0)}ll.prototype.toJSON=void 0;var Zl=class{constructor(e,t){this.u=il(e,t)}toJSON(){return Ql(this,fl(this.u,gl,void 0,void 0,!1,!1),!0)}l(){var e=gh;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 vl(this,e,ks(e),!1)}G(){return!!(2&Ss(this.u))}};function Ql(e,t,n){var r=e.constructor.B,o=_s(ks(n?e.u:t)),i=!1;if(r){if(!n){var a;if((t=bs(t)).length&&Ms(a=t[t.length-1]))for(i=0;i<r.length;i++)if(r[i]>=o){Object.assign(t[t.length-1]={},a);break}i=!0}var s;o=t,n=!n,e=_s(a=ks(e.u)),a=+!!(512&a)-1;for(let t=0;t<r.length;t++){var l=r[t];if(l<e){var c=o[l+=a];null==c?o[l]=n?Ds:Ts([]):n&&c!==Ds&&xs(c)}else{if(!s){var u=void 0;o.length&&Ms(u=o[o.length-1])?s=u:o.push(s={})}c=s[l],null==s[l]?s[l]=n?Ds:Ts([]):n&&c!==Ds&&xs(c)}}}if(!(r=t.length))return t;let d,h;if(Ms(s=t[r-1])){e:{var f=s;u={},o=!1;for(let e in f)n=f[e],Array.isArray(n)&&n!=n&&(o=!0),null!=n?u[e]=n:o=!0;if(o){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=i?t:Array.prototype.slice.call(t,0,r),i&&(t.length=r),f&&t.push(f),t):t}function ec(e){return{aa:qc,S:e}}function tc(e,t){if(Array.isArray(t)){var n=Ss(t);if(4&n)return t;for(var r=0,o=0;r<t.length;r++){const n=e(t[r]);null!=n&&(t[o++]=n)}return o<r&&(t.length=o),Cs(t,5|n),2&n&&Object.freeze(t),t}}Zl.prototype.K=Fs,Zl.prototype.toString=function(){return Ql(this,this.u,!1).toString()};const nc=Symbol();function rc(e){let t=e[nc];if(!t){const n=gc(e),r=n.m;t=r?(e,t)=>r(e,t,n):(e,t)=>{for(;Ka(t)&&4!=t.h;){var r=t.m,o=n[r];if(!o){var i=n.h;i&&(i=i[r])&&(o=n[r]=oc(i))}o&&o(t,e,r)||(r=(o=t).l,Ya(o),o.Y?o=void 0:(i=o.g.g-r,o.g.g=r,o=Va(o.g,i)),r=e,o&&(Us||=Symbol(),(i=r[Us])?i.push(o):r[Us]=[o]))}(t=n.l)&&(e[$s||=Symbol()]=t)},e[nc]=t}return t}function oc(e){const t=function(e){if(e=e.S)return rc(e)}(e),n=e.aa.g;if(t){const r=gc(e.S).g;return(e,o,i)=>n(e,o,i,r,t)}return(e,t,r)=>n(e,t,r)}function ic(e,t,n,r){t.g=rl(e[0]);let o=1;if(e.length>o&&!(e[o]instanceof vs)){var i=e[o++];if(Array.isArray(i))return t.m=i[0],t.h=i[1],t;t.h=i}for(i=0;o<e.length;){const u=e[o++];var a=e[o];for("number"==typeof a?(o++,i+=a):i++,u.l&&((a=t.l)||(t.l=a=[]),a.push(i)),a=o;a<e.length&&!(e[a]instanceof vs);)a++;if(a-=o){var s=e,l=o,c=s[l];if("function"==typeof c&&(c=c(),s[l]=c),(s=Array.isArray(c))&&!(s=hc in c||lc in c)&&(s=0<c.length)){const e=rl(l=(s=c)[0]);null!=e&&e!==l&&(s[0]=e),s=null!=e}(c=s?c:void 0)?(o++,t[i]=1===a?r(u,c):r(u,c,e[o++])):t[i]=n(u,e[o++])}else t[i]=n(u)}return t}const ac=Symbol();function sc(e){let t=e[ac];if(!t){const n=dc(e);t=(e,t)=>vc(e,t,n),e[ac]=t}return t}const lc=Symbol();function cc(e){return e.h}function uc(e,t){let n,r;const o=e.h;return(e,i,a)=>o(e,i,a,r||=dc(t).g,n||=sc(t))}function dc(e){let t=e[lc];return t||(t=ic(e,e[lc]={},cc,uc),hc in e&&lc in e&&(e.length=0),t)}const hc=Symbol();function fc(e,t){const n=e.g;return t?(e,r,o)=>n(e,r,o,t):n}function pc(e,t,n){const r=e.g;let o,i;return(e,a,s)=>r(e,a,s,i||=gc(t).g,o||=rc(t),n)}function gc(e){let t=e[hc];return t||(t=ic(e,e[hc]={},fc,pc),hc in e&&lc in e&&(e.length=0),t)}function mc(e,t){var n=e[t];if(n)return n;if((n=e.h)&&(n=n[t])){var r=n.S,o=n.aa.h;if(r){const e=sc(r),t=dc(r).g;n=(n,r,i)=>o(n,r,i,t,e)}else n=o;return e[t]=n}}function vc(e,t,n){for(var r=ks(e),o=+!!(512&r)-1,i=e.length,a=512&r?1:0,s=i+(256&r?-1:0);a<s;a++){const r=e[a];if(null==r)continue;const i=a-o,s=mc(n,i);s&&s(t,r,i)}if(256&r){r=e[i-1];for(let e in r)o=+e,Number.isNaN(o)||null!=(i=r[e])&&(s=mc(n,o))&&s(t,i,o)}if(e=Us?e[Us]:void 0)for(ds(t,t.g.end()),n=0;n<e.length;n++)ds(t,Ea(e[n])||va())}function bc(e,t){return new vs(e,t,!1)}function yc(e,t){return new vs(e,t,!0)}function wc(e,t,n){Sl(e,ks(e),t,n)}var xc=bc((function(e,t,n,r,o){return 2===e.h&&(e=Xa(e,ol([void 0,void 0],r),o),Os(r=ks(t)),(o=xl(t,r,n))instanceof ll?0!=(2&o.g)?((o=o.m()).push(e),Sl(t,r,n,o)):o.H(e):Array.isArray(o)?(2&Ss(o)&&Sl(t,r,n,o=_l(o)),o.push(e)):Sl(t,r,n,[e]),!0)}),(function(e,t,n,r,o){if(t instanceof ll)t.forEach(((t,i)=>{ms(e,n,ol([i,t],r),o)}));else if(Array.isArray(t))for(let i=0;i<t.length;i++){const a=t[i];Array.isArray(a)&&ms(e,n,ol(a,r),o)}}));function Ec(e,t,n){e:if(null!=t){if(Vs(t)){if("string"==typeof t)break e;if("number"==typeof t)break e}t=void 0}null!=t&&("string"==typeof t&&os(t),null!=t&&(hs(e,n,0),"number"==typeof t?(e=e.g,Ma(t),ss(e,Da,Fa)):(n=os(t),ss(e.g,n.h,n.g))))}function Sc(e,t,n){null!=(t=Ws(t))&&null!=t&&(hs(e,n,0),cs(e.g,t))}function kc(e,t,n){null!=(t=qs(t))&&(hs(e,n,0),e.g.g.push(t?1:0))}function Cc(e,t,n){null!=(t=Xs(t))&&gs(e,n,Vi(t))}function Tc(e,t,n,r,o){ms(e,n,t instanceof Zl?t.u:Array.isArray(t)?ol(t,r):void 0,o)}function Ac(e,t,n){null!=(t=null==t||"string"==typeof t||ga(t)||t instanceof Sa?t:void 0)&&gs(e,n,Ra(t).buffer)}function Rc(e,t,n){return(5===e.h||2===e.h)&&(t=kl(t,ks(t),n,2,!1),2==e.h?Qa(e,Wa.prototype.A,t):t.push(e.g.A()),!0)}var Ic=bc((function(e,t,n){if(1!==e.h)return!1;var r=e.g;e=za(r);const o=za(r);r=2*(o>>31)+1;const i=o>>>20&2047;return e=4294967296*(1048575&o)+e,wc(t,n,2047==i?e?NaN:1/0*r:0==i?r*Math.pow(2,-1074)*e:r*Math.pow(2,i-1075)*(e+4503599627370496)),!0}),(function(e,t,n){null!=(t=zs(t))&&(hs(e,n,1),e=e.g,(n=_a||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),Da=n.getUint32(0,!0),Fa=n.getUint32(4,!0),us(e,Da),us(e,Fa))})),_c=bc((function(e,t,n){return 5===e.h&&(wc(t,n,e.g.A()),!0)}),(function(e,t,n){null!=(t=zs(t))&&(hs(e,n,5),e=e.g,La(t),us(e,Da))})),Dc=yc(Rc,(function(e,t,n){if(null!=(t=tc(zs,t)))for(let i=0;i<t.length;i++){var r=e,o=t[i];null!=o&&(hs(r,n,5),r=r.g,La(o),us(r,Da))}})),Fc=yc(Rc,(function(e,t,n){if(null!=(t=tc(zs,t))&&t.length){hs(e,n,2),ls(e.g,4*t.length);for(let r=0;r<t.length;r++)n=e.g,La(t[r]),us(n,Da)}})),Mc=bc((function(e,t,n){return 0===e.h&&(wc(t,n,ja(e.g,Oa)),!0)}),Ec),Lc=bc((function(e,t,n){return 0===e.h&&(wc(t,n,0===(e=ja(e.g,Oa))?void 0:e),!0)}),Ec),Pc=bc((function(e,t,n){return 0===e.h&&(wc(t,n,ja(e.g,Pa)),!0)}),(function(e,t,n){e:if(null!=t){if(Vs(t)){if("string"==typeof t)break e;if("number"==typeof t)break e}t=void 0}null!=t&&("string"==typeof t&&ts(t),null!=t&&(hs(e,n,0),"number"==typeof t?(e=e.g,Ma(t),ss(e,Da,Fa)):(n=ts(t),ss(e.g,n.h,n.g))))})),Oc=bc((function(e,t,n){return 0===e.h&&(wc(t,n,e.g.m()),!0)}),Sc),Nc=yc((function(e,t,n){return(0===e.h||2===e.h)&&(t=kl(t,ks(t),n,2,!1),2==e.h?Qa(e,Wa.prototype.m,t):t.push(e.g.m()),!0)}),(function(e,t,n){if(null!=(t=tc(Ws,t))&&t.length){n=fs(e,n);for(let n=0;n<t.length;n++)cs(e.g,t[n]);ps(e,n)}})),Bc=bc((function(e,t,n){return 0===e.h&&(wc(t,n,0===(e=e.g.m())?void 0:e),!0)}),Sc),Uc=bc((function(e,t,n){return 0===e.h&&(wc(t,n,Ga(e.g)),!0)}),kc),$c=bc((function(e,t,n){return 0===e.h&&(wc(t,n,!1===(e=Ga(e.g))?void 0:e),!0)}),kc),jc=yc((function(e,t,n){if(2!==e.h)return!1;e=Ja(e);const r=ks(t);return Os(r),kl(t,r,n,2).push(e),!0}),(function(e,t,n){if(null!=(t=tc(Xs,t)))for(let o=0;o<t.length;o++){var r=t[o];null!=r&&gs(e,n,Vi(r))}})),Gc=bc((function(e,t,n){return 2===e.h&&(wc(t,n,""===(e=Ja(e))?void 0:e),!0)}),Cc),zc=bc((function(e,t,n){return 2===e.h&&(wc(t,n,Ja(e)),!0)}),Cc),qc=bc((function(e,t,n,r,o){return 2===e.h&&(Xa(e,Ll(t,r,n,!0),o),!0)}),Tc),Vc=bc((function(e,t,n,r,o){return 2===e.h&&(Xa(e,Ll(t,r,n),o),!0)}),Tc),Wc=yc((function(e,t,n,r,o){if(2!==e.h)return!1;r=ol(void 0,r);const i=ks(t);Os(i);let a=kl(t,i,n,3);return(Object.isFrozen(a)||4&Ss(a))&&(a=bs(a),Sl(t,i,n,a)),a.push(r),Xa(e,r,o),!0}),(function(e,t,n,r,o){if(Array.isArray(t))for(let i=0;i<t.length;i++)Tc(e,t[i],n,r,o)})),Hc=bc((function(e,t,n,r,o,i){if(2!==e.h)return!1;const a=ks(t);return Os(a),(i=Ml(t,a,i))&&n!==i&&Sl(t,a,i),Xa(e,t=Ll(t,r,n),o),!0}),Tc),Kc=bc((function(e,t,n){return 2===e.h&&(wc(t,n,Za(e)),!0)}),Ac),Yc=yc((function(e,t,n){return(0===e.h||2===e.h)&&(t=kl(t,ks(t),n,2,!1),2==e.h?Qa(e,Wa.prototype.j,t):t.push(e.g.j()),!0)}),(function(e,t,n){if(null!=(t=tc(Hs,t)))for(let i=0;i<t.length;i++){var r=e,o=t[i];null!=o&&(hs(r,n,0),ls(r.g,o))}})),Xc=bc((function(e,t,n){return 0===e.h&&(wc(t,n,e.g.m()),!0)}),(function(e,t,n){null!=(t=Ws(t))&&(t=parseInt(t,10),hs(e,n,0),cs(e.g,t))})),Jc=yc((function(e,t,n){return(0===e.h||2===e.h)&&(t=kl(t,ks(t),n,2,!1),2==e.h?Qa(e,Wa.prototype.C,t):t.push(e.g.m()),!0)}),(function(e,t,n){if(null!=(t=tc(Ws,t))&&t.length){n=fs(e,n);for(let n=0;n<t.length;n++)cs(e.g,t[n]);ps(e,n)}}));class Zc{constructor(e,t){this.h=e,this.g=t,this.l=Ol,this.m=Ul,this.defaultValue=void 0}}function Qc(e,t){return new Zc(e,t)}function eu(e,t){return(n,r)=>{e:{if(es.length){const e=es.pop();e.o(r),Ua(e.g,n,r),n=e}else n=new class{constructor(e,t){if(Ha.length){const n=Ha.pop();Ua(n,e,t),e=n}else e=new Wa(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 o=new e;const r=o.u;rc(t)(r,n),$s&&delete r[$s];var i=o;break e}finally{(o=n.g).h=null,o.s=!1,o.v=0,o.l=0,o.g=0,o.O=!1,n.m=-1,n.h=-1,100>es.length&&es.push(n)}i=void 0}return i}}function tu(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}}}};vc(this.u,t,dc(e)),ds(t,t.g.end());const n=new Uint8Array(t.h),r=t.l,o=r.length;let i=0;for(let e=0;e<o;e++){const t=r[e];n.set(t,i),i+=t.length}return t.l=[n],n}}var nu,ru=[0,Gc,bc((function(e,t,n){return 2===e.h&&(wc(t,n,(e=Za(e))===xa()?void 0:e),!0)}),(function(e,t,n){if(null!=t){if(t instanceof Zl){const r=t.Aa;return void(r&&(t=r(t),null!=t&&gs(e,n,Ra(t).buffer)))}if(Array.isArray(t))return}Ac(e,t,n)}))];function ou(e){if(void 0===nu){var t=null,n=Pi.trustedTypes;if(n&&n.createPolicy){try{t=n.createPolicy("goog#html",{createHTML:Ni,createScript:Ni,createScriptURL:Ni})}catch(e){Pi.console&&Pi.console.error(e.message)}nu=t}else nu=t}return e=(t=nu)?t.createScriptURL(e):e,new class{constructor(e){this.g=e}toString(){return this.g+""}}(e)}var iu=[0,zc],au=[0,Oc,Xc,Uc,Uc,Nc,Xc,Xc],su=[0,Uc,Uc],lu=class extends Zl{constructor(){super()}};lu.B=[6];var cu=[0,Uc,zc,Uc,Xc,Xc,Jc,zc,zc,Vc,su,Xc],uu=[0,zc,zc,zc],du=class extends Zl{constructor(){super()}},hu=[0],fu=[0,Oc],pu=[1,2,3,4,5],gu=class extends Zl{constructor(e){super(e,2)}},mu={},vu=[-2,mu,Uc];mu[336783863]=ec([0,zc,Uc,Uc,Oc,Vc,[0,Hc,hu,pu,Hc,cu,pu,Hc,uu,pu,Hc,fu,pu,Hc,au,pu],Vc,iu]);var bu=[0,Gc,$c],yu=[0,Lc,Lc,$c,$c,$c,$c,Lc,Nc,Gc,Bc,Lc,Lc,$c,Bc,$c,$c,$c,Gc],wu=[-1,{}],xu=[0,zc,Vc,2,wu],Eu=[0,zc,jc,Vc,wu];function Su(e,t){t=Ys(t);const n=ks(e=e.u);Os(n),Sl(e,n,2,""===t?void 0:t)}function ku(e,t){Xl(e,3,t)}function Cu(e,t){Xl(e,4,t)}var Tu=class extends Zl{constructor(e){super(e,500)}o(e){return Ul(this,0,7,e)}};Tu.B=[3,4,5,6,8,13,17,1005];var Au=[-500,Gc,Gc,jc,jc,jc,jc,Vc,vu,Wc,ru,Bc,Bc,Vc,xu,Vc,Eu,Wc,bu,Gc,Vc,yu,Bc,jc,jc,988],Ru=[0,Gc,Gc,Vc,wu],Iu=[-500,zc,zc,Vc,[-1,{}],zc,999],_u=[-500,zc,jc,jc,Vc,[-2,{},Uc],jc,998,jc],Du=[-500,zc,jc,Vc,wu,jc,999];function Fu(e,t){jl(e,Tu,t)}function Mu(e,t){Xl(e,10,t)}function Lu(e,t){Xl(e,15,t)}var Pu=class extends Zl{constructor(e){super(e,500)}o(e){return Ul(this,0,1001,e)}};Pu.B=[1,6,7,9,10,15,16,17,14,1002];var Ou=[-500,Wc,Au,Wc,5,Iu,Wc,_u,Bc,Wc,Du,jc,Bc,Vc,xu,Vc,Eu,Wc,Ru,jc,jc,jc,Vc,yu,Gc,Gc,$c,Vc,980,wu,Wc,ru],Nu=eu(Pu,Ou);Pu.prototype.g=tu(Ou);var Bu=[0,Wc,[0,Oc,Oc,Oc]],Uu=class extends Zl{constructor(e){super(e)}},$u=[0,Oc,_c,zc,zc],ju=class extends Zl{constructor(e){super(e)}g(){return Bl(this,Uu,1)}};ju.B=[1];var Gu=[0,Wc,$u],zu=eu(ju,Gu),qu=[0,Oc,_c],Vu=[0,Oc,Oc,Vc,Bu],Wu=class extends Zl{constructor(e){super(e)}},Hu=[0,Oc,Oc,Oc,Oc],Ku=[0,_c,_c,_c,_c],Yu=class extends Zl{constructor(e){super(e)}},Xu=[0,_c,_c,zc,_c],Ju=class extends Zl{constructor(e){super(e)}h(){return Ol(this,Wu,2)}g(){return Bl(this,Yu,5)}};Ju.B=[5];var Zu=[0,Xc,Vc,Hu,Vc,Ku,Vc,Vu,Wc,Xu],Qu=class extends Zl{constructor(e){super(e)}};Qu.B=[1,2,3,8,9];var ed=eu(Qu,[0,jc,Nc,Fc,Vc,Zu,zc,zc,Mc,Wc,qu,jc,Mc]),td=class extends Zl{constructor(e){super(e)}},nd=[0,_c,_c,_c,_c,_c],rd=class extends Zl{constructor(e){super(e)}};rd.B=[1];var od=eu(rd,[0,Wc,nd]),id=class extends Zl{constructor(e){super(e)}},ad=[0,_c,_c,_c,_c,_c],sd=class extends Zl{constructor(e){super(e)}};sd.B=[1];var ld=eu(sd,[0,Wc,ad]),cd=class extends Zl{constructor(e){super(e)}};cd.B=[3];var ud=[0,Oc,Oc,Fc,Xc],dd=class extends Zl{constructor(){super()}};dd.prototype.g=tu([0,_c,_c,_c,_c,_c,Mc]);var hd=class extends Zl{constructor(e){super(e)}},fd=[0,Oc,2,zc,Vc,Gu],pd=class extends Zl{constructor(e){super(e)}};pd.B=[1];var gd=eu(pd,[0,Wc,fd,Mc]),md=class extends Zl{constructor(e){super(e)}};md.B=[1];var vd=class extends Zl{constructor(e){super(e)}da(){const e=Tl(this);return null==e?xa():e}},bd=class extends Zl{constructor(e){super(e)}},yd=[1,2],wd=[0,Hc,[0,Fc],yd,Hc,[0,Kc],yd,Oc,zc],xd=class extends Zl{constructor(e){super(e)}};xd.B=[1];var Ed=eu(xd,[0,Wc,wd,Mc]),Sd=class extends Zl{constructor(e){super(e)}};Sd.B=[4,5];var kd=[0,zc,Oc,_c,jc,jc],Cd=class extends Zl{constructor(e){super(e)}},Td=[0,Uc,Uc],Ad=class extends Zl{constructor(e){super(e)}},Rd=[1,2,3,4,5],Id=class extends Zl{constructor(e){super(e)}g(){return null!=Tl(this)}h(){return null!=ql(this,2)}},_d=[0,Kc,zc,Vc,[0,Oc,Mc,Mc],Vc,[0,Pc,Mc]],Dd=class extends Zl{constructor(e){super(e)}g(){return qs(wl(this,2))??!1}},Fd=[0,Vc,_d,Uc,Vc,[0,Hc,fu,Rd,Hc,cu,Rd,Hc,au,Rd,Hc,hu,Rd,Hc,uu,Rd]],Md=class extends Zl{constructor(e){super(e)}},Ld=[0,Vc,Fd,_c,_c,Oc],Pd=Qc(502141897,Md);mu[502141897]=ec(Ld);var Od=[0,Vc,_d];mu[512499200]=ec(Od);var Nd=[0,Vc,Od];mu[515723506]=ec(Nd);var Bd=eu(class extends Zl{constructor(e){super(e)}},[0,Vc,[0,Xc,Xc,Dc,Yc],Vc,ud]),Ud=[0,Vc,Fd];mu[508981768]=ec(Ud);var $d=class extends Zl{constructor(e){super(e)}},jd=[0,Vc,Fd,_c,Vc,Ud,Uc],Gd=class extends Zl{constructor(e){super(e)}},zd=[0,Vc,Fd,Vc,Ld,Vc,jd,_c,Vc,Nd];mu[508968149]=ec(jd);var qd=Qc(508968150,Gd);mu[508968150]=ec(zd);var Vd=class extends Zl{constructor(e){super(e)}},Wd=Qc(513916220,Vd);mu[513916220]=ec([0,Vc,Fd,Vc,zd,Oc]);var Hd=class extends Zl{constructor(e){super(e)}h(){return Ol(this,Sd,2)}g(){El(this,2)}},Kd=[0,Vc,Fd,Vc,kd];mu[478825465]=ec(Kd);var Yd=[0,Vc,Fd];mu[478825422]=ec(Yd);var Xd=class extends Zl{constructor(e){super(e)}},Jd=[0,Vc,Fd,Vc,Yd,Vc,Kd,Vc,Kd],Zd=class extends Zl{constructor(e){super(e)}},Qd=[0,Vc,Fd,_c,Oc],eh=class extends Zl{constructor(e){super(e)}},th=[0,Vc,Fd,_c],nh=class extends Zl{constructor(e){super(e)}},rh=[0,Vc,Fd,Vc,Qd,Vc,th,_c],oh=class extends Zl{constructor(e){super(e)}},ih=[0,Vc,Fd,Vc,rh,Vc,Jd];mu[463370452]=ec(Jd),mu[464864288]=ec(Qd),mu[474472470]=ec(th);var ah=Qc(462713202,nh);mu[462713202]=ec(rh);var sh=Qc(479097054,oh);mu[479097054]=ec(ih);var lh=class extends Zl{constructor(e){super(e)}},ch=Qc(456383383,lh);mu[456383383]=ec([0,Vc,Fd,Vc,kd]);var uh=class extends Zl{constructor(e){super(e)}},dh=Qc(476348187,uh);mu[476348187]=ec([0,Vc,Fd,Vc,Td]);var hh=class extends Zl{constructor(e){super(e)}},fh=[0,Xc,Xc],ph=class extends Zl{constructor(e){super(e)}};ph.B=[3];var gh=Qc(458105876,class extends Zl{constructor(e){super(e)}g(){var e=this.u;const t=ks(e);var n=2&t;return e=function(e,t,n){var r=ph;const o=2&t;let i=!1;if(null==n){if(o)return Il();n=[]}else if(n.constructor===ll){if(0==(2&n.g)||o)return n;n=n.m()}else Array.isArray(n)?i=!!(2&Ss(n)):n=[];if(o){if(!n.length)return Il();i||(i=!0,As(n))}else i&&(i=!1,n=_l(n));return i||(64&Ss(n)?Es(n,32):32&t&&ws(n,32)),Sl(e,t,2,r=new ll(n,r,el,void 0),!1),r}(e,t,xl(e,t,2)),null==e||!n&&ph&&(e.v=!0),e}});mu[458105876]=ec([0,Vc,fh,xc,[0,Mc,Vc,[0,zc,zc,jc]]]);var mh=class extends Zl{constructor(e){super(e)}},vh=Qc(458105758,mh);mu[458105758]=ec([0,Vc,Fd,zc,Vc,fh]);var bh=class extends Zl{constructor(e){super(e)}};bh.B=[5,6];var yh=Qc(443442058,bh);mu[443442058]=ec([0,Vc,Fd,zc,Oc,_c,jc,jc]);var wh=class extends Zl{constructor(e){super(e)}},xh=[0,Vc,Fd,_c,_c,Oc];mu[514774813]=ec(xh);var Eh=class extends Zl{constructor(e){super(e)}},Sh=[0,Vc,Fd,_c],kh=class extends Zl{constructor(e){super(e)}},Ch=[0,Vc,Fd,Vc,xh,Vc,Sh,_c];mu[518928384]=ec(Sh);var Th=Qc(516587230,kh);function Ah(e,t){return t=t?t.clone():new Sd,void 0!==e.displayNamesLocale?El(t,1,Ys(e.displayNamesLocale)):void 0===e.displayNamesLocale&&El(t,1),void 0!==e.maxResults?Kl(t,2,e.maxResults):"maxResults"in e&&El(t,2),void 0!==e.scoreThreshold?Yl(t,3,e.scoreThreshold):"scoreThreshold"in e&&El(t,3),void 0!==e.categoryAllowlist?Dl(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&El(t,4),void 0!==e.categoryDenylist?Dl(t,5,e.categoryDenylist):"categoryDenylist"in e&&El(t,5),t}function Rh(e,t=-1,n=""){return{categories:e.map((e=>({index:Vl(Gl(e,1))??-1,score:Wl(e,2)??0,categoryName:ql(e,3)??""??"",displayName:ql(e,4)??""??""}))),headIndex:t,headName:n}}function Ih(e){var t=Al(e,3,zs),n=Al(e,2,Ws);const r=Al(e,1,Xs),o=Al(e,9,Xs),i={categories:[],keypoints:[]};for(let e=0;e<t.length;e++)i.categories.push({score:t[e],index:n[e]??-1,categoryName:r[e]??"",displayName:o[e]??""});if((t=Ol(e,Ju,4)?.h())&&(i.boundingBox={originX:Gl(t,1)??0,originY:Gl(t,2)??0,width:Gl(t,3)??0,height:Gl(t,4)??0,angle:0}),Ol(e,Ju,4)?.g().length)for(const t of Ol(e,Ju,4).g())i.keypoints.push({x:Cl(t,1)??0,y:Cl(t,2)??0,score:Cl(t,4)??0,label:ql(t,3)??""});return i}function _h(e){const t=[];for(const n of Bl(e,id,1))t.push({x:Wl(n,1)??0,y:Wl(n,2)??0,z:Wl(n,3)??0});return t}function Dh(e){const t=[];for(const n of Bl(e,td,1))t.push({x:Wl(n,1)??0,y:Wl(n,2)??0,z:Wl(n,3)??0});return t}function Fh(e){return Array.from(e,(e=>127<e?e-256:e))}function Mh(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,o=0;for(let i=0;i<e.length;i++)n+=e[i]*t[i],r+=e[i]*e[i],o+=t[i]*t[i];if(0>=r||0>=o)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return n/Math.sqrt(r*o)}let Lh;mu[516587230]=ec(Ch);const Ph=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 Oh(){if(void 0===Lh)try{await WebAssembly.instantiate(Ph),Lh=!0}catch{Lh=!1}return Lh}async function Nh(e,t){const n=await Oh()?"wasm_internal":"wasm_nosimd_internal";return void 0!==t?{wasmLoaderPath:`${t}/${e}_${n}.js`,wasmBinaryPath:`${t}/${e}_${n}.wasm`}:{wasmLoaderPath:ou(`./${encodeURIComponent(e)}_${encodeURIComponent(n)}.js`),wasmBinaryPath:ou(`./${encodeURIComponent(e)}_${encodeURIComponent(n)}.wasm`)}}var Bh=class{};function Uh(){const e=navigator.userAgent;return e.includes("Safari")&&!e.includes("Chrome")}async function $h(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 jh(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 Gh(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 zh(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 qh(e,t,n){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=n}function Vh(e,t,n){let r=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(e,t,o)=>{t?(n(r,o),r=[]):r.push(e)}}function Wh(e,t){const n=Ol(e.baseOptions,Id,1)||new Id;"string"==typeof t?(El(n,2,Ys(t)),El(n,1)):t instanceof Uint8Array&&(El(n,1,Ls(t,!1,!1)),El(n,2)),Ul(e.baseOptions,0,1,n)}function Hh(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 Kh(e,t){e.H=Math.max(e.H,t)}function Yh(e,t){e.A=new Tu,Su(e.A,"PassThroughCalculator"),ku(e.A,"free_memory"),Cu(e.A,"free_memory_unused_out"),Mu(t,"free_memory"),Fu(t,e.A)}function Xh(e,t){ku(e.A,t),Cu(e.A,t+"_unused_out")}function Jh(e){e.g.addBoolToStream(!0,"free_memory",e.H)}Bh.forVisionTasks=function(e=""){return Nh("vision",e)},Bh.forTextTasks=function(e=""){return Nh("text",e)},Bh.forAudioTasks=function(e=""){return Nh("audio",e)},Bh.isSimdSupported=function(){return Oh()};var Zh=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(!(Ol(this.baseOptions,Id,1)?.g()||Ol(this.baseOptions,Id,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=Ol(e.baseOptions,Ad,3);if(!n){var r=n=new Ad,o=new du;$l(r,4,Rd,o)}"delegate"in t&&("GPU"===t.delegate?(t=n,r=new lu,$l(t,2,Rd,r)):(t=n,r=new du,$l(t,4,Rd,r))),Ul(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),Wh(this,"/model.dat"),this.m(),this.N()}));Wh(this,t.modelAssetBuffer)}return this.m(),this.N(),Promise.resolve()}N(){}U(){let e;if(this.g.U((t=>{e=Nu(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,Hh(this)}finishProcessing(){this.g.finishProcessing(),Hh(this)}close(){this.A=void 0,this.g.closeGraph()}};function Qh(e,t){if(null===e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}Zh.prototype.close=Zh.prototype.close;class ef{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 tf(e,t,n){const r=e.h;if(n=Qh(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 nf(e,t){const n=e.h,r=Qh(n.createVertexArray(),"Failed to create vertex array");n.bindVertexArray(r);const o=Qh(n.createBuffer(),"Failed to create buffer");n.bindBuffer(n.ARRAY_BUFFER,o),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 i=Qh(n.createBuffer(),"Failed to create buffer");return n.bindBuffer(n.ARRAY_BUFFER,i),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 ef(n,r,o,i)}function rf(e,t){if(e.h){if(t!==e.h)throw Error("Cannot change GL context once initialized")}else e.h=t}function of(e,t,n,r){if(rf(e,t),!e.g){const t=e.h;if(e.g=Qh(t.createProgram(),"Failed to create WebGL program"),e.C=tf(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=tf(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=nf(e,!0)),n=e.m):(e.j||(e.j=nf(e,!1)),n=e.j),t.useProgram(e.g),n.bind(),e=r(),n.g.bindVertexArray(null),e}function af(e,t,n){rf(e,t),e.l||(e.l=Qh(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 sf(e){e.h?.bindFramebuffer(e.h.FRAMEBUFFER,null)}var lf=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 cf(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 uf(e){var t=cf(e,0);if(!t){t=hf(e);const n=ff(e),r=new Uint8Array(e.width*e.height*4);af(n,t,df(e)),t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,r),sf(n),t=new ImageData(new Uint8ClampedArray(r.buffer),e.width,e.height),e.g.push(t)}return t}function df(e){let t=cf(e,2);if(!t){const n=hf(e);t=gf(e);const r=cf(e,1)||uf(e);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,r),mf(e)}return t}function hf(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=Qh(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function ff(e){return e.l||(e.l=new lf),e.l}function pf(e){(e=hf(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 gf(e){const t=hf(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let n=cf(e,2);return n?t.bindTexture(t.TEXTURE_2D,n):(n=Qh(t.createTexture(),"Failed to create texture"),e.g.push(n),e.m=!0,t.bindTexture(t.TEXTURE_2D,n),pf(e)),n}function mf(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}function vf(e){const t=hf(e);return of(ff(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,o=n.height;return n.width=e.width,n.height=e.height,e=t(),n.width=r,n.height=o,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 bf=class{constructor(e,t,n,r,o,i,a){this.g=e,this.j=t,this.m=n,this.canvas=r,this.l=o,this.width=i,this.height=a,(this.j||this.m)&&0==--yf&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")}ta(){return!!cf(this,0)}Z(){return!!cf(this,1)}J(){return!!cf(this,2)}pa(){return uf(this)}oa(){var e=cf(this,1);return e||(df(this),gf(this),e=vf(this),mf(this),this.g.push(e),this.j=!0),e}T(){return df(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=hf(this),t=ff(this);e.activeTexture(e.TEXTURE1),n=Qh(e.createTexture(),"Failed to create texture"),e.bindTexture(e.TEXTURE_2D,n),pf(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),af(t,e,n),of(t,e,!1,(()=>{gf(this),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),mf(this)})),sf(t),mf(this)}else{if(!(t instanceof ImageBitmap))throw Error(`Type is not supported: ${t}`);df(this),gf(this),n=vf(this),mf(this)}e.push(n)}return new bf(e,this.Z(),this.J(),this.canvas,this.l,this.width,this.height)}close(){this.j&&cf(this,1).close(),this.m&&hf(this).deleteTexture(cf(this,2)),yf=-1}};bf.prototype.close=bf.prototype.close,bf.prototype.clone=bf.prototype.clone,bf.prototype.getAsWebGLTexture=bf.prototype.T,bf.prototype.getAsImageBitmap=bf.prototype.oa,bf.prototype.getAsImageData=bf.prototype.pa,bf.prototype.hasWebGLTexture=bf.prototype.J,bf.prototype.hasImageBitmap=bf.prototype.Z,bf.prototype.hasImageData=bf.prototype.ta;var yf=250;function wf(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 xf(e){var t=wf(e,1);if(!t){if(t=wf(e,0))t=new Float32Array(t).map((e=>e/255));else{t=new Float32Array(e.width*e.height);const r=Sf(e);var n=Cf(e);if(af(n,r,Ef(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 Ef(e){let t=wf(e,2);if(!t){const n=Sf(e);t=Af(e);const r=xf(e),o=kf(e);n.texImage2D(n.TEXTURE_2D,0,o,e.width,e.height,0,n.RED,n.FLOAT,r),Rf(e)}return t}function Sf(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=Qh(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function kf(e){if(e=Sf(e),!If)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))If=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");If=e.R16F}return If}function Cf(e){return e.l||(e.l=new lf),e.l}function Tf(e){(e=Sf(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 Af(e){const t=Sf(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let n=wf(e,2);return n?t.bindTexture(t.TEXTURE_2D,n):(n=Qh(t.createTexture(),"Failed to create texture"),e.g.push(n),e.m=!0,t.bindTexture(t.TEXTURE_2D,n),Tf(e)),n}function Rf(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var If,_f=class{constructor(e,t,n,r,o,i){this.g=e,this.m=t,this.canvas=n,this.l=r,this.width=o,this.height=i,this.m&&0==--Df&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}ua(){return!!wf(this,0)}sa(){return!!wf(this,1)}J(){return!!wf(this,2)}qa(){return(e=wf(this,0))||(e=xf(this),e=new Uint8Array(e.map((e=>255*e))),this.g.push(e)),e;var e}na(){return xf(this)}T(){return Ef(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=Sf(this),t=Cf(this);e.activeTexture(e.TEXTURE1),n=Qh(e.createTexture(),"Failed to create texture"),e.bindTexture(e.TEXTURE_2D,n),Tf(this);const r=kf(this);e.texImage2D(e.TEXTURE_2D,0,r,this.width,this.height,0,e.RED,e.FLOAT,null),e.bindTexture(e.TEXTURE_2D,null),af(t,e,n),of(t,e,!1,(()=>{Af(this),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),Rf(this)})),sf(t),Rf(this)}}e.push(n)}return new _f(e,this.J(),this.canvas,this.l,this.width,this.height)}close(){this.m&&Sf(this).deleteTexture(wf(this,2)),Df=-1}};_f.prototype.close=_f.prototype.close,_f.prototype.clone=_f.prototype.clone,_f.prototype.getAsWebGLTexture=_f.prototype.T,_f.prototype.getAsFloat32Array=_f.prototype.na,_f.prototype.getAsUint8Array=_f.prototype.qa,_f.prototype.hasWebGLTexture=_f.prototype.J,_f.prototype.hasFloat32Array=_f.prototype.sa,_f.prototype.hasUint8Array=_f.prototype.ua;var Df=250;function Ff(...e){return e.map((([e,t])=>({start:e,end:t})))}const Mf=function(e){return class extends e{xa(){this.i._registerModelResourcesGraphService()}}}((Lf=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||Uh()?(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,o){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),jh(this,r||"input_audio",(r=>{jh(this,o=o||"audio_header",(o=>{this.i._configureAudio(r,o,e,t,n)}))}))}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}U(e){qh(this,"__graph_config__",(t=>{e(t)})),jh(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,o){const i=4*e.length;this.h!==i&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(i),this.h=i),this.i.HEAPF32.set(e,this.g/4),jh(this,r,(e=>{this.i._addAudioToInputStream(this.g,t,n,e,o)}))}addGpuBufferToStream(e,t,n){jh(this,t,(t=>{const[r,o]=Gh(this,e,t);this.i._addBoundTextureToStream(t,r,o,n)}))}addBoolToStream(e,t,n){jh(this,t,(t=>{this.i._addBoolToInputStream(e,t,n)}))}addDoubleToStream(e,t,n){jh(this,t,(t=>{this.i._addDoubleToInputStream(e,t,n)}))}addFloatToStream(e,t,n){jh(this,t,(t=>{this.i._addFloatToInputStream(e,t,n)}))}addIntToStream(e,t,n){jh(this,t,(t=>{this.i._addIntToInputStream(e,t,n)}))}addStringToStream(e,t,n){jh(this,t,(t=>{jh(this,e,(e=>{this.i._addStringToInputStream(e,t,n)}))}))}addStringRecordToStream(e,t,n){jh(this,t,(t=>{zh(this,Object.keys(e),(r=>{zh(this,Object.values(e),(o=>{this.i._addFlatHashMapToInputStream(r,o,Object.keys(e).length,t,n)}))}))}))}addProtoToStream(e,t,n,r){jh(this,n,(n=>{jh(this,t,(t=>{const o=this.i._malloc(e.length);this.i.HEAPU8.set(e,o),this.i._addProtoToInputStream(o,e.length,t,n,r),this.i._free(o)}))}))}addEmptyPacketToStream(e,t){jh(this,e,(e=>{this.i._addEmptyPacketToInputStream(e,t)}))}addBoolToInputSidePacket(e,t){jh(this,t,(t=>{this.i._addBoolToInputSidePacket(e,t)}))}addDoubleToInputSidePacket(e,t){jh(this,t,(t=>{this.i._addDoubleToInputSidePacket(e,t)}))}addFloatToInputSidePacket(e,t){jh(this,t,(t=>{this.i._addFloatToInputSidePacket(e,t)}))}addIntToInputSidePacket(e,t){jh(this,t,(t=>{this.i._addIntToInputSidePacket(e,t)}))}addStringToInputSidePacket(e,t){jh(this,t,(t=>{jh(this,e,(e=>{this.i._addStringToInputSidePacket(e,t)}))}))}addProtoToInputSidePacket(e,t,n){jh(this,n,(n=>{jh(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){qh(this,e,t),jh(this,e,(e=>{this.i._attachBoolListener(e)}))}attachBoolVectorListener(e,t){Vh(this,e,t),jh(this,e,(e=>{this.i._attachBoolVectorListener(e)}))}attachIntListener(e,t){qh(this,e,t),jh(this,e,(e=>{this.i._attachIntListener(e)}))}attachIntVectorListener(e,t){Vh(this,e,t),jh(this,e,(e=>{this.i._attachIntVectorListener(e)}))}attachDoubleListener(e,t){qh(this,e,t),jh(this,e,(e=>{this.i._attachDoubleListener(e)}))}attachDoubleVectorListener(e,t){Vh(this,e,t),jh(this,e,(e=>{this.i._attachDoubleVectorListener(e)}))}attachFloatListener(e,t){qh(this,e,t),jh(this,e,(e=>{this.i._attachFloatListener(e)}))}attachFloatVectorListener(e,t){Vh(this,e,t),jh(this,e,(e=>{this.i._attachFloatVectorListener(e)}))}attachStringListener(e,t){qh(this,e,t),jh(this,e,(e=>{this.i._attachStringListener(e)}))}attachStringVectorListener(e,t){Vh(this,e,t),jh(this,e,(e=>{this.i._attachStringVectorListener(e)}))}attachProtoListener(e,t,n){qh(this,e,t),jh(this,e,(e=>{this.i._attachProtoListener(e,n||!1)}))}attachProtoVectorListener(e,t,n){Vh(this,e,t),jh(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?'),qh(this,e,((e,n)=>{e=new Float32Array(e.buffer,e.byteOffset,e.length/4),t(e,n)})),jh(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 Lf{get W(){return this.i}ea(e,t,n){jh(this,t,(t=>{const[r,o]=Gh(this,e,t);this.W._addBoundTextureAsImageToStream(t,r,o,n)}))}P(e,t){qh(this,e,t),jh(this,e,(e=>{this.W._attachImageListener(e)}))}R(e,t){Vh(this,e,t),jh(this,e,(e=>{this.W._attachImageVectorListener(e)}))}}));var Lf,Pf=class extends Mf{};async function Of(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,o)=>{if(t&&await $h(t),!self.ModuleFactory)throw Error("ModuleFactory not set.");if(n&&(await $h(n),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&o&&((t=self.Module).locateFile=o.locateFile,o.mainScriptUrlOrBlob&&(t.mainScriptUrlOrBlob=o.mainScriptUrlOrBlob)),o=await self.ModuleFactory(self.Module||o),self.ModuleFactory=self.Module=void 0,new e(o,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||Uh()?document.createElement("canvas"):void 0),t,n)}function Nf(e,t,n,r){if(e.X){const i=new dd;if(n?.regionOfInterest){if(!e.ca)throw Error("This task doesn't support region-of-interest.");var o=n.regionOfInterest;if(o.left>=o.right||o.top>=o.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(0>o.left||0>o.top||1<o.right||1<o.bottom)throw Error("Expected RectF values to be in [0,1].");Yl(i,1,(o.left+o.right)/2),Yl(i,2,(o.top+o.bottom)/2),Yl(i,4,o.right-o.left),Yl(i,3,o.bottom-o.top)}else Yl(i,1,.5),Yl(i,2,.5),Yl(i,4,1),Yl(i,3,1);if(n?.rotationDegrees){if(0!=n?.rotationDegrees%90)throw Error("Expected rotation to be a multiple of 90°.");if(Yl(i,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=Wl(i,3)*r/e,o=Wl(i,4)*e/r,Yl(i,4,n),Yl(i,3,o)}}e.g.addProtoToStream(i.g(),"mediapipe.NormalizedRect",e.X,r)}e.g.ea(t,e.ba,r??performance.now()),e.finishProcessing()}function Bf(e,t,n){if(e.baseOptions?.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");Nf(e,t,n,e.H+1)}function Uf(e,t,n,r){if(!e.baseOptions?.g())throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");Nf(e,t,n,r)}function $f(e,t,n){var r=t.data;const o=t.width,i=o*(t=t.height);if((r instanceof Uint8Array||r instanceof Float32Array)&&r.length!==i)throw Error("Unsupported channel count: "+r.length/i);return e=new _f([r],!1,e.g.i.canvas,e.M,o,t),n?e.clone():e}var jf=class extends Zh{constructor(e,t,n,r){super(e),this.g=e,this.ba=t,this.X=n,this.ca=r,this.M=new lf}l(e,t=!0){if("runningMode"in e&&Hl(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()}};jf.prototype.close=jf.prototype.close;var Gf=class extends jf{constructor(e,t){super(new Pf(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},this.h=new Md,e=new Dd,Ul(this.h,0,1,e),Yl(this.h,2,.5),Yl(this.h,3,.3)}get baseOptions(){return Ol(this.h,Dd,1)}set baseOptions(e){Ul(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&Yl(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&Yl(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}F(e,t){return this.j={detections:[]},Bf(this,e,t),this.j}D(e,t,n){return this.j={detections:[]},Uf(this,e,n,t),this.j}m(){var e=new Pu;Mu(e,"image_in"),Mu(e,"norm_rect_in"),Lu(e,"detections");const t=new gu;Jl(t,Pd,this.h);const n=new Tu;Su(n,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),ku(n,"IMAGE:image_in"),ku(n,"NORM_RECT:norm_rect_in"),Cu(n,"DETECTIONS:detections"),n.o(t),Fu(e,n),this.g.attachProtoVectorListener("detections",((e,t)=>{for(const t of e)e=ed(t),this.j.detections.push(Ih(e));Kh(this,t)})),this.g.attachEmptyPacketListener("detections",(e=>{Kh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Gf.prototype.detectForVideo=Gf.prototype.D,Gf.prototype.setOptions=Gf.prototype.o,Gf.createFromModelPath=async function(e,t){return Of(Gf,e,{baseOptions:{modelAssetPath:t}})},Gf.createFromModelBuffer=function(e,t){return Of(Gf,e,{baseOptions:{modelAssetBuffer:t}})},Gf.createFromOptions=function(e,t){return Of(Gf,e,t)};var zf=Ff([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]),qf=Ff([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]),Vf=Ff([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),Wf=Ff([474,475],[475,476],[476,477],[477,474]),Hf=Ff([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]),Kf=Ff([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),Yf=Ff([469,470],[470,471],[471,472],[472,469]),Xf=Ff([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]),Jf=[...zf,...qf,...Vf,...Hf,...Kf,...Xf],Zf=Ff([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 Qf(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var ep=class extends jf{constructor(e,t){super(new Pf(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,this.h=new Gd,e=new Dd,Ul(this.h,0,1,e),this.v=new $d,Ul(this.h,0,3,this.v),this.s=new Md,Ul(this.h,0,2,this.s),Kl(this.s,4,1),Yl(this.s,2,.5),Yl(this.v,2,.5),Yl(this.h,4,.5)}get baseOptions(){return Ol(this.h,Dd,1)}set baseOptions(e){Ul(this.h,0,1,e)}o(e){return"numFaces"in e&&Kl(this.s,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&Yl(this.s,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&Yl(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&Yl(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 Qf(this),Bf(this,e,t),this.j}D(e,t,n){return Qf(this),Uf(this,e,n,t),this.j}m(){var e=new Pu;Mu(e,"image_in"),Mu(e,"norm_rect"),Lu(e,"face_landmarks");const t=new gu;Jl(t,qd,this.h);const n=new Tu;Su(n,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),ku(n,"IMAGE:image_in"),ku(n,"NORM_RECT:norm_rect"),Cu(n,"NORM_LANDMARKS:face_landmarks"),n.o(t),Fu(e,n),this.g.attachProtoVectorListener("face_landmarks",((e,t)=>{for(const t of e)e=ld(t),this.j.faceLandmarks.push(_h(e));Kh(this,t)})),this.g.attachEmptyPacketListener("face_landmarks",(e=>{Kh(this,e)})),this.outputFaceBlendshapes&&(Lu(e,"blendshapes"),Cu(n,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",((e,t)=>{if(this.outputFaceBlendshapes)for(const t of e)e=zu(t),this.j.faceBlendshapes.push(Rh(e.g()??[]));Kh(this,t)})),this.g.attachEmptyPacketListener("blendshapes",(e=>{Kh(this,e)}))),this.outputFacialTransformationMatrixes&&(Lu(e,"face_geometry"),Cu(n,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",((e,t)=>{if(this.outputFacialTransformationMatrixes)for(const t of e)(e=Ol(Bd(t),cd,2))&&this.j.facialTransformationMatrixes.push({rows:Vl(Gl(e,1))??0,columns:Vl(Gl(e,2))??0,data:Al(e,3,zs)??[]});Kh(this,t)})),this.g.attachEmptyPacketListener("face_geometry",(e=>{Kh(this,e)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ep.prototype.detectForVideo=ep.prototype.D,ep.prototype.detect=ep.prototype.F,ep.prototype.setOptions=ep.prototype.o,ep.createFromModelPath=function(e,t){return Of(ep,e,{baseOptions:{modelAssetPath:t}})},ep.createFromModelBuffer=function(e,t){return Of(ep,e,{baseOptions:{modelAssetBuffer:t}})},ep.createFromOptions=function(e,t){return Of(ep,e,t)},ep.FACE_LANDMARKS_LIPS=zf,Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LIPS",ep.FACE_LANDMARKS_LIPS),ep.FACE_LANDMARKS_LEFT_EYE=qf,Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LEFT_EYE",ep.FACE_LANDMARKS_LEFT_EYE),ep.FACE_LANDMARKS_LEFT_EYEBROW=Vf,Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LEFT_EYEBROW",ep.FACE_LANDMARKS_LEFT_EYEBROW),ep.FACE_LANDMARKS_LEFT_IRIS=Wf,Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_LEFT_IRIS",ep.FACE_LANDMARKS_LEFT_IRIS),ep.FACE_LANDMARKS_RIGHT_EYE=Hf,Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_RIGHT_EYE",ep.FACE_LANDMARKS_RIGHT_EYE),ep.FACE_LANDMARKS_RIGHT_EYEBROW=Kf,Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_RIGHT_EYEBROW",ep.FACE_LANDMARKS_RIGHT_EYEBROW),ep.FACE_LANDMARKS_RIGHT_IRIS=Yf,Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_RIGHT_IRIS",ep.FACE_LANDMARKS_RIGHT_IRIS),ep.FACE_LANDMARKS_FACE_OVAL=Xf,Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_FACE_OVAL",ep.FACE_LANDMARKS_FACE_OVAL),ep.FACE_LANDMARKS_CONTOURS=Jf,Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_CONTOURS",ep.FACE_LANDMARKS_CONTOURS),ep.FACE_LANDMARKS_TESSELATION=Zf,Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$face_landmarker$face_landmarker.FaceLandmarker.FACE_LANDMARKS_TESSELATION",ep.FACE_LANDMARKS_TESSELATION);var tp=class extends jf{constructor(e,t){super(new Pf(e,t),"image_in","norm_rect",!0),this.j=new Vd,e=new Dd,Ul(this.j,0,1,e)}get baseOptions(){return Ol(this.j,Dd,1)}set baseOptions(e){Ul(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,Bf(this,e,r??{}),!this.h)return this.s}m(){var e=new Pu;Mu(e,"image_in"),Mu(e,"norm_rect"),Lu(e,"stylized_image");const t=new gu;Jl(t,Wd,this.j);const n=new Tu;Su(n,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),ku(n,"IMAGE:image_in"),ku(n,"NORM_RECT:norm_rect"),Cu(n,"STYLIZED_IMAGE:stylized_image"),n.o(t),Fu(e,n),this.g.P("stylized_image",((e,t)=>{var n=!this.h,r=e.data,o=e.width;const i=o*(e=e.height);if(r instanceof Uint8Array)if(r.length===3*i){const t=new Uint8ClampedArray(4*i);for(let e=0;e<i;++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,o,e)}else{if(r.length!==4*i)throw Error("Unsupported channel count: "+r.length/i);r=new ImageData(new Uint8ClampedArray(r.buffer,r.byteOffset,r.length),o,e)}else if(!(r instanceof WebGLTexture))throw Error(`Unsupported format: ${r.constructor.name}`);o=new bf([r],!1,!1,this.g.i.canvas,this.M,o,e),this.s=n=n?o.clone():o,this.h&&this.h(n),Kh(this,t)})),this.g.attachEmptyPacketListener("stylized_image",(e=>{this.s=null,this.h&&this.h(null),Kh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};tp.prototype.stylize=tp.prototype.za,tp.prototype.setOptions=tp.prototype.o,tp.createFromModelPath=function(e,t){return Of(tp,e,{baseOptions:{modelAssetPath:t}})},tp.createFromModelBuffer=function(e,t){return Of(tp,e,{baseOptions:{modelAssetBuffer:t}})},tp.createFromOptions=function(e,t){return Of(tp,e,t)};var np=Ff([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 rp(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function op(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 ip(e,t=!0){const n=[];for(const o of e){var r=zu(o);e=[];for(const n of r.g())r=t&&null!=Gl(n,1)?Vl(Gl(n,1)):-1,e.push({score:Wl(n,2)??0,index:r,categoryName:ql(n,3)??""??"",displayName:ql(n,4)??""??""});n.push(e)}return n}var ap=class extends jf{constructor(e,t){super(new Pf(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.v=new oh,e=new Dd,Ul(this.v,0,1,e),this.C=new nh,Ul(this.v,0,2,this.C),this.s=new eh,Ul(this.C,0,3,this.s),this.h=new Zd,Ul(this.C,0,2,this.h),this.j=new Xd,Ul(this.v,0,3,this.j),Yl(this.h,2,.5),Yl(this.C,4,.5),Yl(this.s,2,.5)}get baseOptions(){return Ol(this.v,Dd,1)}set baseOptions(e){Ul(this.v,0,1,e)}o(e){if(Kl(this.h,3,e.numHands??1),"minHandDetectionConfidence"in e&&Yl(this.h,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&Yl(this.C,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&Yl(this.s,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new Hd,n=Ah(e.cannedGesturesClassifierOptions,Ol(this.j,Hd,3)?.h());Ul(t,0,2,n),Ul(this.j,0,3,t)}else void 0===e.cannedGesturesClassifierOptions&&Ol(this.j,Hd,3)?.g();return e.customGesturesClassifierOptions?(Ul(t=new Hd,0,2,n=Ah(e.customGesturesClassifierOptions,Ol(this.j,Hd,4)?.h())),Ul(this.j,0,4,t)):void 0===e.customGesturesClassifierOptions&&Ol(this.j,Hd,4)?.g(),this.l(e)}va(e,t){return rp(this),Bf(this,e,t),op(this)}wa(e,t,n){return rp(this),Uf(this,e,n,t),op(this)}m(){var e=new Pu;Mu(e,"image_in"),Mu(e,"norm_rect"),Lu(e,"hand_gestures"),Lu(e,"hand_landmarks"),Lu(e,"world_hand_landmarks"),Lu(e,"handedness");const t=new gu;Jl(t,sh,this.v);const n=new Tu;Su(n,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),ku(n,"IMAGE:image_in"),ku(n,"NORM_RECT:norm_rect"),Cu(n,"HAND_GESTURES:hand_gestures"),Cu(n,"LANDMARKS:hand_landmarks"),Cu(n,"WORLD_LANDMARKS:world_hand_landmarks"),Cu(n,"HANDEDNESS:handedness"),n.o(t),Fu(e,n),this.g.attachProtoVectorListener("hand_landmarks",((e,t)=>{for(const t of e){e=ld(t);const n=[];for(const t of Bl(e,id,1))n.push({x:Wl(t,1)??0,y:Wl(t,2)??0,z:Wl(t,3)??0});this.landmarks.push(n)}Kh(this,t)})),this.g.attachEmptyPacketListener("hand_landmarks",(e=>{Kh(this,e)})),this.g.attachProtoVectorListener("world_hand_landmarks",((e,t)=>{for(const t of e){e=od(t);const n=[];for(const t of Bl(e,td,1))n.push({x:Wl(t,1)??0,y:Wl(t,2)??0,z:Wl(t,3)??0});this.worldLandmarks.push(n)}Kh(this,t)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(e=>{Kh(this,e)})),this.g.attachProtoVectorListener("hand_gestures",((e,t)=>{this.gestures.push(...ip(e,!1)),Kh(this,t)})),this.g.attachEmptyPacketListener("hand_gestures",(e=>{Kh(this,e)})),this.g.attachProtoVectorListener("handedness",((e,t)=>{this.handedness.push(...ip(e)),Kh(this,t)})),this.g.attachEmptyPacketListener("handedness",(e=>{Kh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function sp(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}ap.prototype.recognizeForVideo=ap.prototype.wa,ap.prototype.recognize=ap.prototype.va,ap.prototype.setOptions=ap.prototype.o,ap.createFromModelPath=function(e,t){return Of(ap,e,{baseOptions:{modelAssetPath:t}})},ap.createFromModelBuffer=function(e,t){return Of(ap,e,{baseOptions:{modelAssetBuffer:t}})},ap.createFromOptions=function(e,t){return Of(ap,e,t)},ap.HAND_CONNECTIONS=np,Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$gesture_recognizer$gesture_recognizer.GestureRecognizer.HAND_CONNECTIONS",ap.HAND_CONNECTIONS);var lp=class extends jf{constructor(e,t){super(new Pf(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.j=new nh,e=new Dd,Ul(this.j,0,1,e),this.s=new eh,Ul(this.j,0,3,this.s),this.h=new Zd,Ul(this.j,0,2,this.h),Kl(this.h,3,1),Yl(this.h,2,.5),Yl(this.s,2,.5),Yl(this.j,4,.5)}get baseOptions(){return Ol(this.j,Dd,1)}set baseOptions(e){Ul(this.j,0,1,e)}o(e){return"numHands"in e&&Kl(this.h,3,e.numHands??1),"minHandDetectionConfidence"in e&&Yl(this.h,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&Yl(this.j,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&Yl(this.s,2,e.minHandPresenceConfidence??.5),this.l(e)}F(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Bf(this,e,t),sp(this)}D(e,t,n){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Uf(this,e,n,t),sp(this)}m(){var e=new Pu;Mu(e,"image_in"),Mu(e,"norm_rect"),Lu(e,"hand_landmarks"),Lu(e,"world_hand_landmarks"),Lu(e,"handedness");const t=new gu;Jl(t,ah,this.j);const n=new Tu;Su(n,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),ku(n,"IMAGE:image_in"),ku(n,"NORM_RECT:norm_rect"),Cu(n,"LANDMARKS:hand_landmarks"),Cu(n,"WORLD_LANDMARKS:world_hand_landmarks"),Cu(n,"HANDEDNESS:handedness"),n.o(t),Fu(e,n),this.g.attachProtoVectorListener("hand_landmarks",((e,t)=>{for(const t of e)e=ld(t),this.landmarks.push(_h(e));Kh(this,t)})),this.g.attachEmptyPacketListener("hand_landmarks",(e=>{Kh(this,e)})),this.g.attachProtoVectorListener("world_hand_landmarks",((e,t)=>{for(const t of e)e=od(t),this.worldLandmarks.push(Dh(e));Kh(this,t)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(e=>{Kh(this,e)})),this.g.attachProtoVectorListener("handedness",((e,t)=>{var n=this.handedness,r=n.push;const o=[];for(const t of e){e=zu(t);const n=[];for(const t of e.g())n.push({score:Wl(t,2)??0,index:Vl(Gl(t,1))??-1,categoryName:ql(t,3)??""??"",displayName:ql(t,4)??""??""});o.push(n)}r.call(n,...o),Kh(this,t)})),this.g.attachEmptyPacketListener("handedness",(e=>{Kh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};lp.prototype.detectForVideo=lp.prototype.D,lp.prototype.detect=lp.prototype.F,lp.prototype.setOptions=lp.prototype.o,lp.createFromModelPath=function(e,t){return Of(lp,e,{baseOptions:{modelAssetPath:t}})},lp.createFromModelBuffer=function(e,t){return Of(lp,e,{baseOptions:{modelAssetBuffer:t}})},lp.createFromOptions=function(e,t){return Of(lp,e,t)},lp.HAND_CONNECTIONS=np,Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$hand_landmarker$hand_landmarker.HandLandmarker.HAND_CONNECTIONS",lp.HAND_CONNECTIONS);var cp=class extends jf{constructor(e,t){super(new Pf(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},this.h=new lh,e=new Dd,Ul(this.h,0,1,e)}get baseOptions(){return Ol(this.h,Dd,1)}set baseOptions(e){Ul(this.h,0,1,e)}o(e){var t=Ah(e,Ol(this.h,Sd,2));return Ul(this.h,0,2,t),this.l(e)}ga(e,t){return this.j={classifications:[]},Bf(this,e,t),this.j}ha(e,t,n){return this.j={classifications:[]},Uf(this,e,n,t),this.j}m(){var e=new Pu;Mu(e,"input_image"),Mu(e,"norm_rect"),Lu(e,"classifications");const t=new gu;Jl(t,ch,this.h);const n=new Tu;Su(n,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),ku(n,"IMAGE:input_image"),ku(n,"NORM_RECT:norm_rect"),Cu(n,"CLASSIFICATIONS:classifications"),n.o(t),Fu(e,n),this.g.attachProtoListener("classifications",((e,t)=>{this.j=function(e){const t={classifications:Bl(e,hd,1).map((e=>Rh(Ol(e,ju,4)?.g()??[],Vl(Gl(e,2)),ql(e,3)??"")))};return null!=zl(e)&&(t.timestampMs=Vl(zl(e))),t}(gd(e)),Kh(this,t)})),this.g.attachEmptyPacketListener("classifications",(e=>{Kh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};cp.prototype.classifyForVideo=cp.prototype.ha,cp.prototype.classify=cp.prototype.ga,cp.prototype.setOptions=cp.prototype.o,cp.createFromModelPath=function(e,t){return Of(cp,e,{baseOptions:{modelAssetPath:t}})},cp.createFromModelBuffer=function(e,t){return Of(cp,e,{baseOptions:{modelAssetBuffer:t}})},cp.createFromOptions=function(e,t){return Of(cp,e,t)};var up=class extends jf{constructor(e,t){super(new Pf(e,t),"image_in","norm_rect",!0),this.h=new uh,this.embeddings={embeddings:[]},e=new Dd,Ul(this.h,0,1,e)}get baseOptions(){return Ol(this.h,Dd,1)}set baseOptions(e){Ul(this.h,0,1,e)}o(e){var t=this.h,n=Ol(this.h,Cd,2);return n=n?n.clone():new Cd,void 0!==e.l2Normalize?Hl(n,1,e.l2Normalize):"l2Normalize"in e&&El(n,1),void 0!==e.quantize?Hl(n,2,e.quantize):"quantize"in e&&El(n,2),Ul(t,0,2,n),this.l(e)}la(e,t){return Bf(this,e,t),this.embeddings}ma(e,t,n){return Uf(this,e,n,t),this.embeddings}m(){var e=new Pu;Mu(e,"image_in"),Mu(e,"norm_rect"),Lu(e,"embeddings_out");const t=new gu;Jl(t,dh,this.h);const n=new Tu;Su(n,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),ku(n,"IMAGE:image_in"),ku(n,"NORM_RECT:norm_rect"),Cu(n,"EMBEDDINGS:embeddings_out"),n.o(t),Fu(e,n),this.g.attachProtoListener("embeddings_out",((e,t)=>{e=Ed(e),this.embeddings=function(e){return{embeddings:Bl(e,bd,1).map((e=>{const t={headIndex:Vl(Gl(e,3))??-1,headName:ql(e,4)??""??""};if(void 0!==Pl(e,md,Fl(e,1)))e=Al(e=Ol(e,md,Fl(e,1)),1,zs),t.floatEmbedding=e;else{const n=new Uint8Array(0);t.quantizedEmbedding=Ol(e,vd,Fl(e,2))?.da()?.fa()??n}return t})),timestampMs:Vl(zl(e))}}(e),Kh(this,t)})),this.g.attachEmptyPacketListener("embeddings_out",(e=>{Kh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};up.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=Mh(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=Mh(Fh(e.quantizedEmbedding),Fh(t.quantizedEmbedding))}return e},up.prototype.embedForVideo=up.prototype.ma,up.prototype.embed=up.prototype.la,up.prototype.setOptions=up.prototype.o,up.createFromModelPath=function(e,t){return Of(up,e,{baseOptions:{modelAssetPath:t}})},up.createFromModelBuffer=function(e,t){return Of(up,e,{baseOptions:{modelAssetBuffer:t}})},up.createFromOptions=function(e,t){return Of(up,e,t)};var dp=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 hp(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function fp(e){try{const t=new dp(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{Jh(e)}}dp.prototype.close=dp.prototype.close;var pp=class extends jf{constructor(e,t){super(new Pf(e,t),"image_in","norm_rect",!1),this.s=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new mh,this.v=new hh,Ul(this.h,0,3,this.v),e=new Dd,Ul(this.h,0,1,e)}get baseOptions(){return Ol(this.h,Dd,1)}set baseOptions(e){Ul(this.h,0,1,e)}o(e){return void 0!==e.displayNamesLocale?El(this.h,2,Ys(e.displayNamesLocale)):"displayNamesLocale"in e&&El(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=Bl(e.U(),Tu,1).filter((e=>(ql(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&&(Ol(t[0],gu,7)?.l()?.g()??new Map).forEach(((t,n)=>{e.s[Number(n)]=ql(t,1)??""}))}(this)}V(e,t,n){const r="function"!=typeof t?t:{};return this.j="function"==typeof t?t:n,hp(this),Bf(this,e,r),fp(this)}ya(e,t,n,r){const o="function"!=typeof n?n:{};return this.j="function"==typeof n?n:r,hp(this),Uf(this,e,o,t),fp(this)}ra(){return this.s}m(){var e=new Pu;Mu(e,"image_in"),Mu(e,"norm_rect");const t=new gu;Jl(t,vh,this.h);const n=new Tu;Su(n,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),ku(n,"IMAGE:image_in"),ku(n,"NORM_RECT:norm_rect"),n.o(t),Fu(e,n),Yh(this,e),this.outputConfidenceMasks&&(Lu(e,"confidence_masks"),Cu(n,"CONFIDENCE_MASKS:confidence_masks"),Xh(this,"confidence_masks"),this.g.R("confidence_masks",((e,t)=>{this.confidenceMasks=e.map((e=>$f(this,e,!this.j))),Kh(this,t)})),this.g.attachEmptyPacketListener("confidence_masks",(e=>{this.confidenceMasks=[],Kh(this,e)}))),this.outputCategoryMask&&(Lu(e,"category_mask"),Cu(n,"CATEGORY_MASK:category_mask"),Xh(this,"category_mask"),this.g.P("category_mask",((e,t)=>{this.categoryMask=$f(this,e,!this.j),Kh(this,t)})),this.g.attachEmptyPacketListener("category_mask",(e=>{this.categoryMask=void 0,Kh(this,e)}))),Lu(e,"quality_scores"),Cu(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((e,t)=>{this.qualityScores=e,Kh(this,t)})),this.g.attachEmptyPacketListener("quality_scores",(e=>{this.categoryMask=void 0,Kh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};pp.prototype.getLabels=pp.prototype.ra,pp.prototype.segmentForVideo=pp.prototype.ya,pp.prototype.segment=pp.prototype.V,pp.prototype.setOptions=pp.prototype.o,pp.createFromModelPath=function(e,t){return Of(pp,e,{baseOptions:{modelAssetPath:t}})},pp.createFromModelBuffer=function(e,t){return Of(pp,e,{baseOptions:{modelAssetBuffer:t}})},pp.createFromOptions=function(e,t){return Of(pp,e,t)};var gp=class{constructor(e,t,n){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=n}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};gp.prototype.close=gp.prototype.close;var mp=class extends Zl{constructor(e){super(e)}},vp=[0,Oc,Oc,Oc],bp=[0,Ic,Ic,Ic,Ic,Uc],yp=[0,Ic,Ic,Ic,Ic,Uc,Ic,Ic],wp=[0,Vc,yp],xp=[0,Vc,wp,Vc,vp],Ep=[0,Vc,yp,Vc,vp],Sp=[0,Vc,yp,Oc,Oc],kp=[0,Vc,Sp,Vc,vp],Cp=[0,Ic,Ic,Ic,Ic,Uc,Vc,vp,Vc,vp],Tp=[0,Ic,Ic,Ic,Ic,Uc,Xc],Ap=class extends Zl{constructor(e){super(e)}},Rp=[0,Ic,Ic,Uc],Ip=class extends Zl{constructor(){super()}};Ip.B=[1];var _p=class extends Zl{constructor(e){super(e)}},Dp=[1,2,3,4,5,6,7,8,9,10,14,15],Fp=[0,Hc,yp,Dp,Hc,Ep,Dp,Hc,wp,Dp,Hc,xp,Dp,Hc,Rp,Dp,Hc,Tp,Dp,Hc,bp,Dp,Hc,[0,zc,Ic,Ic,Ic,Uc,Oc,Uc,Uc,Ic,3,Vc,vp],Dp,Hc,Sp,Dp,Hc,kp,Dp,Ic,Vc,vp,zc,Hc,Cp,Dp,Hc,[0,Wc,Rp],Dp],Mp=[0,zc,Oc,Oc,Uc],Lp=class extends Zl{constructor(){super()}};Lp.B=[1],Lp.prototype.g=tu([0,Wc,Fp,zc,Vc,Mp]);var Pp=class extends jf{constructor(e,t){super(new Pf(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new mh,this.v=new hh,Ul(this.h,0,3,this.v),e=new Dd,Ul(this.h,0,1,e)}get baseOptions(){return Ol(this.h,Dd,1)}set baseOptions(e){Ul(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 o="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 Lp;const i=new _p;var a=new mp;if(Kl(a,1,255),Ul(i,0,12,a),t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var s=new Ap;Hl(s,3,!0),Yl(s,1,t.keypoint.x),Yl(s,2,t.keypoint.y),$l(i,5,Dp,s)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");for(s of(a=new Ip,t.scribble))Hl(t=new Ap,3,!0),Yl(t,1,s.x),Yl(t,2,s.y),jl(a,Ap,t);$l(i,15,Dp,a)}jl(r,_p,i),this.g.addProtoToStream(r.g(),"drishti.RenderData","roi_in",n),Bf(this,e,o);e:{try{const e=new gp(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var l=e;break e}this.j(e)}finally{Jh(this)}l=void 0}return l}m(){var e=new Pu;Mu(e,"image_in"),Mu(e,"roi_in"),Mu(e,"norm_rect_in");const t=new gu;Jl(t,vh,this.h);const n=new Tu;Su(n,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),ku(n,"IMAGE:image_in"),ku(n,"ROI:roi_in"),ku(n,"NORM_RECT:norm_rect_in"),n.o(t),Fu(e,n),Yh(this,e),this.outputConfidenceMasks&&(Lu(e,"confidence_masks"),Cu(n,"CONFIDENCE_MASKS:confidence_masks"),Xh(this,"confidence_masks"),this.g.R("confidence_masks",((e,t)=>{this.confidenceMasks=e.map((e=>$f(this,e,!this.j))),Kh(this,t)})),this.g.attachEmptyPacketListener("confidence_masks",(e=>{this.confidenceMasks=[],Kh(this,e)}))),this.outputCategoryMask&&(Lu(e,"category_mask"),Cu(n,"CATEGORY_MASK:category_mask"),Xh(this,"category_mask"),this.g.P("category_mask",((e,t)=>{this.categoryMask=$f(this,e,!this.j),Kh(this,t)})),this.g.attachEmptyPacketListener("category_mask",(e=>{this.categoryMask=void 0,Kh(this,e)}))),Lu(e,"quality_scores"),Cu(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((e,t)=>{this.qualityScores=e,Kh(this,t)})),this.g.attachEmptyPacketListener("quality_scores",(e=>{this.categoryMask=void 0,Kh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Pp.prototype.segment=Pp.prototype.V,Pp.prototype.setOptions=Pp.prototype.o,Pp.createFromModelPath=function(e,t){return Of(Pp,e,{baseOptions:{modelAssetPath:t}})},Pp.createFromModelBuffer=function(e,t){return Of(Pp,e,{baseOptions:{modelAssetBuffer:t}})},Pp.createFromOptions=function(e,t){return Of(Pp,e,t)};var Op=class extends jf{constructor(e,t){super(new Pf(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},this.h=new bh,e=new Dd,Ul(this.h,0,1,e)}get baseOptions(){return Ol(this.h,Dd,1)}set baseOptions(e){Ul(this.h,0,1,e)}o(e){return void 0!==e.displayNamesLocale?El(this.h,2,Ys(e.displayNamesLocale)):"displayNamesLocale"in e&&El(this.h,2),void 0!==e.maxResults?Kl(this.h,3,e.maxResults):"maxResults"in e&&El(this.h,3),void 0!==e.scoreThreshold?Yl(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&El(this.h,4),void 0!==e.categoryAllowlist?Dl(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&El(this.h,5),void 0!==e.categoryDenylist?Dl(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&El(this.h,6),this.l(e)}F(e,t){return this.j={detections:[]},Bf(this,e,t),this.j}D(e,t,n){return this.j={detections:[]},Uf(this,e,n,t),this.j}m(){var e=new Pu;Mu(e,"input_frame_gpu"),Mu(e,"norm_rect"),Lu(e,"detections");const t=new gu;Jl(t,yh,this.h);const n=new Tu;Su(n,"mediapipe.tasks.vision.ObjectDetectorGraph"),ku(n,"IMAGE:input_frame_gpu"),ku(n,"NORM_RECT:norm_rect"),Cu(n,"DETECTIONS:detections"),n.o(t),Fu(e,n),this.g.attachProtoVectorListener("detections",((e,t)=>{for(const t of e)e=ed(t),this.j.detections.push(Ih(e));Kh(this,t)})),this.g.attachEmptyPacketListener("detections",(e=>{Kh(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function Np(e){e.landmarks=[],e.worldLandmarks=[],e.v=void 0}function Bp(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{Jh(e)}}Op.prototype.detectForVideo=Op.prototype.D,Op.prototype.detect=Op.prototype.F,Op.prototype.setOptions=Op.prototype.o,Op.createFromModelPath=async function(e,t){return Of(Op,e,{baseOptions:{modelAssetPath:t}})},Op.createFromModelBuffer=function(e,t){return Of(Op,e,{baseOptions:{modelAssetBuffer:t}})},Op.createFromOptions=function(e,t){return Of(Op,e,t)};var Up=class extends jf{constructor(e,t){super(new Pf(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,this.h=new kh,e=new Dd,Ul(this.h,0,1,e),this.C=new Eh,Ul(this.h,0,3,this.C),this.j=new wh,Ul(this.h,0,2,this.j),Kl(this.j,4,1),Yl(this.j,2,.5),Yl(this.C,2,.5),Yl(this.h,4,.5)}get baseOptions(){return Ol(this.h,Dd,1)}set baseOptions(e){Ul(this.h,0,1,e)}o(e){return"numPoses"in e&&Kl(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&Yl(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&Yl(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&Yl(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,Np(this),Bf(this,e,r),Bp(this)}D(e,t,n,r){const o="function"!=typeof n?n:{};return this.s="function"==typeof n?n:r,Np(this),Uf(this,e,o,t),Bp(this)}m(){var e=new Pu;Mu(e,"image_in"),Mu(e,"norm_rect"),Lu(e,"normalized_landmarks"),Lu(e,"world_landmarks"),Lu(e,"segmentation_masks");const t=new gu;Jl(t,Th,this.h);const n=new Tu;Su(n,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),ku(n,"IMAGE:image_in"),ku(n,"NORM_RECT:norm_rect"),Cu(n,"NORM_LANDMARKS:normalized_landmarks"),Cu(n,"WORLD_LANDMARKS:world_landmarks"),n.o(t),Fu(e,n),Yh(this,e),this.g.attachProtoVectorListener("normalized_landmarks",((e,t)=>{this.landmarks=[];for(const t of e)e=ld(t),this.landmarks.push(_h(e));Kh(this,t)})),this.g.attachEmptyPacketListener("normalized_landmarks",(e=>{this.landmarks=[],Kh(this,e)})),this.g.attachProtoVectorListener("world_landmarks",((e,t)=>{this.worldLandmarks=[];for(const t of e)e=od(t),this.worldLandmarks.push(Dh(e));Kh(this,t)})),this.g.attachEmptyPacketListener("world_landmarks",(e=>{this.worldLandmarks=[],Kh(this,e)})),this.outputSegmentationMasks&&(Cu(n,"SEGMENTATION_MASK:segmentation_masks"),Xh(this,"segmentation_masks"),this.g.R("segmentation_masks",((e,t)=>{this.v=e.map((e=>$f(this,e,!this.s))),Kh(this,t)})),this.g.attachEmptyPacketListener("segmentation_masks",(e=>{this.v=[],Kh(this,e)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Up.prototype.detectForVideo=Up.prototype.D,Up.prototype.detect=Up.prototype.F,Up.prototype.setOptions=Up.prototype.o,Up.createFromModelPath=function(e,t){return Of(Up,e,{baseOptions:{modelAssetPath:t}})},Up.createFromModelBuffer=function(e,t){return Of(Up,e,{baseOptions:{modelAssetBuffer:t}})},Up.createFromOptions=function(e,t){return Of(Up,e,t)},Up.POSE_CONNECTIONS=Ff([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]),Oi("module$exports$google3$third_party$mediapipe$tasks$web$vision$pose_landmarker$pose_landmarker.PoseLandmarker.POSE_CONNECTIONS",Up.POSE_CONNECTIONS);var $p;function jp(e,t,n,r){t.forEach((function(t){var o=t.keypoints.map((function(e){return[e.x,e.y]}));if(n){e.strokeStyle="#FF2C35",e.lineWidth=1;var i=t.box;!function(e,t,n){var r=new Path2D;r.moveTo(t[0][0],t[0][1]);for(var o=1;o<t.length;o++){var i=t[o];r.lineTo(i[0],i[1])}n&&r.closePath(),e.stroke(r)}(e,[[i.xMin,i.yMin],[i.xMax,i.yMin],[i.xMax,i.yMax],[i.xMin,i.yMax]],!0)}if(r){e.fillStyle="#32EEDB";for(var a=0;a<6;a++){var s=o[a][0],l=o[a][1];e.beginPath(),e.arc(s,l,3,0,2*Math.PI),e.fill()}}}))}function Gp(){return m(this,void 0,void 0,(function(){var e;return v(this,(function(t){switch(t.label){case 0:return $p?[2,$p]:[4,Bh.forVisionTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.6/wasm")];case 1:return e=t.sent(),[4,Gf.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,$p=t.sent()]}}))}))}var zp,qp,Vp=n.createContext({start:function(){return null},stop:function(){return null},onPredictionMade:function(){return null},canvasRef:{current:null},ready:!1}),Wp=function(e){var t=e.autoStart,r=void 0===t||t,o=e.children,i=e.throttleMs,a=n.useContext(Jt),s=a.videoRef,l=a.videoLoaded,c=a.cameraReady,d=n.useRef(null),h=n.useRef(),f=n.useState(!1),p=f[0],b=f[1],y=n.useState(!1),w=y[0],x=y[1],E=n.useRef(null),S=n.useRef(0),k=n.useRef(0),C=n.useState(null),T=C[0],A=C[1];n.useEffect((function(){m(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:b(!1),n.label=1;case 1:return n.trys.push([1,3,,4]),e=E,[4,Gp()];case 2:return e.current=n.sent(),[3,4];case 3:return t=n.sent(),A(t),[3,4];case 4:return b(!0),[2]}}))}))}),[]),n.useEffect((function(){if(l&&c&&w&&p){var e;k.current+=1;var t=k.current;return m(void 0,void 0,void 0,(function(){var n,r,o,a;return v(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===(o=s.current)||void 0===o?void 0:o.videoWidth,d.current.height=null===(a=s.current)||void 0===a?void 0:a.videoHeight,null==n||n.translate(s.current.videoWidth,0),null==n||n.scale(-1,1)),[4,function r(){var o;return m(this,void 0,void 0,(function(){var a,l,c,u,d;return v(this,(function(f){switch(f.label){case 0:return E.current&&s.current&&t===k.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:a=s.current.videoWidth,l=s.current.videoHeight,null==n||n.drawImage(s.current,0,0,a,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,o,i,s,c,u,d,h,f,p,m,v,b,y;return{keypoints:e.keypoints.map((function(e){var t;return g(g({},e),{x:e.x*a,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!==(o=null===(r=e.boundingBox)||void 0===r?void 0:r.originX)&&void 0!==o?o:0)+(null!==(s=null===(i=e.boundingBox)||void 0===i?void 0:i.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!==(p=null===(f=e.boundingBox)||void 0===f?void 0:f.height)&&void 0!==p?p:0),width:null!==(v=null===(m=e.boundingBox)||void 0===m?void 0:m.width)&&void 0!==v?v:0,height:null!==(y=null===(b=e.boundingBox)||void 0===b?void 0:b.height)&&void 0!==y?y:0}}})),null===(o=h.current)||void 0===o||o.call(h,u),n&&jp(n,u,!0,!0)),[3,6];case 5:return d=f.sent(),console.error("caught face detection error",d),[3,6];case 6:return i?e=setTimeout((function(){S.current=requestAnimationFrame(r)}),i):S.current=requestAnimationFrame(r),[2]}}))}))}()]):[2];case 1:return l.sent(),[2]}}))})),function(){S.current&&cancelAnimationFrame(S.current),e&&clearTimeout(e)}}}),[c,p,w,i,l,s]);var R=n.useCallback((function(){x(!0)}),[]),I=n.useCallback((function(){x(!1)}),[]);n.useEffect((function(){return r&&R(),function(){I()}}),[r,R,I]);var _=n.useCallback((function(e){h.current=e}),[]),D=n.useMemo((function(){return{start:R,stop:I,ready:p,canvasRef:d,onPredictionMade:_}}),[_,p,R,I]);return u.createElement(Vp.Provider,{value:D},T?u.createElement(Fo,{error:T}):o)},Hp=h.default.div(zp||(zp=y(["\n position: absolute;\n top: calc(",");\n font-weight: bold;\n width: 100%;\n display: flex;\n"],["\n position: absolute;\n top: calc(",");\n font-weight: bold;\n width: 100%;\n display: flex;\n"])),(function(e){var t=e.$top;return null!=t?t:"10vh"})),Kp=h.default.div(qp||(qp=y(["\n margin-left: auto;\n margin-right: auto;\n background: ",";\n color: ",";\n padding: 10px 12px 8px;\n border-radius: 8px;\n"],["\n margin-left: auto;\n margin-right: auto;\n background: ",";\n color: ",";\n padding: 10px 12px 8px;\n border-radius: 8px;\n"])),(function(e){var t=e.$background;return null!=t?t:"#ccc"}),(function(e){var t=e.$textColor;return null!=t?t:"black"})),Yp=function(e,t,r,o){var i=n.useState(!1),a=i[0],s=i[1],l=n.useState(),c=l[0],u=l[1];return n.useEffect((function(){if(e){u(new Date);var t=setTimeout((function(){s(!0)}),e);return function(){t&&clearTimeout(t)}}}),[e]),n.useEffect((function(){if(a&&!r){if(o){var e=setTimeout((function(){null==t||t()}),1e4);return function(){clearTimeout(e)}}null==t||t()}}),[t,o,a,r]),{timedOut:a,timeoutStartedAt:c}},Xp={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},Jp=function(e,t){switch(t.type){case"configure":return g(g({},e),{videoWidth:t.payload.videoWidth,videoHeight:t.payload.videoHeight});case"capturing":return g(g({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return g(g({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return g(g({},e),{capturing:!1,captured:!1,captureFailed:!0});case"facesDetected":var n=t.payload.faces,r=n[0],o=!0,i=!1,a=!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,p=.125*e.videoHeight,m=.2*r.box.width,v=.2*r.box.height,b=r.keypoints[2];b&&(o=Math.abs(e.videoWidth/2-d)>f||Math.abs(u+50-h)>p,i=Math.abs(d-b.x)>m||Math.abs(h-b.y)>v);var y=e.videoWidth<e.videoHeight;a=r.box.width>e.videoWidth/(y?2:4.5),s=r.box.width<e.videoWidth/(y?6:7)}var w=!(o||i||a||s);return w?e.faceReady||(l=new Date):(l=null,c=0),g(g({},e),{faces:n,faceNotCentered:o,faceLookingAway:i,faceTooClose:a,faceTooFar:s,faceReady:w,faceReadyAt:l,goodFramesCount:c})}},Zp=function(e){var t,r=e.onGuidanceSatisfied,o=e.onGuidanceNotSatisfied,i=e.onSelfieCaptured,a=e.onTimeout,s=e.onExit,l=e.timeoutDurationMs,u=void 0===l?15e3:l,d=e.guidanceMessage,h=e.guidanceSatisfied,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,b=void 0===g?{}:g,y=e.debugMode,w=void 0!==y&&y,x=Ft(),E=x.ref,S=x.width,k=void 0===S?1:S,C=x.height,T=void 0===C?1:C,A=n.useReducer(Jp,Xp),R=A[0],I=A[1],_=n.useContext(Jt),D=_.cameraRef,F=_.cameraReady,M=_.takePhoto,L=_.videoRef,P=n.useContext(Vp).onPredictionMade;n.useEffect((function(){F&&L.current&&0!==L.current.videoWidth&&I({type:"configure",payload:{videoWidth:L.current.videoWidth,videoHeight:L.current.videoHeight}})}),[F,L]),n.useEffect((function(){P((function(e){I({type:"facesDetected",payload:{faces:e}})}))}),[P]);var O=n.useState(!1),N=O[0],B=O[1];n.useEffect((function(){var e;return R.faceReady?(null==r||r(),e=setTimeout((function(){B(!0)}),1e3)):null==o||o(),function(){e&&clearTimeout(e)}}),[o,r,R.faceReady]),n.useEffect((function(){m(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return N&&R.faces.length>0?[4,M()]:[3,5];case 1:return(e=n.sent())?null!=i?[3,2]:[3,4]:[3,5];case 2:return t=i,[4,createImageBitmap(e)];case 3:t.apply(void 0,[n.sent(),R.faces[0]]),n.label=4;case 4:n.label=5;case 5:return[2]}}))}))}),[N,i,R.faces,M]);var U=Yp(u,a),$=U.timedOut,j=U.timeoutStartedAt,G=Zo({enabled:w,pageWidth:k,pageHeight:T,videoWidth:R.videoWidth,videoHeight:R.videoHeight});p.guidesUnsatisfiedColor||(p.guidesUnsatisfiedColor="white"),p.guidesSatisfiedColor||(p.guidesSatisfiedColor="green"),p.guidanceMessagesUnsatisfiedBackgroundColor||(p.guidanceMessagesUnsatisfiedBackgroundColor="red"),p.guidanceMessagesSatisfiedBackgroundColor||(p.guidanceMessagesSatisfiedBackgroundColor="green"),p.guidanceMessagesUnsatisfiedTextColor||(p.guidanceMessagesUnsatisfiedTextColor="white"),p.guidanceMessagesSatisfiedTextColor||(p.guidanceMessagesSatisfiedTextColor="white");var z=vi(b,{guidanceHoldStillText:"Hold still for a few seconds...",guidanceLookStraightText:"Look straight into the camera...",guidanceMoveBackText:"Move back...",guidanceMoveForwardText:"Move forward...",guidanceMoveToCenterText:"Move to the center..."});d||(d=R.faceReady?z.guidanceHoldStillText:R.faceLookingAway?z.guidanceLookStraightText:R.faceTooClose?z.guidanceMoveBackText:R.faceTooFar?z.guidanceMoveForwardText:R.faceNotCentered?z.guidanceMoveToCenterText:"");var q=R.faceReady;return"boolean"==typeof h&&(q=h),c.default.createElement(rt,{ref:E,className:"flex"},c.default.createElement(Ri,null),c.default.createElement(Li,{borderColor:q?p.guidesSatisfiedColor:p.guidesUnsatisfiedColor}),""!==d&&c.default.createElement(Hp,null,c.default.createElement(Kp,{$background:q?p.guidanceMessagesSatisfiedBackgroundColor:p.guidanceMessagesUnsatisfiedBackgroundColor,$textColor:q?p.guidanceMessagesSatisfiedTextColor:p.guidanceMessagesUnsatisfiedTextColor},d)),w&&R.faces.length>0&&c.default.createElement(Yo,{$flipX:!(null===(t=D.current)||void 0===t?void 0:t.isRearFacing)},R.faces.map((function(e,t){var n;return c.default.createElement(ei,{key:t,face:e,scaling:G,flipX:!(null===(n=D.current)||void 0===n?void 0:n.isRearFacing),color:q?"green":"red"})}))),w&&c.default.createElement(Ko,null,D.current?c.default.createElement(c.default.Fragment,null,"✅ Camera: ",D.current.label," (",D.current.width,"x",D.current.height,")"):"❌ Camera not ready",c.default.createElement("br",null),R.faceNotCentered?"❌":"✅"," Face Centered",c.default.createElement("br",null),R.faceTooClose||R.faceTooFar?"❌":"✅"," Face"," ",R.faceTooClose?"Too Close":R.faceTooFar?"Too Far":"Distance Correct",c.default.createElement("br",null),R.faceLookingAway?"❌":"✅"," Face Looking Forward",c.default.createElement("br",null),R.goodFramesThresholdMet?"✅":"❌"," ",R.goodFramesCount," ","Good Frames",c.default.createElement("br",null),$?"❌":"✅"," Time Remaining:"," ",Math.max(0,u-((new Date).getTime()-(null!=j?j:new Date).getTime())),"ms"),c.default.createElement(si,{onClick:s},"×"))},Qp={frame:null,face:null,requestState:"CAPTURING",requestError:null,imageUrl:null,faceLive:!1,eyeCoveringDetected:!1,maskDetected:!1,headCoveringDetected:!1,phoneDetected:!1,timesLivenessCheckFailed:0},eg=function(e,t){switch(t.type){case"livenessReady":return["CAPTURING","FAILED","ERROR"].includes(e.requestState)?g(g({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"livenessChecking":return g(g({},e),{requestState:"IN_PROGRESS"});case"livenessChecked":var n=t.payload.response,r=n.status,o=r.statusMessage,i=r.errorData,a=n.resultData;if("000"!==r.statusCode)return g(g({},e),{requestState:"ERROR",requestError:new Error("".concat(o,": ").concat(i))});var s="Live Face Detected"===a.verificationResult,l="true"===a.eyeCovering,c="true"===a.faceMask,u="true"===a.headCovering,d="true"===a.cellPhone,h=s&&!l&&!c&&!u,f=h?"PASSED":"FAILED",p=e.timesLivenessCheckFailed;return h?p=0:p+=1,g(g({},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:p});case"livenessCheckFailed":return g(g({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},tg=function(e){var t=e.onCapture,r=e.onSuccess,o=e.onTimeout,i=e.onExit,a=e.timeoutDurationMs,s=void 0===a?15e3:a,l=e.colors,u=void 0===l?{}:l,d=e.verbiage,h=void 0===d?{}:d,f=e.debugMode,p=n.useContext(Ke).checkLiveness,g=n.useReducer(eg,Qp),b=g[0],y=g[1],w=n.useState(null),x=w[0],E=w[1],S=n.useCallback((function(e,n){null==t||t(),y({type:"livenessReady",payload:{frame:e,face:n}})}),[t]),k=b.frame,C=b.face,T="CAPTURED"===b.requestState,A="PASSED"===b.requestState;n.useEffect((function(){k&&C&&T&&(y({type:"livenessChecking"}),m(void 0,void 0,void 0,(function(){var e,t,n,r;return v(this,(function(o){switch(o.label){case 0:return o.trys.push([0,3,,4]),e=Do(k,C),E(e),n=p,[4,Ze(e)];case 1:return[4,n.apply(void 0,[o.sent()])];case 2:return t=o.sent(),y({type:"livenessChecked",payload:{frame:k,face:C,imageUrl:e,response:t}}),[3,4];case 3:return r=o.sent(),y({type:"livenessCheckFailed",payload:{error:r}}),[3,4];case 4:return[2]}}))})))}),[p,C,k,T]),n.useEffect((function(){A&&b.imageUrl&&(null==r||r(b.imageUrl))}),[r,b.imageUrl,A]),n.useEffect((function(){b.timesLivenessCheckFailed>=2&&(null==o||o())}),[o,b.timesLivenessCheckFailed]),Yp(s,o,"PASSED"===b.requestState,"IN_PROGRESS"===b.requestState);var R=vi(h,{guidanceRemoveEyeCoveringsText:"Please remove your eye coverings (sunglasses, eye patch, etc.)...",guidanceRemoveHeadCoveringsText:"Please remove your head coverings (hat, scarf, etc.)...",guidanceRemoveMaskText:"Please remove your mask..."}),I=b.eyeCoveringDetected?R.guidanceRemoveEyeCoveringsText:b.headCoveringDetected?R.guidanceRemoveHeadCoveringsText:b.maskDetected?R.guidanceRemoveMaskText:void 0;return c.default.createElement(c.default.Fragment,null,c.default.createElement(Zp,{onSelfieCaptured:S,onExit:i,timeoutDurationMs:s,guidanceMessage:I,guidanceSatisfied:!I&&void 0,colors:u,verbiage:R,debugMode:f}),x&&c.default.createElement(ui,{imageUrl:x}))},ng=function(e){var t=e.onDismissed,r=e.assets,o=void 0===r?{}:r,i=e.colors,a=void 0===i?{}:i,s=e.verbiage,l=void 0===s?{}:s,u=n.useContext(Jt),d=u.cameraReady,h=u.cameraAccessDenied,f=n.useContext(Vp).ready;o.instructionImageUrl||(o.instructionImageUrl="".concat(Io,"/Selfie-Image-1.png"));var p=vi(l,{headingText:"Use your device camera to capture your face",removeEyeCoveringsText:"Remove Sunglasses & Hat",avoidExcessiveBacklightingText:"Avoid Excessive Backlighting",continueText:"Continue",cameraInitializingText:"Camera initializing...",modelsWarmingUpText:"Models warming up..."}),g=n.useState(!1),m=g[1];return g[0]?c.default.createElement(c.default.Fragment,null):h?c.default.createElement(ki,{assets:o.cameraAccessDenied,colors:a.cameraAccessDenied,verbiage:l.cameraAccessDenied}):c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("div",{style:{flexGrow:0}},c.default.createElement("h3",{style:{marginBottom:18}},p.headingText),c.default.createElement("div",{style:{background:"#ccc",maxWidth:"280px",margin:"0 auto 12px",borderRadius:8,lineHeight:1.5,padding:"12px 24px"}},p.removeEyeCoveringsText,c.default.createElement("br",null),p.avoidExcessiveBacklightingText)),c.default.createElement(ut,null,c.default.createElement("img",{alt:p.headingText,src:o.instructionImageUrl,style:{position:"relative",top:"5%"}})),c.default.createElement(St,{disabled:!d||!f,finished:d&&f,colors:a.continueBtn,onClick:function(){m(!0),null==t||t()}},d&&f?p.continueText:f?p.cameraInitializingText:p.modelsWarmingUpText),c.default.createElement("div",{style:{display:"none"}},c.default.createElement(Ri,null))))},rg=function(e){var t,n,r=e.imageUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,l=e.verbiage,u=void 0===l?{}:l;s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=vi(u,{headingText:"Face liveness has been verified!",retryBtnText:"Retry",doneBtnText:"Done"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",{style:{marginBottom:24}},d.headingText),c.default.createElement(ut,null,c.default.createElement("img",{alt:d.headingText,src:r})),c.default.createElement("div",null,c.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),c.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},og=function(e){var t,n,r,o,i=e.canRetry,a=void 0===i||i,s=e.onRetryClick,l=e.onExitClick,u=e.assets,d=void 0===u?{}:u,h=e.colors,f=void 0===h?{}:h,p=e.verbiage,g=void 0===p?{}:p;d.imageUrl||(d.imageUrl="".concat(Io,"/manual_capture.png")),f.retryBtn||(f.retryBtn={}),(t=f.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=f.retryBtn).textColor||(n.textColor="white"),f.exitBtn||(f.exitBtn={}),(r=f.exitBtn).backgroundColor||(r.backgroundColor="#666"),(o=f.exitBtn).textColor||(o.textColor="white");var m=vi(g,{headingText:"Live face not detected, please try again",retryBtnText:"Retry",exitBtnText:"Exit"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",{style:{marginBottom:24}},m.headingText),c.default.createElement(ut,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:m.headingText,src:d.imageUrl})),c.default.createElement("div",{style:{marginTop:24}},a&&c.default.createElement(St,{onClick:s,colors:f.retryBtn,style:{marginRight:15},finished:!0},m.retryBtnText),c.default.createElement(St,{onClick:l,colors:f.exitBtn,finished:!0},m.exitBtnText))))},ig=function(e){var t=e.onComplete,r=e.onSuccess,o=e.onTimeout,i=e.onExitAfterFailure,a=e.timeoutDurationMs,s=void 0===a?15e3:a,l=e.maxRetries,u=void 0===l?2:l,d=e.skipSuccessScreen,h=void 0!==d&&d,f=e.assets,p=void 0===f?{}:f,g=e.colors,b=void 0===g?{}:g,y=e.verbiage,w=void 0===y?{}:y,x=e.debugMode,E=void 0!==x&&x,S=n.useContext(Ke),k=S.submissionResponse,C=S.setSelfieImage,T=S.logSelfieCaptureAttempt,A=n.useContext(Jt).releaseCameraAccess,R=n.useState(""),I=R[0],_=R[1],D=n.useState(0),F=D[0],M=D[1],L=n.useState("LOADING"),P=L[0],O=L[1],N=n.useRef(),B=n.useRef(),U=n.useRef();n.useEffect((function(){U.current=new Date}),[]),n.useEffect((function(){"CAPTURING"===P&&(N.current=new Date)}),[P]);var $=n.useCallback((function(){B.current=new Date}),[]),j=n.useCallback((function(){var e,t,n;T({autoCapture:"Y",captureTime:(null!==(e=B.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=N.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=U.current)&&void 0!==n?n:new Date).getTime()}),U.current=new Date}),[T]),G=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return O("SUCCESS"),_(e),t=C,[4,Ze(e)];case 1:return t.apply(void 0,[n.sent()]),null==r||r(k),[2]}}))}))}),[r,C,k]),z=n.useCallback((function(){O("FAILED"),null==o||o(k)}),[o,k]),q=n.useState(0),V=q[0],W=q[1],H=n.useCallback((function(){W((function(e){return e+1})),O("LOADING")}),[]),K=n.useCallback((function(){j(),A(),setTimeout((function(){null==t||t(k)}),0)}),[j,t,A,k]),Y=_i(h,"SUCCESS"===P,K);return c.default.createElement(c.default.Fragment,null,"LOADING"!==P&&function(){switch(P){case"CAPTURING":return c.default.createElement(tg,{key:"capture".concat(V),onCapture:$,onSuccess:G,onTimeout:z,onExit:H,timeoutDurationMs:s,colors:b,verbiage:w,debugMode:E});case"SUCCESS":return Y?c.default.createElement(rg,{key:"success",imageUrl:I,colors:b.success,verbiage:w.success,onDoneClick:K,onRetryClick:function(){j(),O("CAPTURING")}}):null;case"FAILED":return c.default.createElement(og,{key:"failure",assets:p.failure,colors:b.failure,verbiage:w.failure,canRetry:u>-1&&F<u,onRetryClick:function(){j(),M((function(e){return e+1})),O("CAPTURING")},onExitClick:function(){A(),setTimeout((function(){null==i||i(k)}),0)}});default:return null}}(),c.default.createElement(ng,{key:V,assets:p.loadingOverlay,colors:b.loadingOverlay,verbiage:w.loadingOverlay,onDismissed:function(){O("CAPTURING")}}))},ag=function(e){var t=e.children,r=n.useState({width:1,height:1}),o=r[1],i=n.useState(1),a=i[0],s=i[1],l=Ft(),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(Mt.Provider,{value:{orientation:"landscape",wrapperWidth:h,wrapperHeight:p,wrapperAspectRatio:g,imageAspectRatio:a,setDimensions:o,wrapperRef:u,onImageLoaded:m}},t)},sg=function(){var e=n.useContext(Ke),t=e.submissionRequest,r=e.submissionResponse,o=n.useState(!1),i=o[0],a=o[1],s=n.useState(!0),l=s[0],u=s[1],d=n.useMemo((function(){var e,n,r,o,i,a,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=lg(s.customerData.idData.idImageFront,200)),(null===(o=null===(r=null==s?void 0:s.customerData)||void 0===r?void 0:r.idData)||void 0===o?void 0:o.idImageBack)&&(s.customerData.idData.idImageBack=lg(s.customerData.idData.idImageBack,200)),(null===(a=null===(i=null==s?void 0:s.customerData)||void 0===i?void 0:i.biometricData)||void 0===a?void 0:a.selfie)&&(s.customerData.biometricData.selfie=lg(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(){a(!i)}},i?"Hide":"Show"," request body"),i&&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 lg(e,t){var n=e.split("").splice(0,t).join("");return n.length<e.length&&(n+="..."),n}var cg=function(e){var t=e.document,r=e.onComplete,o=e.verbiage,i=void 0===o?{}:o,a=n.useState(null),s=a[0],l=a[1],u=vi(i,{headingText:"Additional document capture",nextBtnText:"Next"});return c.default.createElement(lt,null,c.default.createElement(ct,{style:{textAlign:"left"}},c.default.createElement("h3",{style:{margin:"0 0 8px"}},u.headingText,": ",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&&l(n)}})),c.default.createElement("p",{style:{margin:"8px 0"}},c.default.createElement("button",{disabled:!s,onClick:function(e){if(e.preventDefault(),s){var n=new FileReader;n.onloadend=function(){if(n.result){var e=n.result.toString();null==r||r({documentName:t.name,additionalDocument:{name:s.name,fileContent:Qe(e),type:et(e),fileUploadType:"Y",isImageControlData:"N",fieldId:""}})}},n.readAsDataURL(s)}}},u.nextBtnText))))},ug=function(e){var t=e.documents,r=e.onComplete,o=e.verbiage,i=void 0===o?{}:o,a=n.useState([]),s=a[0],l=a[1],u=s.length,d=t[u],h=u>=t.length;return n.useEffect((function(){(null==d?void 0:d.skip)&&m(void 0,void 0,void 0,(function(){var e;return v(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 b(b([],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(cg,{key:u,document:d,verbiage:i,onComplete:function(e){l((function(t){return b(b([],t,!0),[e],!1)}))}})},dg="function"==typeof Symbol&&Symbol.for,hg=dg?Symbol.for("react.element"):60103,fg=dg?Symbol.for("react.portal"):60106,pg=dg?Symbol.for("react.fragment"):60107,gg=dg?Symbol.for("react.strict_mode"):60108,mg=dg?Symbol.for("react.profiler"):60114,vg=dg?Symbol.for("react.provider"):60109,bg=dg?Symbol.for("react.context"):60110,yg=dg?Symbol.for("react.async_mode"):60111,wg=dg?Symbol.for("react.concurrent_mode"):60111,xg=dg?Symbol.for("react.forward_ref"):60112,Eg=dg?Symbol.for("react.suspense"):60113,Sg=dg?Symbol.for("react.suspense_list"):60120,kg=dg?Symbol.for("react.memo"):60115,Cg=dg?Symbol.for("react.lazy"):60116,Tg=dg?Symbol.for("react.block"):60121,Ag=dg?Symbol.for("react.fundamental"):60117,Rg=dg?Symbol.for("react.responder"):60118,Ig=dg?Symbol.for("react.scope"):60119;function _g(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case hg:switch(e=e.type){case yg:case wg:case pg:case mg:case gg:case Eg:return e;default:switch(e=e&&e.$$typeof){case bg:case xg:case Cg:case kg:case vg:return e;default:return t}}case fg:return t}}}function Dg(e){return _g(e)===wg}var Fg={AsyncMode:yg,ConcurrentMode:wg,ContextConsumer:bg,ContextProvider:vg,Element:hg,ForwardRef:xg,Fragment:pg,Lazy:Cg,Memo:kg,Portal:fg,Profiler:mg,StrictMode:gg,Suspense:Eg,isAsyncMode:function(e){return Dg(e)||_g(e)===yg},isConcurrentMode:Dg,isContextConsumer:function(e){return _g(e)===bg},isContextProvider:function(e){return _g(e)===vg},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===hg},isForwardRef:function(e){return _g(e)===xg},isFragment:function(e){return _g(e)===pg},isLazy:function(e){return _g(e)===Cg},isMemo:function(e){return _g(e)===kg},isPortal:function(e){return _g(e)===fg},isProfiler:function(e){return _g(e)===mg},isStrictMode:function(e){return _g(e)===gg},isSuspense:function(e){return _g(e)===Eg},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===pg||e===wg||e===mg||e===gg||e===Eg||e===Sg||"object"==typeof e&&null!==e&&(e.$$typeof===Cg||e.$$typeof===kg||e.$$typeof===vg||e.$$typeof===bg||e.$$typeof===xg||e.$$typeof===Ag||e.$$typeof===Rg||e.$$typeof===Ig||e.$$typeof===Tg)},typeOf:_g};ie((function(e,t){}));ie((function(e){e.exports=Fg}));function Mg(){}function Lg(){}Lg.resetWarningCache=Mg;var Pg=ie((function(e){e.exports=function(){function e(e,t,n,r,o,i){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==i){var a=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 a.name="Invariant Violation",a}}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:Lg,resetWarningCache:Mg};return n.PropTypes=n,n}()}));function Og(e,t,n){this.x=e,this.y=t,this.time=n||(new Date).getTime()}function Ng(e,t,n,r){this.startPoint=e,this.control1=t,this.control2=n,this.endPoint=r}function Bg(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,o,i,a=null,s=0;n||(n={});var l=function(){s=!1===n.leading?0:Date.now(),a=null,i=e.apply(r,o),a||(r=o=null)};return function(){var c=Date.now();s||!1!==n.leading||(s=c);var u=t-(c-s);return r=this,o=arguments,u<=0||u>t?(a&&(clearTimeout(a),a=null),s=c,i=e.apply(r,o),a||(r=o=null)):a||!1===n.trailing||(a=setTimeout(l,u)),i}}(Bg.prototype._strokeUpdate,this.throttle):Bg.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()}Og.prototype.velocityFrom=function(e){return this.time!==e.time?this.distanceTo(e)/(this.time-e.time):1},Og.prototype.distanceTo=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))},Og.prototype.equals=function(e){return this.x===e.x&&this.y===e.y&&this.time===e.time},Ng.prototype.length=function(){for(var e=0,t=void 0,n=void 0,r=0;r<=10;r+=1){var o=r/10,i=this._point(o,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),a=this._point(o,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(r>0){var s=i-t,l=a-n;e+=Math.sqrt(s*s+l*l)}t=i,n=a}return e},Ng.prototype._point=function(e,t,n,r,o){return t*(1-e)*(1-e)*(1-e)+3*n*(1-e)*(1-e)*e+3*r*(1-e)*e*e+o*e*e*e},Bg.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},Bg.prototype.fromDataURL=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=new Image,o=n.ratio||window.devicePixelRatio||1,i=n.width||this._canvas.width/o,a=n.height||this._canvas.height/o;this._reset(),r.src=e,r.onload=function(){t._ctx.drawImage(r,0,0,i,a)},this._isEmpty=!1},Bg.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),o=1;o<n;o++)r[o-1]=arguments[o];return(t=this._canvas).toDataURL.apply(t,[e].concat(r))},Bg.prototype.on=function(){this._handleMouseEvents(),this._handleTouchEvents()},Bg.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)},Bg.prototype.isEmpty=function(){return this._isEmpty},Bg.prototype._strokeBegin=function(e){this._data.push([]),this._reset(),this._strokeUpdate(e),"function"==typeof this.onBegin&&this.onBegin(e)},Bg.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],o=r&&t.distanceTo(r)<this.minDistance;if(!r||!o){var i=this._addPoint(t),a=i.curve,s=i.widths;a&&s&&this._drawCurve(a,s.start,s.end),this._data[this._data.length-1].push({x:t.x,y:t.y,time:t.time,color:this.penColor})}},Bg.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)},Bg.prototype._handleMouseEvents=function(){this._mouseButtonDown=!1,this._canvas.addEventListener("mousedown",this._handleMouseDown),this._canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)},Bg.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)},Bg.prototype._reset=function(){this.points=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor},Bg.prototype._createPoint=function(e,t,n){var r=this._canvas.getBoundingClientRect();return new Og(e-r.left,t-r.top,n||(new Date).getTime())},Bg.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 o=new Ng(t[1],r,n.c1,t[2]),i=this._calculateCurveWidths(o);return t.shift(),{curve:o,widths:i}}return{}},Bg.prototype._calculateCurveControlPoints=function(e,t,n){var r=e.x-t.x,o=e.y-t.y,i=t.x-n.x,a=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+o*o),h=Math.sqrt(i*i+a*a),f=h/(d+h),p=t.x-(c+(s-c)*f),g=t.y-(u+(l-u)*f);return{c1:new Og(s+p,l+g),c2:new Og(c+p,u+g)}},Bg.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},Bg.prototype._strokeWidth=function(e){return Math.max(this.maxWidth/(e+1),this.minWidth)},Bg.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},Bg.prototype._drawCurve=function(e,t,n){var r=this._ctx,o=n-t,i=Math.floor(e.length());r.beginPath();for(var a=0;a<i;a+=1){var s=a/i,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*o)}r.closePath(),r.fill()},Bg.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()},Bg.prototype._fromData=function(e,t,n){for(var r=0;r<e.length;r+=1){var o=e[r];if(o.length>1)for(var i=0;i<o.length;i+=1){var a=o[i],s=new Og(a.x,a.y,a.time),l=a.color;if(0===i)this.penColor=l,this._reset(),this._addPoint(s);else if(i!==o.length-1){var c=this._addPoint(s),u=c.curve,d=c.widths;u&&d&&t(u,d,l)}}else this._reset(),n(o[0])}},Bg.prototype._toSVG=function(){var e=this,t=this._data,n=this._canvas,r=Math.max(window.devicePixelRatio||1,1),o=n.width/r,i=n.height/r,a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttributeNS(null,"width",n.width),a.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 o="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",o),r.setAttribute("stroke-width",(2.25*t.end).toFixed(3)),r.setAttribute("stroke",n),r.setAttribute("fill","none"),r.setAttribute("stroke-linecap","round"),a.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),a.appendChild(n)}));var s='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 '+o+" "+i+'" width="'+o+'" height="'+i+'">',l=a.innerHTML;if(void 0===l){var c=document.createElement("dummy"),u=a.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>")},Bg.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},Bg.prototype.toData=function(){return this._data};var Ug=Object.freeze({__proto__:null,default:Bg}),$g=ie((function(e,t){e.exports=function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.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,o=t.getImageData(0,0,n,r).data,s=i(!0,n,r,o),l=i(!1,n,r,o),c=a(!0,n,r,o),u=a(!1,n,r,o)-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 o(e,t,n,o){return r(e,t,n,o).alpha}function i(e,t,n,r){for(var i=e?1:-1,a=e?0:n-1;e?a<n:a>-1;a+=i)for(var s=0;s<t;s++)if(o(s,a,t,r))return a;return null}function a(e,t,n,r){for(var i=e?1:-1,a=e?0:t-1;e?a<t:a>-1;a+=i)for(var s=0;s<n;s++)if(o(a,s,t,r))return a;return null}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n}])}));oe($g);var jg=function(e){return e&&e.default||e}(Ug),Gg=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 o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.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 o(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 i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(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;i(this,t);for(var s=arguments.length,l=Array(s),c=0;c<s;c++)l[c]=arguments[c];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),r._sigPad=null,r._excludeOurProps=function(){var e=r.props;return o(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 o=r._canvas,i=Math.max(window.devicePixelRatio||1,1);t||(o.width=o.offsetWidth*i),n||(o.height=o.offsetHeight*i),o.getContext("2d").scale(i,i),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()},a(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}])}(Pg,c.default,jg,$g)})),zg=oe(Gg);function qg(e){var t,n=null!==(t=e.toDataURL())&&void 0!==t?t:null,r={clickX_simple:[],clickY_simple:[],time_simple:[],pressure:"",fileContent:n?Qe(n):""};return e.toData().forEach((function(e){var t=[],n=[],o=[];e.forEach((function(e){t.push(e.x),n.push(e.y),o.push(new Date(e.time).toString())})),r.clickX_simple.push(t),r.clickY_simple.push(n),r.time_simple.push(o)})),r}var Vg,Wg,Hg,Kg,Yg,Xg=h.default.div(Vg||(Vg=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"]))),Jg=h.default.div(Wg||(Wg=y(["\n position: relative;\n background: rgba(255, 255, 255, 0.5);\n border-radius: 16px;\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"],["\n position: relative;\n background: rgba(255, 255, 255, 0.5);\n border-radius: 16px;\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"]))),Zg=h.default.div(Hg||(Hg=y(["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"],["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"]))),Qg=h.default.div(Kg||(Kg=y(["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #e5e5f7;\n opacity: 0.8;\n background-image: radial-gradient(#444cf7 0.5px, transparent 0.5px),\n radial-gradient(#444cf7 0.5px, #e5e5f7 0.5px);\n background-size: 20px 20px;\n background-position: 0 0, 10px 10px;\n"],["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #e5e5f7;\n opacity: 0.8;\n background-image: radial-gradient(#444cf7 0.5px, transparent 0.5px),\n radial-gradient(#444cf7 0.5px, #e5e5f7 0.5px);\n background-size: 20px 20px;\n background-position: 0 0, 10px 10px;\n"]))),em=function(e){var t=e.onAccept,r=e.verbiage,o=void 0===r?{}:r,i=Ft(),a=i.ref,s=i.width,l=i.height,u=n.useRef(null),d=vi(o,{headingText:"Please sign the box below",acceptBtnText:"Accept",clearBtnText:"Clear"});return c.default.createElement(rt,null,c.default.createElement(Qg,null,c.default.createElement(Hp,{$top:"5vh"},c.default.createElement(Kp,null,d.headingText)),c.default.createElement(Xg,null,c.default.createElement(Jg,{ref:a},c.default.createElement(zg,{ref:u,canvasProps:{width:s,height:l}})),c.default.createElement(Zg,null,c.default.createElement("button",{onClick:function(e){var t;e.preventDefault(),null===(t=u.current)||void 0===t||t.clear()}},d.clearBtnText),c.default.createElement("button",{style:{marginLeft:"auto"},onClick:function(e){if(e.preventDefault(),u.current){var n=qg(u.current);null==t||t(n,u.current.toDataURL())}}},d.acceptBtnText)))))},tm=function(e){var t,r,o=e.onVideoCaptured,i=e.onFaceNotDetected,a=e.onExit,s=e.colors,l=void 0===s?{}:s,u=e.verbiage,d=void 0===u?{}:u,h=e.debugMode,f=void 0!==h&&h,p=n.useContext(Jt),g=p.cameraRef,y=p.videoRef,w=Ft(),x=w.ref,E=w.width,S=w.height,k=n.useRef(null),C=n.useRef(null),T=n.useRef([]),A=n.useState(null),R=A[0],I=A[1],_=n.useContext(Vp).onPredictionMade,D=function(e){var t=n.useRef(null),r=n.useRef([]),o=n.useState(null),i=o[0],a=o[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=[],a(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:i}}(g.current),F=D.isRecording,M=D.startRecording,L=D.stopRecording,P=D.videoUrl,O=n.useState(null),N=O[0],B=O[1],U=n.useState(null),$=U[0],j=U[1],G=n.useState(null),z=G[0],q=G[1];l.guidanceMessageBackgroundColor||(l.guidanceMessageBackgroundColor="#ccc"),l.guidanceMessageTextColor||(l.guidanceMessageTextColor="black");var V=vi(d,{guidanceMessageText:"Please sign the box below",acceptBtnText:"Accept",clearBtnText:"Clear"}),W=n.useRef(null);n.useEffect((function(){setTimeout((function(){if(!F&&!P&&W.current){M();var e=W.current.captureStream(25);C.current=new MediaRecorder(e,{}),C.current.start(),C.current.ondataavailable=function(e){var t;T.current.push(e.data),"recording"===(null===(t=C.current)||void 0===t?void 0:t.state)&&C.current.stop()},C.current.onstop=function(){var e=new Blob(T.current,{type:"video/mp4"});q(e);var t=URL.createObjectURL(e);I(t)}}}),100)}),[F,M,P]),n.useEffect((function(){z&&N&&$&&(null==o||o(z,N,$))}),[o,N,$,z]);var H=n.useRef(0);n.useEffect((function(){var e;if(k.current&&y.current&&W.current&&g.current&&F){var t=[g.current.width,g.current.height],n=t[0],r=t[1],o=window.innerWidth<window.innerHeight;o&&n>r&&(n=(e=[r,n])[0],r=e[1]),W.current.width=n,W.current.height=r;var i=W.current.getContext("2d");if(i)return H.current=requestAnimationFrame((function e(){return m(this,void 0,void 0,(function(){var t;return v(this,(function(a){return k.current&&y.current&&W.current?(t=[n*(o?.02:.15),r*(o?.15:.25),n*(o?.96:.7),r*(o?.7:.5)],i.drawImage(y.current,0,0,n,r),i.beginPath(),i.fillStyle="rgba(255,255,255,0.5)",i.roundRect.apply(i,b(b([],t,!1),[16],!1)),i.fill(),i.drawImage.apply(i,b([k.current.getCanvas()],t,!1)),H.current=requestAnimationFrame(e),[2]):(cancelAnimationFrame(H.current),[2])}))}))})),function(){cancelAnimationFrame(H.current)}}}),[g,F,i,y]);var K=n.useState(0),Y=K[0],X=K[1];return n.useEffect((function(){_((function(e){X((function(t){return 0===e.length?t+1:0}))}))}),[_]),n.useEffect((function(){Y>=2&&(null==i||i())}),[Y,i]),!F&&P?c.default.createElement(c.default.Fragment,null,R&&c.default.createElement("video",{src:R,controls:!0,width:"100%"}),$&&c.default.createElement("img",{src:$,alt:"signature"}),N&&c.default.createElement("textarea",{readOnly:!0,style:{width:"100%",height:500},value:JSON.stringify(N,null,2)})):c.default.createElement(rt,{className:"flex"},c.default.createElement(Ri,null),V.guidanceMessageText&&c.default.createElement(Hp,{$top:"5vh"},c.default.createElement(Kp,{$background:l.guidanceMessageBackgroundColor,$textColor:l.guidanceMessageTextColor},V.guidanceMessageText)),c.default.createElement(Xg,null,c.default.createElement(Jg,{ref:x},c.default.createElement(zg,{ref:k,canvasProps:{width:E,height:S}})),c.default.createElement(Zg,null,c.default.createElement("button",{onClick:function(e){var t;e.preventDefault(),null===(t=k.current)||void 0===t||t.clear()}},V.clearBtnText),c.default.createElement("button",{style:{marginLeft:"auto"},onClick:function(e){var t;if(e.preventDefault(),k.current){var n=qg(k.current);B(n),j(k.current.toDataURL()),L(),null===(t=C.current)||void 0===t||t.stop()}}},V.acceptBtnText))),f&&c.default.createElement(Ko,null,"Video: ",null===(t=g.current)||void 0===t?void 0:t.width,"x",null===(r=g.current)||void 0===r?void 0:r.height),c.default.createElement(si,{onClick:a},"×"),c.default.createElement("div",{style:{display:"none"}},c.default.createElement("canvas",{ref:W})))},nm=function(e){var t=e.assets,n=e.verbiage;return c.default.createElement(ng,{assets:void 0===t?{}:t,verbiage:void 0===n?{}:n,onDismissed:e.onDismissed})},rm=function(e){var t,n,r=e.videoUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,l=e.verbiage,u=void 0===l?{}:l;s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=vi(u,{headingText:"Video signature has been successfully captured!",retryBtnText:"Retry",doneBtnText:"Done"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h1",null,d.headingText),c.default.createElement(ut,null,c.default.createElement(om,{src:r,poster:r+"#t=0.1",controls:!0,preload:"metadata",autoPlay:!0})),c.default.createElement("div",null,c.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),c.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},om=h.default.video(Yg||(Yg=y(["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"],["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"]))),im=function(e){var t=e.onComplete,r=e.onVideoCaptured,o=e.onRetryClicked,i=e.skipSuccessScreen,a=void 0!==i&&i,s=e.assets,l=void 0===s?{}:s,u=e.colors,d=void 0===u?{}:u,h=e.verbiage,f=void 0===h?{}:h,p=e.debugMode,g=void 0!==p&&p,b=n.useContext(Ke),y=b.selfieImage,w=b.signatureVideo,x=b.setSelfieImage,E=b.setSignatureData,S=b.setSignatureVideo,k=b.logSelfieCaptureAttempt,C=n.useState("LOADING"),T=C[0],A=C[1],R=n.useRef(),I=n.useRef(),_=n.useRef();n.useEffect((function(){R.current=new Date}),[]),n.useEffect((function(){"CHECKING_LIVENESS"===T&&(I.current=new Date)}),[T]);var D=n.useCallback((function(){var e,t,n;k({autoCapture:"Y",captureTime:(null!==(e=_.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=I.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=R.current)&&void 0!==n?n:new Date).getTime()}),R.current=new Date}),[k]),F=n.useCallback((function(){A("CHECKING_LIVENESS")}),[]),M=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return A("CAPTURING_SIGNATURE"),D(),y?[3,2]:(t=x,[4,Ze(e)]);case 1:t.apply(void 0,[n.sent()]),n.label=2;case 2:return[2]}}))}))}),[D,y,x]),L=n.useCallback((function(e,t,n){E(t),S(URL.createObjectURL(e)),A("SUCCESS"),null==r||r(e,t,n)}),[r,E,S]),P=n.useCallback((function(){A("CHECKING_LIVENESS")}),[]),O=n.useState(0),N=O[0],B=O[1],U=n.useCallback((function(){B((function(e){return e+1})),A("LOADING")}),[]),$=n.useCallback((function(){null==o||o(),U()}),[U,o]),j=_i(a,"SUCCESS"===T,t);return c.default.createElement(Wp,{throttleMs:"CAPTURING_SIGNATURE"===T?250:0},"LOADING"!==T&&function(){switch(T){case"CHECKING_LIVENESS":return c.default.createElement(tg,{onSuccess:M,onExit:U,colors:d.faceLiveness,verbiage:f.faceLiveness,debugMode:g});case"CAPTURING_SIGNATURE":return c.default.createElement(tm,{onVideoCaptured:L,onFaceNotDetected:P,onExit:U,colors:d,verbiage:f,debugMode:g});case"SUCCESS":if(!j)return;return c.default.createElement(rm,{videoUrl:null!=w?w:"",onDoneClick:t,onRetryClick:$,colors:d.success,verbiage:f.success});default:return null}}(),c.default.createElement(nm,{key:N,onDismissed:F,assets:l.loadingOverlay,verbiage:f.loadingOverlay}))},am=function(e){var t,r,o,i,a,s=e.checks,l=e.idCaptureProps,u=void 0===l?{}:l,d=e.faceLivenessProps,h=void 0===d?{}:d,f=e.signatureCaptureProps,p=void 0===f?{}:f,m=e.videoSignatureCaptureProps,v=void 0===m?{}:m,y=e.additionalDocumentCaptureProps,w=e.captureSignature,x=void 0!==w&&w,E=e.captureSignatureVideo,S=void 0!==E&&E,k=e.debugMode,C=void 0!==k&&k,T=n.useContext(Ke),A=T.submit,R=T.submissionStatus,I=T.setSignatureData,_=T.setAdditionalDocuments,D=n.useState(0),F=D[0],M=D[1],L=n.useMemo((function(){var e,t,n=b([],s,!0);if(x&&S)throw new Error("captureSignature and captureSignatureVideo cannot be used together");return x&&n.push("SignatureCapture"),S&&(n.push("VideoSignatureCapture"),n.includes("FaceLiveness")&&n.splice(n.indexOf("FaceLiveness"),1)),null!==(t=null===(e=null==y?void 0:y.documents)||void 0===e?void 0:e.length)&&void 0!==t&&t&&n.push("AdditionalDocumentCapture"),n}),[null===(t=null==y?void 0:y.documents)||void 0===t?void 0:t.length,x,S,s]),P=L[F],O=F>=L.length;n.useEffect((function(){"SignatureCapture"===P&&"function"==typeof x?x().then((function(e){e||M((function(e){return e+1}))})):"VideoSignatureCapture"===P&&"function"==typeof S&&S().then((function(e){e||M((function(e){return e+1}))}))}),[x,S,P]),n.useEffect((function(){O&&A()}),[O,A]);var N=u.onSuccess,B=n.useCallback((function(e){null==N||N(e),M((function(e){return e+1}))}),[N]),U=h.onComplete,$=n.useCallback((function(e){null==U||U(e),M((function(e){return e+1}))}),[U]),j=n.useCallback((function(e){I(e),M((function(e){return e+1}))}),[I]),G=v.onComplete,z=n.useCallback((function(){null==G||G(),M((function(e){return e+1}))}),[G]),q=n.useState(0),V=q[0],W=q[1],H=v.onRetryClicked,K=n.useCallback((function(){null==H||H(),W((function(e){return e+1}))}),[H]),Y=null==y?void 0:y.onComplete,X=n.useCallback((function(e){_(e),null==Y||Y(e),M((function(e){return e+1}))}),[Y,_]),J=n.useMemo((function(){var e;return null!==(e=null==y?void 0:y.documents)&&void 0!==e?e:[]}),[null==y?void 0:y.documents]);if(O)switch(R){case qe.SUBMITTING:return c.default.createElement(rt,{className:"flex"},c.default.createElement(li,null));case qe.SUBMITTED:return c.default.createElement(sg,null);case qe.FAILED:return c.default.createElement(c.default.Fragment,null,"Submission failed!");default:return c.default.createElement(c.default.Fragment,null,"Complete!!")}switch(L[F]){case"IdCapture":return c.default.createElement(No,{documentDetectionModelUrl:null!==(o=null===(r=u.assets)||void 0===r?void 0:r.documentDetectionModelUrl)&&void 0!==o?o:"",focusModelUrl:null!==(a=null===(i=u.assets)||void 0===i?void 0:i.focusModelUrl)&&void 0!==a?a:"",logPredictions:C},c.default.createElement(Zt,{key:"IdCaptureCamera"},c.default.createElement(ag,null,c.default.createElement(Mi,g({},u,{onSuccess:B})))));case"FaceLiveness":return c.default.createElement(Zt,{key:"FaceLivenessCamera",preferFrontFacingCamera:!0,preferContinuityCamera:!1},c.default.createElement(Wp,null,c.default.createElement(ig,g({},h,{onComplete:$}))));case"SignatureCapture":return c.default.createElement(em,g({},p,{onAccept:j}));case"VideoSignatureCapture":return c.default.createElement(Zt,{key:"SignatureKycCamera-".concat(V),preferContinuityCamera:!1,preferFrontFacingCamera:!0},c.default.createElement(im,g({},v,{onComplete:z,onRetryClicked:K})));case"AdditionalDocumentCapture":return c.default.createElement(ug,g({},y,{documents:J,onComplete:X}));default:return c.default.createElement(c.default.Fragment,null)}},sm=function(e){var t=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,l=e.manualReviewRequired,u=e.verifyIdWithExternalDatabases,d=e.personalData,h=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,m=e.idAutoCaptureEnabled,v=void 0===m||m,b=e.idCardAutoCaptureScoreThreshold,y=void 0===b?.8:b,w=e.passportAutoCaptureScoreThreshold,x=void 0===w?.8:w,E=e.idCardFocusScoreThreshold,S=void 0===E?.3:E,k=e.passportFocusScoreThreshold,C=void 0===k?.3:k,T=e.skipSuccessScreen,A=void 0!==T&&T,R=e.onBeforeSubmit,I=e.onComplete,_=e.onApproved,D=e.onDenied,F=e.assets,M=void 0===F?{}:F,L=e.colors,P=void 0===L?{}:L,O=e.verbiage,N=void 0===O?{}:O,B=e.captureSignature,U=void 0!==B&&B,$=e.captureSignatureVideo,j=void 0!==$&&$,G=e.captureAdditionalDocuments,z=void 0===G?[]:G,q=e.geolocationEnabled,V=void 0===q||q,W=e.geolocationRequired,H=void 0!==W&&W,K=e.debugMode,Y=void 0!==K&&K;gi(void 0===t?"auto":t);var X=n.useMemo((function(){return{autoCaptureEnabled:v,idCardAutoCaptureScoreThreshold:y,passportAutoCaptureScoreThreshold:x,mrzDetectionScoreThreshold:.5,idCardFocusScoreThreshold:S,passportFocusScoreThreshold:C,barcodeScanningEnabled:!1,skipSuccessScreen:A,assets:M,colors:P,verbiage:N,debugMode:Y}}),[M,P,Y,v,y,S,x,C,A,N]),J=n.useMemo((function(){return{documents:z,verbiage:null==N?void 0:N.additionalDocumentCapture}}),[z,null==N?void 0:N.additionalDocumentCapture]),Z=n.useMemo((function(){return{verbiage:null==N?void 0:N.signatureCapture}}),[null==N?void 0:N.signatureCapture]),Q=n.useMemo((function(){return{skipSuccessScreen:A,colors:null==P?void 0:P.videoSignatureCapture,verbiage:null==N?void 0:N.videoSignatureCapture,debugMode:Y}}),[null==P?void 0:P.videoSignatureCapture,Y,A,null==N?void 0:N.videoSignatureCapture]),ee=n.useCallback((function(e){null==I||I(e),"Approved"===e.resultData.verificationResult?null==_||_(e):null==D||D(e)}),[_,I,D]);return c.default.createElement(Rt,{action:ze.VALIDATE,environment:i,url:a,token:r,companyId:s,manualReviewRequired:l,verifyIdWithExternalDatabases:u,personalData:d,cardData:h,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,onBeforeSubmit:R,onResponseReceived:ee,geolocationEnabled:V,geolocationRequired:H},c.default.createElement(am,{checks:n.useMemo((function(){return["IdCapture"]}),[]),idCaptureProps:X,signatureCaptureProps:Z,videoSignatureCaptureProps:Q,additionalDocumentCaptureProps:J,captureSignature:U,captureSignatureVideo:j,debugMode:Y}))},lm=function(e){var t=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,l=e.webhooksEnabled,u=e.webhooksClientTraceId,d=e.webhooksStripSpecialCharacters,h=e.timeoutDurationMs,f=void 0===h?15e3:h,p=e.skipSuccessScreen,g=void 0!==p&&p,m=e.onBeforeSubmit,v=e.onComplete,b=e.onApproved,y=e.onDenied,w=e.onExitAfterFailure,x=e.assets,E=e.colors,S=e.verbiage,k=e.geolocationEnabled,C=void 0===k||k,T=e.geolocationRequired,A=void 0!==T&&T,R=e.debugMode,I=void 0!==R&&R;gi(void 0===t?"auto":t);var _=n.useMemo((function(){return{timeoutDurationMs:f,skipSuccessScreen:g,onComplete:v,onSuccess:b,onTimeout:y,onExitAfterFailure:w,assets:x,colors:E,verbiage:S,debugMode:I}}),[x,E,I,b,v,y,w,g,f,S]);return c.default.createElement(Rt,{action:ze.NONE,environment:i,url:a,token:r,companyId:s,webhooksEnabled:l,webhooksClientTraceId:u,webhooksStripSpecialCharacters:d,onBeforeSubmit:m,geolocationEnabled:C,geolocationRequired:A},c.default.createElement(am,{checks:n.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:_,debugMode:I}))},cm=function(e){var t=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,l=e.manualReviewRequired,u=e.verifyIdWithExternalDatabases,d=e.personalData,h=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,m=e.idAutoCaptureEnabled,v=void 0===m||m,b=e.idCardAutoCaptureScoreThreshold,y=void 0===b?.8:b,w=e.mrzDetectionScoreThreshold,x=void 0===w?.5:w,E=e.passportAutoCaptureScoreThreshold,S=void 0===E?.8:E,k=e.idCardFocusScoreThreshold,C=void 0===k?.3:k,T=e.passportFocusScoreThreshold,A=void 0===T?.3:T,R=e.faceLivenessTimeoutDurationMs,I=void 0===R?15e3:R,_=e.skipSuccessScreen,D=void 0!==_&&_,F=e.onBeforeSubmit,M=e.onComplete,L=e.onApproved,P=e.onDenied,O=e.onExitAfterFailure,N=e.captureSignature,B=void 0!==N&&N,U=e.captureSignatureVideo,$=void 0!==U&&U,j=e.captureAdditionalDocuments,G=void 0===j?[]:j,z=e.assets,q=void 0===z?{}:z,V=e.colors,W=void 0===V?{}:V,H=e.verbiage,K=void 0===H?{}:H,Y=e.geolocationEnabled,X=void 0===Y||Y,J=e.geolocationRequired,Z=void 0!==J&&J,Q=e.debugMode,ee=void 0!==Q&&Q;gi(void 0===t?"auto":t);var te=n.useMemo((function(){return{assets:q.idCapture,colors:W.idCapture,verbiage:K.idCapture,autoCaptureEnabled:v,idCardAutoCaptureScoreThreshold:y,passportAutoCaptureScoreThreshold:S,mrzDetectionScoreThreshold:x,idCardFocusScoreThreshold:C,passportFocusScoreThreshold:A,skipSuccessScreen:D,debugMode:ee}}),[q.idCapture,W.idCapture,ee,v,y,C,x,S,A,D,K.idCapture]),ne=n.useMemo((function(){return{timeoutDurationMs:I,onTimeout:P,onExitAfterFailure:O,skipSuccessScreen:D,assets:q.faceLiveness,colors:W.faceLiveness,verbiage:K.faceLiveness,debugMode:ee}}),[q.faceLiveness,W.faceLiveness,ee,I,P,O,D,K.faceLiveness]),re=n.useMemo((function(){return{verbiage:K.signatureCapture}}),[null==K?void 0:K.signatureCapture]),oe=n.useMemo((function(){return{skipSuccessScreen:D,colors:null==W?void 0:W.videoSignatureCapture,verbiage:null==K?void 0:K.videoSignatureCapture,debugMode:ee}}),[null==W?void 0:W.videoSignatureCapture,ee,D,null==K?void 0:K.videoSignatureCapture]),ie=n.useMemo((function(){return{documents:G,verbiage:null==K?void 0:K.additionalDocumentCapture}}),[G,null==K?void 0:K.additionalDocumentCapture]),ae=n.useCallback((function(e){null==M||M(e),"Approved"===e.resultData.verificationResult?null==L||L(e):null==P||P(e)}),[L,M,P]);return c.default.createElement(Rt,{action:ze.VALIDATE,environment:i,url:a,token:r,companyId:s,manualReviewRequired:l,verifyIdWithExternalDatabases:u,personalData:d,cardData:h,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,onBeforeSubmit:F,onResponseReceived:ae,geolocationEnabled:X,geolocationRequired:Z},c.default.createElement(am,{checks:n.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:te,faceLivenessProps:ne,signatureCaptureProps:re,videoSignatureCaptureProps:oe,additionalDocumentCaptureProps:ie,captureSignature:B,captureSignatureVideo:$,debugMode:ee}))},um=function(e){var t=e.enrollmentId,r=e.lang,o=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,s=e.submissionUrl,l=e.companyId,u=e.manualReviewRequired,d=e.verifyIdWithExternalDatabases,h=e.personalData,f=e.cardData,p=e.deduplicationEnabled,g=e.deduplicationSynchronous,m=e.webhooksEnabled,v=e.webhooksClientTraceId,b=e.webhooksStripSpecialCharacters,y=e.idAutoCaptureEnabled,w=void 0===y||y,x=e.idCardAutoCaptureScoreThreshold,E=void 0===x?.8:x,S=e.mrzDetectionScoreThreshold,k=void 0===S?.5:S,C=e.passportAutoCaptureScoreThreshold,T=void 0===C?.8:C,A=e.idCardFocusScoreThreshold,R=void 0===A?.3:A,I=e.passportFocusScoreThreshold,_=void 0===I?.3:I,D=e.faceLivenessTimeoutDurationMs,F=void 0===D?15e3:D,M=e.skipSuccessScreen,L=void 0!==M&&M,P=e.onBeforeSubmit,O=e.onComplete,N=e.onEnrolled,B=e.onDenied,U=e.onExitAfterFailure,$=e.captureAdditionalDocuments,j=void 0===$?[]:$,G=e.captureSignature,z=void 0!==G&&G,q=e.captureSignatureVideo,V=void 0!==q&&q,W=e.assets,H=void 0===W?{}:W,K=e.colors,Y=void 0===K?{}:K,X=e.verbiage,J=void 0===X?{}:X,Z=e.geolocationEnabled,Q=void 0===Z||Z,ee=e.geolocationRequired,te=void 0!==ee&&ee,ne=e.debugMode,re=void 0!==ne&&ne;gi(void 0===r?"auto":r);var oe=n.useMemo((function(){return{assets:H.idCapture,colors:Y.idCapture,verbiage:J.idCapture,autoCaptureEnabled:w,idCardAutoCaptureScoreThreshold:E,passportAutoCaptureScoreThreshold:T,mrzDetectionScoreThreshold:k,idCardFocusScoreThreshold:R,passportFocusScoreThreshold:_,skipSuccessScreen:L,debugMode:re}}),[H.idCapture,Y.idCapture,re,w,E,R,k,T,_,L,J.idCapture]),ie=n.useMemo((function(){return{onExitAfterFailure:U,timeoutDurationMs:F,skipSuccessScreen:L,assets:H.faceLiveness,colors:Y.faceLiveness,verbiage:J.faceLiveness,debugMode:re}}),[H.faceLiveness,Y.faceLiveness,re,F,U,L,J.faceLiveness]),ae=n.useMemo((function(){return{documents:j,verbiage:J.additionalDocumentCapture}}),[j,J.additionalDocumentCapture]),se=n.useMemo((function(){return{verbiage:null==J?void 0:J.signatureCapture}}),[null==J?void 0:J.signatureCapture]),le=n.useMemo((function(){return{skipSuccessScreen:L,colors:null==Y?void 0:Y.videoSignatureCapture,verbiage:null==J?void 0:J.videoSignatureCapture,debugMode:re}}),[null==Y?void 0:Y.videoSignatureCapture,re,L,null==J?void 0:J.videoSignatureCapture]),ce=n.useCallback((function(e){null==O||O(e),"Customer Onboarded"===e.resultData.verificationResult?null==N||N(e):null==B||B(e)}),[N,O,B]);return c.default.createElement(Rt,{action:ze.ENROLL,environment:a,url:s,token:o,companyId:l,enrollmentId:t,manualReviewRequired:u,verifyIdWithExternalDatabases:d,personalData:h,cardData:f,deduplicationEnabled:p,deduplicationSynchronous:g,webhooksEnabled:m,webhooksClientTraceId:v,webhooksStripSpecialCharacters:b,onBeforeSubmit:P,onResponseReceived:ce,geolocationEnabled:Q,geolocationRequired:te},c.default.createElement(am,{checks:n.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:oe,faceLivenessProps:ie,additionalDocumentCaptureProps:ae,signatureCaptureProps:se,videoSignatureCaptureProps:le,captureSignature:z,captureSignatureVideo:V,debugMode:re}))},dm={frame:null,face:null,imageUrl:null,requestState:"CAPTURING",requestError:null,unverifiedTimes:0},hm=function(e,t){switch(t.type){case"verificationReady":return["CAPTURING","ERROR"].includes(e.requestState)?g(g({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"verifying":return g(g({},e),{requestState:"VERIFYING",imageUrl:t.payload.imageUrl});case"verificationCompleted":var n=t.payload.response,r=n.status,o=r.statusMessage,i=r.errorData,a=n.resultData;if("000"!==r.statusCode)return g(g({},e),{requestState:"ERROR",requestError:new Error("".concat(o,": ").concat(i))});var s=e.requestState,l=e.unverifiedTimes;return"00"===a.verificationResultCode?s="VERIFIED":l<0?(s="CAPTURING",l+=1):s="REJECTED",g(g({},e),{requestState:s,unverifiedTimes:l});case"verificationFailed":return g(g({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},fm=function(e){var t=e.onCustomerMatched,r=e.onCustomerNotMatched,o=e.onCaptureGuidanceTimeout,i=e.onExit,a=e.captureGuidanceTimeoutDurationMs,s=e.colors,l=void 0===s?{}:s,u=e.verbiage,d=void 0===u?{}:u,h=e.debugMode,f=void 0!==h&&h,p=n.useReducer(hm,dm),g=p[0],b=p[1],y=g.frame,w=g.face,x=n.useContext(Ke),E=x.submit,S=x.submissionResponse,k=x.selfieImage,C=x.setSelfieImage,T=n.useState(null),A=T[0],R=T[1],I=n.useCallback((function(e,t){b({type:"verificationReady",payload:{frame:e,face:t}})}),[]),_="CAPTURED"===g.requestState;return n.useEffect((function(){if(y&&w){var e=Do(y,w);R(e),Ze(e).then((function(e){C(e)}))}}),[w,y,C]),n.useEffect((function(){_&&k&&m(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),b({type:"verifying",payload:{imageUrl:k}}),[4,E()];case 1:if(!(e=n.sent()))throw new Error("submission failed!");return b({type:"verificationCompleted",payload:{response:e}}),[3,3];case 2:return t=n.sent(),b({type:"verificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[_,t,r,k,g.requestState,E]),n.useEffect((function(){S&&("VERIFIED"===g.requestState?null==t||t(S):"REJECTED"===g.requestState&&(null==r||r(S)))}),[t,r,g.requestState,S]),Yp(a,o,["VERIFIED","REJECTED"].includes(g.requestState),"VERIFYING"===g.requestState),c.default.createElement(c.default.Fragment,null,c.default.createElement(Zp,{onSelfieCaptured:I,onExit:i,timeoutDurationMs:a,colors:l,verbiage:d,debugMode:f}),A&&c.default.createElement(ui,{imageUrl:A}))},pm=function(e){var t,n,r=e.imageUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,l=e.verbiage,u=void 0===l?{}:l;r||(r="".concat(Io,"/Selfie-Image-1.png")),s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=vi(u,{headingText:"Customer has been verified!",retryBtnText:"Retry",doneBtnText:"Done"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",{style:{marginBottom:24}},d.headingText),c.default.createElement(ut,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:d.headingText,src:r})),c.default.createElement("div",{style:{marginTop:24}},c.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),c.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},gm=function(e){var t,n,r,o,i=e.canRetry,a=void 0===i||i,s=e.onRetryClick,l=e.onExitClick,u=e.assets,d=void 0===u?{}:u,h=e.colors,f=void 0===h?{}:h,p=e.verbiage,g=void 0===p?{}:p;d.imageUrl||(d.imageUrl="".concat(Io,"/manual_capture.png")),f.retryBtn||(f.retryBtn={}),(t=f.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=f.retryBtn).textColor||(n.textColor="white"),f.exitBtn||(f.exitBtn={}),(r=f.exitBtn).backgroundColor||(r.backgroundColor="#666"),(o=f.exitBtn).textColor||(o.textColor="white");var m=vi(g,{headingText:"Customer not verified",retryBtnText:"Retry",exitBtnText:"Exit"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",{style:{marginBottom:24}},m.headingText),c.default.createElement(ut,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:m.headingText,src:d.imageUrl})),c.default.createElement("div",{style:{marginTop:24}},a&&c.default.createElement(St,{onClick:s,colors:f.retryBtn,style:{marginRight:15},finished:!0},m.retryBtnText),c.default.createElement(St,{onClick:l,colors:f.exitBtn,finished:!0},m.exitBtnText))))},mm=function(e){var t=e.onComplete,r=e.onCustomerMatched,o=e.onCustomerNotMatched,i=e.onExitAfterFailure,a=e.onCaptureGuidanceTimeout,s=e.captureGuidanceTimeoutDurationMs,l=e.skipSuccessScreen,u=void 0!==l&&l,d=e.assets,h=void 0===d?{}:d,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,b=void 0===g?{}:g,y=e.debugMode,w=void 0!==y&&y,x=n.useContext(Ke),E=x.submissionResponse,S=x.selfieImage,k=n.useState("LOADING"),C=k[0],T=k[1],A=n.useContext(Jt).releaseCameraAccess,R=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){return v(this,(function(t){return T("MATCHED"),null==r||r(e),[2]}))}))}),[r]),I=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){return v(this,(function(t){return T("NOT_MATCHED"),null==o||o(e),[2]}))}))}),[o]),_=n.useCallback((function(){T("FAILED"),null==a||a()}),[a]),D=n.useState(0),F=D[0],M=D[1],L=n.useCallback((function(){M((function(e){return e+1})),T("LOADING")}),[]),P=n.useCallback((function(){A(),E&&(null==t||t(E))}),[t,A,E]),O=_i(u,"MATCHED"===C,P);return c.default.createElement(c.default.Fragment,null,"LOADING"!==C&&function(){switch(C){case"CAPTURING":return c.default.createElement(fm,{key:"capture".concat(F),onCustomerMatched:R,onCustomerNotMatched:I,onCaptureGuidanceTimeout:_,onExit:L,captureGuidanceTimeoutDurationMs:s,colors:p,verbiage:b,debugMode:w});case"MATCHED":if(!O)return;return c.default.createElement(pm,{imageUrl:"data:image/png;base64, ".concat(S),colors:p.success,verbiage:b.success,onDoneClick:P,onRetryClick:function(){T("CAPTURING"),M(0)}});case"NOT_MATCHED":case"FAILED":return c.default.createElement(gm,{assets:h.failure,colors:p.failure,verbiage:b.failure,canRetry:F<2,onExitClick:function(){A(),null==i||i()},onRetryClick:function(){M((function(e){return e+1}))}});default:return null}}(),c.default.createElement(ng,{key:F,assets:h.loadingOverlay,colors:p.loadingOverlay,verbiage:b.loadingOverlay,onDismissed:function(){T("CAPTURING")}}))},vm=function(e){var t=e.lang,n=e.enrollmentId,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,l=e.webhooksEnabled,u=e.webhooksClientTraceId,d=e.webhooksStripSpecialCharacters,h=e.timeoutDurationMs,f=void 0===h?15e3:h,p=e.skipSuccessScreen,g=void 0!==p&&p,m=e.assets,v=e.colors,b=e.verbiage,y=e.onBeforeSubmit,w=e.onComplete,x=e.onCustomerMatched,E=e.onCustomerNotMatched,S=e.onExitAfterFailure,k=e.geolocationEnabled,C=void 0===k||k,T=e.geolocationRequired,A=void 0!==T&&T,R=e.debugMode,I=void 0!==R&&R;return gi(void 0===t?"auto":t),c.default.createElement(Rt,{action:ze.VERIFY,environment:i,url:a,token:r,companyId:s,enrollmentId:n,webhooksEnabled:l,webhooksClientTraceId:u,webhooksStripSpecialCharacters:d,onBeforeSubmit:y,geolocationEnabled:C,geolocationRequired:A},c.default.createElement(Zt,{preferFrontFacingCamera:!0},c.default.createElement(Wp,null,c.default.createElement(mm,{onComplete:w,onCustomerMatched:x,onCustomerNotMatched:E,onExitAfterFailure:S,captureGuidanceTimeoutDurationMs:f,skipSuccessScreen:g,assets:m,colors:v,verbiage:b,debugMode:I}))))},bm={frame:null,face:null,imageUrl:null,requestState:"CAPTURING",requestError:null,notFoundTimes:0},ym=function(e,t){switch(t.type){case"identificationReady":return["CAPTURING","ERROR"].includes(e.requestState)?g(g({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"identifying":return g(g({},e),{requestState:"IDENTIFYING",imageUrl:t.payload.imageUrl});case"identificationCompleted":var n=t.payload.response,r=n.status,o=r.statusMessage,i=r.errorData,a=n.resultData;if("000"!==r.statusCode)return g(g({},e),{requestState:"ERROR",requestError:new Error("".concat(o,": ").concat(i))});var s=e.requestState,l=e.notFoundTimes;return"46"===a.verificationResultCode?s="FOUND":l<0?(s="CAPTURING",l+=1):s="NOT_FOUND",g(g({},e),{requestState:s,notFoundTimes:l});case"identificationFailed":return g(g({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},wm=function(e){var t=e.onCustomerMatched,r=e.onCustomerNotMatched,o=e.onCaptureGuidanceTimeout,i=e.onExit,a=e.captureGuidanceTimeoutDurationMs,s=e.colors,l=void 0===s?{}:s,u=e.verbiage,d=void 0===u?{}:u,h=e.debugMode,f=void 0!==h&&h,p=n.useReducer(ym,bm),g=p[0],b=p[1],y=n.useContext(Ke),w=y.submit,x=y.submissionResponse,E=y.selfieImage,S=y.setSelfieImage,k=n.useState(null),C=k[0],T=k[1],A=n.useCallback((function(e,t){b({type:"identificationReady",payload:{frame:e,face:t}})}),[]),R=g.frame,I=g.face,_="CAPTURED"===g.requestState;return n.useEffect((function(){if(R&&I){var e=Do(R,I);T(e),Ze(e).then((function(e){S(e)}))}}),[I,R,S]),n.useEffect((function(){_&&E&&m(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),b({type:"identifying",payload:{imageUrl:E}}),[4,w()];case 1:if(!(e=n.sent()))throw new Error("submission failed!");return b({type:"identificationCompleted",payload:{response:e}}),[3,3];case 2:return t=n.sent(),b({type:"identificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[_,t,r,E,g.requestState,w]),n.useEffect((function(){x&&("FOUND"===g.requestState?null==t||t(x):"NOT_FOUND"===g.requestState&&(null==r||r(x)))}),[t,r,g.requestState,x]),Yp(a,o,["FOUND","NOT_FOUND"].includes(g.requestState),"IDENTIFYING"===g.requestState),c.default.createElement(c.default.Fragment,null,c.default.createElement(Zp,{onSelfieCaptured:A,onExit:i,timeoutDurationMs:a,colors:l,verbiage:d,debugMode:f}),C&&c.default.createElement(ui,{imageUrl:C}))},xm=function(e){var t,n,r=e.imageUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,l=e.verbiage,u=void 0===l?{}:l;r||(r="".concat(Io,"/Selfie-Image-1.png")),s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=vi(u,{headingText:"Customer has been identified!",retryBtnText:"Retry",doneBtnText:"Done"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",{style:{marginBottom:24}},d.headingText),c.default.createElement(ut,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:d.headingText,src:r})),c.default.createElement("div",{style:{marginTop:24}},c.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),c.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},Em=function(e){var t,n,r,o,i=e.canRetry,a=void 0===i||i,s=e.onRetryClick,l=e.onExitClick,u=e.assets,d=void 0===u?{}:u,h=e.colors,f=void 0===h?{}:h,p=e.verbiage,g=void 0===p?{}:p;d.imageUrl||(d.imageUrl="".concat(Io,"/manual_capture.png")),f.retryBtn||(f.retryBtn={}),(t=f.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=f.retryBtn).textColor||(n.textColor="white"),f.exitBtn||(f.exitBtn={}),(r=f.exitBtn).backgroundColor||(r.backgroundColor="#666"),(o=f.exitBtn).textColor||(o.textColor="white");var m=vi(g,{headingText:"Customer not found",retryBtnText:"Retry",exitBtnText:"Exit"});return c.default.createElement(lt,null,c.default.createElement(ct,null,c.default.createElement("h3",{style:{marginBottom:24}},m.headingText),c.default.createElement(ut,{style:{maxHeight:"calc(100vh - 185px)"}},c.default.createElement("img",{alt:m.headingText,src:d.imageUrl})),c.default.createElement("div",{style:{marginTop:24}},a&&c.default.createElement(St,{onClick:s,colors:f.retryBtn,style:{marginRight:15},finished:!0},m.retryBtnText),c.default.createElement(St,{onClick:l,colors:f.exitBtn,finished:!0},m.exitBtnText))))},Sm=function(e){var t=e.onComplete,r=e.onCustomerMatched,o=e.onCustomerNotMatched,i=e.onExitAfterFailure,a=e.onCaptureGuidanceTimeout,s=e.captureGuidanceTimeoutDurationMs,l=e.skipSuccessScreen,u=void 0!==l&&l,d=e.assets,h=void 0===d?{}:d,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,b=void 0===g?{}:g,y=e.debugMode,w=void 0!==y&&y,x=n.useContext(Ke),E=x.submissionResponse,S=x.selfieImage,k=n.useState("LOADING"),C=k[0],T=k[1],A=n.useContext(Jt).releaseCameraAccess,R=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){return v(this,(function(t){return T("FOUND"),null==r||r(e),[2]}))}))}),[r]),I=n.useCallback((function(e){return m(void 0,void 0,void 0,(function(){return v(this,(function(t){return T("NOT_FOUND"),null==o||o(e),[2]}))}))}),[o]),_=n.useCallback((function(){T("FAILED"),null==a||a()}),[a]),D=n.useState(0),F=D[0],M=D[1],L=n.useCallback((function(){M((function(e){return e+1})),T("LOADING")}),[]),P=n.useCallback((function(){A(),E&&(null==t||t(E))}),[t,A,E]),O=_i(u,"FOUND"===C,P);return c.default.createElement(c.default.Fragment,null,"LOADING"!==C&&function(){switch(C){case"CAPTURING":return c.default.createElement(wm,{key:"capture".concat(F),onCustomerMatched:R,onCustomerNotMatched:I,onCaptureGuidanceTimeout:_,onExit:L,captureGuidanceTimeoutDurationMs:s,colors:p,verbiage:b,debugMode:w});case"FOUND":if(!O)return;return c.default.createElement(xm,{imageUrl:"data:image/png;base64, ".concat(S),colors:p.success,verbiage:b.success,onDoneClick:P,onRetryClick:function(){T("CAPTURING"),M(0)}});case"NOT_FOUND":case"FAILED":return c.default.createElement(Em,{assets:h.failure,colors:p.failure,verbiage:b.failure,canRetry:F<2,onExitClick:function(){A(),null==i||i()},onRetryClick:function(){M((function(e){return e+1}))}});default:return null}}(),c.default.createElement(ng,{key:F,assets:h.loadingOverlay,colors:p.loadingOverlay,verbiage:b.loadingOverlay,onDismissed:function(){T("CAPTURING")}}))},km=function(e){var t=e.lang,n=e.submissionToken,r=e.submissionEnvironment,o=void 0===r?"prod":r,i=e.submissionUrl,a=e.companyId,s=e.webhooksEnabled,l=e.webhooksClientTraceId,u=e.webhooksStripSpecialCharacters,d=e.timeoutDurationMs,h=void 0===d?15e3:d,f=e.skipSuccessScreen,p=void 0!==f&&f,g=e.onBeforeSubmit,m=e.onComplete,v=e.onCustomerMatched,b=e.onCustomerNotMatched,y=e.onCaptureGuidanceTimeout,w=e.onExitAfterFailure,x=e.assets,E=e.colors,S=e.verbiage,k=e.geolocationEnabled,C=e.geolocationRequired,T=void 0!==C&&C,A=e.debugMode,R=void 0!==A&&A;return gi(void 0===t?"auto":t),c.default.createElement(Rt,{action:ze.IDENTIFY,environment:o,url:i,token:n,companyId:a,webhooksEnabled:s,webhooksClientTraceId:l,webhooksStripSpecialCharacters:u,onBeforeSubmit:g,geolocationEnabled:k,geolocationRequired:T},c.default.createElement(Zt,{preferFrontFacingCamera:!0},c.default.createElement(Wp,null,c.default.createElement(Sm,{onComplete:m,onCustomerMatched:v,onCustomerNotMatched:b,onExitAfterFailure:w,onCaptureGuidanceTimeout:y,captureGuidanceTimeoutDurationMs:h,skipSuccessScreen:p,assets:x,colors:E,verbiage:S,debugMode:R}))))},Cm=function(e){var t=e.documentDetectionModel,n=void 0===t?"".concat(Io,"/models/documentdetection448/model.json"):t,r=e.focusModel,o=void 0===r?"".concat(Io,"/models/focus/model.json"):r,i=e.skipFaceDetectionModel,a=void 0!==i&&i;return m(void 0,void 0,void 0,(function(){return v(this,(function(e){switch(e.label){case 0:return n?[4,It(n)]:[3,2];case 1:e.sent(),e.label=2;case 2:return o?[4,Qt(o)]:[3,4];case 3:e.sent(),e.label=4;case 4:return a?[3,6]:[4,Gp()];case 5:e.sent(),e.label=6;case 6:return[2]}}))}))},Tm=function(e){var t=e.enrollmentId,r=e.lang,o=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,s=e.submissionUrl,l=e.companyId,u=e.deduplicationEnabled,d=e.deduplicationSynchronous,h=e.webhooksEnabled,f=e.webhooksClientTraceId,p=e.webhooksStripSpecialCharacters,g=e.timeoutDurationMs,m=void 0===g?15e3:g,v=e.skipSuccessScreen,b=void 0!==v&&v,y=e.onBeforeSubmit,w=e.onComplete,x=e.onEnrolled,E=e.onDenied,S=e.onExitAfterFailure,k=e.captureAdditionalDocuments,C=void 0===k?[]:k,T=e.captureSignature,A=void 0!==T&&T,R=e.captureSignatureVideo,I=void 0!==R&&R,_=e.assets,D=void 0===_?{}:_,F=e.colors,M=void 0===F?{}:F,L=e.verbiage,P=void 0===L?{}:L,O=e.geolocationEnabled,N=void 0===O||O,B=e.geolocationRequired,U=void 0!==B&&B,$=e.debugMode,j=void 0!==$&&$;gi(void 0===r?"auto":r);var G=n.useMemo((function(){return{onExitAfterFailure:S,timeoutDurationMs:m,skipSuccessScreen:b,assets:D.faceLiveness,colors:M.faceLiveness,verbiage:P.faceLiveness,debugMode:j}}),[D.faceLiveness,M.faceLiveness,j,S,b,m,P.faceLiveness]),z=n.useMemo((function(){return{documents:C,verbiage:P.additionalDocumentCapture}}),[C,P.additionalDocumentCapture]),q=n.useMemo((function(){return{verbiage:P.signatureCapture}}),[P.signatureCapture]),V=n.useMemo((function(){return{skipSuccessScreen:b,colors:null==M?void 0:M.videoSignatureCapture,verbiage:null==P?void 0:P.videoSignatureCapture,debugMode:j}}),[null==M?void 0:M.videoSignatureCapture,j,b,null==P?void 0:P.videoSignatureCapture]),W=n.useCallback((function(e){null==w||w(e),"Customer Onboarded"===e.resultData.verificationResult?null==x||x(e):null==E||E(e)}),[x,w,E]);return c.default.createElement(Rt,{action:ze.ENROLL,environment:a,url:s,token:o,companyId:l,enrollmentId:t,deduplicationEnabled:u,deduplicationSynchronous:d,webhooksEnabled:h,webhooksClientTraceId:f,webhooksStripSpecialCharacters:p,onBeforeSubmit:y,onResponseReceived:W,geolocationEnabled:N,geolocationRequired:U},c.default.createElement(am,{checks:n.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:G,additionalDocumentCaptureProps:z,signatureCaptureProps:q,videoSignatureCaptureProps:V,captureSignature:A,captureSignatureVideo:I,debugMode:j}))},Am=function(e){var t=e.submissionToken,r=e.submissionEnvironment,o=e.submissionUrl,i=e.onBeforeSubmit,a=e.onComplete,s=e.skipSuccessScreen,l=void 0!==s&&s,u=e.colors,d=e.verbiage,h=e.geolocationEnabled,f=e.geolocationRequired,p=e.debugMode,g=n.useState(0),m=g[1];return c.default.createElement(Rt,{action:ze.NONE,environment:r,url:o,token:t,onBeforeSubmit:i,onResponseReceived:a,geolocationEnabled:h,geolocationRequired:f},c.default.createElement(Zt,{key:g[0],preferContinuityCamera:!1,preferFrontFacingCamera:!0},c.default.createElement(im,{skipSuccessScreen:l,colors:u,debugMode:p,verbiage:d,onRetryClicked:function(){m((function(e){return e+1}))}})))};function Rm(e){return c.default.createElement(lt,null,e.children)}re.use(Ge).use(me).init({resources:pi,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 Im=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(Rm,null,e)),l.default.render(e,t)},_m=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(sm,g({},t)),e,n)},Dm=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(lm,g({},t)),e,n)},Fm=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(cm,g({},t)),e,n)},Mm=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(um,g({},t)),e,n)},Lm=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(Tm,g({},t)),e,n)},Pm=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(vm,g({},t)),e,n)},Om=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(km,g({},t)),e,n)},Nm=function(e,t,n){void 0===n&&(n=!0),Im(c.default.createElement(Am,g({},t)),e,n)};globalThis.IDmissionSDK={renderIdValidation:_m,renderFaceValidation:Dm,renderIdAndFaceValidation:Fm,renderCustomerIdAndBiometricsEnrollment:Mm,renderCustomerBiometricsEnrollment:Lm,renderCustomerVerification:Pm,renderCustomerIdentification:Om,renderSignatureKYC:Nm,preloadModels:Cm,version:Ve,ready:!0},e.CustomerBiometricsEnrollment=Tm,e.CustomerIdAndBiometricsEnrollment=um,e.CustomerIdentification=km,e.CustomerVerification=vm,e.FaceValidation=lm,e.IdAndFaceValidation=cm,e.IdValidation=sm,e.SignatureKYC=Am,e.preloadModels=Cm,e.renderCustomerBiometricsEnrollment=Lm,e.renderCustomerIdAndBiometricsEnrollment=Mm,e.renderCustomerIdentification=Om,e.renderCustomerVerification=Pm,e.renderFaceValidation=Dm,e.renderIdAndFaceValidation=Fm,e.renderIdValidation=_m,e.renderSignatureKYC=Nm,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=sdk2.umd.production.js.map