idmission-web-sdk 2.1.18 → 2.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sdk2.cjs.development.js +16429 -0
- package/dist/sdk2.cjs.development.js.map +1 -0
- package/dist/sdk2.cjs.production.js +2 -0
- package/dist/sdk2.cjs.production.js.map +1 -0
- package/dist/sdk2.esm.js +1 -1
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +1 -1
- package/dist/sdk2.umd.development.js.map +1 -1
- package/dist/sdk2.umd.production.js +1 -1
- package/dist/sdk2.umd.production.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk2.cjs.development.js","sources":["../../node_modules/tslib/tslib.es6.mjs","../compiled/version.js","../compiled/lib/utils/platform.js","../compiled/lib/utils/dataUrlToBase64.js","../compiled/contexts/SubmissionContext.js","../compiled/components/common/Page.js","../compiled/components/common/overlay.js","../compiled/components/common/LoaderButton.js","../compiled/components/submission/GeolocationAccessDeniedOverlay.js","../compiled/components/submission/Errors.js","../compiled/components/submission/SubmissionErrorOverlay.js","../compiled/components/submission/SessionIdMissingOverlay.js","../compiled/components/submission/SessionValidationFailedOverlay.js","../compiled/components/submission/AuthUrlNotAllowedOverlay.js","../compiled/components/submission/SessionValidationErrorOverlay.js","../compiled/components/common/spinner.js","../compiled/contexts/AuthStateContext.js","../compiled/lib/utils/logger.js","../compiled/components/submission/SubmissionProvider.js","../compiled/lib/utils/getFrameDimensions.js","../compiled/components/common/InvisibleCanvas.js","../compiled/lib/camera/Camera.js","../compiled/components/camera/CameraProvider.js","../compiled/lib/models/VisionRuntime.js","../compiled/lib/utils/cropping.js","../compiled/lib/models/CapabilityProbing.js","../compiled/lib/models/helpers.js","../compiled/lib/models/Focus.js","../../node_modules/@mediapipe/face_detection/face_detection.js","../compiled/lib/models/FaceDetection.js","../compiled/lib/models/preloadModels.js","../compiled/lib/models/DocumentDetection.js","../compiled/lib/models/FrameLoop.js","../compiled/components/id_capture/DocumentDetectionModelProvider.js","../compiled/components/id_capture/FocusModelProvider.js","../compiled/lib/utils/isMobile.js","../compiled/components/id_capture/IdCaptureModelsProvider.js","../compiled/components/id_capture/CapturedDocuments.js","../compiled/components/id_capture/IdCaptureRequirementOption.js","../compiled/components/id_capture/IdCaptureStateProvider.js","../compiled/components/common/debug.js","../compiled/lib/locales/en/translation.js","../compiled/lib/locales/es/translation.js","../compiled/lib/locales/index.js","../compiled/components/common/GuidanceMessage.js","../compiled/components/common/cdn.js","../compiled/components/id_capture/IdCapture.js","../compiled/components/camera/CameraAccessDeniedOverlay.js","../compiled/components/common/ExitCaptureButton.js","../compiled/components/common/ButtonsRow.js","../compiled/components/id_capture/IdCaptureLoadingGraphic.js","../compiled/components/id_capture/IdCaptureLoadingOverlayDefault.js","../compiled/components/id_capture/IdCaptureLoadingOverlayLegacy.js","../compiled/components/id_capture/IdCaptureLoadingOverlay.js","../compiled/components/common/CapturedDocumentImg.js","../compiled/components/id_capture/IdCaptureSuccess.js","../compiled/components/camera/CameraVideoTag.js","../compiled/components/common/useShowSuccessScreen.js","../compiled/lib/camera/CameraFeedWrapper.js","../compiled/lib/utils/canvas.js","../compiled/contexts/GuideOrientationContext.js","../compiled/components/id_capture/IdCaptureGuideOverlay.js","../compiled/components/id_capture/FlipIdPrompt.js","../compiled/components/id_capture/IdCaptureFitGuide.js","../compiled/components/id_capture/IdCaptureGuides.js","../compiled/components/common/SelfieProgressPreview.js","../compiled/components/document_capture/DocumentCaptureStateProvider.js","../compiled/components/document_capture/DocumentCaptureGuideOverlay.js","../compiled/components/document_capture/DocumentCaptureScreen.js","../compiled/components/document_capture/DocumentCaptureWizard.js","../compiled/lib/utils/resizeFile.js","../compiled/components/fallback_flows/IdCapture.js","../compiled/components/id_capture/IdCaptureWizard.js","../compiled/components/face_liveness/FaceCaptureGuideOverlay.js","../compiled/components/selfie_capture/SelfieGuidanceModelsProvider.js","../compiled/lib/utils/useTimeout.js","../compiled/components/fallback_flows/SelfieCapture.js","../compiled/components/selfie_capture/SelfieCapture.js","../compiled/components/face_liveness/FaceLivenessCapture.js","../compiled/components/face_liveness/FaceLivenessSuccess.js","../compiled/components/face_liveness/FaceLivenessFailure.js","../compiled/components/camera/MicrophoneAccessDeniedOverlay.js","../compiled/components/selfie_capture/SelfieCaptureLoadingOverlayLegacy.js","../compiled/components/selfie_capture/SelfieCaptureLoadingGraphic.js","../compiled/components/selfie_capture/SelfieCaptureLoadingOverlayDefault.js","../compiled/components/selfie_capture/SelfieCaptureLoadingOverlay.js","../compiled/components/face_liveness/FaceLivenessWizard.js","../compiled/components/GuideOrientationProvider.js","../compiled/components/submission/SubmissionSuccess.js","../compiled/components/additional_document_capture/AdditionalDocumentCapture.js","../compiled/components/additional_document_capture/AdditionalDocumentCaptureWizard.js","../compiled/components/signature_capture/data.js","../compiled/components/common/signature.js","../compiled/components/signature_capture/SignatureCapture.js","../compiled/lib/camera/useVideoRecorder.js","../compiled/components/video_signature_capture/VideoSignatureCapture.js","../compiled/components/video_signature_capture/VideoSignatureSuccess.js","../compiled/components/video_signature_capture/VideoSignatureWizard.js","../compiled/components/video_id/IdVideoCaptureFlipIdPrompt.js","../compiled/components/video_id/IdVideoCaptureGuides.js","../compiled/components/read_text_prompt/ReadTextPrompt.js","../compiled/components/video_id/IdVideoCapture.js","../compiled/components/video_id/IdVideoCaptureSuccess.js","../compiled/components/video_id/IdVideoCaptureWizard.js","../compiled/components/CompositeWizard.js","../compiled/themes/index.js","../compiled/components/customer_flows/IdValidation.js","../compiled/components/customer_flows/FaceValidation.js","../compiled/components/customer_flows/IdAndFaceValidation.js","../compiled/components/customer_flows/CustomerIdAndBiometricsEnrollment.js","../compiled/components/customer_verification/CustomerVerificationCapture.js","../compiled/components/customer_verification/CustomerVerificationSuccess.js","../compiled/components/customer_verification/CustomerVerificationFailure.js","../compiled/components/customer_verification/CustomerVerificationWizard.js","../compiled/components/customer_flows/CustomerVerification.js","../compiled/components/customer_identification/CustomerIdentificationCapture.js","../compiled/components/customer_identification/CustomerIdentificationSuccess.js","../compiled/components/customer_identification/CustomerIdentificationFailure.js","../compiled/components/customer_identification/CustomerIdentificationWizard.js","../compiled/components/customer_flows/CustomerIdentification.js","../compiled/components/customer_flows/SignatureKYC.js","../compiled/components/customer_flows/VideoIdValidation.js","../compiled/components/customer_flows/CustomerBiometricsEnrollment.js","../compiled/components/customer_flows/DocumentCapture.js","../compiled/index.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export var webSdkVersion = '2.1.19';\n//# sourceMappingURL=version.js.map","import platform from 'platform';\nexport function getPlatform() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (typeof window !== 'undefined' && typeof window.platform !== 'undefined')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return window.platform;\n return platform;\n}\n//# sourceMappingURL=platform.js.map","import { __awaiter, __generator } from \"tslib\";\nexport function dataUrlToBase64(url) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (url.indexOf('blob:') >= 0) {\n return [2 /*return*/, new Promise(function (resolve, reject) {\n // Fetch the Blob content\n fetch(url)\n .then(function (response) {\n if (!response.ok) {\n throw new Error('Failed to fetch Blob content');\n }\n return response.blob();\n })\n .then(function (blob) {\n var reader = new FileReader();\n reader.onload = function () {\n var base64String = reader.result ? reader.result.split(',')[1] : '';\n resolve(base64String);\n };\n reader.onerror = function () {\n reader.abort();\n reject(new Error('Error converting blob to base64'));\n };\n reader.readAsDataURL(blob);\n })\n .catch(function (error) {\n reject(error);\n });\n })];\n }\n return [2 /*return*/, url.replace(/^data:image\\/(png|jpeg);base64,/, '')];\n });\n });\n}\nexport function dataUrlToBase64Sync(url) {\n return url.replace(/^data:.*;base64,/, '');\n}\nexport function contentDispositionFromDataUrl(url) {\n var _a, _b;\n return (_b = (_a = url.match(/^(data:.*;base64),/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : '';\n}\nexport function b64toBlob(b64Data, contentType, sliceSize) {\n if (contentType === void 0) { contentType = ''; }\n if (sliceSize === void 0) { sliceSize = 512; }\n var byteCharacters = atob(b64Data);\n var byteArrays = [];\n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n var slice = byteCharacters.slice(offset, offset + sliceSize);\n var byteNumbers = new Array(slice.length);\n for (var i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n var byteArray = new Uint8Array(byteNumbers);\n byteArrays.push(byteArray);\n }\n return new Blob(byteArrays, { type: contentType });\n}\nexport function blobToB64(blob) {\n return new Promise(function (resolve) {\n var reader = new FileReader();\n reader.onloadend = function () { return resolve(reader.result); };\n reader.readAsDataURL(blob);\n });\n}\n//# sourceMappingURL=dataUrlToBase64.js.map","import { webSdkVersion } from '../version';\nimport { getPlatform } from '../lib/utils/platform';\nimport { dataUrlToBase64Sync } from '../lib/utils/dataUrlToBase64';\nexport var SubmissionAction;\n(function (SubmissionAction) {\n SubmissionAction[\"NONE\"] = \"NONE\";\n SubmissionAction[\"ENROLL\"] = \"ENROLL\";\n SubmissionAction[\"IDENTIFY\"] = \"IDENTIFY\";\n SubmissionAction[\"VALIDATE\"] = \"VALIDATE\";\n SubmissionAction[\"VERIFY\"] = \"VERIFY\";\n})(SubmissionAction || (SubmissionAction = {}));\nexport var SubmissionStatus;\n(function (SubmissionStatus) {\n SubmissionStatus[\"READY\"] = \"READY\";\n SubmissionStatus[\"SUBMITTING\"] = \"SUBMITTING\";\n SubmissionStatus[\"SUBMITTED\"] = \"SUBMITTED\";\n SubmissionStatus[\"FAILED\"] = \"FAILED\";\n})(SubmissionStatus || (SubmissionStatus = {}));\nexport var submissionHosts = {\n prod: 'https://api.idmission.com',\n demo: 'https://apidemo.idmission.com',\n};\nexport function parseJwt(token) {\n var base64Url = token.split('.')[1];\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n var jsonPayload = decodeURIComponent(window\n .atob(base64)\n .split('')\n .map(function (c) { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); })\n .join(''));\n return JSON.parse(jsonPayload);\n}\nexport function determineSubmissionHost(environment, token) {\n if (token) {\n switch (parseJwt(token)['iss']) {\n case 'https://auth.idmission.com/auth/realms/identity':\n return submissionHosts.prod;\n case 'https://demoauth.idmission.com/auth/realms/identity':\n return submissionHosts.demo;\n }\n }\n var host = submissionHosts[environment];\n if (!host)\n throw new Error(\"unrecognized SubmissionEnvironment \".concat(environment));\n return host;\n}\nexport function determineSubmissionEndpoint(action, hasId, hasSelfie) {\n switch (action) {\n case SubmissionAction.ENROLL:\n return hasId ? \"/v4/customer/enroll\" : \"/v4/customer/enroll-biometrics\";\n case SubmissionAction.IDENTIFY:\n return \"/v4/customer/identify\";\n case SubmissionAction.VALIDATE:\n return hasSelfie\n ? \"/v4/customer/validate-id-match-face\"\n : \"/v4/customer/validate-id\";\n case SubmissionAction.VERIFY:\n return \"/v4/customer/verify\";\n default:\n throw new Error(\"unrecognized SubmissionAction \".concat(action));\n }\n}\nexport function liveCheckEndpoint(hasDocumentToMatchFace) {\n if (hasDocumentToMatchFace === void 0) { hasDocumentToMatchFace = false; }\n return hasDocumentToMatchFace\n ? \"/v4/customer/match-id-face\"\n : \"/v4/customer/live-check\";\n}\nexport function apiHeaders(sessionId, sendBase64DocumentsInSwaggerProxy) {\n if (sendBase64DocumentsInSwaggerProxy === void 0) { sendBase64DocumentsInSwaggerProxy = false; }\n var headers = {\n 'Content-Type': 'application/json',\n 'X-Send-Base64-Documents': sendBase64DocumentsInSwaggerProxy ? '1' : '0',\n Origin: '*',\n };\n if (sessionId) {\n headers['X-Session-Id'] = sessionId;\n }\n return headers;\n}\nexport function attachMetadataToRequest(request, _a) {\n var _b, _c;\n var selfieCaptureAttempts = _a.selfieCaptureAttempts, idFrontCaptureAttempts = _a.idFrontCaptureAttempts, idBackCaptureAttempts = _a.idBackCaptureAttempts, geolocationResult = _a.geolocationResult;\n var metadata = {\n selfie: selfieCaptureAttempts,\n front: idFrontCaptureAttempts,\n back: idBackCaptureAttempts,\n isRealIDCheckRequired: 'false',\n sdkVersion: \"WebSDK_\".concat(webSdkVersion),\n Resolution: typeof window !== 'undefined'\n ? \"\".concat(window.innerWidth, \" x \").concat(window.innerHeight)\n : 'unknown',\n };\n var platform = getPlatform();\n if (platform) {\n metadata.os = (_b = platform.os) === null || _b === void 0 ? void 0 : _b.family;\n metadata.osVersion = (_c = platform.os) === null || _c === void 0 ? void 0 : _c.version;\n metadata.browserVersion = \"\".concat(platform.name, \" \").concat(platform.version);\n }\n if (geolocationResult) {\n metadata.GeoLocation = JSON.stringify(geolocationResult);\n }\n request.additionalData.metadata = JSON.stringify(metadata);\n}\nexport function videoDataUrlToB64(url) {\n return new Promise(function (resolve) {\n var reader = new FileReader();\n reader.onloadend = function () {\n resolve(dataUrlToBase64Sync(reader.result));\n };\n fetch(url)\n .then(function (resp) { return resp.blob(); })\n .then(function (blob) { return reader.readAsDataURL(blob); });\n });\n}\n//# sourceMappingURL=SubmissionContext.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { forwardRef, useEffect, useState, } from 'react';\nimport styled from 'styled-components';\nexport var PageContainerDiv = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \"\\n\\n \", \"\\n\\n &.flex {\\n display: flex;\\n }\\n\\n &.padded {\\n box-sizing: border-box;\\n padding: 16px 24px;\\n }\\n\"], [\"\\n \", \"\\n\\n \", \"\\n\\n &.flex {\\n display: flex;\\n }\\n\\n &.padded {\\n box-sizing: border-box;\\n padding: 16px 24px;\\n }\\n\"])), function (props) {\n var _a;\n return props.theme.isFullscreen === false\n ? \"\"\n : \"\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: var(--app-width);\\n height: calc(\\n var(--app-height) - \".concat((_a = props.$heightOffset) !== null && _a !== void 0 ? _a : 0, \"px\\n );\\n overflow-x: hidden;\\n overflow-y: auto;\\n \");\n}, function (props) {\n return props.theme.fontFamily ? \"font-family: \".concat(props.theme.fontFamily, \";\") : \"\";\n});\nexport var PageContainer = forwardRef(function (_a, ref) {\n var children = _a.children, className = _a.className, _b = _a.heightOffset, heightOffset = _b === void 0 ? 0 : _b, style = _a.style, onClick = _a.onClick;\n var _c = useState(false), dimensionsCalculated = _c[0], setDimensionsCalculated = _c[1];\n useEffect(function () {\n if (typeof window === 'undefined')\n return;\n setDimensionsCalculated(false);\n var calcAppDimensions = function () {\n var doc = document.documentElement;\n doc.style.setProperty('--app-width', \"\".concat(window.innerWidth, \"px\"));\n doc.style.setProperty('--app-height', \"\".concat(window.innerHeight, \"px\"));\n };\n window.addEventListener('resize', calcAppDimensions);\n calcAppDimensions();\n setDimensionsCalculated(true);\n return function () {\n window.removeEventListener('resize', calcAppDimensions);\n };\n }, []);\n return (React.createElement(PageContainerDiv, { ref: ref, style: style, onClick: onClick, className: className, \"$heightOffset\": heightOffset }, dimensionsCalculated && children));\n});\nPageContainer.displayName = 'PageContainer';\nvar templateObject_1;\n//# sourceMappingURL=Page.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nimport { PageContainer } from './Page';\nexport var OverlayContainer = styled(PageContainer)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n background: \", \";\\n \", \"\\n z-index: 10000;\\n\"], [\"\\n background: \", \";\\n \", \"\\n z-index: 10000;\\n\"])), function (props) {\n return props.theme.background ? \"\".concat(props.theme.background) : \"white\";\n}, function (props) {\n return props.theme.textColor ? \"color: \".concat(props.theme.textColor, \";\") : \"\";\n});\nexport var OverlayInner = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n text-align: \", \";\\n display: flex;\\n flex-direction: column;\\n flex-wrap: nowrap;\\n max-height: var(--app-height);\\n height: 100%;\\n \", \"\\n\"], [\"\\n text-align: \", \";\\n display: flex;\\n flex-direction: column;\\n flex-wrap: nowrap;\\n max-height: var(--app-height);\\n height: 100%;\\n \", \"\\n\"])), function (props) { var _a; return (_a = props.theme.textAlign) !== null && _a !== void 0 ? _a : 'center'; }, function (props) {\n return props.theme.padding\n ? \"box-sizing: border-box; padding: \".concat(props.theme.padding, \";\")\n : \"\";\n});\nexport var OverlayImageContainer = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\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 & > svg {\\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 & > svg {\\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\"])));\nexport var OverlayImageRow = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\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\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n//# sourceMappingURL=overlay.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useEffect, useRef, useState, } from 'react';\nimport styled from 'styled-components';\nexport var LoaderButton = function (_a) {\n var children = _a.children, className = _a.className, _b = _a.colors, colors = _b === void 0 ? {} : _b, disabled = _a.disabled, finished = _a.finished, onClick = _a.onClick, style = _a.style, _c = _a.variant, variant = _c === void 0 ? 'primary' : _c;\n var buttonRef = useRef(null);\n var laddaRef = useRef(null);\n var _d = useState(false), laddaLoaded = _d[0], setLaddaLoaded = _d[1];\n useEffect(function () {\n if (laddaLoaded || finished)\n return;\n var interval;\n import('ladda').then(function (Ladda) {\n if (!buttonRef.current)\n return;\n laddaRef.current = Ladda.create(buttonRef.current);\n laddaRef.current.start();\n setLaddaLoaded(true);\n var currentProgress = 0;\n interval = setInterval(function () {\n var _a;\n if (currentProgress < 0.9)\n currentProgress += 0.1;\n (_a = laddaRef.current) === null || _a === void 0 ? void 0 : _a.setProgress(currentProgress);\n }, 250);\n });\n return function () {\n var _a;\n (_a = laddaRef.current) === null || _a === void 0 ? void 0 : _a.remove();\n clearInterval(interval);\n };\n }, [finished, laddaLoaded]);\n useEffect(function () {\n var _a;\n if (laddaLoaded && finished)\n (_a = laddaRef.current) === null || _a === void 0 ? void 0 : _a.stop();\n }, [finished, laddaLoaded]);\n return (React.createElement(StyledButton, { className: \"ladda-button \".concat(className, \" \").concat(disabled ? 'disabled' : ''), \"data-style\": \"expand-right\", disabled: disabled, ref: buttonRef, onClick: onClick, \"$backgroundColor\": colors.backgroundColor, \"$textColor\": colors.textColor, \"$disabledBackgroundColor\": colors.loadingBackgroundColor, \"$disabledTextColor\": colors.loadingTextColor, \"$variant\": variant, style: style },\n React.createElement(\"span\", { className: \"ladda-label\" }, children)));\n};\nvar StyledButton = styled.button(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \"\\n\\n /*!\\n * Ladda\\n * http://lab.hakim.se/ladda\\n * MIT licensed\\n *\\n * Copyright (C) 2018 Hakim El Hattab, http://hakim.se\\n */\\n @keyframes ladda-spinner-line-fade {\\n 0%,\\n 100% {\\n opacity: 0.22;\\n }\\n 1% {\\n opacity: 1;\\n }\\n }\\n\\n position: relative;\\n\\n .ladda-spinner {\\n position: absolute;\\n z-index: 2;\\n display: inline-block;\\n width: 32px;\\n top: 50%;\\n margin-top: 0;\\n opacity: 0;\\n pointer-events: none;\\n }\\n .ladda-label {\\n position: relative;\\n z-index: 3;\\n }\\n .ladda-progress {\\n position: absolute;\\n width: 0;\\n height: 100%;\\n left: 0;\\n top: 0;\\n background: rgba(0, 0, 0, 0.2);\\n display: none;\\n transition: 0.1s linear all !important;\\n }\\n &[data-loading] .ladda-progress {\\n display: block;\\n }\\n\\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\\n\\n .ladda-spinner,\\n .ladda-label {\\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\\n }\\n &[data-style='zoom-in'],\\n &[data-style='zoom-in'] .ladda-spinner,\\n &[data-style='zoom-in'] .ladda-label,\\n &[data-style='zoom-out'],\\n &[data-style='zoom-out'] .ladda-spinner,\\n &[data-style='zoom-out'] .ladda-label {\\n transition: 0.3s ease all !important;\\n }\\n &[data-style='expand-right'] .ladda-spinner {\\n right: -6px;\\n }\\n &[data-style='expand-right'][data-size='s'] .ladda-spinner,\\n &[data-style='expand-right'][data-size='xs'] .ladda-spinner {\\n right: -12px;\\n }\\n &[data-style='expand-right'][data-loading] {\\n padding-right: 56px;\\n }\\n &[data-style='expand-right'][data-loading] .ladda-spinner {\\n opacity: 1;\\n }\\n &[data-style='expand-right'][data-loading][data-size='s'],\\n &[data-style='expand-right'][data-loading][data-size='xs'] {\\n padding-right: 40px;\\n }\\n &[data-style='expand-left'] .ladda-spinner {\\n left: 26px;\\n }\\n &[data-style='expand-left'][data-size='s'] .ladda-spinner,\\n &[data-style='expand-left'][data-size='xs'] .ladda-spinner {\\n left: 4px;\\n }\\n &[data-style='expand-left'][data-loading] {\\n padding-left: 56px;\\n }\\n &[data-style='expand-left'][data-loading] .ladda-spinner {\\n opacity: 1;\\n }\\n &[data-style='expand-left'][data-loading][data-size='s'],\\n &[data-style='expand-left'][data-loading][data-size='xs'] {\\n padding-left: 40px;\\n }\\n &[data-style='expand-up'] {\\n overflow: hidden;\\n }\\n &[data-style='expand-up'] .ladda-spinner {\\n top: -32px;\\n left: 50%;\\n margin-left: 0;\\n }\\n &[data-style='expand-up'][data-loading] {\\n padding-top: 54px;\\n }\\n &[data-style='expand-up'][data-loading] .ladda-spinner {\\n opacity: 1;\\n top: 26px;\\n margin-top: 0;\\n }\\n &[data-style='expand-up'][data-loading][data-size='s'],\\n &[data-style='expand-up'][data-loading][data-size='xs'] {\\n padding-top: 32px;\\n }\\n &[data-style='expand-up'][data-loading][data-size='s'] .ladda-spinner,\\n &[data-style='expand-up'][data-loading][data-size='xs'] .ladda-spinner {\\n top: 4px;\\n }\\n &[data-style='expand-down'] {\\n overflow: hidden;\\n }\\n &[data-style='expand-down'] .ladda-spinner {\\n top: 62px;\\n left: 50%;\\n margin-left: 0;\\n }\\n &[data-style='expand-down'][data-size='s'] .ladda-spinner,\\n &[data-style='expand-down'][data-size='xs'] .ladda-spinner {\\n top: 40px;\\n }\\n &[data-style='expand-down'][data-loading] {\\n padding-bottom: 54px;\\n }\\n &[data-style='expand-down'][data-loading] .ladda-spinner {\\n opacity: 1;\\n }\\n &[data-style='expand-down'][data-loading][data-size='s'],\\n &[data-style='expand-down'][data-loading][data-size='xs'] {\\n padding-bottom: 32px;\\n }\\n &[data-style='slide-left'] {\\n overflow: hidden;\\n }\\n &[data-style='slide-left'] .ladda-label {\\n position: relative;\\n }\\n &[data-style='slide-left'] .ladda-spinner {\\n left: 100%;\\n margin-left: 0;\\n }\\n &[data-style='slide-left'][data-loading] .ladda-label {\\n opacity: 0;\\n left: -100%;\\n }\\n &[data-style='slide-left'][data-loading] .ladda-spinner {\\n opacity: 1;\\n left: 50%;\\n }\\n &[data-style='slide-right'] {\\n overflow: hidden;\\n }\\n &[data-style='slide-right'] .ladda-label {\\n position: relative;\\n }\\n &[data-style='slide-right'] .ladda-spinner {\\n right: 100%;\\n margin-left: 0;\\n left: 16px;\\n }\\n [dir='rtl'] &[data-style='slide-right'] .ladda-spinner {\\n right: auto;\\n }\\n &[data-style='slide-right'][data-loading] .ladda-label {\\n opacity: 0;\\n left: 100%;\\n }\\n &[data-style='slide-right'][data-loading] .ladda-spinner {\\n opacity: 1;\\n left: 50%;\\n }\\n &[data-style='slide-up'] {\\n overflow: hidden;\\n }\\n &[data-style='slide-up'] .ladda-label {\\n position: relative;\\n }\\n &[data-style='slide-up'] .ladda-spinner {\\n left: 50%;\\n margin-left: 0;\\n margin-top: 1em;\\n }\\n &[data-style='slide-up'][data-loading] .ladda-label {\\n opacity: 0;\\n top: -1em;\\n }\\n &[data-style='slide-up'][data-loading] .ladda-spinner {\\n opacity: 1;\\n margin-top: 0;\\n }\\n &[data-style='slide-down'] {\\n overflow: hidden;\\n }\\n &[data-style='slide-down'] .ladda-label {\\n position: relative;\\n }\\n &[data-style='slide-down'] .ladda-spinner {\\n left: 50%;\\n margin-left: 0;\\n margin-top: -2em;\\n }\\n &[data-style='slide-down'][data-loading] .ladda-label {\\n opacity: 0;\\n top: 1em;\\n }\\n &[data-style='slide-down'][data-loading] .ladda-spinner {\\n opacity: 1;\\n margin-top: 0;\\n }\\n &[data-style='zoom-out'] {\\n overflow: hidden;\\n }\\n &[data-style='zoom-out'] .ladda-spinner {\\n left: 50%;\\n margin-left: 32px;\\n transform: scale(2.5);\\n }\\n &[data-style='zoom-out'] .ladda-label {\\n position: relative;\\n display: inline-block;\\n }\\n &[data-style='zoom-out'][data-loading] .ladda-label {\\n opacity: 0;\\n transform: scale(0.5);\\n }\\n &[data-style='zoom-out'][data-loading] .ladda-spinner {\\n opacity: 1;\\n margin-left: 0;\\n transform: none;\\n }\\n &[data-style='zoom-in'] {\\n overflow: hidden;\\n }\\n &[data-style='zoom-in'] .ladda-spinner {\\n left: 50%;\\n margin-left: -16px;\\n transform: scale(0.2);\\n }\\n &[data-style='zoom-in'] .ladda-label {\\n position: relative;\\n display: inline-block;\\n }\\n &[data-style='zoom-in'][data-loading] .ladda-label {\\n opacity: 0;\\n transform: scale(2.2);\\n }\\n &[data-style='zoom-in'][data-loading] .ladda-spinner {\\n opacity: 1;\\n margin-left: 0;\\n transform: none;\\n }\\n &[data-style='contract'] {\\n overflow: hidden;\\n width: 100px;\\n }\\n &[data-style='contract'] .ladda-spinner {\\n left: 50%;\\n margin-left: 0;\\n }\\n &[data-style='contract'][data-loading] {\\n border-radius: 50%;\\n width: 52px;\\n }\\n &[data-style='contract'][data-loading] .ladda-label {\\n opacity: 0;\\n }\\n &[data-style='contract'][data-loading] .ladda-spinner {\\n opacity: 1;\\n }\\n &[data-style='contract-overlay'] {\\n overflow: hidden;\\n width: 100px;\\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);\\n }\\n &[data-style='contract-overlay'] .ladda-spinner {\\n left: 50%;\\n margin-left: 0;\\n }\\n &[data-style='contract-overlay'][data-loading] {\\n border-radius: 50%;\\n width: 52px;\\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);\\n }\\n &[data-style='contract-overlay'][data-loading] .ladda-label {\\n opacity: 0;\\n }\\n &[data-style='contract-overlay'][data-loading] .ladda-spinner {\\n opacity: 1;\\n }\\n [dir='rtl'] .ladda-spinner > div {\\n left: 25% !important;\\n }\\n\"], [\"\\n \", \"\\n\\n /*!\\n * Ladda\\n * http://lab.hakim.se/ladda\\n * MIT licensed\\n *\\n * Copyright (C) 2018 Hakim El Hattab, http://hakim.se\\n */\\n @keyframes ladda-spinner-line-fade {\\n 0%,\\n 100% {\\n opacity: 0.22;\\n }\\n 1% {\\n opacity: 1;\\n }\\n }\\n\\n position: relative;\\n\\n .ladda-spinner {\\n position: absolute;\\n z-index: 2;\\n display: inline-block;\\n width: 32px;\\n top: 50%;\\n margin-top: 0;\\n opacity: 0;\\n pointer-events: none;\\n }\\n .ladda-label {\\n position: relative;\\n z-index: 3;\\n }\\n .ladda-progress {\\n position: absolute;\\n width: 0;\\n height: 100%;\\n left: 0;\\n top: 0;\\n background: rgba(0, 0, 0, 0.2);\\n display: none;\\n transition: 0.1s linear all !important;\\n }\\n &[data-loading] .ladda-progress {\\n display: block;\\n }\\n\\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\\n\\n .ladda-spinner,\\n .ladda-label {\\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\\n }\\n &[data-style='zoom-in'],\\n &[data-style='zoom-in'] .ladda-spinner,\\n &[data-style='zoom-in'] .ladda-label,\\n &[data-style='zoom-out'],\\n &[data-style='zoom-out'] .ladda-spinner,\\n &[data-style='zoom-out'] .ladda-label {\\n transition: 0.3s ease all !important;\\n }\\n &[data-style='expand-right'] .ladda-spinner {\\n right: -6px;\\n }\\n &[data-style='expand-right'][data-size='s'] .ladda-spinner,\\n &[data-style='expand-right'][data-size='xs'] .ladda-spinner {\\n right: -12px;\\n }\\n &[data-style='expand-right'][data-loading] {\\n padding-right: 56px;\\n }\\n &[data-style='expand-right'][data-loading] .ladda-spinner {\\n opacity: 1;\\n }\\n &[data-style='expand-right'][data-loading][data-size='s'],\\n &[data-style='expand-right'][data-loading][data-size='xs'] {\\n padding-right: 40px;\\n }\\n &[data-style='expand-left'] .ladda-spinner {\\n left: 26px;\\n }\\n &[data-style='expand-left'][data-size='s'] .ladda-spinner,\\n &[data-style='expand-left'][data-size='xs'] .ladda-spinner {\\n left: 4px;\\n }\\n &[data-style='expand-left'][data-loading] {\\n padding-left: 56px;\\n }\\n &[data-style='expand-left'][data-loading] .ladda-spinner {\\n opacity: 1;\\n }\\n &[data-style='expand-left'][data-loading][data-size='s'],\\n &[data-style='expand-left'][data-loading][data-size='xs'] {\\n padding-left: 40px;\\n }\\n &[data-style='expand-up'] {\\n overflow: hidden;\\n }\\n &[data-style='expand-up'] .ladda-spinner {\\n top: -32px;\\n left: 50%;\\n margin-left: 0;\\n }\\n &[data-style='expand-up'][data-loading] {\\n padding-top: 54px;\\n }\\n &[data-style='expand-up'][data-loading] .ladda-spinner {\\n opacity: 1;\\n top: 26px;\\n margin-top: 0;\\n }\\n &[data-style='expand-up'][data-loading][data-size='s'],\\n &[data-style='expand-up'][data-loading][data-size='xs'] {\\n padding-top: 32px;\\n }\\n &[data-style='expand-up'][data-loading][data-size='s'] .ladda-spinner,\\n &[data-style='expand-up'][data-loading][data-size='xs'] .ladda-spinner {\\n top: 4px;\\n }\\n &[data-style='expand-down'] {\\n overflow: hidden;\\n }\\n &[data-style='expand-down'] .ladda-spinner {\\n top: 62px;\\n left: 50%;\\n margin-left: 0;\\n }\\n &[data-style='expand-down'][data-size='s'] .ladda-spinner,\\n &[data-style='expand-down'][data-size='xs'] .ladda-spinner {\\n top: 40px;\\n }\\n &[data-style='expand-down'][data-loading] {\\n padding-bottom: 54px;\\n }\\n &[data-style='expand-down'][data-loading] .ladda-spinner {\\n opacity: 1;\\n }\\n &[data-style='expand-down'][data-loading][data-size='s'],\\n &[data-style='expand-down'][data-loading][data-size='xs'] {\\n padding-bottom: 32px;\\n }\\n &[data-style='slide-left'] {\\n overflow: hidden;\\n }\\n &[data-style='slide-left'] .ladda-label {\\n position: relative;\\n }\\n &[data-style='slide-left'] .ladda-spinner {\\n left: 100%;\\n margin-left: 0;\\n }\\n &[data-style='slide-left'][data-loading] .ladda-label {\\n opacity: 0;\\n left: -100%;\\n }\\n &[data-style='slide-left'][data-loading] .ladda-spinner {\\n opacity: 1;\\n left: 50%;\\n }\\n &[data-style='slide-right'] {\\n overflow: hidden;\\n }\\n &[data-style='slide-right'] .ladda-label {\\n position: relative;\\n }\\n &[data-style='slide-right'] .ladda-spinner {\\n right: 100%;\\n margin-left: 0;\\n left: 16px;\\n }\\n [dir='rtl'] &[data-style='slide-right'] .ladda-spinner {\\n right: auto;\\n }\\n &[data-style='slide-right'][data-loading] .ladda-label {\\n opacity: 0;\\n left: 100%;\\n }\\n &[data-style='slide-right'][data-loading] .ladda-spinner {\\n opacity: 1;\\n left: 50%;\\n }\\n &[data-style='slide-up'] {\\n overflow: hidden;\\n }\\n &[data-style='slide-up'] .ladda-label {\\n position: relative;\\n }\\n &[data-style='slide-up'] .ladda-spinner {\\n left: 50%;\\n margin-left: 0;\\n margin-top: 1em;\\n }\\n &[data-style='slide-up'][data-loading] .ladda-label {\\n opacity: 0;\\n top: -1em;\\n }\\n &[data-style='slide-up'][data-loading] .ladda-spinner {\\n opacity: 1;\\n margin-top: 0;\\n }\\n &[data-style='slide-down'] {\\n overflow: hidden;\\n }\\n &[data-style='slide-down'] .ladda-label {\\n position: relative;\\n }\\n &[data-style='slide-down'] .ladda-spinner {\\n left: 50%;\\n margin-left: 0;\\n margin-top: -2em;\\n }\\n &[data-style='slide-down'][data-loading] .ladda-label {\\n opacity: 0;\\n top: 1em;\\n }\\n &[data-style='slide-down'][data-loading] .ladda-spinner {\\n opacity: 1;\\n margin-top: 0;\\n }\\n &[data-style='zoom-out'] {\\n overflow: hidden;\\n }\\n &[data-style='zoom-out'] .ladda-spinner {\\n left: 50%;\\n margin-left: 32px;\\n transform: scale(2.5);\\n }\\n &[data-style='zoom-out'] .ladda-label {\\n position: relative;\\n display: inline-block;\\n }\\n &[data-style='zoom-out'][data-loading] .ladda-label {\\n opacity: 0;\\n transform: scale(0.5);\\n }\\n &[data-style='zoom-out'][data-loading] .ladda-spinner {\\n opacity: 1;\\n margin-left: 0;\\n transform: none;\\n }\\n &[data-style='zoom-in'] {\\n overflow: hidden;\\n }\\n &[data-style='zoom-in'] .ladda-spinner {\\n left: 50%;\\n margin-left: -16px;\\n transform: scale(0.2);\\n }\\n &[data-style='zoom-in'] .ladda-label {\\n position: relative;\\n display: inline-block;\\n }\\n &[data-style='zoom-in'][data-loading] .ladda-label {\\n opacity: 0;\\n transform: scale(2.2);\\n }\\n &[data-style='zoom-in'][data-loading] .ladda-spinner {\\n opacity: 1;\\n margin-left: 0;\\n transform: none;\\n }\\n &[data-style='contract'] {\\n overflow: hidden;\\n width: 100px;\\n }\\n &[data-style='contract'] .ladda-spinner {\\n left: 50%;\\n margin-left: 0;\\n }\\n &[data-style='contract'][data-loading] {\\n border-radius: 50%;\\n width: 52px;\\n }\\n &[data-style='contract'][data-loading] .ladda-label {\\n opacity: 0;\\n }\\n &[data-style='contract'][data-loading] .ladda-spinner {\\n opacity: 1;\\n }\\n &[data-style='contract-overlay'] {\\n overflow: hidden;\\n width: 100px;\\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);\\n }\\n &[data-style='contract-overlay'] .ladda-spinner {\\n left: 50%;\\n margin-left: 0;\\n }\\n &[data-style='contract-overlay'][data-loading] {\\n border-radius: 50%;\\n width: 52px;\\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);\\n }\\n &[data-style='contract-overlay'][data-loading] .ladda-label {\\n opacity: 0;\\n }\\n &[data-style='contract-overlay'][data-loading] .ladda-spinner {\\n opacity: 1;\\n }\\n [dir='rtl'] .ladda-spinner > div {\\n left: 25% !important;\\n }\\n\"])), function (props) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;\n return ((_a = props.theme.buttons) === null || _a === void 0 ? void 0 : _a.style) === 'bootstrap' &&\n \"\\n border-radius: 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: color 0.15s ease-in-out, background-color 0.15s ease-in-out,\\n // border-color 0.15s ease-in-out, 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: \".concat((_f = (_b = props.$textColor) !== null && _b !== void 0 ? _b : (_e = (_c = props.theme.buttons) === null || _c === void 0 ? void 0 : _c[(_d = props.$variant) !== null && _d !== void 0 ? _d : 'primary']) === null || _e === void 0 ? void 0 : _e.textColor) !== null && _f !== void 0 ? _f : '#fff', \";\\n --bs-btn-bg: \").concat((_l = (_g = props.$backgroundColor) !== null && _g !== void 0 ? _g : (_k = (_h = props.theme.buttons) === null || _h === void 0 ? void 0 : _h[(_j = props.$variant) !== null && _j !== void 0 ? _j : 'primary']) === null || _k === void 0 ? void 0 : _k.backgroundColor) !== null && _l !== void 0 ? _l : '#0d6efd', \";\\n --bs-btn-border-color: var(--bs-btn-bg);\\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: \").concat((_q = (_m = props.$disabledTextColor) !== null && _m !== void 0 ? _m : (_p = (_o = props.theme.buttons) === null || _o === void 0 ? void 0 : _o.loading) === null || _p === void 0 ? void 0 : _p.textColor) !== null && _q !== void 0 ? _q : '#fff', \";\\n --bs-btn-disabled-bg: \").concat((_u = (_r = props.$disabledBackgroundColor) !== null && _r !== void 0 ? _r : (_t = (_s = props.theme.buttons) === null || _s === void 0 ? void 0 : _s.loading) === null || _t === void 0 ? void 0 : _t.backgroundColor) !== null && _u !== void 0 ? _u : 'gray', \";\\n --bs-btn-disabled-border-color: \").concat((_v = props.$disabledBackgroundColor) !== null && _v !== void 0 ? _v : '#0d6efd', \";\\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});\nvar templateObject_1;\n//# sourceMappingURL=LoaderButton.js.map","import React, { useContext } from 'react';\nimport { OverlayContainer, OverlayImageContainer, OverlayInner, } from '../common/overlay';\nimport { useTranslation } from 'react-i18next';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { SubmissionContext } from './SubmissionProvider';\nexport var GeolocationAccessDeniedOverlay = function (_a) {\n var accessBlockedImageUrl = _a.accessBlockedImageUrl;\n var t = useTranslation().t;\n var retryLocationAccess = useContext(SubmissionContext).retryLocationAccess;\n return (React.createElement(OverlayContainer, null,\n React.createElement(\"div\", { style: { display: 'flex', height: '100%' } },\n React.createElement(OverlayInner, { style: { maxWidth: 500, height: 'auto', margin: 'auto' } },\n React.createElement(OverlayImageContainer, { style: { flexGrow: 0 } },\n React.createElement(\"img\", { src: accessBlockedImageUrl, alt: '' })),\n React.createElement(\"h3\", null, t('Your location access is disabled')),\n React.createElement(\"p\", { style: { lineHeight: 1.5, marginBottom: 50 } }, t('This application requires access to your location to continue. ' +\n 'Please accept the permission once prompted by the browser. ' +\n 'If the browser does not prompt for location permissions, you must go to settings ' +\n 'and provide location access to the current browser.')),\n React.createElement(LoaderButton, { variant: \"primary\", onClick: retryLocationAccess, style: { width: 200, marginLeft: 'auto', marginRight: 'auto' }, finished: true }, t('Retry'))))));\n};\n//# sourceMappingURL=GeolocationAccessDeniedOverlay.js.map","import { __extends } from \"tslib\";\nvar SubmissionError = /** @class */ (function (_super) {\n __extends(SubmissionError, _super);\n function SubmissionError(status) {\n var _this = _super.call(this, status.statusMessage) || this;\n _this.status = status;\n return _this;\n }\n return SubmissionError;\n}(Error));\nexport { SubmissionError };\nvar NetworkError = /** @class */ (function (_super) {\n __extends(NetworkError, _super);\n function NetworkError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return NetworkError;\n}(Error));\nexport { NetworkError };\nvar SessionValidationFailedError = /** @class */ (function (_super) {\n __extends(SessionValidationFailedError, _super);\n function SessionValidationFailedError(err, host) {\n var _this = _super.call(this, err.message) || this;\n _this.err = err;\n _this.host = host;\n return _this;\n }\n return SessionValidationFailedError;\n}(Error));\nexport { SessionValidationFailedError };\n//# sourceMappingURL=Errors.js.map","import React from 'react';\nimport { OverlayContainer, OverlayInner } from '../common/overlay';\nimport { NetworkError } from './Errors';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslation } from 'react-i18next';\nexport var SubmissionErrorOverlay = function (_a) {\n var error = _a.error, onRetry = _a.onRetry;\n return (React.createElement(OverlayContainer, null,\n React.createElement(OverlayInner, { style: { justifyContent: 'center' } }, error instanceof NetworkError ? (React.createElement(NetworkErrorContent, { error: error, onRetry: onRetry })) : (React.createElement(SubmissionErrorContent, { error: error })))));\n};\nvar SubmissionErrorContent = function (_a) {\n var error = _a.error;\n var t = useTranslation().t;\n var headingText = t(\"We're sorry, an unexpected error has occurred.\");\n return (React.createElement(React.Fragment, null,\n React.createElement(\"h3\", { style: { marginBottom: 8 } }, headingText),\n error.status.statusCode && (React.createElement(\"p\", { style: { marginBottom: 0 } },\n React.createElement(\"code\", null,\n \"Status: \",\n error.status.statusCode))),\n React.createElement(\"p\", { style: { marginBottom: 0 } },\n \"Message: \",\n React.createElement(\"code\", null, error.message)),\n error.status.errorData && (React.createElement(\"p\", { style: { marginBottom: 0 } },\n \"Data: \",\n React.createElement(\"code\", null, error.status.errorData)))));\n};\nvar NetworkErrorContent = function (_a) {\n var onRetry = _a.onRetry;\n var t = useTranslation().t;\n var headingText = t('Network unreachable');\n var messageText = t(\"We're having trouble reaching our services, please check your connection and try again.\");\n var retryText = t('Retry');\n return (React.createElement(React.Fragment, null,\n React.createElement(\"h3\", { style: { marginBottom: 8 } }, headingText),\n React.createElement(\"p\", { style: { marginBottom: 0 } }, messageText),\n onRetry && (React.createElement(\"div\", { style: { marginTop: 32 } },\n React.createElement(LoaderButton, { variant: \"warning\", finished: true, onClick: onRetry }, retryText)))));\n};\n//# sourceMappingURL=SubmissionErrorOverlay.js.map","import React from 'react';\nimport { OverlayContainer, OverlayInner } from '../common/overlay';\nexport var SessionIdMissingOverlay = function () {\n return (React.createElement(OverlayContainer, null,\n React.createElement(OverlayInner, { style: { justifyContent: 'center' } },\n React.createElement(\"h3\", { style: { marginBottom: 8 } }, \"IDmission WebSDK failed to load\"),\n React.createElement(\"p\", { style: { marginBottom: 0 } },\n \"Required property \",\n React.createElement(\"code\", null, \"sessionId\"),\n \" is missing.\"),\n React.createElement(\"p\", { style: { lineHeight: '1.5rem' } },\n \"Please refer to the\",\n ' ',\n React.createElement(\"a\", { href: \"https://www.npmjs.com/package/idmission-web-sdk#getting-started\", target: \"_blank\", rel: \"noreferrer\" }, \"Getting Started\"),\n ' ',\n \"section of the documentation for information on how to use your credentials to generate a valid session for your IDmission account. Every usage of the IDmission WebSDK must be authorized with a valid session from IDmission's servers.\"))));\n};\n//# sourceMappingURL=SessionIdMissingOverlay.js.map","import React from 'react';\nimport { OverlayContainer, OverlayInner } from '../common/overlay';\nexport var SessionValidationFailedOverlay = function (_a) {\n var message = _a.message;\n return (React.createElement(OverlayContainer, null,\n React.createElement(OverlayInner, { style: { justifyContent: 'center' } },\n React.createElement(\"h3\", { style: { marginBottom: 8 } }, \"IDmission WebSDK failed to load\"),\n React.createElement(\"p\", { style: { marginBottom: 0 } },\n \"Required property \",\n React.createElement(\"code\", null, \"sessionId\"),\n \" is not valid\",\n message && \" (\".concat(message, \")\"),\n \".\"),\n React.createElement(\"p\", { style: { lineHeight: '1.5rem' } },\n \"Please refer to the\",\n ' ',\n React.createElement(\"a\", { href: \"https://www.npmjs.com/package/idmission-web-sdk#getting-started\", target: \"_blank\", rel: \"noreferrer\" }, \"Getting Started\"),\n ' ',\n \"section of the documentation for information on how to use your credentials to generate a valid session for your IDmission account. Every usage of the IDmission WebSDK must be authorized with a valid session from IDmission's servers.\"))));\n};\n//# sourceMappingURL=SessionValidationFailedOverlay.js.map","import React from 'react';\nimport { OverlayContainer, OverlayInner } from '../common/overlay';\nexport var AuthUrlNotAllowedOverlay = function () {\n return (React.createElement(OverlayContainer, null,\n React.createElement(OverlayInner, { style: { justifyContent: 'center' } },\n React.createElement(\"h3\", { style: { marginBottom: 8 } }, \"IDmission WebSDK failed to load\"),\n React.createElement(\"p\", { style: { marginBottom: 0 } },\n \"Required property \",\n React.createElement(\"code\", null, \"authUrl\"),\n \" comes from an unrecognized issuer.\"),\n React.createElement(\"p\", { style: { marginBottom: 0, lineHeight: '1.5rem' } }, \"Ensure you are generating a fresh session for each request to the IDmission WebSDK.\"),\n React.createElement(\"p\", { style: { lineHeight: '1.5rem' } },\n \"Please refer to the\",\n ' ',\n React.createElement(\"a\", { href: \"https://www.npmjs.com/package/idmission-web-sdk#getting-started\", target: \"_blank\", rel: \"noreferrer\" }, \"Getting Started\"),\n ' ',\n \"section of the documentation for information on how to use your credentials to generate a valid session for your IDmission account. Every usage of the IDmission WebSDK must be authorized with a valid session from IDmission's servers.\"))));\n};\n//# sourceMappingURL=AuthUrlNotAllowedOverlay.js.map","import React from 'react';\nimport { OverlayContainer, OverlayInner } from '../common/overlay';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslation } from 'react-i18next';\nexport var SessionValidationErrorOverlay = function (_a) {\n var error = _a.error, onRetry = _a.onRetry;\n var t = useTranslation().t;\n var retryText = t('Retry');\n return (React.createElement(OverlayContainer, null,\n React.createElement(OverlayInner, { style: { justifyContent: 'center' } },\n React.createElement(\"h3\", { style: { marginBottom: 8 } }, \"IDmission WebSDK failed to load\"),\n React.createElement(\"p\", { style: { marginBottom: 0 } }, (error === null || error === void 0 ? void 0 : error.host) ? (React.createElement(React.Fragment, null,\n \"Failed to reach \",\n React.createElement(\"code\", null, error.host),\n \".\")) : (React.createElement(React.Fragment, null,\n \"Failed to validate \",\n React.createElement(\"code\", null, \"sessionId\"),\n \".\"))),\n (error === null || error === void 0 ? void 0 : error.message) && (React.createElement(\"p\", { style: { marginBottom: 0, lineHeight: '1.5rem' } },\n React.createElement(\"code\", null, error.message))),\n React.createElement(\"p\", { style: { marginBottom: 0, lineHeight: '1.5rem' } },\n \"Please ensure that IDmission's servers can be reached. If you believe you have reached this page in error, please contact us at\",\n ' ',\n React.createElement(\"a\", { href: \"mailto:support@idmission.com\" }, \"support@idmission.com\"),\n \".\"),\n onRetry && (React.createElement(\"div\", { style: { marginTop: 32 } },\n React.createElement(LoaderButton, { variant: \"warning\", finished: true, onClick: onRetry }, retryText))))));\n};\n//# sourceMappingURL=SessionValidationErrorOverlay.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nexport var Spinner = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\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 (_a) {\n var $size = _a.$size;\n return $size !== null && $size !== void 0 ? $size : 80;\n}, function (_a) {\n var $size = _a.$size;\n return $size !== null && $size !== void 0 ? $size : 80;\n}, function (_a) {\n var $size = _a.$size;\n return ($size !== null && $size !== void 0 ? $size : 80) - 16;\n}, function (_a) {\n var $size = _a.$size;\n return ($size !== null && $size !== void 0 ? $size : 80) - 16;\n}, function (_a) {\n var $thickness = _a.$thickness;\n return $thickness !== null && $thickness !== void 0 ? $thickness : 6;\n}, function (_a) {\n var $color = _a.$color;\n return $color !== null && $color !== void 0 ? $color : '#888';\n}, function (_a) {\n var $color = _a.$color;\n return $color !== null && $color !== void 0 ? $color : '#888';\n}, function (_a) {\n var $color = _a.$color;\n return $color !== null && $color !== void 0 ? $color : '#888';\n});\nvar templateObject_1;\n//# sourceMappingURL=spinner.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport React, { createContext, useContext, useEffect, useReducer, } from 'react';\nimport { SessionValidationFailedError } from '../components/submission/Errors';\nimport { SessionIdMissingOverlay } from '../components/submission/SessionIdMissingOverlay';\nimport { SessionValidationFailedOverlay } from '../components/submission/SessionValidationFailedOverlay';\nimport { AuthUrlNotAllowedOverlay } from '../components/submission/AuthUrlNotAllowedOverlay';\nimport { SessionValidationErrorOverlay } from '../components/submission/SessionValidationErrorOverlay';\nimport { PageContainer } from '../components/common/Page';\nimport { Spinner } from '../components/common/spinner';\nexport var defaultAuthUrl = 'https://portal-api.idmission.com';\nexport var allowedAuthUrls = [\n 'https://portal-api.idmission.com',\n 'https://portal-api-uat.idmission.com',\n 'https://portal-api-demo.idmission.com',\n 'https://portal-api-dev.idmission.com',\n 'http://localhost:10000',\n];\nexport function setDefaultAuthUrl(url) {\n if (!allowedAuthUrls.includes(url))\n throw new Error('invalid auth url');\n defaultAuthUrl = url;\n}\nvar initialState = {\n authUrl: defaultAuthUrl,\n sessionCheckState: 'READY',\n};\nexport var AuthStateContext = createContext(initialState);\nexport var AuthDispatchContext = createContext(function () { });\nvar reducer = function (state, action) {\n switch (action.type) {\n case 'setSessionId':\n return __assign(__assign({}, state), { sessionId: action.payload });\n case 'setCheckState':\n return __assign(__assign({}, state), { sessionCheckState: action.payload });\n case 'setError':\n return __assign(__assign({}, state), { sessionCheckState: 'ERROR', authError: action.payload });\n case 'retry':\n return __assign(__assign({}, state), { sessionCheckState: 'READY', authError: undefined, sessionId: undefined });\n default:\n return state;\n }\n};\nexport function useAuthReducer(authUrl, sessionId) {\n var _this = this;\n if (authUrl === void 0) { authUrl = defaultAuthUrl; }\n var _a = useReducer(reducer, __assign(__assign({}, initialState), { authUrl: authUrl })), state = _a[0], dispatch = _a[1];\n var resolvedSessionId = state.sessionId, sessionCheckState = state.sessionCheckState;\n useEffect(function () {\n if (!allowedAuthUrls.includes(authUrl))\n return dispatch({\n type: 'setCheckState',\n payload: 'AUTH_URL_NOT_ALLOWED',\n });\n }, [authUrl]);\n useEffect(function () {\n if (sessionCheckState !== 'READY')\n return;\n if (!resolvedSessionId) {\n if (!sessionId)\n return dispatch({ type: 'setCheckState', payload: 'MISSING' });\n if (typeof sessionId === 'string')\n return dispatch({ type: 'setSessionId', payload: sessionId });\n if (sessionId instanceof Function) {\n sessionId()\n .then(function (sessionId) {\n dispatch({ type: 'setSessionId', payload: sessionId });\n })\n .catch(function (e) {\n dispatch({\n type: 'setError',\n payload: new SessionValidationFailedError(e, authUrl),\n });\n });\n }\n }\n else {\n dispatch({ type: 'setCheckState', payload: 'RUNNING' });\n (function () { return __awaiter(_this, void 0, void 0, function () {\n var resp, _a, valid, message, e_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 3, , 4]);\n return [4 /*yield*/, fetch(\"\".concat(authUrl, \"/portal.sessions.v1.SessionsService/ValidateSession\"), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ id: resolvedSessionId }),\n })];\n case 1:\n resp = _b.sent();\n return [4 /*yield*/, resp.json()];\n case 2:\n _a = _b.sent(), valid = _a.valid, message = _a.message;\n if (!resp.ok) {\n dispatch({\n type: 'setError',\n payload: new SessionValidationFailedError(new Error(message), authUrl),\n });\n }\n dispatch({\n type: 'setCheckState',\n payload: valid ? 'PASSED' : 'FAILED',\n });\n return [3 /*break*/, 4];\n case 3:\n e_1 = _b.sent();\n dispatch({\n type: 'setError',\n payload: new SessionValidationFailedError(e_1, authUrl),\n });\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n }); })();\n }\n }, [authUrl, sessionCheckState, resolvedSessionId, sessionId]);\n return [state, dispatch];\n}\nexport function useAuthContext() {\n var state = useContext(AuthStateContext);\n var dispatch = useContext(AuthDispatchContext);\n if (!state || !dispatch)\n throw new Error('useAuthContext cannot be used without AuthStateProvider');\n return [state, dispatch];\n}\nexport function AuthProvider(_a) {\n var _b;\n var _c = _a.authUrl, authUrl = _c === void 0 ? defaultAuthUrl : _c, sessionId = _a.sessionId, children = _a.children;\n var _d = useAuthReducer(authUrl, sessionId), state = _d[0], dispatch = _d[1];\n if (state.sessionCheckState === 'MISSING') {\n return React.createElement(SessionIdMissingOverlay, null);\n }\n if (state.sessionCheckState === 'FAILED') {\n return React.createElement(SessionValidationFailedOverlay, { message: (_b = state.authError) === null || _b === void 0 ? void 0 : _b.message });\n }\n if (state.sessionCheckState === 'AUTH_URL_NOT_ALLOWED') {\n return React.createElement(AuthUrlNotAllowedOverlay, null);\n }\n if (state.sessionCheckState === 'ERROR') {\n return (React.createElement(SessionValidationErrorOverlay, { error: state.authError, onRetry: function () { return dispatch({ type: 'retry' }); } }));\n }\n if (state.sessionCheckState === 'READY' ||\n state.sessionCheckState === 'RUNNING')\n return (React.createElement(PageContainer, { className: \"flex\" },\n React.createElement(Spinner, null)));\n return (React.createElement(AuthStateContext.Provider, { value: state },\n React.createElement(AuthDispatchContext.Provider, { value: dispatch }, children)));\n}\n//# sourceMappingURL=AuthStateContext.js.map","import { useEffect } from 'react';\nexport var LogLevel;\n(function (LogLevel) {\n LogLevel[LogLevel[\"Off\"] = 0] = \"Off\";\n LogLevel[LogLevel[\"Error\"] = 1] = \"Error\";\n LogLevel[LogLevel[\"Warn\"] = 2] = \"Warn\";\n LogLevel[LogLevel[\"Info\"] = 3] = \"Info\";\n LogLevel[LogLevel[\"Debug\"] = 4] = \"Debug\";\n})(LogLevel || (LogLevel = {}));\nvar logLevel = LogLevel.Warn;\nexport function useLogLevel(newLogLevel) {\n useEffect(function () {\n var oldLogLevel = logLevel;\n if (newLogLevel === oldLogLevel)\n return;\n logLevel = newLogLevel;\n return function () {\n logLevel = oldLogLevel;\n };\n }, [newLogLevel]);\n}\nexport function useDebugLogging(enabled) {\n useLogLevel(enabled ? LogLevel.Debug : logLevel);\n}\nexport function debug() {\n var parts = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n parts[_i] = arguments[_i];\n }\n if (logLevel < LogLevel.Debug)\n return;\n console.debug.apply(console, parts); // eslint-disable-line\n}\nexport function log() {\n var parts = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n parts[_i] = arguments[_i];\n }\n if (logLevel < LogLevel.Info)\n return;\n console.log.apply(console, parts); // eslint-disable-line\n}\nexport function warn() {\n var parts = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n parts[_i] = arguments[_i];\n }\n if (logLevel < LogLevel.Warn)\n return;\n console.warn.apply(console, parts); // eslint-disable-line\n}\nexport function error() {\n var parts = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n parts[_i] = arguments[_i];\n }\n if (logLevel < LogLevel.Error)\n return;\n console.error.apply(console, parts); // eslint-disable-line\n}\nexport function time(label) {\n if (logLevel < LogLevel.Info)\n return;\n console.time(label); // eslint-disable-line\n}\nexport function timeEnd(label) {\n if (logLevel < LogLevel.Info)\n return;\n console.timeEnd(label); // eslint-disable-line\n}\nexport default log;\n//# sourceMappingURL=logger.js.map","import { __assign, __awaiter, __generator, __spreadArray } from \"tslib\";\nimport React, { createContext, useCallback, useEffect, useState, } from 'react';\nimport { apiHeaders, attachMetadataToRequest, determineSubmissionEndpoint, determineSubmissionHost, liveCheckEndpoint, SubmissionAction, SubmissionStatus, videoDataUrlToB64, } from '../../contexts/SubmissionContext';\nimport { blobToB64, dataUrlToBase64, dataUrlToBase64Sync, } from '../../lib/utils/dataUrlToBase64';\nimport { GeolocationAccessDeniedOverlay } from './GeolocationAccessDeniedOverlay';\nimport { SubmissionErrorOverlay } from './SubmissionErrorOverlay';\nimport { NetworkError, SubmissionError } from './Errors';\nimport { setDefaultAuthUrl, useAuthContext, } from '../../contexts/AuthStateContext';\nimport { Upload } from 'tus-js-client';\nimport log from '../../lib/utils/logger';\nexport var defaultSubmissionUrl = 'https://portal-api.idmission.com/swagger';\nexport function setDefaultSubmissionUrl(url) {\n defaultSubmissionUrl = url;\n}\nexport var defaultDocumentServiceUrl = 'https://portal-api.idmission.com/files/';\nexport function setDefaultDocumentServiceUrl(url) {\n defaultDocumentServiceUrl = url;\n}\nexport function setServerUrl(url) {\n setDefaultAuthUrl(url);\n setDefaultSubmissionUrl(url + '/swagger');\n setDefaultDocumentServiceUrl(url + '/files/');\n}\nexport var SubmissionContext = createContext({\n submit: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, null];\n }); }); },\n submissionStatus: SubmissionStatus.READY,\n submissionRequest: null,\n submissionResponse: null,\n submissionError: null,\n submissionEnvironment: 'prod',\n idFrontImage: null,\n idBackImage: null,\n passportImage: null,\n selfieImage: null,\n signatureData: null,\n signatureVideoUrl: null,\n idCaptureVideoUrl: null,\n idCaptureVideoIdFrontImage: null,\n idCaptureVideoIdBackImage: null,\n idCaptureVideoAudioUrl: null,\n idCaptureVideoAudioStartsAt: null,\n additionalDocuments: null,\n setIdFrontImage: function () { return null; },\n setIdBackImage: function () { return null; },\n setPassportImage: function () { return null; },\n setSelfieImage: function () { return null; },\n setSignatureData: function () { return null; },\n setSignatureVideoUrl: function () { return null; },\n setIdCaptureVideoUrl: function () { return null; },\n setIdCaptureVideoIdFrontImage: function () { return null; },\n setIdCaptureVideoIdBackImage: function () { return null; },\n setIdCaptureVideoAudioUrl: function () { return null; },\n setIdCaptureVideoAudioStartsAt: function () { return null; },\n setExpectedAudioText: function () { return null; },\n setAdditionalDocuments: function () { return null; },\n uploadDocument: Promise.resolve,\n logIdFrontCaptureAttempt: function () { return null; },\n logIdBackCaptureAttempt: function () { return null; },\n logSelfieCaptureAttempt: function () { return null; },\n livenessCheckRequest: null,\n checkLiveness: function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw new Error('checkLiveness is not implemented');\n });\n }); },\n retryLocationAccess: function () { return null; },\n});\nexport var SubmissionProvider = function (_a) {\n var action = _a.action, children = _a.children, _b = _a.submissionUrl, submissionUrl = _b === void 0 ? defaultSubmissionUrl : _b, _c = _a.environment, environment = _c === void 0 ? 'prod' : _c, companyId = _a.companyId, enrollmentId = _a.enrollmentId, personalData = _a.personalData, cardData = _a.cardData, idData = _a.idData, _d = _a.bypassAgeValidation, bypassAgeValidation = _d === void 0 ? false : _d, _e = _a.bypassNameMatching, bypassNameMatching = _e === void 0 ? true : _e, _f = _a.needImmediateResponse, needImmediateResponse = _f === void 0 ? false : _f, _g = _a.manualReviewRequired, manualReviewRequired = _g === void 0 ? false : _g, _h = _a.idBackImageRequired, idBackImageRequired = _h === void 0 ? true : _h, _j = _a.idImageResolutionCheck, idImageResolutionCheck = _j === void 0 ? true : _j, _k = _a.verifyIdWithExternalDatabases, verifyIdWithExternalDatabases = _k === void 0 ? false : _k, _l = _a.deduplicationEnabled, deduplicationEnabled = _l === void 0 ? false : _l, _m = _a.deduplicationSynchronous, deduplicationSynchronous = _m === void 0 ? false : _m, idCardForFaceMatch = _a.idCardForFaceMatch, _o = _a.geolocationEnabled, geolocationEnabled = _o === void 0 ? true : _o, _p = _a.geolocationRequired, geolocationRequired = _p === void 0 ? false : _p, _q = _a.webhooksEnabled, webhooksEnabled = _q === void 0 ? false : _q, webhooksClientTraceId = _a.webhooksClientTraceId, _r = _a.webhooksStripSpecialCharacters, webhooksStripSpecialCharacters = _r === void 0 ? true : _r, _s = _a.webhooksSendInputImages, webhooksSendInputImages = _s === void 0 ? false : _s, _t = _a.webhooksSendProcessedImages, webhooksSendProcessedImages = _t === void 0 ? false : _t, _u = _a.webhooksFireOnReview, webhooksFireOnReview = _u === void 0 ? false : _u, customerDataMatchConfig = _a.customerDataMatchConfig, precapturedDocuments = _a.precapturedDocuments, _v = _a.documentServiceUrl, documentServiceUrl = _v === void 0 ? defaultDocumentServiceUrl : _v, _w = _a.sendBase64DocumentsInSwaggerProxy, sendBase64DocumentsInSwaggerProxy = _w === void 0 ? false : _w, onSubmit = _a.onSubmit, onBeforeSubmit = _a.onBeforeSubmit, onBeforeLivenessCheck = _a.onBeforeLivenessCheck, onBeforeDocumentUpload = _a.onBeforeDocumentUpload, onDocumentUploadProgress = _a.onDocumentUploadProgress, onDocumentUploaded = _a.onDocumentUploaded, onDocumentUploadFailed = _a.onDocumentUploadFailed, onResponseReceived = _a.onResponseReceived, onRequestFailure = _a.onRequestFailure, clientRequestID = _a.clientRequestID;\n var sessionId = useAuthContext()[0].sessionId;\n var _x = useState(SubmissionStatus.READY), submissionStatus = _x[0], setSubmissionStatus = _x[1];\n var _y = useState(null), submissionRequest = _y[0], setSubmissionRequest = _y[1];\n var _z = useState(null), submissionResponse = _z[0], setSubmissionResponse = _z[1];\n var _0 = useState(null), submissionError = _0[0], setSubmissionError = _0[1];\n var _1 = useState(null), retrySubmission = _1[0], setRetrySubmission = _1[1];\n var _2 = useState(null), livenessCheckRequest = _2[0], setLivenessCheckRequest = _2[1];\n var _3 = useState(null), idFrontImage = _3[0], setIdFrontImage = _3[1];\n var _4 = useState(null), idBackImage = _4[0], setIdBackImage = _4[1];\n var _5 = useState(null), passportImage = _5[0], setPassportImage = _5[1];\n var _6 = useState(null), selfieImage = _6[0], setSelfieImage = _6[1];\n var _7 = useState(null), signatureData = _7[0], setSignatureData = _7[1];\n var _8 = useState(null), signatureVideoUrl = _8[0], setSignatureVideoUrl = _8[1];\n var _9 = useState(null), idCaptureVideoUrl = _9[0], setIdCaptureVideoUrl = _9[1];\n var _10 = useState(null), idCaptureVideoIdFrontImage = _10[0], setIdCaptureVideoIdFrontImage = _10[1];\n var _11 = useState(null), idCaptureVideoIdBackImage = _11[0], setIdCaptureVideoIdBackImage = _11[1];\n var _12 = useState(null), idCaptureVideoAudioUrl = _12[0], setIdCaptureVideoAudioUrl = _12[1];\n var _13 = useState(null), idCaptureVideoAudioStartsAt = _13[0], setIdCaptureVideoAudioStartsAt = _13[1];\n var _14 = useState(null), expectedAudioText = _14[0], setExpectedAudioText = _14[1];\n var _15 = useState(null), additionalDocuments = _15[0], setAdditionalDocuments = _15[1];\n var _16 = useState(null), geolocationResult = _16[0], setGeolocationResult = _16[1];\n var _17 = useState(0), geolocationAttempts = _17[0], setGeolocationAttempts = _17[1];\n var _18 = useState(false), geolocationBlocked = _18[0], setGeolocationBlocked = _18[1];\n var _19 = useState([]), idFrontCaptureAttempts = _19[0], setIdFrontCaptureAttempts = _19[1];\n var _20 = useState([]), idBackCaptureAttempts = _20[0], setIdBackCaptureAttempts = _20[1];\n var _21 = useState([]), selfieCaptureAttempts = _21[0], setSelfieCaptureAttempts = _21[1];\n var logIdFrontCaptureAttempt = useCallback(function (attempt) {\n setIdFrontCaptureAttempts(function (attempts) { return __spreadArray(__spreadArray([], attempts, true), [attempt], false); });\n }, []);\n var logIdBackCaptureAttempt = useCallback(function (attempt) {\n setIdBackCaptureAttempts(function (attempts) { return __spreadArray(__spreadArray([], attempts, true), [attempt], false); });\n }, []);\n var logSelfieCaptureAttempt = useCallback(function (attempt) {\n setSelfieCaptureAttempts(function (attempts) { return __spreadArray(__spreadArray([], attempts, true), [attempt], false); });\n }, []);\n useEffect(function () {\n if (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie) {\n setSelfieImage(dataUrlToBase64Sync(precapturedDocuments.selfie.imageData));\n }\n }, [precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie]);\n var uploadDocument = useCallback(function (src, metadata) {\n return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {\n var blob, _a, upload;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n blob = typeof src === 'string' ? convertBase64ToBlob(src) : src;\n _a = onBeforeDocumentUpload;\n if (!_a) return [3 /*break*/, 2];\n return [4 /*yield*/, (onBeforeDocumentUpload === null || onBeforeDocumentUpload === void 0 ? void 0 : onBeforeDocumentUpload(blob, metadata))];\n case 1:\n _a = (_b.sent()) === false;\n _b.label = 2;\n case 2:\n if (_a)\n return [2 /*return*/, resolve(blobToB64(blob))];\n upload = createUpload(blob, {\n endpoint: documentServiceUrl,\n retryDelays: [0, 1000, 1000, 1000, 3000, 5000, 10000, 20000],\n headers: { 'X-Session-Id': sessionId },\n metadata: metadata || { filetype: blob.type },\n onProgress: function (bytesUploaded, bytesTotal) {\n onDocumentUploadProgress === null || onDocumentUploadProgress === void 0 ? void 0 : onDocumentUploadProgress({\n bytesUploaded: bytesUploaded,\n bytesTotal: bytesTotal,\n percentage: ((bytesUploaded / bytesTotal) * 100).toFixed(2) + '%',\n metadata: metadata,\n });\n },\n onSuccess: function () {\n var _a;\n var documentId = 'urn:documentsv1:' +\n ((_a = upload.url.split('/files/').pop()) === null || _a === void 0 ? void 0 : _a.split('+').shift());\n onDocumentUploaded === null || onDocumentUploaded === void 0 ? void 0 : onDocumentUploaded(documentId, metadata);\n resolve(documentId);\n },\n onError: function (error) {\n log('Failed because: ' + error);\n onDocumentUploadFailed === null || onDocumentUploadFailed === void 0 ? void 0 : onDocumentUploadFailed(error, metadata);\n reject(error);\n },\n });\n // Check if there are any previous uploads to continue.\n upload.findPreviousUploads().then(function (previousUploads) {\n // Found previous uploads so we select the first one.\n if (previousUploads.length) {\n upload.resumeFromPreviousUpload(previousUploads[0]);\n }\n // Start the upload\n upload.start();\n });\n return [2 /*return*/];\n }\n });\n }); });\n }, [\n onBeforeDocumentUpload,\n documentServiceUrl,\n sessionId,\n onDocumentUploadProgress,\n onDocumentUploaded,\n onDocumentUploadFailed,\n ]);\n var buildSubmissionPayload = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {\n function uploadIfPossible(src_1, filename_1) {\n return __awaiter(this, arguments, void 0, function (src, filename, filetype) {\n if (filetype === void 0) { filetype = 'image/jpeg'; }\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!documentServiceUrl)\n return [2 /*return*/, src];\n if (!src.startsWith('data:'))\n src = \"data:\".concat(filetype, \";base64,\").concat(src);\n return [4 /*yield*/, uploadDocument(src, { filename: filename, filetype: filetype })];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n }\n var documents, _a, _b, _c, submissionRequest, onBeforeSubmitResult;\n var _d;\n var _e, _f, _g;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n _d = {\n idFrontImage: idFrontImage,\n idBackImage: idBackImage,\n passportImage: passportImage,\n selfieImage: selfieImage\n };\n _a = signatureVideoUrl;\n if (!_a) return [3 /*break*/, 2];\n return [4 /*yield*/, videoDataUrlToB64(signatureVideoUrl)];\n case 1:\n _a = (_h.sent());\n _h.label = 2;\n case 2:\n _d.signatureVideo = _a;\n _b = idCaptureVideoUrl;\n if (!_b) return [3 /*break*/, 4];\n return [4 /*yield*/, videoDataUrlToB64(idCaptureVideoUrl)];\n case 3:\n _b = (_h.sent());\n _h.label = 4;\n case 4:\n _d.idCaptureVideo = _b;\n _c = idCaptureVideoAudioUrl;\n if (!_c) return [3 /*break*/, 6];\n return [4 /*yield*/, videoDataUrlToB64(idCaptureVideoAudioUrl)];\n case 5:\n _c = (_h.sent());\n _h.label = 6;\n case 6:\n documents = (_d.idCaptureVideoAudio = _c,\n _d.idCaptureVideoIdFrontImage = idCaptureVideoIdFrontImage,\n _d.idCaptureVideoIdBackImage = idCaptureVideoIdBackImage,\n _d);\n if (signatureData) {\n documents.signatureImage = signatureData === null || signatureData === void 0 ? void 0 : signatureData.fileContent;\n }\n if (!documentServiceUrl) return [3 /*break*/, 8];\n return [4 /*yield*/, Promise.all(Object.keys(documents).map(function (k) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!documents[k]) return [3 /*break*/, 2];\n _a = documents;\n _b = k;\n return [4 /*yield*/, uploadIfPossible(documents[k], k)];\n case 1:\n _a[_b] = _c.sent();\n _c.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); }))];\n case 7:\n _h.sent();\n _h.label = 8;\n case 8:\n submissionRequest = {\n securityData: { userName: '', password: '', merchantId: 0 },\n customerData: {\n idData: __assign({ idType: 'NSP', idCountry: 'NSP', idState: '' }, idData),\n },\n additionalData: {\n uniqueRequestId: new Date().getTime().toString(),\n manualReviewRequired: manualReviewRequired ? 'Y' : 'N',\n bypassAgeValidation: bypassAgeValidation ? 'Y' : 'N',\n bypassNameMatching: bypassNameMatching ? 'Y' : 'N',\n postDataAPIRequired: webhooksEnabled ? 'Y' : 'N',\n postDataOnReviewRequired: webhooksFireOnReview ? 'Y' : 'N',\n sendInputImagesInPost: webhooksSendInputImages ? 'Y' : 'N',\n sendProcessedImagesInPost: webhooksSendProcessedImages ? 'Y' : 'N',\n needImmediateResponse: needImmediateResponse ? 'Y' : 'N',\n deDuplicationRequired: deduplicationEnabled ? 'Y' : 'N',\n deduplicationSynchronous: deduplicationSynchronous ? 'Y' : 'N',\n verifyDataWithHost: verifyIdWithExternalDatabases ? 'Y' : 'N',\n idBackImageRequired: idBackImageRequired ? 'Y' : 'N',\n stripSpecialCharacters: webhooksStripSpecialCharacters ? 'Y' : 'N',\n idImageResolutionCheck: idImageResolutionCheck ? 'Y' : 'N',\n customerDataMatchConfig: customerDataMatchConfig,\n },\n };\n if (clientRequestID) {\n submissionRequest.additionalData.clientRequestID = clientRequestID;\n }\n if (documents.idFrontImage) {\n submissionRequest.customerData.idData.idImageFront =\n documents.idFrontImage;\n }\n if (documents.idBackImage) {\n submissionRequest.customerData.idData.idImageBack = documents.idBackImage;\n }\n if (documents.passportImage) {\n submissionRequest.customerData.idData.idImageFront =\n documents.passportImage;\n }\n if (documents.selfieImage) {\n // if (action === SubmissionAction.IDENTIFY) {\n // // TODO: remove once API is fixed\n // submissionRequest.biometricData = { selfie: documents.selfieImage }\n // }\n submissionRequest.customerData.biometricData = {\n selfie: documents.selfieImage,\n };\n }\n if (companyId) {\n submissionRequest.employee = { companyId: companyId };\n }\n if (personalData) {\n submissionRequest.customerData.personalData = personalData;\n }\n if (cardData) {\n submissionRequest.customerData.cardData = cardData;\n }\n if (enrollmentId) {\n (_e = submissionRequest.customerData).personalData || (_e.personalData = {});\n submissionRequest.customerData.personalData.uniqueNumber = enrollmentId;\n }\n if (webhooksClientTraceId) {\n submissionRequest.additionalData.clientTraceId = webhooksClientTraceId;\n }\n if (signatureData) {\n submissionRequest.customerData.signatureData = {\n signatureImage: JSON.stringify(signatureData),\n };\n if (documents.signatureVideo) {\n submissionRequest.customerData.signatureData.signatureVideo =\n documents.signatureVideo;\n }\n }\n if (additionalDocuments) {\n submissionRequest.customerData.additionalDocuments =\n additionalDocuments.map(function (d) { return (__assign(__assign({}, d), { additionalDocument: JSON.stringify(__assign(__assign({}, d.additionalDocument), { uniqueId: submissionRequest.additionalData.uniqueRequestId })) })); });\n }\n if (documents.idCaptureVideo) {\n (_f = submissionRequest.customerData).biometricData || (_f.biometricData = {});\n submissionRequest.customerData.biometricData.videoData =\n documents.idCaptureVideo;\n }\n if (documents.idCaptureVideoAudio) {\n (_g = submissionRequest.customerData).biometricData || (_g.biometricData = {});\n submissionRequest.customerData.biometricData.voiceData =\n documents.idCaptureVideoAudio;\n submissionRequest.customerData.biometricData.voiceStartTime =\n idCaptureVideoAudioStartsAt !== null && idCaptureVideoAudioStartsAt !== void 0 ? idCaptureVideoAudioStartsAt : undefined;\n submissionRequest.customerData.biometricData.expectedAudioText =\n expectedAudioText !== null && expectedAudioText !== void 0 ? expectedAudioText : undefined;\n }\n if (documents.idCaptureVideoIdFrontImage) {\n submissionRequest.customerData.idData.videoIdImageFront =\n documents.idCaptureVideoIdFrontImage;\n }\n if (documents.idCaptureVideoIdBackImage) {\n submissionRequest.customerData.idData.videoIdImageBack =\n documents.idCaptureVideoIdBackImage;\n }\n attachMetadataToRequest(submissionRequest, {\n selfieCaptureAttempts: selfieCaptureAttempts,\n idFrontCaptureAttempts: idFrontCaptureAttempts,\n idBackCaptureAttempts: idBackCaptureAttempts,\n geolocationResult: geolocationResult,\n });\n if (!onBeforeSubmit) return [3 /*break*/, 10];\n return [4 /*yield*/, onBeforeSubmit(submissionRequest)];\n case 9:\n onBeforeSubmitResult = _h.sent();\n if (onBeforeSubmitResult)\n submissionRequest = onBeforeSubmitResult;\n _h.label = 10;\n case 10: return [2 /*return*/, submissionRequest];\n }\n });\n }); }, [\n additionalDocuments,\n bypassAgeValidation,\n bypassNameMatching,\n cardData,\n clientRequestID,\n companyId,\n customerDataMatchConfig,\n deduplicationEnabled,\n deduplicationSynchronous,\n documentServiceUrl,\n enrollmentId,\n expectedAudioText,\n geolocationResult,\n idBackCaptureAttempts,\n idBackImage,\n idBackImageRequired,\n idCaptureVideoAudioStartsAt,\n idCaptureVideoAudioUrl,\n idCaptureVideoIdBackImage,\n idCaptureVideoIdFrontImage,\n idCaptureVideoUrl,\n idData,\n idFrontCaptureAttempts,\n idFrontImage,\n idImageResolutionCheck,\n manualReviewRequired,\n needImmediateResponse,\n onBeforeSubmit,\n passportImage,\n personalData,\n selfieCaptureAttempts,\n selfieImage,\n signatureData,\n signatureVideoUrl,\n uploadDocument,\n verifyIdWithExternalDatabases,\n webhooksClientTraceId,\n webhooksEnabled,\n webhooksFireOnReview,\n webhooksSendInputImages,\n webhooksSendProcessedImages,\n webhooksStripSpecialCharacters,\n ]);\n var defaultOnSubmit = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {\n var submissionResponse_1, payload, host, endpoint, response, statusMessage, submissionResponse_2, e_1, err;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (action === SubmissionAction.NONE) {\n submissionResponse_1 = {\n status: { statusCode: '000' },\n resultData: {},\n };\n setSubmissionStatus(SubmissionStatus.SUBMITTED);\n setSubmissionResponse(submissionResponse_1);\n return [2 /*return*/, submissionResponse_1];\n }\n setSubmissionStatus(SubmissionStatus.SUBMITTING);\n _b.label = 1;\n case 1:\n _b.trys.push([1, 7, , 8]);\n return [4 /*yield*/, buildSubmissionPayload()];\n case 2:\n payload = _b.sent();\n host = submissionUrl || determineSubmissionHost(environment);\n endpoint = determineSubmissionEndpoint(action, !!(idFrontImage || idBackImage || passportImage), !!selfieImage);\n return [4 /*yield*/, fetch(host + endpoint, {\n method: 'POST',\n headers: apiHeaders(sessionId, sendBase64DocumentsInSwaggerProxy),\n body: JSON.stringify(payload),\n }).catch(function (e) {\n throw new NetworkError(e.message);\n })];\n case 3:\n response = _b.sent();\n if (!(!response || !response.ok)) return [3 /*break*/, 5];\n return [4 /*yield*/, (response === null || response === void 0 ? void 0 : response.text())];\n case 4:\n statusMessage = _b.sent();\n if (!statusMessage || statusMessage === 'Load failed')\n throw new NetworkError(statusMessage);\n throw new SubmissionError({\n statusCode: (_a = response === null || response === void 0 ? void 0 : response.statusText) !== null && _a !== void 0 ? _a : '???',\n statusMessage: statusMessage,\n });\n case 5: return [4 /*yield*/, response.json()];\n case 6:\n submissionResponse_2 = _b.sent();\n if (submissionResponse_2.status.statusCode !== '000') {\n throw new SubmissionError(submissionResponse_2.status);\n }\n setSubmissionRequest(payload);\n setSubmissionResponse(submissionResponse_2);\n setSubmissionStatus(SubmissionStatus.SUBMITTED);\n onResponseReceived === null || onResponseReceived === void 0 ? void 0 : onResponseReceived(submissionResponse_2, payload);\n return [2 /*return*/, submissionResponse_2];\n case 7:\n e_1 = _b.sent();\n err = e_1;\n setSubmissionStatus(SubmissionStatus.FAILED);\n setSubmissionError(e_1 instanceof SubmissionError || e_1 instanceof NetworkError\n ? e_1\n : err.message === 'Load failed'\n ? new NetworkError()\n : new SubmissionError({\n statusCode: '',\n statusMessage: err.message,\n }));\n setRetrySubmission(function () {\n return ['VERIFY', 'IDENTIFY'].includes(action) ? function () { return null; } : defaultOnSubmit;\n });\n onRequestFailure === null || onRequestFailure === void 0 ? void 0 : onRequestFailure(err);\n throw err;\n case 8: return [2 /*return*/];\n }\n });\n }); }, [\n action,\n buildSubmissionPayload,\n submissionUrl,\n environment,\n idFrontImage,\n idBackImage,\n passportImage,\n selfieImage,\n sessionId,\n sendBase64DocumentsInSwaggerProxy,\n onResponseReceived,\n onRequestFailure,\n ]);\n var submit = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!onSubmit) return [3 /*break*/, 2];\n _a = onSubmit;\n return [4 /*yield*/, buildSubmissionPayload()];\n case 1: return [2 /*return*/, _a.apply(void 0, [_b.sent()])];\n case 2: return [4 /*yield*/, defaultOnSubmit()];\n case 3: return [2 /*return*/, _b.sent()];\n }\n });\n }); }, [buildSubmissionPayload, defaultOnSubmit, onSubmit]);\n var checkLiveness = useCallback(function (imageDataUrl) { return __awaiter(void 0, void 0, void 0, function () {\n var request, onBeforeLivenessCheckResult, host, endpoint, response, statusMessage, submissionResponse_3, e_2, err;\n var _a, _b, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _d.trys.push([0, 8, , 9]);\n _a = {\n securityData: { userName: '', password: '', merchantId: 0 }\n };\n _b = {};\n _c = {};\n return [4 /*yield*/, dataUrlToBase64(imageDataUrl)];\n case 1:\n request = (_a.customerData = (_b.biometricData = (_c.selfie = _d.sent(), _c),\n _b),\n _a.additionalData = {\n uniqueRequestId: new Date().getTime().toString(),\n stripSpecialCharacters: webhooksStripSpecialCharacters ? 'Y' : 'N',\n estimateAge: 'N',\n predictGender: 'N',\n },\n _a);\n if (clientRequestID) {\n request.additionalData.clientRequestID = clientRequestID;\n }\n if (idCardForFaceMatch) {\n request.customerData.idData = { idImageFront: idCardForFaceMatch };\n // TODO: remove when fixed\n request.customerData.additionalData = {\n uniqueRequestId: request.additionalData.uniqueRequestId,\n };\n }\n attachMetadataToRequest(request, {\n selfieCaptureAttempts: selfieCaptureAttempts,\n idFrontCaptureAttempts: idFrontCaptureAttempts,\n idBackCaptureAttempts: idBackCaptureAttempts,\n geolocationResult: geolocationResult,\n });\n setLivenessCheckRequest(request);\n if (!onBeforeLivenessCheck) return [3 /*break*/, 3];\n return [4 /*yield*/, onBeforeLivenessCheck(request)];\n case 2:\n onBeforeLivenessCheckResult = _d.sent();\n if (onBeforeLivenessCheckResult)\n request = onBeforeLivenessCheckResult;\n _d.label = 3;\n case 3:\n host = submissionUrl || determineSubmissionHost(environment);\n endpoint = liveCheckEndpoint(!!idCardForFaceMatch);\n return [4 /*yield*/, fetch(host + endpoint, {\n method: 'POST',\n headers: apiHeaders(sessionId, sendBase64DocumentsInSwaggerProxy),\n body: JSON.stringify(request),\n }).catch(function (e) {\n throw new NetworkError(e.message);\n })];\n case 4:\n response = _d.sent();\n if (!!response.ok) return [3 /*break*/, 6];\n return [4 /*yield*/, response.text()];\n case 5:\n statusMessage = _d.sent();\n if (!statusMessage || statusMessage === 'Load failed')\n throw new NetworkError(statusMessage);\n throw new SubmissionError({\n statusCode: response.statusText,\n statusMessage: statusMessage,\n });\n case 6: return [4 /*yield*/, response.json()];\n case 7:\n submissionResponse_3 = _d.sent();\n if (submissionResponse_3.status.statusCode !== '000') {\n throw new SubmissionError(submissionResponse_3.status);\n }\n setSubmissionResponse(submissionResponse_3);\n return [2 /*return*/, submissionResponse_3];\n case 8:\n e_2 = _d.sent();\n err = e_2;\n setSubmissionStatus(SubmissionStatus.FAILED);\n setSubmissionError(e_2 instanceof SubmissionError || e_2 instanceof NetworkError\n ? e_2\n : err.message === 'Load failed'\n ? new NetworkError()\n : new SubmissionError({\n statusCode: '',\n statusMessage: err.message,\n }));\n // the face liveness routine will call again, so don't repeat the call here.\n setRetrySubmission(function () { return function () { return null; }; });\n onRequestFailure === null || onRequestFailure === void 0 ? void 0 : onRequestFailure(err);\n throw err;\n case 9: return [2 /*return*/];\n }\n });\n }); }, [\n webhooksStripSpecialCharacters,\n clientRequestID,\n idCardForFaceMatch,\n selfieCaptureAttempts,\n idFrontCaptureAttempts,\n idBackCaptureAttempts,\n geolocationResult,\n onBeforeLivenessCheck,\n submissionUrl,\n environment,\n sessionId,\n sendBase64DocumentsInSwaggerProxy,\n onRequestFailure,\n ]);\n var retryLocationAccess = useCallback(function () {\n setGeolocationAttempts(function (n) { return n + 1; });\n }, []);\n useEffect(function () {\n if (!geolocationEnabled)\n return;\n log('making geolocation attempt', geolocationAttempts);\n navigator.geolocation.getCurrentPosition(function (position) {\n setGeolocationResult(position);\n setGeolocationBlocked(false);\n }, function (positionError) {\n if (positionError.code === 1) {\n setGeolocationBlocked(true);\n }\n else {\n throw new Error(positionError.message);\n }\n });\n }, [geolocationAttempts, geolocationEnabled, geolocationRequired]);\n var onRetry = useCallback(function () {\n if (!retrySubmission)\n return;\n setSubmissionError(null);\n setSubmissionStatus(SubmissionStatus.READY);\n retrySubmission();\n }, [retrySubmission]);\n var value = {\n submit: submit,\n submissionStatus: submissionStatus,\n submissionRequest: submissionRequest,\n submissionResponse: submissionResponse,\n submissionError: submissionError,\n submissionEnvironment: environment,\n idFrontImage: idFrontImage,\n idBackImage: idBackImage,\n passportImage: passportImage,\n selfieImage: selfieImage,\n signatureData: signatureData,\n signatureVideoUrl: signatureVideoUrl,\n idCaptureVideoUrl: idCaptureVideoUrl,\n idCaptureVideoIdFrontImage: idCaptureVideoIdFrontImage,\n idCaptureVideoIdBackImage: idCaptureVideoIdBackImage,\n idCaptureVideoAudioUrl: idCaptureVideoAudioUrl,\n idCaptureVideoAudioStartsAt: idCaptureVideoAudioStartsAt,\n additionalDocuments: additionalDocuments,\n setIdFrontImage: setIdFrontImage,\n setIdBackImage: setIdBackImage,\n setPassportImage: setPassportImage,\n setSelfieImage: setSelfieImage,\n setSignatureData: setSignatureData,\n setSignatureVideoUrl: setSignatureVideoUrl,\n setIdCaptureVideoUrl: setIdCaptureVideoUrl,\n setIdCaptureVideoIdFrontImage: setIdCaptureVideoIdFrontImage,\n setIdCaptureVideoIdBackImage: setIdCaptureVideoIdBackImage,\n setIdCaptureVideoAudioUrl: setIdCaptureVideoAudioUrl,\n setIdCaptureVideoAudioStartsAt: setIdCaptureVideoAudioStartsAt,\n setExpectedAudioText: setExpectedAudioText,\n setAdditionalDocuments: setAdditionalDocuments,\n uploadDocument: uploadDocument,\n logIdFrontCaptureAttempt: logIdFrontCaptureAttempt,\n logIdBackCaptureAttempt: logIdBackCaptureAttempt,\n logSelfieCaptureAttempt: logSelfieCaptureAttempt,\n livenessCheckRequest: livenessCheckRequest,\n checkLiveness: checkLiveness,\n retryLocationAccess: retryLocationAccess,\n };\n return (React.createElement(SubmissionContext.Provider, { value: value },\n geolocationRequired && geolocationBlocked ? (React.createElement(GeolocationAccessDeniedOverlay, null)) : (children),\n submissionError && (React.createElement(SubmissionErrorOverlay, { error: submissionError, onRetry: onRetry }))));\n};\nfunction createUpload(blob, options) {\n var UploadType = \n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n typeof window.tus !== 'undefined' ? window.tus.Upload : Upload;\n return new UploadType(blob, options);\n}\nfunction convertBase64ToBlob(base64Image) {\n // Split into two parts\n var parts = base64Image.split(';base64,');\n // Hold the content type\n var imageType = parts[0].split(':')[1];\n // Decode Base64 string\n var decodedData = window.atob(parts[1]);\n // Create UNIT8ARRAY of size same as row data length\n var uInt8Array = new Uint8Array(decodedData.length);\n // Insert all character code into uInt8Array\n for (var i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i);\n }\n // Return BLOB image after conversion\n return new Blob([uInt8Array], { type: imageType });\n}\n//# sourceMappingURL=SubmissionProvider.js.map","export function getFrameDimensions(frame) {\n var frameWidth = frame.width, frameHeight = frame.height;\n if (frame instanceof HTMLImageElement) {\n frameWidth = frame.naturalWidth;\n frameHeight = frame.naturalHeight;\n }\n if (frame instanceof HTMLVideoElement) {\n frameWidth = frame.videoWidth;\n frameHeight = frame.videoHeight;\n }\n return [frameWidth, frameHeight];\n}\n//# sourceMappingURL=getFrameDimensions.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nimport { getFrameDimensions } from '../../lib/utils/getFrameDimensions';\nexport var InvisibleCanvas = styled.canvas(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: none;\\n\"], [\"\\n display: none;\\n\"])));\nexport function drawToCanvas(canvas, frame, width, height) {\n if (!canvas)\n return;\n var ctx = canvas.getContext('2d');\n if (!ctx)\n return;\n if (!width || !height) {\n var _a = getFrameDimensions(frame), frameWidth = _a[0], frameHeight = _a[1];\n width || (width = frameWidth);\n height || (height = frameHeight);\n }\n canvas.width = width;\n canvas.height = height;\n ctx.drawImage(frame, 0, 0, width, height);\n}\nexport function clearCanvas(canvas) {\n var _a;\n (_a = canvas === null || canvas === void 0 ? void 0 : canvas.getContext('2d')) === null || _a === void 0 ? void 0 : _a.clearRect(0, 0, canvas === null || canvas === void 0 ? void 0 : canvas.width, canvas === null || canvas === void 0 ? void 0 : canvas.height);\n}\nvar templateObject_1;\n//# sourceMappingURL=InvisibleCanvas.js.map","import { __awaiter, __generator, __spreadArray } from \"tslib\";\nimport { useCallback, useEffect, useMemo, useRef, useState, } from 'react';\nimport { getPlatform } from '../utils/platform';\nimport { drawToCanvas } from '../../components/common/InvisibleCanvas';\nimport log, { error } from '../utils/logger';\nvar choosingCamera = false;\nexport function selectAndOpenCamera() {\n return __awaiter(this, arguments, void 0, function (resolution) {\n var video, stream, mediaTrackSettings, camera, chosenLabel, bestResDevice, videoDevices, _a;\n var _this = this;\n var _b, _c, _d, _e;\n if (resolution === void 0) { resolution = 'MID'; }\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n if (!choosingCamera) return [3 /*break*/, 2];\n return [4 /*yield*/, new Promise(function (resolve) {\n var interval = setInterval(function () {\n if (!choosingCamera) {\n clearInterval(interval);\n resolve(null);\n }\n }, 10);\n })];\n case 1:\n _f.sent();\n _f.label = 2;\n case 2:\n choosingCamera = true;\n video = {\n facingMode: { ideal: 'environment' },\n focusMode: 'continuous',\n };\n if (resolution === 'LOW') {\n video.width = { ideal: 640 };\n }\n else if (resolution === 'MID') {\n video.width = { ideal: 1920 };\n }\n return [4 /*yield*/, navigator.mediaDevices.getUserMedia({ video: video })];\n case 3:\n stream = _f.sent();\n mediaTrackSettings = stream.getVideoTracks()[0].getSettings();\n camera = {\n // you only get the labels for each camera if you call getUserMedia first.\n stream: stream,\n isRearFacing: false,\n release: function () {\n camera.stream.getTracks().forEach(function (track) { return track.stop(); });\n },\n width: (_b = mediaTrackSettings.width) !== null && _b !== void 0 ? _b : 0,\n height: (_c = mediaTrackSettings.height) !== null && _c !== void 0 ? _c : 0,\n label: '',\n };\n chosenLabel = '';\n bestResDevice = ['', 0, 0];\n return [4 /*yield*/, navigator.mediaDevices.enumerateDevices()];\n case 4:\n videoDevices = (_f.sent()).filter(function (deviceInfo) { return deviceInfo.kind === 'videoinput'; });\n return [4 /*yield*/, Promise.all(videoDevices.map(function (deviceInfo) { return __awaiter(_this, void 0, void 0, function () {\n var _a, maxWidth, maxHeight, label;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n log('checking out', deviceInfo.label, resolution);\n return [4 /*yield*/, getVideoDeviceMaxDimensions(deviceInfo)];\n case 1:\n _a = _b.sent(), maxWidth = _a.width, maxHeight = _a.height;\n log('device', deviceInfo.label, 'max dimensions', {\n maxWidth: maxWidth,\n maxHeight: maxHeight,\n });\n if (maxWidth > bestResDevice[1]) {\n bestResDevice = [deviceInfo.deviceId, maxWidth, maxHeight];\n }\n if (deviceInfo.label) {\n label = deviceInfo.label.toLocaleLowerCase().split(' ').join('');\n if (labelMatches(label, rearLabels) &&\n !labelMatches(label, backUltraWideLabels)) {\n camera.label = label;\n camera.isRearFacing = true;\n video.deviceId = deviceInfo.deviceId;\n chosenLabel = label;\n if (resolution === 'MAX') {\n log('going for max!', \"\".concat(maxWidth, \"x\").concat(maxHeight));\n video.width = { exact: maxWidth };\n video.height = { exact: maxHeight };\n }\n }\n }\n return [2 /*return*/];\n }\n });\n }); }))];\n case 5:\n _f.sent();\n if (resolution === 'MAX' && chosenLabel === '') {\n chosenLabel = bestResDevice[0];\n video.deviceId = bestResDevice[0];\n video.width = { ideal: bestResDevice[1] };\n video.height = { ideal: bestResDevice[2] };\n }\n log('chose device', chosenLabel, resolution);\n camera.label = chosenLabel;\n if (!video.deviceId) return [3 /*break*/, 7];\n camera.release();\n _a = camera;\n return [4 /*yield*/, navigator.mediaDevices.getUserMedia({ video: video })];\n case 6:\n _a.stream = _f.sent();\n mediaTrackSettings = camera.stream.getVideoTracks()[0].getSettings();\n camera.width = (_d = mediaTrackSettings.width) !== null && _d !== void 0 ? _d : 0;\n camera.height = (_e = mediaTrackSettings.height) !== null && _e !== void 0 ? _e : 0;\n _f.label = 7;\n case 7:\n log('SETTINGS', camera.stream.getVideoTracks()[0].getSettings());\n choosingCamera = false;\n return [2 /*return*/, camera];\n }\n });\n });\n}\n// interface HasCapabilities {\n// getCapabilities?: () => {\n// width: { max: number }\n// height: { max: number }\n// }\n// }\nexport function getVideoDeviceMaxDimensions(deviceInfo) {\n return __awaiter(this, void 0, void 0, function () {\n var best;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, bestAvailableResolution(deviceInfo)];\n case 1:\n best = _a.sent();\n if (!best)\n return [2 /*return*/, { width: 1, height: 1 }];\n return [2 /*return*/, { width: best.width, height: best.height }\n // try {\n // const {\n // width: { max: width },\n // height: { max: height },\n // } = (deviceInfo as HasCapabilities).getCapabilities?.() ?? {\n // width: { max: 1920 },\n // height: { max: 1080 },\n // }\n //\n // return { width, height }\n // } catch (e) {\n // error(e)\n // return { width: 1, height: 1 }\n // }\n ];\n }\n });\n });\n}\nexport var quickScan = [\n // {\n // label: '4K(UHD)',\n // width: 3840,\n // height: 2160,\n // ratio: '16:9',\n // },\n {\n label: '1080p(FHD)',\n width: 1920,\n height: 1080,\n ratio: '16:9',\n },\n {\n label: 'UXGA',\n width: 1600,\n height: 1200,\n ratio: '4:3',\n },\n {\n label: '720p(HD)',\n width: 1280,\n height: 720,\n ratio: '16:9',\n },\n {\n label: 'SVGA',\n width: 800,\n height: 600,\n ratio: '4:3',\n },\n {\n label: 'VGA',\n width: 640,\n height: 480,\n ratio: '4:3',\n },\n {\n label: '360p(nHD)',\n width: 640,\n height: 360,\n ratio: '16:9',\n },\n {\n label: 'CIF',\n width: 352,\n height: 288,\n ratio: '4:3',\n },\n {\n label: 'QVGA',\n width: 320,\n height: 240,\n ratio: '4:3',\n },\n {\n label: 'QCIF',\n width: 176,\n height: 144,\n ratio: '4:3',\n },\n {\n label: 'QQVGA',\n width: 160,\n height: 120,\n ratio: '4:3',\n },\n];\nfunction bestAvailableResolution(deviceInfo) {\n return __awaiter(this, void 0, void 0, function () {\n var i;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n i = 0;\n _a.label = 1;\n case 1:\n if (!(i !== quickScan.length)) return [3 /*break*/, 4];\n return [4 /*yield*/, isResolutionAvailable(quickScan[i], deviceInfo)];\n case 2:\n if (_a.sent()) {\n return [2 /*return*/, quickScan[i]];\n }\n _a.label = 3;\n case 3:\n ++i;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/, null];\n }\n });\n });\n}\nfunction isResolutionAvailable(candidate, deviceInfo) {\n return new Promise(function (resolve) {\n // const devices = []\n // const deviceInfos = await navigator.mediaDevices.enumerateDevices()\n //\n // for (let i = 0; i !== deviceInfos.length; ++i) {\n // const deviceInfo = deviceInfos[i]\n // if (deviceInfo.kind === 'videoinput') {\n // devices.push(deviceInfo)\n // }\n // }\n var video = document.createElement('video');\n var windowWithStream = window;\n var existingStream = windowWithStream.stream;\n if (existingStream) {\n existingStream.getTracks().forEach(function (track) {\n track.stop();\n });\n }\n var constraints = {\n audio: false,\n video: {\n deviceId: deviceInfo.deviceId,\n // ? { exact: deviceInfo.deviceId }\n // : undefined,\n width: { exact: candidate.width }, //new syntax\n height: { exact: candidate.height }, //new syntax\n },\n };\n setTimeout(function () {\n navigator.mediaDevices\n .getUserMedia(constraints)\n .then(gotStream)\n .catch(function (error) {\n log('getUserMedia error!', error, candidate);\n resolve(false);\n });\n }, windowWithStream.stream ? 200 : 0); //official examples had this at 200\n function gotStream(mediaStream) {\n //change the video dimensions\n log('Display size for ' +\n candidate.label +\n ': ' +\n candidate.width +\n 'x' +\n candidate.height);\n video.width = candidate.width;\n video.height = candidate.height;\n windowWithStream.stream = mediaStream; // make globally available\n video.srcObject = mediaStream;\n resolve(true);\n }\n });\n}\nexport function listAvailableCameras(facingMode_1) {\n return __awaiter(this, arguments, void 0, function (facingMode, requestMicAccess) {\n var cameraEnumerationStream, videoDevices;\n if (requestMicAccess === void 0) { requestMicAccess = false; }\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, navigator.mediaDevices.getUserMedia({\n video: { facingMode: { exact: facingMode } },\n audio: requestMicAccess,\n })\n // This lists all available cameras attached to the user's device.\n ];\n case 1:\n cameraEnumerationStream = _a.sent();\n return [4 /*yield*/, navigator.mediaDevices.enumerateDevices()];\n case 2:\n videoDevices = (_a.sent()).filter(function (_a) {\n var kind = _a.kind;\n return kind === 'videoinput';\n });\n // Release the access to the user's camera that we obtained for enumeration purposes.\n cameraEnumerationStream.getVideoTracks().forEach(function (track) {\n track.enabled = false;\n track.stop();\n });\n cameraEnumerationStream = null;\n return [2 /*return*/, videoDevices];\n }\n });\n });\n}\nvar frontLabels = [\n 'front',\n 'avant',\n 'anteriore',\n 'cameraaanvoorzijde',\n 'kamerapåframsidan',\n 'forsidekamera',\n 'kamerapåforsiden',\n 'aparatprzedni',\n 'etukamera',\n 'kameradepan',\n 'ÖnKamera',\n 'cameramặttrước',\n 'camerăfață',\n 'prednákamera',\n 'prednjakamera',\n 'előlapikamera',\n 'přednífotoaparát',\n 'μπροστινήκάμερα',\n 'переднякамера',\n 'передняякамера',\n 'преднакамера',\n 'алдыңғыкамера',\n 'מצלמה קדמית',\n 'الكاميرا الأمامية',\n 'फ़्रंटकैमरा',\n '前置相机',\n '前置鏡頭',\n '前面カメラ',\n '전면카메라',\n 'กล้องด้านหน้า',\n].map(function (s) { return s.toLocaleLowerCase().split(' ').join(''); });\nvar rearLabels = [\n 'back',\n 'rear',\n 'posterior',\n 'trasera',\n 'traseira',\n 'arrière',\n 'rückkamera',\n 'fotocamera(posteriore)',\n 'cameraaanachterzijde',\n 'kamerapåbaksidan',\n 'kamerapåbaksiden',\n 'bagsidekamera',\n 'aparattylny',\n 'takakamera',\n 'arkakamera',\n 'kamerabelakang',\n 'cameramặtsau',\n 'camerăspate',\n 'stražnjakamera',\n 'zadnákamera',\n 'hátoldalikamera',\n 'zadnífotoaparát',\n 'πίσωκάμερα',\n 'заднякамера',\n 'Задняякамера',\n 'заднакамера',\n 'артқыкамера',\n 'מצלמה אחורית',\n 'الكاميرا الخلفية',\n 'बैककैमरा',\n '后置相机',\n '後置鏡頭',\n '背面カメラ',\n '후면카메라',\n 'กล้องด้านหลัง',\n].map(function (s) { return s.toLocaleLowerCase().split(' ').join(''); });\nvar backUltraWideLabels = [\n 'backdualwidecamera',\n 'backultrawidecamera',\n 'ultraampliaposterior',\n 'ultra-angulartraseira',\n 'ultragrandeangulartraseira',\n 'ultragrandangle',\n 'ultragranangular',\n 'ultra-weitwinkelkamera',\n 'ultra-grandangolo',\n 'ultrabredecameraaanachterzijde',\n 'ultravidvinkelkamerapåbaksidan',\n 'ultravidvinkelkameraetpåbagsiden',\n 'ultravidvinkelkamerabak',\n 'ultragenişkameraarkayüzü',\n 'ultralaajakulmainentakakamera',\n 'tylnyaparatultraszerokokątny',\n 'cameracựcrộngmặtsau',\n 'camerăcuobiectivultra‑superangularspate',\n 'ultraszéleslátószögűkamera',\n 'kameraultralebarbelakang',\n 'stražnjaultraširokakamera',\n 'zadníultraširokoúhlýfotoaparát',\n 'ultraširokouhlá',\n 'πίσωυπερευρείακάμερα',\n 'заднянадширококутнакамера',\n 'Задняясверхширокоугольнаякамера',\n 'Задна свръх широкоъгълна камера',\n 'артқыультракеңбұрыштыкамера',\n 'מצלמה אולטרה רחבה אחורית',\n 'كاميرا خلفية عريضة جدًا',\n 'बैकअल्ट्रावाइडकैमरा',\n '后置超广角相机',\n '後置超廣角鏡頭相機',\n '背面超広角カメラ',\n '후면울트라와이드카메라',\n 'กล้องด้านหลังอัลตร้าไวด์',\n].map(function (s) { return s.toLocaleLowerCase().split(' ').join(''); });\nvar labelMatches = function (labelOrDevice, labelSetOrLabel) {\n var label = labelOrDevice instanceof MediaDeviceInfo\n ? getDeviceLabel(labelOrDevice)\n : labelOrDevice;\n var labelSet = typeof labelSetOrLabel === 'string' ? [labelSetOrLabel] : labelSetOrLabel;\n return labelSet.some(function (l) { return label.includes(l); });\n};\nvar getDeviceLabel = function (deviceInfo) {\n return deviceInfo.label.toLocaleLowerCase().split(' ').join('');\n};\nvar currentCamera;\nvar currentAudioStream;\nexport function obtainCameraAccess(stream, deviceLabel, video) {\n releaseCameraAccess();\n log('obtaining camera access...');\n var _a = stream.getVideoTracks()[0].getSettings(), width = _a.width, height = _a.height;\n var label = deviceLabel.toLocaleLowerCase().split(' ').join('');\n var isRearFacing = labelMatches(label, __spreadArray(__spreadArray(__spreadArray([], rearLabels, true), backUltraWideLabels, true), [\n 'iphone',\n ], false));\n var release = function () {\n stream.getTracks().forEach(function (track) {\n track.enabled = false;\n track.stop();\n });\n if (video) {\n video.pause();\n video.srcObject = null;\n video.src = '';\n }\n };\n width || (width = 0);\n height || (height = 0);\n currentCamera = {\n label: deviceLabel,\n stream: stream,\n width: width,\n height: height,\n isRearFacing: isRearFacing,\n release: release,\n };\n if (video)\n video.srcObject = stream;\n return currentCamera;\n}\nexport function releaseCameraAccess() {\n if (!currentCamera)\n return;\n log('releasing camera access...');\n currentCamera.release();\n currentCamera = undefined;\n}\nexport function releaseMicrophoneAccess() {\n var _a;\n if (!currentAudioStream)\n return;\n log('releasing microphone access...');\n (_a = currentAudioStream.stop) === null || _a === void 0 ? void 0 : _a.call(currentAudioStream);\n currentAudioStream.getAudioTracks().forEach(function (t) {\n var _a;\n (_a = t.stop) === null || _a === void 0 ? void 0 : _a.call(t);\n });\n currentAudioStream = undefined;\n}\nexport function usePreferredCaptureDevice(_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.requestAccessAutomatically, requestAccessAutomatically = _c === void 0 ? true : _c, _d = _b.preferFrontFacingCamera, preferFrontFacingCamera = _d === void 0 ? false : _d, _e = _b.preferContinuityCamera, preferContinuityCamera = _e === void 0 ? true : _e, _f = _b.requireMicrophoneAccess, requireMicrophoneAccess = _f === void 0 ? false : _f, _g = _b.maxVideoWidth, maxVideoWidth = _g === void 0 ? 1920 : _g, maxFps = _b.maxFps, _h = _b.debugMode, debugMode = _h === void 0 ? false : _h;\n var videoRef = useRef(null);\n var videoRefStack = useRef([]);\n var cameraRef = useRef(null);\n var _j = useState(false), cameraReady = _j[0], setCameraReady = _j[1];\n var _k = useState(false), microphoneReady = _k[0], setMicrophoneReady = _k[1];\n var _l = useState(null), videoDevice = _l[0], setVideoDevice = _l[1];\n var _m = useState(null), audioStream = _m[0], setAudioStream = _m[1];\n var _o = useState(false), videoLoaded = _o[0], setVideoLoaded = _o[1];\n var _p = useState(false), iphoneContinuityCameraAvailable = _p[0], setIphoneContinuityCameraAvailable = _p[1];\n var _q = useState(preferContinuityCamera), iphoneContinuityCameraAllowed = _q[0], setIphoneContinuityCameraAllowed = _q[1];\n var _r = useState(false), iphoneContinuityCameraDenied = _r[0], setIphoneContinuityCameraDenied = _r[1];\n var _s = useState(false), cameraAccessDenied = _s[0], setCameraAccessDenied = _s[1];\n var _t = useState(false), microphoneAccessDenied = _t[0], setMicrophoneAccessDenied = _t[1];\n var videoRefElement = videoRef.current;\n useEffect(function pushVideoRefToStackWhenChanged() {\n // proceed if the video element being mounted is not already at the top of the videoRefStack.\n var topOfStack = videoRefStack.current.slice(-1)[0];\n if (videoRefElement && videoRefElement !== topOfStack) {\n log('adding video to stack', videoRefElement);\n videoRefStack.current.push(videoRefElement);\n }\n }, [videoRefElement]);\n var onVideoUnmounted = useCallback(function (videoElement) {\n log('removing video from stack', videoElement);\n videoRefStack.current = videoRefStack.current.filter(function (v) { return v !== videoElement; });\n videoRef.current = videoRefStack.current.slice(-1)[0]; // top of stack.\n log('new videoRef is', videoRef.current);\n }, []);\n useEffect(function resetCameraOnContinuityPreferenceChanged() {\n if (debugMode) {\n log('iphone continuity camera allowed changed', iphoneContinuityCameraAllowed);\n }\n releaseCameraAccess();\n cameraRef.current = null;\n setVideoLoaded(false);\n }, [debugMode, iphoneContinuityCameraAllowed]);\n // NOTE: the bound callback function here is called requestCameraAccess, because\n // it initiates the useEffect chain that results in camera access being requested\n // (requestCameraAccessAutomatically -> chooseFromAvailableCameras -> accessChosenCamera).\n //\n // We chose to title the inner function \"chooseFromAvailableCameras\" because\n // that's all it literally does -- the available cameras are enumerated, and then\n // the result is parsed to decide which one we like best, which is then passed to\n // setVideoDevice, which causes accessChosenCamera to trigger.\n //\n // I am not a huge fan of getUserMedia's design -- you need to call it twice in order\n // to select the \"best\" camera for your application's purposes.\n var requestCameraAccess = useCallback(function chooseFromAvailableCameras() {\n return __awaiter(this, void 0, void 0, function () {\n var availableCameras, selectedCamera, platform_1, iphoneContinuityCamera, e_1;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n setCameraReady(false);\n setCameraAccessDenied(false);\n _c.label = 1;\n case 1:\n _c.trys.push([1, 3, , 4]);\n return [4 /*yield*/, listAvailableCameras()];\n case 2:\n availableCameras = _c.sent();\n selectedCamera = void 0;\n if (debugMode) {\n log('availableCameras', availableCameras);\n }\n platform_1 = getPlatform();\n if (debugMode) {\n log('platformDetails', platform_1);\n }\n if (!iphoneContinuityCameraDenied &&\n (!(platform_1 === null || platform_1 === void 0 ? void 0 : platform_1.os) || platform_1.os.family === 'OS X')) {\n iphoneContinuityCamera = availableCameras.find(function (deviceInfo) {\n return labelMatches(deviceInfo, 'iphone');\n });\n setIphoneContinuityCameraAvailable(!!iphoneContinuityCamera);\n if (iphoneContinuityCamera && iphoneContinuityCameraAllowed) {\n selectedCamera = iphoneContinuityCamera;\n }\n }\n else if (((_a = platform_1 === null || platform_1 === void 0 ? void 0 : platform_1.os) === null || _a === void 0 ? void 0 : _a.family) === 'Android' ||\n availableCameras.every(function (c) { return c.label.startsWith('camera2 '); })) {\n availableCameras = availableCameras.sort(function (a, b) {\n return a.label.toLowerCase().localeCompare(b.label.toLowerCase());\n });\n if (debugMode) {\n log('cameras have been sorted', availableCameras);\n }\n }\n if (preferFrontFacingCamera) {\n selectedCamera = availableCameras.find(function (deviceInfo) {\n return labelMatches(deviceInfo, frontLabels);\n });\n }\n selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {\n return labelMatches(deviceInfo, 'backtriplecamera');\n }));\n selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {\n return labelMatches(deviceInfo, 'backdualcamera');\n }));\n selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {\n return labelMatches(deviceInfo, rearLabels) &&\n !labelMatches(deviceInfo, backUltraWideLabels);\n }));\n selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {\n return labelMatches(deviceInfo, rearLabels);\n }));\n // on iOS, the front facing camera always is at the first position in the list, so we skip it if all else fails.\n if (!preferFrontFacingCamera &&\n ((_b = platform_1 === null || platform_1 === void 0 ? void 0 : platform_1.os) === null || _b === void 0 ? void 0 : _b.family) === 'iOS' &&\n availableCameras.length > 0) {\n selectedCamera || (selectedCamera = availableCameras[1]);\n }\n selectedCamera || (selectedCamera = availableCameras[0]);\n if (debugMode)\n log('selectedCamera', selectedCamera);\n setVideoDevice(selectedCamera);\n return [3 /*break*/, 4];\n case 3:\n e_1 = _c.sent();\n if (e_1.name === 'NotAllowedError') {\n error('camera access has been blocked by the user', e_1);\n setCameraAccessDenied(true);\n }\n else {\n error('camera access encountered some other error', e_1);\n throw e_1;\n }\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n }, [\n debugMode,\n iphoneContinuityCameraAllowed,\n iphoneContinuityCameraDenied,\n preferFrontFacingCamera,\n ]);\n useEffect(function requestCameraAccessAutomatically() {\n if (requestAccessAutomatically && !cameraAccessDenied) {\n requestCameraAccess().catch(error);\n }\n }, [cameraAccessDenied, requestAccessAutomatically, requestCameraAccess]);\n useEffect(function accessChosenCamera() {\n var _this = this;\n var _a;\n if (!videoDevice)\n return;\n var cleanup = function () {\n releaseCameraAccess();\n cameraRef.current = null;\n setVideoLoaded(false);\n };\n if (!((_a = navigator.mediaDevices) === null || _a === void 0 ? void 0 : _a.getUserMedia))\n return cleanup;\n (function () { return __awaiter(_this, void 0, void 0, function () {\n var constraints, stream, e_2, e_3, handleStreamEnded;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n constraints = {\n audio: false,\n video: {\n deviceId: { exact: videoDevice.deviceId },\n width: { ideal: maxVideoWidth },\n aspectRatio: 1.777777778,\n frameRate: {},\n },\n };\n if (maxFps) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n constraints.video.frameRate = { max: maxFps };\n }\n stream = null;\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 4]);\n return [4 /*yield*/, navigator.mediaDevices.getUserMedia(constraints)];\n case 2:\n stream = _b.sent();\n return [3 /*break*/, 4];\n case 3:\n e_2 = _b.sent();\n if (e_2.name === 'NotAllowedError') {\n if (iphoneContinuityCameraAllowed) {\n setIphoneContinuityCameraAvailable(false);\n setIphoneContinuityCameraDenied(true);\n }\n else {\n setCameraAccessDenied(true);\n }\n return [2 /*return*/];\n }\n return [3 /*break*/, 4];\n case 4:\n if (!!stream) return [3 /*break*/, 8];\n _b.label = 5;\n case 5:\n _b.trys.push([5, 7, , 8]);\n return [4 /*yield*/, navigator.mediaDevices.getUserMedia({\n audio: false,\n video: true,\n })];\n case 6:\n stream = _b.sent();\n log('opened stream with no width and height constraints');\n return [3 /*break*/, 8];\n case 7:\n e_3 = _b.sent();\n log('cannot open stream at all');\n return [3 /*break*/, 8];\n case 8:\n if (!stream) {\n throw new Error('failed to open camera');\n }\n handleStreamEnded = function () {\n if (iphoneContinuityCameraAvailable &&\n iphoneContinuityCameraAllowed) {\n log('someone unplugged the continuity camera');\n releaseCameraAccess();\n cameraRef.current = null;\n setIphoneContinuityCameraAvailable(false);\n setIphoneContinuityCameraDenied(true);\n setVideoDevice(null);\n }\n else {\n log('someone unplugged the webcam');\n releaseCameraAccess();\n cameraRef.current = null;\n setVideoLoaded(false);\n setCameraAccessDenied(true);\n }\n };\n (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('ended', handleStreamEnded);\n stream.getVideoTracks().forEach(function (track) {\n track.onended = handleStreamEnded;\n });\n cameraRef.current = obtainCameraAccess(stream, videoDevice.label, videoRef.current);\n return [2 /*return*/];\n }\n });\n }); })();\n return cleanup;\n }, [\n iphoneContinuityCameraAllowed,\n iphoneContinuityCameraAvailable,\n maxFps,\n maxVideoWidth,\n videoDevice,\n ]);\n useEffect(function triggerCameraReady() {\n // TODO: in the future let's evaluate whether we can simplify this to just\n // setCameraReady(!!videoDevice && videoLoaded) -- we are wondering whether\n // we somehow depend on this being set twice.\n setCameraReady(false);\n if (videoDevice && videoLoaded) {\n setCameraReady(videoDevice && videoLoaded);\n }\n }, [videoLoaded, videoDevice]);\n var requestMicrophoneAccess = useCallback(function _requestMicrophoneAccess() {\n return __awaiter(this, void 0, void 0, function () {\n var stream, e_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n setMicrophoneReady(false);\n setMicrophoneAccessDenied(false);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, navigator.mediaDevices.getUserMedia({\n audio: true,\n video: false,\n })];\n case 2:\n stream = _a.sent();\n currentAudioStream = stream;\n setAudioStream(stream);\n setMicrophoneReady(true);\n stream.getAudioTracks().forEach(function (track) {\n track.onended = function () {\n setMicrophoneAccessDenied(true);\n };\n });\n return [3 /*break*/, 4];\n case 3:\n e_4 = _a.sent();\n setMicrophoneAccessDenied(true);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n }, []);\n useEffect(function requestMicrophoneAccessIfNeeded() {\n if (!requireMicrophoneAccess || microphoneAccessDenied)\n return;\n requestMicrophoneAccess().catch(error);\n return function () {\n releaseMicrophoneAccess();\n setAudioStream(null);\n setMicrophoneReady(false);\n };\n }, [microphoneAccessDenied, requestMicrophoneAccess, requireMicrophoneAccess]);\n var takePhoto = useCallback(function _takePhoto() {\n return __awaiter(this, void 0, void 0, function () {\n var canvas;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!cameraRef.current)\n return [2 /*return*/, null];\n if (!(typeof ImageCapture !== 'undefined')) return [3 /*break*/, 2];\n return [4 /*yield*/, new ImageCapture(cameraRef.current.stream.getTracks()[0]).takePhoto()];\n case 1: return [2 /*return*/, _a.sent()];\n case 2:\n if (!videoRef.current)\n return [2 /*return*/, null];\n canvas = document.createElement('canvas');\n drawToCanvas(canvas, videoRef.current);\n return [2 /*return*/, new Promise(function (resolve) { return canvas.toBlob(resolve); })];\n }\n });\n });\n }, []);\n return useMemo(function () { return ({\n videoRef: videoRef,\n videoDevice: videoDevice,\n videoLoaded: videoLoaded,\n setVideoLoaded: setVideoLoaded,\n onVideoUnmounted: onVideoUnmounted,\n cameraRef: cameraRef,\n cameraReady: cameraReady,\n cameraAccessDenied: cameraAccessDenied,\n requestCameraAccess: requestCameraAccess,\n releaseCameraAccess: releaseCameraAccess,\n iphoneContinuityCameraAvailable: iphoneContinuityCameraAvailable,\n iphoneContinuityCameraAllowed: iphoneContinuityCameraAllowed,\n setIphoneContinuityCameraAllowed: setIphoneContinuityCameraAllowed,\n takePhoto: takePhoto,\n audioStream: audioStream,\n microphoneReady: microphoneReady,\n microphoneAccessDenied: microphoneAccessDenied,\n requestMicrophoneAccess: requestMicrophoneAccess,\n }); }, [\n audioStream,\n cameraAccessDenied,\n cameraReady,\n iphoneContinuityCameraAllowed,\n iphoneContinuityCameraAvailable,\n microphoneAccessDenied,\n microphoneReady,\n onVideoUnmounted,\n requestCameraAccess,\n requestMicrophoneAccess,\n takePhoto,\n videoDevice,\n videoLoaded,\n ]);\n}\nexport var useDualResCaptureDevice = function () {\n var _a = usePreferredCaptureDevice(), maxVideoRef = _a.videoRef, videoDevice = _a.videoDevice, maxVideoLoaded = _a.videoLoaded, setMaxVideoLoaded = _a.setVideoLoaded, maxCameraRef = _a.cameraRef, maxCameraReady = _a.cameraReady, takeFullResPhoto = _a.takePhoto;\n var minVideoRef = useRef(null);\n var _b = useState(null), minCamera = _b[0], setMinCamera = _b[1];\n var _c = useState(false), minVideoLoaded = _c[0], setMinVideoLoaded = _c[1];\n useEffect(function () {\n var _a;\n if (!videoDevice || !maxCameraRef.current)\n return;\n var cam;\n var cleanup = function () {\n cam === null || cam === void 0 ? void 0 : cam.release();\n setMinCamera(null);\n setMinVideoLoaded(false);\n };\n if (!minVideoRef.current)\n return cleanup;\n if (!((_a = navigator.mediaDevices) === null || _a === void 0 ? void 0 : _a.getUserMedia))\n return cleanup;\n (function () { return __awaiter(void 0, void 0, void 0, function () {\n var idealWidth, idealHeight, constraints, stream;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!maxCameraRef.current)\n return [2 /*return*/];\n idealWidth = 448;\n idealHeight = 448;\n if (maxCameraRef.current.width < maxCameraRef.current.height) {\n idealHeight =\n 448 * (maxCameraRef.current.height / maxCameraRef.current.width);\n }\n else {\n idealWidth =\n 448 * (maxCameraRef.current.width / maxCameraRef.current.height);\n }\n log('min dimensions', idealWidth, idealHeight);\n constraints = {\n audio: false,\n video: {\n deviceId: { exact: videoDevice.deviceId },\n width: { ideal: idealWidth },\n height: { ideal: idealHeight },\n },\n };\n return [4 /*yield*/, navigator.mediaDevices.getUserMedia(constraints)];\n case 1:\n stream = _a.sent();\n cam = obtainCameraAccess(stream, videoDevice.label, minVideoRef.current);\n setMinCamera(cam);\n return [2 /*return*/];\n }\n });\n }); })();\n return cleanup;\n }, [maxCameraRef, videoDevice]);\n return {\n minVideoRef: minVideoRef,\n maxVideoRef: maxVideoRef,\n minCamera: minCamera,\n maxCamera: maxCameraRef.current,\n maxCameraReady: maxCameraReady,\n minVideoLoaded: minVideoLoaded,\n maxVideoLoaded: maxVideoLoaded,\n setMinVideoLoaded: setMinVideoLoaded,\n setMaxVideoLoaded: setMaxVideoLoaded,\n takeFullResPhoto: takeFullResPhoto,\n };\n};\n//# sourceMappingURL=Camera.js.map","import React, { createContext, useEffect } from 'react';\nimport { usePreferredCaptureDevice, } from '../../lib/camera/Camera';\nexport var CameraStateContext = createContext({\n videoRef: { current: null },\n videoDevice: null,\n videoLoaded: false,\n cameraRef: { current: null },\n cameraReady: false,\n cameraAccessDenied: false,\n requestCameraAccess: function () { return null; },\n releaseCameraAccess: function () { return null; },\n iphoneContinuityCameraAvailable: false,\n iphoneContinuityCameraAllowed: true,\n setIphoneContinuityCameraAllowed: function () { return null; },\n takePhoto: function () { return Promise.resolve(null); },\n setVideoLoaded: function () { return null; },\n onVideoUnmounted: function () { return null; },\n audioStream: null,\n microphoneReady: false,\n microphoneAccessDenied: false,\n requestMicrophoneAccess: function () { return null; },\n});\nexport var CameraProvider = function (_a) {\n var children = _a.children, _b = _a.requestAccessAutomatically, requestAccessAutomatically = _b === void 0 ? true : _b, _c = _a.preferFrontFacingCamera, preferFrontFacingCamera = _c === void 0 ? false : _c, _d = _a.preferContinuityCamera, preferContinuityCamera = _d === void 0 ? true : _d, _e = _a.requireMicrophoneAccess, requireMicrophoneAccess = _e === void 0 ? false : _e, _f = _a.maxVideoWidth, maxVideoWidth = _f === void 0 ? 1920 : _f, maxFps = _a.maxFps, onCameraAccessDenied = _a.onCameraAccessDenied, onMicrophoneAccessDenied = _a.onMicrophoneAccessDenied, _g = _a.debugMode, debugMode = _g === void 0 ? false : _g;\n var captureDevice = usePreferredCaptureDevice({\n requestAccessAutomatically: requestAccessAutomatically,\n preferFrontFacingCamera: preferFrontFacingCamera,\n preferContinuityCamera: preferContinuityCamera,\n requireMicrophoneAccess: requireMicrophoneAccess,\n maxVideoWidth: maxVideoWidth,\n maxFps: maxFps,\n debugMode: debugMode,\n });\n useEffect(function () {\n if (captureDevice.cameraAccessDenied)\n onCameraAccessDenied === null || onCameraAccessDenied === void 0 ? void 0 : onCameraAccessDenied();\n }, [captureDevice.cameraAccessDenied, onCameraAccessDenied]);\n useEffect(function () {\n if (captureDevice.microphoneAccessDenied)\n onMicrophoneAccessDenied === null || onMicrophoneAccessDenied === void 0 ? void 0 : onMicrophoneAccessDenied();\n }, [captureDevice.microphoneAccessDenied, onMicrophoneAccessDenied]);\n var releaseCameraAccess = captureDevice.releaseCameraAccess;\n useEffect(function () {\n return function () {\n releaseCameraAccess();\n };\n }, [releaseCameraAccess]);\n return (React.createElement(CameraStateContext.Provider, { value: captureDevice }, children));\n};\n//# sourceMappingURL=CameraProvider.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { preloadDependency, progressByUseCase, sumUpProgressForDependencies, } from './preloadModels';\nexport var visionTasksBasePath = \"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.7/wasm\";\nvar visionRuntimePreloading = false;\nexport function preloadVisionRuntime() {\n return __awaiter(this, void 0, void 0, function () {\n function handleDownloadProgress(event) {\n var detail = event.detail;\n if (detail.url !== url)\n return;\n progressByUseCase.visionRuntime = sumUpProgressForDependencies([url]);\n document.dispatchEvent(new CustomEvent('idmission.preloadProgress.visionRuntime', {\n detail: progressByUseCase.visionRuntime,\n }));\n }\n var url;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (visionRuntimePreloading)\n return [2 /*return*/, new Promise(function (resolve) {\n setInterval(function () {\n if (!visionRuntimePreloading)\n resolve();\n }, 100);\n })];\n visionRuntimePreloading = true;\n url = \"\".concat(visionTasksBasePath, \"/vision_wasm_internal.wasm\");\n document.addEventListener('idmission.preloadProgress', handleDownloadProgress);\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 3, 4]);\n return [4 /*yield*/, preloadDependency(url)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n document.removeEventListener('idmission.preloadProgress', handleDownloadProgress);\n visionRuntimePreloading = false;\n return [7 /*endfinally*/];\n case 4: return [2 /*return*/];\n }\n });\n });\n}\n//# sourceMappingURL=VisionRuntime.js.map","import { clearCanvas } from '../../components/common/InvisibleCanvas';\nimport log from './logger';\nexport function cropToShoulders(rawCanvas, cropCanvas, resizeCanvas, frame, face, quality, maxHeight) {\n if (quality === void 0) { quality = 0.92; }\n if (!rawCanvas || !cropCanvas || !resizeCanvas)\n return '';\n var rawCtx = rawCanvas.getContext('2d');\n var cropCtx = cropCanvas.getContext('2d');\n var resizeCtx = resizeCanvas.getContext('2d');\n if (!rawCtx || !cropCtx || !resizeCtx)\n throw new Error('could not get 2d context');\n rawCanvas.width = frame.width;\n rawCanvas.height = frame.height;\n rawCtx.putImageData(frame, 0, 0);\n var _a = face.box, xMin = _a.xMin, width = _a.width;\n var frameHeight = frame.height;\n var xPadding = frameHeight * 0.6 - width;\n var xPos = Math.max(0, xMin - xPadding / 2);\n if (frame.height > frame.width) {\n cropCanvas.width = frame.width;\n cropCanvas.height = frame.height;\n cropCtx.drawImage(rawCanvas, 0, 0, cropCanvas.width, cropCanvas.height);\n }\n else {\n cropCanvas.width = width + xPadding;\n cropCanvas.height = frame.height;\n cropCtx.drawImage(rawCanvas, xPos, 0, cropCanvas.width, cropCanvas.height, 0, 0, cropCanvas.width, cropCanvas.height);\n }\n resizeCanvas.height = maxHeight !== null && maxHeight !== void 0 ? maxHeight : cropCanvas.height;\n resizeCanvas.width =\n cropCanvas.width * (resizeCanvas.height / cropCanvas.height);\n resizeCtx === null || resizeCtx === void 0 ? void 0 : resizeCtx.drawImage(cropCanvas, 0, 0, resizeCanvas.width, resizeCanvas.height);\n var dataURL = resizeCanvas.toDataURL('image/jpeg', quality);\n log('cropToShoulders size', new TextEncoder().encode(dataURL).length);\n clearCanvas(rawCanvas);\n clearCanvas(cropCanvas);\n clearCanvas(resizeCanvas);\n return dataURL;\n}\nexport function cropToDetectedObjectBox(frame, box, canvas) {\n canvas || (canvas = document.createElement('canvas'));\n var ctx = canvas.getContext('2d');\n if (!ctx)\n throw new Error('could not get 2d context');\n var xMin = box.xMin, yMin = box.yMin, width = box.width, height = box.height;\n canvas.width = width;\n canvas.height = height;\n ctx.drawImage(frame, xMin, yMin, width, height, 0, 0, width, height);\n return canvas;\n}\n//# sourceMappingURL=cropping.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { FilesetResolver, ImageSegmenter } from '@mediapipe/tasks-vision';\nimport { error, log, warn } from '../utils/logger';\nimport { preloadVisionRuntime, visionTasksBasePath } from './VisionRuntime';\nimport { preloadDependency } from './preloadModels';\nexport var defaultImageSegmenterModelPath = 'https://websdk-cdn-dev.idmission.com/assets/models/selfiesegmenter20240524/selfie_segmenter.tflite';\nvar imageSegmenterModelSizeInBytes = 256440.32;\n// The idea here is that we globally set a cache key based on the time at page load. That way our built-in speed test\n// isn't fooled by cache times, but subsequent downloads of the vision runtime still do load from the cache.\nvar tinyModelCacheKey = new Date().getTime();\nvar initialModelCapabilities = {\n probeState: 'notProbed',\n delegate: 'GPU',\n networkTier: 'untested',\n networkSpeed: 0,\n networkTestTime: 0,\n};\nexport var modelCapabilities = __assign({}, initialModelCapabilities);\nexport function probeModelCapabilities() {\n return __awaiter(this, void 0, void 0, function () {\n var error_1, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (modelCapabilities.probeState === 'probed')\n return [2 /*return*/];\n if (modelCapabilities.probeState === 'probing')\n return [2 /*return*/, new Promise(function (resolve) {\n setInterval(function () {\n if (modelCapabilities.probeState === 'probed')\n resolve();\n }, 100);\n })];\n modelCapabilities.probeState = 'probing';\n return [4 /*yield*/, preloadVisionRuntime()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, 9, 10]);\n log('Model Probing: testing GPU capabilities...');\n return [4 /*yield*/, loadTinyModel('GPU')];\n case 3:\n _a.sent();\n log('Model Probing: GPU is capable.');\n return [3 /*break*/, 10];\n case 4:\n error_1 = _a.sent();\n warn('Model Probing: GPU delegate could not be loaded', error_1);\n modelCapabilities.delegate = 'CPU';\n _a.label = 5;\n case 5:\n _a.trys.push([5, 7, , 8]);\n log('Model Probing: testing CPU capabilities...');\n return [4 /*yield*/, loadTinyModel('CPU')];\n case 6:\n _a.sent();\n log('Model Probing: CPU is capable.');\n return [3 /*break*/, 8];\n case 7:\n error_2 = _a.sent();\n warn('Model Probing: CPU delegate could not be loaded', error_2);\n modelCapabilities.delegate = 'NONE';\n return [3 /*break*/, 8];\n case 8: return [3 /*break*/, 10];\n case 9:\n modelCapabilities.probeState = 'probed';\n return [7 /*endfinally*/];\n case 10: return [2 /*return*/];\n }\n });\n });\n}\nfunction loadTinyModel() {\n return __awaiter(this, arguments, void 0, function (delegate, maxTime) {\n var modelAssetPath, startedAt, e_1, time, speedMbps, model, _a, _b, emptyFrame;\n if (delegate === void 0) { delegate = 'GPU'; }\n if (maxTime === void 0) { maxTime = 10000; }\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n modelAssetPath = \"\".concat(defaultImageSegmenterModelPath, \"?_=\").concat(tinyModelCacheKey);\n startedAt = new Date();\n _c.label = 1;\n case 1:\n _c.trys.push([1, 3, , 4]);\n return [4 /*yield*/, Promise.race([\n preloadDependency(modelAssetPath),\n giveUpAfter(maxTime),\n ])];\n case 2:\n _c.sent();\n return [3 /*break*/, 4];\n case 3:\n e_1 = _c.sent();\n error('speed test failed', e_1);\n modelCapabilities.networkTier = 'unusable';\n return [2 /*return*/];\n case 4:\n time = (new Date().getTime() - startedAt.getTime()) / 1000.0;\n modelCapabilities.networkTestTime || (modelCapabilities.networkTestTime = time);\n modelCapabilities.networkSpeed || (modelCapabilities.networkSpeed = imageSegmenterModelSizeInBytes / time);\n modelCapabilities.networkTier =\n time < 0.5 ? 'fast' : time < 2 ? 'medium' : 'slow';\n speedMbps = modelCapabilities.networkSpeed / 1024 / 1024;\n log('Model Probing: network speed', speedMbps.toFixed(3), 'Mbps');\n log('Model Probing: network test took', time);\n log('Model Probing: network tier', modelCapabilities.networkTier);\n _b = (_a = ImageSegmenter).createFromOptions;\n return [4 /*yield*/, FilesetResolver.forVisionTasks(visionTasksBasePath)];\n case 5: return [4 /*yield*/, _b.apply(_a, [_c.sent(), { baseOptions: { modelAssetPath: modelAssetPath, delegate: delegate } }])];\n case 6:\n model = _c.sent();\n emptyFrame = document.createElement('canvas');\n model.segment(emptyFrame);\n emptyFrame.remove();\n return [2 /*return*/];\n }\n });\n });\n}\nfunction giveUpAfter(maxTime) {\n return new Promise(function (_resolve, reject) {\n setTimeout(function () {\n reject(new Error('gave up after reaching maximum time allowed'));\n }, maxTime);\n });\n}\nexport function resetModelCapabilityProbe() {\n tinyModelCacheKey = new Date().getTime();\n modelCapabilities = __assign({}, initialModelCapabilities);\n}\n//# sourceMappingURL=CapabilityProbing.js.map","export function convertBoundingBox(box) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n return {\n xMin: (_a = box === null || box === void 0 ? void 0 : box.originX) !== null && _a !== void 0 ? _a : 0,\n xMax: ((_b = box === null || box === void 0 ? void 0 : box.originX) !== null && _b !== void 0 ? _b : 0) + ((_c = box === null || box === void 0 ? void 0 : box.width) !== null && _c !== void 0 ? _c : 0),\n yMin: (_d = box === null || box === void 0 ? void 0 : box.originY) !== null && _d !== void 0 ? _d : 0,\n yMax: ((_e = box === null || box === void 0 ? void 0 : box.originY) !== null && _e !== void 0 ? _e : 0) + ((_f = box === null || box === void 0 ? void 0 : box.height) !== null && _f !== void 0 ? _f : 0),\n width: (_g = box === null || box === void 0 ? void 0 : box.width) !== null && _g !== void 0 ? _g : 0,\n height: (_h = box === null || box === void 0 ? void 0 : box.height) !== null && _h !== void 0 ? _h : 0,\n };\n}\nexport function waitForVideoReady(videoRef, checkEveryMs) {\n if (checkEveryMs === void 0) { checkEveryMs = 100; }\n return new Promise(function (resolve) {\n var _a, _b;\n if (((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.readyState) !== null && _b !== void 0 ? _b : 0) >= 2)\n return resolve();\n var interval = setInterval(function () {\n var _a, _b;\n if (((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.readyState) !== null && _b !== void 0 ? _b : 0) >= 2) {\n clearInterval(interval);\n resolve();\n }\n }, checkEveryMs);\n });\n}\n//# sourceMappingURL=helpers.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { FilesetResolver, ImageClassifier } from '@mediapipe/tasks-vision';\nimport { preloadFocusModelDependencies, progressToPercentage, } from './preloadModels';\nimport { visionTasksBasePath } from './VisionRuntime';\nimport { cropToDetectedObjectBox } from '../utils/cropping';\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport { modelCapabilities } from './CapabilityProbing';\nimport { CameraStateContext } from '../../components/camera/CameraProvider';\nimport { waitForVideoReady } from './helpers';\nexport var defaultFocusModelPath = \"https://websdk-cdn-dev.idmission.com/assets/models/focusmp20240619/model_fp16.tflite\";\nexport var defaultFocusModelLoadTimeoutMs = 45000;\nexport var defaultFocusThresholds = {\n idCardFront: {\n desktop: 0,\n mobile: 0.3,\n },\n idCardBack: {\n desktop: 0,\n mobile: 0.3,\n },\n passport: {\n desktop: 0,\n mobile: 0.3,\n },\n};\nvar models = {};\nexport function loadFocusModel(modelAssetPath) {\n return __awaiter(this, void 0, void 0, function () {\n var id, _a, _b, _c, _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n id = \"\".concat(modelAssetPath);\n if (models[id])\n return [2 /*return*/, models[id]];\n return [4 /*yield*/, preloadFocusModelDependencies()];\n case 1:\n _e.sent();\n if (modelCapabilities.delegate === 'NONE') {\n throw new Error('No available delegate for focus detector.');\n }\n _a = models;\n _b = id;\n _d = (_c = ImageClassifier).createFromOptions;\n return [4 /*yield*/, FilesetResolver.forVisionTasks(visionTasksBasePath)];\n case 2: return [4 /*yield*/, _d.apply(_c, [_e.sent(), {\n baseOptions: { modelAssetPath: modelAssetPath, delegate: modelCapabilities.delegate },\n runningMode: 'VIDEO',\n }])];\n case 3:\n _a[_b] = _e.sent();\n return [2 /*return*/, models[id]];\n }\n });\n });\n}\nexport function useLoadFocusModel(_a) {\n var _b = _a.modelPath, modelPath = _b === void 0 ? defaultFocusModelPath : _b, _c = _a.modelLoadTimeoutMs, modelLoadTimeoutMs = _c === void 0 ? defaultFocusModelLoadTimeoutMs : _c, onModelError = _a.onModelError;\n var model = useRef(null);\n var _d = useState(false), ready = _d[0], setReady = _d[1];\n var _e = useState(0), modelDownloadProgress = _e[0], setModelDownloadProgress = _e[1];\n var _f = useState(null), modelError = _f[0], setModelError = _f[1];\n var videoRef = useContext(CameraStateContext).videoRef;\n useEffect(function loadModel() {\n var _this = this;\n setReady(false);\n function handleDownloadProgress(event) {\n setModelDownloadProgress(progressToPercentage(event.detail));\n }\n document.addEventListener('idmission.preloadProgress.focus', handleDownloadProgress);\n var modelLoadTimeout = setTimeout(function () {\n setModelError(new Error('Model loading time limit exceeded.'));\n }, modelLoadTimeoutMs);\n loadFocusModel(modelPath)\n .then(function (loadedModel) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n model.current = loadedModel;\n setModelDownloadProgress(100);\n clearTimeout(modelLoadTimeout);\n return [4 /*yield*/, waitForVideoReady(videoRef)];\n case 1:\n _a.sent();\n loadedModel.classifyForVideo(videoRef.current, performance.now());\n setReady(true);\n return [2 /*return*/];\n }\n });\n }); })\n .catch(function (e) {\n setModelError(e);\n })\n .finally(function () {\n clearTimeout(modelLoadTimeout);\n });\n return function () {\n clearTimeout(modelLoadTimeout);\n document.removeEventListener('idmission.preloadProgress.focus', handleDownloadProgress);\n };\n }, [modelPath, modelLoadTimeoutMs, videoRef]);\n useEffect(function handleModelError() {\n modelError && (onModelError === null || onModelError === void 0 ? void 0 : onModelError(modelError));\n }, [modelError, onModelError]);\n return { model: model, ready: ready, modelDownloadProgress: modelDownloadProgress, modelError: modelError };\n}\nexport function makeFocusModelPrediction(model, imageData, cropCanvas, rotateCanvas, box) {\n var _a, _b, _c, _d, _e;\n var startedAt = new Date();\n var image = cropIfNecessary(imageData, cropCanvas, rotateCanvas, box);\n var result = model.classifyForVideo(image, performance.now());\n var score = (_e = (_d = (_c = (_b = (_a = result === null || result === void 0 ? void 0 : result.classifications) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.categories) === null || _c === void 0 ? void 0 : _c.find(function (c) { return c.categoryName === 'focused'; })) === null || _d === void 0 ? void 0 : _d.score) !== null && _e !== void 0 ? _e : 0;\n var predictionTime = new Date().getTime() - startedAt.getTime();\n return { score: score, predictionTime: predictionTime };\n}\nfunction cropIfNecessary(imageData, cropCanvas, rotateCanvas, box) {\n if (!box)\n return imageData;\n var cropped = cropToDetectedObjectBox(imageData, box, cropCanvas);\n var _a = [box.width, box.height], bw = _a[0], bh = _a[1];\n if (bh <= bw)\n return cropped;\n var ctx = rotateCanvas.getContext('2d');\n if (!ctx)\n return cropped;\n rotateCanvas.width = bh;\n rotateCanvas.height = bw;\n ctx.clearRect(0, 0, rotateCanvas.width, rotateCanvas.height);\n ctx.translate(rotateCanvas.width / 2, rotateCanvas.height / 2);\n ctx.rotate(1.5708); // 90 deg in radians\n ctx.drawImage(cropped, -bw / 2, -bh / 2);\n return rotateCanvas;\n}\n//# sourceMappingURL=Focus.js.map","(function(){/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\n'use strict';var x;function aa(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}var ba=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};\nfunction ca(a){a=[\"object\"==typeof globalThis&&globalThis,a,\"object\"==typeof window&&window,\"object\"==typeof self&&self,\"object\"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error(\"Cannot find global object\");}var y=ca(this);function B(a,b){if(b)a:{var c=y;a=a.split(\".\");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ba(c,a,{configurable:!0,writable:!0,value:b})}}\nB(\"Symbol\",function(a){function b(g){if(this instanceof b)throw new TypeError(\"Symbol is not a constructor\");return new c(d+(g||\"\")+\"_\"+e++,g)}function c(g,f){this.g=g;ba(this,\"description\",{configurable:!0,writable:!0,value:f})}if(a)return a;c.prototype.toString=function(){return this.g};var d=\"jscomp_symbol_\"+(1E9*Math.random()>>>0)+\"_\",e=0;return b});\nB(\"Symbol.iterator\",function(a){if(a)return a;a=Symbol(\"Symbol.iterator\");for(var b=\"Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array\".split(\" \"),c=0;c<b.length;c++){var d=y[b[c]];\"function\"===typeof d&&\"function\"!=typeof d.prototype[a]&&ba(d.prototype,a,{configurable:!0,writable:!0,value:function(){return da(aa(this))}})}return a});function da(a){a={next:a};a[Symbol.iterator]=function(){return this};return a}\nfunction C(a){var b=\"undefined\"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):{next:aa(a)}}function D(a){if(!(a instanceof Array)){a=C(a);for(var b,c=[];!(b=a.next()).done;)c.push(b.value);a=c}return a}var ea=\"function\"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},fa;\nif(\"function\"==typeof Object.setPrototypeOf)fa=Object.setPrototypeOf;else{var ha;a:{var ia={a:!0},ja={};try{ja.__proto__=ia;ha=ja.a;break a}catch(a){}ha=!1}fa=ha?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+\" is not extensible\");return a}:null}var ka=fa;\nfunction E(a,b){a.prototype=ea(b.prototype);a.prototype.constructor=a;if(ka)ka(a,b);else for(var c in b)if(\"prototype\"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.na=b.prototype}function la(){this.l=!1;this.i=null;this.h=void 0;this.g=1;this.u=this.o=0;this.j=null}function ma(a){if(a.l)throw new TypeError(\"Generator is already running\");a.l=!0}la.prototype.s=function(a){this.h=a};\nfunction na(a,b){a.j={da:b,ea:!0};a.g=a.o||a.u}la.prototype.return=function(a){this.j={return:a};this.g=this.u};function G(a,b,c){a.g=c;return{value:b}}function oa(a){this.g=new la;this.h=a}function pa(a,b){ma(a.g);var c=a.g.i;if(c)return qa(a,\"return\"in c?c[\"return\"]:function(d){return{value:d,done:!0}},b,a.g.return);a.g.return(b);return H(a)}\nfunction qa(a,b,c,d){try{var e=b.call(a.g.i,c);if(!(e instanceof Object))throw new TypeError(\"Iterator result \"+e+\" is not an object\");if(!e.done)return a.g.l=!1,e;var g=e.value}catch(f){return a.g.i=null,na(a.g,f),H(a)}a.g.i=null;d.call(a.g,g);return H(a)}function H(a){for(;a.g.g;)try{var b=a.h(a.g);if(b)return a.g.l=!1,{value:b.value,done:!1}}catch(c){a.g.h=void 0,na(a.g,c)}a.g.l=!1;if(a.g.j){b=a.g.j;a.g.j=null;if(b.ea)throw b.da;return{value:b.return,done:!0}}return{value:void 0,done:!0}}\nfunction ra(a){this.next=function(b){ma(a.g);a.g.i?b=qa(a,a.g.i.next,b,a.g.s):(a.g.s(b),b=H(a));return b};this.throw=function(b){ma(a.g);a.g.i?b=qa(a,a.g.i[\"throw\"],b,a.g.s):(na(a.g,b),b=H(a));return b};this.return=function(b){return pa(a,b)};this[Symbol.iterator]=function(){return this}}function sa(a){function b(d){return a.next(d)}function c(d){return a.throw(d)}return new Promise(function(d,e){function g(f){f.done?d(f.value):Promise.resolve(f.value).then(b,c).then(g,e)}g(a.next())})}\nfunction J(a){return sa(new ra(new oa(a)))}\nB(\"Promise\",function(a){function b(f){this.h=0;this.i=void 0;this.g=[];this.s=!1;var h=this.j();try{f(h.resolve,h.reject)}catch(k){h.reject(k)}}function c(){this.g=null}function d(f){return f instanceof b?f:new b(function(h){h(f)})}if(a)return a;c.prototype.h=function(f){if(null==this.g){this.g=[];var h=this;this.i(function(){h.l()})}this.g.push(f)};var e=y.setTimeout;c.prototype.i=function(f){e(f,0)};c.prototype.l=function(){for(;this.g&&this.g.length;){var f=this.g;this.g=[];for(var h=0;h<f.length;++h){var k=\nf[h];f[h]=null;try{k()}catch(l){this.j(l)}}}this.g=null};c.prototype.j=function(f){this.i(function(){throw f;})};b.prototype.j=function(){function f(l){return function(m){k||(k=!0,l.call(h,m))}}var h=this,k=!1;return{resolve:f(this.D),reject:f(this.l)}};b.prototype.D=function(f){if(f===this)this.l(new TypeError(\"A Promise cannot resolve to itself\"));else if(f instanceof b)this.H(f);else{a:switch(typeof f){case \"object\":var h=null!=f;break a;case \"function\":h=!0;break a;default:h=!1}h?this.A(f):this.o(f)}};\nb.prototype.A=function(f){var h=void 0;try{h=f.then}catch(k){this.l(k);return}\"function\"==typeof h?this.I(h,f):this.o(f)};b.prototype.l=function(f){this.u(2,f)};b.prototype.o=function(f){this.u(1,f)};b.prototype.u=function(f,h){if(0!=this.h)throw Error(\"Cannot settle(\"+f+\", \"+h+\"): Promise already settled in state\"+this.h);this.h=f;this.i=h;2===this.h&&this.G();this.B()};b.prototype.G=function(){var f=this;e(function(){if(f.C()){var h=y.console;\"undefined\"!==typeof h&&h.error(f.i)}},1)};b.prototype.C=\nfunction(){if(this.s)return!1;var f=y.CustomEvent,h=y.Event,k=y.dispatchEvent;if(\"undefined\"===typeof k)return!0;\"function\"===typeof f?f=new f(\"unhandledrejection\",{cancelable:!0}):\"function\"===typeof h?f=new h(\"unhandledrejection\",{cancelable:!0}):(f=y.document.createEvent(\"CustomEvent\"),f.initCustomEvent(\"unhandledrejection\",!1,!0,f));f.promise=this;f.reason=this.i;return k(f)};b.prototype.B=function(){if(null!=this.g){for(var f=0;f<this.g.length;++f)g.h(this.g[f]);this.g=null}};var g=new c;b.prototype.H=\nfunction(f){var h=this.j();f.M(h.resolve,h.reject)};b.prototype.I=function(f,h){var k=this.j();try{f.call(h,k.resolve,k.reject)}catch(l){k.reject(l)}};b.prototype.then=function(f,h){function k(p,n){return\"function\"==typeof p?function(r){try{l(p(r))}catch(t){m(t)}}:n}var l,m,q=new b(function(p,n){l=p;m=n});this.M(k(f,l),k(h,m));return q};b.prototype.catch=function(f){return this.then(void 0,f)};b.prototype.M=function(f,h){function k(){switch(l.h){case 1:f(l.i);break;case 2:h(l.i);break;default:throw Error(\"Unexpected state: \"+\nl.h);}}var l=this;null==this.g?g.h(k):this.g.push(k);this.s=!0};b.resolve=d;b.reject=function(f){return new b(function(h,k){k(f)})};b.race=function(f){return new b(function(h,k){for(var l=C(f),m=l.next();!m.done;m=l.next())d(m.value).M(h,k)})};b.all=function(f){var h=C(f),k=h.next();return k.done?d([]):new b(function(l,m){function q(r){return function(t){p[r]=t;n--;0==n&&l(p)}}var p=[],n=0;do p.push(void 0),n++,d(k.value).M(q(p.length-1),m),k=h.next();while(!k.done)})};return b});\nfunction ta(a,b){a instanceof String&&(a+=\"\");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var g=c++;return{value:b(g,a[g]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e}var ua=\"function\"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(a[e]=d[e])}return a};B(\"Object.assign\",function(a){return a||ua});\nB(\"Object.is\",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}});B(\"Array.prototype.includes\",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var g=d[c];if(g===b||Object.is(g,b))return!0}return!1}});\nB(\"String.prototype.includes\",function(a){return a?a:function(b,c){if(null==this)throw new TypeError(\"The 'this' value for String.prototype.includes must not be null or undefined\");if(b instanceof RegExp)throw new TypeError(\"First argument to String.prototype.includes must not be a regular expression\");return-1!==this.indexOf(b,c||0)}});B(\"Array.prototype.keys\",function(a){return a?a:function(){return ta(this,function(b){return b})}});var va=this||self;\nfunction K(a,b){a=a.split(\".\");var c=va;a[0]in c||\"undefined\"==typeof c.execScript||c.execScript(\"var \"+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};function L(){throw Error(\"Invalid UTF8\");}function wa(a,b){b=String.fromCharCode.apply(null,b);return null==a?b:a+b}var xa,ya=\"undefined\"!==typeof TextDecoder,za,Aa=\"undefined\"!==typeof TextEncoder;var Ba={},M=null;function Ca(a){var b;void 0===b&&(b=0);Da();b=Ba[b];for(var c=Array(Math.floor(a.length/3)),d=b[64]||\"\",e=0,g=0;e<a.length-2;e+=3){var f=a[e],h=a[e+1],k=a[e+2],l=b[f>>2];f=b[(f&3)<<4|h>>4];h=b[(h&15)<<2|k>>6];k=b[k&63];c[g++]=l+f+h+k}l=0;k=d;switch(a.length-e){case 2:l=a[e+1],k=b[(l&15)<<2]||d;case 1:a=a[e],c[g]=b[a>>2]+b[(a&3)<<4|l>>4]+k+d}return c.join(\"\")}\nfunction Ea(a){var b=a.length,c=3*b/4;c%3?c=Math.floor(c):-1!=\"=.\".indexOf(a[b-1])&&(c=-1!=\"=.\".indexOf(a[b-2])?c-2:c-1);var d=new Uint8Array(c),e=0;Fa(a,function(g){d[e++]=g});return e!==c?d.subarray(0,e):d}\nfunction Fa(a,b){function c(k){for(;d<a.length;){var l=a.charAt(d++),m=M[l];if(null!=m)return m;if(!/^[\\s\\xa0]*$/.test(l))throw Error(\"Unknown base64 encoding at char: \"+l);}return k}Da();for(var d=0;;){var e=c(-1),g=c(0),f=c(64),h=c(64);if(64===h&&-1===e)break;b(e<<2|g>>4);64!=f&&(b(g<<4&240|f>>2),64!=h&&b(f<<6&192|h))}}\nfunction Da(){if(!M){M={};for(var a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".split(\"\"),b=[\"+/=\",\"+/\",\"-_=\",\"-_.\",\"-_\"],c=0;5>c;c++){var d=a.concat(b[c].split(\"\"));Ba[c]=d;for(var e=0;e<d.length;e++){var g=d[e];void 0===M[g]&&(M[g]=e)}}}};var Ga=\"function\"===typeof Uint8Array;function Ha(a){return Ga&&null!=a&&a instanceof Uint8Array}var Ia;function Ja(a){this.L=a;if(null!==a&&0===a.length)throw Error(\"ByteString should be constructed with non-empty values\");};var Ka=\"function\"===typeof Uint8Array.prototype.slice,N=0,O=0;\nfunction La(a,b){if(a.constructor===Uint8Array)return a;if(a.constructor===ArrayBuffer)return new Uint8Array(a);if(a.constructor===Array)return new Uint8Array(a);if(a.constructor===String)return Ea(a);if(a.constructor===Ja){if(!b&&(b=a.L)&&b.constructor===Uint8Array)return b;b=a.L;b=null==b||Ha(b)?b:\"string\"===typeof b?Ea(b):null;return(a=a.L=b)?new Uint8Array(a):Ia||(Ia=new Uint8Array(0))}if(a instanceof Uint8Array)return new Uint8Array(a.buffer,a.byteOffset,a.byteLength);throw Error(\"Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, or Array of numbers\");\n};function Ma(a,b){return Error(\"Invalid wire type: \"+a+\" (at position \"+b+\")\")}function Na(){return Error(\"Failed to read varint, encoding is invalid.\")};function Oa(a,b){b=void 0===b?{}:b;b=void 0===b.v?!1:b.v;this.h=null;this.g=this.i=this.j=0;this.v=b;a&&Pa(this,a)}function Pa(a,b){a.h=La(b,a.v);a.j=0;a.i=a.h.length;a.g=a.j}Oa.prototype.reset=function(){this.g=this.j};function P(a){if(a.g>a.i)throw Error(\"Tried to read past the end of the data \"+a.g+\" > \"+a.i);}\nfunction Q(a){var b=a.h,c=b[a.g],d=c&127;if(128>c)return a.g+=1,P(a),d;c=b[a.g+1];d|=(c&127)<<7;if(128>c)return a.g+=2,P(a),d;c=b[a.g+2];d|=(c&127)<<14;if(128>c)return a.g+=3,P(a),d;c=b[a.g+3];d|=(c&127)<<21;if(128>c)return a.g+=4,P(a),d;c=b[a.g+4];a.g+=5;d|=(c&15)<<28;if(128>c)return P(a),d;if(128<=b[a.g++]&&128<=b[a.g++]&&128<=b[a.g++]&&128<=b[a.g++]&&128<=b[a.g++])throw Na();P(a);return d}var Qa=[];function Ra(){this.g=[]}Ra.prototype.length=function(){return this.g.length};Ra.prototype.end=function(){var a=this.g;this.g=[];return a};function S(a,b){for(;127<b;)a.g.push(b&127|128),b>>>=7;a.g.push(b)};function Sa(a){var b={},c=void 0===b.W?!1:b.W;this.l={v:void 0===b.v?!1:b.v};this.W=c;b=this.l;Qa.length?(c=Qa.pop(),b&&(c.v=b.v),a&&Pa(c,a),a=c):a=new Oa(a,b);this.g=a;this.j=this.g.g;this.h=this.i=-1}Sa.prototype.reset=function(){this.g.reset();this.j=this.g.g;this.h=this.i=-1};function Ta(a){var b=a.g;if(b.g==b.i)return!1;a.j=a.g.g;var c=Q(a.g)>>>0;b=c>>>3;c&=7;if(!(0<=c&&5>=c))throw Ma(c,a.j);if(1>b)throw Error(\"Invalid field number: \"+b+\" (at position \"+a.j+\")\");a.i=b;a.h=c;return!0}\nfunction Ua(a){switch(a.h){case 0:if(0!=a.h)Ua(a);else a:{a=a.g;for(var b=a.g,c=b+10;b<c;)if(0===(a.h[b++]&128)){a.g=b;P(a);break a}throw Na();}break;case 1:a=a.g;a.g+=8;P(a);break;case 2:2!=a.h?Ua(a):(b=Q(a.g)>>>0,a=a.g,a.g+=b,P(a));break;case 5:a=a.g;a.g+=4;P(a);break;case 3:b=a.i;do{if(!Ta(a))throw Error(\"Unmatched start-group tag: stream EOF\");if(4==a.h){if(a.i!=b)throw Error(\"Unmatched end-group tag\");break}Ua(a)}while(1);break;default:throw Ma(a.h,a.j);}}var Va=[];function Wa(){this.i=[];this.h=0;this.g=new Ra}function T(a,b){0!==b.length&&(a.i.push(b),a.h+=b.length)}function Xa(a,b){if(b=b.ba){T(a,a.g.end());for(var c=0;c<b.length;c++)T(a,b[c])}};var U=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol()?Symbol(void 0):void 0;function Ya(a,b){Object.isFrozen(a)||(U?a[U]|=b:void 0!==a.N?a.N|=b:Object.defineProperties(a,{N:{value:b,configurable:!0,writable:!0,enumerable:!1}}))}function Za(a){var b;U?b=a[U]:b=a.N;return null==b?0:b}function $a(a){Ya(a,1);return a}function ab(a){return Array.isArray(a)?!!(Za(a)&2):!1}function bb(a){if(!Array.isArray(a))throw Error(\"cannot mark non-array as immutable\");Ya(a,2)};function cb(a){return null!==a&&\"object\"===typeof a&&!Array.isArray(a)&&a.constructor===Object}var db=Object.freeze($a([]));function eb(a){if(ab(a.m))throw Error(\"Cannot mutate an immutable Message\");}var fb=\"undefined\"!=typeof Symbol&&\"undefined\"!=typeof Symbol.hasInstance;function gb(a){return{value:a,configurable:!1,writable:!1,enumerable:!1}};function V(a,b,c){return-1===b?null:b>=a.i?a.g?a.g[b]:void 0:(void 0===c?0:c)&&a.g&&(c=a.g[b],null!=c)?c:a.m[b+a.h]}function W(a,b,c,d){d=void 0===d?!1:d;eb(a);b<a.i&&!d?a.m[b+a.h]=c:(a.g||(a.g=a.m[a.i+a.h]={}))[b]=c}function hb(a,b,c,d){c=void 0===c?!0:c;d=void 0===d?!1:d;var e=V(a,b,d);null==e&&(e=db);if(ab(a.m))c&&(bb(e),Object.freeze(e));else if(e===db||ab(e))e=$a(e.slice()),W(a,b,e,d);return e}function X(a,b,c){a=V(a,b);a=null==a?a:+a;return null==a?void 0===c?0:c:a}\nfunction ib(a,b,c,d){a.j||(a.j={});var e=ab(a.m),g=a.j[c];if(!g){d=hb(a,c,!0,void 0===d?!1:d);g=[];e=e||ab(d);for(var f=0;f<d.length;f++)g[f]=new b(d[f]),e&&bb(g[f].m);e&&(bb(g),Object.freeze(g));a.j[c]=g}return g}function jb(a,b,c,d,e){var g=void 0===g?!1:g;eb(a);g=ib(a,c,b,g);c=d?d:new c;a=hb(a,b);void 0!=e?(g.splice(e,0,c),a.splice(e,0,c.m)):(g.push(c),a.push(c.m));return c}function kb(a,b){a=V(a,b);return null==a?0:a}function lb(a,b){a=V(a,b);return null==a?\"\":a};function mb(a){switch(typeof a){case \"number\":return isFinite(a)?a:String(a);case \"object\":if(a&&!Array.isArray(a)){if(Ha(a))return Ca(a);if(a instanceof Ja){var b=a.L;b=null==b||\"string\"===typeof b?b:Ga&&b instanceof Uint8Array?Ca(b):null;return(a.L=b)||\"\"}}}return a};function nb(a){var b=ob;b=void 0===b?pb:b;return qb(a,b)}function rb(a,b){if(null!=a){if(Array.isArray(a))a=qb(a,b);else if(cb(a)){var c={},d;for(d in a)c[d]=rb(a[d],b);a=c}else a=b(a);return a}}function qb(a,b){for(var c=a.slice(),d=0;d<c.length;d++)c[d]=rb(c[d],b);Array.isArray(a)&&Za(a)&1&&$a(c);return c}function ob(a){if(a&&\"object\"==typeof a&&a.toJSON)return a.toJSON();a=mb(a);return Array.isArray(a)?nb(a):a}function pb(a){return Ha(a)?new Uint8Array(a):a};function sb(a,b,c){a||(a=tb);tb=null;var d=this.constructor.h;a||(a=d?[d]:[]);this.h=(d?0:-1)-(this.constructor.g||0);this.j=void 0;this.m=a;a:{d=this.m.length;a=d-1;if(d&&(d=this.m[a],cb(d))){this.i=a-this.h;this.g=d;break a}void 0!==b&&-1<b?(this.i=Math.max(b,a+1-this.h),this.g=void 0):this.i=Number.MAX_VALUE}if(c)for(b=0;b<c.length;b++)if(a=c[b],a<this.i)a+=this.h,(d=this.m[a])?Array.isArray(d)&&$a(d):this.m[a]=db;else{d=this.g||(this.g=this.m[this.i+this.h]={});var e=d[a];e?Array.isArray(e)&&\n$a(e):d[a]=db}}sb.prototype.toJSON=function(){return nb(this.m)};sb.prototype.toString=function(){return this.m.toString()};var tb;function ub(){sb.apply(this,arguments)}E(ub,sb);if(fb){var vb={};Object.defineProperties(ub,(vb[Symbol.hasInstance]=gb(function(){throw Error(\"Cannot perform instanceof checks for MutableMessage\");}),vb))};function wb(a,b,c){if(c){var d={},e;for(e in c){var g=c[e],f=g.ha;f||(d.F=g.la||g.fa.P,g.aa?(d.U=xb(g.aa),f=function(h){return function(k,l,m){return h.F(k,l,m,h.U)}}(d)):g.ca?(d.T=yb(g.X.g,g.ca),f=function(h){return function(k,l,m){return h.F(k,l,m,h.T)}}(d)):f=d.F,g.ha=f);f(b,a,g.X);d={F:d.F,U:d.U,T:d.T}}}Xa(b,a)}var zb=Symbol();function Ab(a,b,c){return a[zb]||(a[zb]=function(d,e){return b(d,e,c)})}\nfunction Bb(a){var b=a[zb];if(!b){var c=Cb(a);b=function(d,e){return Db(d,e,c)};a[zb]=b}return b}function Eb(a){var b=a.aa;if(b)return Bb(b);if(b=a.ka)return Ab(a.X.g,b,a.ca)}function Fb(a){var b=Eb(a),c=a.X,d=a.fa.O;return b?function(e,g){return d(e,g,c,b)}:function(e,g){return d(e,g,c)}}\nfunction Gb(a,b,c,d,e,g){a=a();var f=0;a.length&&\"number\"!==typeof a[0]&&(c(b,a[0]),f++);for(;f<a.length;){c=a[f++];for(var h=f+1;h<a.length&&\"number\"!==typeof a[h];)h++;var k=a[f++];h-=f;switch(h){case 0:d(b,c,k);break;case 1:d(b,c,k,a[f++]);break;case 2:e(b,c,k,a[f++],a[f++]);break;case 3:h=a[f++];var l=a[f++],m=a[f++];Array.isArray(m)?e(b,c,k,h,l,m):g(b,c,k,h,l,m);break;case 4:g(b,c,k,a[f++],a[f++],a[f++],a[f++]);break;default:throw Error(\"unexpected number of binary field arguments: \"+h);}}return b}\nvar Hb=Symbol();function xb(a){var b=a[Hb];if(!b){var c=Ib(a);b=function(d,e){return Jb(d,e,c)};a[Hb]=b}return b}function yb(a,b){var c=a[Hb];c||(c=function(d,e){return wb(d,e,b)},a[Hb]=c);return c}var Kb=Symbol();function Lb(a,b){a.push(b)}function Mb(a,b,c){a.push(b,c.P)}function Nb(a,b,c,d,e){var g=xb(e),f=c.P;a.push(b,function(h,k,l){return f(h,k,l,d,g)})}function Ob(a,b,c,d,e,g){var f=yb(d,g),h=c.P;a.push(b,function(k,l,m){return h(k,l,m,d,f)})}\nfunction Ib(a){var b=a[Kb];return b?b:Gb(a,a[Kb]=[],Lb,Mb,Nb,Ob)}var Pb=Symbol();function Qb(a,b){a[0]=b}function Rb(a,b,c,d){var e=c.O;a[b]=d?function(g,f,h){return e(g,f,h,d)}:e}function Sb(a,b,c,d,e,g){var f=c.O,h=Bb(e);a[b]=function(k,l,m){return f(k,l,m,d,h,g)}}function Tb(a,b,c,d,e,g,f){var h=c.O,k=Ab(d,e,g);a[b]=function(l,m,q){return h(l,m,q,d,k,f)}}function Cb(a){var b=a[Pb];return b?b:Gb(a,a[Pb]={},Qb,Rb,Sb,Tb)}\nfunction Db(a,b,c){for(;Ta(b)&&4!=b.h;){var d=b.i,e=c[d];if(!e){var g=c[0];g&&(g=g[d])&&(e=c[d]=Fb(g))}if(!e||!e(b,a,d))if(e=b,d=a,g=e.j,Ua(e),!e.W){var f=e.g.h;e=e.g.g;e=g===e?Ia||(Ia=new Uint8Array(0)):Ka?f.slice(g,e):new Uint8Array(f.subarray(g,e));(g=d.ba)?g.push(e):d.ba=[e]}}return a}\nfunction Ub(a,b,c){if(Va.length){var d=Va.pop();a&&(Pa(d.g,a),d.i=-1,d.h=-1);a=d}else a=new Sa(a);try{return Db(new b,a,Cb(c))}finally{b=a.g,b.h=null,b.j=0,b.i=0,b.g=0,b.v=!1,a.i=-1,a.h=-1,100>Va.length&&Va.push(a)}}function Jb(a,b,c){for(var d=c.length,e=1==d%2,g=e?1:0;g<d;g+=2)(0,c[g+1])(b,a,c[g]);wb(a,b,e?c[0]:void 0)}function Vb(a,b){var c=new Wa;Jb(a,c,Ib(b));T(c,c.g.end());a=new Uint8Array(c.h);b=c.i;for(var d=b.length,e=0,g=0;g<d;g++){var f=b[g];a.set(f,e);e+=f.length}c.i=[a];return a}\nfunction Wb(a,b){return{O:a,P:b}}\nvar Y=Wb(function(a,b,c){if(5!==a.h)return!1;a=a.g;var d=a.h[a.g];var e=a.h[a.g+1];var g=a.h[a.g+2],f=a.h[a.g+3];a.g+=4;P(a);e=(d<<0|e<<8|g<<16|f<<24)>>>0;a=2*(e>>31)+1;d=e>>>23&255;e&=8388607;W(b,c,255==d?e?NaN:Infinity*a:0==d?a*Math.pow(2,-149)*e:a*Math.pow(2,d-150)*(e+Math.pow(2,23)));return!0},function(a,b,c){b=V(b,c);if(null!=b){S(a.g,8*c+5);a=a.g;var d=b;d=(c=0>d?1:0)?-d:d;0===d?0<1/d?N=O=0:(O=0,N=2147483648):isNaN(d)?(O=0,N=2147483647):3.4028234663852886E38<d?(O=0,N=(c<<31|2139095040)>>>0):\n1.1754943508222875E-38>d?(d=Math.round(d/Math.pow(2,-149)),O=0,N=(c<<31|d)>>>0):(b=Math.floor(Math.log(d)/Math.LN2),d*=Math.pow(2,-b),d=Math.round(8388608*d),16777216<=d&&++b,O=0,N=(c<<31|b+127<<23|d&8388607)>>>0);c=N;a.g.push(c>>>0&255);a.g.push(c>>>8&255);a.g.push(c>>>16&255);a.g.push(c>>>24&255)}}),Xb=Wb(function(a,b,c){if(0!==a.h)return!1;for(var d=a.g,e=128,g=0,f=a=0;4>f&&128<=e;f++)e=d.h[d.g++],P(d),g|=(e&127)<<7*f;128<=e&&(e=d.h[d.g++],P(d),g|=(e&127)<<28,a|=(e&127)>>4);if(128<=e)for(f=0;5>\nf&&128<=e;f++)e=d.h[d.g++],P(d),a|=(e&127)<<7*f+3;if(128>e){d=g>>>0;e=a>>>0;if(a=e&2147483648)d=~d+1>>>0,e=~e>>>0,0==d&&(e=e+1>>>0);d=4294967296*e+(d>>>0)}else throw Na();W(b,c,a?-d:d);return!0},function(a,b,c){b=V(b,c);if(null!=b&&null!=b){S(a.g,8*c);a=a.g;var d=b;c=0>d;d=Math.abs(d);b=d>>>0;d=Math.floor((d-b)/4294967296);d>>>=0;c&&(d=~d>>>0,b=(~b>>>0)+1,4294967295<b&&(b=0,d++,4294967295<d&&(d=0)));N=b;O=d;c=N;for(b=O;0<b||127<c;)a.g.push(c&127|128),c=(c>>>7|b<<25)>>>0,b>>>=7;a.g.push(c)}}),Yb=Wb(function(a,\nb,c){if(0!==a.h)return!1;W(b,c,Q(a.g));return!0},function(a,b,c){b=V(b,c);if(null!=b&&null!=b)if(S(a.g,8*c),a=a.g,c=b,0<=c)S(a,c);else{for(b=0;9>b;b++)a.g.push(c&127|128),c>>=7;a.g.push(1)}}),Zb=Wb(function(a,b,c){if(2!==a.h)return!1;var d=Q(a.g)>>>0;a=a.g;var e=a.g;a.g+=d;P(a);a=a.h;var g;if(ya)(g=xa)||(g=xa=new TextDecoder(\"utf-8\",{fatal:!0})),g=g.decode(a.subarray(e,e+d));else{d=e+d;for(var f=[],h=null,k,l,m;e<d;)k=a[e++],128>k?f.push(k):224>k?e>=d?L():(l=a[e++],194>k||128!==(l&192)?(e--,L()):\nf.push((k&31)<<6|l&63)):240>k?e>=d-1?L():(l=a[e++],128!==(l&192)||224===k&&160>l||237===k&&160<=l||128!==((g=a[e++])&192)?(e--,L()):f.push((k&15)<<12|(l&63)<<6|g&63)):244>=k?e>=d-2?L():(l=a[e++],128!==(l&192)||0!==(k<<28)+(l-144)>>30||128!==((g=a[e++])&192)||128!==((m=a[e++])&192)?(e--,L()):(k=(k&7)<<18|(l&63)<<12|(g&63)<<6|m&63,k-=65536,f.push((k>>10&1023)+55296,(k&1023)+56320))):L(),8192<=f.length&&(h=wa(h,f),f.length=0);g=wa(h,f)}W(b,c,g);return!0},function(a,b,c){b=V(b,c);if(null!=b){var d=!1;\nd=void 0===d?!1:d;if(Aa){if(d&&/(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])/.test(b))throw Error(\"Found an unpaired surrogate\");b=(za||(za=new TextEncoder)).encode(b)}else{for(var e=0,g=new Uint8Array(3*b.length),f=0;f<b.length;f++){var h=b.charCodeAt(f);if(128>h)g[e++]=h;else{if(2048>h)g[e++]=h>>6|192;else{if(55296<=h&&57343>=h){if(56319>=h&&f<b.length){var k=b.charCodeAt(++f);if(56320<=k&&57343>=k){h=1024*(h-55296)+k-56320+65536;g[e++]=h>>18|240;g[e++]=h>>12&63|128;\ng[e++]=h>>6&63|128;g[e++]=h&63|128;continue}else f--}if(d)throw Error(\"Found an unpaired surrogate\");h=65533}g[e++]=h>>12|224;g[e++]=h>>6&63|128}g[e++]=h&63|128}}b=g.subarray(0,e)}S(a.g,8*c+2);S(a.g,b.length);T(a,a.g.end());T(a,b)}}),$b=Wb(function(a,b,c,d,e){if(2!==a.h)return!1;b=jb(b,c,d);c=a.g.i;d=Q(a.g)>>>0;var g=a.g.g+d,f=g-c;0>=f&&(a.g.i=g,e(b,a),f=g-a.g.g);if(f)throw Error(\"Message parsing ended unexpectedly. Expected to read \"+(d+\" bytes, instead read \"+(d-f)+\" bytes, either the data ended unexpectedly or the message misreported its own length\"));\na.g.g=g;a.g.i=c;return!0},function(a,b,c,d,e){b=ib(b,d,c);if(null!=b)for(d=0;d<b.length;d++){var g=a;S(g.g,8*c+2);var f=g.g.end();T(g,f);f.push(g.h);g=f;e(b[d],a);f=a;var h=g.pop();for(h=f.h+f.g.length()-h;127<h;)g.push(h&127|128),h>>>=7,f.h++;g.push(h);f.h++}});function Z(){ub.apply(this,arguments)}E(Z,ub);if(fb){var ac={};Object.defineProperties(Z,(ac[Symbol.hasInstance]=gb(Object[Symbol.hasInstance]),ac))};function bc(a){Z.call(this,a)}E(bc,Z);function cc(){return[1,Yb,2,Y,3,Zb,4,Zb]};function dc(a){Z.call(this,a,-1,ec)}E(dc,Z);dc.prototype.addClassification=function(a,b){jb(this,1,bc,a,b);return this};function fc(){return[1,$b,bc,cc]}var ec=[1];function gc(a){Z.call(this,a)}E(gc,Z);function hc(){return[1,Y,2,Y,3,Y,4,Y,5,Y]};function ic(a){Z.call(this,a,-1,jc)}E(ic,Z);function kc(){return[1,$b,gc,hc]}var jc=[1];function lc(a){Z.call(this,a)}E(lc,Z);function mc(){return[1,Y,2,Y,3,Y,4,Y,5,Y,6,Xb]};var nc=[[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]],oc=[[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,\n385],[385,384],[384,398],[398,362]],pc=[[276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]],qc=[[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]],rc=[[46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]],sc=[[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],\n[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]],tc=[].concat(D(nc),D(oc),D(pc),D(qc),D(rc),D(sc));function uc(a,b,c){c=a.createShader(0===c?a.VERTEX_SHADER:a.FRAGMENT_SHADER);a.shaderSource(c,b);a.compileShader(c);if(!a.getShaderParameter(c,a.COMPILE_STATUS))throw Error(\"Could not compile WebGL shader.\\n\\n\"+a.getShaderInfoLog(c));return c};function vc(a){return ib(a,bc,1).map(function(b){return{index:kb(b,1),ga:X(b,2),label:null!=V(b,3)?lb(b,3):void 0,displayName:null!=V(b,4)?lb(b,4):void 0}})};function wc(a){return{x:X(a,1),y:X(a,2),z:X(a,3),visibility:null!=V(a,4)?X(a,4):void 0}};function xc(a,b){this.h=a;this.g=b;this.l=0}\nfunction yc(a,b,c){zc(a,b);if(\"function\"===typeof a.g.canvas.transferToImageBitmap)return Promise.resolve(a.g.canvas.transferToImageBitmap());if(c)return Promise.resolve(a.g.canvas);if(\"function\"===typeof createImageBitmap)return createImageBitmap(a.g.canvas);void 0===a.i&&(a.i=document.createElement(\"canvas\"));return new Promise(function(d){a.i.height=a.g.canvas.height;a.i.width=a.g.canvas.width;a.i.getContext(\"2d\",{}).drawImage(a.g.canvas,0,0,a.g.canvas.width,a.g.canvas.height);d(a.i)})}\nfunction zc(a,b){var c=a.g;if(void 0===a.o){var d=uc(c,\"\\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 }\",0),e=uc(c,\"\\n precision mediump float;\\n varying vec2 vTex;\\n uniform sampler2D sampler0;\\n void main(){\\n gl_FragColor = texture2D(sampler0, vTex);\\n }\",1),g=c.createProgram();c.attachShader(g,d);c.attachShader(g,e);c.linkProgram(g);if(!c.getProgramParameter(g,c.LINK_STATUS))throw Error(\"Could not compile WebGL program.\\n\\n\"+\nc.getProgramInfoLog(g));d=a.o=g;c.useProgram(d);e=c.getUniformLocation(d,\"sampler0\");a.j={K:c.getAttribLocation(d,\"aVertex\"),J:c.getAttribLocation(d,\"aTex\"),ma:e};a.u=c.createBuffer();c.bindBuffer(c.ARRAY_BUFFER,a.u);c.enableVertexAttribArray(a.j.K);c.vertexAttribPointer(a.j.K,2,c.FLOAT,!1,0,0);c.bufferData(c.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),c.STATIC_DRAW);c.bindBuffer(c.ARRAY_BUFFER,null);a.s=c.createBuffer();c.bindBuffer(c.ARRAY_BUFFER,a.s);c.enableVertexAttribArray(a.j.J);c.vertexAttribPointer(a.j.J,\n2,c.FLOAT,!1,0,0);c.bufferData(c.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,0,1,1]),c.STATIC_DRAW);c.bindBuffer(c.ARRAY_BUFFER,null);c.uniform1i(e,0)}d=a.j;c.useProgram(a.o);c.canvas.width=b.width;c.canvas.height=b.height;c.viewport(0,0,b.width,b.height);c.activeTexture(c.TEXTURE0);a.h.bindTexture2d(b.glName);c.enableVertexAttribArray(d.K);c.bindBuffer(c.ARRAY_BUFFER,a.u);c.vertexAttribPointer(d.K,2,c.FLOAT,!1,0,0);c.enableVertexAttribArray(d.J);c.bindBuffer(c.ARRAY_BUFFER,a.s);c.vertexAttribPointer(d.J,\n2,c.FLOAT,!1,0,0);c.bindFramebuffer(c.DRAW_FRAMEBUFFER?c.DRAW_FRAMEBUFFER:c.FRAMEBUFFER,null);c.clearColor(0,0,0,0);c.clear(c.COLOR_BUFFER_BIT);c.colorMask(!0,!0,!0,!0);c.drawArrays(c.TRIANGLE_FAN,0,4);c.disableVertexAttribArray(d.K);c.disableVertexAttribArray(d.J);c.bindBuffer(c.ARRAY_BUFFER,null);a.h.bindTexture2d(0)}function Ac(a){this.g=a};var Bc=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]);function Cc(a,b){return b+a}function Dc(a,b){window[a]=b}function Ec(a){var b=document.createElement(\"script\");b.setAttribute(\"src\",a);b.setAttribute(\"crossorigin\",\"anonymous\");return new Promise(function(c){b.addEventListener(\"load\",function(){c()},!1);b.addEventListener(\"error\",function(){c()},!1);document.body.appendChild(b)})}\nfunction Fc(){return J(function(a){switch(a.g){case 1:return a.o=2,G(a,WebAssembly.instantiate(Bc),4);case 4:a.g=3;a.o=0;break;case 2:return a.o=0,a.j=null,a.return(!1);case 3:return a.return(!0)}})}\nfunction Gc(a){this.g=a;this.listeners={};this.j={};this.H={};this.o={};this.u={};this.I=this.s=this.Z=!0;this.D=Promise.resolve();this.Y=\"\";this.C={};this.locateFile=a&&a.locateFile||Cc;if(\"object\"===typeof window)var b=window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf(\"/\"))+\"/\";else if(\"undefined\"!==typeof location)b=location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf(\"/\"))+\"/\";else throw Error(\"solutions can only be loaded on a web page or in a web worker\");\nthis.$=b;if(a.options){b=C(Object.keys(a.options));for(var c=b.next();!c.done;c=b.next()){c=c.value;var d=a.options[c].default;void 0!==d&&(this.j[c]=\"function\"===typeof d?d():d)}}}x=Gc.prototype;x.close=function(){this.i&&this.i.delete();return Promise.resolve()};\nfunction Hc(a){var b,c,d,e,g,f,h,k,l,m,q;return J(function(p){switch(p.g){case 1:if(!a.Z)return p.return();b=void 0===a.g.files?[]:\"function\"===typeof a.g.files?a.g.files(a.j):a.g.files;return G(p,Fc(),2);case 2:c=p.h;if(\"object\"===typeof window)return Dc(\"createMediapipeSolutionsWasm\",{locateFile:a.locateFile}),Dc(\"createMediapipeSolutionsPackedAssets\",{locateFile:a.locateFile}),f=b.filter(function(n){return void 0!==n.data}),h=b.filter(function(n){return void 0===n.data}),k=Promise.all(f.map(function(n){var r=\nIc(a,n.url);if(void 0!==n.path){var t=n.path;r=r.then(function(w){a.overrideFile(t,w);return Promise.resolve(w)})}return r})),l=Promise.all(h.map(function(n){return void 0===n.simd||n.simd&&c||!n.simd&&!c?Ec(a.locateFile(n.url,a.$)):Promise.resolve()})).then(function(){var n,r,t;return J(function(w){if(1==w.g)return n=window.createMediapipeSolutionsWasm,r=window.createMediapipeSolutionsPackedAssets,t=a,G(w,n(r),2);t.h=w.h;w.g=0})}),m=function(){return J(function(n){a.g.graph&&a.g.graph.url?n=G(n,\nIc(a,a.g.graph.url),0):(n.g=0,n=void 0);return n})}(),G(p,Promise.all([l,k,m]),7);if(\"function\"!==typeof importScripts)throw Error(\"solutions can only be loaded on a web page or in a web worker\");d=b.filter(function(n){return void 0===n.simd||n.simd&&c||!n.simd&&!c}).map(function(n){return a.locateFile(n.url,a.$)});importScripts.apply(null,D(d));e=a;return G(p,createMediapipeSolutionsWasm(Module),6);case 6:e.h=p.h;a.l=new OffscreenCanvas(1,1);a.h.canvas=a.l;g=a.h.GL.createContext(a.l,{antialias:!1,\nalpha:!1,ja:\"undefined\"!==typeof WebGL2RenderingContext?2:1});a.h.GL.makeContextCurrent(g);p.g=4;break;case 7:a.l=document.createElement(\"canvas\");q=a.l.getContext(\"webgl2\",{});if(!q&&(q=a.l.getContext(\"webgl\",{}),!q))return alert(\"Failed to create WebGL canvas context when passing video frame.\"),p.return();a.G=q;a.h.canvas=a.l;a.h.createContext(a.l,!0,!0,{});case 4:a.i=new a.h.SolutionWasm,a.Z=!1,p.g=0}})}\nfunction Jc(a){var b,c,d,e,g,f,h,k;return J(function(l){if(1==l.g){if(a.g.graph&&a.g.graph.url&&a.Y===a.g.graph.url)return l.return();a.s=!0;if(!a.g.graph||!a.g.graph.url){l.g=2;return}a.Y=a.g.graph.url;return G(l,Ic(a,a.g.graph.url),3)}2!=l.g&&(b=l.h,a.i.loadGraph(b));c=C(Object.keys(a.C));for(d=c.next();!d.done;d=c.next())e=d.value,a.i.overrideFile(e,a.C[e]);a.C={};if(a.g.listeners)for(g=C(a.g.listeners),f=g.next();!f.done;f=g.next())h=f.value,Kc(a,h);k=a.j;a.j={};a.setOptions(k);l.g=0})}\nx.reset=function(){var a=this;return J(function(b){a.i&&(a.i.reset(),a.o={},a.u={});b.g=0})};\nx.setOptions=function(a,b){var c=this;if(b=b||this.g.options){for(var d=[],e=[],g={},f=C(Object.keys(a)),h=f.next();!h.done;g={R:g.R,S:g.S},h=f.next()){var k=h.value;k in this.j&&this.j[k]===a[k]||(this.j[k]=a[k],h=b[k],void 0!==h&&(h.onChange&&(g.R=h.onChange,g.S=a[k],d.push(function(l){return function(){var m;return J(function(q){if(1==q.g)return G(q,l.R(l.S),2);m=q.h;!0===m&&(c.s=!0);q.g=0})}}(g))),h.graphOptionXref&&(k={valueNumber:1===h.type?a[k]:0,valueBoolean:0===h.type?a[k]:!1,valueString:2===\nh.type?a[k]:\"\"},h=Object.assign(Object.assign(Object.assign({},{calculatorName:\"\",calculatorIndex:0}),h.graphOptionXref),k),e.push(h))))}if(0!==d.length||0!==e.length)this.s=!0,this.B=(void 0===this.B?[]:this.B).concat(e),this.A=(void 0===this.A?[]:this.A).concat(d)}};\nfunction Lc(a){var b,c,d,e,g,f,h;return J(function(k){switch(k.g){case 1:if(!a.s)return k.return();if(!a.A){k.g=2;break}b=C(a.A);c=b.next();case 3:if(c.done){k.g=5;break}d=c.value;return G(k,d(),4);case 4:c=b.next();k.g=3;break;case 5:a.A=void 0;case 2:if(a.B){e=new a.h.GraphOptionChangeRequestList;g=C(a.B);for(f=g.next();!f.done;f=g.next())h=f.value,e.push_back(h);a.i.changeOptions(e);e.delete();a.B=void 0}a.s=!1;k.g=0}})}\nx.initialize=function(){var a=this;return J(function(b){return 1==b.g?G(b,Hc(a),2):3!=b.g?G(b,Jc(a),3):G(b,Lc(a),0)})};function Ic(a,b){var c,d;return J(function(e){if(b in a.H)return e.return(a.H[b]);c=a.locateFile(b,\"\");d=fetch(c).then(function(g){return g.arrayBuffer()});a.H[b]=d;return e.return(d)})}x.overrideFile=function(a,b){this.i?this.i.overrideFile(a,b):this.C[a]=b};x.clearOverriddenFiles=function(){this.C={};this.i&&this.i.clearOverriddenFiles()};\nx.send=function(a,b){var c=this,d,e,g,f,h,k,l,m,q;return J(function(p){switch(p.g){case 1:if(!c.g.inputs)return p.return();d=1E3*(void 0===b||null===b?performance.now():b);return G(p,c.D,2);case 2:return G(p,c.initialize(),3);case 3:e=new c.h.PacketDataList;g=C(Object.keys(a));for(f=g.next();!f.done;f=g.next())if(h=f.value,k=c.g.inputs[h]){a:{var n=a[h];switch(k.type){case \"video\":var r=c.o[k.stream];r||(r=new xc(c.h,c.G),c.o[k.stream]=r);0===r.l&&(r.l=r.h.createTexture());if(\"undefined\"!==typeof HTMLVideoElement&&\nn instanceof HTMLVideoElement){var t=n.videoWidth;var w=n.videoHeight}else\"undefined\"!==typeof HTMLImageElement&&n instanceof HTMLImageElement?(t=n.naturalWidth,w=n.naturalHeight):(t=n.width,w=n.height);w={glName:r.l,width:t,height:w};t=r.g;t.canvas.width=w.width;t.canvas.height=w.height;t.activeTexture(t.TEXTURE0);r.h.bindTexture2d(r.l);t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n);r.h.bindTexture2d(0);r=w;break a;case \"detections\":r=c.o[k.stream];r||(r=new Ac(c.h),c.o[k.stream]=r);\nr.data||(r.data=new r.g.DetectionListData);r.data.reset(n.length);for(w=0;w<n.length;++w){t=n[w];var v=r.data,A=v.setBoundingBox,I=w;var F=t.boundingBox;var u=new lc;W(u,1,F.xCenter);W(u,2,F.yCenter);W(u,3,F.height);W(u,4,F.width);W(u,5,F.rotation);W(u,6,F.rectId);F=Vb(u,mc);A.call(v,I,F);if(t.landmarks)for(v=0;v<t.landmarks.length;++v){u=t.landmarks[v];var z=u.visibility?!0:!1;A=r.data;I=A.addNormalizedLandmark;F=w;u=Object.assign(Object.assign({},u),{visibility:z?u.visibility:0});z=new gc;W(z,1,\nu.x);W(z,2,u.y);W(z,3,u.z);u.visibility&&W(z,4,u.visibility);u=Vb(z,hc);I.call(A,F,u)}if(t.V)for(v=0;v<t.V.length;++v)A=r.data,I=A.addClassification,F=w,u=t.V[v],z=new bc,W(z,2,u.ga),u.index&&W(z,1,u.index),u.label&&W(z,3,u.label),u.displayName&&W(z,4,u.displayName),u=Vb(z,cc),I.call(A,F,u)}r=r.data;break a;default:r={}}}l=r;m=k.stream;switch(k.type){case \"video\":e.pushTexture2d(Object.assign(Object.assign({},l),{stream:m,timestamp:d}));break;case \"detections\":q=l;q.stream=m;q.timestamp=d;e.pushDetectionList(q);\nbreak;default:throw Error(\"Unknown input config type: '\"+k.type+\"'\");}}c.i.send(e);return G(p,c.D,4);case 4:e.delete(),p.g=0}})};\nfunction Mc(a,b,c){var d,e,g,f,h,k,l,m,q,p,n,r,t,w;return J(function(v){switch(v.g){case 1:if(!c)return v.return(b);d={};e=0;g=C(Object.keys(c));for(f=g.next();!f.done;f=g.next())h=f.value,k=c[h],\"string\"!==typeof k&&\"texture\"===k.type&&void 0!==b[k.stream]&&++e;1<e&&(a.I=!1);l=C(Object.keys(c));f=l.next();case 2:if(f.done){v.g=4;break}m=f.value;q=c[m];if(\"string\"===typeof q)return t=d,w=m,G(v,Nc(a,m,b[q]),14);p=b[q.stream];if(\"detection_list\"===q.type){if(p){var A=p.getRectList();for(var I=p.getLandmarksList(),\nF=p.getClassificationsList(),u=[],z=0;z<A.size();++z){var R=Ub(A.get(z),lc,mc);R={boundingBox:{xCenter:X(R,1),yCenter:X(R,2),height:X(R,3),width:X(R,4),rotation:X(R,5,0),rectId:kb(R,6)},landmarks:ib(Ub(I.get(z),ic,kc),gc,1).map(wc),V:vc(Ub(F.get(z),dc,fc))};u.push(R)}A=u}else A=[];d[m]=A;v.g=7;break}if(\"proto_list\"===q.type){if(p){A=Array(p.size());for(I=0;I<p.size();I++)A[I]=p.get(I);p.delete()}else A=[];d[m]=A;v.g=7;break}if(void 0===p){v.g=3;break}if(\"float_list\"===q.type){d[m]=p;v.g=7;break}if(\"proto\"===\nq.type){d[m]=p;v.g=7;break}if(\"texture\"!==q.type)throw Error(\"Unknown output config type: '\"+q.type+\"'\");n=a.u[m];n||(n=new xc(a.h,a.G),a.u[m]=n);return G(v,yc(n,p,a.I),13);case 13:r=v.h,d[m]=r;case 7:q.transform&&d[m]&&(d[m]=q.transform(d[m]));v.g=3;break;case 14:t[w]=v.h;case 3:f=l.next();v.g=2;break;case 4:return v.return(d)}})}\nfunction Nc(a,b,c){var d;return J(function(e){return\"number\"===typeof c||c instanceof Uint8Array||c instanceof a.h.Uint8BlobList?e.return(c):c instanceof a.h.Texture2dDataOut?(d=a.u[b],d||(d=new xc(a.h,a.G),a.u[b]=d),e.return(yc(d,c,a.I))):e.return(void 0)})}\nfunction Kc(a,b){for(var c=b.name||\"$\",d=[].concat(D(b.wants)),e=new a.h.StringList,g=C(b.wants),f=g.next();!f.done;f=g.next())e.push_back(f.value);g=a.h.PacketListener.implement({onResults:function(h){for(var k={},l=0;l<b.wants.length;++l)k[d[l]]=h.get(l);var m=a.listeners[c];m&&(a.D=Mc(a,k,b.outs).then(function(q){q=m(q);for(var p=0;p<b.wants.length;++p){var n=k[d[p]];\"object\"===typeof n&&n.hasOwnProperty&&n.hasOwnProperty(\"delete\")&&n.delete()}q&&(a.D=q)}))}});a.i.attachMultiListener(e,g);e.delete()}\nx.onResults=function(a,b){this.listeners[b||\"$\"]=a};K(\"Solution\",Gc);K(\"OptionType\",{BOOL:0,NUMBER:1,ia:2,0:\"BOOL\",1:\"NUMBER\",2:\"STRING\"});function Oc(a){var b=this;a=a||{};var c={url:\"face_detection_short.binarypb\"},d={type:1,graphOptionXref:{calculatorType:\"TensorsToDetectionsCalculator\",calculatorName:\"facedetectionshortrangegpu__facedetectionshortrangecommon__TensorsToDetectionsCalculator\",fieldName:\"min_score_thresh\"}};this.g=new Gc({locateFile:a.locateFile,files:[{data:!0,url:\"face_detection_short.binarypb\"},{data:!0,url:\"face_detection_short_range.tflite\"},{simd:!0,url:\"face_detection_solution_simd_wasm_bin.js\"},{simd:!1,url:\"face_detection_solution_wasm_bin.js\"}],\ngraph:c,listeners:[{wants:[\"detections\",\"image_transformed\"],outs:{image:\"image_transformed\",detections:{type:\"detection_list\",stream:\"detections\"}}}],inputs:{image:{type:\"video\",stream:\"input_frames_gpu\"}},options:{useCpuInference:{type:0,graphOptionXref:{calculatorType:\"InferenceCalculator\",fieldName:\"use_cpu_inference\"},default:\"object\"!==typeof window||void 0===window.navigator?!1:\"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod\".split(\";\").includes(navigator.platform)||navigator.userAgent.includes(\"Mac\")&&\n\"ontouchend\"in document},selfieMode:{type:0,graphOptionXref:{calculatorType:\"GlScalerCalculator\",calculatorIndex:1,fieldName:\"flip_horizontal\"}},model:{type:0,onChange:function(e){var g,f,h,k,l,m;return J(function(q){switch(q.g){case 1:g=\"short\"===e?[\"face_detection_short_range.tflite\"]:[\"face_detection_full_range_sparse.tflite\"],f=C(g),h=f.next();case 2:if(h.done){q.g=4;break}k=h.value;l=\"third_party/mediapipe/modules/face_detection/\"+k;return G(q,Ic(b.g,k),5);case 5:m=q.h;b.g.overrideFile(l,m);\nh=f.next();q.g=2;break;case 4:return c.url=\"short\"===e?\"face_detection_short.binarypb\":\"face_detection_full.binarypb\",d.graphOptionXref.calculatorName=\"short\"===e?\"facedetectionshortrangegpu__facedetectionshortrangecommon__TensorsToDetectionsCalculator\":\"facedetectionfullrangegpu__facedetectionfullrangecommon__TensorsToDetectionsCalculator\",q.return(!0)}})}},minDetectionConfidence:d}})}x=Oc.prototype;x.close=function(){this.g.close();return Promise.resolve()};x.onResults=function(a){this.g.onResults(a)};\nx.initialize=function(){var a=this;return J(function(b){return G(b,a.g.initialize(),0)})};x.reset=function(){this.g.reset()};x.send=function(a){var b=this;return J(function(c){return G(c,b.g.send(a),0)})};x.setOptions=function(a){this.g.setOptions(a)};K(\"FaceDetection\",Oc);K(\"FACEDETECTION_LIPS\",nc);K(\"FACEDETECTION_LEFT_EYE\",oc);K(\"FACEDETECTION_LEFT_EYEBROW\",pc);K(\"FACEDETECTION_RIGHT_EYE\",qc);K(\"FACEDETECTION_RIGHT_EYEBROW\",rc);K(\"FACEDETECTION_FACE_OVAL\",sc);K(\"FACEDETECTION_CONTOURS\",tc);\nK(\"FACEDETECTION_TESSELATION\",[[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],\n[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],\n[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],\n[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],\n[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],\n[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,\n172],[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],\n[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,\n82],[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,\n83],[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],\n[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,\n233],[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],\n[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],\n[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,\n419],[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],\n[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],\n[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,\n369],[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],\n[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],\n[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,\n426],[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,\n262],[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],\n[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,\n444],[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],\n[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],\n[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,\n30],[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],\n[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,\n146],[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,\n28],[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,\n168],[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],\n[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],\n[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,\n36],[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],\n[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,\n232],[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,\n174],[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],\n[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],\n[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],\n[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,\n352],[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],\n[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,\n329],[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,\n396],[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],\n[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],\n[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,\n287],[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],\n[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,\n343],[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]]);K(\"VERSION\",\"0.4.1646425229\");}).call(this);\n","import { __assign, __awaiter, __generator } from \"tslib\";\nimport '@mediapipe/face_detection';\nimport { FaceDetector, FilesetResolver, } from '@mediapipe/tasks-vision';\nimport { preloadFaceDetectorDependencies, progressToPercentage, } from './preloadModels';\nimport { modelCapabilities } from './CapabilityProbing';\nimport { visionTasksBasePath } from './VisionRuntime';\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport { convertBoundingBox, waitForVideoReady } from './helpers';\nimport { CameraStateContext } from '../../components/camera/CameraProvider';\nexport var defaultFaceDetectorModelPath = 'https://websdk-cdn-dev.idmission.com/assets/models/blazeface20240207/blaze_face_short_range.tflite';\nexport var defaultSelfieCaptureModelLoadTimeoutMs = 45000;\nvar detector;\nexport function loadFaceDetector() {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (detector)\n return [2 /*return*/, detector];\n return [4 /*yield*/, preloadFaceDetectorDependencies()];\n case 1:\n _c.sent();\n if (modelCapabilities.delegate === 'NONE') {\n throw new Error('No available delegate for face detector.');\n }\n _b = (_a = FaceDetector).createFromOptions;\n return [4 /*yield*/, FilesetResolver.forVisionTasks(visionTasksBasePath)];\n case 2: return [4 /*yield*/, _b.apply(_a, [_c.sent(), {\n baseOptions: {\n modelAssetPath: defaultFaceDetectorModelPath,\n delegate: modelCapabilities.delegate,\n },\n runningMode: 'VIDEO',\n }])];\n case 3:\n detector = _c.sent();\n return [2 /*return*/, detector];\n }\n });\n });\n}\nexport function useLoadFaceDetector(_a) {\n var onModelError = _a.onModelError, _b = _a.modelLoadTimeoutMs, modelLoadTimeoutMs = _b === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _b;\n var detector = useRef(null);\n var _c = useState(false), ready = _c[0], setReady = _c[1];\n var _d = useState(0), modelDownloadProgress = _d[0], setModelDownloadProgress = _d[1];\n var _e = useState(null), modelError = _e[0], setModelError = _e[1];\n var videoRef = useContext(CameraStateContext).videoRef;\n useEffect(function loadModel() {\n var _this = this;\n setReady(false);\n var modelLoadTimeout = setTimeout(function () {\n setModelError(new Error('Model loading time limit exceeded.'));\n }, modelLoadTimeoutMs);\n function handleDownloadProgress(event) {\n setModelDownloadProgress(progressToPercentage(event.detail));\n }\n document.addEventListener('idmission.preloadProgress.faceDetection', handleDownloadProgress);\n loadFaceDetector()\n .then(function (model) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n detector.current = model;\n setModelDownloadProgress(100);\n clearTimeout(modelLoadTimeout);\n return [4 /*yield*/, waitForVideoReady(videoRef)];\n case 1:\n _a.sent();\n model.detectForVideo(videoRef.current, performance.now());\n setReady(true);\n return [2 /*return*/];\n }\n });\n }); })\n .catch(function (e) {\n setModelError(e);\n })\n .finally(function () {\n clearTimeout(modelLoadTimeout);\n });\n return function () {\n clearTimeout(modelLoadTimeout);\n document.removeEventListener('idmission.preloadProgress.faceDetection', handleDownloadProgress);\n };\n }, [modelLoadTimeoutMs, videoRef]);\n useEffect(function handleModelError() {\n modelError && (onModelError === null || onModelError === void 0 ? void 0 : onModelError(modelError));\n }, [modelError, onModelError]);\n return { detector: detector, ready: ready, modelDownloadProgress: modelDownloadProgress, modelError: modelError };\n}\nexport function makeFaceDetectorPrediction(model, imageData) {\n var prediction = model.detectForVideo(imageData, performance.now());\n var faces = prediction.detections.map(function (d) { return ({\n box: convertBoundingBox(d.boundingBox),\n keypoints: d.keypoints.map(function (k) {\n var _a;\n return (__assign(__assign({}, k), { x: k.x * imageData.width, y: k.y * imageData.height, name: (_a = k.label) !== null && _a !== void 0 ? _a : '' }));\n }),\n }); });\n return __assign(__assign({}, prediction), { faces: faces });\n}\n//# sourceMappingURL=FaceDetection.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { defaultDocumentDetectorModelPath } from './DocumentDetection';\nimport { defaultFocusModelPath } from './Focus';\nimport { defaultFaceDetectorModelPath } from './FaceDetection';\nimport { modelCapabilities, probeModelCapabilities } from './CapabilityProbing';\nexport var preloadModels = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {\n var preloadTasks;\n var _c = _b.documentDetectionModel, documentDetectionModel = _c === void 0 ? true : _c, _d = _b.focusModel, focusModel = _d === void 0 ? true : _d, _e = _b.faceDetectionModel, faceDetectionModel = _e === void 0 ? true : _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0: return [4 /*yield*/, probeModelCapabilities()];\n case 1:\n _f.sent();\n preloadTasks = [];\n if (documentDetectionModel) {\n preloadTasks.push(preloadDocumentDetectorDependencies);\n }\n if (focusModel) {\n preloadTasks.push(preloadFocusModelDependencies);\n }\n if (faceDetectionModel) {\n preloadTasks.push(preloadFaceDetectorDependencies);\n }\n return [4 /*yield*/, Promise.all(preloadTasks)];\n case 2:\n _f.sent();\n return [2 /*return*/];\n }\n });\n}); };\nvar progressByUrl = {};\nexport var progressByUseCase = {\n visionRuntime: { loaded: 0, total: 0 },\n documentDetection: { loaded: 0, total: 0 },\n focus: { loaded: 0, total: 0 },\n faceDetection: { loaded: 0, total: 0 },\n};\nexport function preloadDependency(url) {\n return __awaiter(this, void 0, void 0, function () {\n var xhr;\n return __generator(this, function (_a) {\n xhr = new XMLHttpRequest();\n return [2 /*return*/, new Promise(function (resolve) {\n xhr.addEventListener('progress', function (event) {\n if (!event.lengthComputable)\n return;\n progressByUrl[url] = event;\n document.dispatchEvent(new CustomEvent('idmission.preloadProgress', {\n detail: { url: url, loaded: event.loaded, total: event.total },\n }));\n });\n xhr.addEventListener('loadend', function () {\n resolve(xhr.readyState === 4 && xhr.status === 200);\n });\n xhr.open('GET', url, true);\n xhr.send();\n })];\n });\n });\n}\nvar documentDetectorPreloading = false, focusModelPreloading = false, faceDetectorPreloading = false;\nexport function preloadDocumentDetectorDependencies() {\n return __awaiter(this, void 0, void 0, function () {\n function handleDownloadProgress(event) {\n var detail = event.detail;\n if (!dependencies.includes(detail.url))\n return;\n progressByUseCase.documentDetection =\n sumUpProgressForDependencies(dependencies);\n document.dispatchEvent(new CustomEvent('idmission.preloadProgress.documentDetection', {\n detail: progressByUseCase.documentDetection,\n }));\n }\n var dependencies;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (documentDetectorPreloading)\n return [2 /*return*/, new Promise(function (resolve) {\n setInterval(function () {\n if (!documentDetectorPreloading)\n resolve();\n }, 100);\n })];\n documentDetectorPreloading = true;\n return [4 /*yield*/, probeModelCapabilities()];\n case 1:\n _a.sent();\n if (modelCapabilities.delegate === 'NONE') {\n throw new Error('No available delegate for document detector.');\n }\n dependencies = [defaultDocumentDetectorModelPath];\n document.addEventListener('idmission.preloadProgress', handleDownloadProgress);\n _a.label = 2;\n case 2:\n _a.trys.push([2, , 4, 5]);\n return [4 /*yield*/, Promise.all(dependencies.map(preloadDependency))];\n case 3:\n _a.sent();\n return [3 /*break*/, 5];\n case 4:\n document.removeEventListener('idmission.preloadProgress', handleDownloadProgress);\n documentDetectorPreloading = false;\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n });\n}\nexport function preloadFocusModelDependencies() {\n return __awaiter(this, void 0, void 0, function () {\n function handleModelDownloadProgress(event) {\n var detail = event.detail;\n if (!dependencies.includes(detail.url))\n return;\n progressByUseCase.focus = sumUpProgressForDependencies(dependencies);\n document.dispatchEvent(new CustomEvent('idmission.preloadProgress.focus', {\n detail: progressByUseCase.focus,\n }));\n }\n var dependencies;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (focusModelPreloading)\n return [2 /*return*/, new Promise(function (resolve) {\n setInterval(function () {\n if (!focusModelPreloading)\n resolve();\n }, 100);\n })];\n focusModelPreloading = true;\n return [4 /*yield*/, probeModelCapabilities()];\n case 1:\n _a.sent();\n if (modelCapabilities.delegate === 'NONE') {\n throw new Error('No available delegate for document detector.');\n }\n dependencies = [defaultFocusModelPath];\n document.addEventListener('idmission.preloadProgress', handleModelDownloadProgress);\n _a.label = 2;\n case 2:\n _a.trys.push([2, , 4, 5]);\n return [4 /*yield*/, Promise.all(dependencies.map(preloadDependency))];\n case 3:\n _a.sent();\n return [3 /*break*/, 5];\n case 4:\n document.removeEventListener('idmission.preloadProgress', handleModelDownloadProgress);\n focusModelPreloading = false;\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n });\n}\nexport function preloadFaceDetectorDependencies() {\n return __awaiter(this, void 0, void 0, function () {\n function handleModelDownloadProgress(event) {\n var detail = event.detail;\n if (!dependencies.includes(detail.url))\n return;\n progressByUseCase.faceDetection = sumUpProgressForDependencies(dependencies);\n document.dispatchEvent(new CustomEvent('idmission.preloadProgress.faceDetection', {\n detail: progressByUseCase.faceDetection,\n }));\n }\n var dependencies;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (faceDetectorPreloading)\n return [2 /*return*/, new Promise(function (resolve) {\n setInterval(function () {\n if (!faceDetectorPreloading)\n resolve();\n }, 100);\n })];\n faceDetectorPreloading = true;\n return [4 /*yield*/, probeModelCapabilities()];\n case 1:\n _a.sent();\n if (modelCapabilities.delegate === 'NONE') {\n throw new Error('No available delegate for document detector.');\n }\n dependencies = [defaultFaceDetectorModelPath];\n document.addEventListener('idmission.preloadProgress', handleModelDownloadProgress);\n _a.label = 2;\n case 2:\n _a.trys.push([2, , 4, 5]);\n return [4 /*yield*/, Promise.all(dependencies.map(preloadDependency))];\n case 3:\n _a.sent();\n return [3 /*break*/, 5];\n case 4:\n document.removeEventListener('idmission.preloadProgress', handleModelDownloadProgress);\n faceDetectorPreloading = false;\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n });\n}\nexport function progressToPercentage(progress) {\n return progress.total > 0\n ? Math.round((100.0 * progress.loaded) / progress.total)\n : 0;\n}\nexport function sumUpProgressForDependencies(dependencies) {\n return dependencies.reduce(function (result, dependency) {\n var dependencyProgress = progressByUrl[dependency];\n if (!dependencyProgress)\n return result;\n result.loaded += dependencyProgress.loaded;\n result.total += dependencyProgress.total;\n return result;\n }, { loaded: 0, total: 0 });\n}\n//# sourceMappingURL=preloadModels.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { FilesetResolver, ObjectDetector, } from '@mediapipe/tasks-vision';\nimport { preloadDocumentDetectorDependencies, progressToPercentage, } from './preloadModels';\nimport { modelCapabilities } from './CapabilityProbing';\nimport { visionTasksBasePath } from './VisionRuntime';\nimport { error as logError } from '../utils/logger';\nimport { convertBoundingBox, waitForVideoReady } from './helpers';\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport { CameraStateContext } from '../../components/camera/CameraProvider';\nexport var defaultDocumentDetectorModelPath = \"https://websdk-cdn-dev.idmission.com/assets/models/docdetectmp20240802/model_fp16.tflite\";\nexport var defaultDocumentDetectionScoreThreshold = 0.1;\nexport var defaultDocumentDetectionModelLoadTimeoutMs = 45000;\nexport var defaultDocumentDetectionThresholds = {\n idCardFront: 0.8,\n idCardBack: 0.8,\n passport: 0.5,\n};\nexport var documentTypeDisplayNames = {\n idCardFront: 'ID card front',\n idCardBack: 'ID card back',\n passport: 'Passport',\n none: 'None',\n};\nvar detectors = {};\nexport function loadDocumentDetector() {\n return __awaiter(this, arguments, void 0, function (modelAssetPath, scoreThreshold) {\n var id, _a, _b, _c, _d;\n if (modelAssetPath === void 0) { modelAssetPath = defaultDocumentDetectorModelPath; }\n if (scoreThreshold === void 0) { scoreThreshold = defaultDocumentDetectionScoreThreshold; }\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n id = \"\".concat(modelAssetPath, \":\").concat(scoreThreshold);\n if (detectors[id])\n return [2 /*return*/, detectors[id]];\n return [4 /*yield*/, preloadDocumentDetectorDependencies()];\n case 1:\n _e.sent();\n if (modelCapabilities.delegate === 'NONE') {\n throw new Error('No available delegate for document detector.');\n }\n _a = detectors;\n _b = id;\n _d = (_c = ObjectDetector).createFromOptions;\n return [4 /*yield*/, FilesetResolver.forVisionTasks(visionTasksBasePath)];\n case 2: return [4 /*yield*/, _d.apply(_c, [_e.sent(), {\n baseOptions: { modelAssetPath: modelAssetPath, delegate: modelCapabilities.delegate },\n scoreThreshold: scoreThreshold,\n runningMode: 'VIDEO',\n }])];\n case 3:\n _a[_b] = _e.sent();\n return [2 /*return*/, detectors[id]];\n }\n });\n });\n}\nexport function useLoadDocumentDetector(_a) {\n var _b = _a.modelPath, modelPath = _b === void 0 ? defaultDocumentDetectorModelPath : _b, _c = _a.modelLoadTimeoutMs, modelLoadTimeoutMs = _c === void 0 ? defaultDocumentDetectionModelLoadTimeoutMs : _c, _d = _a.scoreThreshold, scoreThreshold = _d === void 0 ? defaultDocumentDetectionScoreThreshold : _d, onModelError = _a.onModelError;\n var detector = useRef(null);\n var _e = useState(false), ready = _e[0], setReady = _e[1];\n var _f = useState(0), modelDownloadProgress = _f[0], setModelDownloadProgress = _f[1];\n var _g = useState(null), modelError = _g[0], setModelError = _g[1];\n var videoRef = useContext(CameraStateContext).videoRef;\n useEffect(function loadModel() {\n var _this = this;\n setReady(false);\n function handleDownloadProgress(event) {\n setModelDownloadProgress(progressToPercentage(event.detail));\n }\n document.addEventListener('idmission.preloadProgress.documentDetection', handleDownloadProgress);\n var modelLoadTimeout = setTimeout(function () {\n setModelError(new Error('Model loading time limit exceeded.'));\n }, modelLoadTimeoutMs);\n loadDocumentDetector(modelPath, scoreThreshold)\n .then(function (model) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n detector.current = model;\n setModelDownloadProgress(100);\n clearTimeout(modelLoadTimeout);\n return [4 /*yield*/, waitForVideoReady(videoRef)];\n case 1:\n _a.sent();\n model.detectForVideo(videoRef.current, performance.now());\n setReady(true);\n return [2 /*return*/];\n }\n });\n }); })\n .catch(function (e) {\n setModelError(e);\n })\n .finally(function () {\n clearTimeout(modelLoadTimeout);\n });\n return function () {\n clearTimeout(modelLoadTimeout);\n document.removeEventListener('idmission.preloadProgress.documentDetection', handleDownloadProgress);\n };\n }, [modelLoadTimeoutMs, modelPath, scoreThreshold, videoRef]);\n useEffect(function handleModelError() {\n modelError && (onModelError === null || onModelError === void 0 ? void 0 : onModelError(modelError));\n }, [modelError, onModelError]);\n return { detector: detector, ready: ready, modelDownloadProgress: modelDownloadProgress, modelError: modelError, setModelError: setModelError };\n}\nexport function makeDocumentDetectorPrediction(detector, frame) {\n return __awaiter(this, void 0, void 0, function () {\n var startedAt, prediction, time, frameWidth, frameHeight;\n return __generator(this, function (_a) {\n startedAt = new Date();\n // Detectors can throw errors, for example when using custom URLs that\n // contain a model that doesn't provide the expected output.\n try {\n prediction = detector.detectForVideo(frame, performance.now());\n time = new Date().getTime() - startedAt.getTime();\n frameWidth = frame.width;\n frameHeight = frame.height;\n return [2 /*return*/, __assign(__assign({}, prediction), { time: time, frameWidth: frameWidth, frameHeight: frameHeight })];\n }\n catch (e) {\n logError('caught object detection error', e);\n }\n return [2 /*return*/, null];\n });\n });\n}\nexport function processDocumentDetectorPrediction(prediction, thresholds) {\n var _a, _b, _c, _d, _e, _f, _g;\n var detections = prediction.detections, frameWidth = prediction.frameWidth, frameHeight = prediction.frameHeight, time = prediction.time;\n var detectedObjects = applyNonMaxSuppression(detections.map(function (d) {\n var _a;\n var category = (_a = d.categories) === null || _a === void 0 ? void 0 : _a[0];\n return {\n label: category === null || category === void 0 ? void 0 : category.categoryName,\n score: category === null || category === void 0 ? void 0 : category.score,\n box: convertBoundingBox(d.boundingBox),\n };\n }));\n var allZero = detections.length > 0 &&\n !detections.some(function (_a) {\n var boundingBox = _a.boundingBox;\n return Object.values(boundingBox !== null && boundingBox !== void 0 ? boundingBox : {}).some(function (n) { return n > 0; });\n });\n var bestIdCardFront = detectedObjects.find(function (obj) { return obj.label === 'Document'; });\n var bestIdCardBack = detectedObjects.find(function (obj) { return obj.label === 'Document back'; });\n var bestPassportPage = detectedObjects.find(function (obj) { return obj.label === 'Passport page'; });\n var idCardFrontDetectionScore = (_a = bestIdCardFront === null || bestIdCardFront === void 0 ? void 0 : bestIdCardFront.score) !== null && _a !== void 0 ? _a : 0;\n var idCardBackDetectionScore = (_b = bestIdCardBack === null || bestIdCardBack === void 0 ? void 0 : bestIdCardBack.score) !== null && _b !== void 0 ? _b : 0;\n var passportDetectionScore = (_c = bestPassportPage === null || bestPassportPage === void 0 ? void 0 : bestPassportPage.score) !== null && _c !== void 0 ? _c : 0;\n var idCardFrontDetectionThresholdMet = idCardFrontDetectionScore >= ((_d = thresholds.idCardFront) !== null && _d !== void 0 ? _d : 0);\n var idCardBackDetectionThresholdMet = idCardBackDetectionScore >= ((_e = thresholds.idCardBack) !== null && _e !== void 0 ? _e : 0);\n var passportDetectionThresholdMet = passportDetectionScore >= ((_f = thresholds.passport) !== null && _f !== void 0 ? _f : 0);\n var bestDocument = passportDetectionThresholdMet\n ? bestPassportPage\n : idCardBackDetectionThresholdMet\n ? bestIdCardBack\n : bestIdCardFront;\n var detectionThreshold = passportDetectionThresholdMet\n ? thresholds.passport\n : idCardBackDetectionThresholdMet\n ? thresholds.idCardBack\n : thresholds.idCardFront;\n var detectionScore = (_g = bestDocument === null || bestDocument === void 0 ? void 0 : bestDocument.score) !== null && _g !== void 0 ? _g : 0;\n var detectionThresholdMet = detectionScore >= (detectionThreshold !== null && detectionThreshold !== void 0 ? detectionThreshold : 0);\n var detectedDocumentType = 'none';\n if (passportDetectionThresholdMet) {\n detectedDocumentType = 'passport';\n }\n else if (idCardBackDetectionThresholdMet) {\n detectedDocumentType = 'idCardBack';\n }\n else if (detectionThresholdMet) {\n detectedDocumentType = 'idCardFront';\n }\n var documentInBounds = false;\n if (bestDocument) {\n var boundaryPx = 20;\n var _h = bestDocument.box, boundaryX = _h.xMin, boundaryY = _h.yMin, boundaryWidth = _h.width, boundaryHeight = _h.height;\n documentInBounds =\n boundaryY > boundaryPx && // Is it valid top edge of ID detected?\n boundaryY + boundaryHeight + boundaryPx < frameHeight && // Is it valid bottom edge less than max video height\n (boundaryX > boundaryPx ||\n (boundaryX < boundaryPx &&\n boundaryX + boundaryWidth > frameWidth * 0.8)) && // If either the left side visible or if not, right edge of ID should be more than 80% of width.\n boundaryX + boundaryWidth + boundaryPx < frameWidth; // Valid right edge if it's less than video width.\n }\n var documentTooClose = false;\n if (bestDocument) {\n var _j = [\n bestDocument.box.width / frameWidth,\n bestDocument.box.height / frameHeight,\n ], docWidth = _j[0], docHeight = _j[1];\n documentTooClose = docWidth > 0.85 || docHeight > 0.85;\n }\n return {\n detectedObjects: detectedObjects,\n detectionScore: detectionScore,\n detectionTime: time,\n detectionThresholdMet: detectionThresholdMet,\n detectedDocumentType: detectedDocumentType,\n idCardFrontDetectionScore: idCardFrontDetectionScore,\n idCardFrontDetectionThresholdMet: idCardFrontDetectionThresholdMet,\n idCardBackDetectionScore: idCardBackDetectionScore,\n idCardBackDetectionThresholdMet: idCardBackDetectionThresholdMet,\n passportDetectionScore: passportDetectionScore,\n passportDetectionThresholdMet: passportDetectionThresholdMet,\n bestDocument: bestDocument,\n documentInBounds: documentInBounds,\n documentTooClose: documentTooClose,\n frameWidth: frameWidth,\n frameHeight: frameHeight,\n allZero: allZero,\n };\n}\nfunction applyNonMaxSuppression(detectedObjects) {\n var maxes = {};\n detectedObjects.forEach(function (obj, i) {\n if (obj) {\n if (!maxes[obj.label])\n maxes[obj.label] = [0, -1];\n if (obj.score > maxes[obj.label][0])\n maxes[obj.label] = [obj.score, i];\n }\n });\n return Object.keys(maxes)\n .map(function (label) { return detectedObjects[maxes[label][1]]; })\n .filter(function (obj) { return !!obj; });\n}\n//# sourceMappingURL=DocumentDetection.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { useCallback, useEffect, useRef, useState } from 'react';\nexport function useFrameLoop(fn, _a) {\n var _b = _a.throttleMs, throttleMs = _b === void 0 ? 0 : _b, _c = _a.autoStart, autoStart = _c === void 0 ? false : _c;\n var _d = useState(false), running = _d[0], setRunning = _d[1];\n var loopId = useRef(0);\n var frameId = useRef(0);\n useEffect(function runFrameLoop() {\n if (!running)\n return;\n var timer;\n var currentLoopId = loopId.current;\n function renderPrediction() {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (currentLoopId !== loopId.current)\n return [2 /*return*/];\n return [4 /*yield*/, fn(frameId.current)];\n case 1:\n _a.sent();\n timer = setTimeout(function () {\n frameId.current = requestAnimationFrame(renderPrediction);\n }, throttleMs !== null && throttleMs !== void 0 ? throttleMs : 0);\n return [2 /*return*/];\n }\n });\n });\n }\n renderPrediction().then();\n return function () {\n loopId.current += 1;\n frameId.current && cancelAnimationFrame(frameId.current);\n timer && clearTimeout(timer);\n };\n }, [fn, running, throttleMs]);\n var start = useCallback(function () {\n setRunning(true);\n }, []);\n var stop = useCallback(function () {\n loopId.current += 1; // force the loop to stop immediately.\n setRunning(false);\n }, []);\n useEffect(function startAutomatically() {\n if (autoStart)\n start();\n return function () {\n stop();\n };\n }, [autoStart, start, stop]);\n return { start: start, stop: stop };\n}\n//# sourceMappingURL=FrameLoop.js.map","import { __awaiter, __generator } from \"tslib\";\nimport * as React from 'react';\nimport { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { InvisibleCanvas } from '../common/InvisibleCanvas';\nimport { log } from '../../lib/utils/logger';\nimport { defaultDocumentDetectionModelLoadTimeoutMs, defaultDocumentDetectionScoreThreshold, defaultDocumentDetectorModelPath, makeDocumentDetectorPrediction, processDocumentDetectorPrediction, useLoadDocumentDetector, } from '../../lib/models/DocumentDetection';\nimport { useFrameLoop } from '../../lib/models/FrameLoop';\nexport var DocumentDetectionModelContext = createContext({\n startDocumentDetection: function () { return null; },\n stopDocumentDetection: function () { return null; },\n documentDetectionModelReady: false,\n documentDetectionModelDownloadProgress: 0,\n documentDetectionModelError: null,\n onDocumentDetected: function () { return null; },\n detectionTime: 0,\n documentDetectionThresholds: {},\n setDocumentDetectionThresholds: function () { return null; },\n documentDetectionLastPredictionCanvas: { current: null },\n clearDocumentDetectionLastPredictionCanvas: function () { return null; },\n});\nexport function DocumentDetectionModelProvider(_a) {\n var _this = this;\n var _b = _a.autoStart, autoStart = _b === void 0 ? true : _b, children = _a.children, throttleMs = _a.throttleMs, _c = _a.documentDetectionModelPath, documentDetectionModelPath = _c === void 0 ? defaultDocumentDetectorModelPath : _c, _d = _a.documentDetectionModelScoreThreshold, documentDetectionModelScoreThreshold = _d === void 0 ? defaultDocumentDetectionScoreThreshold : _d, _e = _a.documentDetectionModelLoadTimeoutMs, documentDetectionModelLoadTimeoutMs = _e === void 0 ? defaultDocumentDetectionModelLoadTimeoutMs : _e, onDocumentDetectionModelError = _a.onDocumentDetectionModelError;\n var _f = useContext(CameraStateContext), videoRef = _f.videoRef, videoLoaded = _f.videoLoaded, cameraReady = _f.cameraReady;\n var lastPredictionCanvas = useRef(null);\n var onPredictionHandler = useRef();\n var _g = useState({}), documentDetectionThresholds = _g[0], setDocumentDetectionThresholds = _g[1];\n var _h = useState(0), detectionTime = _h[0], setDetectionTime = _h[1];\n var _j = useState(0), timesAllZero = _j[0], setTimesAllZero = _j[1];\n var _k = useState(0), canvasKey = _k[0], setCanvasKey = _k[1];\n var stopDetection = useRef(0);\n var _l = useLoadDocumentDetector({\n modelPath: documentDetectionModelPath,\n modelLoadTimeoutMs: documentDetectionModelLoadTimeoutMs,\n scoreThreshold: documentDetectionModelScoreThreshold,\n onModelError: onDocumentDetectionModelError,\n }), detector = _l.detector, ready = _l.ready, modelDownloadProgress = _l.modelDownloadProgress, modelError = _l.modelError, setModelError = _l.setModelError;\n var _m = useFrameLoop(useCallback(function (frameId) { return __awaiter(_this, void 0, void 0, function () {\n var stopDetectionAtStart, vw, vh, ctx, prediction, processedPrediction;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!videoLoaded ||\n !cameraReady ||\n !ready ||\n !videoRef.current ||\n !detector.current ||\n !lastPredictionCanvas.current)\n return [2 /*return*/];\n stopDetectionAtStart = stopDetection.current;\n vw = videoRef.current.videoWidth;\n vh = videoRef.current.videoHeight;\n lastPredictionCanvas.current.width = vw;\n lastPredictionCanvas.current.height = vh;\n ctx = lastPredictionCanvas.current.getContext('2d');\n if (!(ctx && videoRef.current.readyState === 4)) return [3 /*break*/, 3];\n if (stopDetectionAtStart !== stopDetection.current)\n return [2 /*return*/];\n ctx.drawImage(videoRef.current, 0, 0, vw, vh);\n return [4 /*yield*/, makeDocumentDetectorPrediction(detector.current, lastPredictionCanvas.current)];\n case 1:\n prediction = _b.sent();\n if (!prediction) return [3 /*break*/, 3];\n processedPrediction = processDocumentDetectorPrediction(prediction, documentDetectionThresholds);\n processedPrediction.frameId = frameId;\n setDetectionTime(prediction.time);\n log(processedPrediction);\n if (processedPrediction.allZero)\n setTimesAllZero(function (n) { return n + 1; });\n if (stopDetectionAtStart !== stopDetection.current)\n return [2 /*return*/];\n return [4 /*yield*/, ((_a = onPredictionHandler.current) === null || _a === void 0 ? void 0 : _a.call(onPredictionHandler, processedPrediction))];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n }); }, [\n cameraReady,\n detector,\n documentDetectionThresholds,\n ready,\n videoLoaded,\n videoRef,\n ]), { throttleMs: throttleMs, autoStart: autoStart }), start = _m.start, stop = _m.stop;\n useEffect(function setErrorIfAllZero() {\n if (timesAllZero >= 2) {\n setModelError(new Error('model is returning all zeroes'));\n }\n }, [setModelError, timesAllZero]);\n var onDocumentDetected = useCallback(function (handler) {\n onPredictionHandler.current = handler;\n }, []);\n var clearDocumentDetectionLastPredictionCanvas = useCallback(function () {\n stopDetection.current += 1;\n setCanvasKey(function (n) { return n + 1; });\n }, []);\n var value = useMemo(function () { return ({\n startDocumentDetection: start,\n stopDocumentDetection: stop,\n documentDetectionModelReady: ready,\n documentDetectionModelError: modelError,\n documentDetectionModelDownloadProgress: modelDownloadProgress,\n onDocumentDetected: onDocumentDetected,\n detectionTime: detectionTime,\n documentDetectionThresholds: documentDetectionThresholds,\n setDocumentDetectionThresholds: setDocumentDetectionThresholds,\n documentDetectionLastPredictionCanvas: lastPredictionCanvas,\n clearDocumentDetectionLastPredictionCanvas: clearDocumentDetectionLastPredictionCanvas,\n }); }, [\n start,\n stop,\n ready,\n modelError,\n modelDownloadProgress,\n onDocumentDetected,\n detectionTime,\n documentDetectionThresholds,\n clearDocumentDetectionLastPredictionCanvas,\n ]);\n return (React.createElement(DocumentDetectionModelContext.Provider, { value: value },\n React.createElement(InvisibleCanvas, { key: canvasKey, ref: lastPredictionCanvas }),\n children));\n}\n//# sourceMappingURL=DocumentDetectionModelProvider.js.map","import React, { createContext, useCallback, useMemo, useRef, useState, } from 'react';\nimport { InvisibleCanvas } from '../common/InvisibleCanvas';\nimport { defaultFocusModelLoadTimeoutMs, defaultFocusModelPath, makeFocusModelPrediction, useLoadFocusModel, } from '../../lib/models/Focus';\nexport var FocusModelContext = createContext({\n focusModelReady: false,\n focusModelDownloadProgress: 0,\n focusModelError: null,\n focusThresholds: {},\n setFocusThresholds: function () { return null; },\n makeFocusPrediction: function () { return null; },\n focusPredictionTime: 0,\n});\nexport function FocusModelProvider(_a) {\n var children = _a.children, _b = _a.focusModelPath, focusModelPath = _b === void 0 ? defaultFocusModelPath : _b, _c = _a.focusModelLoadTimeoutMs, focusModelLoadTimeoutMs = _c === void 0 ? defaultFocusModelLoadTimeoutMs : _c, onFocusModelError = _a.onFocusModelError, _d = _a.showCanvases, showCanvases = _d === void 0 ? false : _d;\n var cropCanvas = useRef(null);\n var rotateCanvas = useRef(null);\n var _e = useState({}), focusThresholds = _e[0], setFocusThresholds = _e[1];\n var _f = useState(0), focusPredictionTime = _f[0], setFocusPredictionTime = _f[1];\n var _g = useLoadFocusModel({\n modelPath: focusModelPath,\n modelLoadTimeoutMs: focusModelLoadTimeoutMs,\n onModelError: onFocusModelError,\n }), model = _g.model, ready = _g.ready, modelDownloadProgress = _g.modelDownloadProgress, modelError = _g.modelError;\n var makeFocusPrediction = useCallback(function (imageData, box) {\n if (!model.current)\n return null;\n var prediction = makeFocusModelPrediction(model.current, imageData, cropCanvas.current, rotateCanvas.current, box);\n setFocusPredictionTime(prediction.predictionTime);\n return prediction;\n }, [model]);\n var value = useMemo(function () { return ({\n focusModelReady: ready,\n focusModelDownloadProgress: modelDownloadProgress,\n focusModelError: modelError,\n makeFocusPrediction: makeFocusPrediction,\n focusPredictionTime: focusPredictionTime,\n focusThresholds: focusThresholds,\n setFocusThresholds: setFocusThresholds,\n }); }, [\n focusPredictionTime,\n focusThresholds,\n makeFocusPrediction,\n modelDownloadProgress,\n modelError,\n ready,\n ]);\n return (React.createElement(FocusModelContext.Provider, { value: value },\n React.createElement(InvisibleCanvas, { ref: rotateCanvas, style: showCanvases ? { display: 'block' } : undefined }),\n React.createElement(InvisibleCanvas, { ref: cropCanvas, style: showCanvases ? { display: 'block' } : undefined }),\n children));\n}\n//# sourceMappingURL=FocusModelProvider.js.map","function _isNavigatorDefined() {\n return typeof navigator !== 'undefined' && navigator != null;\n}\nexport function isMobile(nav) {\n if (nav || _isNavigatorDefined()) {\n if (!nav) {\n nav = navigator;\n }\n if (nav.product === 'ReactNative') {\n return true;\n }\n var a = nav.userAgent ||\n nav.vendor ||\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (typeof window !== 'undefined' ? window.opera : '');\n if (!a) {\n var navAny = nav;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return navAny.userAgentData && navAny.userAgentData.mobile;\n }\n 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(a) ||\n // tslint:disable-next-line:max-line-length\n /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(a.substr(0, 4)));\n }\n return false;\n}\n//# sourceMappingURL=isMobile.js.map","import { __assign, __awaiter, __generator, __rest } from \"tslib\";\nimport React, { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';\nimport { defaultDocumentDetectionThresholds, } from '../../lib/models/DocumentDetection';\nimport { drawToCanvas, InvisibleCanvas } from '../common/InvisibleCanvas';\nimport { DocumentDetectionModelContext, DocumentDetectionModelProvider, } from './DocumentDetectionModelProvider';\nimport { FocusModelContext, FocusModelProvider, } from './FocusModelProvider';\nimport { isMobile } from '../../lib/utils/isMobile';\nimport { defaultFocusThresholds } from '../../lib/models/Focus';\nvar onMobile = isMobile();\nexport var defaultIdCaptureThresholds = {\n detection: defaultDocumentDetectionThresholds,\n focus: defaultFocusThresholds,\n};\nexport var IdCaptureModelsContext = createContext({\n ready: false,\n start: function () { return null; },\n stop: function () { return null; },\n modelDownloadProgress: 0,\n modelError: null,\n thresholds: defaultIdCaptureThresholds,\n setThresholds: function () { return null; },\n onPredictionMade: function () { return null; },\n detectionTime: 0,\n focusPredictionTime: 0,\n bestFrameDetails: null,\n getBestFrame: function () { return null; },\n resetBestFrame: function () { return null; },\n requiredDocumentType: 'none',\n setRequiredDocumentType: function () { return null; },\n});\nexport function IdCaptureModelsProviderInner(_a) {\n var children = _a.children, onModelError = _a.onModelError;\n var _b = useContext(DocumentDetectionModelContext), documentDetectionModelReady = _b.documentDetectionModelReady, documentDetectionModelDownloadProgress = _b.documentDetectionModelDownloadProgress, startDocumentDetection = _b.startDocumentDetection, stopDocumentDetection = _b.stopDocumentDetection, lastPredictionCanvas = _b.documentDetectionLastPredictionCanvas, clearDocumentDetectionLastPredictionCanvas = _b.clearDocumentDetectionLastPredictionCanvas, onDocumentDetected = _b.onDocumentDetected, detectionTime = _b.detectionTime, documentDetectionThresholds = _b.documentDetectionThresholds, setDocumentDetectionThresholds = _b.setDocumentDetectionThresholds, documentDetectionModelError = _b.documentDetectionModelError;\n var _c = useContext(FocusModelContext), focusModelReady = _c.focusModelReady, focusModelDownloadProgress = _c.focusModelDownloadProgress, makeFocusPrediction = _c.makeFocusPrediction, focusThresholds = _c.focusThresholds, setFocusThresholds = _c.setFocusThresholds, focusPredictionTime = _c.focusPredictionTime, focusModelError = _c.focusModelError;\n var onPredictionHandler = useRef();\n var _d = useState(null), bestFrameDetails = _d[0], setBestFrameDetails = _d[1];\n var bestPredictionCanvas = useRef(null);\n var bestFocusScore = useRef(0);\n var stopDetection = useRef(0);\n var _e = useState('none'), requiredDocumentType = _e[0], setRequiredDocumentType = _e[1];\n var thresholds = useMemo(function () { return (__assign(__assign({}, documentDetectionThresholds), { focus: focusThresholds })); }, [documentDetectionThresholds, focusThresholds]);\n var setThresholds = useCallback(function (thresholds) {\n if (thresholds.detection) {\n setDocumentDetectionThresholds(thresholds.detection);\n }\n if (thresholds.focus) {\n setFocusThresholds(thresholds.focus);\n }\n }, [setDocumentDetectionThresholds, setFocusThresholds]);\n useEffect(function handleDetections() {\n var _this = this;\n onDocumentDetected(function (prediction) { return __awaiter(_this, void 0, void 0, function () {\n var stopDetectionAtStart, focusPredictionTime, focusScore, focusThresholdMet, isRequiredDocumentType, focusPrediction, focusThresholdSet, focusThreshold;\n var _a, _b, _c, _d, _e, _f;\n return __generator(this, function (_g) {\n if (!lastPredictionCanvas.current)\n return [2 /*return*/];\n stopDetectionAtStart = stopDetection.current;\n focusPredictionTime = 0, focusScore = 0, focusThresholdMet = false;\n isRequiredDocumentType = requiredDocumentType === 'none' ||\n prediction.detectedDocumentType === requiredDocumentType ||\n ((_a = requiredDocumentType.includes) === null || _a === void 0 ? void 0 : _a.call(requiredDocumentType, prediction.detectedDocumentType));\n if (isRequiredDocumentType &&\n prediction.detectedDocumentType !== 'none' &&\n prediction.detectionThresholdMet &&\n prediction.documentInBounds &&\n !prediction.documentTooClose) {\n focusPrediction = makeFocusPrediction(lastPredictionCanvas.current, (_b = prediction.bestDocument) === null || _b === void 0 ? void 0 : _b.box);\n if (focusPrediction) {\n focusScore = focusPrediction.score;\n focusPredictionTime = focusPrediction.predictionTime;\n }\n focusThresholdSet = (_c = thresholds.focus) === null || _c === void 0 ? void 0 : _c[prediction.detectedDocumentType];\n focusThreshold = (_d = (onMobile\n ? focusThresholdSet === null || focusThresholdSet === void 0 ? void 0 : focusThresholdSet.mobile\n : focusThresholdSet === null || focusThresholdSet === void 0 ? void 0 : focusThresholdSet.desktop)) !== null && _d !== void 0 ? _d : 0;\n focusThresholdMet = focusScore >= focusThreshold;\n if (bestFocusScore.current <= focusScore &&\n stopDetectionAtStart === stopDetection.current) {\n bestFocusScore.current = focusScore;\n drawToCanvas(bestPredictionCanvas.current, lastPredictionCanvas.current);\n setBestFrameDetails({\n boundingBox: (_e = prediction.bestDocument) === null || _e === void 0 ? void 0 : _e.box,\n documentType: prediction.detectedDocumentType,\n detectionScore: prediction.detectionScore,\n focusScore: focusScore,\n });\n }\n }\n (_f = onPredictionHandler.current) === null || _f === void 0 ? void 0 : _f.call(onPredictionHandler, __assign(__assign({}, prediction), { focusScore: focusScore, focusPredictionTime: focusPredictionTime, focusThresholdMet: focusThresholdMet }));\n return [2 /*return*/];\n });\n }); });\n }, [\n lastPredictionCanvas,\n makeFocusPrediction,\n onDocumentDetected,\n requiredDocumentType,\n thresholds.focus,\n ]);\n var modelError = documentDetectionModelError !== null && documentDetectionModelError !== void 0 ? documentDetectionModelError : focusModelError;\n useEffect(function handleModelErrors() {\n modelError && (onModelError === null || onModelError === void 0 ? void 0 : onModelError(modelError));\n }, [modelError, onModelError]);\n var onPredictionMade = useCallback(function (handler) {\n onPredictionHandler.current = handler;\n }, []);\n var getBestFrame = useCallback(function () {\n if (!bestFrameDetails || !bestPredictionCanvas.current)\n return null;\n return __assign(__assign({}, bestFrameDetails), { canvas: bestPredictionCanvas.current });\n }, [bestFrameDetails]);\n var _f = useState(0), canvasKey = _f[0], setCanvasKey = _f[1];\n var resetBestFrame = useCallback(function () {\n stopDetection.current += 1;\n setCanvasKey(function (n) { return n + 1; });\n clearDocumentDetectionLastPredictionCanvas();\n setBestFrameDetails(null);\n bestFocusScore.current = 0;\n }, [clearDocumentDetectionLastPredictionCanvas]);\n useEffect(function () {\n requiredDocumentType && resetBestFrame();\n }, [requiredDocumentType, resetBestFrame]);\n var value = useMemo(function () { return ({\n ready: documentDetectionModelReady && focusModelReady,\n modelDownloadProgress: (documentDetectionModelDownloadProgress + focusModelDownloadProgress) /\n 2,\n modelError: modelError,\n start: startDocumentDetection,\n stop: stopDocumentDetection,\n thresholds: thresholds,\n setThresholds: setThresholds,\n onPredictionMade: onPredictionMade,\n detectionTime: detectionTime,\n focusPredictionTime: focusPredictionTime,\n getBestFrame: getBestFrame,\n resetBestFrame: resetBestFrame,\n bestFrameDetails: bestFrameDetails,\n requiredDocumentType: requiredDocumentType,\n setRequiredDocumentType: setRequiredDocumentType,\n }); }, [\n bestFrameDetails,\n detectionTime,\n documentDetectionModelDownloadProgress,\n documentDetectionModelReady,\n focusModelDownloadProgress,\n focusModelReady,\n focusPredictionTime,\n getBestFrame,\n modelError,\n onPredictionMade,\n requiredDocumentType,\n resetBestFrame,\n setThresholds,\n startDocumentDetection,\n stopDocumentDetection,\n thresholds,\n ]);\n return (React.createElement(IdCaptureModelsContext.Provider, { value: value },\n React.createElement(InvisibleCanvas, { key: canvasKey, ref: bestPredictionCanvas }),\n children));\n}\nexport function IdCaptureModelsProvider(_a) {\n var children = _a.children, props = __rest(_a, [\"children\"]);\n return (React.createElement(DocumentDetectionModelProvider, __assign({}, props),\n React.createElement(FocusModelProvider, __assign({}, props),\n React.createElement(IdCaptureModelsProviderInner, __assign({}, props), children))));\n}\n//# sourceMappingURL=IdCaptureModelsProvider.js.map","export var CapturedDocumentTypeValues = [\n 'idCardFront',\n 'idCardBack',\n 'passport',\n 'selfie',\n];\n//# sourceMappingURL=CapturedDocuments.js.map","export var requiredDocumentsForOption = {\n idCardFront: ['idCardFront'],\n idCardBack: ['idCardBack'],\n passport: ['passport'],\n idCard: ['idCardFront', 'idCardBack'],\n idCardAndPassport: ['idCardFront', 'idCardBack', 'passport'],\n idCardOrPassport: ['idCardFront', 'idCardBack', 'passport'], // this one is so weird\n};\nexport function requiredImageCountForOption(idCaptureRequirement) {\n if (idCaptureRequirement === 'idCardOrPassport')\n return 1;\n return requiredDocumentsForOption[idCaptureRequirement].length;\n}\nexport function allowedImageCountForOption(idCaptureRequirement) {\n if (idCaptureRequirement === 'idCardOrPassport')\n return 2;\n return requiredImageCountForOption(idCaptureRequirement);\n}\n//# sourceMappingURL=IdCaptureRequirementOption.js.map","import { __assign } from \"tslib\";\nimport React, { createContext, useContext, useLayoutEffect, useReducer, } from 'react';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { CapturedDocumentTypeValues, } from './CapturedDocuments';\nimport { requiredDocumentsForOption, } from './IdCaptureRequirementOption';\nvar initialState = {\n initialDrawComplete: false,\n redrawing: false,\n guideRectX: 0,\n guideRectY: 0,\n guideRectWidth: 0,\n guideRectHeight: 0,\n guideRectOffsetTop: 0,\n guideImageWidth: 0,\n guideImageHeight: 0,\n pageWidth: 0,\n pageHeight: 0,\n videoWidth: 0,\n videoHeight: 0,\n detectedObjects: [],\n bestDocument: undefined,\n detectedDocumentType: 'none',\n detectionThresholdMet: false,\n documentInBounds: false,\n documentTooClose: false,\n flipRequired: false,\n backDetectedFirst: false,\n idCardFrontDetectionScore: 0,\n idCardFrontDetectionThresholdMet: false,\n idCardBackDetectionScore: 0,\n idCardBackDetectionThresholdMet: false,\n passportDetectionScore: 0,\n passportDetectionThresholdMet: false,\n focusScore: 0,\n focusThresholdMet: false,\n isGoodFrame: false,\n goodFramesCount: 0,\n goodFramesThreshold: 3,\n goodFramesThresholdMet: false,\n lastFrameCapturedAt: null,\n frameCaptureRate: 0,\n capturing: false,\n captureFailed: false,\n imageUrl: null,\n captureState: 'capturing',\n capturedDocuments: {},\n captureRequirement: 'idCardOrPassport',\n requestedDocumentType: 'idCardFront',\n allowIdCardBackToFrontCapture: false,\n operationStartedAt: null,\n captureStartedAt: null,\n};\nexport var IdCaptureStateContext = createContext(initialState);\nexport var IdCaptureDispatchContext = createContext(function () { });\nvar reducer = function (state, action) {\n var _a, _b;\n switch (action.type) {\n case 'configureWizard': {\n var _c = action.payload, captureRequirement = _c.captureRequirement, precapturedDocuments = _c.precapturedDocuments, allowIdCardBackToFrontCapture = _c.allowIdCardBackToFrontCapture;\n var newState = __assign(__assign({}, state), { captureRequirement: captureRequirement, allowIdCardBackToFrontCapture: allowIdCardBackToFrontCapture !== null && allowIdCardBackToFrontCapture !== void 0 ? allowIdCardBackToFrontCapture : false });\n if (captureRequirement === 'idCardBack')\n newState.requestedDocumentType = 'idCardBack';\n if (captureRequirement === 'passport')\n newState.requestedDocumentType = 'passport';\n if (precapturedDocuments) {\n for (var _i = 0, CapturedDocumentTypeValues_1 = CapturedDocumentTypeValues; _i < CapturedDocumentTypeValues_1.length; _i++) {\n var k = CapturedDocumentTypeValues_1[_i];\n var payload = precapturedDocuments[k];\n if (payload) {\n newState.requestedDocumentType = k;\n newState = reducer(newState, { type: 'documentCaptured', payload: payload });\n }\n }\n }\n newState.operationStartedAt = new Date();\n return newState;\n }\n case 'setRequiredDocumentType':\n return __assign(__assign({}, state), { requiredDocumentType: action.payload });\n case 'redrawRequested':\n return __assign(__assign({}, state), { redrawing: true, guideRectX: 0, guideRectY: 0, guideRectWidth: 0, guideRectHeight: 0, guideRectOffsetTop: 0 });\n case 'redrawInProgress':\n return __assign(__assign({}, state), { redrawing: false, guideRectX: 0, guideRectY: 0, guideRectWidth: 0, guideRectHeight: 0, guideRectOffsetTop: 0 });\n case 'redrawCompleted':\n return __assign(__assign(__assign({}, state), action.payload), { initialDrawComplete: true });\n case 'pageRendered':\n return __assign(__assign({}, state), action.payload);\n case 'guideImageLoaded':\n return __assign(__assign({}, state), { guideImageWidth: action.payload.width, guideImageHeight: action.payload.height });\n case 'objectsDetected':\n var _d = action.payload.prediction, detectedObjects = _d.detectedObjects, detectionThresholdMet = _d.detectionThresholdMet, detectedDocumentType = _d.detectedDocumentType, idCardFrontDetectionScore = _d.idCardFrontDetectionScore, idCardFrontDetectionThresholdMet = _d.idCardFrontDetectionThresholdMet, idCardBackDetectionScore = _d.idCardBackDetectionScore, idCardBackDetectionThresholdMet = _d.idCardBackDetectionThresholdMet, passportDetectionScore = _d.passportDetectionScore, passportDetectionThresholdMet = _d.passportDetectionThresholdMet, bestDocument = _d.bestDocument, documentInBounds = _d.documentInBounds, documentTooClose = _d.documentTooClose, focusScore = _d.focusScore, focusThresholdMet = _d.focusThresholdMet, frameWidth = _d.frameWidth, frameHeight = _d.frameHeight;\n var frameCapturedAt = new Date();\n var frameCaptureRate = 0;\n var goodFramesThreshold = state.goodFramesThreshold;\n if (state.lastFrameCapturedAt) {\n frameCaptureRate =\n 1000.0 /\n (frameCapturedAt.getTime() - state.lastFrameCapturedAt.getTime());\n if (frameCaptureRate > 0) {\n goodFramesThreshold = Math.ceil(3 * frameCaptureRate);\n }\n }\n var flipRequired = !state.allowIdCardBackToFrontCapture &&\n state.requestedDocumentType === 'idCardBack' &&\n detectedDocumentType === 'idCardFront';\n var backDetectedFirst = state.allowIdCardBackToFrontCapture\n ? 'idCardBack' in state.capturedDocuments &&\n detectedDocumentType === 'idCardBack'\n : state.requestedDocumentType.includes('idCardFront') &&\n detectedDocumentType === 'idCardBack';\n var isGoodFrame = detectionThresholdMet &&\n documentInBounds &&\n !documentTooClose &&\n !flipRequired &&\n !backDetectedFirst &&\n focusThresholdMet;\n var goodFramesCount = state.goodFramesCount;\n if (isGoodFrame) {\n goodFramesCount += 1;\n }\n var goodFramesThresholdMet = goodFramesCount >= goodFramesThreshold;\n var requestedDocumentType = state.requestedDocumentType;\n if (state.captureRequirement.includes('idCard') &&\n state.allowIdCardBackToFrontCapture) {\n if (detectedDocumentType === 'idCardFront' &&\n state.requestedDocumentType !== 'idCardFront' &&\n !('idCardFront' in state.capturedDocuments)) {\n requestedDocumentType = 'idCardFront';\n }\n else if (detectedDocumentType === 'idCardBack' &&\n state.requestedDocumentType !== 'idCardBack' &&\n !('idCardBack' in state.capturedDocuments)) {\n requestedDocumentType = 'idCardBack';\n }\n }\n if (state.captureRequirement === 'idCardOrPassport') {\n if (detectedDocumentType === 'passport' &&\n state.requestedDocumentType !== 'passport') {\n requestedDocumentType = 'passport';\n }\n if (requestedDocumentType === 'passport' &&\n passportDetectionScore < 0.3) {\n requestedDocumentType =\n 'idCardFront' in state.capturedDocuments\n ? 'idCardBack'\n : 'idCardFront';\n }\n }\n return __assign(__assign({}, state), { videoWidth: frameWidth, videoHeight: frameHeight, detectedObjects: detectedObjects, bestDocument: bestDocument, requestedDocumentType: requestedDocumentType, detectedDocumentType: detectedDocumentType, detectionThresholdMet: detectionThresholdMet, documentInBounds: documentInBounds, documentTooClose: documentTooClose, flipRequired: flipRequired, backDetectedFirst: backDetectedFirst, idCardFrontDetectionScore: idCardFrontDetectionScore, idCardFrontDetectionThresholdMet: idCardFrontDetectionThresholdMet, idCardBackDetectionScore: idCardBackDetectionScore, idCardBackDetectionThresholdMet: idCardBackDetectionThresholdMet, passportDetectionScore: passportDetectionScore, passportDetectionThresholdMet: passportDetectionThresholdMet, focusScore: focusScore, focusThresholdMet: focusThresholdMet, isGoodFrame: isGoodFrame, goodFramesCount: goodFramesCount, goodFramesThreshold: goodFramesThreshold, goodFramesThresholdMet: goodFramesThresholdMet, lastFrameCapturedAt: frameCapturedAt, frameCaptureRate: frameCaptureRate });\n case 'captureStarted':\n return __assign(__assign({}, state), { captureStartedAt: new Date(), capturing: false, captureFailed: false });\n case 'capturing':\n return __assign(__assign({}, state), { capturing: true, captureFailed: false });\n case 'captured':\n return __assign(__assign({}, state), { capturing: false, captureFailed: false });\n case 'frameCaptured':\n return __assign(__assign({}, state), { imageUrl: action.payload.imageUrl });\n case 'captureFailed':\n return __assign(__assign({}, state), { capturing: false, captureFailed: true });\n case 'documentCaptured': {\n var newState_1 = __assign(__assign({}, state), { capturing: false, captureFailed: false, goodFramesCount: 0, capturedDocuments: __assign(__assign({}, state.capturedDocuments), (_a = {}, _a[action.payload.documentType] = action.payload, _a)) });\n var remainingRequirements = requiredDocumentsForOption[state.captureRequirement].filter(function (v) { return !(v in newState_1.capturedDocuments); });\n if (state.captureRequirement === 'idCardOrPassport') {\n if (state.requestedDocumentType === 'passport') {\n remainingRequirements = [];\n }\n else {\n remainingRequirements = remainingRequirements.filter(function (v) { return v !== 'passport'; });\n }\n }\n if (remainingRequirements.length === 0) {\n newState_1.captureState = 'complete';\n }\n else {\n newState_1.requestedDocumentType = remainingRequirements[0];\n if ((state.requestedDocumentType === 'idCardFront' &&\n newState_1.requestedDocumentType === 'idCardBack') ||\n (state.requestedDocumentType === 'idCardBack' &&\n newState_1.requestedDocumentType === 'idCardFront')) {\n newState_1.captureState = 'requestingFlip';\n newState_1.idCardFrontDetectionThresholdMet = false;\n newState_1.idCardBackDetectionThresholdMet = false;\n newState_1.passportDetectionThresholdMet = false;\n }\n }\n return newState_1;\n }\n case 'documentCapturedManually': {\n var newState_2 = __assign(__assign({}, state), { capturedDocuments: __assign(__assign({}, state.capturedDocuments), (_b = {}, _b[state.requestedDocumentType] = __assign(__assign({}, action.payload), { width: 0, height: 0 }), _b)) });\n var remainingRequirements = requiredDocumentsForOption[state.captureRequirement].filter(function (v) { return !(v in newState_2.capturedDocuments); });\n if (state.captureRequirement === 'idCardOrPassport') {\n if (state.requestedDocumentType === 'passport') {\n remainingRequirements = [];\n }\n else {\n remainingRequirements = remainingRequirements.filter(function (v) { return v !== 'passport'; });\n }\n }\n if (remainingRequirements.length === 0) {\n newState_2.captureState = 'complete';\n }\n else {\n newState_2.requestedDocumentType = remainingRequirements[0];\n if ((state.requestedDocumentType === 'idCardFront' &&\n newState_2.requestedDocumentType === 'idCardBack') ||\n (state.requestedDocumentType === 'idCardBack' &&\n newState_2.requestedDocumentType === 'idCardFront')) {\n newState_2.captureState = 'requestingFlip';\n newState_2.idCardFrontDetectionThresholdMet = false;\n newState_2.idCardBackDetectionThresholdMet = false;\n newState_2.passportDetectionThresholdMet = false;\n }\n }\n return newState_2;\n }\n case 'flipRequestCompleted':\n return __assign(__assign({}, state), { captureState: 'capturing' });\n case 'resetWizard':\n return __assign(__assign({}, initialState), { captureRequirement: state.captureRequirement, allowIdCardBackToFrontCapture: state.allowIdCardBackToFrontCapture });\n default:\n return state;\n }\n};\nexport var IdCaptureStateProvider = function (_a) {\n var children = _a.children;\n var _b = useReducer(reducer, initialState), state = _b[0], dispatch = _b[1];\n var onResize = useDebouncedCallback(function () {\n dispatch({ type: 'redrawRequested' });\n }, 500);\n useLayoutEffect(function () {\n if (typeof window === 'undefined')\n return;\n window.addEventListener('resize', onResize);\n return function () {\n window.removeEventListener('resize', onResize);\n };\n }, [onResize]);\n return (React.createElement(IdCaptureStateContext.Provider, { value: state },\n React.createElement(IdCaptureDispatchContext.Provider, { value: dispatch }, children)));\n};\nexport var useIdCaptureState = function () {\n var state = useContext(IdCaptureStateContext);\n var dispatch = useContext(IdCaptureDispatchContext);\n if (!state || !dispatch)\n throw new Error('useIdCaptureState cannot be used without IdCaptureStateProvider');\n return [state, dispatch];\n};\n//# sourceMappingURL=IdCaptureStateProvider.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nimport React, { useMemo } from 'react';\nimport { useIdCaptureState } from '../id_capture/IdCaptureStateProvider';\nimport { createPortal } from 'react-dom';\nexport function DebugStatsPane(_a) {\n var children = _a.children;\n var element = React.createElement(DebugStatsPaneDiv, null, children);\n var portalLocation = document.getElementById('idmission-above-guides-content');\n if (!portalLocation)\n return element;\n return createPortal(element, portalLocation);\n}\nexport var DebugStatsPaneDiv = styled.span(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n font-size: 16px;\\n font-family: monospace;\\n position: absolute;\\n left: 20px;\\n bottom: 20px;\\n margin-right: 20px;\\n padding: 8px;\\n color: limegreen;\\n background: rgba(0, 0, 0, 0.5);\\n z-index: 10002;\\n\"], [\"\\n font-size: 16px;\\n font-family: monospace;\\n position: absolute;\\n left: 20px;\\n bottom: 20px;\\n margin-right: 20px;\\n padding: 8px;\\n color: limegreen;\\n background: rgba(0, 0, 0, 0.5);\\n z-index: 10002;\\n\"])));\nexport var ObjectDetectionDebugOverlayDiv = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\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 (_a) {\n var $flipX = _a.$flipX;\n return ($flipX ? 'transform: scaleX(-1);' : '');\n});\nexport var ObjectDetectionDebugBox = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\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 (_a) {\n var $color = _a.$color;\n return $color !== null && $color !== void 0 ? $color : 'green';\n}, function (_a) {\n var $color = _a.$color;\n return $color !== null && $color !== void 0 ? $color : 'green';\n}, function (_a) {\n var $flipX = _a.$flipX;\n return ($flipX ? 'transform: scaleX(-1);' : '');\n});\nexport var FaceDetectionKeypointMarker = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\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 (_a) {\n var $color = _a.$color;\n return $color !== null && $color !== void 0 ? $color : 'red';\n}, function (_a) {\n var $color = _a.$color;\n return $color !== null && $color !== void 0 ? $color : 'red';\n}, function (_a) {\n var $flipX = _a.$flipX;\n return ($flipX ? 'transform: scaleX(-1);' : '');\n});\nexport function useDebugScalingDetails(_a) {\n var _b = _a.enabled, enabled = _b === void 0 ? true : _b, pageWidth = _a.pageWidth, pageHeight = _a.pageHeight, videoWidth = _a.videoWidth, videoHeight = _a.videoHeight;\n return useMemo(function () {\n var horizontal = false, scaledWidth = 0, scaledHeight = 0, xOffset = 0, yOffset = 0;\n if (enabled) {\n horizontal = pageWidth / pageHeight < videoWidth / videoHeight;\n if (horizontal) {\n scaledWidth = videoWidth * (pageHeight / videoHeight);\n xOffset = (scaledWidth - pageWidth) / 2;\n }\n else {\n scaledHeight = videoHeight * (pageWidth / videoWidth);\n yOffset = (scaledHeight - pageHeight) / 2;\n }\n }\n return {\n horizontal: horizontal,\n pageWidth: pageWidth,\n pageHeight: pageHeight,\n videoWidth: videoWidth,\n videoHeight: videoHeight,\n scaledWidth: scaledWidth,\n scaledHeight: scaledHeight,\n xOffset: xOffset,\n yOffset: yOffset,\n };\n }, [enabled, pageHeight, pageWidth, videoHeight, videoWidth]);\n}\nexport var DebugBoundingBoxOverlay = function (_a) {\n var scaling = _a.scaling, $flipX = _a.$flipX, children = _a.children;\n var _b = useIdCaptureState()[0], guideRectWidth = _b.guideRectWidth, guideRectHeight = _b.guideRectHeight, guideRectX = _b.guideRectX, guideRectY = _b.guideRectY;\n return (React.createElement(ObjectDetectionDebugOverlayDiv, { id: \"debug-overlay-div\", \"$flipX\": $flipX, style: {\n top: guideRectY,\n left: guideRectX,\n width: guideRectWidth || (scaling === null || scaling === void 0 ? void 0 : scaling.pageWidth),\n height: guideRectHeight || (scaling === null || scaling === void 0 ? void 0 : scaling.pageHeight),\n } }, children));\n};\nexport function IdCaptureDetectedObjectDebugBox(_a) {\n var obj = _a.obj, flipX = _a.flipX, _b = _a.color, color = _b === void 0 ? 'green' : _b, scaling = _a.scaling;\n var horizontal = scaling.horizontal, pageWidth = scaling.pageWidth, pageHeight = scaling.pageHeight, videoWidth = scaling.videoWidth, videoHeight = scaling.videoHeight, scaledWidth = scaling.scaledWidth, scaledHeight = scaling.scaledHeight, xOffset = scaling.xOffset, yOffset = scaling.yOffset;\n if (!videoWidth || !videoHeight || !pageWidth || !pageHeight)\n return React.createElement(React.Fragment, null);\n var top;\n var left;\n var width;\n var height;\n if (horizontal) {\n top = (obj.box.yMin / videoHeight) * pageHeight;\n left = (obj.box.xMin / videoWidth) * scaledWidth - xOffset;\n width = (obj.box.width / videoWidth) * scaledWidth;\n height = (obj.box.height / videoHeight) * pageHeight;\n }\n else {\n top = (obj.box.yMin / videoHeight) * scaledHeight - yOffset;\n left = (obj.box.xMin / videoWidth) * pageWidth;\n width = (obj.box.width / videoWidth) * pageWidth;\n height = (obj.box.height / videoHeight) * scaledHeight;\n }\n return (React.createElement(ObjectDetectionDebugBox, { \"$flipX\": flipX, \"$color\": color, style: { top: top, left: left, width: width, height: height } }));\n}\nexport function SelfieCaptureFaceDebugBox(_a) {\n var face = _a.face, flipX = _a.flipX, _b = _a.color, color = _b === void 0 ? 'green' : _b, scaling = _a.scaling;\n var horizontal = scaling.horizontal, pageWidth = scaling.pageWidth, pageHeight = scaling.pageHeight, videoWidth = scaling.videoWidth, videoHeight = scaling.videoHeight, scaledWidth = scaling.scaledWidth, scaledHeight = scaling.scaledHeight, xOffset = scaling.xOffset, yOffset = scaling.yOffset;\n if (!videoWidth || !videoHeight || !pageWidth || !pageHeight)\n return React.createElement(React.Fragment, null);\n var top;\n var left;\n var width;\n var height;\n if (horizontal) {\n top = (face.box.yMin / videoHeight) * pageHeight;\n left = (face.box.xMin / videoWidth) * scaledWidth - xOffset;\n width = (face.box.width / videoWidth) * scaledWidth;\n height = (face.box.height / videoHeight) * pageHeight;\n }\n else {\n top = (face.box.yMin / videoHeight) * scaledHeight - yOffset;\n left = (face.box.xMin / videoWidth) * pageWidth;\n width = (face.box.width / videoWidth) * pageWidth;\n height = (face.box.height / videoHeight) * scaledHeight;\n }\n return (React.createElement(React.Fragment, null,\n React.createElement(ObjectDetectionDebugBox, { \"$flipX\": flipX, \"$color\": color, style: { top: top, left: left, width: width, height: height } }),\n face.keypoints.map(function (point, ii) { return (React.createElement(SelfieCaptureFaceKeypoint, { key: ii, point: point, scaling: scaling, flipX: flipX })); })));\n}\nexport function SelfieCaptureFaceKeypoint(_a) {\n var point = _a.point, flipX = _a.flipX, _b = _a.color, color = _b === void 0 ? 'red' : _b, _c = _a.scaling, horizontal = _c.horizontal, pageWidth = _c.pageWidth, pageHeight = _c.pageHeight, videoWidth = _c.videoWidth, videoHeight = _c.videoHeight, scaledWidth = _c.scaledWidth, scaledHeight = _c.scaledHeight, xOffset = _c.xOffset, yOffset = _c.yOffset;\n var left, top;\n if (horizontal) {\n left = (point.x / videoWidth) * scaledWidth - xOffset;\n top = (point.y / videoHeight) * pageHeight;\n }\n else {\n left = (point.x / videoWidth) * pageWidth;\n top = (point.y / videoHeight) * scaledHeight - yOffset;\n }\n top -= 2;\n left -= 2;\n return (React.createElement(FaceDetectionKeypointMarker, { \"$flipX\": flipX, \"$color\": color, style: { top: top, left: left } }));\n}\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n//# sourceMappingURL=debug.js.map","export default {};\n//# sourceMappingURL=translation.js.map","export default {\n 'Use your device camera to capture your ID': 'Para capturar la identificación hay que utilizar la cámara del dispositivo.',\n 'Use your iPhone as a webcam': 'Usar el iPhone como cámara web',\n 'Models warming up...': 'Cargando modelos...',\n 'Camera initializing...': 'Inicializando la cámara...',\n 'Camera access blocked': 'Acceso bloqueado a la cámara',\n 'Location access blocked': 'Acceso bloqueado a la localización',\n Continue: 'Continuar',\n 'Processing...': 'Procesando...',\n 'Your camera permission is disabled': 'El permiso de la cámara está desactivado',\n '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.',\n 'Your microphone permission is disabled': 'El permiso de la micrófono está desactivado',\n 'This application requires access to your microphone to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for microphone permissions, you must go to settings and provide microphone access to the current browser.': 'Esta aplicación requiere tener acceso al micrófono 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 al micrófono en el explorador actual.',\n 'Your location permission is disabled': 'El permiso de la localización está desactivado',\n '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.',\n Retry: 'Reintentar',\n 'Scan the front of ID': 'Escanear el frente de la ID',\n 'Scan the back of ID': 'Escanear el reverso de la ID',\n 'Scan the ID page of passport': 'Escanear la página de datos del pasaporte',\n 'ID Card Front': 'Frente de la ID',\n 'ID Card Back': 'Reverso de la ID',\n Passport: 'Pasaporte',\n 'Document not detected': 'No se ha detectado el documento',\n 'Document is not centered': 'Documento no centrado',\n 'Document too close, please back up': 'Documento muy cerca, favor de alejarse',\n 'Document out of focus – try improving the lighting': 'Documento no enfocado - hay que tratar de mejorar la iluminación',\n 'ID card front detected - please flip your ID card': 'Anverso de ID detectado, por favor voltea tu identificación',\n 'ID card back detected - please flip your ID card': 'Reverso de ID detectado, por favor voltea tu identificación',\n 'Document detected, hold still...': 'Se ha detectado el documento, no moverse por favor...',\n 'ID card front detected, hold still...': 'Anverso de ID detectado, no mover...',\n 'ID card back detected, hold still...': 'Reverso de ID detectado, no mover...',\n 'Passport detected, hold still...': 'Pasaporte detectado, no mover...',\n 'Capturing...': 'Capturando...',\n 'Capture failed!': 'Falló la captura',\n 'Please flip your ID card...': 'Por favor voltea la identificación...',\n 'ID card front captured.': 'Se ha capturado el frente de la identificación.',\n 'ID card back captured.': 'Se ha capturado el reverso de la identificación.',\n 'ID Capture Successful': 'Captura Exitosa de ID',\n 'Verify the entire ID was captured clearly with no glare.': 'Hay que verificar que toda la ID se vea completa y sin reflejos.',\n Submit: 'Enviar',\n 'Submitting...': 'Enviando...',\n 'Use your device camera to capture your face': 'Hay que utilizar la cámara del dispositivo para capturar el rostro',\n 'Remove Sunglasses & Hat': 'Hay que quitarse lentes y/o la gorra',\n 'Avoid Excessive Backlighting': 'Hay que evitar demasiada luz en el fondo',\n 'Hold still for a few seconds...': 'Hay que permanecer quieto por unos segundos...',\n 'Look straight into the camera...': 'Hay que mirar directamente a la cámara...',\n 'Move back...': 'Hay que hacerse hacia atrás..',\n 'Move forward...': 'Hay que hacerse hacia adelante...',\n 'Move to the center...': 'Hay que moverse hacia el centro...',\n 'Please remove your eye coverings (sunglasses, eye patch, etc.)...': 'Hay que quitarse lo que cubre los ojos (lentes, parche, etc.)...',\n 'Please remove your head coverings (hat, scarf, etc.)...': 'Hay que quitarse lo que cubre la cabeza (gorra, mascada, etc.)...',\n 'Please remove your mask...': 'Hay que quitarse el cubrebocas...',\n 'Live face not detected, please try again': 'Rostro vivo no detectado. Por favor hay que intentar de nuevo.',\n Exit: 'Salir',\n 'Face liveness has been verified!': 'Se ha verificado la Prueba de Vida en rostro!',\n Done: 'Terminar',\n 'Customer has been identified!': '¡Se ha identificado al cliente!',\n 'Customer not found': 'Cliente no encontrado',\n 'Additional document capture': 'Captura de otro documento',\n Next: 'Siguiente',\n 'Please sign the box below': 'Por favor, hay que firmar en el recuadro de abajo',\n Accept: 'Aceptar',\n Clear: 'Borrar',\n 'Video signature has been successfully captured!': 'La video firma ha sido exitosa.',\n 'Network unreachable': 'No hay conexión a internet.',\n \"We're having trouble reaching our services, please check your connection and try again.\": \"Estamos teniendo problemas para alcanzar nuestros servicios, por favor verificar la conexi\\u00F3n a internet e intentar de nuevo.\",\n \"We're sorry, an unexpected error has occurred.\": \"Lo sentimos, se ha producido un error inesperado.\",\n 'Document Capture': 'Captura de documento',\n Capture: 'Capturar',\n 'Retry capture': 'Reintentar la captura',\n Upload: 'Enviar',\n 'Uploading...': 'Procesando...',\n 'Upload succeeded!': 'Proceso completo!',\n 'Display the front of your ID card...': 'Hay que mostrar el frente de la identificación...',\n 'Display the back of your ID card...': 'Hay que mostrar el reverso de la identificación...',\n 'Please move your face to the center...': 'Por favor, hay que mover la cabeza hacia el centro...',\n 'Searching for ID card...': 'Localizando la identificación...',\n 'Please read the following text aloud': 'Hay que leer el siguiente texto en voz alta',\n 'Video ID has been successfully captured!': 'Video ID capturado exitosamente!',\n 'ID Front Image': 'Frente de ID',\n 'ID Back Image': 'Reverso de ID',\n \"We're having some trouble.\": 'Se ha presentado un problema.',\n 'On-device capture guidance failed, please capture a selfie manually.': 'La captura automática para toma de selfie falló. Por favor, hay que tomarse la selfie manualmente.',\n 'Verifying...': 'Verificando....',\n 'Please capture the front of your ID card.': 'Hay que capturar el frente de la identificación.',\n 'Please capture the back of your ID card.': 'Hay que capturar el reverso de la identificación.',\n 'Please capture the front of your ID card, or the ID page of your passport.': 'Hay que capturar el frente de la identificación o la página de datos del pasaporte.',\n 'Please capture the back of your ID card, or click Done if submitting a passport.': 'Hay que capturar el reverso de la identificación o hay que presionar el botón de Terminar si se trata de un pasaporte.',\n 'Please capture the ID page of your passport.': 'Hay que capturar la página de datos del pasaporte.',\n 'On-device capture guidance failed, please capture a photo of your ID card manually.': 'La captura automática falló. Por favor hay que tomar una foto de la identificación manualmente.',\n 'On-device capture guidance failed, please capture a photo of your passport manually.': 'La captura automática falló. Por favor hay que tomar una foto de la pasaporte manualmente.',\n 'On-device capture guidance failed, please capture photos of your ID card and passport manually.': 'La captura automática falló. Por favor hay que tomar una foto de la identificación y del pasaporte manualmente.',\n 'On-device capture guidance failed, please capture photos of your ID card or passport manually.': 'La captura automática falló. Por favor hay que tomar una foto de la identificación o del pasaporte manualmente.',\n 'Capture ID page of passport': 'Captura pasaporte (página de la foto)',\n 'Capture back of ID card': 'Captura del reverso',\n 'Downloading...': 'Descargando...',\n 'Accessing camera...': 'Accediendo a la cámara',\n 'Camera ready': 'Cámara está lista',\n 'Loading guided capture experience...': 'Cargando la experiencia guiada para la captura....',\n 'Guided capture experience ready': 'La experiencia guiada está lista',\n \"Let's Go!\": 'Vamos!',\n};\n//# sourceMappingURL=translation.js.map","import { __assign } from \"tslib\";\nimport { useEffect, useMemo } from 'react';\nimport { initReactI18next, useTranslation } from 'react-i18next';\nimport enTranslation from './en/translation';\nimport esTranslation from './es/translation';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport i18n from 'i18next';\nexport var ALL_LANGUAGES = ['auto', 'en', 'es'];\nexport var resources = {\n en: { translation: enTranslation },\n es: { translation: esTranslation },\n};\nexport function initializeI18n() {\n i18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n resources: resources,\n detection: { caches: [] },\n fallbackLng: 'en',\n debug: false,\n interpolation: { escapeValue: false },\n });\n}\nexport var useLanguage = function (lang) {\n var i18n = useTranslation().i18n;\n useEffect(function () {\n if (lang !== 'auto') {\n i18n.changeLanguage(lang);\n }\n else {\n i18n.changeLanguage(); // call without argument to use detection\n }\n }, [i18n, lang]);\n};\nfunction evaluateVerbiage(t, currentLanguage, verbiage, fallback) {\n if (typeof verbiage === 'string')\n return verbiage;\n if (typeof verbiage === 'object') {\n var translations = verbiage;\n if (translations[currentLanguage])\n return translations[currentLanguage];\n var nonLocaleLang = currentLanguage.split('-')[0];\n if (translations[nonLocaleLang])\n return translations[nonLocaleLang];\n }\n return t(fallback);\n}\nexport function useVerbiage(verbiage, fallback) {\n var _a = useTranslation(), t = _a.t, i18n = _a.i18n;\n return useMemo(function () { return evaluateVerbiage(t, i18n.language, verbiage, fallback); }, [fallback, i18n.language, t, verbiage]);\n}\nexport function useTranslations(verbiage, fallbacks) {\n var _a = useTranslation(), t = _a.t, i18n = _a.i18n;\n return useMemo(function () { return (__assign(__assign({}, verbiage), Object.keys(fallbacks).reduce(function (result, key) {\n var _a;\n return (__assign(__assign({}, result), (_a = {}, _a[key] = evaluateVerbiage(t, i18n.language, verbiage === null || verbiage === void 0 ? void 0 : verbiage[key], fallbacks[key]), _a)));\n }, {}))); }, [fallbacks, i18n.language, t, verbiage]);\n}\n//# sourceMappingURL=index.js.map","import { __assign, __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { createPortal } from 'react-dom';\nexport var GuidanceMessageContainerDiv = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n top: calc(\", \");\\n \", \"\\n font-weight: bold;\\n width: 100%;\\n display: flex;\\n\"], [\"\\n position: absolute;\\n top: calc(\", \");\\n \", \"\\n font-weight: bold;\\n width: 100%;\\n display: flex;\\n\"])), function (_a) {\n var $top = _a.$top;\n return $top !== null && $top !== void 0 ? $top : '10vh';\n}, function (_a) {\n var $bottom = _a.$bottom;\n return ($bottom ? \"bottom: \".concat($bottom, \";\") : \"\");\n});\nexport var GuidanceMessageContainer = function (props) {\n var element = React.createElement(GuidanceMessageContainerDiv, __assign({}, props));\n var portalLocation = document.getElementById('idmission-above-guides-content');\n if (!portalLocation)\n return element;\n return createPortal(element, portalLocation);\n};\nexport var GuidanceMessage = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-left: auto;\\n margin-right: auto;\\n background: \", \";\\n color: \", \";\\n padding: 10px 12px 8px;\\n border-radius: 8px;\\n z-index: 10001;\\n\"], [\"\\n margin-left: auto;\\n margin-right: auto;\\n background: \", \";\\n color: \", \";\\n padding: 10px 12px 8px;\\n border-radius: 8px;\\n z-index: 10001;\\n\"])), function (props) {\n var _a, _b, _c, _d, _e, _f;\n return (_f = (_a = props.$background) !== null && _a !== void 0 ? _a : (_e = (_c = (_b = props.theme) === null || _b === void 0 ? void 0 : _b.guidanceMessages) === null || _c === void 0 ? void 0 : _c[(_d = props.$variant) !== null && _d !== void 0 ? _d : 'default']) === null || _e === void 0 ? void 0 : _e.backgroundColor) !== null && _f !== void 0 ? _f : '#ccc';\n}, function (props) {\n var _a, _b, _c, _d, _e, _f;\n return (_f = (_a = props.$textColor) !== null && _a !== void 0 ? _a : (_e = (_c = (_b = props.theme) === null || _b === void 0 ? void 0 : _b.guidanceMessages) === null || _c === void 0 ? void 0 : _c[(_d = props.$variant) !== null && _d !== void 0 ? _d : 'default']) === null || _e === void 0 ? void 0 : _e.textColor) !== null && _f !== void 0 ? _f : 'black';\n});\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=GuidanceMessage.js.map","export var DEFAULT_CDN_URL = 'https://websdk-cdn-dev.idmission.com/assets';\n//# sourceMappingURL=cdn.js.map","import React, { useContext, useEffect } from 'react';\nimport useResizeObserver from 'use-resize-observer';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { PageContainer } from '../common/Page';\nimport { defaultIdCaptureThresholds, IdCaptureModelsContext, } from './IdCaptureModelsProvider';\nimport { DebugBoundingBoxOverlay, DebugStatsPane, IdCaptureDetectedObjectDebugBox, useDebugScalingDetails, } from '../common/debug';\nimport { useTranslations } from '../../lib/locales';\nimport { GuidanceMessage, GuidanceMessageContainer, } from '../common/GuidanceMessage';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { useTheme } from 'styled-components';\nimport { useIdCaptureState } from './IdCaptureStateProvider';\nimport log from '../../lib/utils/logger';\nimport { documentTypeDisplayNames } from '../../lib/models/DocumentDetection';\nexport var IdCapture = function (_a) {\n var _b, _c, _d, _e, _f, _g, _h, _j;\n var requiredDocumentType = _a.requiredDocumentType, _k = _a.thresholds, thresholds = _k === void 0 ? defaultIdCaptureThresholds : _k, guidanceMessage = _a.guidanceMessage, guidanceSatisfied = _a.guidanceSatisfied, onCapture = _a.onCapture, _l = _a.assets, assets = _l === void 0 ? {} : _l, _m = _a.classNames, classNames = _m === void 0 ? {} : _m, _o = _a.colors, colors = _o === void 0 ? {} : _o, _p = _a.verbiage, rawVerbiage = _p === void 0 ? {} : _p, _q = _a.debugMode, debugMode = _q === void 0 ? false : _q;\n var _r = useResizeObserver(), ref = _r.ref, _s = _r.width, width = _s === void 0 ? 1 : _s, _t = _r.height, height = _t === void 0 ? 1 : _t;\n var _u = useIdCaptureState(), state = _u[0], dispatch = _u[1];\n var cameraRef = useContext(CameraStateContext).cameraRef;\n var _v = useContext(IdCaptureModelsContext), modelsReady = _v.ready, setThresholds = _v.setThresholds, detectionTime = _v.detectionTime, focusPredictionTime = _v.focusPredictionTime, getBestFrame = _v.getBestFrame;\n useEffect(function () {\n setThresholds(thresholds);\n }, [thresholds, setThresholds]);\n useEffect(function () {\n if (!requiredDocumentType)\n return;\n dispatch({\n type: 'setRequiredDocumentType',\n payload: requiredDocumentType,\n });\n }, [dispatch, requiredDocumentType]);\n useEffect(function () {\n dispatch({\n type: 'pageRendered',\n payload: { pageWidth: width, pageHeight: height },\n });\n }, [dispatch, height, width]);\n var shouldCapture = state.goodFramesThresholdMet &&\n !state.capturing &&\n timeSince(state.captureStartedAt) >= 3000;\n useEffect(function () {\n if (!shouldCapture)\n return;\n dispatch({ type: 'capturing' });\n var bestFrame = getBestFrame();\n if (!bestFrame) {\n log('uh oh, i did not get a photo');\n dispatch({ type: 'captureFailed' });\n return;\n }\n var canvas = bestFrame.canvas, documentType = bestFrame.documentType, boundingBox = bestFrame.boundingBox, detectionScore = bestFrame.detectionScore, focusScore = bestFrame.focusScore;\n var width = canvas.width, height = canvas.height;\n var imageUrl = canvas.toDataURL('image/jpeg', 0.95);\n dispatch({ type: 'frameCaptured', payload: { imageUrl: imageUrl } });\n var capturedDocumentType = documentType === 'passport' ? 'passport' : state.requestedDocumentType;\n setTimeout(function () {\n var _a;\n var captureTime = new Date().getTime() - ((_a = state.captureStartedAt) !== null && _a !== void 0 ? _a : new Date()).getTime();\n var metadata = {\n autoCapture: 'Y',\n captureTime: captureTime,\n boundingBox: boundingBox,\n bestDetectionScore: detectionScore,\n bestFocusScore: focusScore,\n };\n onCapture === null || onCapture === void 0 ? void 0 : onCapture(imageUrl, width, height, capturedDocumentType, metadata);\n dispatch({ type: 'captured' });\n }, 0);\n }, [\n dispatch,\n getBestFrame,\n onCapture,\n shouldCapture,\n state.captureStartedAt,\n state.requestedDocumentType,\n ]);\n assets.portraitGuidesImageUrl || (assets.portraitGuidesImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Front-SVG-Portrait-2.svg\"));\n assets.landscapeGuidesImageUrl || (assets.landscapeGuidesImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Front-SVG-Landscape-2.svg\"));\n var theme = useTheme();\n colors.guideBoxUnsatisfiedColor || (colors.guideBoxUnsatisfiedColor = (_d = (_c = (_b = theme.idCapture) === null || _b === void 0 ? void 0 : _b.guideBox) === null || _c === void 0 ? void 0 : _c.unsatisfiedColor) !== null && _d !== void 0 ? _d : 'white');\n colors.guideBoxSatisfiedColor || (colors.guideBoxSatisfiedColor = (_g = (_f = (_e = theme.idCapture) === null || _e === void 0 ? void 0 : _e.guideBox) === null || _f === void 0 ? void 0 : _f.satisfiedColor) !== null && _g !== void 0 ? _g : 'green');\n var verbiage = useTranslations(rawVerbiage, {\n instructionText: 'Scan the front of ID',\n processingIdCardText: 'ID card front captured.',\n guidanceSatisfiedText: \"\".concat(documentTypeDisplayNames[state.detectedDocumentType], \" detected, hold still...\"),\n guidancePleaseFlipText: 'ID card front detected - please flip your ID card',\n guidanceBackDetectedFirstText: 'ID card back detected - please flip your ID card',\n guidanceTooBlurryText: 'Document out of focus – try improving the lighting',\n guidanceNotCenteredText: 'Document is not centered',\n guidanceTooCloseText: 'Document too close, please back up',\n guidanceNotDetectedText: 'Document not detected',\n });\n var debugScalingDetails = useDebugScalingDetails({\n enabled: debugMode,\n pageWidth: state.guideRectWidth,\n pageHeight: state.guideRectHeight,\n videoWidth: state.videoWidth,\n videoHeight: state.videoHeight,\n });\n var satisfied = state.isGoodFrame;\n if (typeof guidanceSatisfied === 'boolean')\n satisfied = guidanceSatisfied;\n guidanceMessage || (guidanceMessage = satisfied\n ? verbiage.guidanceSatisfiedText\n : !state.detectionThresholdMet\n ? verbiage.guidanceNotDetectedText\n : state.backDetectedFirst\n ? verbiage.guidanceBackDetectedFirstText\n : state.flipRequired\n ? verbiage.guidancePleaseFlipText\n : !state.documentInBounds\n ? verbiage.guidanceNotCenteredText\n : state.documentTooClose\n ? verbiage.guidanceTooCloseText\n : !state.focusThresholdMet\n ? verbiage.guidanceTooBlurryText\n : '');\n return (React.createElement(PageContainer, { ref: ref, className: \"flex \".concat((_h = classNames.container) !== null && _h !== void 0 ? _h : '') },\n guidanceMessage !== '' && (React.createElement(GuidanceMessageContainer, { \"$top\": \"\", \"$bottom\": \"12.5dvh\", className: classNames.guidanceMessageContainer },\n React.createElement(GuidanceMessage, { \"$variant\": satisfied ? 'positive' : 'default', className: classNames.guidanceMessage }, guidanceMessage))),\n debugMode && (React.createElement(DebugBoundingBoxOverlay, { \"$flipX\": !((_j = cameraRef.current) === null || _j === void 0 ? void 0 : _j.isRearFacing), scaling: debugScalingDetails }, state.detectedObjects.map(function (obj, i) {\n var _a;\n return (React.createElement(IdCaptureDetectedObjectDebugBox, { key: i, obj: obj, scaling: debugScalingDetails, flipX: !((_a = cameraRef.current) === null || _a === void 0 ? void 0 : _a.isRearFacing) }));\n }))),\n debugMode && (React.createElement(DebugStatsPane, null,\n cameraRef.current ? (React.createElement(React.Fragment, null,\n \"\\u2705 Camera: \",\n cameraRef.current.label,\n \" (\",\n cameraRef.current.width,\n \"x\",\n cameraRef.current.height,\n \")\")) : ('❌ Camera not ready'),\n React.createElement(\"br\", null),\n state.frameCaptureRate > 0.75 ? '✅' : '👎',\n \" Frame Rate:\",\n ' ',\n Math.round((state.frameCaptureRate + Number.EPSILON) * 1000) / 1000,\n ' ',\n \"fps (\",\n detectionTime,\n \"ms doc detect, \",\n focusPredictionTime,\n \"ms focus)\",\n React.createElement(\"br\", null),\n modelsReady ? (React.createElement(React.Fragment, null,\n state.detectionThresholdMet ? '✅' : '❌',\n \" Detected Document Type: \",\n state.detectedDocumentType,\n React.createElement(\"br\", null),\n state.idCardFrontDetectionThresholdMet ? '✅' : '❌',\n \" ID Card Front Score: \",\n state.idCardFrontDetectionScore.toFixed(3),\n React.createElement(\"br\", null),\n state.idCardBackDetectionThresholdMet ? '✅' : '❌',\n \" ID Card Back Score: \",\n state.idCardBackDetectionScore.toFixed(3),\n React.createElement(\"br\", null),\n state.passportDetectionThresholdMet ? '✅' : '❌',\n \" Passport Score: \",\n state.passportDetectionScore.toFixed(3),\n React.createElement(\"br\", null),\n state.focusThresholdMet ? '✅' : '❌',\n \" Focus Score:\",\n ' ',\n state.focusScore.toFixed(3),\n React.createElement(\"br\", null),\n state.documentInBounds ? '✅' : '❌',\n \" Document In Bounds\",\n React.createElement(\"br\", null),\n state.goodFramesThresholdMet ? '✅' : '❌',\n \" Good Frame Count:\",\n ' ',\n state.goodFramesCount,\n \"/\",\n state.goodFramesThreshold)) : (React.createElement(React.Fragment, null, \"\\u274C Models not ready\"))))));\n};\nvar timeSince = function (t) {\n if (!t)\n return 0;\n return Math.abs(new Date().getTime() - t.getTime());\n};\n//# sourceMappingURL=IdCapture.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useContext } from 'react';\nimport { OverlayContainer, OverlayImageContainer, OverlayInner, } from '../common/overlay';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { CameraStateContext } from './CameraProvider';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport styled from 'styled-components';\nexport var CameraAccessDeniedOverlay = function (_a) {\n var _b;\n var _c = _a.assets, assets = _c === void 0 ? {} : _c, _d = _a.classNames, classNames = _d === void 0 ? {} : _d, _e = _a.colors, colors = _e === void 0 ? {} : _e, _f = _a.verbiage, rawVerbiage = _f === void 0 ? {} : _f;\n var requestCameraAccess = useContext(CameraStateContext).requestCameraAccess;\n assets.imageUrl || (assets.imageUrl = DEFAULT_CDN_URL + '/camera-disable-icon.png');\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Your camera permission is disabled',\n descriptionText: 'This application requires access to your camera to continue. ' +\n 'Please accept the permission once prompted by the browser. ' +\n 'If the browser does not prompt for camera permissions, you must go to settings ' +\n 'and provide camera access to the current browser.',\n retryBtnText: 'Retry',\n });\n return (React.createElement(OverlayContainer, { className: \"flex \".concat((_b = classNames.container) !== null && _b !== void 0 ? _b : '') },\n React.createElement(StyledOverlayInner, { className: classNames.inner },\n React.createElement(StyledOverlayImageContainer, { className: classNames.imageContainer },\n React.createElement(\"img\", { src: assets.imageUrl, alt: \"\", className: classNames.image })),\n React.createElement(\"h3\", { className: classNames.heading }, verbiage.headingText),\n React.createElement(Description, { className: classNames.description }, verbiage.descriptionText),\n React.createElement(RetryButton, { variant: \"warning\", onClick: requestCameraAccess, colors: colors.retryBtn, className: classNames.retryBtn, finished: true }, verbiage.retryBtnText))));\n};\nvar StyledOverlayInner = styled(OverlayInner)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-width: 500px;\\n height: auto;\\n margin: auto;\\n\"], [\"\\n max-width: 500px;\\n height: auto;\\n margin: auto;\\n\"])));\nvar StyledOverlayImageContainer = styled(OverlayImageContainer)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n flex-grow: 0;\\n\"], [\"\\n flex-grow: 0;\\n\"])));\nvar Description = styled.p(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n line-height: 1.5;\\n margin-bottom: 50px;\\n\"], [\"\\n line-height: 1.5;\\n margin-bottom: 50px;\\n\"])));\nvar RetryButton = styled(LoaderButton)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n width: 200px;\\n margin: 0 auto;\\n\"], [\"\\n width: 200px;\\n margin: 0 auto;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n//# sourceMappingURL=CameraAccessDeniedOverlay.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nexport var ExitCaptureStyledButton = styled.button(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\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 padding: 8px;\\n box-sizing: border-box;\\n display: flex;\\n\\n &:hover {\\n background: #ddd;\\n }\\n\\n & > svg {\\n margin: 0;\\n padding: 0;\\n box-sizing: border-box;\\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 padding: 8px;\\n box-sizing: border-box;\\n display: flex;\\n\\n &:hover {\\n background: #ddd;\\n }\\n\\n & > svg {\\n margin: 0;\\n padding: 0;\\n box-sizing: border-box;\\n }\\n\"])));\nexport var ExitCaptureButton = function (_a) {\n var onClick = _a.onClick, className = _a.className;\n return (React.createElement(ExitCaptureStyledButton, { onClick: onClick, className: className },\n React.createElement(\"svg\", { version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\", x: \"0px\", y: \"0px\", viewBox: \"19.3 19.3 25.499999999999996 25.499999999999996\", enableBackground: \"new 0 0 64 64\", width: 16, height: 16 },\n React.createElement(\"g\", { id: \"close-outline-bot_x5F_s1g1_x5F_s2g2_x5F_s3g1_x5F_s4g1\" },\n React.createElement(\"line\", { fill: \"none\", stroke: \"#000000\", strokeWidth: \"1\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", x1: \"19.75\", y1: \"44.25\", x2: \"44.25\", y2: \"19.75\" })),\n React.createElement(\"g\", { id: \"close-outline-top_x5F_s1g1_x5F_s2g2_x5F_s3g1_x5F_s4g1\" },\n React.createElement(\"line\", { fill: \"none\", stroke: \"#000000\", strokeWidth: \"1\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", x1: \"44.25\", y1: \"44.25\", x2: \"19.75\", y2: \"19.75\" })))));\n};\nvar templateObject_1;\n//# sourceMappingURL=ExitCaptureButton.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nexport var ButtonsRow = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n gap: 0 15px;\\n justify-content: center;\\n\"], [\"\\n display: flex;\\n gap: 0 15px;\\n justify-content: center;\\n\"])));\nvar templateObject_1;\n//# sourceMappingURL=ButtonsRow.js.map","import { __assign } from \"tslib\";\nimport React, { useEffect, useState } from 'react';\nimport { useTheme } from 'styled-components';\nexport default function IdCaptureLoadingGraphic(props) {\n var isMobile = window.innerHeight > window.innerWidth;\n return isMobile ? (React.createElement(IdCaptureLoadingGraphicMobile, __assign({}, props))) : (React.createElement(IdCaptureLoadingGraphicDesktop, __assign({}, props)));\n}\nexport function IdCaptureLoadingGraphicDesktop(_a) {\n var _b, _c, _d, _e, _f, _g;\n var _h = _a.width, width = _h === void 0 ? 698 : _h, _j = _a.height, height = _j === void 0 ? 452 : _j, className = _a.className;\n var _k = useState(0), frame = _k[0], setFrame = _k[1];\n useEffect(function () {\n var i = setInterval(function () {\n setFrame(function (n) { return (n + 1) % 7; });\n }, 1000);\n return function () {\n clearInterval(i);\n };\n }, []);\n var theme = useTheme();\n var accentColor = (_d = (_c = (_b = theme.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.loadingGraphicAccentColor) !== null && _d !== void 0 ? _d : 'var(--idm-color-positive-600)';\n var accentOpacity = (_g = (_f = (_e = theme.idCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.loadingGraphicAccentOpacity) !== null && _g !== void 0 ? _g : 0.2;\n return (React.createElement(\"div\", { style: {\n display: 'flex',\n width: '100%',\n height: '100%',\n } },\n React.createElement(\"svg\", { className: className, width: width, height: height, viewBox: \"0 0 698 452\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", style: {\n margin: 'auto',\n transform: \"scale(\".concat(frame > 1 ? 1 : frame === 1 ? 1.25 : 0.75, \")\"),\n transition: 'transform 0.2s linear, border-width 0.2s linear',\n border: \"\".concat(frame >= 5 ? 10 : 0, \"px solid \").concat(accentColor),\n } },\n React.createElement(\"g\", { filter: frame === 1 ? 'url(#filter0_f_91_884)' : undefined },\n React.createElement(\"path\", { d: \"M10 0.5L688 0.5C693.247 0.5 697.5 4.75329 697.5 10L697.5 442C697.5 447.246 693.247 451.5 688 451.5L9.99999 451.5C4.75328 451.5 0.5 447.246 0.5 442L0.5 9.99998C0.5 4.75328 4.75329 0.5 10 0.5Z\", fill: \"#F3F3F3\", stroke: \"#DCDCDC\" }),\n React.createElement(\"mask\", { id: \"mask0_91_854\", style: { maskType: 'alpha' }, maskUnits: \"userSpaceOnUse\", x: \"30\", y: \"60\", width: \"207\", height: \"266\" },\n React.createElement(\"rect\", { x: \"30.7754\", y: \"60.5945\", width: \"205.426\", height: \"265.304\", rx: \"3\", fill: \"#D9D9D9\" })),\n React.createElement(\"g\", { mask: \"url(#mask0_91_854)\" },\n React.createElement(\"path\", { d: \"M161.429 226.164C161.472 226.322 161.474 226.488 161.438 226.647C157.252 244.639 146.071 257.508 132.955 257.508C119.837 257.508 108.632 244.59 104.447 226.595C104.411 226.439 104.413 226.276 104.453 226.121L107.568 214.051L108.337 211.118C108.453 210.678 108.85 210.371 109.305 210.371L156.578 210.371C157.034 210.371 157.432 210.68 157.546 211.122L160.976 224.435L161.305 225.701L161.429 226.164Z\", fill: \"#D2D4DA\" }),\n React.createElement(\"path\", { d: \"M185.475 157.408C185.556 157.356 185.628 157.291 185.693 157.219C210.004 130.149 193.715 196.897 180.188 189.065C157.256 175.818 183.525 158.645 185.475 157.408Z\", fill: \"#F7A69C\" }),\n React.createElement(\"path\", { d: \"M267.491 324.918C267.577 325.255 267.487 325.608 267.24 325.853C254.85 338.143 225.105 345.481 222.791 346.037C222.686 346.063 222.601 346.067 222.493 346.058C219.509 345.795 174.209 342.097 147.081 357.481C142.849 359.881 122.568 356.455 121.909 356.343C121.888 356.339 121.882 356.339 121.861 356.337L89.946 352.929C89.8715 352.921 89.8068 352.921 89.7323 352.929C87.9869 353.117 64.0883 355.438 45.1808 343.79C29.8522 334.346 9.55527 336.584 -1.36759 325.857C-1.61519 325.614 -1.71005 325.255 -1.62441 324.919L1.46107 312.802C6.33129 293.793 21.3654 279.026 40.5404 274.455L42.6579 273.963L66.162 268.361L72.5851 266.837C75.2907 266.181 77.8788 265.267 80.3256 264.095C82.3725 263.11 84.3253 261.962 86.1605 260.649C88.1368 259.243 89.9955 257.649 91.6659 255.891C96.1597 251.18 99.4771 245.367 101.171 238.827L103.665 229.17L104.324 226.568L104.371 226.357L107.571 214.051L108.319 211.123C108.433 210.681 108.831 210.371 109.288 210.371L156.558 210.371C157.013 210.371 157.411 210.679 157.526 211.12L160.978 224.435L161.308 225.701L161.475 226.325C161.489 226.377 161.496 226.431 161.496 226.486V226.486C161.496 226.54 161.503 226.595 161.517 226.647L162.202 229.193L164.696 238.827C167.025 247.781 172.413 255.446 179.73 260.649C183.729 263.532 188.317 265.665 193.282 266.837L199.211 268.244L225.326 274.455C244.501 279.026 259.535 293.793 264.406 312.802L267.491 324.918Z\", fill: \"#F7A69C\" }),\n React.createElement(\"path\", { d: \"M161.429 226.164C161.472 226.322 161.474 226.488 161.438 226.647C157.252 244.639 146.071 257.508 132.955 257.508C119.837 257.508 108.632 244.59 104.447 226.595C104.411 226.439 104.413 226.276 104.453 226.121L107.568 214.051L108.337 211.118C108.453 210.678 108.85 210.371 109.305 210.371L156.578 210.371C157.034 210.371 157.432 210.68 157.546 211.122L160.976 224.435L161.305 225.701L161.429 226.164Z\", fill: \"#DC968D\" }),\n React.createElement(\"path\", { d: \"M80.3983 157.408C80.3166 157.356 80.2445 157.291 80.1799 157.219C55.8686 130.149 72.1582 196.897 85.685 189.065C108.616 175.818 82.3476 158.645 80.3983 157.408Z\", fill: \"#F7A69C\" }),\n React.createElement(\"path\", { d: \"M189.527 137.873C189.52 137.873 189.515 137.879 189.515 137.885C189.515 139.944 189.397 141.956 189.162 143.968C188.974 145.796 188.15 153.601 186.692 163.54C185.895 169.048 184.865 175.184 183.649 181.346C183.638 181.398 183.635 181.447 183.631 181.5V181.5C183.625 181.607 183.575 181.713 183.554 181.818C180.568 196.836 176.367 211.751 170.881 217.193C164.67 223.381 159.682 229.007 153.988 233.062C148.295 237.14 141.919 239.672 132.978 239.672C124.038 239.672 117.662 237.14 111.968 233.062C106.298 229.007 101.286 223.381 95.0752 217.193C89.5754 211.714 85.367 196.715 82.3561 181.682C82.3499 181.651 82.3467 181.628 82.3467 181.596V181.596C82.3467 181.566 82.3438 181.526 82.338 181.496C81.9648 179.566 81.6147 177.636 81.2645 175.728C81.1233 174.932 80.9821 174.135 80.841 173.338C80.2528 169.962 79.7352 166.657 79.2646 163.563C77.5768 152.19 76.7532 143.609 76.7472 143.546C76.747 143.544 76.7471 143.545 76.7469 143.543C76.5589 141.692 76.4648 139.794 76.4648 137.873C76.4648 137.381 76.4648 136.889 76.4648 136.397C76.5825 131.967 77.1942 127.654 78.3 123.528C78.3471 123.341 78.3941 123.153 78.4412 122.966C84.723 100.089 105.121 83.0011 129.731 81.6416C130.814 81.5713 131.872 81.5479 132.978 81.5479C148.601 81.5479 162.741 87.8531 172.975 98.0494C181.822 106.839 187.75 118.559 189.186 131.615C189.42 133.674 189.538 135.756 189.539 137.862C189.539 137.868 189.533 137.873 189.527 137.873V137.873Z\", fill: \"#FEAEA5\" }),\n React.createElement(\"path\", { d: \"M141.871 188.529C141.871 192.42 137.895 195.561 132.977 195.561C128.06 195.561 124.107 192.42 124.107 188.529V188.529C124.107 188.132 124.593 188.105 124.773 188.459C126.079 191.03 129.266 192.842 132.977 192.842C136.689 192.842 139.893 191.03 141.204 188.458C141.381 188.112 141.871 188.14 141.871 188.529V188.529Z\", fill: \"#F7A69C\" }),\n React.createElement(\"path\", { d: \"M267.512 325.037C267.599 325.374 267.509 325.727 267.264 325.974C232.886 360.672 133.16 359.767 132.956 359.765C132.95 359.765 132.962 359.765 132.956 359.765C132.752 359.767 33.0007 360.672 -1.3537 325.95C-1.59784 325.703 -1.68748 325.351 -1.60167 325.014L1.48353 312.922C6.35375 293.889 21.3879 279.122 40.5629 274.551L66.2315 268.456L72.6075 266.933C75.2325 266.311 77.7789 265.415 80.1745 264.28C80.5729 264.092 81.0485 264.176 81.3541 264.494C94.359 278.009 112.66 286.435 132.956 286.435C153.253 286.435 171.556 278.008 184.562 264.49C184.865 264.174 185.337 264.088 185.734 264.274C188.127 265.395 190.657 266.311 193.304 266.933L198.88 268.269L225.349 274.551C244.524 279.122 259.558 293.889 264.405 312.922L267.512 325.037Z\", fill: \"#6E7174\" }),\n React.createElement(\"path\", { d: \"M197.318 267.895C198.038 268.068 198.334 268.924 197.847 269.481C190.872 277.457 169.982 297.251 132.954 298.717C92.046 300.357 71.408 275.554 67.0543 269.627C66.6418 269.065 66.9505 268.284 67.6281 268.122L72.606 266.933C75.231 266.311 77.7773 265.415 80.173 264.28C80.5713 264.092 81.0469 264.176 81.3526 264.494C94.3575 278.009 112.659 286.435 132.954 286.435C153.252 286.435 171.555 278.008 184.56 264.49C184.864 264.174 185.336 264.088 185.732 264.274C188.126 265.395 190.655 266.311 193.303 266.933L197.318 267.895Z\", fill: \"#555A5E\" }),\n React.createElement(\"path\", { d: \"M75.4663 140.851C75.4663 152.603 78.3795 166.091 80.4253 174.114C80.713 175.242 82.458 175.01 82.5156 173.848C83.0875 162.287 85.7494 140.134 97.4904 130.033C108.545 120.523 117.526 131.201 132.13 131.201C145.353 131.201 157.695 120.704 168.836 130.033C181.053 140.264 183.463 159.992 183.739 171.736C183.767 172.936 185.717 173.218 186.003 172.053C187.986 163.959 190.429 151.77 190.429 140.851C190.429 100.426 174.665 81.3704 132.13 81.3704C93.3928 81.3704 75.4663 100.225 75.4663 140.851Z\", fill: \"#525252\" })),\n React.createElement(\"rect\", { x: \"30.7754\", y: \"360.29\", width: \"640.93\", height: \"40.942\", rx: \"3\", fill: \"#C1C1C1\" }),\n React.createElement(\"rect\", { x: \"267.427\", y: \"134.29\", width: \"402.636\", height: \"40.942\", rx: \"3\", fill: \"#C1C1C1\" }),\n React.createElement(\"rect\", { x: \"267.427\", y: \"209.623\", width: \"180.775\", height: \"40.942\", rx: \"3\", fill: \"#C1C1C1\" }),\n React.createElement(\"rect\", { x: \"481.069\", y: \"209.623\", width: \"188.992\", height: \"40.942\", rx: \"3\", fill: \"#C1C1C1\" }),\n React.createElement(\"rect\", { x: \"267.427\", y: \"284.956\", width: \"180.775\", height: \"40.942\", rx: \"3\", fill: \"#C1C1C1\" }),\n React.createElement(\"rect\", { x: \"481.069\", y: \"284.956\", width: \"188.992\", height: \"40.942\", rx: \"3\", fill: \"#C1C1C1\" }),\n React.createElement(\"rect\", { x: \"266.829\", y: \"58.3618\", width: \"402.636\", height: \"40.942\", rx: \"3\", fill: \"#C1C1C1\" }),\n React.createElement(\"g\", { fillOpacity: frame === 3 ? accentOpacity : 0, style: { transition: 'fill-opacity 0.2s linear' } },\n React.createElement(\"rect\", { x: \"672\", y: \"55\", width: \"47\", height: \"410\", transform: \"rotate(90 672 55)\", fill: accentColor }),\n React.createElement(\"rect\", { x: \"670\", y: \"206\", width: \"47\", height: \"194\", transform: \"rotate(90 670 206)\", fill: accentColor }),\n React.createElement(\"rect\", { x: \"242\", y: \"61\", width: \"271\", height: \"218\", transform: \"rotate(90 242 61)\", fill: accentColor }),\n React.createElement(\"rect\", { x: \"677\", y: \"357\", width: \"47\", height: \"653\", transform: \"rotate(90 677 357)\", fill: accentColor })),\n React.createElement(\"g\", { fillOpacity: frame === 4 ? accentOpacity : 0, style: { transition: 'fill-opacity 0.2s linear' } },\n React.createElement(\"rect\", { x: \"455\", y: \"281\", width: \"47\", height: \"194\", transform: \"rotate(90 455 281)\", fill: accentColor }),\n React.createElement(\"rect\", { x: \"672\", y: \"131\", width: \"47\", height: \"411\", transform: \"rotate(90 672 131)\", fill: accentColor })),\n React.createElement(\"g\", { fillOpacity: frame >= 5 ? 1 : 0, style: { transition: 'fill-opacity 0.2s linear' } },\n React.createElement(\"circle\", { cx: \"360\", cy: \"215\", r: \"41\", fill: accentColor }),\n React.createElement(\"path\", { d: \"M339.937 218.076L350.044 229.83L381.809 201.915\", stroke: \"white\", strokeWidth: \"10\", strokeOpacity: frame >= 5 ? 1 : 0, strokeLinecap: \"round\", strokeLinejoin: \"round\", style: { transition: 'stroke-opacity 0.2s linear' } }))),\n React.createElement(\"filter\", { id: \"filter0_f_91_884\", x: \"0\", y: \"0\", width: \"848\", height: \"556\", filterUnits: \"userSpaceOnUse\", colorInterpolationFilters: \"sRGB\" },\n React.createElement(\"feFlood\", { floodOpacity: \"0\", result: \"BackgroundImageFix\" }),\n React.createElement(\"feBlend\", { mode: \"normal\", in: \"SourceGraphic\", in2: \"BackgroundImageFix\", result: \"shape\" }),\n React.createElement(\"feGaussianBlur\", { stdDeviation: \"5\", result: \"effect1_foregroundBlur_91_884\" })))));\n}\nexport function IdCaptureLoadingGraphicMobile(_a) {\n var _b, _c, _d, _e, _f, _g;\n var _h = _a.width, width = _h === void 0 ? 428 : _h, _j = _a.height, height = _j === void 0 ? 747 : _j, className = _a.className;\n var _k = useState(0), frame = _k[0], setFrame = _k[1];\n useEffect(function () {\n var i = setInterval(function () {\n setFrame(function (n) { return (n + 1) % 7; });\n }, 1000);\n return function () {\n clearInterval(i);\n };\n }, []);\n var theme = useTheme();\n var accentColor = (_d = (_c = (_b = theme.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.loadingGraphicAccentColor) !== null && _d !== void 0 ? _d : 'var(--idm-color-positive-600)';\n var accentOpacity = (_g = (_f = (_e = theme.idCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.loadingGraphicAccentOpacity) !== null && _g !== void 0 ? _g : 0.2;\n return (React.createElement(\"svg\", { className: className, width: width, height: height, viewBox: \"0 0 428 747\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n React.createElement(\"g\", { id: \"card\", style: {\n transform: \"translate(\".concat(frame < 1 ? '-500px' : '0', \", 0)\"),\n transition: 'transform 0.3s linear',\n } },\n React.createElement(\"path\", { d: \"M76.5001 181.274C76.5001 176.027 80.7534 171.774 86.0001 171.774L342 171.774C347.247 171.774 351.5 176.027 351.5 181.274L351.5 586C351.5 591.247 347.247 595.5 342 595.5L86.0001 595.5C80.7534 595.5 76.5001 591.247 76.5001 586L76.5001 181.274Z\", fill: \"#F3F3F3\", stroke: \"#DCDCDC\" }),\n React.createElement(\"mask\", { id: \"mask0_29_1815\", style: { maskType: 'alpha' }, maskUnits: \"userSpaceOnUse\", x: \"113\", y: \"452\", width: \"163\", height: \"126\" },\n React.createElement(\"rect\", { x: \"113\", y: \"577.273\", width: \"125\", height: \"162\", rx: \"3\", transform: \"rotate(-90 113 577.273)\", fill: \"#D9D9D9\" })),\n React.createElement(\"g\", { mask: \"url(#mask0_29_1815)\" },\n React.createElement(\"path\", { d: \"M214.008 497.796C214.165 497.754 214.33 497.751 214.489 497.788C225.426 500.352 233.24 507.14 233.24 515.098C233.24 523.058 225.395 529.861 214.455 532.423C214.3 532.46 214.138 532.458 213.983 532.418L206.704 530.546L205.204 530.154C204.764 530.039 204.457 529.641 204.457 529.186L204.457 501.028C204.457 500.571 204.766 500.173 205.208 500.059L213.044 498.048L213.817 497.847L214.008 497.796Z\", fill: \"#D2D4DA\" }),\n React.createElement(\"path\", { d: \"M172.144 483.183C172.092 483.102 172.027 483.031 171.955 482.966C155.547 468.233 196.225 478.134 191.447 486.357C183.444 500.161 173.096 484.665 172.144 483.183Z\", fill: \"#F7A69C\" }),\n React.createElement(\"path\", { d: \"M274.192 433.287C274.528 433.202 274.882 433.292 275.124 433.541C282.444 441.074 286.849 458.59 287.283 460.373C287.308 460.479 287.314 460.558 287.305 460.667C287.111 462.898 284.971 490.135 294.285 506.502C295.735 509.05 293.703 521.155 293.593 521.803C293.589 521.823 293.587 521.84 293.585 521.861L291.51 541.224C291.502 541.299 291.502 541.364 291.509 541.439C291.65 542.782 292.959 557.13 285.925 568.508C280.203 577.763 281.504 589.995 275.126 596.677C274.887 596.927 274.528 597.02 274.193 596.935L267.003 595.111C255.396 592.147 246.379 582.999 243.588 571.332L243.287 570.043L239.866 555.741L238.936 551.833C238.535 550.186 237.977 548.611 237.262 547.123C236.66 545.877 235.959 544.689 235.158 543.572C234.299 542.37 233.326 541.239 232.252 540.222C229.375 537.488 225.826 535.469 221.832 534.438L215.936 532.921L214.347 532.52L214.218 532.491L206.704 530.544L205.21 530.164C204.767 530.051 204.457 529.652 204.457 529.194L204.457 501.04C204.457 500.584 204.765 500.186 205.207 500.071L213.044 498.046L213.817 497.846L214.198 497.744C214.23 497.736 214.263 497.731 214.297 497.731C214.33 497.731 214.363 497.727 214.395 497.718L215.95 497.302L221.832 495.784C227.3 494.367 231.98 491.088 235.158 486.636C236.918 484.202 238.22 481.411 238.936 478.39L239.795 474.782L243.588 458.891C246.379 447.223 255.396 438.075 267.003 435.112L274.192 433.287Z\", fill: \"#F7A69C\" }),\n React.createElement(\"path\", { d: \"M214.008 497.796C214.165 497.754 214.33 497.751 214.489 497.788C225.426 500.352 233.24 507.14 233.24 515.098C233.24 523.058 225.395 529.861 214.455 532.423C214.3 532.46 214.138 532.458 213.983 532.418L206.704 530.546L205.204 530.154C204.764 530.039 204.457 529.641 204.457 529.186L204.457 501.028C204.457 500.571 204.766 500.173 205.208 500.059L213.044 498.048L213.817 497.847L214.008 497.796Z\", fill: \"#DC968D\" }),\n React.createElement(\"path\", { d: \"M172.144 547.035C172.092 547.117 172.027 547.188 171.955 547.252C155.547 561.986 196.225 552.085 191.447 543.861C183.444 530.057 173.096 545.553 172.144 547.035Z\", fill: \"#F7A69C\" }),\n React.createElement(\"path\", { d: \"M160.188 480.675C160.188 480.679 160.191 480.682 160.195 480.682C161.452 480.682 162.681 480.754 163.91 480.897C165.026 481.011 169.792 481.512 175.861 482.4C179.224 482.885 182.971 483.511 186.733 484.252C186.765 484.258 186.795 484.26 186.827 484.262C186.893 484.266 186.958 484.296 187.022 484.309C196.192 486.126 205.299 488.682 208.623 492.02C212.401 495.8 215.836 498.835 218.312 502.3C220.803 505.764 222.348 509.644 222.348 515.084C222.348 520.524 220.803 524.404 218.312 527.869C215.836 531.319 212.401 534.368 208.623 538.148C205.277 541.494 196.118 544.055 186.939 545.887C186.92 545.891 186.906 545.893 186.886 545.893C186.867 545.893 186.844 545.895 186.825 545.898C185.646 546.125 184.468 546.338 183.303 546.551C182.817 546.637 182.33 546.723 181.843 546.809C179.782 547.167 177.764 547.482 175.875 547.768C168.946 548.793 163.714 549.294 163.652 549.3C163.651 549.3 163.651 549.3 163.649 549.3C162.519 549.415 161.361 549.472 160.188 549.472C159.888 549.472 159.587 549.472 159.287 549.472C156.581 549.4 153.948 549.028 151.429 548.355C151.314 548.327 151.2 548.298 151.085 548.269C137.116 544.447 126.682 532.035 125.852 517.06C125.809 516.401 125.795 515.757 125.795 515.084C125.795 505.578 129.645 496.974 135.871 490.746C141.238 485.363 148.395 481.756 156.367 480.882C157.624 480.739 158.895 480.668 160.181 480.668C160.185 480.668 160.188 480.671 160.188 480.675Z\", fill: \"#FEAEA5\" }),\n React.createElement(\"path\", { d: \"M191.119 509.673C193.495 509.673 195.413 512.092 195.413 515.084C195.413 518.077 193.495 520.482 191.119 520.482C190.877 520.482 190.861 520.186 191.077 520.077C192.647 519.282 193.753 517.343 193.753 515.084C193.753 512.826 192.647 510.876 191.077 510.079C190.866 509.971 190.883 509.673 191.119 509.673Z\", fill: \"#F7A69C\" }),\n React.createElement(\"path\", { d: \"M274.264 433.275C274.6 433.189 274.954 433.278 275.199 433.524C296.217 454.568 295.682 514.893 295.68 515.097C295.68 515.103 295.68 515.092 295.68 515.098C295.682 515.302 296.217 575.643 275.184 596.673C274.939 596.917 274.586 597.007 274.251 596.921L267.076 595.097C255.454 592.134 246.437 582.986 243.646 571.318L239.925 555.699L238.994 551.819C238.638 550.318 238.133 548.86 237.499 547.48C237.314 547.078 237.398 546.602 237.715 546.294C245.845 538.394 250.903 527.342 250.903 515.098C250.903 502.851 245.844 491.798 237.711 483.897C237.396 483.591 237.311 483.119 237.493 482.719C238.122 481.341 238.638 479.89 238.994 478.376L239.81 474.983L243.646 458.877C246.437 447.21 255.454 438.061 267.076 435.112L274.264 433.275Z\", fill: \"#6E7174\" }),\n React.createElement(\"path\", { d: \"M239.436 476.54C239.609 475.821 240.466 475.529 241.015 476.024C246.147 480.64 257.535 493.254 258.403 515.098C259.367 539.068 245.359 551.601 241.088 554.862C240.535 555.285 239.753 554.982 239.59 554.305L238.994 551.82C238.638 550.319 238.133 548.86 237.499 547.48C237.314 547.079 237.398 546.603 237.715 546.295C245.845 538.394 250.903 527.343 250.903 515.098C250.903 502.852 245.844 491.799 237.711 483.898C237.396 483.592 237.311 483.119 237.493 482.72C238.122 481.342 238.638 479.891 238.994 478.377L239.436 476.54Z\", fill: \"#555A5E\" }),\n React.createElement(\"path\", { d: \"M162.007 550.079C167.945 550.079 174.609 548.865 179.507 547.741C180.642 547.481 180.435 545.695 179.275 545.595C171.872 544.959 160.808 542.941 155.401 536.678C149.594 529.951 156.114 524.486 156.114 515.6C156.114 507.554 149.704 500.044 155.401 493.265C160.661 487.005 170.034 484.976 177.145 484.392C178.342 484.293 178.605 482.241 177.431 481.993C172.848 481.025 167.193 480.126 162.007 480.126C137.322 480.126 125.686 489.718 125.686 515.6C125.686 539.171 137.2 550.079 162.007 550.079Z\", fill: \"#525252\" })),\n React.createElement(\"rect\", { x: \"296\", y: \"577.273\", width: \"390\", height: \"25\", rx: \"3\", transform: \"rotate(-90 296 577.273)\", fill: \"#C1C1C1\" }),\n React.createElement(\"rect\", { x: \"158\", y: \"433.273\", width: \"245\", height: \"25\", rx: \"3\", transform: \"rotate(-90 158 433.273)\", fill: \"#C1C1C1\" }),\n React.createElement(\"rect\", { x: \"204\", y: \"433.273\", width: \"110\", height: \"25\", rx: \"3\", transform: \"rotate(-90 204 433.273)\", fill: \"#C1C1C1\" }),\n React.createElement(\"rect\", { x: \"204\", y: \"303.274\", width: \"115\", height: \"25\", rx: \"3\", transform: \"rotate(-90 204 303.274)\", fill: \"#C1C1C1\" }),\n React.createElement(\"rect\", { x: \"250\", y: \"433.273\", width: \"110\", height: \"25\", rx: \"3\", transform: \"rotate(-90 250 433.273)\", fill: \"#C1C1C1\" }),\n React.createElement(\"rect\", { x: \"250\", y: \"303.274\", width: \"115\", height: \"25\", rx: \"3\", transform: \"rotate(-90 250 303.274)\", fill: \"#C1C1C1\" }),\n React.createElement(\"rect\", { x: \"111.637\", y: \"433.637\", width: \"245\", height: \"25\", rx: \"3\", transform: \"rotate(-90 111.637 433.637)\", fill: \"#C1C1C1\" }),\n React.createElement(\"g\", { fillOpacity: frame === 2 ? accentOpacity : 0, style: { transition: 'fill-opacity 0.2s linear' } },\n React.createElement(\"rect\", { x: \"200\", y: \"188\", width: \"33\", height: \"118\", fill: accentColor }),\n React.createElement(\"rect\", { x: \"108\", y: \"444\", width: \"171\", height: \"136\", fill: accentColor }),\n React.createElement(\"rect\", { x: \"108\", y: \"187\", width: \"33\", height: \"247\", fill: accentColor }),\n React.createElement(\"rect\", { x: \"293\", y: \"186\", width: \"31\", height: \"394\", fill: accentColor })),\n React.createElement(\"g\", { fillOpacity: frame === 3 ? accentOpacity : 0, style: { transition: 'fill-opacity 0.2s linear' } },\n React.createElement(\"rect\", { x: \"154\", y: \"185\", width: \"33\", height: \"249\", fill: accentColor }),\n React.createElement(\"rect\", { x: \"247\", y: \"322\", width: \"31\", height: \"113\", rx: \"5\", fill: accentColor })),\n React.createElement(\"g\", { fillOpacity: frame >= 4 ? 1 : 0, strokeOpacity: frame >= 4 ? 1 : 0, style: {\n transition: 'fill-opacity 0.2s linear, stroke-opacity 0.2s linear',\n } },\n React.createElement(\"rect\", { x: \"78.5\", y: \"171.5\", width: \"271\", height: \"426\", rx: \"2.5\", stroke: accentColor, strokeWidth: \"5\" }),\n React.createElement(\"circle\", { cx: \"214.5\", cy: \"383.5\", r: \"23.5\", fill: accentColor }),\n React.createElement(\"path\", { d: \"M203 385.263L208.793 392L227 376\", stroke: \"white\", strokeWidth: \"5\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }))),\n React.createElement(\"g\", { id: \"phone\", clipPath: \"url(#clip0_29_1778)\", style: {\n transform: \"translate(\".concat(frame < 1 ? '40px' : '0', \", 0)\"),\n transition: 'transform 0.3s linear',\n } },\n React.createElement(\"rect\", { x: \"154\", y: \"693\", width: \"120\", height: \"5\", rx: \"2.5\", fill: \"#333343\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M372.869 156.244H373.495V156.241C376.342 156.241 378.647 158.551 378.647 161.396V234.788C378.647 237.637 376.339 239.944 373.495 239.944H372.869V677.09C372.869 698.895 355.203 716.571 333.411 716.571H94.2366C72.444 716.571 54.7781 698.895 54.7781 677.09V278.699H54.1523C51.3051 278.699 49 276.39 49 273.544V228.052C49 225.203 51.3082 222.897 54.1523 222.897H54.7781V212.047H54.1523C51.3051 212.047 49 209.737 49 206.892V161.399C49 158.551 51.3082 156.244 54.1523 156.244H54.7781V90.4813C54.7781 68.6761 72.444 51 94.2366 51H333.411C355.203 51 372.869 68.6761 372.869 90.4813V156.244ZM98.3077 60.7649H329.34C347.039 60.7649 361.387 75.1214 361.387 92.8311V674.734C361.387 692.444 347.039 706.8 329.34 706.8H98.3077C80.6082 706.8 66.26 692.444 66.26 674.734V92.8311C66.26 75.1214 80.6082 60.7649 98.3077 60.7649Z\", fill: \"#333343\" }),\n React.createElement(\"rect\", { x: \"154\", y: \"71\", width: \"120\", height: \"20\", rx: \"10\", fill: \"#333343\" })),\n React.createElement(\"defs\", null,\n React.createElement(\"clipPath\", { id: \"clip0_29_1778\" },\n React.createElement(\"rect\", { width: \"428\", height: \"747\", fill: \"white\" })))));\n}\n//# sourceMappingURL=IdCaptureLoadingGraphic.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useContext, useEffect, useRef, useState, } from 'react';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { OverlayContainer, OverlayImageContainer } from '../common/overlay';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { CameraAccessDeniedOverlay } from '../camera/CameraAccessDeniedOverlay';\nimport { IdCaptureModelsContext } from './IdCaptureModelsProvider';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport styled from 'styled-components';\nimport { ExitCaptureButton } from '../common/ExitCaptureButton';\nimport { GuidanceMessage } from '../common/GuidanceMessage';\nimport { ButtonsRow } from '../common/ButtonsRow';\nimport IdCaptureLoadingGraphic from './IdCaptureLoadingGraphic';\nvar legacyInstructionImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/WebSDK-Instruction-DL-Capture-3-Portrait.png\");\nexport var IdCaptureLoadingOverlayDefault = function (_a) {\n var _b, _c, _d, _e;\n var onDismissed = _a.onDismissed, onUserCancel = _a.onUserCancel, instructions = _a.instructions, _f = _a.rotateImage, rotateImage = _f === void 0 ? false : _f, _g = _a.assets, assets = _g === void 0 ? {} : _g, _h = _a.classNames, classNames = _h === void 0 ? {} : _h, _j = _a.colors, colors = _j === void 0 ? {} : _j, _k = _a.verbiage, rawVerbiage = _k === void 0 ? {} : _k;\n var _l = useContext(IdCaptureModelsContext), modelsReady = _l.ready, modelDownloadProgress = _l.modelDownloadProgress;\n var _m = useContext(CameraStateContext), cameraReady = _m.cameraReady, cameraAccessDenied = _m.cameraAccessDenied, iphoneContinuityCameraAvailable = _m.iphoneContinuityCameraAvailable, setIphoneContinuityCameraAllowed = _m.setIphoneContinuityCameraAllowed;\n var _o = useState(false), dismissed = _o[0], setDismissed = _o[1];\n assets.instructionImageUrl || (assets.instructionImageUrl = legacyInstructionImageUrl);\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Use your device camera to capture your ID',\n useContinuityCameraText: 'Use your iPhone as a webcam',\n downloadingText: 'Downloading...',\n modelsWarmingUpText: 'Loading guided capture experience...',\n modelsReadyText: 'Guided capture experience ready',\n cameraInitializingText: 'Camera initializing...',\n cameraInitializedText: 'Camera ready',\n continueText: \"Let's Go!\",\n });\n useEffect(function () {\n if (modelsReady && cameraReady)\n return function () { return null; };\n var t = setTimeout(function () {\n setDismissed(false);\n }, 500);\n return function () {\n clearTimeout(t);\n };\n }, [cameraReady, modelsReady]);\n var imageRef = useRef(null);\n if (dismissed)\n return React.createElement(React.Fragment, null);\n if (cameraAccessDenied) {\n return (React.createElement(CameraAccessDeniedOverlay, { assets: assets.cameraAccessDenied, classNames: classNames.cameraAccessDenied, colors: colors.cameraAccessDenied, verbiage: rawVerbiage.cameraAccessDenied }));\n }\n var imageStyle = {};\n if (rotateImage) {\n var naturalWidth = (_c = (_b = imageRef.current) === null || _b === void 0 ? void 0 : _b.naturalWidth) !== null && _c !== void 0 ? _c : 0;\n var naturalHeight = (_e = (_d = imageRef.current) === null || _d === void 0 ? void 0 : _d.naturalHeight) !== null && _e !== void 0 ? _e : 0;\n var scale = naturalWidth > naturalHeight ? naturalHeight / naturalWidth : 1;\n imageStyle = { transform: \"rotate(-90deg) scale(\".concat(scale, \")\") };\n }\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n React.createElement(OverlayHeader, null,\n React.createElement(StyledGuidanceMessage, { className: classNames.heading }, verbiage.headingText)),\n onUserCancel && (React.createElement(ExitCaptureButton, { onClick: onUserCancel, className: classNames.cancelBtn })),\n React.createElement(StyledOverlayImageContainer, { className: classNames.imageContainer, style: { pointerEvents: 'none' } }, (assets === null || assets === void 0 ? void 0 : assets.instructionImageUrl) &&\n assets.instructionImageUrl !== legacyInstructionImageUrl ? (React.createElement(CustomLoadingGraphic, { ref: imageRef, alt: verbiage.headingText, src: assets.instructionImageUrl, className: classNames.image, style: imageStyle })) : (React.createElement(IdCaptureLoadingGraphic, { className: classNames.image }))),\n instructions,\n React.createElement(ContinuityCameraCheckboxContainer, { className: classNames.continuityCameraCheckboxContainer }, iphoneContinuityCameraAvailable && (React.createElement(ContinuityCameraCheckboxInner, { className: classNames.continuityCameraCheckboxInner },\n React.createElement(ContinuityCameraCheckbox, { className: classNames.continuityCameraCheckbox, id: \"use-continuity-camera\", type: \"checkbox\", defaultChecked: true, onChange: function (e) {\n setIphoneContinuityCameraAllowed(e.target.checked);\n } }),\n React.createElement(\"label\", { htmlFor: \"use-continuity-camera\", className: classNames.continuityCameraCheckboxLabel }, verbiage.useContinuityCameraText)))),\n React.createElement(StyledButtonsRow, { className: classNames.buttonsRow },\n React.createElement(ProgressContainer, { className: classNames.progressContainer },\n React.createElement(ProgressBarBackground, { className: classNames.progressBackground }),\n React.createElement(ProgressBar, { \"$progress\": modelDownloadProgress, className: classNames.progressBar },\n React.createElement(ProgressIndicator, { className: classNames.progressIndicator }))),\n React.createElement(LoadingListContainer, { className: classNames.loadingListContainer },\n React.createElement(LoadingList, { className: classNames.loadingList },\n React.createElement(LoadingListItem, { className: \"\".concat(classNames.loadingListItem, \" \").concat(cameraReady ? 'done' : 'running') }, cameraReady\n ? verbiage.cameraInitializedText\n : verbiage.cameraInitializingText),\n React.createElement(LoadingListItem, { className: \"\".concat(classNames.loadingListItem, \" \").concat(modelsReady ? 'done' : 'running') }, modelsReady\n ? verbiage.modelsReadyText\n : modelDownloadProgress >= 100\n ? verbiage.modelsWarmingUpText\n : \"\".concat(verbiage.downloadingText, \" (\").concat(modelDownloadProgress, \"%)\")))),\n React.createElement(ContinueButtonContainer, { className: classNames.continueBtnContainer }, modelsReady && cameraReady && (React.createElement(ContinueButton, { finished: true, className: classNames.continueBtn, variant: \"positive\", colors: colors.continueBtn, onClick: function () {\n setDismissed(true);\n onDismissed === null || onDismissed === void 0 ? void 0 : onDismissed();\n } }, verbiage.continueText)))))));\n};\nvar OverlayInner = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n height: 100dvh;\\n display: flex;\\n flex-direction: column;\\n background: \", \";\\n color: \", \";\\n\"], [\"\\n height: 100dvh;\\n display: flex;\\n flex-direction: column;\\n background: \", \";\\n color: \", \";\\n\"])), function (props) { var _a, _b, _c, _d; return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.backgroundColor) !== null && _d !== void 0 ? _d : '#ecedf3'; }, function (props) { var _a, _b, _c, _d; return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.textColor) !== null && _d !== void 0 ? _d : 'black'; });\nvar OverlayHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n text-align: \", \";\\n display: flex;\\n flex-direction: column;\\n flex-wrap: nowrap;\\n \", \"\\n padding-bottom: 0;\\n\"], [\"\\n text-align: \", \";\\n display: flex;\\n flex-direction: column;\\n flex-wrap: nowrap;\\n \", \"\\n padding-bottom: 0;\\n\"])), function (props) { var _a; return (_a = props.theme.textAlign) !== null && _a !== void 0 ? _a : 'center'; }, function (props) {\n return props.theme.padding\n ? \"box-sizing: border-box; padding: \".concat(props.theme.padding, \";\")\n : \"\";\n});\nvar StyledGuidanceMessage = styled(GuidanceMessage)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n padding: 16px 24px;\\n margin-top: 16px;\\n font-size: 18px;\\n font-weight: bold;\\n background: white;\\n box-shadow:\\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n\"], [\"\\n padding: 16px 24px;\\n margin-top: 16px;\\n font-size: 18px;\\n font-weight: bold;\\n background: white;\\n box-shadow:\\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n\"])));\nvar StyledOverlayImageContainer = styled(OverlayImageContainer)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n padding: 0 0 100px;\\n\\n & > svg {\\n height: 100%;\\n }\\n\"], [\"\\n padding: 0 0 100px;\\n\\n & > svg {\\n height: 100%;\\n }\\n\"])));\nvar ContinuityCameraCheckboxContainer = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n position: fixed;\\n bottom: 120px;\\n width: 100dvw;\\n display: flex;\\n\"], [\"\\n position: fixed;\\n bottom: 120px;\\n width: 100dvw;\\n display: flex;\\n\"])));\nvar ContinuityCameraCheckboxInner = styled(GuidanceMessage)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n padding: 12px 18px;\\n margin: 0 auto;\\n font-size: 14px;\\n font-weight: bold;\\n background: white;\\n box-shadow:\\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n\"], [\"\\n padding: 12px 18px;\\n margin: 0 auto;\\n font-size: 14px;\\n font-weight: bold;\\n background: white;\\n box-shadow:\\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n\"])));\nvar ContinuityCameraCheckbox = styled.input(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n margin-right: 8px;\\n\"], [\"\\n margin-right: 8px;\\n\"])));\nvar StyledButtonsRow = styled(ButtonsRow)(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n padding: 15px 25px;\\n height: 100px;\\n color: \", \";\\n \", \"\\n position: fixed;\\n bottom: 0;\\n left: 0;\\n width: 100dvw;\\n box-sizing: border-box;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n padding: 15px 25px;\\n height: 100px;\\n color: \", \";\\n \", \"\\n position: fixed;\\n bottom: 0;\\n left: 0;\\n width: 100dvw;\\n box-sizing: border-box;\\n\"])), function (props) {\n var _a, _b, _c, _d;\n return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarTextColor) !== null && _d !== void 0 ? _d : 'white';\n}, function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarFontSize)\n ? \"font-size: \".concat((_f = (_e = (_d = props.theme) === null || _d === void 0 ? void 0 : _d.idCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.progressBarFontSize, \";\")\n : '';\n});\nvar LoadingListContainer = styled.div(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n display: flex;\\n position: relative;\\n z-index: 2;\\n\"], [\"\\n display: flex;\\n position: relative;\\n z-index: 2;\\n\"])));\nvar LoadingList = styled.ul(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n display: block;\\n margin: auto;\\n list-style: none;\\n padding: 0;\\n\"], [\"\\n display: block;\\n margin: auto;\\n list-style: none;\\n padding: 0;\\n\"])));\nvar LoadingListItem = styled.li(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n padding: 2px 1.25rem 2px 0;\\n line-height: 1rem;\\n\\n &::before {\\n content: '';\\n display: inline-block;\\n height: 1rem;\\n min-width: 1rem;\\n vertical-align: middle;\\n background-size: cover;\\n background-repeat: no-repeat;\\n margin: auto 0.5rem auto 0;\\n }\\n\\n &.done::before {\\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzg1KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTE5LjU2NDMgOC4yNzg1MkMxOS45NTQ5IDcuODg3OTkgMTkuOTU0OSA3LjI1NDgzIDE5LjU2NDMgNi44NjQzQzE5LjE3MzggNi40NzM3OCAxOC41NDA2IDYuNDczNzggMTguMTUwMSA2Ljg2NDNMOS40Mjg2NiAxNS41ODU4TDUuODUwMDUgMTIuMDA3MkM1LjQ1OTUzIDExLjYxNjYgNC44MjYzNiAxMS42MTY2IDQuNDM1ODQgMTIuMDA3MkM0LjA0NTMxIDEyLjM5NzcgNC4wNDUzMSAxMy4wMzA5IDQuNDM1ODQgMTMuNDIxNEw4LjcyMTU1IDE3LjcwNzFDOS4xMTIwOCAxOC4wOTc2IDkuNzQ1MjQgMTguMDk3NiAxMC4xMzU4IDE3LjcwNzFMMTkuNTY0MyA4LjI3ODUyWiIgZmlsbD0id2hpdGUiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80OV8zODUiPjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=');\\n }\\n\\n &.running::before {\\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzcwKSI+PG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV80OV8zNzAiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTE0NzIgMjAuNDg1NUM4LjIwMTAxIDI1LjE3MTggMTUuNzk5IDI1LjE3MTggMjAuNDg1MyAyMC40ODU1QzI1LjE3MTYgMTUuNzk5MiAyNS4xNzE2IDguMjAxMTkgMjAuNDg1MyAzLjUxNDlDMTUuNzk5IC0xLjE3MTM5IDguMjAxMDEgLTEuMTcxMzkgMy41MTQ3MiAzLjUxNDlDLTEuMTcxNTcgOC4yMDExOSAtMS4xNzE1NyAxNS43OTkyIDMuNTE0NzIgMjAuNDg1NVoiLz48L21hc2s+PHBhdGggZD0iTTYuMzk4MTQgMTEuNDU5QzUuODQ1ODYgMTEuNDU5IDUuMzk4MTQgMTEuOTA2NyA1LjM5ODE0IDEyLjQ1OUM1LjM5ODE0IDEzLjAxMTIgNS44NDU4NiAxMy40NTkgNi4zOTgxNCAxMy40NTlWMTEuNDU5Wk0xNy42MDE5IDEzLjQ1OUMxOC4xNTQxIDEzLjQ1OSAxOC42MDE5IDEzLjAxMTIgMTguNjAxOSAxMi40NTlDMTguNjAxOSAxMS45MDY3IDE4LjE1NDEgMTEuNDU5IDE3LjYwMTkgMTEuNDU5VjEzLjQ1OVpNNi4zOTgxNCAxMy40NTlIMTcuNjAxOVYxMS40NTlINi4zOTgxNFYxMy40NTlaTTMuNTE0NzIgMjAuNDg1NUw0LjkyODkzIDE5LjA3MTNMNC45Mjg5MyAxOS4wNzEzTDMuNTE0NzIgMjAuNDg1NVpNMjAuNDg1MyAzLjUxNDlMMTkuMDcxMSA0LjkyOTEyTDE5LjA3MTEgNC45MjkxMkwyMC40ODUzIDMuNTE0OVpNMy41MTQ3MiAzLjUxNDlMNC45Mjg5MyA0LjkyOTEyTDQuOTI4OTMgNC45MjkxMkwzLjUxNDcyIDMuNTE0OVpNMTkuMDcxMSAxOS4wNzEzQzE1LjE2NTggMjIuOTc2NSA4LjgzNDE3IDIyLjk3NjUgNC45Mjg5MyAxOS4wNzEzTDIuMTAwNTEgMjEuODk5N0M3LjU2Nzg0IDI3LjM2NyAxNi40MzIyIDI3LjM2NyAyMS44OTk1IDIxLjg5OTdMMTkuMDcxMSAxOS4wNzEzWk0xOS4wNzExIDQuOTI5MTJDMjIuOTc2MyA4LjgzNDM2IDIyLjk3NjMgMTUuMTY2IDE5LjA3MTEgMTkuMDcxM0wyMS44OTk1IDIxLjg5OTdDMjcuMzY2OCAxNi40MzIzIDI3LjM2NjggNy41NjgwMyAyMS44OTk1IDIuMTAwNjlMMTkuMDcxMSA0LjkyOTEyWk00LjkyODkzIDQuOTI5MTJDOC44MzQxNyAxLjAyMzg3IDE1LjE2NTggMS4wMjM4NyAxOS4wNzExIDQuOTI5MTJMMjEuODk5NSAyLjEwMDY5QzE2LjQzMjIgLTMuMzY2NjUgNy41Njc4NCAtMy4zNjY2NSAyLjEwMDUxIDIuMTAwNjlMNC45Mjg5MyA0LjkyOTEyWk00LjkyODkzIDE5LjA3MTNDMS4wMjM2OSAxNS4xNjYgMS4wMjM2OSA4LjgzNDM2IDQuOTI4OTMgNC45MjkxMkwyLjEwMDUxIDIuMTAwNjlDLTMuMzY2ODMgNy41NjgwMyAtMy4zNjY4MyAxNi40MzIzIDIuMTAwNTEgMjEuODk5N0w0LjkyODkzIDE5LjA3MTNaIiBmaWxsPSJ3aGl0ZSIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNDlfMzcwKSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzQ5XzM3MCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==');\\n }\\n\"], [\"\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n padding: 2px 1.25rem 2px 0;\\n line-height: 1rem;\\n\\n &::before {\\n content: '';\\n display: inline-block;\\n height: 1rem;\\n min-width: 1rem;\\n vertical-align: middle;\\n background-size: cover;\\n background-repeat: no-repeat;\\n margin: auto 0.5rem auto 0;\\n }\\n\\n &.done::before {\\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzg1KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTE5LjU2NDMgOC4yNzg1MkMxOS45NTQ5IDcuODg3OTkgMTkuOTU0OSA3LjI1NDgzIDE5LjU2NDMgNi44NjQzQzE5LjE3MzggNi40NzM3OCAxOC41NDA2IDYuNDczNzggMTguMTUwMSA2Ljg2NDNMOS40Mjg2NiAxNS41ODU4TDUuODUwMDUgMTIuMDA3MkM1LjQ1OTUzIDExLjYxNjYgNC44MjYzNiAxMS42MTY2IDQuNDM1ODQgMTIuMDA3MkM0LjA0NTMxIDEyLjM5NzcgNC4wNDUzMSAxMy4wMzA5IDQuNDM1ODQgMTMuNDIxNEw4LjcyMTU1IDE3LjcwNzFDOS4xMTIwOCAxOC4wOTc2IDkuNzQ1MjQgMTguMDk3NiAxMC4xMzU4IDE3LjcwNzFMMTkuNTY0MyA4LjI3ODUyWiIgZmlsbD0id2hpdGUiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80OV8zODUiPjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=');\\n }\\n\\n &.running::before {\\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzcwKSI+PG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV80OV8zNzAiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTE0NzIgMjAuNDg1NUM4LjIwMTAxIDI1LjE3MTggMTUuNzk5IDI1LjE3MTggMjAuNDg1MyAyMC40ODU1QzI1LjE3MTYgMTUuNzk5MiAyNS4xNzE2IDguMjAxMTkgMjAuNDg1MyAzLjUxNDlDMTUuNzk5IC0xLjE3MTM5IDguMjAxMDEgLTEuMTcxMzkgMy41MTQ3MiAzLjUxNDlDLTEuMTcxNTcgOC4yMDExOSAtMS4xNzE1NyAxNS43OTkyIDMuNTE0NzIgMjAuNDg1NVoiLz48L21hc2s+PHBhdGggZD0iTTYuMzk4MTQgMTEuNDU5QzUuODQ1ODYgMTEuNDU5IDUuMzk4MTQgMTEuOTA2NyA1LjM5ODE0IDEyLjQ1OUM1LjM5ODE0IDEzLjAxMTIgNS44NDU4NiAxMy40NTkgNi4zOTgxNCAxMy40NTlWMTEuNDU5Wk0xNy42MDE5IDEzLjQ1OUMxOC4xNTQxIDEzLjQ1OSAxOC42MDE5IDEzLjAxMTIgMTguNjAxOSAxMi40NTlDMTguNjAxOSAxMS45MDY3IDE4LjE1NDEgMTEuNDU5IDE3LjYwMTkgMTEuNDU5VjEzLjQ1OVpNNi4zOTgxNCAxMy40NTlIMTcuNjAxOVYxMS40NTlINi4zOTgxNFYxMy40NTlaTTMuNTE0NzIgMjAuNDg1NUw0LjkyODkzIDE5LjA3MTNMNC45Mjg5MyAxOS4wNzEzTDMuNTE0NzIgMjAuNDg1NVpNMjAuNDg1MyAzLjUxNDlMMTkuMDcxMSA0LjkyOTEyTDE5LjA3MTEgNC45MjkxMkwyMC40ODUzIDMuNTE0OVpNMy41MTQ3MiAzLjUxNDlMNC45Mjg5MyA0LjkyOTEyTDQuOTI4OTMgNC45MjkxMkwzLjUxNDcyIDMuNTE0OVpNMTkuMDcxMSAxOS4wNzEzQzE1LjE2NTggMjIuOTc2NSA4LjgzNDE3IDIyLjk3NjUgNC45Mjg5MyAxOS4wNzEzTDIuMTAwNTEgMjEuODk5N0M3LjU2Nzg0IDI3LjM2NyAxNi40MzIyIDI3LjM2NyAyMS44OTk1IDIxLjg5OTdMMTkuMDcxMSAxOS4wNzEzWk0xOS4wNzExIDQuOTI5MTJDMjIuOTc2MyA4LjgzNDM2IDIyLjk3NjMgMTUuMTY2IDE5LjA3MTEgMTkuMDcxM0wyMS44OTk1IDIxLjg5OTdDMjcuMzY2OCAxNi40MzIzIDI3LjM2NjggNy41NjgwMyAyMS44OTk1IDIuMTAwNjlMMTkuMDcxMSA0LjkyOTEyWk00LjkyODkzIDQuOTI5MTJDOC44MzQxNyAxLjAyMzg3IDE1LjE2NTggMS4wMjM4NyAxOS4wNzExIDQuOTI5MTJMMjEuODk5NSAyLjEwMDY5QzE2LjQzMjIgLTMuMzY2NjUgNy41Njc4NCAtMy4zNjY2NSAyLjEwMDUxIDIuMTAwNjlMNC45Mjg5MyA0LjkyOTEyWk00LjkyODkzIDE5LjA3MTNDMS4wMjM2OSAxNS4xNjYgMS4wMjM2OSA4LjgzNDM2IDQuOTI4OTMgNC45MjkxMkwyLjEwMDUxIDIuMTAwNjlDLTMuMzY2ODMgNy41NjgwMyAtMy4zNjY4MyAxNi40MzIzIDIuMTAwNTEgMjEuODk5N0w0LjkyODkzIDE5LjA3MTNaIiBmaWxsPSJ3aGl0ZSIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNDlfMzcwKSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzQ5XzM3MCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==');\\n }\\n\"])));\nvar ProgressContainer = styled.div(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n\"], [\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n\"])));\nvar ProgressBarBackground = styled.div(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background: \", \";\\n opacity: \", \";\\n\"], [\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background: \", \";\\n opacity: \", \";\\n\"])), function (props) {\n var _a, _b, _c, _d;\n return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarBackgroundColor) !== null && _d !== void 0 ? _d : 'var(--idm-color-positive-600)';\n}, function (props) {\n var _a, _b, _c, _d;\n return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarBackgroundOpacity) !== null && _d !== void 0 ? _d : 0.75;\n});\nvar ProgressBar = styled.span(templateObject_14 || (templateObject_14 = __makeTemplateObject([\"\\n display: block;\\n width: \", \"%;\\n height: 100%;\\n\"], [\"\\n display: block;\\n width: \", \"%;\\n height: 100%;\\n\"])), function (props) { return props.$progress; });\nvar ProgressIndicator = styled.span(templateObject_15 || (templateObject_15 = __makeTemplateObject([\"\\n display: block;\\n height: 100%;\\n background: \", \";\\n animation: progressBar 3s ease-in-out;\\n animation-fill-mode: both;\\n\\n @keyframes progressBar {\\n 0% {\\n width: 0;\\n }\\n 100% {\\n width: 100%;\\n }\\n }\\n\"], [\"\\n display: block;\\n height: 100%;\\n background: \", \";\\n animation: progressBar 3s ease-in-out;\\n animation-fill-mode: both;\\n\\n @keyframes progressBar {\\n 0% {\\n width: 0;\\n }\\n 100% {\\n width: 100%;\\n }\\n }\\n\"])), function (props) {\n var _a, _b, _c, _d;\n return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarIndicatorColor) !== null && _d !== void 0 ? _d : 'var(--idm-color-positive-600)';\n});\nvar CustomLoadingGraphic = styled.img(templateObject_16 || (templateObject_16 = __makeTemplateObject([\"\"], [\"\"])));\nvar ContinueButtonContainer = styled.div(templateObject_17 || (templateObject_17 = __makeTemplateObject([\"\\n display: flex;\\n\"], [\"\\n display: flex;\\n\"])));\nvar ContinueButton = styled(LoaderButton)(templateObject_18 || (templateObject_18 = __makeTemplateObject([\"\\n margin: auto;\\n white-space: nowrap;\\n \", \"\\n \", \"\\n\"], [\"\\n margin: auto;\\n white-space: nowrap;\\n \", \"\\n \", \"\\n\"])), function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarFontSize)\n ? \"font-size: \".concat((_f = (_e = (_d = props.theme) === null || _d === void 0 ? void 0 : _d.idCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.progressBarFontSize, \";\")\n : '';\n}, function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.continueBtnBorder)\n ? \"border: \".concat((_f = (_e = (_d = props.theme) === null || _d === void 0 ? void 0 : _d.idCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.continueBtnBorder, \";\")\n : '';\n});\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18;\n//# sourceMappingURL=IdCaptureLoadingOverlayDefault.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useContext, useEffect, useRef, useState, } from 'react';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { OverlayContainer, OverlayImageContainer, OverlayInner, } from '../common/overlay';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { CameraAccessDeniedOverlay } from '../camera/CameraAccessDeniedOverlay';\nimport { IdCaptureModelsContext } from './IdCaptureModelsProvider';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport styled from 'styled-components';\nimport { ExitCaptureButton } from '../common/ExitCaptureButton';\nvar ContinuityCameraCheckboxContainer = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin-top: 15px;\\n margin-bottom: 15px;\\n\"], [\"\\n margin-top: 15px;\\n margin-bottom: 15px;\\n\"])));\nvar ContinuityCameraCheckbox = styled.input(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-right: 8px;\\n\"], [\"\\n margin-right: 8px;\\n\"])));\nexport var IdCaptureLoadingOverlayLegacy = function (_a) {\n var _b, _c, _d, _e;\n var onDismissed = _a.onDismissed, onUserCancel = _a.onUserCancel, instructions = _a.instructions, _f = _a.rotateImage, rotateImage = _f === void 0 ? false : _f, _g = _a.assets, assets = _g === void 0 ? {} : _g, _h = _a.classNames, classNames = _h === void 0 ? {} : _h, _j = _a.colors, colors = _j === void 0 ? {} : _j, _k = _a.verbiage, rawVerbiage = _k === void 0 ? {} : _k;\n var _l = useContext(IdCaptureModelsContext), modelsReady = _l.ready, modelDownloadProgress = _l.modelDownloadProgress;\n var _m = useContext(CameraStateContext), cameraReady = _m.cameraReady, cameraAccessDenied = _m.cameraAccessDenied, iphoneContinuityCameraAvailable = _m.iphoneContinuityCameraAvailable, setIphoneContinuityCameraAllowed = _m.setIphoneContinuityCameraAllowed;\n var _o = useState(false), dismissed = _o[0], setDismissed = _o[1];\n assets.instructionImageUrl || (assets.instructionImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/WebSDK-Instruction-DL-Capture-3-Portrait.png\"));\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Use your device camera to capture your ID',\n useContinuityCameraText: 'Use your iPhone as a webcam',\n downloadingText: 'Downloading...',\n modelsWarmingUpText: 'Models warming up...',\n cameraInitializingText: 'Camera initializing...',\n continueText: 'Continue',\n });\n useEffect(function () {\n if (modelsReady && cameraReady)\n return function () { return null; };\n var t = setTimeout(function () {\n setDismissed(false);\n }, 500);\n return function () {\n clearTimeout(t);\n };\n }, [cameraReady, modelsReady]);\n var imageRef = useRef(null);\n if (dismissed)\n return React.createElement(React.Fragment, null);\n if (cameraAccessDenied) {\n return (React.createElement(CameraAccessDeniedOverlay, { assets: assets.cameraAccessDenied, classNames: classNames.cameraAccessDenied, colors: colors.cameraAccessDenied, verbiage: rawVerbiage.cameraAccessDenied }));\n }\n var imageStyle = {};\n if (rotateImage) {\n var naturalWidth = (_c = (_b = imageRef.current) === null || _b === void 0 ? void 0 : _b.naturalWidth) !== null && _c !== void 0 ? _c : 0;\n var naturalHeight = (_e = (_d = imageRef.current) === null || _d === void 0 ? void 0 : _d.naturalHeight) !== null && _e !== void 0 ? _e : 0;\n var scale = naturalWidth > naturalHeight ? naturalHeight / naturalWidth : 1;\n imageStyle = { transform: \"rotate(-90deg) scale(\".concat(scale, \")\") };\n }\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n React.createElement(\"h3\", { className: classNames.heading }, verbiage.headingText),\n onUserCancel && (React.createElement(ExitCaptureButton, { onClick: onUserCancel, className: classNames.cancelBtn })),\n React.createElement(OverlayImageContainer, { className: classNames.imageContainer, style: { pointerEvents: 'none' } },\n React.createElement(\"img\", { ref: imageRef, alt: verbiage.headingText, src: assets.instructionImageUrl, className: classNames.image, style: imageStyle })),\n instructions,\n React.createElement(ContinuityCameraCheckboxContainer, { className: classNames.continuityCameraCheckboxContainer }, iphoneContinuityCameraAvailable && (React.createElement(React.Fragment, null,\n React.createElement(ContinuityCameraCheckbox, { className: classNames.continuityCameraCheckbox, id: \"use-continuity-camera\", type: \"checkbox\", defaultChecked: true, onChange: function (e) {\n setIphoneContinuityCameraAllowed(e.target.checked);\n } }),\n React.createElement(\"label\", { htmlFor: \"use-continuity-camera\", className: classNames.continuityCameraCheckboxLabel }, verbiage.useContinuityCameraText)))),\n React.createElement(LoaderButton, { className: classNames.continueBtn, variant: \"positive\", disabled: !cameraReady || !modelsReady, finished: modelsReady && cameraReady, colors: colors.continueBtn, onClick: function () {\n setDismissed(true);\n onDismissed === null || onDismissed === void 0 ? void 0 : onDismissed();\n } }, cameraReady && modelsReady\n ? verbiage.continueText\n : modelsReady\n ? verbiage.cameraInitializingText\n : modelDownloadProgress >= 100\n ? verbiage.modelsWarmingUpText\n : \"\".concat(verbiage.downloadingText, \" (\").concat(modelDownloadProgress, \"%)\")))));\n};\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=IdCaptureLoadingOverlayLegacy.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport { IdCaptureLoadingOverlayDefault } from './IdCaptureLoadingOverlayDefault';\nimport { IdCaptureLoadingOverlayLegacy } from './IdCaptureLoadingOverlayLegacy';\nvar components = {\n default: IdCaptureLoadingOverlayDefault,\n legacy: IdCaptureLoadingOverlayLegacy,\n};\nexport var IdCaptureLoadingOverlay = function (_a) {\n var _b;\n var _c = _a.mode, mode = _c === void 0 ? 'default' : _c, props = __rest(_a, [\"mode\"]);\n var Component = (_b = components[mode]) !== null && _b !== void 0 ? _b : components.default;\n return React.createElement(Component, __assign({}, props));\n};\n//# sourceMappingURL=IdCaptureLoadingOverlay.js.map","import React, { useRef, useState } from 'react';\nimport { cropToDetectedObjectBox } from '../../lib/utils/cropping';\nexport var CapturedDocumentImg = function (_a) {\n var alt = _a.alt, className = _a.className, image = _a.image;\n var _b = useState(image.imageData), url = _b[0], setUrl = _b[1];\n var _c = useState(false), cropped = _c[0], setCropped = _c[1];\n var bbox = image.boundingBox;\n var imgRef = useRef(null);\n function onLoaded() {\n if (!bbox || cropped)\n return;\n setCropped(true);\n setTimeout(function () {\n setUrl(cropToDetectedObjectBox(imgRef.current, bbox).toDataURL('image/jpeg', 0.95));\n }, 100);\n }\n return (React.createElement(\"img\", { ref: imgRef, alt: alt, className: className, src: url, onLoad: onLoaded, onClick: function () {\n fetch(image.imageData)\n .then(function (resp) { return resp.blob(); })\n .then(function (blob) {\n var _a;\n var url = URL.createObjectURL(new Blob([blob]));\n var link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', \"\".concat(image.documentType, \".jpg\"));\n document.body.appendChild(link);\n link.click();\n (_a = link.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(link);\n });\n } }));\n};\n//# sourceMappingURL=CapturedDocumentImg.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useContext } from 'react';\nimport { SubmissionStatus } from '../../contexts/SubmissionContext';\nimport { OverlayContainer, OverlayImageContainer, OverlayImageRow, OverlayInner, } from '../common/overlay';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport styled from 'styled-components';\nimport { ButtonsRow } from '../common/ButtonsRow';\nimport { SubmissionContext } from '../submission/SubmissionProvider';\nimport { CapturedDocumentImg } from '../common/CapturedDocumentImg';\nexport var OverlayInstruction = styled.p(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n font-size: 18px;\\n margin: 30px 0;\\n\"], [\"\\n font-size: 18px;\\n margin: 30px 0;\\n\"])));\nexport var IdCaptureSuccess = function (_a) {\n var capturedDocuments = _a.capturedDocuments, onSubmitClick = _a.onSubmitClick, onRetryClick = _a.onRetryClick, _b = _a.classNames, classNames = _b === void 0 ? {} : _b, _c = _a.colors, colors = _c === void 0 ? {} : _c, _d = _a.verbiage, rawVerbiage = _d === void 0 ? {} : _d, _e = _a.debugMode, debugMode = _e === void 0 ? false : _e;\n var submissionStatus = useContext(SubmissionContext).submissionStatus;\n var idCardFront = capturedDocuments.idCardFront, idCardBack = capturedDocuments.idCardBack, passport = capturedDocuments.passport;\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'ID Capture Successful',\n idCardFrontText: 'ID Card Front',\n idCardBackText: 'ID Card Back',\n passportText: 'Passport',\n instructionText: 'Verify the entire ID was captured clearly with no glare.',\n retryText: 'Retry',\n submittingText: 'Submitting...',\n submitText: 'Done',\n });\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n React.createElement(ImagesContainer, { className: classNames.imageContainer },\n React.createElement(ImageRow, { className: classNames.imageRow },\n React.createElement(Heading, { className: classNames.heading }, verbiage.headingText),\n idCardFront && (React.createElement(ImageCol, { className: classNames.imageCol },\n React.createElement(ImageHeading, { className: classNames.imageHeading }, verbiage.idCardFrontText),\n React.createElement(CapturedImageWrapper, { className: classNames.imageWrapper },\n React.createElement(StyledImage, { image: idCardFront, className: classNames.image, alt: verbiage.idCardFrontText })),\n debugMode && (React.createElement(\"pre\", null, \"Detection Score: \".concat(idCardFront.detectionScore, \"\\nFocus Score: \").concat(idCardFront.focusScore, \"\\nBounding Box: \").concat(JSON.stringify(idCardFront.boundingBox)))))),\n idCardBack && (React.createElement(ImageCol, { className: classNames.imageCol },\n React.createElement(ImageHeading, { className: classNames.imageHeading }, verbiage.idCardBackText),\n React.createElement(CapturedImageWrapper, { className: classNames.imageWrapper },\n React.createElement(StyledImage, { image: idCardBack, className: classNames.image, alt: verbiage.idCardBackText })),\n debugMode && (React.createElement(\"pre\", null, \"Detection Score: \".concat(idCardBack.detectionScore, \"\\nFocus Score: \").concat(idCardBack.focusScore, \"\\nBounding Box: \").concat(JSON.stringify(idCardBack.boundingBox)))))),\n passport && (React.createElement(ImageCol, { className: classNames.imageCol },\n React.createElement(ImageHeading, { className: classNames.imageHeading }, verbiage.passportText),\n React.createElement(CapturedImageWrapper, { className: classNames.imageWrapper },\n React.createElement(StyledImage, { image: passport, className: classNames.image, alt: verbiage.passportText })),\n debugMode && (React.createElement(\"pre\", null, \"Detection Score: \".concat(passport.detectionScore, \"\\nFocus Score: \").concat(passport.focusScore, \"\\nBounding Box: \").concat(JSON.stringify(passport.boundingBox)))))))),\n React.createElement(OverlayInstruction, { className: classNames.instruction }, verbiage.instructionText),\n React.createElement(ButtonsRow, { className: classNames.buttonsRow },\n React.createElement(LoaderButton, { className: classNames.retryBtn, variant: \"warning\", onClick: onRetryClick, colors: colors.retryBtn, finished: true }, verbiage.retryText),\n React.createElement(LoaderButton, { className: classNames.submitBtn, variant: \"positive\", onClick: onSubmitClick, disabled: submissionStatus === SubmissionStatus.SUBMITTING, colors: colors.doneBtn, finished: true }, submissionStatus === SubmissionStatus.SUBMITTING\n ? verbiage.submittingText\n : verbiage.submitText)))));\n};\nvar Heading = styled.h1(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-bottom: 12px;\\n\"], [\"\\n margin-bottom: 12px;\\n\"])));\nvar ImagesContainer = styled(OverlayImageContainer)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n overflow-y: auto;\\n\"], [\"\\n overflow-y: auto;\\n\"])));\nvar ImageRow = styled(OverlayImageRow)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex-direction: column;\\n\"], [\"\\n flex-direction: column;\\n\"])));\nvar ImageCol = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n max-height: none !important;\\n\"], [\"\\n max-height: none !important;\\n\"])));\nvar ImageHeading = styled.h3(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n text-align: left;\\n margin-top: 24px;\\n margin-bottom: 8px;\\n font-size: 16px;\\n font-weight: normal;\\n\"], [\"\\n text-align: left;\\n margin-top: 24px;\\n margin-bottom: 8px;\\n font-size: 16px;\\n font-weight: normal;\\n\"])));\nvar CapturedImageWrapper = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n border: 1px solid\\n \", \";\\n border-radius: 6px;\\n padding: 4px;\\n background: white;\\n display: flex;\\n\"], [\"\\n border: 1px solid\\n \", \";\\n border-radius: 6px;\\n padding: 4px;\\n background: white;\\n display: flex;\\n\"])), function (props) {\n var _a, _b, _c;\n return (_c = (_b = (_a = props.theme.idCapture) === null || _a === void 0 ? void 0 : _a.success) === null || _b === void 0 ? void 0 : _b.imageBorderColor) !== null && _c !== void 0 ? _c : 'var(--idm-color-primary-400)';\n});\nvar StyledImage = styled(CapturedDocumentImg)(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n width: 100%;\\n border-radius: 4px;\\n\"], [\"\\n width: 100%;\\n border-radius: 4px;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n//# sourceMappingURL=IdCaptureSuccess.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useCallback, useContext, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { CameraStateContext } from './CameraProvider';\nexport var CameraVideoTag = function (_a) {\n var _b;\n var className = _a.className;\n var _c = useContext(CameraStateContext), videoRef = _c.videoRef, setVideoLoaded = _c.setVideoLoaded, onVideoUnmounted = _c.onVideoUnmounted, cameraRef = _c.cameraRef;\n useEffect(function notifyCameraProviderOfUnmount() {\n var videoElement = videoRef.current;\n if (!videoElement)\n return;\n return function () {\n onVideoUnmounted(videoElement);\n };\n }, [onVideoUnmounted, videoRef]);\n useEffect(function setVideoLoadedToFalseOnMount() {\n setVideoLoaded(false);\n }, [setVideoLoaded]);\n useEffect(function attachCameraStreamToVideoTagWhenReady() {\n var _a;\n if (videoRef.current && ((_a = cameraRef.current) === null || _a === void 0 ? void 0 : _a.stream)) {\n videoRef.current.srcObject = cameraRef.current.stream;\n }\n }, [cameraRef, videoRef]);\n var onLoadedData = useCallback(function () {\n setVideoLoaded(true);\n }, [setVideoLoaded]);\n return (React.createElement(FullscreenVideoTag, { className: className, autoPlay: true, playsInline: true, muted: true, ref: videoRef, onLoadedData: onLoadedData, \"$isRearFacing\": (_b = cameraRef.current) === null || _b === void 0 ? void 0 : _b.isRearFacing }));\n};\nexport var FullscreenVideoTag = styled.video(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n transform: \", \";\\n min-width: 100%;\\n min-height: 100%;\\n width: auto;\\n height: auto;\\n max-width: 100%;\\n max-height: 100%;\\n object-fit: cover;\\n background: black;\\n z-index: -2;\\n\"], [\"\\n transform: \", \";\\n min-width: 100%;\\n min-height: 100%;\\n width: auto;\\n height: auto;\\n max-width: 100%;\\n max-height: 100%;\\n object-fit: cover;\\n background: black;\\n z-index: -2;\\n\"])), function (props) { return (props.$isRearFacing ? '' : 'scaleX(-1)'); });\nvar templateObject_1;\n//# sourceMappingURL=CameraVideoTag.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { useEffect, useState } from 'react';\nexport function useShowSuccessScreen(skipSuccessScreen, successScreenReady, onDoneCallback) {\n var _this = this;\n var _a = useState(false), skipSuccessScreenResolvedFalse = _a[0], setSkipSuccessScreenResolvedFalse = _a[1];\n useEffect(function () {\n if (successScreenReady && skipSuccessScreen) {\n if (typeof skipSuccessScreen === 'function') {\n ;\n (function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, skipSuccessScreen()];\n case 1:\n if (_a.sent()) {\n onDoneCallback === null || onDoneCallback === void 0 ? void 0 : onDoneCallback();\n }\n else {\n setSkipSuccessScreenResolvedFalse(true);\n }\n return [2 /*return*/];\n }\n });\n }); })();\n }\n else {\n onDoneCallback === null || onDoneCallback === void 0 ? void 0 : onDoneCallback();\n }\n }\n }, [successScreenReady, onDoneCallback, skipSuccessScreen]);\n return !skipSuccessScreen || skipSuccessScreenResolvedFalse;\n}\n//# sourceMappingURL=useShowSuccessScreen.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nexport var CameraFeedWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \", \"\\n\"])), function (props) {\n return props.$mode === 'snapToGuides'\n ? \"display: flex;\\n position: absolute;\\n left: \".concat(props.$x, \"px;\\n top: \").concat(props.$y, \"px;\\n width: \").concat(props.$w, \"px;\\n height: \").concat(props.$h, \"px;\")\n : \"\";\n});\nvar templateObject_1;\n//# sourceMappingURL=CameraFeedWrapper.js.map","export function setCanvasDimensions(canvas, width, height) {\n var _a;\n var devicePixelRatio = 1;\n if (typeof window !== 'undefined')\n devicePixelRatio = window.devicePixelRatio;\n canvas.width = width * devicePixelRatio;\n canvas.height = height * devicePixelRatio;\n canvas.style.width = width + 'px';\n canvas.style.height = height + 'px';\n (_a = canvas.getContext('2d')) === null || _a === void 0 ? void 0 : _a.scale(devicePixelRatio, devicePixelRatio);\n}\nexport function resetCanvasDimensions(canvas) {\n canvas.width = 0;\n canvas.height = 0;\n canvas.style.width = '0';\n canvas.style.height = '0';\n}\n//# sourceMappingURL=canvas.js.map","import { createContext } from 'react';\nexport var GuideOrientationContext = createContext({\n orientation: 'landscape',\n wrapperWidth: 1,\n wrapperHeight: 1,\n wrapperAspectRatio: 0,\n imageAspectRatio: 0,\n wrapperRef: null,\n setDimensions: function () { return null; },\n onImageLoaded: function () { return null; },\n});\n//# sourceMappingURL=GuideOrientationContext.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useContext, useEffect, } from 'react';\nimport { GuideOrientationContext } from '../../contexts/GuideOrientationContext';\nimport { PageContainerDiv } from '../common/Page';\nimport styled, { useTheme } from 'styled-components';\nimport { useIdCaptureState } from './IdCaptureStateProvider';\nimport { isMobile } from '../../lib/utils/isMobile';\nvar StyledPageContainer = styled(PageContainerDiv)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n z-index: 1000;\\n\"], [\"\\n z-index: 1000;\\n\"])));\nexport var GuidesContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n flex-flow: column nowrap;\\n width: 100dvw;\\n height: 100dvh;\\n\"], [\"\\n display: flex;\\n flex-flow: column nowrap;\\n width: 100dvw;\\n height: 100dvh;\\n\"])));\nexport var GuideCenterRow = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n position: relative;\\n display: flex;\\n flex-flow: row nowrap;\\n align-items: center;\\n justify-items: center;\\n box-sizing: border-box;\\n max-width: 100%;\\n max-height: 100%;\\n min-height: 0;\\n flex: 1;\\n\"], [\"\\n position: relative;\\n display: flex;\\n flex-flow: row nowrap;\\n align-items: center;\\n justify-items: center;\\n box-sizing: border-box;\\n max-width: 100%;\\n max-height: 100%;\\n min-height: 0;\\n flex: 1;\\n\"])));\nexport var GuideRegion = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: column;\\n justify-content: end;\\n width: 100%;\\n position: relative;\\n z-index: 1000;\\n background: \", \";\\n color: \", \";\\n text-align: center;\\n \", \"\\n \", \"\\n\"], [\"\\n display: flex;\\n flex-direction: column;\\n justify-content: end;\\n width: 100%;\\n position: relative;\\n z-index: 1000;\\n background: \", \";\\n color: \", \";\\n text-align: center;\\n \", \"\\n \", \"\\n\"])), function (props) {\n var _a, _b, _c, _d, _e;\n return (_e = (_a = props.$maskColor) !== null && _a !== void 0 ? _a : (_d = (_c = (_b = props.theme) === null || _b === void 0 ? void 0 : _b.idCapture) === null || _c === void 0 ? void 0 : _c.guideOverlay) === null || _d === void 0 ? void 0 : _d.backgroundColor) !== null && _e !== void 0 ? _e : 'rgba(0, 0, 0, 0.5)';\n}, function (props) { var _a, _b, _c, _d; return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.guideOverlay) === null || _c === void 0 ? void 0 : _c.textColor) !== null && _d !== void 0 ? _d : 'white'; }, function (props) { return (props.$minWidth ? \"min-width: \".concat(props.$minWidth, \"px;\") : \"\"); }, function (props) { return (props.$minHeight ? \"min-height: \".concat(props.$minHeight, \"px;\") : \"\"); });\nexport var Spacer = styled(GuideRegion)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n display: block;\\n width: auto;\\n\"], [\"\\n display: block;\\n width: auto;\\n\"])));\nexport var GuideCenterRegion = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n \", \"\\n \", \"\\n box-sizing: border-box;\\n display: flex;\\n flex: 1;\\n max-height: 100%;\\n height: 100%;\\n\"], [\"\\n \", \"\\n \", \"\\n box-sizing: border-box;\\n display: flex;\\n flex: 1;\\n max-height: 100%;\\n height: 100%;\\n\"])), function (props) { return (props.$minWidth ? \"min-width: \".concat(props.$minWidth, \"px;\") : \"\"); }, function (props) { return (props.$isMirrored ? 'transform: scaleX(-1);' : ''); });\nexport var GuideCenterBorder = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n box-sizing: border-box;\\n border: \", \";\\n display: flex;\\n flex: 1;\\n justify-content: center;\\n max-height: 100%;\\n min-height: 0;\\n position: relative;\\n\"], [\"\\n box-sizing: border-box;\\n border: \", \";\\n display: flex;\\n flex: 1;\\n justify-content: center;\\n max-height: 100%;\\n min-height: 0;\\n position: relative;\\n\"])), function (props) { var _a, _b; return \"\".concat((_a = props.$borderWidth) !== null && _a !== void 0 ? _a : 4, \"px solid \").concat((_b = props.$borderColor) !== null && _b !== void 0 ? _b : 'white'); });\nexport var GuideText = styled.span(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n align-content: center;\\n margin-top: 12px;\\n margin-bottom: 12px;\\n\"], [\"\\n align-content: center;\\n margin-top: 12px;\\n margin-bottom: 12px;\\n\"])));\nexport var GuideImage = styled.img(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n position: relative;\\n z-index: 1;\\n padding: \", \"px;\\n box-sizing: border-box;\\n opacity: \", \";\\n transition: opacity 0.5s;\\n max-height: 100%;\\n max-width: 100%;\\n\"], [\"\\n position: relative;\\n z-index: 1;\\n padding: \", \"px;\\n box-sizing: border-box;\\n opacity: \", \";\\n transition: opacity 0.5s;\\n max-height: 100%;\\n max-width: 100%;\\n\"])), function (props) { return props.$padding; }, function (props) { return (props.$visible ? 1 : 0); });\nexport var IdCaptureGuideOverlay = function (_a) {\n var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n var _p = _a.classNames, classNames = _p === void 0 ? {} : _p, _q = _a.width, width = _q === void 0 ? 0 : _q, _r = _a.height, height = _r === void 0 ? 0 : _r, userSuppliedPadding = _a.padding, userSuppliedImagePadding = _a.imagePadding, _s = _a.imageVisible, imageVisible = _s === void 0 ? true : _s, borderWidth = _a.borderWidth, borderColor = _a.borderColor, maskColor = _a.maskColor, _t = _a.isMirrored, isMirrored = _t === void 0 ? false : _t, _u = _a.instruction, instruction = _u === void 0 ? '' : _u, portraitGuidesImageUrl = _a.portraitGuidesImageUrl, landscapeGuidesImageUrl = _a.landscapeGuidesImageUrl, onClick = _a.onClick;\n var _v = useContext(GuideOrientationContext), orientation = _v.orientation, wrapperRef = _v.wrapperRef, wrapperWidth = _v.wrapperWidth, wrapperHeight = _v.wrapperHeight, imageAspectRatio = _v.imageAspectRatio, wrapperAspectRatio = _v.wrapperAspectRatio, guideOrientationOnImageLoaded = _v.onImageLoaded, setDimensions = _v.setDimensions;\n var dispatch = useIdCaptureState()[1];\n function onImageLoaded(e) {\n guideOrientationOnImageLoaded(e);\n var img = e.target;\n dispatch({\n type: 'guideImageLoaded',\n payload: { width: img.naturalWidth, height: img.naturalHeight },\n });\n }\n var theme = useTheme();\n if (borderWidth === undefined)\n borderWidth = (_d = (_c = (_b = theme.idCapture) === null || _b === void 0 ? void 0 : _b.guideBox) === null || _c === void 0 ? void 0 : _c.borderWidth) !== null && _d !== void 0 ? _d : 4;\n if (width == 0)\n width = wrapperWidth;\n if (height == 0)\n height = wrapperHeight;\n useEffect(function () {\n setDimensions({ width: width, height: height });\n }, [height, setDimensions, width]);\n var padding = userSuppliedPadding !== null && userSuppliedPadding !== void 0 ? userSuppliedPadding : (isMobile()\n ? (_g = (_f = (_e = theme.idCapture) === null || _e === void 0 ? void 0 : _e.guideBox) === null || _f === void 0 ? void 0 : _f.mobilePadding) !== null && _g !== void 0 ? _g : 0\n : (_k = (_j = (_h = theme.idCapture) === null || _h === void 0 ? void 0 : _h.guideBox) === null || _j === void 0 ? void 0 : _j.desktopPadding) !== null && _k !== void 0 ? _k : 50);\n var paddingAndBorderPx = padding * 2 + borderWidth * 2;\n var imgSrc = orientation === 'portrait'\n ? portraitGuidesImageUrl\n : landscapeGuidesImageUrl;\n var imagePadding = (_o = userSuppliedImagePadding !== null && userSuppliedImagePadding !== void 0 ? userSuppliedImagePadding : (_m = (_l = theme.idCapture) === null || _l === void 0 ? void 0 : _l.guideBox) === null || _m === void 0 ? void 0 : _m.imagePadding) !== null && _o !== void 0 ? _o : 0;\n var imageWidth = undefined, imageHeight = undefined;\n if (imageAspectRatio >= wrapperAspectRatio) {\n imageWidth = wrapperWidth - paddingAndBorderPx;\n }\n else {\n imageHeight = wrapperHeight - paddingAndBorderPx;\n }\n return (React.createElement(StyledPageContainer, { ref: wrapperRef, onClick: onClick, className: classNames.container },\n React.createElement(GuidesContainer, { className: classNames.inner },\n React.createElement(GuideRegion, { \"$maskColor\": maskColor, \"$minHeight\": padding, className: regionClsx(classNames, 'Top') }, instruction !== '' && (React.createElement(GuideText, { className: classNames.guideText }, instruction))),\n React.createElement(GuideCenterRow, { className: classNames.centerRow },\n React.createElement(Spacer, { \"$maskColor\": maskColor, \"$minWidth\": padding, className: regionClsx(classNames, 'Left') }),\n React.createElement(GuideCenterRegion, { \"$minWidth\": imageWidth, \"$isMirrored\": isMirrored, className: classNames.centerRegion },\n React.createElement(GuideCenterBorder, { \"$borderWidth\": borderWidth, \"$borderColor\": borderColor, className: classNames.centerRegionInner },\n React.createElement(GuideImage, { src: imgSrc, alt: \"\", onLoad: onImageLoaded, className: classNames.image, \"$width\": imageWidth, \"$height\": imageHeight, \"$padding\": imagePadding, \"$visible\": imageVisible }))),\n React.createElement(Spacer, { \"$maskColor\": maskColor, \"$minWidth\": padding, className: regionClsx(classNames, 'Right') })),\n React.createElement(GuideRegion, { \"$maskColor\": maskColor, \"$minHeight\": padding, className: regionClsx(classNames, 'Bottom') }, instruction !== '' && (React.createElement(GuideText, { style: { opacity: 0 } }, instruction))))));\n};\nvar regionClsx = function (classNames, which) {\n return [classNames.dimmingRegion, classNames[\"dimmingRegion\".concat(which)]]\n .filter(function (v) { return v; })\n .join(' ');\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9;\n//# sourceMappingURL=IdCaptureGuideOverlay.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useContext, useEffect, useState } from 'react';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport useResizeObserver from 'use-resize-observer';\nimport { GuideOrientationContext } from '../../contexts/GuideOrientationContext';\nimport { PageContainer } from '../common/Page';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { useVerbiage } from '../../lib/locales';\nimport { GuideCenterBorder, GuideCenterRegion, GuideCenterRow, GuideImage, GuideRegion, GuidesContainer, GuideText, Spacer, } from './IdCaptureGuideOverlay';\nimport styled, { useTheme } from 'styled-components';\nimport { isMobile } from '../../lib/utils/isMobile';\nvar FlippingImage = styled(GuideImage)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n backface-visibility: hidden;\\n transform-style: preserve-3d;\\n position: absolute;\\n height: 100%;\\n top: 0;\\n left: 50%;\\n transition: transform \", \"s;\\n transform: translateX(-50%) \", \";\\n\"], [\"\\n backface-visibility: hidden;\\n transform-style: preserve-3d;\\n position: absolute;\\n height: 100%;\\n top: 0;\\n left: 50%;\\n transition: transform \", \"s;\\n transform: translateX(-50%) \", \";\\n\"])), function (props) { return props.$transitionTime; }, function (props) { return props.$transforms; });\nexport var FlipIdPrompt = function (_a) {\n var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n var userSuppliedPadding = _a.padding, userSuppliedImagePadding = _a.imagePadding, borderWidth = _a.borderWidth, borderColor = _a.borderColor, maskColor = _a.maskColor, _q = _a.assets, assets = _q === void 0 ? {} : _q, _r = _a.classNames, classNames = _r === void 0 ? {} : _r, _s = _a.verbiage, verbiage = _s === void 0 ? {} : _s;\n var _t = useResizeObserver(), ref = _t.ref, _u = _t.width, width = _u === void 0 ? 1 : _u, _v = _t.height, height = _v === void 0 ? 1 : _v;\n var cameraRef = useContext(CameraStateContext).cameraRef;\n var theme = useTheme();\n assets.frontPortraitGuidesImageUrl || (assets.frontPortraitGuidesImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Front-SVG-Portrait-2.svg\"));\n assets.frontLandscapeGuidesImageUrl || (assets.frontLandscapeGuidesImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Front-SVG-Landscape-2.svg\"));\n assets.backPortraitGuidesImageUrl || (assets.backPortraitGuidesImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Back-SVG-Portrait-2.svg\"));\n assets.backLandscapeGuidesImageUrl || (assets.backLandscapeGuidesImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Back-SVG-Landscape-2.svg\"));\n var instruction = useVerbiage(verbiage.instructionText, 'Please flip your ID card...');\n var padding = (userSuppliedPadding !== null && userSuppliedPadding !== void 0 ? userSuppliedPadding : isMobile())\n ? (_d = (_c = (_b = theme.idCapture) === null || _b === void 0 ? void 0 : _b.guideBox) === null || _c === void 0 ? void 0 : _c.mobilePadding) !== null && _d !== void 0 ? _d : 0\n : (_g = (_f = (_e = theme.idCapture) === null || _e === void 0 ? void 0 : _e.guideBox) === null || _f === void 0 ? void 0 : _f.desktopPadding) !== null && _g !== void 0 ? _g : 50;\n if (borderWidth === undefined)\n borderWidth = (_k = (_j = (_h = theme.idCapture) === null || _h === void 0 ? void 0 : _h.guideBox) === null || _j === void 0 ? void 0 : _j.borderWidth) !== null && _k !== void 0 ? _k : 4;\n var isMirrored = !((_l = cameraRef.current) === null || _l === void 0 ? void 0 : _l.isRearFacing);\n var _w = useContext(GuideOrientationContext), orientation = _w.orientation, wrapperRef = _w.wrapperRef, wrapperWidth = _w.wrapperWidth, wrapperHeight = _w.wrapperHeight, imageAspectRatio = _w.imageAspectRatio, wrapperAspectRatio = _w.wrapperAspectRatio, onImageLoaded = _w.onImageLoaded, setDimensions = _w.setDimensions;\n useEffect(function () {\n setDimensions({ width: width, height: height });\n }, [height, setDimensions, width]);\n var paddingAndBorderPx = padding * 2 + borderWidth * 2;\n var imagePadding = (_p = userSuppliedImagePadding !== null && userSuppliedImagePadding !== void 0 ? userSuppliedImagePadding : (_o = (_m = theme.idCapture) === null || _m === void 0 ? void 0 : _m.guideBox) === null || _o === void 0 ? void 0 : _o.imagePadding) !== null && _p !== void 0 ? _p : 0;\n var imageWidth = undefined, imageHeight = undefined;\n if (imageAspectRatio >= wrapperAspectRatio) {\n imageWidth = wrapperWidth - paddingAndBorderPx;\n }\n else {\n imageHeight = wrapperHeight - paddingAndBorderPx;\n }\n var _x = useState(1), transitionTime = _x[0], setTransitionTime = _x[1];\n var _y = useState(0), rotationAngle = _y[0], setRotationAngle = _y[1];\n var frontTransforms = [\"rotateY(\".concat(rotationAngle, \"deg)\")];\n if (isMirrored)\n frontTransforms.push('scaleX(-1)');\n var backTransforms = [\"rotateY(\".concat(180 - rotationAngle, \"deg)\")];\n if (isMirrored)\n backTransforms.push('scaleX(-1)');\n useEffect(function () {\n var doFlip = function () {\n setTransitionTime(1);\n setRotationAngle(180);\n setTimeout(function () {\n setTransitionTime(0);\n setRotationAngle(0);\n }, 1500);\n };\n setTimeout(doFlip, 250);\n var interval = setInterval(doFlip, 2500);\n return function () {\n clearInterval(interval);\n };\n }, []);\n return (React.createElement(PageContainer, { ref: ref, className: classNames.container },\n React.createElement(GuidesContainer, { ref: wrapperRef, className: classNames.inner },\n React.createElement(GuideRegion, { \"$minHeight\": padding, \"$maskColor\": maskColor, className: regionClsx(classNames, 'Top') }, instruction !== '' && (React.createElement(GuideText, { className: classNames.guideText }, instruction))),\n React.createElement(GuideCenterRow, { className: classNames.centerRow },\n React.createElement(Spacer, { \"$minWidth\": padding, \"$maskColor\": maskColor, className: regionClsx(classNames, 'Left') }),\n React.createElement(GuideCenterRegion, null,\n React.createElement(GuideCenterBorder, { \"$borderWidth\": borderWidth, \"$borderColor\": borderColor, className: classNames.centerRegion },\n React.createElement(FlippingImage, { src: orientation === 'portrait'\n ? assets.frontPortraitGuidesImageUrl\n : assets.frontLandscapeGuidesImageUrl, alt: \"\", className: classNames.image, \"$width\": imageWidth, \"$height\": imageHeight, \"$padding\": imagePadding, \"$transitionTime\": transitionTime, \"$transforms\": frontTransforms.join(' '), \"$visible\": true, onLoad: onImageLoaded }),\n React.createElement(FlippingImage, { src: orientation === 'portrait'\n ? assets.backPortraitGuidesImageUrl\n : assets.backLandscapeGuidesImageUrl, alt: \"\", className: classNames.image, \"$width\": imageWidth, \"$height\": imageHeight, \"$padding\": imagePadding, \"$transitionTime\": transitionTime, \"$transforms\": backTransforms.join(' '), \"$visible\": true }))),\n React.createElement(Spacer, { \"$minWidth\": padding, \"$maskColor\": maskColor, className: regionClsx(classNames, 'Right') })),\n React.createElement(GuideRegion, { \"$minHeight\": padding, \"$maskColor\": maskColor, className: regionClsx(classNames, 'Bottom') }, instruction !== '' && (React.createElement(GuideText, { style: { opacity: 0 } }, instruction))))));\n};\nvar regionClsx = function (classNames, which) {\n return [classNames.dimmingRegion, classNames[\"dimmingRegion\".concat(which)]]\n .filter(function (v) { return v; })\n .join(' ');\n};\nvar templateObject_1;\n//# sourceMappingURL=FlipIdPrompt.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useEffect, useRef } from 'react';\nimport { useIdCaptureState } from './IdCaptureStateProvider';\nimport styled, { useTheme } from 'styled-components';\nimport { resetCanvasDimensions, setCanvasDimensions, } from '../../lib/utils/canvas';\nimport useResizeObserver from 'use-resize-observer';\nimport { IdCaptureGuideOverlay, } from './IdCaptureGuideOverlay';\nimport { FlipIdPrompt } from './FlipIdPrompt';\nimport { isMobile } from '../../lib/utils/isMobile';\nexport var IdCaptureFitGuide = function (_a) {\n var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n var aspectRatio = _a.aspectRatio, maskColor = _a.maskColor, _p = _a.borderRadius, borderRadius = _p === void 0 ? 33 : _p, borderColor = _a.borderColor, borderWidth = _a.borderWidth, padding = _a.padding, imageUrl = _a.imageUrl, imageVisible = _a.imageVisible, frontImageUrl = _a.frontImageUrl, backImageUrl = _a.backImageUrl, isMirrored = _a.isMirrored, instruction = _a.instruction, _q = _a.requestingFlip, requestingFlip = _q === void 0 ? false : _q, _r = _a.classNames, classNames = _r === void 0 ? {} : _r;\n var _s = useIdCaptureState(), _t = _s[0], redrawing = _t.redrawing, guideImageWidth = _t.guideImageWidth, guideImageHeight = _t.guideImageHeight, dispatch = _s[1];\n var canvasRef = useRef(null);\n var _u = useResizeObserver(), wrapperRef = _u.ref, _v = _u.width, wrapperWidth = _v === void 0 ? 1 : _v, _w = _u.height, wrapperHeight = _w === void 0 ? 1 : _w;\n var theme = useTheme();\n if (borderWidth === undefined)\n borderWidth = (_d = (_c = (_b = theme.idCapture) === null || _b === void 0 ? void 0 : _b.guideBox) === null || _c === void 0 ? void 0 : _c.borderWidth) !== null && _d !== void 0 ? _d : 4;\n if (padding === undefined) {\n padding = isMobile()\n ? (_g = (_f = (_e = theme.idCapture) === null || _e === void 0 ? void 0 : _e.guideBox) === null || _f === void 0 ? void 0 : _f.mobilePadding) !== null && _g !== void 0 ? _g : 0\n : (_k = (_j = (_h = theme.idCapture) === null || _h === void 0 ? void 0 : _h.guideBox) === null || _j === void 0 ? void 0 : _j.desktopPadding) !== null && _k !== void 0 ? _k : 0;\n }\n if (aspectRatio === undefined && guideImageWidth !== 0) {\n aspectRatio = guideImageWidth / guideImageHeight;\n }\n if (maskColor === undefined) {\n maskColor = (_o = (_m = (_l = theme.idCapture) === null || _l === void 0 ? void 0 : _l.guideOverlay) === null || _m === void 0 ? void 0 : _m.backgroundColor) !== null && _o !== void 0 ? _o : '#708090';\n }\n useEffect(function () {\n var canvas = canvasRef.current;\n if (!canvas)\n return;\n if (redrawing) {\n resetCanvasDimensions(canvas);\n setTimeout(function () {\n dispatch({ type: 'redrawInProgress' });\n }, 10);\n return;\n }\n var boundingWidth = wrapperWidth - padding * 2 - borderWidth * 2;\n var boundingHeight = wrapperHeight - padding * 2 - borderWidth * 2;\n var _a = [\n padding + borderWidth,\n padding + borderWidth,\n boundingWidth,\n boundingHeight,\n ], rectX = _a[0], rectY = _a[1], rectWidth = _a[2], rectHeight = _a[3];\n if (aspectRatio !== undefined) {\n var scaledWidth = boundingHeight * aspectRatio;\n var scaledHeight = boundingWidth / aspectRatio;\n if (scaledWidth < boundingWidth) {\n rectWidth = scaledWidth;\n rectX += (boundingWidth - rectWidth) / 2;\n }\n else {\n rectHeight = scaledHeight;\n rectY += (boundingHeight - rectHeight) / 2;\n }\n }\n setCanvasDimensions(canvas, wrapperWidth, wrapperHeight);\n var ctx = canvas.getContext('2d');\n if (!ctx)\n return;\n ctx.fillStyle = maskColor;\n ctx.clearRect(0, 0, wrapperWidth, wrapperHeight);\n ctx.fillRect(0, 0, wrapperWidth, wrapperHeight);\n // const radius = Math.min(wrapperWidth, wrapperHeight) / 2 - padding!\n ctx.beginPath();\n // ctx.arc(wrapperWidth / 2, wrapperHeight / 2, radius, 0, Math.PI * 2, true) // Hole anticlockwise\n ctx.roundRect(rectX, rectY, rectWidth, rectHeight, borderRadius);\n ctx.lineWidth = borderWidth;\n ctx.strokeStyle = borderColor !== null && borderColor !== void 0 ? borderColor : 'white';\n if (borderColor === null || borderColor === void 0 ? void 0 : borderColor.startsWith('var(')) {\n ctx.strokeStyle = getComputedStyle(document.documentElement).getPropertyValue(borderColor.slice(4, -1));\n }\n ctx.stroke();\n // make alpha solid (the color doesn't matter)\n ctx.fillStyle = 'rgba(0,0,0,1)';\n // change composite mode and fill\n ctx.globalCompositeOperation = 'destination-out';\n ctx.fill();\n // reset composite mode to default\n ctx.globalCompositeOperation = 'source-over';\n var rectOffsetTop = canvas.offsetTop;\n dispatch({\n type: 'redrawCompleted',\n payload: {\n guideRectX: rectX,\n guideRectY: rectY,\n guideRectWidth: rectWidth,\n guideRectHeight: rectHeight,\n guideRectOffsetTop: rectOffsetTop,\n },\n });\n }, [\n aspectRatio,\n borderColor,\n borderRadius,\n borderWidth,\n dispatch,\n maskColor,\n padding,\n redrawing,\n wrapperHeight,\n wrapperWidth,\n ]);\n return (React.createElement(React.Fragment, null,\n React.createElement(CanvasWrapper, { ref: wrapperRef, \"$maskColor\": maskColor, className: classNames.canvasWrapper },\n React.createElement(Canvas, { ref: canvasRef, className: classNames.canvas })),\n requestingFlip ? (React.createElement(FlipIdPrompt, { maskColor: \"transparent\", borderWidth: 0, \n // instruction={instruction}\n classNames: classNames, assets: {\n frontLandscapeGuidesImageUrl: frontImageUrl,\n backLandscapeGuidesImageUrl: backImageUrl,\n } })) : (React.createElement(IdCaptureGuideOverlay, { landscapeGuidesImageUrl: imageUrl, maskColor: \"transparent\", borderWidth: 0, isMirrored: isMirrored, instruction: instruction, classNames: classNames, imageVisible: imageVisible }))));\n};\nvar CanvasWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n flex-grow: 1;\\n background-clip: padding-box;\\n box-shadow: inset 0 0 0 2px \", \";\\n z-index: -1;\\n\"], [\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n flex-grow: 1;\\n background-clip: padding-box;\\n box-shadow: inset 0 0 0 2px \", \";\\n z-index: -1;\\n\"])), function (props) { return props.$maskColor; });\nvar Canvas = styled.canvas(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: block;\\n\"], [\"\\n display: block;\\n\"])));\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=IdCaptureFitGuide.js.map","import { IdCaptureFitGuide, } from './IdCaptureFitGuide';\nimport { useIdCaptureState } from './IdCaptureStateProvider';\nimport React, { useContext } from 'react';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { useTranslations } from '../../lib/locales';\nimport { IdCaptureGuideOverlay } from './IdCaptureGuideOverlay';\nexport function IdCaptureGuides(_a) {\n var _b, _c;\n var _d = _a.guideType, guideType = _d === void 0 ? 'fit' : _d, _e = _a.portraitGuidesOnMobile, portraitGuidesOnMobile = _e === void 0 ? true : _e, _f = _a.requestingFlip, requestingFlip = _f === void 0 ? false : _f, _g = _a.isBackToFront, isBackToFront = _g === void 0 ? false : _g, _h = _a.flipIdPromptAssets, flipIdPromptAssets = _h === void 0 ? {} : _h, _j = _a.classNames, classNames = _j === void 0 ? {} : _j, _k = _a.assets, assets = _k === void 0 ? {} : _k, _l = _a.colors, colors = _l === void 0 ? {} : _l, _m = _a.verbiage, rawVerbiage = _m === void 0 ? {} : _m;\n var state = useIdCaptureState()[0];\n var cameraRef = useContext(CameraStateContext).cameraRef;\n var verbiage = useTranslations(rawVerbiage, {\n instructionText: 'Scan the front of ID',\n capturingText: 'Capturing...',\n captureFailedText: 'Capture failed!',\n });\n var isMobile = window.innerWidth < window.innerHeight;\n var frontImageUrl = portraitGuidesOnMobile && isMobile\n ? flipIdPromptAssets === null || flipIdPromptAssets === void 0 ? void 0 : flipIdPromptAssets.frontPortraitGuidesImageUrl\n : flipIdPromptAssets === null || flipIdPromptAssets === void 0 ? void 0 : flipIdPromptAssets.frontLandscapeGuidesImageUrl;\n var backImageUrl = portraitGuidesOnMobile && isMobile\n ? flipIdPromptAssets === null || flipIdPromptAssets === void 0 ? void 0 : flipIdPromptAssets.backPortraitGuidesImageUrl\n : flipIdPromptAssets === null || flipIdPromptAssets === void 0 ? void 0 : flipIdPromptAssets.backLandscapeGuidesImageUrl;\n if (isBackToFront) {\n var temp = frontImageUrl;\n frontImageUrl = backImageUrl;\n backImageUrl = temp;\n }\n return (React.createElement(React.Fragment, null,\n guideType === 'overlay' && (React.createElement(IdCaptureGuideOverlay, { classNames: classNames, width: state.pageWidth, height: state.pageHeight, instruction: state.captureFailed\n ? verbiage.captureFailedText\n : state.capturing\n ? verbiage === null || verbiage === void 0 ? void 0 : verbiage.capturingText\n : verbiage.instructionText, portraitGuidesImageUrl: assets.portraitGuidesImageUrl, landscapeGuidesImageUrl: assets.landscapeGuidesImageUrl, isMirrored: !((_b = cameraRef.current) === null || _b === void 0 ? void 0 : _b.isRearFacing), borderColor: state.isGoodFrame\n ? colors.guideBoxSatisfiedColor\n : colors.guideBoxUnsatisfiedColor, imageVisible: requestingFlip ||\n !state.idCardFrontDetectionThresholdMet ||\n !state.documentInBounds ||\n state.documentTooClose })),\n guideType === 'fit' && (React.createElement(IdCaptureFitGuide, { classNames: classNames, requestingFlip: requestingFlip, instruction: state.captureFailed\n ? verbiage.captureFailedText\n : state.capturing\n ? verbiage === null || verbiage === void 0 ? void 0 : verbiage.capturingText\n : verbiage.instructionText, imageUrl: portraitGuidesOnMobile && isMobile\n ? assets === null || assets === void 0 ? void 0 : assets.portraitGuidesImageUrl\n : assets === null || assets === void 0 ? void 0 : assets.landscapeGuidesImageUrl, frontImageUrl: frontImageUrl, backImageUrl: backImageUrl, isMirrored: !((_c = cameraRef.current) === null || _c === void 0 ? void 0 : _c.isRearFacing), borderColor: state.isGoodFrame\n ? colors.guideBoxSatisfiedColor\n : colors.guideBoxUnsatisfiedColor, imageVisible: requestingFlip ||\n !state.detectionThresholdMet ||\n !state.documentInBounds ||\n state.documentTooClose ||\n state.backDetectedFirst ||\n state.flipRequired }))));\n}\n//# sourceMappingURL=IdCaptureGuides.js.map","import { __makeTemplateObject } from \"tslib\";\nimport { Spinner } from './spinner';\nimport styled from 'styled-components';\nimport React, { useRef, useState } from 'react';\nimport { error } from '../../lib/utils/logger';\nexport var IdCaptureImagePreview = function (_a) {\n var _b = _a.classNames, classNames = _b === void 0 ? {} : _b, text = _a.text, imageUrl = _a.imageUrl;\n var imageRef = useRef(null);\n var _c = useState(false), loaded = _c[0], setLoaded = _c[1];\n var _d = useState(0), aspectRatio = _d[0], setAspectRatio = _d[1];\n function onLoad() {\n var aspectRatio = imageRef.current.naturalWidth / imageRef.current.naturalHeight;\n setAspectRatio(aspectRatio);\n setLoaded(true);\n }\n function onError() {\n error('failed to load image from url', imageUrl);\n }\n return (React.createElement(ImagePreviewWrapper, { className: classNames.container, style: { opacity: loaded ? 1 : 0 } },\n text && (React.createElement(ImagePreviewText, { className: classNames.text }, text)),\n React.createElement(ImagePreviewImageWrapper, { className: classNames.imageContainer, style: { aspectRatio: aspectRatio } },\n React.createElement(\"img\", { ref: imageRef, src: imageUrl, alt: \"\", className: classNames.image, onLoad: onLoad, onError: onError }))));\n};\nexport var SelfieProgressPreview = function (_a) {\n var _b = _a.classNames, classNames = _b === void 0 ? {} : _b, text = _a.text, imageUrl = _a.imageUrl;\n var imageRef = useRef(null);\n var _c = useState(false), loaded = _c[0], setLoaded = _c[1];\n var _d = useState(0), aspectRatio = _d[0], setAspectRatio = _d[1];\n function onLoad() {\n var aspectRatio = imageRef.current.naturalWidth / imageRef.current.naturalHeight;\n setAspectRatio(aspectRatio);\n setLoaded(true);\n }\n function onError() {\n error('failed to load image from url', imageUrl);\n }\n return (React.createElement(ImagePreviewWrapper, { className: classNames.container, style: { aspectRatio: aspectRatio, opacity: loaded ? 1 : 0 } },\n React.createElement(ImagePreviewText, { className: classNames.text },\n React.createElement(StyledSpinner, { className: classNames.spinner, \"$size\": 24, \"$color\": \"white\", \"$thickness\": 3 }),\n text),\n React.createElement(ImagePreviewImageWrapper, { className: classNames.imageContainer },\n React.createElement(\"img\", { ref: imageRef, src: imageUrl, alt: \"\", className: classNames.image, onLoad: onLoad, onError: onError }))));\n};\nvar StyledSpinner = styled(Spinner)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: relative;\\n top: 4px;\\n left: -3px;\\n margin: 0 3px 0 -12px;\\n\"], [\"\\n position: relative;\\n top: 4px;\\n left: -3px;\\n margin: 0 3px 0 -12px;\\n\"])));\nvar ImagePreviewWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\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\"])));\nvar ImagePreviewText = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\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\"])));\nvar ImagePreviewImageWrapper = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\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\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n//# sourceMappingURL=SelfieProgressPreview.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport React, { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useReducer, } from 'react';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { drawToCanvas } from '../common/InvisibleCanvas';\nimport { SubmissionContext } from '../submission/SubmissionProvider';\nexport var documentCaptureInitialState = {\n documents: [],\n currentDocumentIndex: 0,\n initialDrawComplete: false,\n redrawing: false,\n capturing: false,\n rectX: 0,\n rectY: 0,\n rectWidth: 0,\n rectHeight: 0,\n rectOffsetTop: 0,\n uploadCapturedDocument: function () { return Promise.resolve(); },\n};\nexport var DocumentCaptureStateContext = createContext(documentCaptureInitialState);\nexport var DocumentCaptureDispatchContext = createContext(function () { });\nexport var documentCaptureStateReducer = function (state, action) {\n var _a, _b, _c, _d, _e;\n switch (action.type) {\n case 'setDocuments':\n return __assign(__assign({}, state), { documents: action.payload, currentDocumentIndex: 0 });\n case 'setHooks':\n return __assign(__assign({}, state), action.payload);\n case 'redrawRequested':\n return __assign(__assign({}, state), { redrawing: true, rectX: 0, rectY: 0, rectWidth: 0, rectHeight: 0, rectOffsetTop: 0 });\n case 'redrawInProgress':\n return __assign(__assign({}, state), { redrawing: false, rectX: 0, rectY: 0, rectWidth: 0, rectHeight: 0, rectOffsetTop: 0 });\n case 'redrawCompleted':\n return __assign(__assign(__assign({}, state), action.payload), { initialDrawComplete: true });\n case 'captureRequested':\n return __assign(__assign({}, state), { capturing: true });\n case 'captureCompleted': {\n var newState = __assign(__assign({}, state), { capturing: false });\n var index = state.currentDocumentIndex;\n newState.documents[index].content = action.payload.content;\n newState.documents[index].contentUrl = action.payload.contentUrl;\n (_a = state.onDocumentCaptured) === null || _a === void 0 ? void 0 : _a.call(state, newState.documents[index]);\n return newState;\n }\n case 'retryCapture': {\n var newState = __assign({}, state);\n var index = state.currentDocumentIndex;\n newState.documents[index].content = undefined;\n newState.documents[index].contentUrl = undefined;\n return newState;\n }\n case 'uploadStarted': {\n var newState = __assign({}, state);\n var index = state.currentDocumentIndex;\n newState.documents[index].uploadState = 'in_progress';\n return newState;\n }\n case 'uploadCompleted': {\n var newState = __assign({}, state);\n var index = state.currentDocumentIndex;\n newState.documents[index].documentId = action.payload.documentId;\n newState.documents[index].uploadState = 'succeeded';\n (_c = (_b = newState.documents[index]).onUploaded) === null || _c === void 0 ? void 0 : _c.call(_b, newState.documents[index]);\n (_d = state.onDocumentUploaded) === null || _d === void 0 ? void 0 : _d.call(state, newState.documents[index]);\n if (state.documents.length - 1 > index) {\n newState.currentDocumentIndex += 1;\n }\n else {\n (_e = state.onAllDocumentsUploaded) === null || _e === void 0 ? void 0 : _e.call(state, newState.documents);\n }\n return newState;\n }\n case 'uploadFailed': {\n var newState = __assign({}, state);\n var index = state.currentDocumentIndex;\n newState.documents[index].uploadState = 'failed';\n return newState;\n }\n default:\n return state;\n }\n};\nexport var DocumentCaptureStateProvider = function (_a) {\n var _b = _a.documents, documents = _b === void 0 ? [] : _b, aspectRatio = _a.aspectRatio, cameraFeedMode = _a.cameraFeedMode, instructions = _a.instructions, onDocumentCaptured = _a.onDocumentCaptured, onDocumentUploaded = _a.onDocumentUploaded, onAllDocumentsUploaded = _a.onAllDocumentsUploaded, children = _a.children;\n var _c = useReducer(documentCaptureStateReducer, documentCaptureInitialState), state = _c[0], dispatch = _c[1];\n var _d = useContext(CameraStateContext), cameraRef = _d.cameraRef, videoRef = _d.videoRef;\n var uploadDocument = useContext(SubmissionContext).uploadDocument;\n var uploadCapturedDocument = useCallback(function (content, filetype) { return __awaiter(void 0, void 0, void 0, function () {\n var documentId_1, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n dispatch({ type: 'uploadStarted' });\n return [4 /*yield*/, uploadDocument(content, { filetype: filetype })];\n case 1:\n documentId_1 = _a.sent();\n setTimeout(function () {\n dispatch({ type: 'uploadCompleted', payload: { documentId: documentId_1 } });\n }, 0);\n return [3 /*break*/, 3];\n case 2:\n e_1 = _a.sent();\n dispatch({ type: 'uploadFailed' });\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n }); }, [uploadDocument]);\n useEffect(function () {\n var resolvedDocuments = (documents === null || documents === void 0 ? void 0 : documents.length)\n ? documents.map(function (d) { return (__assign(__assign({ title: 'Document Capture', aspectRatio: aspectRatio, cameraFeedMode: 'snapToGuides', instructions: instructions }, d), { uploadState: 'not_started' })); })\n : [\n {\n title: 'Document Capture',\n aspectRatio: aspectRatio,\n cameraFeedMode: cameraFeedMode !== null && cameraFeedMode !== void 0 ? cameraFeedMode : 'snapToGuides',\n instructions: instructions,\n uploadState: 'not_started',\n },\n ];\n dispatch({ type: 'setDocuments', payload: resolvedDocuments });\n resolvedDocuments.forEach(function (d) {\n if (d.content) {\n d.contentUrl || (d.contentUrl = URL.createObjectURL(d.content));\n uploadCapturedDocument(d.content, d.content.type);\n }\n });\n }, [\n aspectRatio,\n cameraFeedMode,\n documents,\n instructions,\n uploadCapturedDocument,\n ]);\n useEffect(function () {\n dispatch({\n type: 'setHooks',\n payload: {\n onDocumentCaptured: onDocumentCaptured,\n onDocumentUploaded: onDocumentUploaded,\n onAllDocumentsUploaded: onAllDocumentsUploaded,\n },\n });\n }, [onDocumentCaptured, onAllDocumentsUploaded, onDocumentUploaded]);\n var onResize = useDebouncedCallback(function () {\n dispatch({ type: 'redrawRequested' });\n }, 500);\n useLayoutEffect(function () {\n if (typeof window === 'undefined')\n return;\n window.addEventListener('resize', onResize);\n return function () {\n window.removeEventListener('resize', onResize);\n };\n }, [onResize]);\n var videoTag = videoRef.current;\n useEffect(function () {\n if (!state.capturing)\n return;\n if (!cameraRef.current)\n return;\n function onComplete(content) {\n if (!content)\n return;\n var contentUrl = URL.createObjectURL(content);\n dispatch({\n type: 'captureCompleted',\n payload: { content: content, contentUrl: contentUrl },\n });\n }\n if (typeof ImageCapture !== 'undefined') {\n var tracks = cameraRef.current.stream.getTracks();\n var videoCameraTrack = tracks.find(function (track) {\n return track.kind === 'video';\n });\n if (videoCameraTrack) {\n var imageCapture = new ImageCapture(videoCameraTrack);\n imageCapture\n .takePhoto()\n .then(onComplete)\n .catch(function () { });\n }\n else {\n throw new Error('Failed to find a video feed for taking a photo');\n }\n }\n else if (videoTag) {\n var canvas = document.createElement('canvas');\n drawToCanvas(canvas, videoTag);\n canvas.toBlob(onComplete);\n }\n }, [cameraRef, state.capturing, videoTag]);\n var stateWithActions = useMemo(function () { return (__assign(__assign({}, state), { uploadCapturedDocument: uploadCapturedDocument })); }, [state, uploadCapturedDocument]);\n return (React.createElement(DocumentCaptureStateContext.Provider, { value: stateWithActions },\n React.createElement(DocumentCaptureDispatchContext.Provider, { value: dispatch }, children)));\n};\nexport var useDocumentCaptureState = function () {\n var state = useContext(DocumentCaptureStateContext);\n var dispatch = useContext(DocumentCaptureDispatchContext);\n if (!state || !dispatch)\n throw new Error('useDocumentCaptureState cannot be used without DocumentCaptureStateProvider');\n return [state, dispatch];\n};\n//# sourceMappingURL=DocumentCaptureStateProvider.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useEffect, useRef } from 'react';\nimport styled, { useTheme } from 'styled-components';\nimport useResizeObserver from 'use-resize-observer';\nimport { useDocumentCaptureState } from './DocumentCaptureStateProvider';\nimport { resetCanvasDimensions, setCanvasDimensions, } from '../../lib/utils/canvas';\nimport { isMobile } from '../../lib/utils/isMobile';\nexport var DocumentCaptureGuideOverlay = function (_a) {\n var _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var aspectRatio = _a.aspectRatio, _l = _a.borderRadius, borderRadius = _l === void 0 ? 25 : _l, borderColor = _a.borderColor, borderWidth = _a.borderWidth, maskColor = _a.maskColor, padding = _a.padding, _m = _a.classNames, classNames = _m === void 0 ? {} : _m;\n var _o = useResizeObserver(), wrapperRef = _o.ref, _p = _o.width, wrapperWidth = _p === void 0 ? 1 : _p, _q = _o.height, wrapperHeight = _q === void 0 ? 1 : _q;\n var _r = useDocumentCaptureState(), redrawing = _r[0].redrawing, dispatch = _r[1];\n var canvasRef = useRef(null);\n var theme = useTheme();\n if (borderWidth === undefined)\n borderWidth = (_d = (_c = (_b = theme.documentCapture) === null || _b === void 0 ? void 0 : _b.guideBox) === null || _c === void 0 ? void 0 : _c.borderWidth) !== null && _d !== void 0 ? _d : 4;\n if (padding === undefined) {\n padding = isMobile()\n ? (_g = (_f = (_e = theme.documentCapture) === null || _e === void 0 ? void 0 : _e.guideBox) === null || _f === void 0 ? void 0 : _f.mobilePadding) !== null && _g !== void 0 ? _g : 0\n : (_k = (_j = (_h = theme.documentCapture) === null || _h === void 0 ? void 0 : _h.guideBox) === null || _j === void 0 ? void 0 : _j.desktopPadding) !== null && _k !== void 0 ? _k : 0;\n }\n useEffect(function () {\n var canvas = canvasRef.current;\n if (!canvas)\n return;\n if (redrawing) {\n resetCanvasDimensions(canvas);\n setTimeout(function () {\n dispatch({ type: 'redrawInProgress' });\n }, 10);\n return;\n }\n var boundingWidth = wrapperWidth - padding * 2 - borderWidth * 2;\n var boundingHeight = wrapperHeight - padding * 2 - borderWidth * 2;\n var _a = [\n padding + borderWidth,\n padding + borderWidth,\n boundingWidth,\n boundingHeight,\n ], rectX = _a[0], rectY = _a[1], rectWidth = _a[2], rectHeight = _a[3];\n if (aspectRatio !== undefined) {\n var scaledWidth = boundingHeight * aspectRatio;\n var scaledHeight = boundingWidth / aspectRatio;\n if (scaledWidth < boundingWidth) {\n rectWidth = scaledWidth;\n rectX += (boundingWidth - rectWidth) / 2;\n }\n else {\n rectHeight = scaledHeight;\n rectY += (boundingHeight - rectHeight) / 2;\n }\n }\n setCanvasDimensions(canvas, wrapperWidth, wrapperHeight);\n var ctx = canvas.getContext('2d');\n if (!ctx)\n return;\n ctx.fillStyle = maskColor;\n ctx.clearRect(0, 0, wrapperWidth, wrapperHeight);\n ctx.fillRect(0, 0, wrapperWidth, wrapperHeight);\n // const radius = Math.min(wrapperWidth, wrapperHeight) / 2 - padding!\n ctx.beginPath();\n // ctx.arc(wrapperWidth / 2, wrapperHeight / 2, radius, 0, Math.PI * 2, true) // Hole anticlockwise\n ctx.roundRect(rectX, rectY, rectWidth, rectHeight, borderRadius);\n ctx.lineWidth = borderWidth;\n ctx.strokeStyle = borderColor !== null && borderColor !== void 0 ? borderColor : 'white';\n ctx.stroke();\n // make alpha solid (the color doesn't matter)\n ctx.fillStyle = 'rgba(0,0,0,1)';\n // change composite mode and fill\n ctx.globalCompositeOperation = 'destination-out';\n ctx.fill();\n // reset composite mode to default\n ctx.globalCompositeOperation = 'source-over';\n var rectOffsetTop = canvas.offsetTop;\n dispatch({\n type: 'redrawCompleted',\n payload: { rectX: rectX, rectY: rectY, rectWidth: rectWidth, rectHeight: rectHeight, rectOffsetTop: rectOffsetTop },\n });\n }, [\n aspectRatio,\n borderColor,\n borderRadius,\n borderWidth,\n dispatch,\n maskColor,\n padding,\n redrawing,\n wrapperHeight,\n wrapperWidth,\n ]);\n return (React.createElement(CanvasWrapper, { ref: wrapperRef, className: classNames.container, \"$maskColor\": maskColor },\n React.createElement(Canvas, { ref: canvasRef })));\n};\nvar CanvasWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex-grow: 1;\\n background-clip: padding-box;\\n box-shadow: inset 0 0 0 2px \", \";\\n\"], [\"\\n flex-grow: 1;\\n background-clip: padding-box;\\n box-shadow: inset 0 0 0 2px \", \";\\n\"])), function (props) { return props.$maskColor; });\nvar Canvas = styled.canvas(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: block;\\n\"], [\"\\n display: block;\\n\"])));\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=DocumentCaptureGuideOverlay.js.map","import { __awaiter, __generator, __makeTemplateObject } from \"tslib\";\nimport React, { useContext, useEffect, useState } from 'react';\nimport { CameraVideoTag } from '../camera/CameraVideoTag';\nimport { DocumentCaptureGuideOverlay } from './DocumentCaptureGuideOverlay';\nimport { ButtonsRow } from '../common/ButtonsRow';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { PageContainer } from '../common/Page';\nimport { useDocumentCaptureState } from './DocumentCaptureStateProvider';\nimport styled, { useTheme } from 'styled-components';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { CameraFeedWrapper } from '../../lib/camera/CameraFeedWrapper';\nimport { useTranslations } from '../../lib/locales';\nexport var DocumentCaptureScreen = function (_a) {\n var _b, _c, _d, _e, _f, _g, _h;\n var onCaptureClicked = _a.onCaptureClicked, _j = _a.classNames, classNames = _j === void 0 ? {} : _j, _k = _a.verbiage, rawVerbiage = _k === void 0 ? {} : _k;\n var _l = useDocumentCaptureState(), _m = _l[0], documents = _m.documents, currentDocumentIndex = _m.currentDocumentIndex, rectX = _m.rectX, rectY = _m.rectY, rectWidth = _m.rectWidth, rectHeight = _m.rectHeight, rectOffsetTop = _m.rectOffsetTop, capturing = _m.capturing, uploadCapturedDocument = _m.uploadCapturedDocument, dispatch = _l[1];\n var _o = (_b = documents[currentDocumentIndex]) !== null && _b !== void 0 ? _b : {}, title = _o.title, aspectRatio = _o.aspectRatio, cameraFeedMode = _o.cameraFeedMode, instructions = _o.instructions, contentUrl = _o.contentUrl, content = _o.content, uploadState = _o.uploadState;\n var _p = useContext(CameraStateContext), cameraRef = _p.cameraRef, cameraReady = _p.cameraReady, cameraAccessDenied = _p.cameraAccessDenied, requestCameraAccess = _p.requestCameraAccess;\n var _q = useState(false), cameraAccessRequested = _q[0], setCameraAccessRequested = _q[1];\n var cameraAccessNeeded = // we should force the browser to ask for camera access if...\n uploadState === 'not_started' && // we aren't in the middle of uploading a document...\n !content && // and the user hasn't passed a media blob for the current document...\n !cameraAccessRequested && // and we haven't already tried to force a camera request...\n !((_d = (_c = cameraRef.current) === null || _c === void 0 ? void 0 : _c.stream) === null || _d === void 0 ? void 0 : _d.active); // and we don't already have camera access.\n useEffect(function requestCameraAccessIfNeeded() {\n if (!cameraAccessNeeded)\n return;\n setCameraAccessRequested(true);\n requestCameraAccess();\n }, [cameraAccessNeeded, requestCameraAccess]);\n var theme = useTheme();\n var maskColor = (_g = (_f = (_e = theme.documentCapture) === null || _e === void 0 ? void 0 : _e.guideBox) === null || _f === void 0 ? void 0 : _f.maskColor) !== null && _g !== void 0 ? _g : (cameraFeedMode === 'snapToGuides' ? '#708090' : \"rgba(0, 0, 0, 0.5)\");\n var verbiage = useTranslations(rawVerbiage, {\n headingText: title,\n loadingBtnText: 'Camera initializing...',\n retryCameraAccessBtnText: 'Retry',\n captureBtnText: 'Capture',\n capturingBtnText: 'Capturing...',\n retryCaptureBtnText: 'Retry capture',\n uploadBtnText: 'Upload',\n uploadingBtnText: 'Uploading...',\n retryUploadBtnText: 'Retry',\n successBtnText: 'Upload succeeded!',\n });\n function onCaptureClick() {\n dispatch({ type: 'captureRequested' });\n onCaptureClicked === null || onCaptureClicked === void 0 ? void 0 : onCaptureClicked();\n }\n function onSubmitClick() {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, uploadCapturedDocument(content, 'image/jpeg')];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n }\n return (React.createElement(PageContainer, { className: \"flex \".concat((_h = classNames.container) !== null && _h !== void 0 ? _h : '') },\n React.createElement(CameraFeedWrapper, { className: classNames.cameraFeedWrapper, \"$mode\": cameraFeedMode !== null && cameraFeedMode !== void 0 ? cameraFeedMode : 'snapToGuides', \"$x\": rectX, \"$y\": rectY + rectOffsetTop, \"$w\": rectWidth, \"$h\": rectHeight }, contentUrl ? (React.createElement(PreviewImage, { alt: \"\", src: contentUrl, className: classNames.previewImage })) : (React.createElement(CameraVideoTag, { className: classNames.cameraFeed }))),\n React.createElement(CaptureContainer, { className: classNames.captureContainer },\n React.createElement(HeadingRow, { \"$maskColor\": maskColor, className: classNames.headingRow },\n React.createElement(Heading, { className: classNames.heading }, verbiage.headingText)),\n React.createElement(DocumentCaptureGuideOverlay, { aspectRatio: aspectRatio, classNames: classNames, maskColor: maskColor }),\n React.createElement(FooterRow, { \"$maskColor\": maskColor, className: classNames.footerRow },\n instructions && (React.createElement(Instructions, { className: classNames.instructions }, instructions)),\n React.createElement(StyledButtonsRow, { className: classNames.buttonsRow }, cameraAccessDenied ? (React.createElement(LoaderButton, { className: classNames.retryCameraAccessBtn, variant: \"negative\", finished: true, onClick: requestCameraAccess }, verbiage.retryCameraAccessBtnText)) : contentUrl ? (React.createElement(React.Fragment, null, uploadState === 'not_started' ? (React.createElement(React.Fragment, null,\n React.createElement(LoaderButton, { className: classNames.retryCaptureBtn, finished: true, variant: \"warning\", onClick: function () {\n dispatch({ type: 'retryCapture' });\n } }, verbiage.retryCaptureBtnText),\n React.createElement(LoaderButton, { className: classNames.uploadBtn, finished: true, variant: \"positive\", onClick: onSubmitClick }, verbiage.uploadBtnText))) : (React.createElement(LoaderButton, { className: classNames.uploadProgressBtn, finished: uploadState !== 'in_progress', variant: uploadState === 'failed' ? 'negative' : 'positive', onClick: onSubmitClick, disabled: ['in_progress', 'succeeded'].includes(uploadState !== null && uploadState !== void 0 ? uploadState : '') }, uploadState === 'succeeded'\n ? verbiage.successBtnText\n : uploadState === 'failed'\n ? verbiage.retryUploadBtnText\n : verbiage.uploadingBtnText)))) : (React.createElement(LoaderButton, { className: classNames.captureBtn, finished: cameraReady, variant: \"primary\", onClick: onCaptureClick, disabled: !cameraReady || capturing }, !cameraReady\n ? verbiage.loadingBtnText\n : capturing\n ? verbiage.capturingBtnText\n : verbiage.captureBtnText)))))));\n};\nvar CaptureContainer = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: column;\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: var(--app-height);\\n\"], [\"\\n display: flex;\\n flex-direction: column;\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: var(--app-height);\\n\"])));\nvar HeadingRow = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n background: \", \";\\n text-align: center;\\n color: white;\\n\"], [\"\\n background: \", \";\\n text-align: center;\\n color: white;\\n\"])), function (props) { return props.$maskColor; });\nvar Heading = styled.h1(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-size: 22px;\\n\"], [\"\\n font-size: 22px;\\n\"])));\nvar FooterRow = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n background: \", \";\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n padding: 0 20px 20px;\\n height: auto;\\n color: white;\\n\"], [\"\\n background: \", \";\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n padding: 0 20px 20px;\\n height: auto;\\n color: white;\\n\"])), function (props) { return props.$maskColor; });\nvar Instructions = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n max-height: \", \";\\n overflow-y: auto;\\n\"], [\"\\n max-height: \", \";\\n overflow-y: auto;\\n\"])), function (props) { var _a, _b, _c; return (_c = (_b = (_a = props.theme.documentCapture) === null || _a === void 0 ? void 0 : _a.instructions) === null || _b === void 0 ? void 0 : _b.maxHeight) !== null && _c !== void 0 ? _c : '8rem'; });\nvar StyledButtonsRow = styled(ButtonsRow)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n padding-top: 20px;\\n\"], [\"\\n padding-top: 20px;\\n\"])));\nvar PreviewImage = styled.img(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n width: 100%;\\n height: 100%;\\n object-fit: cover;\\n\"], [\"\\n width: 100%;\\n height: 100%;\\n object-fit: cover;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n//# sourceMappingURL=DocumentCaptureScreen.js.map","import React from 'react';\nimport { DocumentCaptureScreen, } from './DocumentCaptureScreen';\nimport { DocumentCaptureStateProvider, } from './DocumentCaptureStateProvider';\nexport var DocumentCaptureWizard = function (_a) {\n var onSuccess = _a.onSuccess, onDocumentCaptured = _a.onDocumentCaptured, onDocumentUploaded = _a.onDocumentUploaded, \n // TODO: onExitCapture, onUserCancel\n _b = _a.documents, \n // TODO: onExitCapture, onUserCancel\n documents = _b === void 0 ? [] : _b, aspectRatio = _a.aspectRatio, cameraFeedMode = _a.cameraFeedMode, instructions = _a.instructions, _c = _a.classNames, classNames = _c === void 0 ? {} : _c, _d = _a.verbiage, verbiage = _d === void 0 ? {} : _d;\n return (React.createElement(DocumentCaptureStateProvider, { documents: documents, aspectRatio: aspectRatio, cameraFeedMode: cameraFeedMode, instructions: instructions, onDocumentCaptured: onDocumentCaptured, onDocumentUploaded: onDocumentUploaded, onAllDocumentsUploaded: onSuccess },\n React.createElement(DocumentCaptureScreen, { classNames: classNames, verbiage: verbiage })));\n};\n//# sourceMappingURL=DocumentCaptureWizard.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { useCallback, useEffect, useState } from 'react';\nexport function useFileState() {\n var _a = useState(), file = _a[0], setFile = _a[1];\n var fileInputOnChange = useCallback(function (e) {\n var _a, _b;\n setFile((_b = (_a = e.currentTarget) === null || _a === void 0 ? void 0 : _a.files) === null || _b === void 0 ? void 0 : _b[0]);\n }, [setFile]);\n return {\n rawFile: file,\n fileInputOnChange: fileInputOnChange,\n };\n}\nexport function useFileDataUrl(file) {\n var _a = useState(), url = _a[0], setUrl = _a[1];\n useEffect(function () {\n if (!file)\n return;\n var aborted = false;\n var reader = new FileReader();\n reader.onload = function () { return !aborted && setUrl(reader.result); };\n reader.readAsDataURL(file);\n return function () {\n aborted = true;\n };\n }, [file]);\n return {\n url: url,\n };\n}\nexport function useResizeMaxEdge(_a) {\n var _this = this;\n var rawFile = _a.rawFile, _b = _a.maxEdgePx, maxEdgePx = _b === void 0 ? 2048 : _b;\n var url = useFileDataUrl(rawFile).url;\n var _c = useState(), resizedImageFile = _c[0], setResizedImageFile = _c[1];\n useEffect(function () {\n if (!url)\n return;\n // A flag to prevent out-or-order errors\n var aborted = false;\n var image = new Image();\n image.onload = function () { return __awaiter(_this, void 0, void 0, function () {\n var _a, width, height, canvas, context, dataUrl;\n return __generator(this, function (_b) {\n if (aborted)\n return [2 /*return*/];\n _a = image.width > image.height\n ? {\n width: maxEdgePx,\n height: (maxEdgePx / image.width) * image.height,\n }\n : {\n width: (maxEdgePx / image.height) * image.width,\n height: maxEdgePx,\n }, width = _a.width, height = _a.height;\n canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n context = canvas.getContext('2d');\n if (context == null)\n throw new Error(\"Can't obtain canvas context\");\n context.imageSmoothingQuality = 'high';\n context.drawImage(image, // source image\n 0, // source x, y, width, height\n 0, image.width, image.height, 0, // destination x, y, width height\n 0, width, height);\n dataUrl = canvas.toDataURL('image/jpeg', 0.95);\n if (aborted)\n return [2 /*return*/];\n setResizedImageFile(dataUrl);\n return [2 /*return*/];\n });\n }); };\n image.src = url;\n // If one of the props changes before the resize completes then\n // abort in case this run completes after a subsequent one and\n // overwrites the result.\n return function () {\n aborted = true;\n };\n }, [maxEdgePx, url]);\n return {\n resizedImageFile: resizedImageFile,\n };\n}\n//# sourceMappingURL=resizeFile.js.map","import { __makeTemplateObject, __spreadArray } from \"tslib\";\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useTranslations } from '../../lib/locales';\nimport { OverlayContainer, OverlayImageRow, OverlayInner, } from '../common/overlay';\nimport { LoaderButton } from '../common/LoaderButton';\nimport styled from 'styled-components';\nimport { ButtonsRow } from '../common/ButtonsRow';\nimport { allowedImageCountForOption, requiredImageCountForOption, } from '../id_capture/IdCaptureRequirementOption';\nimport { DocumentCaptureWizard } from '../document_capture/DocumentCaptureWizard';\nimport { useFileState, useResizeMaxEdge } from '../../lib/utils/resizeFile';\nimport { isMobile } from '../../lib/utils/isMobile';\nexport var IdCaptureFallback = function (_a) {\n var _b = _a.idCaptureRequirement, idCaptureRequirement = _b === void 0 ? 'idCardOrPassport' : _b, onCapture = _a.onCapture, onFinished = _a.onFinished, _c = _a.classNames, classNames = _c === void 0 ? {} : _c, _d = _a.colors, colors = _d === void 0 ? {} : _d, _e = _a.verbiage, rawVerbiage = _e === void 0 ? {} : _e, _f = _a.silentFallback, silentFallback = _f === void 0 ? false : _f;\n var lastResizedFileRef = useRef(null);\n var fileInput = useRef(null);\n var _g = useState([]), images = _g[0], setImages = _g[1];\n var _h = useState(), documentToCapture = _h[0], setDocumentToCapture = _h[1];\n var _j = useState(silentFallback), useFallback = _j[0], setUseFallback = _j[1];\n var allowedImageCount = allowedImageCountForOption(idCaptureRequirement);\n var requiredImageCount = requiredImageCountForOption(idCaptureRequirement);\n var _k = useFileState(), rawFile = _k.rawFile, fileInputOnChange = _k.fileInputOnChange;\n var resizedImageFile = useResizeMaxEdge({\n rawFile: rawFile,\n }).resizedImageFile;\n var _l = useState(false), isProcessing = _l[0], setIsProcessing = _l[1]; // helps eliminate some of the flicker as the image processes\n var whatToCapture = idCaptureRequirement === 'idCard'\n ? 'ID card'\n : idCaptureRequirement === 'passport'\n ? 'passport'\n : idCaptureRequirement === 'idCardOrPassport'\n ? 'ID card or passport'\n : 'ID card and passport';\n var firstInstructionText = idCaptureRequirement === 'idCard' ||\n idCaptureRequirement === 'idCardAndPassport'\n ? 'Please capture the front of your ID card.'\n : idCaptureRequirement === 'passport'\n ? 'Please capture the ID page of your passport.'\n : 'Please capture the front of your ID card, or the ID page of your passport.';\n var secondInstructionText = idCaptureRequirement === 'idCardOrPassport'\n ? 'Please capture the back of your ID card, or click Done if submitting a passport.'\n : 'Please capture the back of your ID card.';\n var descriptionText = \"On-device capture guidance failed, please capture \".concat(requiredImageCount > 1 ? 'photos' : ' a photo', \" of your \").concat(whatToCapture, \" manually.\");\n var verbiage = useTranslations(rawVerbiage, {\n headingText: \"We're having some trouble.\",\n descriptionText: descriptionText,\n firstInstructionText: firstInstructionText,\n secondInstructionText: secondInstructionText,\n thirdInstructionText: 'Please capture the ID page of your passport.',\n captureBtnText: 'Capture',\n captureMoreBtnText: \"Capture \".concat(images.length === 2 ? 'ID page of passport' : 'back of ID card'),\n doneBtnText: 'Done',\n });\n useEffect(function resetAfterCapturingImage() {\n // we only want to run this IF the file has changed\n // there IS risk in this if we ever capture multiple documents that are the same (from files)\n if (resizedImageFile && resizedImageFile !== lastResizedFileRef.current) {\n lastResizedFileRef.current = resizedImageFile;\n setImages(function (images) { return __spreadArray(__spreadArray([], images, true), [resizedImageFile], false); });\n onCapture === null || onCapture === void 0 ? void 0 : onCapture(resizedImageFile);\n setDocumentToCapture(undefined);\n setUseFallback(false);\n setIsProcessing(false);\n }\n }, [onCapture, resizedImageFile]);\n function onFileSelected(e) {\n var _a;\n if (!((_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0]))\n return;\n setDocumentToCapture(undefined);\n setIsProcessing(true);\n fileInputOnChange(e);\n }\n var instructionText = images.length === 0\n ? verbiage.firstInstructionText\n : images.length === 1\n ? verbiage.secondInstructionText\n : verbiage.thirdInstructionText;\n if (useFallback) {\n setUseFallback(false);\n setDocumentToCapture(instructionText);\n }\n if ((!isMobile() && documentToCapture) || useFallback) {\n return (React.createElement(DocumentCaptureWizard, { documents: [{ title: documentToCapture }], onDocumentCaptured: function (document) {\n var imageData = document.contentUrl;\n onCapture === null || onCapture === void 0 ? void 0 : onCapture(imageData);\n // todo: this a hack to address what is probably some sub-optimal coupling - fix\n setTimeout(function () {\n setImages(function (images) { return __spreadArray(__spreadArray([], images, true), [imageData], false); });\n setDocumentToCapture(undefined);\n }, 0);\n } }));\n }\n return (React.createElement(React.Fragment, null,\n React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(StyledOverlayInner, { className: classNames.inner },\n !silentFallback && (React.createElement(React.Fragment, null,\n React.createElement(Heading, { className: classNames.heading }, verbiage.headingText),\n React.createElement(Description, { className: classNames.description }, verbiage.descriptionText))),\n (images.length > 0 || isProcessing) && (React.createElement(OverlayImageRow, { className: classNames.imageContainer }, images.map(function (image, i) { return (React.createElement(ImageCol, { key: i, className: classNames.imageCol },\n React.createElement(\"img\", { src: image, alt: \"\", className: classNames.image }))); }))),\n images.length < requiredImageCount && (React.createElement(Instruction, { className: classNames.instruction }, instructionText)),\n React.createElement(\"input\", { ref: fileInput, type: \"file\", accept: \"image/*\", capture: \"environment\", onChange: onFileSelected, hidden: true }),\n React.createElement(StyledButtonsRow, { className: classNames.buttonsRow },\n images.length < allowedImageCount && (React.createElement(LoaderButton, { variant: images.length > 0 ? 'secondary' : 'positive', className: images.length > 0\n ? classNames.captureMoreBtn\n : classNames.captureBtn, colors: images.length > 0 ? colors.captureMoreBtn : colors.captureBtn, finished: true, onClick: function () {\n var _a;\n if (isMobile()) {\n (_a = fileInput.current) === null || _a === void 0 ? void 0 : _a.click();\n }\n else {\n setDocumentToCapture(instructionText);\n }\n } }, images.length > 0\n ? verbiage.captureMoreBtnText\n : verbiage.captureBtnText)),\n images.length >= requiredImageCount && (React.createElement(LoaderButton, { variant: \"positive\", className: classNames.doneBtn, colors: colors.doneBtn, finished: true, onClick: function () {\n onFinished === null || onFinished === void 0 ? void 0 : onFinished(images);\n } }, verbiage.doneBtnText)))))));\n};\nvar StyledOverlayInner = styled(OverlayInner)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n justify-content: center;\\n\"], [\"\\n justify-content: center;\\n\"])));\nvar Heading = styled.h3(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-bottom: 8px;\\n\"], [\"\\n margin-bottom: 8px;\\n\"])));\nvar Description = styled.p(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin-bottom: 8px;\\n\"], [\"\\n margin-bottom: 8px;\\n\"])));\nvar Instruction = styled.p(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: bold;\\n\"], [\"\\n font-weight: bold;\\n\"])));\nvar ImageCol = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n display: flex;\\n justify-content: center;\\n flex-grow: 1;\\n flex-basis: 0;\\n\"], [\"\\n display: flex;\\n justify-content: center;\\n flex-grow: 1;\\n flex-basis: 0;\\n\"])));\nvar StyledButtonsRow = styled(ButtonsRow)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n margin-top: 32px;\\n\"], [\"\\n margin-top: 32px;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n//# sourceMappingURL=IdCapture.js.map","import { __awaiter, __generator } from \"tslib\";\nimport React, { useCallback, useContext, useEffect, useState, } from 'react';\nimport { IdCapture, } from './IdCapture';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { IdCaptureLoadingOverlay, } from './IdCaptureLoadingOverlay';\nimport { dataUrlToBase64, dataUrlToBase64Sync, } from '../../lib/utils/dataUrlToBase64';\nimport { SubmissionStatus, } from '../../contexts/SubmissionContext';\nimport { IdCaptureSuccess, } from './IdCaptureSuccess';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { CameraVideoTag } from '../camera/CameraVideoTag';\nimport { PageContainer } from '../common/Page';\nimport { defaultIdCaptureThresholds, IdCaptureModelsContext, } from './IdCaptureModelsProvider';\nimport { useShowSuccessScreen } from '../common/useShowSuccessScreen';\nimport { useTranslations } from '../../lib/locales';\nimport { SubmissionContext } from '../submission/SubmissionProvider';\nimport { CameraFeedWrapper } from '../../lib/camera/CameraFeedWrapper';\nimport { useIdCaptureState } from './IdCaptureStateProvider';\nimport { IdCaptureGuides } from './IdCaptureGuides';\nimport { ExitCaptureButton } from '../common/ExitCaptureButton';\nimport { IdCaptureImagePreview } from '../common/SelfieProgressPreview';\nimport { useTheme } from 'styled-components';\nimport { IdCaptureFallback, } from '../fallback_flows/IdCapture';\nexport var IdCaptureWizard = function (_a) {\n var _b, _c, _d, _e, _f, _g;\n var _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;\n var onSuccess = _a.onSuccess, onExitCapture = _a.onExitCapture, onUserCancel = _a.onUserCancel, _t = _a.loadingOverlayMode, loadingOverlayMode = _t === void 0 ? 'default' : _t, precapturedDocuments = _a.precapturedDocuments, _u = _a.captureRequirement, captureRequirement = _u === void 0 ? 'idCardOrPassport' : _u, _v = _a.separateIdCardCaptureSequence, separateIdCardCaptureSequence = _v === void 0 ? false : _v, _w = _a.thresholds, thresholds = _w === void 0 ? defaultIdCaptureThresholds : _w, _x = _a.skipSuccessScreen, skipSuccessScreen = _x === void 0 ? false : _x, instructions = _a.instructions, _y = _a.releaseCameraAccessOnExit, releaseCameraAccessOnExit = _y === void 0 ? true : _y, _z = _a.guideType, guideType = _z === void 0 ? 'fit' : _z, _0 = _a.portraitGuidesOnMobile, portraitGuidesOnMobile = _0 === void 0 ? true : _0, _1 = _a.rotateLoadingOverlayImageWhenPortrait, rotateLoadingOverlayImageWhenPortrait = _1 === void 0 ? true : _1, _2 = _a.silentFallback, silentFallback = _2 === void 0 ? false : _2, _3 = _a.forceFallbackMode, forceFallbackMode = _3 === void 0 ? false : _3, _4 = _a.allowIdCardBackToFrontCapture, allowIdCardBackToFrontCapture = _4 === void 0 ? false : _4, _5 = _a.assets, assets = _5 === void 0 ? {} : _5, _6 = _a.classNames, classNames = _6 === void 0 ? {} : _6, _7 = _a.colors, colors = _7 === void 0 ? {} : _7, _8 = _a.verbiage, verbiage = _8 === void 0 ? {} : _8, _9 = _a.debugMode, debugMode = _9 === void 0 ? false : _9;\n var _10 = useIdCaptureState(), state = _10[0], dispatch = _10[1];\n var _11 = useContext(CameraStateContext), cameraAccessDenied = _11.cameraAccessDenied, requestCameraAccess = _11.requestCameraAccess, releaseCameraAccess = _11.releaseCameraAccess;\n var _12 = useState(false), overlayDismissed = _12[0], setOverlayDismissed = _12[1];\n var _13 = useContext(SubmissionContext), submissionStatus = _13.submissionStatus, setIdFrontImage = _13.setIdFrontImage, setIdBackImage = _13.setIdBackImage, setPassportImage = _13.setPassportImage, logIdFrontCaptureAttempt = _13.logIdFrontCaptureAttempt, logIdBackCaptureAttempt = _13.logIdBackCaptureAttempt;\n var _14 = useContext(IdCaptureModelsContext), start = _14.start, stop = _14.stop, onPredictionMade = _14.onPredictionMade, setRequiredDocumentType = _14.setRequiredDocumentType, modelError = _14.modelError, resetBestFrame = _14.resetBestFrame;\n useEffect(function () {\n dispatch({\n type: 'configureWizard',\n payload: {\n captureRequirement: captureRequirement,\n precapturedDocuments: precapturedDocuments,\n allowIdCardBackToFrontCapture: allowIdCardBackToFrontCapture,\n },\n });\n }, [\n allowIdCardBackToFrontCapture,\n captureRequirement,\n dispatch,\n precapturedDocuments,\n ]);\n var documentCount = Object.keys(state.capturedDocuments).length;\n useEffect(function () {\n documentCount && resetBestFrame();\n }, [documentCount, resetBestFrame]);\n var logCaptureMetadata = useCallback(function (metadata) {\n var _a;\n metadata.operationTime =\n new Date().getTime() -\n ((_a = state.operationStartedAt) !== null && _a !== void 0 ? _a : new Date()).getTime();\n state.requestedDocumentType === 'idCardBack'\n ? logIdBackCaptureAttempt(metadata)\n : logIdFrontCaptureAttempt(metadata);\n }, [\n logIdBackCaptureAttempt,\n logIdFrontCaptureAttempt,\n state.operationStartedAt,\n state.requestedDocumentType,\n ]);\n useEffect(function startModelsWhenCapturing() {\n if (!overlayDismissed || state.captureState !== 'capturing')\n return;\n dispatch({ type: 'captureStarted' });\n start();\n }, [dispatch, overlayDismissed, start, state.captureState]);\n useEffect(function () {\n onPredictionMade(function (prediction) {\n if (state.captureState === 'capturing') {\n dispatch({ type: 'objectsDetected', payload: { prediction: prediction } });\n }\n else if (state.captureState === 'requestingFlip') {\n if (state.requestedDocumentType !== 'selfie' &&\n prediction[\"\".concat(state.requestedDocumentType, \"DetectionThresholdMet\")]) {\n resetBestFrame();\n dispatch({ type: 'flipRequestCompleted' });\n }\n }\n });\n }, [\n dispatch,\n onPredictionMade,\n resetBestFrame,\n state.captureState,\n state.requestedDocumentType,\n ]);\n useEffect(function () {\n if (state.captureState === 'complete')\n stop();\n }, [state.captureState, stop]);\n var onCapture = useCallback(function (imageData, width, height, documentType, metadata) {\n logCaptureMetadata(metadata);\n dispatch({\n type: 'documentCaptured',\n payload: {\n imageData: imageData,\n width: width,\n height: height,\n documentType: documentType,\n boundingBox: metadata.boundingBox,\n detectionScore: metadata.bestDetectionScore,\n focusScore: metadata.bestFocusScore,\n },\n });\n }, [dispatch, logCaptureMetadata]);\n var onSubmitClick = useCallback(function () {\n var _a = state.capturedDocuments, idCardFront = _a.idCardFront, idCardBack = _a.idCardBack, passport = _a.passport;\n var idFrontImage = idCardFront && dataUrlToBase64Sync(idCardFront.imageData);\n var idBackImage = idCardBack && dataUrlToBase64Sync(idCardBack.imageData);\n var passportImage = passport && dataUrlToBase64Sync(passport.imageData);\n idFrontImage && setIdFrontImage(idFrontImage);\n idBackImage && setIdBackImage(idBackImage);\n passportImage && setPassportImage(passportImage);\n releaseCameraAccessOnExit && releaseCameraAccess();\n setTimeout(function () {\n onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess({ idFrontImage: idFrontImage, idBackImage: idBackImage, passportImage: passportImage });\n }, 0);\n }, [\n onSuccess,\n releaseCameraAccess,\n releaseCameraAccessOnExit,\n setIdBackImage,\n setIdFrontImage,\n setPassportImage,\n state.capturedDocuments,\n ]);\n var showSuccessScreen = useShowSuccessScreen(skipSuccessScreen, state.captureState === 'complete', onSubmitClick);\n var onRetryClick = useCallback(function () {\n dispatch({ type: 'resetWizard' });\n }, [dispatch]);\n var _15 = useState(0), attempt = _15[0], setAttempt = _15[1];\n var onExit = useCallback(function () {\n releaseCameraAccess();\n setOverlayDismissed(false);\n setAttempt(function (n) { return n + 1; });\n dispatch({ type: 'resetWizard' });\n onExitCapture === null || onExitCapture === void 0 ? void 0 : onExitCapture();\n requestCameraAccess();\n }, [dispatch, onExitCapture, releaseCameraAccess, requestCameraAccess]);\n useEffect(function () {\n if (submissionStatus !== SubmissionStatus.READY) {\n releaseCameraAccessOnExit && releaseCameraAccess();\n }\n }, [releaseCameraAccess, releaseCameraAccessOnExit, submissionStatus]);\n useEffect(function () {\n if (cameraAccessDenied) {\n setOverlayDismissed(false);\n setAttempt(function (n) { return n + 1; });\n }\n }, [cameraAccessDenied]);\n assets.idCardFront || (assets.idCardFront = {});\n (_h = assets.idCardFront).portraitGuidesImageUrl || (_h.portraitGuidesImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Front-SVG-Portrait-2.svg\"));\n (_j = assets.idCardFront).landscapeGuidesImageUrl || (_j.landscapeGuidesImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Front-SVG-Landscape-2.svg\"));\n assets.idCardBack || (assets.idCardBack = {});\n (_k = assets.idCardBack).portraitGuidesImageUrl || (_k.portraitGuidesImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Back-SVG-Portrait-2.svg\"));\n (_l = assets.idCardBack).landscapeGuidesImageUrl || (_l.landscapeGuidesImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Back-SVG-Landscape-2.svg\"));\n assets.passport || (assets.passport = {});\n (_m = assets.passport).portraitGuidesImageUrl || (_m.portraitGuidesImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-Passport-Front-SVG-Portrait-2.svg\"));\n (_o = assets.passport).landscapeGuidesImageUrl || (_o.landscapeGuidesImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-Passport-Front-SVG-Landscape-2.svg\"));\n assets.flipIdPrompt || (assets.flipIdPrompt = {});\n (_p = assets.flipIdPrompt).frontPortraitGuidesImageUrl || (_p.frontPortraitGuidesImageUrl = assets.idCardFront.portraitGuidesImageUrl);\n (_q = assets.flipIdPrompt).frontLandscapeGuidesImageUrl || (_q.frontLandscapeGuidesImageUrl = assets.idCardFront.landscapeGuidesImageUrl);\n (_r = assets.flipIdPrompt).backPortraitGuidesImageUrl || (_r.backPortraitGuidesImageUrl = assets.idCardBack.portraitGuidesImageUrl);\n (_s = assets.flipIdPrompt).backLandscapeGuidesImageUrl || (_s.backLandscapeGuidesImageUrl = assets.idCardBack.landscapeGuidesImageUrl);\n var idCaptureVerbiages = {\n idCardFront: useTranslations(verbiage.idCardFront, {\n instructionText: 'Scan the front of ID',\n processingIdCardText: \"ID card \".concat('idCardFront' in state.capturedDocuments ? 'front' : 'back', \" captured.\"),\n }),\n idCardBack: useTranslations(verbiage.idCardBack, {\n instructionText: 'Scan the back of ID',\n }),\n passport: useTranslations(verbiage.passport, {\n instructionText: 'Scan the ID page of passport',\n }),\n };\n var theme = useTheme();\n var _16 = useIdCaptureState()[0], guideRectX = _16.guideRectX, guideRectY = _16.guideRectY, guideRectWidth = _16.guideRectWidth, guideRectHeight = _16.guideRectHeight, imageUrl = _16.imageUrl;\n var idCaptureAssets = assets[state.requestedDocumentType];\n var idCaptureVerbiage = idCaptureVerbiages[state.requestedDocumentType];\n useEffect(function () {\n if (separateIdCardCaptureSequence)\n return;\n if (state.captureState !== 'requestingFlip')\n return;\n var t = setTimeout(function () {\n resetBestFrame();\n dispatch({ type: 'flipRequestCompleted' });\n }, 6000);\n return function () {\n clearTimeout(t);\n };\n }, [\n dispatch,\n resetBestFrame,\n separateIdCardCaptureSequence,\n state.captureState,\n ]);\n useEffect(function () {\n if (state.requestedDocumentType === 'idCardFront') {\n if (captureRequirement === 'idCardOrPassport') {\n setRequiredDocumentType(['idCardFront', 'passport']);\n }\n else {\n setRequiredDocumentType('idCardFront');\n }\n }\n if (state.requestedDocumentType === 'idCardBack') {\n setRequiredDocumentType('idCardBack');\n }\n if (state.requestedDocumentType === 'passport') {\n setRequiredDocumentType('passport');\n }\n return function () {\n setRequiredDocumentType('none');\n };\n }, [captureRequirement, setRequiredDocumentType, state.requestedDocumentType]);\n var handleCapture = useCallback(function (imageData) { return __awaiter(void 0, void 0, void 0, function () {\n var base64ImageData;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, dataUrlToBase64(imageData)];\n case 1:\n base64ImageData = _a.sent();\n dispatch({\n type: 'documentCapturedManually',\n payload: { imageData: base64ImageData },\n });\n return [2 /*return*/];\n }\n });\n }); }, [dispatch]);\n if (forceFallbackMode || modelError) {\n return (React.createElement(IdCaptureFallback, { idCaptureRequirement: captureRequirement, onFinished: onSubmitClick, onCapture: handleCapture, classNames: classNames.fallback, colors: colors.fallback, verbiage: verbiage.fallback, silentFallback: silentFallback }));\n }\n return (React.createElement(PageContainer, { className: \"flex \".concat((_b = classNames === null || classNames === void 0 ? void 0 : classNames.container) !== null && _b !== void 0 ? _b : '') },\n state.captureState !== 'complete' && (React.createElement(CameraFeedWrapper, { \"$x\": guideRectX, \"$y\": guideRectY, \"$w\": guideRectWidth, \"$h\": guideRectHeight, \"$mode\": guideType === 'fit' ? 'snapToGuides' : 'fullscreen' },\n React.createElement(CameraVideoTag, { className: classNames === null || classNames === void 0 ? void 0 : classNames.cameraFeed }))),\n overlayDismissed && state.captureState === 'capturing' && (React.createElement(IdCapture, { requiredDocumentType: state.requestedDocumentType, thresholds: thresholds, onCapture: onCapture, assets: idCaptureAssets, classNames: classNames === null || classNames === void 0 ? void 0 : classNames.capture, colors: colors, verbiage: idCaptureVerbiage, debugMode: debugMode })),\n React.createElement(IdCaptureGuides, { guideType: guideType, portraitGuidesOnMobile: portraitGuidesOnMobile, requestingFlip: state.captureState === 'requestingFlip', flipIdPromptAssets: assets === null || assets === void 0 ? void 0 : assets.flipIdPrompt, classNames: classNames, assets: idCaptureAssets, colors: colors, verbiage: idCaptureVerbiage, isBackToFront: state.allowIdCardBackToFrontCapture &&\n 'idCardBack' in state.capturedDocuments }),\n !((_d = (_c = theme.idCapture) === null || _c === void 0 ? void 0 : _c.capturePreview) === null || _d === void 0 ? void 0 : _d.disabled) &&\n state.captureState === 'requestingFlip' &&\n !separateIdCardCaptureSequence &&\n imageUrl && (React.createElement(IdCaptureImagePreview, { classNames: (_e = classNames.capture) === null || _e === void 0 ? void 0 : _e.imagePreview, text: (_f = idCaptureVerbiages === null || idCaptureVerbiages === void 0 ? void 0 : idCaptureVerbiages.idCardFront) === null || _f === void 0 ? void 0 : _f.processingIdCardText, imageUrl: imageUrl })),\n state.captureState !== 'complete' && (React.createElement(\"div\", { id: \"idmission-above-guides-content\" })),\n React.createElement(ExitCaptureButton, { onClick: onExit, className: (_g = classNames.capture) === null || _g === void 0 ? void 0 : _g.exitCaptureBtn }),\n !overlayDismissed && (React.createElement(IdCaptureLoadingOverlay, { key: attempt, mode: loadingOverlayMode, instructions: instructions, assets: assets.loadingOverlay, classNames: classNames.loadingOverlay, colors: colors.loadingOverlay, verbiage: verbiage.loadingOverlay, onUserCancel: onUserCancel, onDismissed: function () {\n setOverlayDismissed(true);\n }, rotateImage: rotateLoadingOverlayImageWhenPortrait &&\n portraitGuidesOnMobile &&\n window.innerWidth < window.innerHeight })),\n state.captureState === 'requestingFlip' &&\n separateIdCardCaptureSequence && (React.createElement(IdCaptureSuccess, { capturedDocuments: state.capturedDocuments, classNames: classNames.success, onSubmitClick: function () {\n dispatch({ type: 'flipRequestCompleted' });\n }, onRetryClick: onRetryClick, colors: colors.success, verbiage: verbiage.success })),\n state.captureState === 'complete' && showSuccessScreen && (React.createElement(IdCaptureSuccess, { capturedDocuments: state.capturedDocuments, classNames: classNames.success, onSubmitClick: onSubmitClick, onRetryClick: onRetryClick, colors: colors.success, verbiage: verbiage.success, debugMode: debugMode }))));\n};\n//# sourceMappingURL=IdCaptureWizard.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nvar FaceCaptureGuideContainer = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n z-index: 1000;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n\"], [\"\\n position: absolute;\\n z-index: 1000;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n\"])));\nvar FaceCaptureGuideOval = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n border-width: \", \"px;\\n border-color: \", \";\\n border-style: solid;\\n border-radius: 50%;\\n aspect-ratio: 1 / 1.618;\\n height: 50%;\\n margin: auto;\\n\"], [\"\\n border-width: \", \"px;\\n border-color: \", \";\\n border-style: solid;\\n border-radius: 50%;\\n aspect-ratio: 1 / 1.618;\\n height: 50%;\\n margin: auto;\\n\"])), function (props) { return props.$borderWidth; }, function (props) {\n var _a, _b, _c, _d;\n return (_d = (_a = props.$borderColor) !== null && _a !== void 0 ? _a : (_c = (_b = props.theme.selfieCapture) === null || _b === void 0 ? void 0 : _b.guides) === null || _c === void 0 ? void 0 : _c[\"\".concat(props.$variant, \"Color\")]) !== null && _d !== void 0 ? _d : 'white';\n});\nexport var FaceCaptureGuideOverlay = function (_a) {\n var _b = _a.classNames, classNames = _b === void 0 ? {} : _b, _c = _a.variant, variant = _c === void 0 ? 'unsatisfied' : _c, _d = _a.borderWidth, borderWidth = _d === void 0 ? 3 : _d, borderColor = _a.borderColor;\n return (React.createElement(FaceCaptureGuideContainer, { className: classNames.container },\n React.createElement(FaceCaptureGuideOval, { className: classNames.oval, \"$variant\": variant, \"$borderWidth\": borderWidth, \"$borderColor\": borderColor })));\n};\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=FaceCaptureGuideOverlay.js.map","import { __awaiter, __generator } from \"tslib\";\nimport * as React from 'react';\nimport { createContext, useCallback, useContext, useMemo, useRef, } from 'react';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { InvisibleCanvas } from '../common/InvisibleCanvas';\nimport { error } from '../../lib/utils/logger';\nimport { defaultSelfieCaptureModelLoadTimeoutMs, makeFaceDetectorPrediction, useLoadFaceDetector, } from '../../lib/models/FaceDetection';\nimport { useFrameLoop } from '../../lib/models/FrameLoop';\nexport var SelfieGuidanceModelsContext = createContext({\n start: function () { return null; },\n stop: function () { return null; },\n onPredictionMade: function () { return null; },\n canvasRef: { current: null },\n ready: false,\n error: null,\n modelDownloadProgress: 0,\n});\nexport function SelfieGuidanceModelsProvider(_a) {\n var _this = this;\n var _b = _a.autoStart, autoStart = _b === void 0 ? true : _b, children = _a.children, throttleMs = _a.throttleMs, onModelError = _a.onModelError, _c = _a.modelLoadTimeoutMs, modelLoadTimeoutMs = _c === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _c;\n var _d = useContext(CameraStateContext), videoRef = _d.videoRef, videoLoaded = _d.videoLoaded, cameraReady = _d.cameraReady;\n var canvasRef = useRef(null);\n var onPredictionHandler = useRef();\n var _e = useLoadFaceDetector({ onModelError: onModelError, modelLoadTimeoutMs: modelLoadTimeoutMs }), detector = _e.detector, ready = _e.ready, modelDownloadProgress = _e.modelDownloadProgress, modelError = _e.modelError;\n var _f = useFrameLoop(useCallback(function () { return __awaiter(_this, void 0, void 0, function () {\n var vw, vh, ctx, faces;\n var _a;\n return __generator(this, function (_b) {\n if (!videoLoaded ||\n !cameraReady ||\n !ready ||\n modelError ||\n !videoRef.current ||\n !detector.current ||\n !canvasRef.current)\n return [2 /*return*/];\n vw = videoRef.current.videoWidth;\n vh = videoRef.current.videoHeight;\n ctx = canvasRef.current.getContext('2d');\n canvasRef.current.width = vw;\n canvasRef.current.height = vh;\n if (ctx && videoRef.current.readyState === 4) {\n ctx.translate(vw, 0);\n ctx.scale(-1, 1);\n ctx.drawImage(videoRef.current, 0, 0, vw, vh);\n // Detectors can throw errors, for example when using custom URLs that\n // contain a model that doesn't provide the expected output.\n try {\n faces = makeFaceDetectorPrediction(detector.current, canvasRef.current).faces;\n (_a = onPredictionHandler.current) === null || _a === void 0 ? void 0 : _a.call(onPredictionHandler, faces);\n }\n catch (e) {\n error('caught face detection error', e);\n }\n }\n return [2 /*return*/];\n });\n }); }, [cameraReady, detector, modelError, ready, videoLoaded, videoRef]), { throttleMs: throttleMs, autoStart: autoStart }), start = _f.start, stop = _f.stop;\n var onPredictionMade = useCallback(function (handler) {\n onPredictionHandler.current = handler;\n }, []);\n var value = useMemo(function () { return ({\n start: start,\n stop: stop,\n ready: ready,\n canvasRef: canvasRef,\n onPredictionMade: onPredictionMade,\n error: modelError,\n modelDownloadProgress: modelDownloadProgress,\n }); }, [modelError, modelDownloadProgress, onPredictionMade, ready, start, stop]);\n return (React.createElement(SelfieGuidanceModelsContext.Provider, { value: value },\n React.createElement(InvisibleCanvas, { ref: canvasRef }),\n children));\n}\n//# sourceMappingURL=SelfieGuidanceModelsProvider.js.map","import { useEffect, useState } from 'react';\nexport var useTimeout = function (durationMs, onTimeout, timeoutAverted, shouldWaitLonger, shouldStart) {\n if (shouldStart === void 0) { shouldStart = true; }\n var _a = useState(false), timedOut = _a[0], setTimedOut = _a[1];\n var _b = useState(), timeoutStartedAt = _b[0], setTimeoutStartedAt = _b[1];\n useEffect(function () {\n if (!durationMs || !shouldStart)\n return;\n setTimeoutStartedAt(new Date());\n var timer = setTimeout(function () {\n setTimedOut(true);\n }, durationMs);\n return function () {\n if (timer)\n clearTimeout(timer);\n };\n }, [durationMs, shouldStart]);\n useEffect(function () {\n if (!timedOut || timeoutAverted)\n return;\n if (!shouldWaitLonger) {\n onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout();\n return;\n }\n var t = setTimeout(function () {\n onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout();\n }, 120000);\n return function () {\n clearTimeout(t);\n };\n }, [onTimeout, shouldWaitLonger, timedOut, timeoutAverted]);\n return { timedOut: timedOut, timeoutStartedAt: timeoutStartedAt };\n};\n//# sourceMappingURL=useTimeout.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useEffect, useRef, useState } from 'react';\nimport { OverlayContainer, OverlayImageContainer, OverlayInner, } from '../common/overlay';\nimport { useTranslations } from '../../lib/locales';\nimport { LoaderButton } from '../common/LoaderButton';\nimport styled from 'styled-components';\nimport { ButtonsRow } from '../common/ButtonsRow';\nimport { DocumentCaptureWizard } from '../document_capture/DocumentCaptureWizard';\nimport { useFileState, useResizeMaxEdge } from '../../lib/utils/resizeFile';\nimport { isMobile } from '../../lib/utils/isMobile';\nexport var SelfieCaptureFallback = function (_a) {\n var onFinished = _a.onFinished, onCapture = _a.onCapture, _b = _a.classNames, classNames = _b === void 0 ? {} : _b, _c = _a.colors, colors = _c === void 0 ? {} : _c, _d = _a.verbiage, rawVerbiage = _d === void 0 ? {} : _d, _e = _a.silentFallback, silentFallback = _e === void 0 ? false : _e, _f = _a.invalidSelfie, invalidSelfie = _f === void 0 ? false : _f, _g = _a.guidanceMessage, guidanceMessage = _g === void 0 ? undefined : _g;\n var _h = useState(null), image = _h[0], setImage = _h[1];\n var lastResizedFileRef = useRef(null);\n var fileInput = useRef(null);\n var _j = useState(false), loading = _j[0], setLoading = _j[1];\n var _k = useState(false), usingDocumentCapture = _k[0], setUsingDocumentCapture = _k[1];\n var _l = useFileState(), rawFile = _l.rawFile, fileInputOnChange = _l.fileInputOnChange;\n var resizedImageFile = useResizeMaxEdge({\n rawFile: rawFile,\n }).resizedImageFile;\n useEffect(function resetAfterCapturingImage() {\n // we only want to run this IF the file has changed\n if (resizedImageFile && resizedImageFile !== lastResizedFileRef.current) {\n lastResizedFileRef.current = resizedImageFile;\n setImage(resizedImageFile);\n setLoading(true);\n onCapture === null || onCapture === void 0 ? void 0 : onCapture(resizedImageFile);\n onFinished === null || onFinished === void 0 ? void 0 : onFinished(resizedImageFile);\n }\n }, [resizedImageFile, onCapture, onFinished, loading]);\n var verbiage = useTranslations(rawVerbiage, {\n headingText: \"We're having some trouble.\",\n descriptionText: silentFallback\n ? 'Use your device camera to capture your face'\n : 'On-device capture guidance failed, please capture a selfie manually.',\n captureBtnText: 'Capture',\n doneBtnText: 'Done',\n doneBtnLoadingText: 'Verifying...',\n livenessFailedText: 'Live face not detected, please try again',\n livenessFailedReasonText: guidanceMessage,\n retryButtonText: 'Retry',\n retryCaptureButtonText: 'Retry capture',\n });\n useEffect(function triggerInputWhenInSilentFallbackMode() {\n var fallbackTimeout;\n if (silentFallback) {\n fallbackTimeout = setTimeout(function () {\n var _a;\n // using the input element, we want to click on it \"immediately\" which is 250ms to allow for even old browsers to finish connecting the input\n if (isMobile()) {\n (_a = fileInput.current) === null || _a === void 0 ? void 0 : _a.click();\n }\n else {\n setUsingDocumentCapture(true);\n }\n }, 250);\n }\n return function () {\n clearTimeout(fallbackTimeout);\n };\n }, [silentFallback]);\n function onFileSelected(e) {\n var _a;\n if (!((_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0]))\n return;\n setImage('LOADING'); // this is to reduce some of the flicker - it isn't perfect since .readAsDataURL() is slow\n fileInputOnChange(e);\n }\n if (usingDocumentCapture ||\n (silentFallback && !!invalidSelfie && !image && !isMobile()) // desktop silent fallback - not a very realistic situation\n ) {\n return (React.createElement(DocumentCaptureWizard, { documents: [\n {\n title: invalidSelfie\n ? verbiage.livenessFailedText\n : verbiage.descriptionText,\n },\n ], onDocumentCaptured: function (document) {\n var imageData = document.contentUrl;\n onCapture === null || onCapture === void 0 ? void 0 : onCapture(imageData);\n // todo: this a hack to address what is probably some sub-optimal coupling - fix\n setTimeout(function () {\n setImage(imageData);\n setUsingDocumentCapture(false);\n }, 0);\n } }));\n }\n // todo: JN - we might be able to use the media stream instead if we clone it - as it stands today, we hae to use the camera to support iOS 16 devices\n return (React.createElement(React.Fragment, null,\n React.createElement(\"input\", { ref: fileInput, type: \"file\", accept: \"image/*\", capture: \"user\", onChange: onFileSelected, hidden: true }),\n React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(StyledOverlayInner, { className: classNames.inner },\n silentFallback ? (invalidSelfie && (React.createElement(React.Fragment, null,\n React.createElement(Heading, { className: classNames.heading }, verbiage.livenessFailedText),\n React.createElement(Description, { className: classNames.description }, verbiage.livenessFailedReasonText ||\n verbiage.descriptionText)))) : (React.createElement(React.Fragment, null,\n React.createElement(Heading, { className: classNames.heading }, invalidSelfie\n ? verbiage.livenessFailedText\n : verbiage.headingText),\n React.createElement(Description, { className: classNames.description }, verbiage.livenessFailedReasonText || verbiage.descriptionText))),\n image && image !== 'LOADING' && (React.createElement(ImageContainer, { className: classNames.imageContainer },\n React.createElement(\"img\", { src: image, alt: \"\", className: classNames.image }))),\n React.createElement(StyledButtonsRow, { className: classNames.buttonsRow },\n image && !loading && !isMobile() && (React.createElement(LoaderButton, { className: classNames.retryCaptureBtn, finished: true, variant: \"warning\", onClick: function () {\n var _a;\n if (isMobile()) {\n (_a = fileInput.current) === null || _a === void 0 ? void 0 : _a.click();\n }\n else {\n setUsingDocumentCapture(true);\n }\n } }, verbiage.retryCaptureButtonText)),\n React.createElement(LoaderButton, { variant: \"positive\", key: loading ? 'loading-btn' : 'ready-btn', className: !image ? classNames.captureBtn : classNames === null || classNames === void 0 ? void 0 : classNames.doneBtn, colors: !image ? colors.captureBtn : colors === null || colors === void 0 ? void 0 : colors.doneBtn, finished: !image ? true : !loading, onClick: function () {\n var _a;\n if (isMobile()) {\n (_a = fileInput.current) === null || _a === void 0 ? void 0 : _a.click();\n }\n else {\n if (!image) {\n setUsingDocumentCapture(true);\n }\n else {\n setLoading(true);\n onFinished === null || onFinished === void 0 ? void 0 : onFinished(image);\n }\n }\n } }, !image\n ? invalidSelfie\n ? verbiage.retryButtonText\n : verbiage.captureBtnText\n : loading\n ? verbiage.doneBtnLoadingText\n : verbiage.doneBtnText))))));\n};\nvar StyledOverlayInner = styled(OverlayInner)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n justify-content: center;\\n\"], [\"\\n justify-content: center;\\n\"])));\nvar Heading = styled.h3(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-bottom: 8px;\\n\"], [\"\\n margin-bottom: 8px;\\n\"])));\nvar Description = styled.p(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin-bottom: 8px;\\n\"], [\"\\n margin-bottom: 8px;\\n\"])));\nvar ImageContainer = styled(OverlayImageContainer)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin-top: 32px;\\n\"], [\"\\n margin-top: 32px;\\n\"])));\nvar StyledButtonsRow = styled(ButtonsRow)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n margin-top: 32px;\\n\"], [\"\\n margin-top: 32px;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n//# sourceMappingURL=SelfieCapture.js.map","import { __assign } from \"tslib\";\nimport React, { useContext, useEffect, useReducer, useRef, useState, } from 'react';\nimport useResizeObserver from 'use-resize-observer';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { FaceCaptureGuideOverlay, } from '../face_liveness/FaceCaptureGuideOverlay';\nimport { SelfieGuidanceModelsContext } from './SelfieGuidanceModelsProvider';\nimport { PageContainer } from '../common/Page';\nimport { DebugStatsPane, ObjectDetectionDebugOverlayDiv, SelfieCaptureFaceDebugBox, useDebugScalingDetails, } from '../common/debug';\nimport { ExitCaptureButton } from '../common/ExitCaptureButton';\nimport { GuidanceMessage, GuidanceMessageContainer, } from '../common/GuidanceMessage';\nimport { useTimeout } from '../../lib/utils/useTimeout';\nimport { useTranslations } from '../../lib/locales';\nimport { clearCanvas, drawToCanvas, InvisibleCanvas, } from '../common/InvisibleCanvas';\nimport { SelfieCaptureFallback, } from '../fallback_flows/SelfieCapture';\nimport { useThrottledCallback } from 'use-debounce';\nvar initialState = {\n videoWidth: 0,\n videoHeight: 0,\n frame: null,\n faces: [],\n faceNotCentered: false,\n faceLookingAway: false,\n faceTooClose: false,\n faceTooFar: false,\n faceReady: false,\n faceReadyAt: null,\n};\nvar reducer = function (state, action) {\n switch (action.type) {\n case 'configure':\n return __assign(__assign({}, state), action.payload);\n case 'facesDetected': {\n var faces = action.payload.faces;\n var face = faces[0];\n var faceNotCentered = true, faceLookingAway = false, faceTooClose = false, faceTooFar = false, faceReadyAt = state.faceReadyAt;\n if (face) {\n // calculate centroids\n var vCX = state.videoWidth / 2;\n var vCY = state.videoHeight / 2;\n var fCX = (face.box.xMin + face.box.xMax) / 2;\n var fCY = (face.box.yMin + face.box.yMax) / 2;\n // calculate thresholds\n var vTX = state.videoWidth * 0.125;\n var vTY = state.videoHeight * 0.125;\n var fTW = face.box.width * 0.2;\n var fTH = face.box.height * 0.2;\n var nose = face.keypoints[2]; //.find((k) => k.name === 'noseTip')\n if (nose) {\n faceNotCentered =\n Math.abs(vCX - fCX) > vTX || Math.abs(vCY + 50 - fCY) > vTY;\n faceLookingAway =\n Math.abs(fCX - nose.x) > fTW || Math.abs(fCY - nose.y) > fTH;\n }\n var isMobile = state.videoWidth < state.videoHeight;\n var tooCloseMultiple = isMobile ? 2 : 4.5;\n var tooFarMultiple = isMobile ? 6 : 7;\n faceTooClose = face.box.width > state.videoWidth / tooCloseMultiple;\n faceTooFar = face.box.width < state.videoWidth / tooFarMultiple;\n }\n var faceReady = !faceNotCentered && !faceLookingAway && !faceTooClose && !faceTooFar;\n if (!faceReady) {\n faceReadyAt = null;\n }\n else if (!state.faceReady) {\n faceReadyAt = new Date();\n }\n return __assign(__assign({}, state), { faces: faces, faceNotCentered: faceNotCentered, faceLookingAway: faceLookingAway, faceTooClose: faceTooClose, faceTooFar: faceTooFar, faceReady: faceReady, faceReadyAt: faceReadyAt });\n }\n }\n};\nexport var SelfieCapture = function (_a) {\n var _b;\n var onGuidanceSatisfied = _a.onGuidanceSatisfied, onGuidanceNotSatisfied = _a.onGuidanceNotSatisfied, onSelfieCaptured = _a.onSelfieCaptured, onTimeout = _a.onTimeout, onExit = _a.onExit, _c = _a.timeoutDurationMs, timeoutDurationMs = _c === void 0 ? 15000 : _c, guidanceMessage = _a.guidanceMessage, guidanceSatisfied = _a.guidanceSatisfied, _d = _a.classNames, classNames = _d === void 0 ? {} : _d, _e = _a.colors, colors = _e === void 0 ? {} : _e, _f = _a.verbiage, rawVerbiage = _f === void 0 ? {} : _f, _g = _a.debugMode, debugMode = _g === void 0 ? false : _g;\n var _h = useResizeObserver(), ref = _h.ref, _j = _h.width, width = _j === void 0 ? 1 : _j, _k = _h.height, height = _k === void 0 ? 1 : _k;\n var _l = useReducer(reducer, initialState), state = _l[0], dispatch = _l[1];\n var lastPredictionCanvas = useRef(null);\n var _m = useContext(CameraStateContext), cameraRef = _m.cameraRef, cameraReady = _m.cameraReady, videoRef = _m.videoRef;\n var _o = useContext(SelfieGuidanceModelsContext), onPredictionMade = _o.onPredictionMade, guidanceError = _o.error;\n useEffect(function () {\n if (cameraReady && videoRef.current && videoRef.current.videoWidth !== 0) {\n dispatch({\n type: 'configure',\n payload: {\n videoWidth: videoRef.current.videoWidth,\n videoHeight: videoRef.current.videoHeight,\n },\n });\n }\n }, [cameraReady, videoRef]);\n onPredictionMade(useThrottledCallback(function (prediction) {\n dispatch({\n type: 'facesDetected',\n payload: { faces: prediction },\n });\n }, 16));\n var _p = useState(false), captureReady = _p[0], setCaptureReady = _p[1];\n useEffect(function () {\n var timer;\n if (state.faceReady) {\n onGuidanceSatisfied === null || onGuidanceSatisfied === void 0 ? void 0 : onGuidanceSatisfied();\n timer = setTimeout(function () {\n setCaptureReady(true);\n }, 1000);\n }\n else {\n onGuidanceNotSatisfied === null || onGuidanceNotSatisfied === void 0 ? void 0 : onGuidanceNotSatisfied();\n }\n return function () {\n if (timer)\n clearTimeout(timer);\n };\n }, [onGuidanceNotSatisfied, onGuidanceSatisfied, state.faceReady]);\n useEffect(function () {\n if (captureReady &&\n videoRef.current &&\n lastPredictionCanvas.current &&\n state.faces.length > 0) {\n drawToCanvas(lastPredictionCanvas.current, videoRef.current);\n var ctx = lastPredictionCanvas.current.getContext('2d');\n if (!ctx)\n return;\n var imageData = ctx.getImageData(0, 0, videoRef.current.videoWidth, videoRef.current.videoHeight);\n onSelfieCaptured === null || onSelfieCaptured === void 0 ? void 0 : onSelfieCaptured(imageData, state.faces[0]);\n clearCanvas(lastPredictionCanvas.current);\n }\n }, [captureReady, onSelfieCaptured, state.faces, videoRef]);\n var _q = useTimeout(timeoutDurationMs, onTimeout), timedOut = _q.timedOut, timeoutStartedAt = _q.timeoutStartedAt;\n var debugScalingDetails = useDebugScalingDetails({\n enabled: debugMode,\n pageWidth: width,\n pageHeight: height,\n videoWidth: state.videoWidth,\n videoHeight: state.videoHeight,\n });\n colors.guidesUnsatisfiedColor || (colors.guidesUnsatisfiedColor = 'white');\n colors.guidesSatisfiedColor || (colors.guidesSatisfiedColor = 'green');\n var verbiage = useTranslations(rawVerbiage, {\n guidanceHoldStillText: 'Hold still for a few seconds...',\n guidanceLookStraightText: 'Look straight into the camera...',\n guidanceMoveBackText: 'Move back...',\n guidanceMoveForwardText: 'Move forward...',\n guidanceMoveToCenterText: 'Move to the center...',\n });\n var satisfied = state.faceReady;\n if (typeof guidanceSatisfied === 'boolean')\n satisfied = guidanceSatisfied;\n guidanceMessage || (guidanceMessage = satisfied\n ? verbiage.guidanceHoldStillText\n : state.faceLookingAway\n ? verbiage.guidanceLookStraightText\n : state.faceTooClose\n ? verbiage.guidanceMoveBackText\n : state.faceTooFar\n ? verbiage.guidanceMoveForwardText\n : state.faceNotCentered\n ? verbiage.guidanceMoveToCenterText\n : '');\n if (guidanceError) {\n return React.createElement(SelfieCaptureFallback, { classNames: classNames.fallback });\n }\n return (React.createElement(PageContainer, { ref: ref, className: \"flex \".concat((_b = classNames.container) !== null && _b !== void 0 ? _b : '') },\n React.createElement(InvisibleCanvas, { ref: lastPredictionCanvas }),\n React.createElement(FaceCaptureGuideOverlay, { classNames: classNames.guides, variant: satisfied ? 'satisfied' : 'unsatisfied' }),\n guidanceMessage !== '' && (React.createElement(GuidanceMessageContainer, { className: classNames.guidanceMessageContainer },\n React.createElement(GuidanceMessage, { \"$variant\": satisfied ? 'positive' : 'negative', className: classNames.guidanceMessage }, guidanceMessage))),\n debugMode && state.faces.length > 0 && (React.createElement(ObjectDetectionDebugOverlayDiv, null, state.faces.map(function (face, i) { return (React.createElement(SelfieCaptureFaceDebugBox, { key: i, face: face, scaling: debugScalingDetails, color: satisfied ? 'green' : 'red' })); }))),\n debugMode && (React.createElement(DebugStatsPane, null,\n cameraRef.current ? (React.createElement(React.Fragment, null,\n \"\\u2705 Camera: \",\n cameraRef.current.label,\n \" (\",\n cameraRef.current.width,\n \"x\",\n cameraRef.current.height,\n \")\")) : ('❌ Camera not ready'),\n React.createElement(\"br\", null),\n !state.faceNotCentered ? '✅' : '❌',\n \" Face Centered\",\n React.createElement(\"br\", null),\n !state.faceTooClose && !state.faceTooFar ? '✅' : '❌',\n \" Face\",\n ' ',\n state.faceTooClose\n ? 'Too Close'\n : state.faceTooFar\n ? 'Too Far'\n : 'Distance Correct',\n React.createElement(\"br\", null),\n !state.faceLookingAway ? '✅' : '❌',\n \" Face Looking Forward\",\n React.createElement(\"br\", null),\n !timedOut ? '✅' : '❌',\n \" Time Remaining:\",\n ' ',\n Math.max(0, timeoutDurationMs -\n (new Date().getTime() -\n (timeoutStartedAt !== null && timeoutStartedAt !== void 0 ? timeoutStartedAt : new Date()).getTime())),\n \"ms\")),\n React.createElement(ExitCaptureButton, { onClick: onExit, className: classNames.exitCaptureBtn })));\n};\n//# sourceMappingURL=SelfieCapture.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport React, { useCallback, useContext, useEffect, useReducer, useRef, useState, } from 'react';\nimport { dataUrlToBase64 } from '../../lib/utils/dataUrlToBase64';\nimport { SelfieCapture, } from '../selfie_capture/SelfieCapture';\nimport { cropToShoulders } from '../../lib/utils/cropping';\nimport { SelfieProgressPreview, } from '../common/SelfieProgressPreview';\nimport { useTimeout } from '../../lib/utils/useTimeout';\nimport { useTranslations } from '../../lib/locales';\nimport { InvisibleCanvas } from '../common/InvisibleCanvas';\nimport { SelfieCaptureFallback } from '../fallback_flows/SelfieCapture';\nimport { SelfieGuidanceModelsContext } from '../selfie_capture/SelfieGuidanceModelsProvider';\nimport { SubmissionContext } from '../submission/SubmissionProvider';\nimport { useTheme } from 'styled-components';\nvar initialState = {\n frame: null,\n face: null,\n requestState: 'CAPTURING',\n requestError: null,\n imageUrl: null,\n faceLive: false,\n eyeCoveringDetected: false,\n maskDetected: false,\n headCoveringDetected: false,\n phoneDetected: false,\n timesLivenessCheckFailed: 0,\n};\n/** todo: JN - this feels like it should be hoisted up to the wizard because these states of failed and error dovetail into those in the wizard.\n * There may also be some crossing of wires in how error/failed are used.\n */\nvar reducer = function (state, action) {\n var _a, _b;\n switch (action.type) {\n case 'livenessReady': {\n var allowedStates = ['CAPTURING', 'FAILED', 'ERROR'];\n if (allowedStates.includes(state.requestState)) {\n return __assign(__assign({}, state), { requestState: 'CAPTURED', frame: action.payload.frame, face: action.payload.face });\n }\n else {\n return state;\n }\n }\n case 'livenessChecking':\n return __assign(__assign({}, state), { requestState: 'IN_PROGRESS' });\n case 'livenessChecked': {\n var _c = action.payload.response, _d = _c.status, statusCode = _d.statusCode, statusMessage = _d.statusMessage, errorData = _d.errorData, resultData = _c.resultData;\n if (statusCode !== '000') {\n return __assign(__assign({}, state), { requestState: 'ERROR', requestError: new Error(\"\".concat(statusMessage, \": \").concat(errorData)) });\n }\n var faceLive = ['Live Face Detected', 'Approved'].includes(resultData.verificationResult);\n var eyeCoveringDetected = resultData.eyeCovering === 'true';\n var maskDetected = resultData.faceMask === 'true';\n var headCoveringDetected = resultData.headCovering === 'true';\n var phoneDetected = resultData.cellPhone === 'true';\n var livenessCheckPassed = faceLive &&\n !eyeCoveringDetected &&\n !maskDetected &&\n !headCoveringDetected;\n var requestState = livenessCheckPassed ? 'PASSED' : 'FAILED';\n var timesLivenessCheckFailed = state.timesLivenessCheckFailed;\n if (livenessCheckPassed) {\n timesLivenessCheckFailed = 0;\n }\n else {\n timesLivenessCheckFailed += 1;\n }\n return __assign(__assign({}, state), { frame: (_a = action.payload.frame) !== null && _a !== void 0 ? _a : null, face: (_b = action.payload.face) !== null && _b !== void 0 ? _b : null, imageUrl: action.payload.imageUrl, requestState: requestState, faceLive: faceLive, eyeCoveringDetected: eyeCoveringDetected, maskDetected: maskDetected, headCoveringDetected: headCoveringDetected, phoneDetected: phoneDetected, timesLivenessCheckFailed: timesLivenessCheckFailed });\n }\n case 'livenessCheckFailed':\n return __assign(__assign({}, state), { requestState: 'ERROR', requestError: action.payload.error });\n default:\n return state;\n }\n};\nexport var FaceLivenessCapture = function (_a) {\n var _b, _c, _d;\n var onCapture = _a.onCapture, onSuccess = _a.onSuccess, onTimeout = _a.onTimeout, onExit = _a.onExit, _e = _a.timeoutDurationMs, timeoutDurationMs = _e === void 0 ? 15000 : _e, _f = _a.silentFallback, silentFallback = _f === void 0 ? false : _f, _g = _a.classNames, classNames = _g === void 0 ? {} : _g, _h = _a.colors, colors = _h === void 0 ? {} : _h, _j = _a.verbiage, rawVerbiage = _j === void 0 ? {} : _j, debugMode = _a.debugMode;\n var _k = useContext(SubmissionContext), checkLiveness = _k.checkLiveness, submissionError = _k.submissionError;\n var modelError = useContext(SelfieGuidanceModelsContext).error;\n var _l = useReducer(reducer, initialState), state = _l[0], dispatch = _l[1];\n var _m = useState(null), imageUrl = _m[0], setImageUrl = _m[1];\n var rawCanvas = useRef(null);\n var cropCanvas = useRef(null);\n var resizeCanvas = useRef(null);\n var theme = useTheme();\n var onSelfieCaptured = useCallback(function (frame, face) {\n onCapture === null || onCapture === void 0 ? void 0 : onCapture();\n dispatch({ type: 'livenessReady', payload: { frame: frame, face: face } });\n }, [onCapture]);\n var frame = state.frame, face = state.face;\n var isReady = state.requestState === 'CAPTURED';\n var isPassed = state.requestState === 'PASSED';\n useEffect(function checkLivenessIfPossible() {\n var _this = this;\n if (!frame || !face || !isReady || submissionError)\n return;\n dispatch({ type: 'livenessChecking' });\n (function () { return __awaiter(_this, void 0, void 0, function () {\n var imageUrl_1, response, _a, e_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 3, , 4]);\n imageUrl_1 = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face, 0.92, 600);\n setImageUrl(imageUrl_1);\n _a = checkLiveness;\n return [4 /*yield*/, dataUrlToBase64(imageUrl_1)];\n case 1: return [4 /*yield*/, _a.apply(void 0, [_b.sent()])];\n case 2:\n response = _b.sent();\n dispatch({\n type: 'livenessChecked',\n payload: { frame: frame, face: face, imageUrl: imageUrl_1, response: response },\n });\n return [3 /*break*/, 4];\n case 3:\n e_1 = _b.sent();\n dispatch({\n type: 'livenessCheckFailed',\n payload: { error: e_1 },\n });\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n }); })();\n }, [checkLiveness, face, frame, isReady, submissionError]);\n var onFallbackImageCaptured = useCallback(function (imageUrl) { return __awaiter(void 0, void 0, void 0, function () {\n var imageData, response, e_2;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n dispatch({ type: 'livenessChecking' });\n _b.label = 1;\n case 1:\n _b.trys.push([1, 4, , 5]);\n return [4 /*yield*/, dataUrlToBase64(imageUrl)];\n case 2:\n imageData = _b.sent();\n return [4 /*yield*/, checkLiveness(imageData)\n // todo: JN - this feels dirty and is the reason for the todo around line 83 - but is necessary to handle fallback liveness validation\n ];\n case 3:\n response = _b.sent();\n // todo: JN - this feels dirty and is the reason for the todo around line 83 - but is necessary to handle fallback liveness validation\n if (((_a = response === null || response === void 0 ? void 0 : response.resultData) === null || _a === void 0 ? void 0 : _a.verificationResult) !== 'Live Face Detected') {\n onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout();\n }\n dispatch({\n type: 'livenessChecked',\n payload: { imageUrl: imageUrl, response: response },\n });\n return [3 /*break*/, 5];\n case 4:\n e_2 = _b.sent();\n dispatch({\n type: 'livenessCheckFailed',\n payload: { error: e_2 },\n });\n return [3 /*break*/, 5];\n case 5: return [2 /*return*/];\n }\n });\n }); }, [checkLiveness, onTimeout]);\n useEffect(function callSuccessIfAvailable() {\n if (isPassed && state.imageUrl)\n onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(state.imageUrl);\n }, [onSuccess, state.imageUrl, isPassed]);\n useEffect(function timeoutOnTooManyLivenessCheckFailures() {\n if (modelError)\n return;\n var allowedFailures = 2;\n if (state.timesLivenessCheckFailed >= allowedFailures) {\n onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout();\n }\n }, [modelError, onTimeout, state.timesLivenessCheckFailed]);\n useTimeout(timeoutDurationMs, onTimeout, state.requestState === 'PASSED' || !!modelError, state.requestState === 'IN_PROGRESS');\n var verbiage = useTranslations(rawVerbiage, {\n guidanceRemoveEyeCoveringsText: 'Please remove your eye coverings (sunglasses, eye patch, etc.)...',\n guidanceRemoveHeadCoveringsText: 'Please remove your head coverings (hat, scarf, etc.)...',\n guidanceRemoveMaskText: 'Please remove your mask...',\n progressPreviewText: 'Processing...',\n });\n var guidanceMessage = state.eyeCoveringDetected\n ? verbiage.guidanceRemoveEyeCoveringsText\n : state.headCoveringDetected\n ? verbiage.guidanceRemoveHeadCoveringsText\n : state.maskDetected\n ? verbiage.guidanceRemoveMaskText\n : undefined;\n if (modelError) {\n return (React.createElement(SelfieCaptureFallback, { key: state.timesLivenessCheckFailed, onFinished: onFallbackImageCaptured, silentFallback: silentFallback, invalidSelfie: !!state.timesLivenessCheckFailed, guidanceMessage: guidanceMessage }));\n }\n return (React.createElement(React.Fragment, null,\n React.createElement(InvisibleCanvas, { ref: rawCanvas }),\n React.createElement(InvisibleCanvas, { ref: cropCanvas }),\n React.createElement(InvisibleCanvas, { ref: resizeCanvas }),\n React.createElement(SelfieCapture, { onSelfieCaptured: onSelfieCaptured, onExit: onExit, timeoutDurationMs: timeoutDurationMs, guidanceMessage: guidanceMessage, guidanceSatisfied: guidanceMessage ? false : undefined, classNames: classNames, colors: colors, verbiage: verbiage, debugMode: debugMode }),\n !((_c = (_b = theme.selfieCapture) === null || _b === void 0 ? void 0 : _b.capturePreview) === null || _c === void 0 ? void 0 : _c.disabled) && imageUrl && (React.createElement(SelfieProgressPreview, { classNames: classNames.imagePreview, imageUrl: imageUrl, text: (_d = verbiage.progressPreviewText) !== null && _d !== void 0 ? _d : '' }))));\n};\n//# sourceMappingURL=FaceLivenessCapture.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport { OverlayContainer, OverlayImageContainer, OverlayInner, } from '../common/overlay';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport styled from 'styled-components';\nimport { ButtonsRow } from '../common/ButtonsRow';\nexport var FaceLivenessSuccess = function (_a) {\n var imageUrl = _a.imageUrl, onDoneClick = _a.onDoneClick, onRetryClick = _a.onRetryClick, _b = _a.classNames, classNames = _b === void 0 ? {} : _b, _c = _a.colors, colors = _c === void 0 ? {} : _c, _d = _a.verbiage, rawVerbiage = _d === void 0 ? {} : _d;\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Face liveness has been verified!',\n retryBtnText: 'Retry',\n doneBtnText: 'Done',\n });\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n React.createElement(Heading, { className: classNames.heading }, verbiage.headingText),\n React.createElement(OverlayImageContainer, { className: classNames.imageContainer },\n React.createElement(\"img\", { alt: verbiage.headingText, src: imageUrl, className: classNames.image })),\n React.createElement(ButtonsRow, { className: classNames.buttonsRow },\n React.createElement(LoaderButton, { variant: \"warning\", onClick: onRetryClick, colors: colors.retryBtn, className: classNames.retryBtn, finished: true }, verbiage.retryBtnText),\n React.createElement(LoaderButton, { variant: \"positive\", onClick: onDoneClick, colors: colors.doneBtn, className: classNames.doneBtn, finished: true }, verbiage.doneBtnText)))));\n};\nvar Heading = styled.h3(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin-bottom: 24px;\\n\"], [\"\\n margin-bottom: 24px;\\n\"])));\nvar templateObject_1;\n//# sourceMappingURL=FaceLivenessSuccess.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport { OverlayContainer, OverlayImageContainer, OverlayInner, } from '../common/overlay';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport styled from 'styled-components';\nimport { ButtonsRow } from '../common/ButtonsRow';\nexport var FaceLivenessFailure = function (_a) {\n var _b = _a.canRetry, canRetry = _b === void 0 ? true : _b, onRetryClick = _a.onRetryClick, onExitClick = _a.onExitClick, _c = _a.assets, assets = _c === void 0 ? {} : _c, _d = _a.classNames, classNames = _d === void 0 ? {} : _d, _e = _a.colors, colors = _e === void 0 ? {} : _e, _f = _a.verbiage, rawVerbiage = _f === void 0 ? {} : _f;\n assets.imageUrl || (assets.imageUrl = \"\".concat(DEFAULT_CDN_URL, \"/manual_capture.png\"));\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Live face not detected, please try again',\n retryBtnText: 'Retry',\n exitBtnText: 'Exit',\n });\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n React.createElement(\"h3\", { className: classNames.heading }, verbiage.headingText),\n React.createElement(ImageContainer, { className: classNames.imageContainer },\n React.createElement(\"img\", { alt: verbiage.headingText, src: assets.imageUrl, className: classNames.image })),\n React.createElement(ButtonsRow, { className: classNames.buttonsRow },\n canRetry && (React.createElement(LoaderButton, { variant: \"warning\", className: classNames.retryBtn, onClick: onRetryClick, colors: colors.retryBtn, finished: true }, verbiage.retryBtnText)),\n React.createElement(LoaderButton, { variant: \"secondary\", className: classNames.exitBtn, onClick: onExitClick, colors: colors.exitBtn, finished: true }, verbiage.exitBtnText)))));\n};\nvar ImageContainer = styled(OverlayImageContainer)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-height: calc(100vh - 185px);\\n margin: 0 24px;\\n\"], [\"\\n max-height: calc(100vh - 185px);\\n margin: 0 24px;\\n\"])));\nvar templateObject_1;\n//# sourceMappingURL=FaceLivenessFailure.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useContext } from 'react';\nimport { OverlayContainer, OverlayImageContainer, OverlayInner, } from '../common/overlay';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { CameraStateContext } from './CameraProvider';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport styled from 'styled-components';\nexport var MicrophoneAccessDeniedOverlay = function (_a) {\n var _b;\n var _c = _a.assets, assets = _c === void 0 ? {} : _c, _d = _a.classNames, classNames = _d === void 0 ? {} : _d, _e = _a.colors, colors = _e === void 0 ? {} : _e, _f = _a.verbiage, rawVerbiage = _f === void 0 ? {} : _f;\n var requestMicrophoneAccess = useContext(CameraStateContext).requestMicrophoneAccess;\n assets.imageUrl || (assets.imageUrl = DEFAULT_CDN_URL + '/microphone-disable-icon.svg');\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Your microphone permission is disabled',\n descriptionText: 'This application requires access to your microphone to continue. ' +\n 'Please accept the permission once prompted by the browser. ' +\n 'If the browser does not prompt for microphone permissions, you must go to settings ' +\n 'and provide microphone access to the current browser.',\n retryBtnText: 'Retry',\n });\n return (React.createElement(OverlayContainer, { className: \"flex \".concat((_b = classNames.container) !== null && _b !== void 0 ? _b : '') },\n React.createElement(StyledOverlayInner, { className: classNames.inner },\n React.createElement(StyledOverlayImageContainer, { className: classNames.imageContainer },\n React.createElement(\"img\", { src: assets.imageUrl, alt: \"\", className: classNames.image })),\n React.createElement(\"h3\", { className: classNames.heading }, verbiage.headingText),\n React.createElement(Description, { className: classNames.description }, verbiage.descriptionText),\n React.createElement(RetryButton, { variant: \"warning\", onClick: requestMicrophoneAccess, colors: colors.retryBtn, className: classNames.retryBtn, finished: true }, verbiage.retryBtnText))));\n};\nvar StyledOverlayInner = styled(OverlayInner)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-width: 500px;\\n height: auto;\\n margin: auto;\\n\"], [\"\\n max-width: 500px;\\n height: auto;\\n margin: auto;\\n\"])));\nvar StyledOverlayImageContainer = styled(OverlayImageContainer)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n flex-grow: 0;\\n\"], [\"\\n flex-grow: 0;\\n\"])));\nvar Description = styled.p(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n line-height: 1.5;\\n margin-bottom: 50px;\\n\"], [\"\\n line-height: 1.5;\\n margin-bottom: 50px;\\n\"])));\nvar RetryButton = styled(LoaderButton)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n width: 200px;\\n margin: 0 auto;\\n\"], [\"\\n width: 200px;\\n margin: 0 auto;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n//# sourceMappingURL=MicrophoneAccessDeniedOverlay.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useContext, useState } from 'react';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { OverlayContainer, OverlayImageContainer, OverlayInner, } from '../common/overlay';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { SelfieGuidanceModelsContext } from './SelfieGuidanceModelsProvider';\nimport { CameraAccessDeniedOverlay } from '../camera/CameraAccessDeniedOverlay';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport { GuidanceMessage } from '../common/GuidanceMessage';\nimport styled from 'styled-components';\nimport { ButtonsRow } from '../common/ButtonsRow';\nimport { ExitCaptureButton } from '../common/ExitCaptureButton';\nimport { MicrophoneAccessDeniedOverlay } from '../camera/MicrophoneAccessDeniedOverlay';\nexport var SelfieCaptureLoadingOverlayLegacy = function (_a) {\n var onDismissed = _a.onDismissed, onUserCancel = _a.onUserCancel, _b = _a.assets, assets = _b === void 0 ? {} : _b, _c = _a.classNames, classNames = _c === void 0 ? {} : _c, _d = _a.colors, colors = _d === void 0 ? {} : _d, _e = _a.verbiage, rawVerbiage = _e === void 0 ? {} : _e;\n var _f = useContext(CameraStateContext), cameraReady = _f.cameraReady, cameraAccessDenied = _f.cameraAccessDenied, microphoneAccessDenied = _f.microphoneAccessDenied;\n var _g = useContext(SelfieGuidanceModelsContext), modelsReady = _g.ready, modelDownloadProgress = _g.modelDownloadProgress;\n assets.instructionImageUrl || (assets.instructionImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Selfie-Image-1.png\"));\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Use your device camera to capture your face',\n removeEyeCoveringsText: 'Remove Sunglasses & Hat',\n avoidExcessiveBacklightingText: 'Avoid Excessive Backlighting',\n continueText: 'Continue',\n cameraInitializingText: 'Camera initializing...',\n downloadingText: 'Downloading...',\n modelsWarmingUpText: 'Models warming up...',\n });\n var _h = useState(false), dismissed = _h[0], setDismissed = _h[1];\n if (dismissed)\n return React.createElement(React.Fragment, null);\n if (cameraAccessDenied) {\n return (React.createElement(CameraAccessDeniedOverlay, { assets: assets.cameraAccessDenied, classNames: classNames.cameraAccessDenied, colors: colors.cameraAccessDenied, verbiage: rawVerbiage.cameraAccessDenied }));\n }\n if (microphoneAccessDenied) {\n return (React.createElement(MicrophoneAccessDeniedOverlay, { assets: assets.microphoneAccessDenied, classNames: classNames.microphoneAccessDenied, colors: colors.microphoneAccessDenied, verbiage: rawVerbiage.microphoneAccessDenied }));\n }\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n React.createElement(\"h3\", { className: classNames.heading }, verbiage.headingText),\n onUserCancel && (React.createElement(ExitCaptureButton, { onClick: onUserCancel, className: classNames.cancelBtn })),\n React.createElement(StyledGuidanceMessage, null,\n verbiage.removeEyeCoveringsText,\n React.createElement(\"br\", null),\n verbiage.avoidExcessiveBacklightingText),\n React.createElement(OverlayImageContainer, { className: classNames.imageContainer },\n React.createElement(\"img\", { className: classNames.image, alt: verbiage.headingText, src: assets.instructionImageUrl })),\n React.createElement(StyledButtonsRow, { className: classNames.buttonsRow },\n React.createElement(LoaderButton, { variant: \"positive\", disabled: !cameraReady || !modelsReady, finished: cameraReady && modelsReady, className: classNames.continueBtn, colors: colors.continueBtn, onClick: function () {\n setDismissed(true);\n onDismissed === null || onDismissed === void 0 ? void 0 : onDismissed();\n } }, cameraReady && modelsReady\n ? verbiage.continueText\n : modelsReady\n ? verbiage.cameraInitializingText\n : modelDownloadProgress >= 100\n ? \"\".concat(verbiage.modelsWarmingUpText)\n : \"\".concat(verbiage.downloadingText, \" (\").concat(modelDownloadProgress, \"%)\"))))));\n};\nvar StyledGuidanceMessage = styled(GuidanceMessage)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 12px 24px;\\n font-weight: normal;\\n line-height: 1.5;\\n margin-bottom: -30px;\\n\"], [\"\\n padding: 12px 24px;\\n font-weight: normal;\\n line-height: 1.5;\\n margin-bottom: -30px;\\n\"])));\nvar StyledButtonsRow = styled(ButtonsRow)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n flex-direction: column;\\n padding-top: 25px;\\n\"], [\"\\n flex-direction: column;\\n padding-top: 25px;\\n\"])));\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=SelfieCaptureLoadingOverlayLegacy.js.map","import React, { useEffect, useState } from 'react';\nimport { useTheme } from 'styled-components';\nexport function SelfieCaptureLoadingGraphic(_a) {\n var _b, _c, _d;\n var _e = _a.width, width = _e === void 0 ? 840 : _e, _f = _a.height, height = _f === void 0 ? 740 : _f, className = _a.className;\n var _g = useState(1), frame = _g[0], setFrame = _g[1];\n useEffect(function () {\n var i = setInterval(function () {\n setFrame(function (n) { return (n + 1) % 10; });\n }, 750);\n return function () {\n clearInterval(i);\n };\n }, []);\n var theme = useTheme();\n var accentColor = (_d = (_c = (_b = theme.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.loadingGraphicAccentColor) !== null && _d !== void 0 ? _d : 'var(--idm-color-positive-600)';\n return (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 840 740\", fill: \"none\", preserveAspectRatio: \"xMidYMax slice\", xmlns: \"http://www.w3.org/2000/svg\" },\n React.createElement(\"g\", { clipPath: \"url(#clip0_428_1188)\" },\n React.createElement(\"mask\", { id: \"mask0_428_1188\", style: { maskType: 'alpha' }, maskUnits: \"userSpaceOnUse\", x: \"0\", y: \"0\", width: \"840\", height: \"740\" },\n React.createElement(\"rect\", { width: \"840\", height: \"740\", fill: \"#D9D9D9\" })),\n React.createElement(\"g\", { mask: \"url(#mask0_428_1188)\" },\n React.createElement(\"path\", { d: \"M503.781 449.497C491.561 503.154 458.442 541.609 419.561 541.609C380.68 541.609 347.492 503.015 335.272 449.358L344.645 412.916L347.492 402.019H491.561L502.253 443.667L503.225 447.415L503.781 449.497Z\", fill: \"#D2D4DA\" }),\n React.createElement(\"path\", { d: \"M574.88 244.97C647.073 163.885 598.921 362.155 558.945 338.928C488.709 298.211 574.88 244.97 574.88 244.97Z\", fill: \"#F7A69C\" }),\n React.createElement(\"path\", { d: \"M816.983 742.838C779.698 781.432 736.86 814.612 689.786 841.127C617.161 882.012 534.399 906.862 446.153 911.027C437.335 911.513 428.448 911.721 419.491 911.721C374.986 911.721 331.731 906.446 290.281 896.519C232.514 882.706 178.358 859.8 129.271 829.397C89.9033 805.033 53.9382 775.948 22 742.838L31.512 705.355C45.8842 649.061 90.2505 605.33 146.837 591.795L153.085 590.337L222.447 573.747L241.401 569.235C249.386 567.292 257.023 564.585 264.244 561.114C270.285 558.199 276.047 554.797 281.463 550.91C287.295 546.745 292.78 542.025 297.71 536.819C310.971 522.867 320.761 505.653 325.76 486.286L333.119 457.688L335.064 449.983L335.202 449.358L344.645 412.916L347.422 402.019H491.491L502.253 443.667L503.225 447.415L503.78 449.497V449.983L505.863 457.757L513.223 486.286C520.097 512.802 535.996 535.5 557.589 550.91C569.393 559.448 582.932 565.765 597.581 569.235L615.078 573.4L692.146 591.795C748.732 605.33 793.099 649.061 807.471 705.355L816.983 742.838Z\", fill: \"#F7A69C\" }),\n React.createElement(\"path\", { d: \"M503.781 449.497C491.561 503.154 458.442 541.609 419.561 541.609C380.68 541.609 347.492 503.015 335.272 449.358L344.645 412.916L347.492 402.019H491.561L502.253 443.667L503.225 447.415L503.781 449.497Z\", fill: \"#DC968D\" }),\n React.createElement(\"path\", { d: \"M264.123 244.97C191.93 163.885 240.082 362.155 280.058 338.928C350.294 298.211 264.123 244.97 264.123 244.97Z\", fill: \"#F7A69C\" }),\n React.createElement(\"path\", { d: \"M586.473 187.324C586.473 193.432 586.126 199.402 585.432 205.371C584.876 210.785 582.446 233.9 578.141 263.331C575.781 279.713 572.726 297.969 569.115 316.294C569.115 316.502 569.115 316.78 568.976 316.988C560.159 361.621 547.731 406.045 531.484 422.219C513.154 440.544 498.435 457.203 481.632 469.211C464.83 481.289 446.014 488.786 419.631 488.786C393.247 488.786 374.431 481.289 357.629 469.211C340.896 457.203 326.107 440.544 307.778 422.219C291.531 405.976 279.103 361.482 270.216 316.918C270.216 316.918 270.216 316.71 270.216 316.641C269.105 310.879 268.063 305.118 267.022 299.426C266.605 297.066 266.189 294.706 265.772 292.346C264.036 282.351 262.509 272.563 261.12 263.401C256.121 229.596 253.691 204.122 253.691 204.122C253.136 198.638 252.858 193.016 252.858 187.324C252.858 185.866 252.858 184.408 252.858 182.951C253.205 169.832 255.01 157.06 258.274 144.843C258.412 144.287 258.551 143.732 258.69 143.177C277.228 75.4294 337.425 24.8271 410.049 20.8011C413.243 20.5928 416.368 20.5234 419.631 20.5234C465.733 20.5234 507.461 39.1956 537.663 69.3904C563.769 95.4205 581.266 130.127 585.501 168.79C586.195 174.899 586.542 181.077 586.542 187.324H586.473Z\", fill: \"#FEAEA5\" }),\n React.createElement(\"path\", { d: \"M445.867 337.327C445.867 348.849 434.133 358.151 419.622 358.151C405.111 358.151 393.447 348.849 393.447 337.327C393.447 335.939 393.586 334.55 394.002 333.301C396.293 342.88 406.916 350.099 419.622 350.099C432.328 350.099 443.02 342.88 445.312 333.301C445.728 334.62 445.867 335.939 445.867 337.327Z\", fill: \"#F7A69C\" }),\n React.createElement(\"path\", { d: \"M817.053 743.187C716.586 847.238 575.642 912 419.561 912C263.481 912 122.467 847.238 22.0698 743.118L31.5818 705.704C45.954 649.34 90.3203 605.61 146.906 592.074L222.655 574.027L241.471 569.515C249.942 567.502 258.135 564.517 265.772 560.699C304.237 601.653 358.879 627.267 419.561 627.267C480.244 627.267 534.886 601.653 573.351 560.699C580.988 564.448 589.111 567.502 597.651 569.515L614.106 573.471L692.216 592.074C748.802 605.61 793.168 649.34 807.471 705.704L817.053 743.187Z\", fill: \"#6E7174\" }),\n React.createElement(\"path\", { d: \"M614.106 573.471C597.165 594.018 534.886 659.058 419.561 663.639C286.671 668.984 226.266 579.441 222.655 574.027L241.471 569.515C249.942 567.502 258.134 564.517 265.772 560.699C304.236 601.653 358.879 627.267 419.561 627.267C480.244 627.267 534.886 601.653 573.35 560.699C580.988 564.448 589.111 567.502 597.651 569.515L614.106 573.471Z\", fill: \"#555A5E\" }),\n React.createElement(\"path\", { d: \"M249.898 196.144C249.898 249.777 270.317 315.623 270.317 315.623C270.317 315.623 266.862 205.572 314.892 164.108C347.514 135.946 374.019 167.565 417.115 167.565C456.137 167.565 492.558 136.481 525.436 164.108C578.852 208.994 568.738 315.623 568.738 315.623C568.738 315.623 589.157 250.557 589.157 196.144C589.157 76.4319 542.638 20 417.115 20C302.8 20 249.898 75.8365 249.898 196.144Z\", fill: \"#525252\" })),\n frame >= 8 ? (React.createElement(React.Fragment, null,\n React.createElement(\"path\", { d: \"M565.5 295C565.5 350.583 549.016 400.803 522.488 437.067C495.958 473.332 459.517 495.5 419.5 495.5C379.483 495.5 343.042 473.332 316.512 437.067C289.984 400.803 273.5 350.583 273.5 295C273.5 239.417 289.984 189.197 316.512 152.933C343.042 116.668 379.483 94.5 419.5 94.5C459.517 94.5 495.958 116.668 522.488 152.933C549.016 189.197 565.5 239.417 565.5 295Z\", stroke: accentColor, strokeWidth: \"5\" }),\n React.createElement(\"circle\", { cx: \"518.5\", cy: \"438.5\", r: \"25.5\", fill: accentColor }),\n React.createElement(\"path\", { d: \"M504 440.5L512 448L531 427\", stroke: \"white\", strokeWidth: \"5\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }))) : (React.createElement(React.Fragment, null,\n frame > 2 && (React.createElement(React.Fragment, null,\n frame > 3 && (React.createElement(React.Fragment, null,\n frame > 4 && (React.createElement(React.Fragment, null,\n frame > 5 && (React.createElement(React.Fragment, null,\n React.createElement(\"path\", { d: \"M298.5 182.5L419 164.5L540 182\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\n React.createElement(\"circle\", { cx: \"419\", cy: \"165\", r: \"7\", fill: \"white\" }))),\n React.createElement(\"path\", { d: \"M565.5 295C565.5 350.583 549.016 400.803 522.488 437.067C495.958 473.332 459.517 495.5 419.5 495.5C379.483 495.5 343.042 473.332 316.512 437.067C289.984 400.803 273.5 350.583 273.5 295C273.5 239.417 289.984 189.197 316.512 152.933C343.042 116.668 379.483 94.5 419.5 94.5C459.517 94.5 495.958 116.668 522.488 152.933C549.016 189.197 565.5 239.417 565.5 295Z\", stroke: \"white\", strokeOpacity: frame > 7 ? 0.8 : frame > 5 ? 0.3 : 0.1, strokeWidth: \"5\" }),\n React.createElement(\"path\", { d: \"M299.939 262.805L419 478.5L538.5 261.5\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\n React.createElement(\"path\", { d: \"M298.5 182.5L418.871 230.054L540 182\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\n React.createElement(\"path\", { d: \"M298.5 182.5L299.939 262.805\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\n React.createElement(\"path\", { d: \"M540.001 182L538.501 261.5\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\n React.createElement(\"circle\", { cx: \"299.914\", cy: \"182\", r: \"7\", fill: \"white\" }),\n React.createElement(\"circle\", { cx: \"540\", cy: \"182\", r: \"7\", fill: \"white\" }))),\n React.createElement(\"path\", { d: \"M418.828 230L419 342.5\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeOpacity: frame > 4 && frame < 7 ? 0.3 : 1 }),\n React.createElement(\"path\", { d: \"M300 263.001L419 342.501\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeOpacity: frame > 4 && frame < 7 ? 0.3 : 1 }),\n React.createElement(\"path\", { d: \"M538.5 261.5L419 342.5\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeOpacity: frame > 4 && frame < 7 ? 0.3 : 1 }),\n React.createElement(\"path\", { d: \"M301.5 409L419 342.5\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeOpacity: frame > 4 && frame < 7 ? 0.3 : 1 }),\n React.createElement(\"path\", { d: \"M536.5 410L419 342.5\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeOpacity: frame > 4 && frame < 7 ? 0.3 : 1 }),\n React.createElement(\"path\", { d: \"M300 263L419 230\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeOpacity: frame > 4 && frame < 7 ? 0.3 : 1 }),\n React.createElement(\"path\", { d: \"M538.5 261.5L419 230\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeOpacity: frame > 4 && frame < 7 ? 0.3 : 1 }),\n React.createElement(\"circle\", { cx: \"419\", cy: \"229.971\", r: \"7\", fill: \"white\" }),\n React.createElement(\"circle\", { cx: \"419\", cy: \"342.4\", r: \"7\", fill: \"white\" }))),\n React.createElement(\"path\", { d: \"M538.5 261.5L536.5 410\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeOpacity: frame > 3 && frame < 7 ? 0.3 : 1 }),\n React.createElement(\"path\", { d: \"M419 478.5L536.5 410\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeOpacity: frame > 3 && frame < 7 ? 0.3 : 1 }),\n React.createElement(\"circle\", { cx: \"537\", cy: \"263\", r: \"7\", fill: \"white\" }),\n React.createElement(\"circle\", { cx: \"537\", cy: \"409\", r: \"7\", fill: \"white\" }))),\n frame > 1 && (React.createElement(React.Fragment, null,\n React.createElement(\"path\", { d: \"M301.501 409L300.001 263\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeOpacity: frame > 2 && frame < 7 ? 0.3 : 1 }),\n React.createElement(\"path\", { d: \"M301.501 409L419.001 478.5\", stroke: \"white\", strokeWidth: \"2\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeOpacity: frame > 2 && frame < 7 ? 0.3 : 1 }),\n React.createElement(\"circle\", { cx: \"419\", cy: \"477.576\", r: \"7\", fill: \"white\" }),\n React.createElement(\"circle\", { cx: \"301.914\", cy: \"263\", r: \"7\", fill: \"white\" }),\n React.createElement(\"circle\", { cx: \"301.444\", cy: \"409\", r: \"7\", fill: \"white\" })))))),\n React.createElement(\"defs\", null,\n React.createElement(\"clipPath\", { id: \"clip0_428_1188\" },\n React.createElement(\"rect\", { width: \"840\", height: \"740\", fill: \"white\" })))));\n}\n//# sourceMappingURL=SelfieCaptureLoadingGraphic.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useContext, useEffect, useState } from 'react';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { OverlayContainer, OverlayImageContainer } from '../common/overlay';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { SelfieGuidanceModelsContext } from './SelfieGuidanceModelsProvider';\nimport { CameraAccessDeniedOverlay } from '../camera/CameraAccessDeniedOverlay';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport { GuidanceMessage } from '../common/GuidanceMessage';\nimport styled from 'styled-components';\nimport { ButtonsRow } from '../common/ButtonsRow';\nimport { ExitCaptureButton } from '../common/ExitCaptureButton';\nimport { SelfieCaptureLoadingGraphic } from './SelfieCaptureLoadingGraphic';\nimport { MicrophoneAccessDeniedOverlay } from '../camera/MicrophoneAccessDeniedOverlay';\nvar legacyInstructionImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Selfie-Image-1.png\");\nexport var SelfieCaptureLoadingOverlayDefault = function (_a) {\n var onDismissed = _a.onDismissed, onUserCancel = _a.onUserCancel, _b = _a.assets, assets = _b === void 0 ? {} : _b, _c = _a.classNames, classNames = _c === void 0 ? {} : _c, _d = _a.colors, colors = _d === void 0 ? {} : _d, _e = _a.verbiage, rawVerbiage = _e === void 0 ? {} : _e;\n var _f = useContext(CameraStateContext), cameraReady = _f.cameraReady, cameraAccessDenied = _f.cameraAccessDenied, microphoneAccessDenied = _f.microphoneAccessDenied;\n var _g = useContext(SelfieGuidanceModelsContext), modelsReady = _g.ready, modelDownloadProgress = _g.modelDownloadProgress;\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Use your device camera to capture your face',\n removeEyeCoveringsText: 'Remove Sunglasses & Hat',\n avoidExcessiveBacklightingText: 'Avoid Excessive Backlighting',\n continueText: \"Let's Go!\",\n cameraInitializingText: 'Accessing camera...',\n cameraInitializedText: 'Camera ready',\n downloadingText: 'Downloading...',\n modelsWarmingUpText: 'Loading guided capture experience...',\n modelsReadyText: 'Guided capture experience ready',\n });\n var _h = useState(0), headingTextIndex = _h[0], setHeadingTextIndex = _h[1];\n var headingText = [\n verbiage.headingText,\n verbiage.removeEyeCoveringsText,\n verbiage.avoidExcessiveBacklightingText,\n ][headingTextIndex];\n useEffect(function () {\n setInterval(function () {\n setHeadingTextIndex(function (n) { return (n + 1) % 3; });\n }, 3000);\n }, []);\n var _j = useState(false), dismissed = _j[0], setDismissed = _j[1];\n if (dismissed)\n return React.createElement(React.Fragment, null);\n if (cameraAccessDenied) {\n return (React.createElement(CameraAccessDeniedOverlay, { assets: assets.cameraAccessDenied, classNames: classNames.cameraAccessDenied, colors: colors.cameraAccessDenied, verbiage: rawVerbiage.cameraAccessDenied }));\n }\n if (microphoneAccessDenied) {\n return (React.createElement(MicrophoneAccessDeniedOverlay, { assets: assets.microphoneAccessDenied, classNames: classNames.microphoneAccessDenied, colors: colors.microphoneAccessDenied, verbiage: rawVerbiage.microphoneAccessDenied }));\n }\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n onUserCancel && (React.createElement(ExitCaptureButton, { onClick: onUserCancel, className: classNames.cancelBtn })),\n React.createElement(OverlayHeader, { className: classNames.headingContainer },\n React.createElement(StyledGuidanceMessage, { className: classNames.heading }, headingText)),\n React.createElement(StyledOverlayImageContainer, { className: classNames.imageContainer }, (assets === null || assets === void 0 ? void 0 : assets.instructionImageUrl) &&\n assets.instructionImageUrl !== legacyInstructionImageUrl ? (React.createElement(CustomLoadingGraphic, { className: classNames.image, alt: verbiage.headingText, src: assets.instructionImageUrl })) : (React.createElement(SelfieCaptureLoadingGraphic, { className: classNames.image }))),\n React.createElement(StyledButtonsRow, { className: classNames.buttonsRow },\n React.createElement(ProgressContainer, { className: classNames.progressContainer },\n React.createElement(ProgressBarBackground, { className: classNames.progressBackground }),\n React.createElement(ProgressBar, { \"$progress\": modelDownloadProgress, className: classNames.progressBar },\n React.createElement(ProgressIndicator, { className: classNames.progressIndicator }))),\n React.createElement(LoadingListContainer, { className: classNames.loadingListContainer },\n React.createElement(LoadingList, { className: classNames.loadingList },\n React.createElement(LoadingListItem, { className: \"\".concat(classNames.loadingListItem, \" \").concat(cameraReady ? 'done' : 'running') }, cameraReady\n ? verbiage.cameraInitializedText\n : verbiage.cameraInitializingText),\n React.createElement(LoadingListItem, { className: \"\".concat(classNames.loadingListItem, \" \").concat(modelsReady ? 'done' : 'running') }, modelsReady\n ? verbiage.modelsReadyText\n : modelDownloadProgress >= 100\n ? verbiage.modelsWarmingUpText\n : \"\".concat(verbiage.downloadingText, \" (\").concat(modelDownloadProgress, \"%)\")))),\n React.createElement(ContinueButtonContainer, { className: classNames.continueBtnContainer }, modelsReady && cameraReady && (React.createElement(ContinueButton, { finished: true, className: classNames.continueBtn, variant: \"positive\", colors: colors.continueBtn, onClick: function () {\n setDismissed(true);\n onDismissed === null || onDismissed === void 0 ? void 0 : onDismissed();\n } }, verbiage.continueText)))))));\n};\nvar OverlayInner = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n height: 100dvh;\\n display: flex;\\n flex-direction: column;\\n background: \", \";\\n color: \", \";\\n\"], [\"\\n height: 100dvh;\\n display: flex;\\n flex-direction: column;\\n background: \", \";\\n color: \", \";\\n\"])), function (props) { var _a, _b, _c, _d; return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.backgroundColor) !== null && _d !== void 0 ? _d : '#ecedf3'; }, function (props) { var _a, _b, _c, _d; return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.textColor) !== null && _d !== void 0 ? _d : 'black'; });\nvar OverlayHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n text-align: \", \";\\n display: flex;\\n flex-direction: column;\\n flex-wrap: nowrap;\\n \", \"\\n padding-bottom: 0;\\n\"], [\"\\n text-align: \", \";\\n display: flex;\\n flex-direction: column;\\n flex-wrap: nowrap;\\n \", \"\\n padding-bottom: 0;\\n\"])), function (props) { var _a; return (_a = props.theme.textAlign) !== null && _a !== void 0 ? _a : 'center'; }, function (props) {\n return props.theme.padding\n ? \"box-sizing: border-box; padding: \".concat(props.theme.padding, \";\")\n : \"\";\n});\nvar StyledGuidanceMessage = styled(GuidanceMessage)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n padding: 16px 24px;\\n margin-top: 16px;\\n font-size: 18px;\\n font-weight: bold;\\n background: white;\\n box-shadow:\\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n\"], [\"\\n padding: 16px 24px;\\n margin-top: 16px;\\n font-size: 18px;\\n font-weight: bold;\\n background: white;\\n box-shadow:\\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n\"])));\nvar StyledButtonsRow = styled(ButtonsRow)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n padding: 15px 25px;\\n height: 100px;\\n color: \", \";\\n \", \"\\n position: fixed;\\n bottom: 0;\\n left: 0;\\n width: 100dvw;\\n box-sizing: border-box;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n padding: 15px 25px;\\n height: 100px;\\n color: \", \";\\n \", \"\\n position: fixed;\\n bottom: 0;\\n left: 0;\\n width: 100dvw;\\n box-sizing: border-box;\\n\"])), function (props) {\n var _a, _b, _c, _d;\n return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarTextColor) !== null && _d !== void 0 ? _d : 'white';\n}, function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarFontSize)\n ? \"font-size: \".concat((_f = (_e = (_d = props.theme) === null || _d === void 0 ? void 0 : _d.selfieCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.progressBarFontSize, \";\")\n : '';\n});\nvar StyledOverlayImageContainer = styled(OverlayImageContainer)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n padding: 0;\\n\\n & > svg {\\n height: 100%;\\n }\\n\"], [\"\\n padding: 0;\\n\\n & > svg {\\n height: 100%;\\n }\\n\"])));\nvar LoadingListContainer = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n display: flex;\\n position: relative;\\n z-index: 2;\\n\"], [\"\\n display: flex;\\n position: relative;\\n z-index: 2;\\n\"])));\nvar LoadingList = styled.ul(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n display: block;\\n margin: auto;\\n list-style: none;\\n padding: 0;\\n\"], [\"\\n display: block;\\n margin: auto;\\n list-style: none;\\n padding: 0;\\n\"])));\nvar LoadingListItem = styled.li(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n padding: 2px 1.25rem 2px 0;\\n line-height: 1rem;\\n\\n &::before {\\n content: '';\\n display: inline-block;\\n height: 1rem;\\n min-width: 1rem;\\n vertical-align: middle;\\n background-size: cover;\\n background-repeat: no-repeat;\\n margin: auto 0.5rem auto 0;\\n }\\n\\n &.done::before {\\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzg1KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTE5LjU2NDMgOC4yNzg1MkMxOS45NTQ5IDcuODg3OTkgMTkuOTU0OSA3LjI1NDgzIDE5LjU2NDMgNi44NjQzQzE5LjE3MzggNi40NzM3OCAxOC41NDA2IDYuNDczNzggMTguMTUwMSA2Ljg2NDNMOS40Mjg2NiAxNS41ODU4TDUuODUwMDUgMTIuMDA3MkM1LjQ1OTUzIDExLjYxNjYgNC44MjYzNiAxMS42MTY2IDQuNDM1ODQgMTIuMDA3MkM0LjA0NTMxIDEyLjM5NzcgNC4wNDUzMSAxMy4wMzA5IDQuNDM1ODQgMTMuNDIxNEw4LjcyMTU1IDE3LjcwNzFDOS4xMTIwOCAxOC4wOTc2IDkuNzQ1MjQgMTguMDk3NiAxMC4xMzU4IDE3LjcwNzFMMTkuNTY0MyA4LjI3ODUyWiIgZmlsbD0id2hpdGUiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80OV8zODUiPjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=');\\n }\\n\\n &.running::before {\\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzcwKSI+PG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV80OV8zNzAiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTE0NzIgMjAuNDg1NUM4LjIwMTAxIDI1LjE3MTggMTUuNzk5IDI1LjE3MTggMjAuNDg1MyAyMC40ODU1QzI1LjE3MTYgMTUuNzk5MiAyNS4xNzE2IDguMjAxMTkgMjAuNDg1MyAzLjUxNDlDMTUuNzk5IC0xLjE3MTM5IDguMjAxMDEgLTEuMTcxMzkgMy41MTQ3MiAzLjUxNDlDLTEuMTcxNTcgOC4yMDExOSAtMS4xNzE1NyAxNS43OTkyIDMuNTE0NzIgMjAuNDg1NVoiLz48L21hc2s+PHBhdGggZD0iTTYuMzk4MTQgMTEuNDU5QzUuODQ1ODYgMTEuNDU5IDUuMzk4MTQgMTEuOTA2NyA1LjM5ODE0IDEyLjQ1OUM1LjM5ODE0IDEzLjAxMTIgNS44NDU4NiAxMy40NTkgNi4zOTgxNCAxMy40NTlWMTEuNDU5Wk0xNy42MDE5IDEzLjQ1OUMxOC4xNTQxIDEzLjQ1OSAxOC42MDE5IDEzLjAxMTIgMTguNjAxOSAxMi40NTlDMTguNjAxOSAxMS45MDY3IDE4LjE1NDEgMTEuNDU5IDE3LjYwMTkgMTEuNDU5VjEzLjQ1OVpNNi4zOTgxNCAxMy40NTlIMTcuNjAxOVYxMS40NTlINi4zOTgxNFYxMy40NTlaTTMuNTE0NzIgMjAuNDg1NUw0LjkyODkzIDE5LjA3MTNMNC45Mjg5MyAxOS4wNzEzTDMuNTE0NzIgMjAuNDg1NVpNMjAuNDg1MyAzLjUxNDlMMTkuMDcxMSA0LjkyOTEyTDE5LjA3MTEgNC45MjkxMkwyMC40ODUzIDMuNTE0OVpNMy41MTQ3MiAzLjUxNDlMNC45Mjg5MyA0LjkyOTEyTDQuOTI4OTMgNC45MjkxMkwzLjUxNDcyIDMuNTE0OVpNMTkuMDcxMSAxOS4wNzEzQzE1LjE2NTggMjIuOTc2NSA4LjgzNDE3IDIyLjk3NjUgNC45Mjg5MyAxOS4wNzEzTDIuMTAwNTEgMjEuODk5N0M3LjU2Nzg0IDI3LjM2NyAxNi40MzIyIDI3LjM2NyAyMS44OTk1IDIxLjg5OTdMMTkuMDcxMSAxOS4wNzEzWk0xOS4wNzExIDQuOTI5MTJDMjIuOTc2MyA4LjgzNDM2IDIyLjk3NjMgMTUuMTY2IDE5LjA3MTEgMTkuMDcxM0wyMS44OTk1IDIxLjg5OTdDMjcuMzY2OCAxNi40MzIzIDI3LjM2NjggNy41NjgwMyAyMS44OTk1IDIuMTAwNjlMMTkuMDcxMSA0LjkyOTEyWk00LjkyODkzIDQuOTI5MTJDOC44MzQxNyAxLjAyMzg3IDE1LjE2NTggMS4wMjM4NyAxOS4wNzExIDQuOTI5MTJMMjEuODk5NSAyLjEwMDY5QzE2LjQzMjIgLTMuMzY2NjUgNy41Njc4NCAtMy4zNjY2NSAyLjEwMDUxIDIuMTAwNjlMNC45Mjg5MyA0LjkyOTEyWk00LjkyODkzIDE5LjA3MTNDMS4wMjM2OSAxNS4xNjYgMS4wMjM2OSA4LjgzNDM2IDQuOTI4OTMgNC45MjkxMkwyLjEwMDUxIDIuMTAwNjlDLTMuMzY2ODMgNy41NjgwMyAtMy4zNjY4MyAxNi40MzIzIDIuMTAwNTEgMjEuODk5N0w0LjkyODkzIDE5LjA3MTNaIiBmaWxsPSJ3aGl0ZSIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNDlfMzcwKSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzQ5XzM3MCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==');\\n }\\n\"], [\"\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n padding: 2px 1.25rem 2px 0;\\n line-height: 1rem;\\n\\n &::before {\\n content: '';\\n display: inline-block;\\n height: 1rem;\\n min-width: 1rem;\\n vertical-align: middle;\\n background-size: cover;\\n background-repeat: no-repeat;\\n margin: auto 0.5rem auto 0;\\n }\\n\\n &.done::before {\\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzg1KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTE5LjU2NDMgOC4yNzg1MkMxOS45NTQ5IDcuODg3OTkgMTkuOTU0OSA3LjI1NDgzIDE5LjU2NDMgNi44NjQzQzE5LjE3MzggNi40NzM3OCAxOC41NDA2IDYuNDczNzggMTguMTUwMSA2Ljg2NDNMOS40Mjg2NiAxNS41ODU4TDUuODUwMDUgMTIuMDA3MkM1LjQ1OTUzIDExLjYxNjYgNC44MjYzNiAxMS42MTY2IDQuNDM1ODQgMTIuMDA3MkM0LjA0NTMxIDEyLjM5NzcgNC4wNDUzMSAxMy4wMzA5IDQuNDM1ODQgMTMuNDIxNEw4LjcyMTU1IDE3LjcwNzFDOS4xMTIwOCAxOC4wOTc2IDkuNzQ1MjQgMTguMDk3NiAxMC4xMzU4IDE3LjcwNzFMMTkuNTY0MyA4LjI3ODUyWiIgZmlsbD0id2hpdGUiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80OV8zODUiPjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=');\\n }\\n\\n &.running::before {\\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDlfMzcwKSI+PG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV80OV8zNzAiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTE0NzIgMjAuNDg1NUM4LjIwMTAxIDI1LjE3MTggMTUuNzk5IDI1LjE3MTggMjAuNDg1MyAyMC40ODU1QzI1LjE3MTYgMTUuNzk5MiAyNS4xNzE2IDguMjAxMTkgMjAuNDg1MyAzLjUxNDlDMTUuNzk5IC0xLjE3MTM5IDguMjAxMDEgLTEuMTcxMzkgMy41MTQ3MiAzLjUxNDlDLTEuMTcxNTcgOC4yMDExOSAtMS4xNzE1NyAxNS43OTkyIDMuNTE0NzIgMjAuNDg1NVoiLz48L21hc2s+PHBhdGggZD0iTTYuMzk4MTQgMTEuNDU5QzUuODQ1ODYgMTEuNDU5IDUuMzk4MTQgMTEuOTA2NyA1LjM5ODE0IDEyLjQ1OUM1LjM5ODE0IDEzLjAxMTIgNS44NDU4NiAxMy40NTkgNi4zOTgxNCAxMy40NTlWMTEuNDU5Wk0xNy42MDE5IDEzLjQ1OUMxOC4xNTQxIDEzLjQ1OSAxOC42MDE5IDEzLjAxMTIgMTguNjAxOSAxMi40NTlDMTguNjAxOSAxMS45MDY3IDE4LjE1NDEgMTEuNDU5IDE3LjYwMTkgMTEuNDU5VjEzLjQ1OVpNNi4zOTgxNCAxMy40NTlIMTcuNjAxOVYxMS40NTlINi4zOTgxNFYxMy40NTlaTTMuNTE0NzIgMjAuNDg1NUw0LjkyODkzIDE5LjA3MTNMNC45Mjg5MyAxOS4wNzEzTDMuNTE0NzIgMjAuNDg1NVpNMjAuNDg1MyAzLjUxNDlMMTkuMDcxMSA0LjkyOTEyTDE5LjA3MTEgNC45MjkxMkwyMC40ODUzIDMuNTE0OVpNMy41MTQ3MiAzLjUxNDlMNC45Mjg5MyA0LjkyOTEyTDQuOTI4OTMgNC45MjkxMkwzLjUxNDcyIDMuNTE0OVpNMTkuMDcxMSAxOS4wNzEzQzE1LjE2NTggMjIuOTc2NSA4LjgzNDE3IDIyLjk3NjUgNC45Mjg5MyAxOS4wNzEzTDIuMTAwNTEgMjEuODk5N0M3LjU2Nzg0IDI3LjM2NyAxNi40MzIyIDI3LjM2NyAyMS44OTk1IDIxLjg5OTdMMTkuMDcxMSAxOS4wNzEzWk0xOS4wNzExIDQuOTI5MTJDMjIuOTc2MyA4LjgzNDM2IDIyLjk3NjMgMTUuMTY2IDE5LjA3MTEgMTkuMDcxM0wyMS44OTk1IDIxLjg5OTdDMjcuMzY2OCAxNi40MzIzIDI3LjM2NjggNy41NjgwMyAyMS44OTk1IDIuMTAwNjlMMTkuMDcxMSA0LjkyOTEyWk00LjkyODkzIDQuOTI5MTJDOC44MzQxNyAxLjAyMzg3IDE1LjE2NTggMS4wMjM4NyAxOS4wNzExIDQuOTI5MTJMMjEuODk5NSAyLjEwMDY5QzE2LjQzMjIgLTMuMzY2NjUgNy41Njc4NCAtMy4zNjY2NSAyLjEwMDUxIDIuMTAwNjlMNC45Mjg5MyA0LjkyOTEyWk00LjkyODkzIDE5LjA3MTNDMS4wMjM2OSAxNS4xNjYgMS4wMjM2OSA4LjgzNDM2IDQuOTI4OTMgNC45MjkxMkwyLjEwMDUxIDIuMTAwNjlDLTMuMzY2ODMgNy41NjgwMyAtMy4zNjY4MyAxNi40MzIzIDIuMTAwNTEgMjEuODk5N0w0LjkyODkzIDE5LjA3MTNaIiBmaWxsPSJ3aGl0ZSIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNDlfMzcwKSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzQ5XzM3MCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==');\\n }\\n\"])));\nvar ProgressContainer = styled.div(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n\"], [\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n\"])));\nvar ProgressBarBackground = styled.div(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background: \", \";\\n opacity: \", \";\\n\"], [\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background: \", \";\\n opacity: \", \";\\n\"])), function (props) {\n var _a, _b, _c, _d;\n return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarBackgroundColor) !== null && _d !== void 0 ? _d : 'var(--idm-color-positive-600)';\n}, function (props) {\n var _a, _b, _c, _d;\n return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarBackgroundOpacity) !== null && _d !== void 0 ? _d : 0.75;\n});\nvar ProgressBar = styled.span(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n display: block;\\n width: \", \"%;\\n height: 100%;\\n\"], [\"\\n display: block;\\n width: \", \"%;\\n height: 100%;\\n\"])), function (props) { return props.$progress; });\nvar ProgressIndicator = styled.span(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\\n display: block;\\n height: 100%;\\n background: \", \";\\n animation: progressBar 3s ease-in-out;\\n animation-fill-mode: both;\\n\\n @keyframes progressBar {\\n 0% {\\n width: 0;\\n }\\n 100% {\\n width: 100%;\\n }\\n }\\n\"], [\"\\n display: block;\\n height: 100%;\\n background: \", \";\\n animation: progressBar 3s ease-in-out;\\n animation-fill-mode: both;\\n\\n @keyframes progressBar {\\n 0% {\\n width: 0;\\n }\\n 100% {\\n width: 100%;\\n }\\n }\\n\"])), function (props) {\n var _a, _b, _c, _d;\n return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarIndicatorColor) !== null && _d !== void 0 ? _d : 'var(--idm-color-positive-600)';\n});\nvar CustomLoadingGraphic = styled.img(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\"], [\"\"])));\nvar ContinueButtonContainer = styled.div(templateObject_14 || (templateObject_14 = __makeTemplateObject([\"\\n display: flex;\\n\"], [\"\\n display: flex;\\n\"])));\nvar ContinueButton = styled(LoaderButton)(templateObject_15 || (templateObject_15 = __makeTemplateObject([\"\\n margin: auto;\\n white-space: nowrap;\\n \", \"\\n \", \"\\n\"], [\"\\n margin: auto;\\n white-space: nowrap;\\n \", \"\\n \", \"\\n\"])), function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarFontSize)\n ? \"font-size: \".concat((_f = (_e = (_d = props.theme) === null || _d === void 0 ? void 0 : _d.selfieCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.progressBarFontSize, \";\")\n : '';\n}, function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.continueBtnBorder)\n ? \"border: \".concat((_f = (_e = (_d = props.theme) === null || _d === void 0 ? void 0 : _d.selfieCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.continueBtnBorder, \";\")\n : '';\n});\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15;\n//# sourceMappingURL=SelfieCaptureLoadingOverlayDefault.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport { SelfieCaptureLoadingOverlayLegacy } from './SelfieCaptureLoadingOverlayLegacy';\nimport { SelfieCaptureLoadingOverlayDefault } from './SelfieCaptureLoadingOverlayDefault';\nvar components = {\n default: SelfieCaptureLoadingOverlayDefault,\n legacy: SelfieCaptureLoadingOverlayLegacy,\n};\nexport var SelfieCaptureLoadingOverlay = function (_a) {\n var _b;\n var _c = _a.mode, mode = _c === void 0 ? 'default' : _c, props = __rest(_a, [\"mode\"]);\n var Component = (_b = components[mode]) !== null && _b !== void 0 ? _b : components.default;\n return React.createElement(Component, __assign({}, props));\n};\n//# sourceMappingURL=SelfieCaptureLoadingOverlay.js.map","import { __awaiter, __generator } from \"tslib\";\nimport React, { useCallback, useContext, useEffect, useRef, useState, } from 'react';\nimport { FaceLivenessCapture, } from './FaceLivenessCapture';\nimport { FaceLivenessSuccess, } from './FaceLivenessSuccess';\nimport { FaceLivenessFailure, } from './FaceLivenessFailure';\nimport { dataUrlToBase64 } from '../../lib/utils/dataUrlToBase64';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { useShowSuccessScreen } from '../common/useShowSuccessScreen';\nimport { SubmissionContext } from '../submission/SubmissionProvider';\nimport { SelfieCaptureLoadingOverlay, } from '../selfie_capture/SelfieCaptureLoadingOverlay';\nimport { PageContainer } from '../common/Page';\nimport { CameraVideoTag } from '../camera/CameraVideoTag';\nimport { SelfieGuidanceModelsContext } from '../selfie_capture/SelfieGuidanceModelsProvider';\nexport var FaceLivenessWizard = function (_a) {\n var _b, _c, _d;\n var onComplete = _a.onComplete, onSuccess = _a.onSuccess, onTimeout = _a.onTimeout, onExitCapture = _a.onExitCapture, onExitAfterFailure = _a.onExitAfterFailure, onUserCancel = _a.onUserCancel, _e = _a.loadingOverlayMode, loadingOverlayMode = _e === void 0 ? 'default' : _e, _f = _a.timeoutDurationMs, timeoutDurationMs = _f === void 0 ? 15000 : _f, _g = _a.maxRetries, maxRetries = _g === void 0 ? 2 : _g, _h = _a.skipSuccessScreen, skipSuccessScreen = _h === void 0 ? false : _h, _j = _a.renderCameraFeed, renderCameraFeed = _j === void 0 ? true : _j, _k = _a.releaseCameraAccessOnExit, releaseCameraAccessOnExit = _k === void 0 ? true : _k, _l = _a.silentFallback, silentFallback = _l === void 0 ? false : _l, _m = _a.assets, assets = _m === void 0 ? {} : _m, _o = _a.classNames, classNames = _o === void 0 ? {} : _o, _p = _a.colors, colors = _p === void 0 ? {} : _p, _q = _a.verbiage, verbiage = _q === void 0 ? {} : _q, _r = _a.debugMode, debugMode = _r === void 0 ? false : _r;\n var _s = useContext(SubmissionContext), submissionResponse = _s.submissionResponse, livenessCheckRequest = _s.livenessCheckRequest, setSelfieImage = _s.setSelfieImage, logSelfieCaptureAttempt = _s.logSelfieCaptureAttempt;\n var _t = useContext(CameraStateContext), cameraAccessDenied = _t.cameraAccessDenied, requestCameraAccess = _t.requestCameraAccess, releaseCameraAccess = _t.releaseCameraAccess;\n var _u = useState(''), faceCropImageUrl = _u[0], setFaceCropImageUrl = _u[1];\n var _v = useState(0), retryCount = _v[0], setRetryCount = _v[1];\n var _w = useState('LOADING'), captureState = _w[0], setCaptureState = _w[1];\n var captureStartedAt = useRef();\n var captureEndedAt = useRef();\n var operationStartedAt = useRef();\n var _x = useContext(SelfieGuidanceModelsContext), start = _x.start, stop = _x.stop;\n useEffect(function () {\n operationStartedAt.current = new Date();\n }, []);\n useEffect(function () {\n if (captureState !== 'CAPTURING')\n return;\n captureStartedAt.current = new Date();\n start();\n return function () {\n stop();\n };\n }, [captureState, start, stop]);\n var onCapture = useCallback(function () {\n captureEndedAt.current = new Date();\n }, []);\n var logCaptureMetadata = useCallback(function () {\n var _a, _b, _c;\n logSelfieCaptureAttempt({\n autoCapture: 'Y',\n captureTime: ((_a = captureEndedAt.current) !== null && _a !== void 0 ? _a : new Date()).getTime() -\n ((_b = captureStartedAt.current) !== null && _b !== void 0 ? _b : new Date()).getTime(),\n operationTime: new Date().getTime() -\n ((_c = operationStartedAt.current) !== null && _c !== void 0 ? _c : new Date()).getTime(),\n });\n operationStartedAt.current = new Date();\n }, [logSelfieCaptureAttempt]);\n var onSuccessCallback = useCallback(function (faceCropImageUrl) { return __awaiter(void 0, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!livenessCheckRequest || !submissionResponse)\n return [2 /*return*/];\n setCaptureState('SUCCESS');\n setFaceCropImageUrl(faceCropImageUrl);\n _a = setSelfieImage;\n return [4 /*yield*/, dataUrlToBase64(faceCropImageUrl)];\n case 1:\n _a.apply(void 0, [_b.sent()]);\n onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(submissionResponse, livenessCheckRequest);\n return [2 /*return*/];\n }\n });\n }); }, [onSuccess, setSelfieImage, livenessCheckRequest, submissionResponse]);\n // todo: JN - how this is being used, it would make sense to rename the prop as well, but that would be a breaking change - discuss\n var onFailureOrTimeout = useCallback(function () {\n setCaptureState('FAILED');\n onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout(submissionResponse, livenessCheckRequest);\n }, [onTimeout, livenessCheckRequest, submissionResponse]);\n var _y = useState(0), attempt = _y[0], setAttempt = _y[1];\n var onExitCallback = useCallback(function () {\n setAttempt(function (n) { return n + 1; });\n setCaptureState('LOADING');\n releaseCameraAccess();\n onExitCapture === null || onExitCapture === void 0 ? void 0 : onExitCapture();\n requestCameraAccess();\n }, [onExitCapture, releaseCameraAccess, requestCameraAccess]);\n var onRetryCallback = useCallback(function () {\n logCaptureMetadata();\n setAttempt(function (n) { return n + 1; });\n setRetryCount(function (n) { return n + 1; });\n setCaptureState('LOADING');\n releaseCameraAccess();\n requestCameraAccess();\n }, [logCaptureMetadata, releaseCameraAccess, requestCameraAccess]);\n var onDoneCallback = useCallback(function () {\n logCaptureMetadata();\n releaseCameraAccessOnExit && releaseCameraAccess();\n setTimeout(function () {\n onComplete === null || onComplete === void 0 ? void 0 : onComplete(submissionResponse, livenessCheckRequest);\n }, 0);\n }, [\n logCaptureMetadata,\n onComplete,\n releaseCameraAccess,\n releaseCameraAccessOnExit,\n livenessCheckRequest,\n submissionResponse,\n ]);\n var showSuccessScreen = useShowSuccessScreen(skipSuccessScreen, captureState === 'SUCCESS', onDoneCallback);\n useEffect(function () {\n if (cameraAccessDenied) {\n setAttempt(function (n) { return n + 1; });\n setCaptureState('LOADING');\n }\n }, [cameraAccessDenied]);\n return (React.createElement(React.Fragment, null,\n React.createElement(PageContainer, { className: \"flex \".concat((_c = (_b = classNames.capture) === null || _b === void 0 ? void 0 : _b.container) !== null && _c !== void 0 ? _c : '') },\n renderCameraFeed && (React.createElement(CameraVideoTag, { className: (_d = classNames.capture) === null || _d === void 0 ? void 0 : _d.cameraFeed })),\n captureState !== 'LOADING' &&\n (function () {\n switch (captureState) {\n case 'CAPTURING':\n return (React.createElement(FaceLivenessCapture, { key: \"capture\".concat(attempt), onCapture: onCapture, onSuccess: onSuccessCallback, onTimeout: onFailureOrTimeout, onExit: onExitCallback, timeoutDurationMs: timeoutDurationMs, silentFallback: silentFallback, classNames: classNames.capture, colors: colors, verbiage: verbiage, debugMode: debugMode }));\n case 'SUCCESS':\n if (!showSuccessScreen)\n return null;\n return (React.createElement(FaceLivenessSuccess, { key: \"success\", imageUrl: faceCropImageUrl, classNames: classNames.success, colors: colors.success, verbiage: verbiage.success, onDoneClick: onDoneCallback, onRetryClick: onRetryCallback }));\n case 'FAILED':\n return (React.createElement(FaceLivenessFailure, { key: \"failure\", assets: assets.failure, classNames: classNames.failure, colors: colors.failure, verbiage: verbiage.failure, canRetry: maxRetries > -1 && retryCount < maxRetries, onRetryClick: onRetryCallback, onExitClick: function () {\n releaseCameraAccessOnExit && releaseCameraAccess();\n setTimeout(function () {\n onExitAfterFailure === null || onExitAfterFailure === void 0 ? void 0 : onExitAfterFailure(submissionResponse, livenessCheckRequest);\n }, 0);\n } }));\n default:\n return null;\n }\n })()),\n React.createElement(SelfieCaptureLoadingOverlay, { key: attempt, mode: loadingOverlayMode, assets: assets.loadingOverlay, classNames: classNames.loadingOverlay, colors: colors.loadingOverlay, verbiage: verbiage.loadingOverlay, onUserCancel: onUserCancel, onDismissed: function () {\n setCaptureState('CAPTURING');\n } })));\n};\n//# sourceMappingURL=FaceLivenessWizard.js.map","import React, { useCallback, useState } from 'react';\nimport { GuideOrientationContext, } from '../contexts/GuideOrientationContext';\nimport useResizeObserver from 'use-resize-observer';\nexport var GuideOrientationProvider = function (_a) {\n var children = _a.children;\n var setDimensions = useState({ width: 1, height: 1 })[1];\n var _b = useState(1), imageAspectRatio = _b[0], setImageAspectRatio = _b[1];\n var _c = useResizeObserver(), wrapperRef = _c.ref, _d = _c.width, wrapperWidth = _d === void 0 ? 1 : _d, _e = _c.height, wrapperHeight = _e === void 0 ? 1 : _e;\n var wrapperAspectRatio = wrapperWidth / wrapperHeight;\n var onImageLoaded = useCallback(function (e) {\n var img = e.target;\n setImageAspectRatio(img.naturalWidth / img.naturalHeight);\n }, []);\n var orientation = 'landscape'; //width > height ? 'landscape' : 'portrait'\n var value = {\n orientation: orientation,\n wrapperWidth: wrapperWidth,\n wrapperHeight: wrapperHeight,\n wrapperAspectRatio: wrapperAspectRatio,\n imageAspectRatio: imageAspectRatio,\n setDimensions: setDimensions,\n wrapperRef: wrapperRef,\n onImageLoaded: onImageLoaded,\n };\n return (React.createElement(GuideOrientationContext.Provider, { value: value }, children));\n};\n//# sourceMappingURL=GuideOrientationProvider.js.map","import React, { useContext, useMemo, useState } from 'react';\nimport { SubmissionContext } from './SubmissionProvider';\nexport var SubmissionSuccess = function () {\n var _a = useContext(SubmissionContext), submissionRequest = _a.submissionRequest, submissionResponse = _a.submissionResponse;\n var _b = useState(false), showRequestBody = _b[0], setShowRequestBody = _b[1];\n var _c = useState(true), truncateImages = _c[0], setTruncateImages = _c[1];\n var requestBodyDisplay = useMemo(function () {\n var _a, _b, _c, _d, _e, _f;\n var body = JSON.parse(JSON.stringify(submissionRequest));\n if (truncateImages) {\n if ((_b = (_a = body === null || body === void 0 ? void 0 : body.customerData) === null || _a === void 0 ? void 0 : _a.idData) === null || _b === void 0 ? void 0 : _b.idImageFront)\n body.customerData.idData.idImageFront = truncate(body.customerData.idData.idImageFront, 200);\n if ((_d = (_c = body === null || body === void 0 ? void 0 : body.customerData) === null || _c === void 0 ? void 0 : _c.idData) === null || _d === void 0 ? void 0 : _d.idImageBack)\n body.customerData.idData.idImageBack = truncate(body.customerData.idData.idImageBack, 200);\n if ((_f = (_e = body === null || body === void 0 ? void 0 : body.customerData) === null || _e === void 0 ? void 0 : _e.biometricData) === null || _f === void 0 ? void 0 : _f.selfie)\n body.customerData.biometricData.selfie = truncate(body.customerData.biometricData.selfie, 200);\n }\n return JSON.stringify(body, null, 2);\n }, [submissionRequest, truncateImages]);\n return (React.createElement(React.Fragment, null,\n React.createElement(\"h3\", null, \"Submission completed!\"),\n React.createElement(\"button\", { onClick: function () {\n setShowRequestBody(!showRequestBody);\n } },\n showRequestBody ? 'Hide' : 'Show',\n \" request body\"),\n showRequestBody && (React.createElement(React.Fragment, null,\n React.createElement(\"button\", { style: { marginLeft: 8 }, onClick: function () {\n setTruncateImages(!truncateImages);\n } }, truncateImages ? 'Display full images' : 'Truncate images'),\n React.createElement(\"h5\", null, \"Request Body\"),\n React.createElement(\"pre\", null, requestBodyDisplay))),\n React.createElement(\"h5\", null, \"Response Body\"),\n React.createElement(\"pre\", null, JSON.stringify(submissionResponse, null, 2))));\n};\nfunction truncate(str, max_chars) {\n var truncated = str.split('').splice(0, max_chars).join('');\n if (truncated.length < str.length)\n truncated += '...';\n return truncated;\n}\n//# sourceMappingURL=SubmissionSuccess.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useRef, useState } from 'react';\nimport { contentDispositionFromDataUrl, dataUrlToBase64Sync, } from '../../lib/utils/dataUrlToBase64';\nimport { OverlayContainer, OverlayInner } from '../common/overlay';\nimport { useTranslations } from '../../lib/locales';\nimport styled from 'styled-components';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { ButtonsRow } from '../common/ButtonsRow';\nexport var AdditionalDocumentCapture = function (_a) {\n var document = _a.document, onComplete = _a.onComplete, _b = _a.classNames, classNames = _b === void 0 ? {} : _b, _c = _a.verbiage, rawVerbiage = _c === void 0 ? {} : _c;\n var fileInput = useRef(null);\n var _d = useState(null), file = _d[0], setFile = _d[1];\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Additional document capture',\n captureBtnText: 'Capture',\n nextBtnText: 'Next',\n });\n function onFileSelected(e) {\n var _a;\n var file = (_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0];\n if (file)\n setFile(file);\n }\n function onNextClicked() {\n if (!file)\n return;\n var fileReader = new FileReader();\n fileReader.onloadend = function () {\n if (!fileReader.result)\n return;\n var fileContent = fileReader.result.toString();\n onComplete === null || onComplete === void 0 ? void 0 : onComplete({\n documentName: document.name,\n processAsPOA: document.processAsPOA ? 'Y' : 'N',\n additionalDocument: {\n name: file.name,\n fileContent: dataUrlToBase64Sync(fileContent),\n type: contentDispositionFromDataUrl(fileContent),\n fileUploadType: 'Y',\n isImageControlData: 'Y',\n fieldId: '',\n },\n });\n };\n fileReader.readAsDataURL(file);\n }\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(Inner, { className: classNames.inner },\n React.createElement(Heading, { className: classNames.heading },\n verbiage.headingText,\n \": \",\n document.name),\n document.description && (React.createElement(Description, { className: classNames.description }, document.description)),\n React.createElement(\"input\", { ref: fileInput, type: \"file\", accept: \"image/*,.pdf\", onChange: onFileSelected, hidden: true }),\n React.createElement(StyledButtonsRow, { className: classNames.buttonsRow }, file ? (React.createElement(LoaderButton, { variant: \"positive\", className: classNames.nextBtn, disabled: !file, finished: true, onClick: onNextClicked }, verbiage.nextBtnText)) : (React.createElement(LoaderButton, { variant: \"primary\", className: classNames.captureBtn, finished: true, onClick: function () {\n var _a;\n (_a = fileInput.current) === null || _a === void 0 ? void 0 : _a.click();\n } }, verbiage.captureBtnText))))));\n};\nvar Inner = styled(OverlayInner)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n justify-content: center;\\n\"], [\"\\n justify-content: center;\\n\"])));\nvar Heading = styled.h3(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-bottom: 8px;\\n\"], [\"\\n margin-bottom: 8px;\\n\"])));\nvar Description = styled.p(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin-bottom: 8px;\\n\"], [\"\\n margin-bottom: 8px;\\n\"])));\nvar StyledButtonsRow = styled(ButtonsRow)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin-top: 32px;\\n\"], [\"\\n margin-top: 32px;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n//# sourceMappingURL=AdditionalDocumentCapture.js.map","import { __awaiter, __generator, __spreadArray } from \"tslib\";\nimport React, { useEffect, useState } from 'react';\nimport { AdditionalDocumentCapture, } from './AdditionalDocumentCapture';\nexport var AdditionalDocumentCaptureWizard = function (_a) {\n var documents = _a.documents, onComplete = _a.onComplete, _b = _a.classNames, classNames = _b === void 0 ? {} : _b, _c = _a.verbiage, verbiage = _c === void 0 ? {} : _c;\n var _d = useState([]), uploadedDocuments = _d[0], setUploadedDocuments = _d[1];\n var documentIndex = uploadedDocuments.length;\n var currentDocument = documents[documentIndex];\n var isComplete = documentIndex >= documents.length;\n useEffect(function () {\n if (!(currentDocument === null || currentDocument === void 0 ? void 0 : currentDocument.skip))\n return;\n (function () { return __awaiter(void 0, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, ((_a = currentDocument.skip) === null || _a === void 0 ? void 0 : _a.call(currentDocument))];\n case 1:\n if (_b.sent()) {\n setUploadedDocuments(function (f) { return __spreadArray(__spreadArray([], f, true), [null], false); });\n }\n return [2 /*return*/];\n }\n });\n }); })();\n }, [currentDocument]);\n useEffect(function () {\n if (isComplete) {\n onComplete === null || onComplete === void 0 ? void 0 : onComplete(uploadedDocuments.filter(function (d) { return !!d; }));\n }\n }, [isComplete, onComplete, uploadedDocuments]);\n if (isComplete)\n return React.createElement(React.Fragment, null, \"Thanks, your documents have been received.\");\n return (React.createElement(AdditionalDocumentCapture, { key: documentIndex, document: currentDocument, classNames: classNames, verbiage: verbiage, onComplete: function (data) {\n setUploadedDocuments(function (f) { return __spreadArray(__spreadArray([], f, true), [data], false); });\n } }));\n};\n//# sourceMappingURL=AdditionalDocumentCaptureWizard.js.map","import { dataUrlToBase64Sync } from '../../lib/utils/dataUrlToBase64';\nexport function signatureDataToIdmissionFormat(signatureCanvas) {\n var _a;\n var dataURL = (_a = signatureCanvas.toDataURL()) !== null && _a !== void 0 ? _a : null;\n var signatureData = {\n clickX_simple: [],\n clickY_simple: [],\n time_simple: [],\n pressure: '',\n fileContent: dataURL ? dataUrlToBase64Sync(dataURL) : '',\n };\n signatureCanvas.toData().forEach(function (stroke) {\n var xs = [];\n var ys = [];\n var times = [];\n stroke.forEach(function (d) {\n xs.push(d.x);\n ys.push(d.y);\n times.push(new Date(d.time).toString());\n });\n signatureData.clickX_simple.push(xs);\n signatureData.clickY_simple.push(ys);\n signatureData.time_simple.push(times);\n });\n return signatureData;\n}\n//# sourceMappingURL=data.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nimport { ButtonsRow } from './ButtonsRow';\nexport var SignaturePaperBacking = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n \", \"\\n \", \"\\n \", \"\\n\"], [\"\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n \", \"\\n \", \"\\n \", \"\\n\"])), function (props) {\n var _a, _b;\n return ((_a = props.theme.signatureCapture) === null || _a === void 0 ? void 0 : _a.background)\n ? \"background: \".concat((_b = props.theme.signatureCapture) === null || _b === void 0 ? void 0 : _b.background, \";\")\n : \"\";\n}, function (props) {\n var _a, _b;\n return ((_a = props.theme.signatureCapture) === null || _a === void 0 ? void 0 : _a.backgroundSize)\n ? \"background-size: \".concat((_b = props.theme.signatureCapture) === null || _b === void 0 ? void 0 : _b.backgroundSize, \";\")\n : \"\";\n}, function (props) {\n var _a, _b;\n return ((_a = props.theme.signatureCapture) === null || _a === void 0 ? void 0 : _a.backgroundPosition)\n ? \"background-position: \".concat((_b = props.theme.signatureCapture) === null || _b === void 0 ? void 0 : _b.backgroundPosition, \";\")\n : \"\";\n});\nexport var SignatureCanvasContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\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\"])));\nexport var SignaturePad = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n position: relative;\\n background: \", \";\\n border: \", \";\\n border-radius: \", \";\\n flex-grow: 1;\\n z-index: 100;\\n height: 100%;\\n\"], [\"\\n position: relative;\\n background: \", \";\\n border: \", \";\\n border-radius: \", \";\\n flex-grow: 1;\\n z-index: 100;\\n height: 100%;\\n\"])), function (props) {\n var _a, _b, _c;\n return (_c = (_b = (_a = props.theme.signatureCapture) === null || _a === void 0 ? void 0 : _a.canvas) === null || _b === void 0 ? void 0 : _b.background) !== null && _c !== void 0 ? _c : 'rgba(255, 255, 255, 0.5)';\n}, function (props) { var _a, _b, _c; return (_c = (_b = (_a = props.theme.signatureCapture) === null || _a === void 0 ? void 0 : _a.canvas) === null || _b === void 0 ? void 0 : _b.border) !== null && _c !== void 0 ? _c : \"1px solid #dedede\"; }, function (props) { var _a, _b, _c; return (_c = (_b = (_a = props.theme.signatureCapture) === null || _a === void 0 ? void 0 : _a.canvas) === null || _b === void 0 ? void 0 : _b.borderRadius) !== null && _c !== void 0 ? _c : '16px'; });\nexport var SignatureButtonsContainer = styled(ButtonsRow)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\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\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n//# sourceMappingURL=signature.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useRef } from 'react';\nimport useResizeObserver from 'use-resize-observer';\nimport SignatureCanvas from 'react-signature-canvas';\nimport { signatureDataToIdmissionFormat } from './data';\nimport { SignatureButtonsContainer, SignatureCanvasContainer, SignaturePad, SignaturePaperBacking, } from '../common/signature';\nimport { PageContainer } from '../common/Page';\nimport { GuidanceMessage, GuidanceMessageContainer, } from '../common/GuidanceMessage';\nimport { useTranslations } from '../../lib/locales';\nimport { LoaderButton } from '../common/LoaderButton';\nimport styled from 'styled-components';\nexport var SignatureCapture = function (_a) {\n var _b;\n var onAccept = _a.onAccept, _c = _a.classNames, classNames = _c === void 0 ? {} : _c, _d = _a.verbiage, rawVerbiage = _d === void 0 ? {} : _d;\n var _e = useResizeObserver(), ref = _e.ref, width = _e.width, height = _e.height;\n var signaturePad = useRef(null);\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Please sign the box below',\n acceptBtnText: 'Accept',\n clearBtnText: 'Clear',\n });\n function onAcceptClicked() {\n if (!signaturePad.current)\n return;\n var signatureData = signatureDataToIdmissionFormat(signaturePad.current);\n onAccept === null || onAccept === void 0 ? void 0 : onAccept(signatureData, signaturePad.current.toDataURL());\n }\n return (React.createElement(PageContainer, { className: classNames.container },\n React.createElement(SignaturePaperBacking, { className: classNames.inner },\n React.createElement(GuidanceMessageContainer, { className: classNames.guidanceMessageContainer, \"$top\": \"5vh\" },\n React.createElement(GuidanceMessage, { className: classNames.guidanceMessage }, verbiage.headingText)),\n React.createElement(SignatureCanvasContainer, { className: classNames.canvasContainer },\n React.createElement(SignaturePad, { ref: ref, className: classNames.canvasInner },\n React.createElement(SignatureCanvas, { ref: signaturePad, canvasProps: { width: width, height: height, className: classNames.canvas } })),\n React.createElement(SignatureButtonsContainer, { className: classNames.buttonsRow },\n React.createElement(LoaderButton, { variant: \"secondary\", className: classNames.clearBtn, onClick: (_b = signaturePad.current) === null || _b === void 0 ? void 0 : _b.clear, finished: true }, verbiage.clearBtnText),\n React.createElement(AcceptBtn, { variant: \"positive\", className: classNames.acceptBtn, onClick: onAcceptClicked, finished: true }, verbiage.acceptBtnText))))));\n};\nvar AcceptBtn = styled(LoaderButton)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin-left: auto;\\n\"], [\"\\n margin-left: auto;\\n\"])));\nvar templateObject_1;\n//# sourceMappingURL=SignatureCapture.js.map","import { __spreadArray } from \"tslib\";\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport log from '../utils/logger';\nexport var useVideoRecorder = function (camera, audioStream, mergeAVStreams) {\n if (mergeAVStreams === void 0) { mergeAVStreams = false; }\n var videoRecorder = useRef(null);\n var audioRecorder = useRef(null);\n var videoChunks = useRef([]);\n var audioChunks = useRef([]);\n var _a = useState(null), videoUrl = _a[0], setVideoUrl = _a[1];\n var _b = useState(null), audioUrl = _b[0], setAudioUrl = _b[1];\n var _c = useState(false), isRecordingVideo = _c[0], setIsRecordingVideo = _c[1];\n var _d = useState(false), isRecordingAudio = _d[0], setIsRecordingAudio = _d[1];\n var _e = useState(false), videoRecordingStopped = _e[0], setVideoRecordingStopped = _e[1];\n var _f = useState(false), audioRecordingStopped = _f[0], setAudioRecordingStopped = _f[1];\n var _g = useState(false), videoRecordingIntentionallyStopped = _g[0], setVideoRecordingIntentionallyStopped = _g[1];\n var _h = useState(false), audioRecordingIntentionallyStopped = _h[0], setAudioRecordingIntentionallyStopped = _h[1];\n var getVideoStream = useCallback(function () {\n var _a, _b, _c;\n if (!mergeAVStreams)\n return camera === null || camera === void 0 ? void 0 : camera.stream;\n var videoTracks = (_b = (_a = camera === null || camera === void 0 ? void 0 : camera.stream) === null || _a === void 0 ? void 0 : _a.getTracks()) !== null && _b !== void 0 ? _b : [];\n var audioTracks = (_c = audioStream === null || audioStream === void 0 ? void 0 : audioStream.getTracks()) !== null && _c !== void 0 ? _c : [];\n return new MediaStream(__spreadArray(__spreadArray([], videoTracks, true), audioTracks, true));\n }, [audioStream, camera === null || camera === void 0 ? void 0 : camera.stream, mergeAVStreams]);\n var processVideo = useCallback(function () {\n var videoBlob = new Blob(videoChunks.current, { type: 'video/mp4' });\n videoChunks.current = [];\n setVideoUrl(URL.createObjectURL(videoBlob));\n setIsRecordingVideo(false);\n camera === null || camera === void 0 ? void 0 : camera.release();\n }, [camera]);\n var processAudio = useCallback(function () {\n var _a;\n var audioBlob = new Blob(audioChunks.current, { type: 'audio/mp4' });\n audioChunks.current = [];\n setAudioUrl(URL.createObjectURL(audioBlob));\n setIsRecordingAudio(false);\n (_a = audioStream === null || audioStream === void 0 ? void 0 : audioStream.stop) === null || _a === void 0 ? void 0 : _a.call(audioStream);\n }, [audioStream]);\n var startRecordingVideo = useCallback(function () {\n var videoStream = getVideoStream();\n if (!videoStream)\n return;\n videoChunks.current = [];\n setIsRecordingVideo(true);\n setVideoRecordingStopped(false);\n setVideoRecordingIntentionallyStopped(false);\n videoRecorder.current = new MediaRecorder(videoStream, {\n videoBitsPerSecond: 270000,\n audioBitsPerSecond: 32000,\n });\n videoRecorder.current.ondataavailable = function (e) {\n videoChunks.current.push(e.data);\n };\n videoRecorder.current.onstop = function () {\n setVideoRecordingStopped(true);\n };\n videoRecorder.current.start(1000);\n setTimeout(function () {\n var _a;\n if (((_a = videoRecorder.current) === null || _a === void 0 ? void 0 : _a.state) === 'inactive') {\n log('media recorder is inactive!');\n // TODO: figure out what to do here\n }\n }, 100);\n }, [getVideoStream]);\n var startRecordingAudio = useCallback(function () {\n if (mergeAVStreams)\n return;\n if (!audioStream)\n return;\n audioChunks.current = [];\n setIsRecordingAudio(true);\n setAudioRecordingStopped(false);\n setAudioRecordingIntentionallyStopped(false);\n audioRecorder.current = new MediaRecorder(audioStream, {\n audioBitsPerSecond: 32000,\n });\n audioRecorder.current.ondataavailable = function (e) {\n audioChunks.current.push(e.data);\n };\n audioRecorder.current.onstop = function () {\n setAudioRecordingStopped(true);\n };\n audioRecorder.current.start(1000);\n }, [audioStream, mergeAVStreams]);\n var stopRecordingVideo = useCallback(function () {\n var _a, _b;\n setVideoRecordingIntentionallyStopped(true);\n if (((_a = videoRecorder.current) === null || _a === void 0 ? void 0 : _a.state) !== 'inactive') {\n (_b = videoRecorder.current) === null || _b === void 0 ? void 0 : _b.stop(); // if you call this while state === 'inactive', an exception is thrown.\n }\n }, []);\n var stopRecordingAudio = useCallback(function () {\n var _a, _b;\n setAudioRecordingIntentionallyStopped(true);\n if (((_a = audioRecorder.current) === null || _a === void 0 ? void 0 : _a.state) !== 'inactive') {\n (_b = audioRecorder.current) === null || _b === void 0 ? void 0 : _b.stop(); // if you call this while state === 'inactive', an exception is thrown.\n }\n }, []);\n useEffect(function () {\n if (videoRecordingStopped && videoRecordingIntentionallyStopped) {\n processVideo();\n }\n }, [processVideo, videoRecordingIntentionallyStopped, videoRecordingStopped]);\n useEffect(function () {\n if (audioRecordingStopped && audioRecordingIntentionallyStopped) {\n processAudio();\n }\n }, [audioRecordingIntentionallyStopped, audioRecordingStopped, processAudio]);\n return {\n isRecordingVideo: isRecordingVideo,\n isRecordingAudio: isRecordingAudio,\n startRecordingVideo: startRecordingVideo,\n startRecordingAudio: startRecordingAudio,\n stopRecordingVideo: stopRecordingVideo,\n stopRecordingAudio: stopRecordingAudio,\n videoRecordingUnintentionallyStopped: videoRecordingStopped && !videoRecordingIntentionallyStopped,\n audioRecordingUnintentionallyStopped: audioRecordingStopped && !audioRecordingIntentionallyStopped,\n videoUrl: videoUrl,\n audioUrl: audioUrl,\n };\n};\n//# sourceMappingURL=useVideoRecorder.js.map","import { __awaiter, __generator, __makeTemplateObject, __spreadArray } from \"tslib\";\nimport React, { useContext, useEffect, useRef, useState } from 'react';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { useVideoRecorder } from '../../lib/camera/useVideoRecorder';\nimport { signatureDataToIdmissionFormat, } from '../signature_capture/data';\nimport SignatureCanvas from 'react-signature-canvas';\nimport useResizeObserver from 'use-resize-observer';\nimport { SelfieGuidanceModelsContext } from '../selfie_capture/SelfieGuidanceModelsProvider';\nimport { PageContainer } from '../common/Page';\nimport { SignatureButtonsContainer, SignatureCanvasContainer, SignaturePad, } from '../common/signature';\nimport { GuidanceMessage, GuidanceMessageContainer, } from '../common/GuidanceMessage';\nimport { DebugStatsPane } from '../common/debug';\nimport { ExitCaptureButton } from '../common/ExitCaptureButton';\nimport { useTranslations } from '../../lib/locales';\nimport { LoaderButton } from '../common/LoaderButton';\nimport styled from 'styled-components';\nimport { InvisibleCanvas } from '../common/InvisibleCanvas';\nexport var VideoSignatureCapture = function (_a) {\n var _b, _c, _d, _e;\n var onVideoCaptured = _a.onVideoCaptured, onFaceNotDetected = _a.onFaceNotDetected, onExit = _a.onExit, _f = _a.classNames, classNames = _f === void 0 ? {} : _f, _g = _a.colors, colors = _g === void 0 ? {} : _g, _h = _a.verbiage, rawVerbiage = _h === void 0 ? {} : _h, _j = _a.debugMode, debugMode = _j === void 0 ? false : _j;\n var _k = useContext(CameraStateContext), cameraRef = _k.cameraRef, videoRef = _k.videoRef;\n var _l = useResizeObserver(), ref = _l.ref, width = _l.width, height = _l.height;\n var signaturePad = useRef(null);\n var signatureRecorder = useRef(null);\n var recordedChunks = useRef([]);\n var onPredictionMade = useContext(SelfieGuidanceModelsContext).onPredictionMade;\n var _m = useVideoRecorder(cameraRef.current), isRecordingVideo = _m.isRecordingVideo, startRecordingVideo = _m.startRecordingVideo, stopRecordingVideo = _m.stopRecordingVideo, videoUrl = _m.videoUrl;\n var _o = useState(null), signatureData = _o[0], setSignatureData = _o[1];\n var _p = useState(null), signatureDataUrl = _p[0], setSignatureDataUrl = _p[1];\n var _q = useState(null), signatureVideoData = _q[0], setSignatureVideoData = _q[1];\n colors.guidanceMessageBackgroundColor || (colors.guidanceMessageBackgroundColor = '#ccc');\n colors.guidanceMessageTextColor || (colors.guidanceMessageTextColor = 'black');\n var verbiage = useTranslations(rawVerbiage, {\n guidanceMessageText: 'Please sign the box below',\n acceptBtnText: 'Accept',\n clearBtnText: 'Clear',\n });\n var outputCanvas = useRef(null);\n var recordingLock = useRef(false);\n useEffect(function () {\n if (recordingLock.current)\n return;\n recordingLock.current = true;\n (function () { return __awaiter(void 0, void 0, void 0, function () {\n var stream;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!outputCanvas.current) return [3 /*break*/, 2];\n return [4 /*yield*/, new Promise(function (resolve) {\n var interval = setInterval(function () {\n if (outputCanvas.current) {\n clearInterval(interval);\n resolve(null);\n }\n }, 10);\n })];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n startRecordingVideo();\n stream = outputCanvas.current.captureStream(24 /* fps */);\n signatureRecorder.current = new MediaRecorder(stream, {\n videoBitsPerSecond: 270000,\n });\n signatureRecorder.current.start();\n signatureRecorder.current.ondataavailable = function (event) {\n var _a;\n recordedChunks.current.push(event.data);\n if (((_a = signatureRecorder.current) === null || _a === void 0 ? void 0 : _a.state) === 'recording') {\n signatureRecorder.current.stop();\n }\n };\n signatureRecorder.current.onstop = function () {\n var blob = new Blob(recordedChunks.current, { type: 'video/mp4' });\n setSignatureVideoData(blob);\n };\n return [2 /*return*/];\n }\n });\n }); })();\n }, [isRecordingVideo, startRecordingVideo, videoUrl]);\n useEffect(function () {\n if (signatureVideoData && signatureData && signatureDataUrl) {\n onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(signatureVideoData, signatureData, signatureDataUrl);\n }\n }, [onVideoCaptured, signatureData, signatureDataUrl, signatureVideoData]);\n var animationFrame = useRef(0);\n useEffect(function () {\n var _a;\n if (!signaturePad.current ||\n !videoRef.current ||\n !outputCanvas.current ||\n !cameraRef.current ||\n !isRecordingVideo)\n return;\n var _b = [cameraRef.current.width, cameraRef.current.height], w = _b[0], h = _b[1];\n var isPortrait = typeof window !== 'undefined' && window.innerWidth < window.innerHeight;\n var cameraIsLandscape = w > h;\n if (isPortrait && cameraIsLandscape)\n _a = [h, w], w = _a[0], h = _a[1];\n outputCanvas.current.width = w;\n outputCanvas.current.height = h;\n var ctx = outputCanvas.current.getContext('2d');\n if (!ctx)\n return;\n animationFrame.current = requestAnimationFrame(function runFrame() {\n return __awaiter(this, void 0, void 0, function () {\n var rect;\n return __generator(this, function (_a) {\n if (!signaturePad.current || !videoRef.current || !outputCanvas.current) {\n cancelAnimationFrame(animationFrame.current);\n return [2 /*return*/];\n }\n rect = [\n w * (isPortrait ? 0.02 : 0.15),\n h * (isPortrait ? 0.15 : 0.25),\n w * (isPortrait ? 0.96 : 0.7),\n h * (isPortrait ? 0.7 : 0.5),\n ];\n ctx.drawImage(videoRef.current, 0, 0, w, h);\n ctx.beginPath();\n ctx.fillStyle = 'rgba(255,255,255,0.5)';\n ctx.roundRect.apply(ctx, __spreadArray(__spreadArray([], rect, false), [16], false));\n ctx.fill();\n ctx.drawImage.apply(ctx, __spreadArray([signaturePad.current.getCanvas()], rect, false));\n animationFrame.current = requestAnimationFrame(runFrame);\n return [2 /*return*/];\n });\n });\n });\n return function () {\n cancelAnimationFrame(animationFrame.current);\n };\n }, [cameraRef, isRecordingVideo, onFaceNotDetected, videoRef]);\n var _r = useState(0), numFramesWithoutFaces = _r[0], setNumFramesWithoutFaces = _r[1];\n useEffect(function () {\n onPredictionMade(function (faces) {\n setNumFramesWithoutFaces(function (n) { return (faces.length === 0 ? n + 1 : 0); });\n });\n }, [onPredictionMade]);\n useEffect(function () {\n if (numFramesWithoutFaces >= 2) {\n onFaceNotDetected === null || onFaceNotDetected === void 0 ? void 0 : onFaceNotDetected();\n }\n }, [numFramesWithoutFaces, onFaceNotDetected]);\n function onAcceptClicked() {\n var _a;\n if (!signaturePad.current)\n return;\n var signatureData = signatureDataToIdmissionFormat(signaturePad.current);\n setSignatureData(signatureData);\n setSignatureDataUrl(signaturePad.current.toDataURL());\n stopRecordingVideo();\n (_a = signatureRecorder.current) === null || _a === void 0 ? void 0 : _a.stop();\n }\n return (React.createElement(PageContainer, { className: \"flex \".concat((_b = classNames.container) !== null && _b !== void 0 ? _b : '') },\n verbiage.guidanceMessageText && (React.createElement(GuidanceMessageContainer, { \"$top\": \"5vh\", className: classNames.guidanceMessageContainer },\n React.createElement(GuidanceMessage, { className: classNames.guidanceMessage, \"$background\": colors.guidanceMessageBackgroundColor, \"$textColor\": colors.guidanceMessageTextColor }, verbiage.guidanceMessageText))),\n React.createElement(SignatureCanvasContainer, { className: classNames.canvasContainer },\n React.createElement(SignaturePad, { ref: ref, className: classNames.canvasInner },\n React.createElement(SignatureCanvas, { ref: signaturePad, canvasProps: { width: width, height: height, className: classNames.canvas } })),\n React.createElement(SignatureButtonsContainer, { className: classNames.buttonsRow },\n React.createElement(LoaderButton, { variant: \"secondary\", className: classNames.clearBtn, onClick: (_c = signaturePad.current) === null || _c === void 0 ? void 0 : _c.clear, finished: true }, verbiage.clearBtnText),\n React.createElement(AcceptBtn, { variant: \"positive\", className: classNames.acceptBtn, style: { marginLeft: 'auto' }, onClick: onAcceptClicked, finished: true }, verbiage.acceptBtnText))),\n debugMode && (React.createElement(DebugStatsPane, null,\n \"Video: \", (_d = cameraRef.current) === null || _d === void 0 ? void 0 :\n _d.width,\n \"x\", (_e = cameraRef.current) === null || _e === void 0 ? void 0 :\n _e.height)),\n React.createElement(ExitCaptureButton, { onClick: onExit, className: classNames.exitCaptureBtn }),\n React.createElement(InvisibleCanvas, { ref: outputCanvas })));\n};\nvar AcceptBtn = styled(LoaderButton)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin-left: auto;\\n\"], [\"\\n margin-left: auto;\\n\"])));\nvar templateObject_1;\n//# sourceMappingURL=VideoSignatureCapture.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport { OverlayContainer, OverlayImageContainer, OverlayInner, } from '../common/overlay';\nimport styled from 'styled-components';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport { ButtonsRow } from '../common/ButtonsRow';\nexport var VideoSignatureSuccess = function (_a) {\n var videoUrl = _a.videoUrl, onDoneClick = _a.onDoneClick, onRetryClick = _a.onRetryClick, _b = _a.classNames, classNames = _b === void 0 ? {} : _b, _c = _a.colors, colors = _c === void 0 ? {} : _c, _d = _a.verbiage, rawVerbiage = _d === void 0 ? {} : _d;\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Video signature has been successfully captured!',\n retryBtnText: 'Retry',\n doneBtnText: 'Done',\n });\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n React.createElement(\"h1\", { className: classNames.heading }, verbiage.headingText),\n React.createElement(OverlayImageContainer, { className: classNames.videoContainer },\n React.createElement(StyledVideo, { className: classNames.video, src: videoUrl, poster: videoUrl + '#t=0.1', controls: true, preload: \"metadata\", autoPlay: true })),\n React.createElement(ButtonsRow, { className: classNames.buttonsRow },\n React.createElement(LoaderButton, { variant: \"warning\", className: classNames.retryBtn, onClick: onRetryClick, colors: colors.retryBtn, finished: true }, verbiage.retryBtnText),\n React.createElement(LoaderButton, { variant: \"positive\", className: classNames.doneBtn, onClick: onDoneClick, colors: colors.doneBtn, finished: true }, verbiage.doneBtnText)))));\n};\nvar StyledVideo = styled.video(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\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\"])));\nvar templateObject_1;\n//# sourceMappingURL=VideoSignatureSuccess.js.map","import { __awaiter, __generator } from \"tslib\";\nimport React, { useCallback, useContext, useEffect, useRef, useState, } from 'react';\nimport { VideoSignatureCapture, } from './VideoSignatureCapture';\nimport { FaceLivenessCapture, } from '../face_liveness/FaceLivenessCapture';\nimport { dataUrlToBase64 } from '../../lib/utils/dataUrlToBase64';\nimport { VideoSignatureSuccess, } from './VideoSignatureSuccess';\nimport { useShowSuccessScreen } from '../common/useShowSuccessScreen';\nimport { SubmissionContext } from '../submission/SubmissionProvider';\nimport { SelfieCaptureLoadingOverlay, } from '../selfie_capture/SelfieCaptureLoadingOverlay';\nimport { CameraVideoTag } from '../camera/CameraVideoTag';\nimport { PageContainer } from '../common/Page';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { SelfieGuidanceModelsContext } from '../selfie_capture/SelfieGuidanceModelsProvider';\nexport var VideoSignatureWizard = function (_a) {\n var _b;\n var onComplete = _a.onComplete, onVideoCaptured = _a.onVideoCaptured, onRetryClicked = _a.onRetryClicked, onExitCapture = _a.onExitCapture, onUserCancel = _a.onUserCancel, _c = _a.loadingOverlayMode, loadingOverlayMode = _c === void 0 ? 'default' : _c, _d = _a.skipSuccessScreen, skipSuccessScreen = _d === void 0 ? false : _d, _e = _a.assets, assets = _e === void 0 ? {} : _e, _f = _a.classNames, classNames = _f === void 0 ? {} : _f, _g = _a.colors, colors = _g === void 0 ? {} : _g, _h = _a.verbiage, verbiage = _h === void 0 ? {} : _h, _j = _a.debugMode, debugMode = _j === void 0 ? false : _j;\n var _k = useContext(SubmissionContext), selfieImage = _k.selfieImage, signatureVideoUrl = _k.signatureVideoUrl, setSelfieImage = _k.setSelfieImage, setSignatureData = _k.setSignatureData, setSignatureVideoUrl = _k.setSignatureVideoUrl, logSelfieCaptureAttempt = _k.logSelfieCaptureAttempt;\n var _l = useContext(CameraStateContext), cameraAccessDenied = _l.cameraAccessDenied, requestCameraAccess = _l.requestCameraAccess, releaseCameraAccess = _l.releaseCameraAccess;\n var _m = useState('LOADING'), captureState = _m[0], setCaptureState = _m[1];\n var operationStartedAt = useRef();\n var captureStartedAt = useRef();\n var captureEndedAt = useRef();\n var _o = useContext(SelfieGuidanceModelsContext), start = _o.start, stop = _o.stop;\n useEffect(function () {\n operationStartedAt.current = new Date();\n }, []);\n useEffect(function () {\n if (captureState !== 'CHECKING_LIVENESS')\n return;\n captureStartedAt.current = new Date();\n }, [captureState]);\n var shouldRun = ['CHECKING_LIVENESS', 'CAPTURING_SIGNATURE'].includes(captureState);\n useEffect(function () {\n if (!shouldRun)\n return;\n start();\n return function () {\n stop();\n };\n }, [shouldRun, start, stop]);\n var logCaptureMetadata = useCallback(function () {\n var _a, _b, _c;\n logSelfieCaptureAttempt({\n autoCapture: 'Y',\n captureTime: ((_a = captureEndedAt.current) !== null && _a !== void 0 ? _a : new Date()).getTime() -\n ((_b = captureStartedAt.current) !== null && _b !== void 0 ? _b : new Date()).getTime(),\n operationTime: new Date().getTime() -\n ((_c = operationStartedAt.current) !== null && _c !== void 0 ? _c : new Date()).getTime(),\n });\n operationStartedAt.current = new Date();\n }, [logSelfieCaptureAttempt]);\n var onLoadingOverlayDismissed = useCallback(function () {\n setCaptureState('CHECKING_LIVENESS');\n }, []);\n var onFaceCaptureSuccess = useCallback(function (faceCropImageUrl) { return __awaiter(void 0, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n setCaptureState('CAPTURING_SIGNATURE');\n logCaptureMetadata();\n if (!!selfieImage) return [3 /*break*/, 2];\n _a = setSelfieImage;\n return [4 /*yield*/, dataUrlToBase64(faceCropImageUrl)];\n case 1:\n _a.apply(void 0, [_b.sent()]);\n _b.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); }, [logCaptureMetadata, selfieImage, setSelfieImage]);\n var onSignatureCaptureCompleted = useCallback(function (videoData, signatureData, signatureImageData) {\n setSignatureData(signatureData);\n setSignatureVideoUrl(URL.createObjectURL(videoData));\n setCaptureState('SUCCESS');\n onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(videoData, signatureData, signatureImageData);\n }, [onVideoCaptured, setSignatureData, setSignatureVideoUrl]);\n var onSignatureCaptureFacesNotDetected = useCallback(function () {\n setCaptureState('CHECKING_LIVENESS');\n }, []);\n var _p = useState(0), attempt = _p[0], setAttempt = _p[1];\n var onExit = useCallback(function () {\n releaseCameraAccess();\n setAttempt(function (n) { return n + 1; });\n setCaptureState('LOADING');\n onExitCapture === null || onExitCapture === void 0 ? void 0 : onExitCapture();\n requestCameraAccess();\n }, [onExitCapture, releaseCameraAccess, requestCameraAccess]);\n var onRetry = useCallback(function () {\n onRetryClicked === null || onRetryClicked === void 0 ? void 0 : onRetryClicked();\n onExit();\n }, [onExit, onRetryClicked]);\n var showSuccessScreen = useShowSuccessScreen(skipSuccessScreen, captureState === 'SUCCESS', onComplete);\n useEffect(function () {\n if (cameraAccessDenied) {\n setAttempt(function (n) { return n + 1; });\n setCaptureState('LOADING');\n }\n }, [cameraAccessDenied]);\n return (React.createElement(React.Fragment, null,\n React.createElement(PageContainer, { className: \"flex \".concat((_b = classNames === null || classNames === void 0 ? void 0 : classNames.container) !== null && _b !== void 0 ? _b : '') },\n React.createElement(CameraVideoTag, { className: classNames.cameraFeed }),\n captureState !== 'LOADING' &&\n (function () {\n switch (captureState) {\n case 'CHECKING_LIVENESS':\n return (React.createElement(FaceLivenessCapture, { onSuccess: onFaceCaptureSuccess, onExit: onExit, classNames: classNames.faceLiveness, colors: colors.faceLiveness, verbiage: verbiage.faceLiveness, debugMode: debugMode }));\n case 'CAPTURING_SIGNATURE':\n return (React.createElement(VideoSignatureCapture, { onVideoCaptured: onSignatureCaptureCompleted, onFaceNotDetected: onSignatureCaptureFacesNotDetected, onExit: onExit, classNames: classNames, colors: colors, verbiage: verbiage, debugMode: debugMode }));\n case 'SUCCESS':\n if (!showSuccessScreen)\n return;\n return (React.createElement(VideoSignatureSuccess, { videoUrl: signatureVideoUrl !== null && signatureVideoUrl !== void 0 ? signatureVideoUrl : '', onDoneClick: onComplete, onRetryClick: onRetry, classNames: classNames.success, colors: colors.success, verbiage: verbiage.success }));\n default:\n return null;\n }\n })()),\n React.createElement(SelfieCaptureLoadingOverlay, { key: attempt, mode: loadingOverlayMode, assets: assets.loadingOverlay, classNames: classNames.loadingOverlay, colors: colors.loadingOverlay, verbiage: verbiage.loadingOverlay, onDismissed: onLoadingOverlayDismissed, onUserCancel: onUserCancel })));\n};\n//# sourceMappingURL=VideoSignatureWizard.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useContext, useEffect, useState } from 'react';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport styled from 'styled-components';\nexport var IdVideoCaptureFlipIdPrompt = function (_a) {\n var _b;\n var className = _a.className, imageWidth = _a.imageWidth, imageHeight = _a.imageHeight, _c = _a.borderWidth, borderWidth = _c === void 0 ? 4 : _c, _d = _a.assets, assets = _d === void 0 ? {} : _d;\n var cameraRef = useContext(CameraStateContext).cameraRef;\n assets.frontImageUrl || (assets.frontImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Front-SVG-Landscape-2.svg\"));\n assets.backImageUrl || (assets.backImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Back-SVG-Landscape-2.svg\"));\n var isMirrored = !((_b = cameraRef.current) === null || _b === void 0 ? void 0 : _b.isRearFacing);\n var _e = useState(1), transitionTime = _e[0], setTransitionTime = _e[1];\n var _f = useState(0), rotationAngle = _f[0], setRotationAngle = _f[1];\n var frontTransforms = [\"rotateY(\".concat(rotationAngle, \"deg)\")];\n if (isMirrored)\n frontTransforms.push('scaleX(-1)');\n var backTransforms = [\"rotateY(\".concat(180 - rotationAngle, \"deg)\")];\n if (isMirrored)\n backTransforms.push('scaleX(-1)');\n useEffect(function () {\n var timeout;\n function doFlip() {\n setTransitionTime(1);\n setRotationAngle(180);\n timeout = setTimeout(function () {\n setTransitionTime(0);\n setRotationAngle(0);\n }, 1500);\n }\n var interval = setInterval(doFlip, 2500);\n timeout = setTimeout(doFlip, 250);\n return function () {\n clearInterval(interval);\n clearTimeout(timeout);\n };\n }, []);\n return (React.createElement(React.Fragment, null,\n React.createElement(FlipImage, { src: assets.frontImageUrl, alt: \"\", className: className, \"$transforms\": frontTransforms.join(' '), \"$transitionTime\": transitionTime, \"$borderWidth\": borderWidth, \"$imageWidth\": imageWidth, \"$imageHeight\": imageHeight }),\n React.createElement(FlipImage, { src: assets.backImageUrl, alt: \"\", className: className, \"$transforms\": backTransforms.join(' '), \"$transitionTime\": transitionTime, \"$borderWidth\": borderWidth, \"$imageWidth\": imageWidth, \"$imageHeight\": imageHeight, \"$isBack\": true })));\n};\nvar FlipImage = styled.img(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n backface-visibility: hidden;\\n transition: transform \", \"s;\\n transform: \", \";\\n transform-style: preserve-3d;\\n position: \", \";\\n display: block;\\n top: \", \"px;\\n width: \", \"px;\\n height: \", \"px;\\n\"], [\"\\n backface-visibility: hidden;\\n transition: transform \", \"s;\\n transform: \", \";\\n transform-style: preserve-3d;\\n position: \", \";\\n display: block;\\n top: \", \"px;\\n width: \", \"px;\\n height: \", \"px;\\n\"])), function (props) { return props.$transitionTime; }, function (props) { return props.$transforms; }, function (props) { return (props.$isBack ? 'absolute' : 'relative'); }, function (props) { return -props.$borderWidth / 2; }, function (props) { return props.$imageWidth; }, function (props) { return props.$imageHeight + props.$borderWidth; });\nvar templateObject_1;\n//# sourceMappingURL=IdVideoCaptureFlipIdPrompt.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useContext, useRef, useState } from 'react';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { IdVideoCaptureFlipIdPrompt } from './IdVideoCaptureFlipIdPrompt';\nimport { useTranslations } from '../../lib/locales';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport styled, { useTheme } from 'styled-components';\nimport { GuidanceMessage } from '../common/GuidanceMessage';\nexport var IdVideoCaptureGuides = function (_a) {\n var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;\n var _y = _a.requestedAction, requestedAction = _y === void 0 ? 'SHOW_ID_FRONT' : _y, _z = _a.satisfied, satisfied = _z === void 0 ? false : _z, faceGuideBorderWidth = _a.faceGuideBorderWidth, faceGuideBorderColor = _a.faceGuideBorderColor, idCardGuideBorderWidth = _a.idCardGuideBorderWidth, idCardGuideBorderColor = _a.idCardGuideBorderColor, _0 = _a.assets, assets = _0 === void 0 ? {} : _0, _1 = _a.classNames, classNames = _1 === void 0 ? {} : _1, _2 = _a.verbiage, rawVerbiage = _2 === void 0 ? {} : _2;\n var cameraRef = useContext(CameraStateContext).cameraRef;\n var imageRef = useRef(null);\n var _3 = useState(0), imageWidth = _3[0], setImageWidth = _3[1];\n var _4 = useState(0), imageHeight = _4[0], setImageHeight = _4[1];\n assets.frontImageUrl || (assets.frontImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Front-SVG-Landscape-2.svg\"));\n assets.backImageUrl || (assets.backImageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Shieldout-IDCard-Back-SVG-Landscape-2.svg\"));\n var verbiage = useTranslations(rawVerbiage, {\n idFrontInstructionText: 'Display the front of your ID card...',\n idBackInstructionText: 'Display the back of your ID card...',\n flipIdInstructionText: 'Please flip your ID card...',\n });\n var instructionText = requestedAction === 'SHOW_ID_FRONT'\n ? verbiage.idFrontInstructionText\n : requestedAction === 'FLIP_ID'\n ? verbiage.flipIdInstructionText\n : verbiage.idBackInstructionText;\n var theme = useTheme();\n if (faceGuideBorderWidth === undefined)\n faceGuideBorderWidth = (_d = (_c = (_b = theme.idVideoCapture) === null || _b === void 0 ? void 0 : _b.faceGuides) === null || _c === void 0 ? void 0 : _c.borderWidth) !== null && _d !== void 0 ? _d : 4;\n if (faceGuideBorderColor === undefined)\n faceGuideBorderColor =\n (_j = (satisfied\n ? (_f = (_e = theme.idVideoCapture) === null || _e === void 0 ? void 0 : _e.faceGuides) === null || _f === void 0 ? void 0 : _f.satisfiedColor\n : (_h = (_g = theme.idVideoCapture) === null || _g === void 0 ? void 0 : _g.faceGuides) === null || _h === void 0 ? void 0 : _h.unsatisfiedColor)) !== null && _j !== void 0 ? _j : 'white';\n if (idCardGuideBorderWidth === undefined)\n idCardGuideBorderWidth =\n (_m = (_l = (_k = theme.idVideoCapture) === null || _k === void 0 ? void 0 : _k.idCardGuides) === null || _l === void 0 ? void 0 : _l.borderWidth) !== null && _m !== void 0 ? _m : 4;\n if (idCardGuideBorderColor === undefined)\n idCardGuideBorderColor =\n (_s = (satisfied\n ? (_p = (_o = theme.idVideoCapture) === null || _o === void 0 ? void 0 : _o.idCardGuides) === null || _p === void 0 ? void 0 : _p.satisfiedColor\n : (_r = (_q = theme.idVideoCapture) === null || _q === void 0 ? void 0 : _q.idCardGuides) === null || _r === void 0 ? void 0 : _r.unsatisfiedColor)) !== null && _s !== void 0 ? _s : 'white';\n var captureImageSize = function () {\n var _a, _b, _c, _d;\n if (!imageWidth)\n setImageWidth((_b = (_a = imageRef.current) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : 0);\n if (!imageHeight)\n setImageHeight((_d = (_c = imageRef.current) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : 0);\n };\n return (React.createElement(Container, { className: classNames.container },\n React.createElement(FaceGuide, { className: classNames.faceGuide, \"$borderWidth\": faceGuideBorderWidth, \"$borderColor\": faceGuideBorderColor }),\n React.createElement(IdCardGuideContainer, { className: classNames.idCardGuideContainer },\n React.createElement(IdCardGuideInstructionsContainer, { className: classNames.idCardGuideInstructionsContainer },\n React.createElement(IdCardGuideInstructions, { className: classNames.idCardGuideInstructions, \"$textColor\": (_u = (_t = theme.idVideoCapture) === null || _t === void 0 ? void 0 : _t.idCardGuides) === null || _u === void 0 ? void 0 : _u.instructionsTextColor, \"$background\": (_w = (_v = theme.idVideoCapture) === null || _v === void 0 ? void 0 : _v.idCardGuides) === null || _w === void 0 ? void 0 : _w.instructionsBackgroundColor }, instructionText)),\n React.createElement(IdCardGuideImageContainer, { \"$borderWidth\": idCardGuideBorderWidth, \"$borderColor\": idCardGuideBorderColor, className: classNames.idCardGuideImageContainer }, requestedAction === 'FLIP_ID' ? (React.createElement(IdVideoCaptureFlipIdPrompt, { assets: assets, imageWidth: imageWidth, imageHeight: imageHeight, borderWidth: idCardGuideBorderWidth, className: classNames.flipIdPromptImage })) : (React.createElement(IdCardGuideImage, { ref: imageRef, src: requestedAction === 'SHOW_ID_BACK'\n ? assets.backImageUrl\n : assets.frontImageUrl, alt: \"\", className: classNames.idCardGuideImage, \"$isMirrored\": !((_x = cameraRef.current) === null || _x === void 0 ? void 0 : _x.isRearFacing), onLoad: captureImageSize, onResize: captureImageSize }))))));\n};\nvar Container = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: fixed;\\n z-index: 1000;\\n width: 100dvw;\\n height: 100dvh;\\n display: flex;\\n flex-direction: column;\\n font-family: \", \";\\n\"], [\"\\n position: fixed;\\n z-index: 1000;\\n width: 100dvw;\\n height: 100dvh;\\n display: flex;\\n flex-direction: column;\\n font-family: \", \";\\n\"])), function (props) { var _a; return (_a = props.theme) === null || _a === void 0 ? void 0 : _a.fontFamily; });\nvar FaceGuide = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n border-width: \", \"px;\\n border-color: \", \";\\n border-style: solid;\\n border-radius: 50%;\\n aspect-ratio: 1 / 1.618;\\n height: 50%;\\n min-height: 33dvh;\\n margin: 4% auto auto;\\n\"], [\"\\n border-width: \", \"px;\\n border-color: \", \";\\n border-style: solid;\\n border-radius: 50%;\\n aspect-ratio: 1 / 1.618;\\n height: 50%;\\n min-height: 33dvh;\\n margin: 4% auto auto;\\n\"])), function (props) { var _a; return (_a = props.$borderWidth) !== null && _a !== void 0 ? _a : 0; }, function (props) { var _a; return (_a = props.$borderColor) !== null && _a !== void 0 ? _a : 'white'; });\nvar IdCardGuideContainer = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n height: 50%;\\n padding: 0 40px;\\n display: flex;\\n flex-flow: column nowrap;\\n margin: 2% auto;\\n\"], [\"\\n height: 50%;\\n padding: 0 40px;\\n display: flex;\\n flex-flow: column nowrap;\\n margin: 2% auto;\\n\"])));\nexport var IdCardGuideInstructionsContainer = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n width: 100%;\\n text-align: center;\\n color: white;\\n display: flex;\\n flex-direction: column;\\n justify-content: end;\\n\"], [\"\\n width: 100%;\\n text-align: center;\\n color: white;\\n display: flex;\\n flex-direction: column;\\n justify-content: end;\\n\"])));\nexport var IdCardGuideInstructions = styled(GuidanceMessage)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n align-content: center;\\n margin-top: 12px;\\n margin-bottom: 12px;\\n padding: 8px 12px;\\n font-weight: bold;\\n\"], [\"\\n align-content: center;\\n margin-top: 12px;\\n margin-bottom: 12px;\\n padding: 8px 12px;\\n font-weight: bold;\\n\"])));\nvar IdCardGuideImageContainer = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n position: relative;\\n border: \", \"px solid\\n \", \";\\n\"], [\"\\n position: relative;\\n border: \", \"px solid\\n \", \";\\n\"])), function (props) { return props.$borderWidth; }, function (props) { return props.$borderColor; });\nvar IdCardGuideImage = styled.img(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n width: 100%;\\n max-height: 100%;\\n \", \"\\n\"], [\"\\n width: 100%;\\n max-height: 100%;\\n \", \"\\n\"])), function (props) { return (props.$isMirrored ? 'transform: scaleX(-1);' : ''); });\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n//# sourceMappingURL=IdVideoCaptureGuides.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations, useVerbiage, } from '../../lib/locales';\nimport styled from 'styled-components';\nimport { ButtonsRow } from '../common/ButtonsRow';\nexport var ReadTextPrompt = function (_a) {\n var text = _a.text, onComplete = _a.onComplete, _b = _a.durationMs, durationMs = _b === void 0 ? 15000 : _b, _c = _a.minReadingMs, minReadingMs = _c === void 0 ? 10000 : _c, _d = _a.classNames, classNames = _d === void 0 ? {} : _d, _e = _a.verbiage, rawVerbiage = _e === void 0 ? {} : _e;\n text = useVerbiage(text, '');\n var countdownTimeoutRef = useRef(undefined);\n var _f = useState(durationMs / 1000), countdownRemaining = _f[0], setCountdownRemaining = _f[1];\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Please read the following text aloud',\n doneBtnText: 'Done',\n });\n var manualCountdown = useCallback(function (remainingTime) {\n if (remainingTime > 0) {\n var nextCycle_1 = remainingTime - 1;\n setCountdownRemaining(nextCycle_1);\n countdownTimeoutRef.current = setTimeout(function () { return manualCountdown(nextCycle_1); }, 1000);\n }\n }, []);\n useEffect(function () {\n setCountdownRemaining(countdownRemaining);\n countdownTimeoutRef.current = setTimeout(function () { return manualCountdown(countdownRemaining); }, 1000);\n return function () {\n clearTimeout(countdownTimeoutRef.current);\n };\n }, [countdownRemaining, manualCountdown]);\n var _g = useState(false), minReadingTimeElapsed = _g[0], setMinReadingTimeElapsed = _g[1];\n useEffect(function trackReadingTime() {\n var timeout = setTimeout(function () {\n setMinReadingTimeElapsed(true);\n }, minReadingMs);\n return function () {\n clearTimeout(timeout);\n };\n }, [minReadingMs]);\n return (React.createElement(ReadTextPromptContainer, { className: classNames.container },\n React.createElement(ReadTextPromptHeading, { className: classNames.heading }, verbiage.headingText),\n React.createElement(ReadTextPromptText, { className: classNames.prompt }, text),\n React.createElement(ReadTextPromptButtonsRow, { className: classNames.buttonsRow },\n React.createElement(ReadTextPromptTimeRemaining, { className: classNames.timeRemaining }, countdownRemaining),\n React.createElement(DoneButton, { variant: \"positive\", className: classNames.doneBtn, onClick: minReadingTimeElapsed ? onComplete : undefined, disabled: !minReadingTimeElapsed, finished: true }, verbiage.doneBtnText))));\n};\nvar ReadTextPromptContainer = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n display: flex;\\n flex-direction: column;\\n\"], [\"\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n display: flex;\\n flex-direction: column;\\n\"])));\nvar ReadTextPromptHeading = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 20px;\\n font-weight: bold;\\n margin: auto auto 32px;\\n\\n \", \";\\n \", \";\\n \", \";\\n\"], [\"\\n padding: 20px;\\n font-weight: bold;\\n margin: auto auto 32px;\\n\\n \", \";\\n \", \";\\n \", \";\\n\"])), function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme.idVideoCapture) === null || _a === void 0 ? void 0 : _a.readTextPrompt) === null || _b === void 0 ? void 0 : _b.heading) === null || _c === void 0 ? void 0 : _c.backgroundColor)\n ? \"background: \".concat((_f = (_e = (_d = props.theme.idVideoCapture) === null || _d === void 0 ? void 0 : _d.readTextPrompt) === null || _e === void 0 ? void 0 : _e.heading) === null || _f === void 0 ? void 0 : _f.backgroundColor, \";\")\n : \"\";\n}, function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme.idVideoCapture) === null || _a === void 0 ? void 0 : _a.readTextPrompt) === null || _b === void 0 ? void 0 : _b.heading) === null || _c === void 0 ? void 0 : _c.textColor)\n ? \"color: \".concat((_f = (_e = (_d = props.theme.idVideoCapture) === null || _d === void 0 ? void 0 : _d.readTextPrompt) === null || _e === void 0 ? void 0 : _e.heading) === null || _f === void 0 ? void 0 : _f.textColor, \";\")\n : \"\";\n}, function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme.idVideoCapture) === null || _a === void 0 ? void 0 : _a.readTextPrompt) === null || _b === void 0 ? void 0 : _b.heading) === null || _c === void 0 ? void 0 : _c.borderRadius)\n ? \"border-radius: \".concat((_f = (_e = (_d = props.theme.idVideoCapture) === null || _d === void 0 ? void 0 : _d.readTextPrompt) === null || _e === void 0 ? void 0 : _e.heading) === null || _f === void 0 ? void 0 : _f.borderRadius, \";\")\n : \"\";\n});\nvar ReadTextPromptText = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin: 0 auto;\\n text-align: center;\\n padding: 50px;\\n font-size: 24px;\\n max-width: \", \";\\n\\n \", \";\\n \", \";\\n \", \";\\n\"], [\"\\n margin: 0 auto;\\n text-align: center;\\n padding: 50px;\\n font-size: 24px;\\n max-width: \", \";\\n\\n \", \";\\n \", \";\\n \", \";\\n\"])), typeof window !== 'undefined' &&\n window.innerWidth > window.innerHeight\n ? '40%'\n : '90%', function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme.idVideoCapture) === null || _a === void 0 ? void 0 : _a.readTextPrompt) === null || _b === void 0 ? void 0 : _b.prompt) === null || _c === void 0 ? void 0 : _c.backgroundColor)\n ? \"background: \".concat((_f = (_e = (_d = props.theme.idVideoCapture) === null || _d === void 0 ? void 0 : _d.readTextPrompt) === null || _e === void 0 ? void 0 : _e.prompt) === null || _f === void 0 ? void 0 : _f.backgroundColor, \";\")\n : \"\";\n}, function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme.idVideoCapture) === null || _a === void 0 ? void 0 : _a.readTextPrompt) === null || _b === void 0 ? void 0 : _b.prompt) === null || _c === void 0 ? void 0 : _c.textColor)\n ? \"color: \".concat((_f = (_e = (_d = props.theme.idVideoCapture) === null || _d === void 0 ? void 0 : _d.readTextPrompt) === null || _e === void 0 ? void 0 : _e.prompt) === null || _f === void 0 ? void 0 : _f.textColor, \";\")\n : \"\";\n}, function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme.idVideoCapture) === null || _a === void 0 ? void 0 : _a.readTextPrompt) === null || _b === void 0 ? void 0 : _b.prompt) === null || _c === void 0 ? void 0 : _c.borderRadius)\n ? \"border-radius: \".concat((_f = (_e = (_d = props.theme.idVideoCapture) === null || _d === void 0 ? void 0 : _d.readTextPrompt) === null || _e === void 0 ? void 0 : _e.prompt) === null || _f === void 0 ? void 0 : _f.borderRadius, \";\")\n : \"\";\n});\nvar ReadTextPromptButtonsRow = styled(ButtonsRow)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin: 32px auto auto;\\n gap: 20px;\\n\"], [\"\\n margin: 32px auto auto;\\n gap: 20px;\\n\"])));\nvar ReadTextPromptTimeRemaining = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n padding: 20px;\\n\\n \", \";\\n \", \";\\n \", \";\\n\"], [\"\\n padding: 20px;\\n\\n \", \";\\n \", \";\\n \", \";\\n\"])), function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme.idVideoCapture) === null || _a === void 0 ? void 0 : _a.readTextPrompt) === null || _b === void 0 ? void 0 : _b.timeRemaining) === null || _c === void 0 ? void 0 : _c.backgroundColor)\n ? \"background: \".concat((_f = (_e = (_d = props.theme.idVideoCapture) === null || _d === void 0 ? void 0 : _d.readTextPrompt) === null || _e === void 0 ? void 0 : _e.timeRemaining) === null || _f === void 0 ? void 0 : _f.backgroundColor, \";\")\n : \"\";\n}, function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme.idVideoCapture) === null || _a === void 0 ? void 0 : _a.readTextPrompt) === null || _b === void 0 ? void 0 : _b.timeRemaining) === null || _c === void 0 ? void 0 : _c.textColor)\n ? \"color: \".concat((_f = (_e = (_d = props.theme.idVideoCapture) === null || _d === void 0 ? void 0 : _d.readTextPrompt) === null || _e === void 0 ? void 0 : _e.timeRemaining) === null || _f === void 0 ? void 0 : _f.textColor, \";\")\n : \"\";\n}, function (props) {\n var _a, _b, _c, _d, _e, _f;\n return ((_c = (_b = (_a = props.theme.idVideoCapture) === null || _a === void 0 ? void 0 : _a.readTextPrompt) === null || _b === void 0 ? void 0 : _b.timeRemaining) === null || _c === void 0 ? void 0 : _c.borderRadius)\n ? \"border-radius: \".concat((_f = (_e = (_d = props.theme.idVideoCapture) === null || _d === void 0 ? void 0 : _d.readTextPrompt) === null || _e === void 0 ? void 0 : _e.timeRemaining) === null || _f === void 0 ? void 0 : _f.borderRadius, \";\")\n : \"\";\n});\nvar DoneButton = styled(LoaderButton)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n margin: auto 0;\\n\"], [\"\\n margin: auto 0;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n//# sourceMappingURL=ReadTextPrompt.js.map","import { __awaiter, __generator, __makeTemplateObject } from \"tslib\";\nimport React, { useCallback, useContext, useEffect, useRef, useState, } from 'react';\nimport { PageContainer } from '../common/Page';\nimport { SelfieGuidanceModelsContext } from '../selfie_capture/SelfieGuidanceModelsProvider';\nimport { DebugBoundingBoxOverlay, DebugStatsPane, IdCaptureDetectedObjectDebugBox, ObjectDetectionDebugOverlayDiv, SelfieCaptureFaceDebugBox, useDebugScalingDetails, } from '../common/debug';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport useResizeObserver from 'use-resize-observer';\nimport { IdCaptureModelsContext, } from '../id_capture/IdCaptureModelsProvider';\nimport { IdVideoCaptureGuides, } from './IdVideoCaptureGuides';\nimport { useVideoRecorder } from '../../lib/camera/useVideoRecorder';\nimport { useTranslations, useVerbiage, } from '../../lib/locales';\nimport { useTimeout } from '../../lib/utils/useTimeout';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { ReadTextPrompt, } from '../read_text_prompt/ReadTextPrompt';\nimport { GuidanceMessage, GuidanceMessageContainer, } from '../common/GuidanceMessage';\nimport styled, { useTheme } from 'styled-components';\nimport { SubmissionContext } from '../submission/SubmissionProvider';\nimport { drawToCanvas, InvisibleCanvas } from '../common/InvisibleCanvas';\nimport { ExitCaptureButton } from '../common/ExitCaptureButton';\nvar edgeBoundary = 0.05;\nexport var defaultVideoIdCaptureThresholds = {\n detection: {\n idCardFront: 0.6,\n idCardBack: 0.6,\n passport: 1,\n },\n focus: {\n idCardFront: { desktop: 0, mobile: 0 },\n idCardBack: { desktop: 0, mobile: 0 },\n passport: { desktop: 0, mobile: 0 },\n },\n goodFrames: {\n idCardFront: 1,\n idCardBack: 1,\n },\n};\nexport var IdVideoCapture = function (_a) {\n var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;\n var onComplete = _a.onComplete, onIdFrontImageCaptured = _a.onIdFrontImageCaptured, onIdBackImageCaptured = _a.onIdBackImageCaptured, onFaceNotDetected = _a.onFaceNotDetected, onRecordingFailed = _a.onRecordingFailed, onExitCapture = _a.onExitCapture, _w = _a.idCaptureModelsEnabled, idCaptureModelsEnabled = _w === void 0 ? true : _w, _x = _a.idCardFrontDelay, idCardFrontDelay = _x === void 0 ? 1000 : _x, _y = _a.videoIdCaptureThresholds, videoIdCaptureThresholds = _y === void 0 ? defaultVideoIdCaptureThresholds : _y, _z = _a.skipShowIdCardBack, skipShowIdCardBack = _z === void 0 ? false : _z, _0 = _a.captureCountdownSeconds, captureCountdownSeconds = _0 === void 0 ? 3 : _0, readTextPrompt = _a.readTextPrompt, _1 = _a.readTextTimeoutDurationMs, readTextTimeoutDurationMs = _1 === void 0 ? 15000 : _1, _2 = _a.readTextMinReadingMs, readTextMinReadingMs = _2 === void 0 ? 10000 : _2, _3 = _a.disableFaceDetectionWhileAudioCapture, disableFaceDetectionWhileAudioCapture = _3 === void 0 ? false : _3, _4 = _a.disableFaceDetectionWhileAudioCaptureMsDelay, disableFaceDetectionWhileAudioCaptureMsDelay = _4 === void 0 ? 2000 : _4, _5 = _a.mergeAVStreams, mergeAVStreams = _5 === void 0 ? false : _5, _6 = _a.assets, assets = _6 === void 0 ? {} : _6, _7 = _a.classNames, classNames = _7 === void 0 ? {} : _7, _8 = _a.colors, colors = _8 === void 0 ? {} : _8, _9 = _a.verbiage, rawVerbiage = _9 === void 0 ? {} : _9, _10 = _a.debugMode, debugMode = _10 === void 0 ? false : _10;\n var _11 = useResizeObserver(), ref = _11.ref, _12 = _11.width, width = _12 === void 0 ? 1 : _12, _13 = _11.height, height = _13 === void 0 ? 1 : _13;\n var _14 = useContext(CameraStateContext), cameraRef = _14.cameraRef, videoRef = _14.videoRef, videoLoaded = _14.videoLoaded, cameraReady = _14.cameraReady, microphoneReady = _14.microphoneReady, audioStream = _14.audioStream, setVideoLoaded = _14.setVideoLoaded;\n var _15 = useState([]), detectedObjects = _15[0], setDetectedObjects = _15[1];\n var _16 = useState([]), faces = _16[0], setFaces = _16[1];\n var _17 = useContext(IdCaptureModelsContext), idModelsReady = _17.ready, startIdModels = _17.start, stopIdModels = _17.stop, onIdPredictionMade = _17.onPredictionMade, setThresholds = _17.setThresholds, bestFrameDetails = _17.bestFrameDetails, resetBestFrame = _17.resetBestFrame, idModelError = _17.modelError;\n var _18 = useState(null), videoStartsAt = _18[0], setVideoStartsAt = _18[1];\n var _19 = useContext(SubmissionContext), setIdCaptureVideoAudioStartsAt = _19.setIdCaptureVideoAudioStartsAt, setExpectedAudioText = _19.setExpectedAudioText;\n var _20 = useContext(SelfieGuidanceModelsContext), onSelfiePredictionMade = _20.onPredictionMade, selfieModelError = _20.error;\n var _21 = useVideoRecorder(cameraRef.current, audioStream, mergeAVStreams), isRecordingVideo = _21.isRecordingVideo, startRecordingVideo = _21.startRecordingVideo, startRecordingAudio = _21.startRecordingAudio, stopRecordingVideo = _21.stopRecordingVideo, stopRecordingAudio = _21.stopRecordingAudio, videoRecordingUnintentionallyStopped = _21.videoRecordingUnintentionallyStopped, audioRecordingUnintentionallyStopped = _21.audioRecordingUnintentionallyStopped, videoUrl = _21.videoUrl, audioUrl = _21.audioUrl;\n var countdownTimeoutRef = useRef(undefined);\n var _22 = useState(-1), countdownRemaining = _22[0], setCountdownRemaining = _22[1];\n useEffect(function () {\n if (!isRecordingVideo && !videoUrl) {\n startRecordingVideo();\n setVideoStartsAt(new Date());\n }\n // if the mergeAVStreams flag is present, the audio stream is on the video\n // stream, so we won't wait for a separate data url containing audio only.\n var needsAudio = !!readTextPrompt && !mergeAVStreams;\n var audioReady = !needsAudio || audioUrl;\n if (videoUrl && audioReady) {\n setVideoLoaded(false);\n onComplete === null || onComplete === void 0 ? void 0 : onComplete(videoUrl, audioUrl);\n }\n }, [\n audioUrl,\n isRecordingVideo,\n mergeAVStreams,\n onComplete,\n readTextPrompt,\n setVideoLoaded,\n startRecordingVideo,\n videoUrl,\n ]);\n useEffect(function () {\n if (videoRecordingUnintentionallyStopped ||\n audioRecordingUnintentionallyStopped) {\n onRecordingFailed === null || onRecordingFailed === void 0 ? void 0 : onRecordingFailed();\n }\n }, [\n audioRecordingUnintentionallyStopped,\n onRecordingFailed,\n videoRecordingUnintentionallyStopped,\n ]);\n var _23 = useState('SHOW_ID_FRONT'), requestedAction = _23[0], setRequestedAction = _23[1];\n var shouldRunIdModels = idCaptureModelsEnabled &&\n videoLoaded &&\n cameraReady &&\n idModelsReady &&\n !idModelError &&\n requestedAction !== 'READ_TEXT' &&\n (!readTextPrompt || microphoneReady);\n useEffect(function startModelsWhenCapturing() {\n if (!shouldRunIdModels)\n return;\n startIdModels();\n return function () {\n stopIdModels();\n };\n }, [shouldRunIdModels, startIdModels, stopIdModels]);\n useEffect(function () {\n setThresholds(videoIdCaptureThresholds);\n }, [requestedAction, setThresholds, videoIdCaptureThresholds]);\n var _24 = useState(0), currentDetectionScore = _24[0], setCurrentDetectionScore = _24[1];\n var _25 = useState(0), currentFocusScore = _25[0], setCurrentFocusScore = _25[1];\n var _26 = useState(0), goodFramesCount = _26[0], setGoodFramesCount = _26[1];\n var goodFramesThreshold = requestedAction === 'SHOW_ID_FRONT'\n ? videoIdCaptureThresholds.goodFrames.idCardFront\n : videoIdCaptureThresholds.goodFrames.idCardBack;\n var goodFramesThresholdMet = goodFramesCount >= goodFramesThreshold;\n useEffect(function () {\n if (!idCaptureModelsEnabled || idModelError)\n return;\n onIdPredictionMade(function (prediction) {\n setDetectedObjects(prediction.detectedObjects);\n setCurrentDetectionScore(prediction.detectionScore);\n setCurrentFocusScore(prediction.focusScore);\n var detectionThresholdMet = requestedAction === 'SHOW_ID_FRONT'\n ? prediction.idCardFrontDetectionThresholdMet\n : prediction.idCardBackDetectionThresholdMet;\n var isGoodFrame = detectionThresholdMet && prediction.focusThresholdMet;\n if (requestedAction === 'FLIP_ID' && isGoodFrame) {\n return setRequestedAction('SHOW_ID_BACK');\n }\n setGoodFramesCount(isGoodFrame ? function (n) { return n + 1; } : 0);\n });\n }, [\n idCaptureModelsEnabled,\n onIdPredictionMade,\n idModelError,\n requestedAction,\n ]);\n var _27 = useState(null), idFrontCaptureStartedAt = _27[0], setFirstGoodFrameTime = _27[1];\n useEffect(function () {\n if (goodFramesCount === 1)\n setFirstGoodFrameTime(new Date().getTime());\n }, [goodFramesCount]);\n var delaySatisfied = requestedAction !== 'SHOW_ID_FRONT' ||\n (idFrontCaptureStartedAt !== null &&\n new Date().getTime() > idFrontCaptureStartedAt + idCardFrontDelay);\n var translatedText = useVerbiage(readTextPrompt, '');\n var onIdBackCaptureComplete = useCallback(function () {\n var _a;\n if (translatedText) {\n setRequestedAction('READ_TEXT');\n startRecordingAudio();\n setIdCaptureVideoAudioStartsAt(new Date().getTime() - ((_a = videoStartsAt === null || videoStartsAt === void 0 ? void 0 : videoStartsAt.getTime()) !== null && _a !== void 0 ? _a : 0));\n setExpectedAudioText(translatedText);\n }\n else {\n stopRecordingVideo();\n }\n }, [\n setExpectedAudioText,\n setIdCaptureVideoAudioStartsAt,\n startRecordingAudio,\n stopRecordingVideo,\n translatedText,\n videoStartsAt,\n ]);\n var frameWidth = (_c = (_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.videoWidth) !== null && _c !== void 0 ? _c : 0;\n var frameHeight = (_e = (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.videoHeight) !== null && _e !== void 0 ? _e : 0;\n var faceBox = (_f = faces === null || faces === void 0 ? void 0 : faces[0]) === null || _f === void 0 ? void 0 : _f.box;\n var faceCentered = !faceBox ||\n !frameWidth ||\n (faceBox.xMin > frameWidth * edgeBoundary &&\n faceBox.yMin > frameHeight * edgeBoundary &&\n faceBox.xMax < frameWidth * (1 - edgeBoundary) &&\n faceBox.yMax < frameHeight * (1 - edgeBoundary));\n var _28 = useState(), countdownStartedAt = _28[0], setCountdownStartedAt = _28[1];\n var photoCanvas = useRef(null);\n var frameLock = useRef(false);\n var captureFrame = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {\n var frameBase64;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (frameLock.current)\n return [2 /*return*/];\n frameLock.current = true;\n drawToCanvas(photoCanvas.current, videoRef.current);\n frameBase64 = photoCanvas.current.toDataURL('image/jpeg');\n if (!frameBase64) {\n frameLock.current = false;\n return [2 /*return*/];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 7, 8]);\n if (!(requestedAction == 'SHOW_ID_FRONT')) return [3 /*break*/, 5];\n if (onIdFrontImageCaptured) {\n onIdFrontImageCaptured(frameBase64);\n }\n if (!skipShowIdCardBack) return [3 /*break*/, 4];\n if (!(skipShowIdCardBack === true)) return [3 /*break*/, 2];\n return [2 /*return*/, onIdBackCaptureComplete()];\n case 2: return [4 /*yield*/, skipShowIdCardBack()];\n case 3:\n if (_a.sent()) {\n return [2 /*return*/, onIdBackCaptureComplete()];\n }\n _a.label = 4;\n case 4:\n setRequestedAction('FLIP_ID');\n return [3 /*break*/, 6];\n case 5:\n if (requestedAction == 'SHOW_ID_BACK') {\n if (onIdBackImageCaptured) {\n onIdBackImageCaptured(frameBase64);\n }\n onIdBackCaptureComplete();\n }\n _a.label = 6;\n case 6: return [3 /*break*/, 8];\n case 7:\n setDetectedObjects([]);\n setCurrentDetectionScore(0);\n setCurrentFocusScore(0);\n setGoodFramesCount(0);\n setCountdownStartedAt(undefined);\n resetBestFrame();\n frameLock.current = false;\n if (countdownTimeoutRef.current) {\n clearTimeout(countdownTimeoutRef.current);\n }\n return [7 /*endfinally*/];\n case 8: return [2 /*return*/];\n }\n });\n }); }, [\n onIdBackCaptureComplete,\n onIdBackImageCaptured,\n onIdFrontImageCaptured,\n requestedAction,\n resetBestFrame,\n skipShowIdCardBack,\n videoRef,\n ]);\n var isFlipping = requestedAction === 'FLIP_ID';\n useEffect(function () {\n if (!isFlipping)\n return;\n var t = setTimeout(function () {\n setRequestedAction('SHOW_ID_BACK');\n }, 6000);\n return function () {\n clearTimeout(t);\n };\n }, [isFlipping]);\n var stopRecording = useCallback(function () {\n stopRecordingVideo();\n stopRecordingAudio();\n }, [stopRecordingAudio, stopRecordingVideo]);\n var satisfied = !isFlipping && goodFramesThresholdMet && faceCentered && delaySatisfied;\n useEffect(function () {\n if (satisfied && !countdownStartedAt) {\n setCountdownStartedAt(new Date());\n }\n }, [countdownStartedAt, satisfied]);\n useEffect(function () {\n return function () {\n clearTimeout(countdownTimeoutRef.current);\n };\n }, []);\n var manualCountdown = useCallback(function (remainingTime) {\n if (remainingTime > 0) {\n var nextCycle_1 = remainingTime - 1;\n setCountdownRemaining(nextCycle_1);\n countdownTimeoutRef.current = setTimeout(function () { return manualCountdown(nextCycle_1); }, 1000);\n return;\n }\n }, [countdownTimeoutRef]);\n useEffect(function () {\n if (!countdownStartedAt)\n return;\n setCountdownRemaining(captureCountdownSeconds);\n countdownTimeoutRef.current = setTimeout(function () { return manualCountdown(captureCountdownSeconds); }, 1000);\n return function () {\n clearTimeout(countdownTimeoutRef.current);\n };\n }, [captureCountdownSeconds, countdownStartedAt, manualCountdown]);\n useEffect(function () {\n if (countdownRemaining === 0) {\n setCountdownRemaining(-1);\n captureFrame().then();\n }\n }, [captureFrame, countdownRemaining]);\n var timeoutStartedAt = useTimeout(readTextTimeoutDurationMs, stopRecording, requestedAction !== 'READ_TEXT', false, requestedAction === 'READ_TEXT').timeoutStartedAt;\n var _29 = useState(0), numFramesWithoutFaces = _29[0], setNumFramesWithoutFaces = _29[1];\n useEffect(function () {\n if (!selfieModelError) {\n onSelfiePredictionMade(function (faces) {\n setFaces(faces);\n setNumFramesWithoutFaces(function (n) { return (faces.length === 0 ? n + 1 : 0); });\n });\n }\n }, [onSelfiePredictionMade, selfieModelError]);\n useEffect(function () {\n var ignoreMissingFaces = disableFaceDetectionWhileAudioCapture &&\n (timeoutStartedAt === null || timeoutStartedAt === void 0 ? void 0 : timeoutStartedAt.getTime()) &&\n new Date().getTime() - (timeoutStartedAt === null || timeoutStartedAt === void 0 ? void 0 : timeoutStartedAt.getTime()) >\n disableFaceDetectionWhileAudioCaptureMsDelay;\n if (!ignoreMissingFaces && numFramesWithoutFaces >= 2) {\n onFaceNotDetected === null || onFaceNotDetected === void 0 ? void 0 : onFaceNotDetected();\n }\n }, [\n disableFaceDetectionWhileAudioCapture,\n disableFaceDetectionWhileAudioCaptureMsDelay,\n numFramesWithoutFaces,\n onFaceNotDetected,\n timeoutStartedAt,\n ]);\n var theme = useTheme();\n var _30 = useTranslations(rawVerbiage, {\n faceNotCenteredText: 'Please move your face to the center...',\n searchingForIdCardText: 'Searching for ID card...',\n captureBtnText: 'Capture',\n }), captureBtnText = _30.captureBtnText, faceNotCenteredText = _30.faceNotCenteredText, searchingForIdCardText = _30.searchingForIdCardText;\n var debugScalingDetails = useDebugScalingDetails({\n enabled: debugMode,\n pageWidth: width,\n pageHeight: height,\n videoWidth: (_h = (_g = videoRef.current) === null || _g === void 0 ? void 0 : _g.videoWidth) !== null && _h !== void 0 ? _h : 0,\n videoHeight: (_k = (_j = videoRef.current) === null || _j === void 0 ? void 0 : _j.videoHeight) !== null && _k !== void 0 ? _k : 0,\n });\n var capturingId = ['SHOW_ID_FRONT', 'SHOW_ID_BACK'].includes(requestedAction);\n var searchingForIdCard = idCaptureModelsEnabled && capturingId && !goodFramesThresholdMet;\n var guidanceText = !faceCentered\n ? faceNotCenteredText\n : searchingForIdCard\n ? searchingForIdCardText\n : undefined;\n return (React.createElement(PageContainer, { ref: ref, className: \"flex \".concat((_l = classNames.container) !== null && _l !== void 0 ? _l : '') },\n React.createElement(InvisibleCanvas, { ref: photoCanvas }),\n requestedAction === 'READ_TEXT' ? (React.createElement(ReadTextPrompt, { text: readTextPrompt, startedAt: timeoutStartedAt || undefined, durationMs: readTextTimeoutDurationMs, minReadingMs: readTextMinReadingMs, classNames: classNames.readTextPrompt, verbiage: rawVerbiage.readTextPrompt, onComplete: stopRecording })) : (React.createElement(React.Fragment, null,\n React.createElement(IdVideoCaptureGuides, { assets: assets.guides, classNames: classNames.guides, verbiage: rawVerbiage.guides, requestedAction: requestedAction, satisfied: satisfied, faceGuideBorderColor: satisfied\n ? colors.guidesSatisfiedColor\n : colors.guidesUnsatisfiedColor, idCardGuideBorderColor: satisfied\n ? colors.guidesSatisfiedColor\n : colors.guidesUnsatisfiedColor }),\n debugMode && capturingId && (React.createElement(React.Fragment, null,\n React.createElement(ObjectDetectionDebugOverlayDiv, { \"$flipX\": !((_m = cameraRef.current) === null || _m === void 0 ? void 0 : _m.isRearFacing) }, detectedObjects.map(function (obj, i) {\n var _a;\n return (React.createElement(IdCaptureDetectedObjectDebugBox, { key: i, obj: obj, scaling: debugScalingDetails, color: \"blue\", flipX: !((_a = cameraRef.current) === null || _a === void 0 ? void 0 : _a.isRearFacing) }));\n })),\n React.createElement(DebugBoundingBoxOverlay, null, faces.map(function (face, i) { return (React.createElement(SelfieCaptureFaceDebugBox, { key: i, face: face, scaling: debugScalingDetails })); })))))),\n guidanceText && idCaptureModelsEnabled && !idModelError && (React.createElement(GuidanceMessageContainer, { className: classNames.guidanceMessageContainer },\n React.createElement(GuidanceMessage, { className: classNames.guidanceMessage, \"$background\": (_q = (_p = (_o = theme.guidanceMessages) === null || _o === void 0 ? void 0 : _o.negative) === null || _p === void 0 ? void 0 : _p.backgroundColor) !== null && _q !== void 0 ? _q : 'red', \"$textColor\": (_t = (_s = (_r = theme.guidanceMessages) === null || _r === void 0 ? void 0 : _r.negative) === null || _s === void 0 ? void 0 : _s.textColor) !== null && _t !== void 0 ? _t : 'white' }, guidanceText))),\n debugMode && (React.createElement(DebugStatsPane, null,\n cameraRef.current ? (React.createElement(React.Fragment, null,\n \"\\u2705 Camera: \",\n cameraRef.current.label,\n \" (\",\n cameraRef.current.width,\n \"x\",\n cameraRef.current.height,\n \")\")) : ('❌ Camera not ready'),\n React.createElement(\"br\", null),\n isRecordingVideo ? '✅ Recording' : '❌ Not recording',\n React.createElement(\"br\", null),\n goodFramesThresholdMet ? '✅' : '❌',\n \" Good Frame Count:\",\n ' ',\n goodFramesCount,\n \"/\",\n goodFramesThreshold,\n React.createElement(\"br\", null),\n \"Detection Score: \",\n currentDetectionScore,\n React.createElement(\"br\", null),\n \"Focus Score: \",\n currentFocusScore,\n React.createElement(\"br\", null),\n \"Best Frame Detection Score: \", (_u = bestFrameDetails === null || bestFrameDetails === void 0 ? void 0 : bestFrameDetails.detectionScore) !== null && _u !== void 0 ? _u : 0,\n React.createElement(\"br\", null),\n \"Best Frame Focus Score: \", (_v = bestFrameDetails === null || bestFrameDetails === void 0 ? void 0 : bestFrameDetails.focusScore) !== null && _v !== void 0 ? _v : 0)),\n countdownRemaining > 0 && capturingId && (React.createElement(CountdownContainer, { className: classNames.countdownContainer },\n React.createElement(Countdown, { className: classNames.countdown }, countdownRemaining))),\n (!idCaptureModelsEnabled || idModelError) && capturingId && (React.createElement(CaptureButtonContainer, { className: classNames.captureBtnContainer },\n React.createElement(CaptureButton, { finished: true, onClick: function () {\n setCountdownStartedAt(new Date());\n }, disabled: !!countdownStartedAt || frameLock.current, className: classNames.captureBtn }, captureBtnText))),\n React.createElement(ExitCaptureButton, { onClick: onExitCapture, className: classNames.exitCaptureBtn })));\n};\nvar CountdownContainer = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100dvw;\\n height: 100dvh;\\n z-index: 99999;\\n display: flex;\\n\"], [\"\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100dvw;\\n height: 100dvh;\\n z-index: 99999;\\n display: flex;\\n\"])));\nvar Countdown = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n color: white;\\n font-size: 64px;\\n font-weight: bold;\\n margin: auto;\\n\"], [\"\\n color: white;\\n font-size: 64px;\\n font-weight: bold;\\n margin: auto;\\n\"])));\nvar CaptureButtonContainer = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n position: fixed;\\n bottom: 0;\\n width: 100dvw;\\n display: flex;\\n z-index: 100000;\\n\"], [\"\\n position: fixed;\\n bottom: 0;\\n width: 100dvw;\\n display: flex;\\n z-index: 100000;\\n\"])));\nvar CaptureButton = styled(LoaderButton)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin: 0 auto 25px;\\n\"], [\"\\n margin: 0 auto 25px;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n//# sourceMappingURL=IdVideoCapture.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React, { useState } from 'react';\nimport { OverlayContainer, OverlayImageContainer, OverlayInner, } from '../common/overlay';\nimport { LoaderButton } from '../common/LoaderButton';\nimport styled from 'styled-components';\nimport { useTranslations } from '../../lib/locales';\nimport { ButtonsRow } from '../common/ButtonsRow';\nexport var IdVideoCaptureSuccess = function (_a) {\n var videoUrl = _a.videoUrl, audioUrl = _a.audioUrl, idFrontImageUrl = _a.idFrontImageUrl, idBackImageUrl = _a.idBackImageUrl, onDoneClick = _a.onDoneClick, onRetryClick = _a.onRetryClick, _b = _a.classNames, classNames = _b === void 0 ? {} : _b, _c = _a.colors, colors = _c === void 0 ? {} : _c, _d = _a.verbiage, rawVerbiage = _d === void 0 ? {} : _d;\n var _e = useState('video'), displayedAsset = _e[0], setDisplayedAsset = _e[1];\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Video ID has been successfully captured!',\n retryBtnText: 'Retry',\n doneBtnText: 'Done',\n idFrontText: 'ID Front Image',\n idBackText: 'ID Back Image',\n });\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n React.createElement(\"h1\", { className: classNames.heading }, verbiage.headingText),\n React.createElement(AssetSelectorOptions, { className: classNames.assetSelectorOptions },\n React.createElement(AssetSelectorOption, { className: classNames.assetSelectorOption },\n React.createElement(\"input\", { type: \"radio\", id: \"displayedAssetVideo\", value: \"video\", checked: displayedAsset === 'video', onChange: function () { return setDisplayedAsset('video'); } }),\n React.createElement(\"label\", { htmlFor: \"displayedAssetVideo\" }, \"Video\")),\n audioUrl && (React.createElement(AssetSelectorOption, { className: classNames.assetSelectorOption },\n React.createElement(\"input\", { type: \"radio\", id: \"displayedAssetAudio\", value: \"audio\", checked: displayedAsset === 'audio', onChange: function () { return setDisplayedAsset('audio'); } }),\n React.createElement(\"label\", { htmlFor: \"displayedAssetAudio\" }, \"Audio\"))),\n React.createElement(AssetSelectorOption, { className: classNames.assetSelectorOption },\n React.createElement(\"input\", { type: \"radio\", id: \"displayedAssetIdFrontImage\", value: \"idFrontImage\", checked: displayedAsset === 'idFrontImage', onChange: function () { return setDisplayedAsset('idFrontImage'); } }),\n React.createElement(\"label\", { htmlFor: \"displayedAssetIdFrontImage\" }, verbiage.idFrontText)),\n idBackImageUrl && (React.createElement(AssetSelectorOption, { className: classNames.assetSelectorOption },\n React.createElement(\"input\", { type: \"radio\", id: \"displayedAssetIdBackImage\", value: \"idBackImage\", checked: displayedAsset === 'idBackImage', onChange: function () { return setDisplayedAsset('idBackImage'); } }),\n React.createElement(\"label\", { htmlFor: \"displayedAssetIdBackImage\" }, verbiage.idBackText)))),\n React.createElement(OverlayImageContainer, { className: classNames.videoContainer }, displayedAsset === 'video' ? (React.createElement(StyledVideo, { src: videoUrl, className: classNames.video, poster: videoUrl + '#t=0.1', controls: true, preload: \"metadata\", autoPlay: true })) : displayedAsset === 'audio' ? (React.createElement(\"div\", null,\n React.createElement(\"h3\", null, \"Audio\"),\n React.createElement(\"audio\", { controls: true },\n React.createElement(\"source\", { src: audioUrl })))) : displayedAsset === 'idFrontImage' ? (React.createElement(\"img\", { src: idFrontImageUrl, alt: \"ID Front Image\" })) : (React.createElement(\"img\", { src: idBackImageUrl, alt: \"ID Back Image\" }))),\n React.createElement(ButtonsRow, { className: classNames.buttonsRow },\n React.createElement(LoaderButton, { variant: \"warning\", className: classNames.retryBtn, onClick: onRetryClick, colors: colors.retryBtn, finished: true }, verbiage.retryBtnText),\n React.createElement(LoaderButton, { variant: \"positive\", className: classNames.doneBtn, onClick: onDoneClick, colors: colors.doneBtn, finished: true }, verbiage.doneBtnText)))));\n};\nvar StyledVideo = styled.video(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\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\"])));\nvar AssetSelectorOptions = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-bottom: 15px;\\n display: flex;\\n justify-content: center;\\n\"], [\"\\n margin-bottom: 15px;\\n display: flex;\\n justify-content: center;\\n\"])));\nvar AssetSelectorOption = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n padding: 0 8px;\\n\"], [\"\\n padding: 0 8px;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3;\n//# sourceMappingURL=IdVideoCaptureSuccess.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport React, { useCallback, useContext, useEffect, useState, } from 'react';\nimport { CameraProvider } from '../camera/CameraProvider';\nimport { GuideOrientationProvider } from '../GuideOrientationProvider';\nimport { IdCaptureWizard, } from '../id_capture/IdCaptureWizard';\nimport { IdCaptureModelsProvider } from '../id_capture/IdCaptureModelsProvider';\nimport { FaceLivenessWizard, } from '../face_liveness/FaceLivenessWizard';\nimport { SelfieGuidanceModelsProvider } from '../selfie_capture/SelfieGuidanceModelsProvider';\nimport { defaultVideoIdCaptureThresholds, IdVideoCapture, } from './IdVideoCapture';\nimport { IdVideoCaptureSuccess, } from './IdVideoCaptureSuccess';\nimport { SubmissionStatus, } from '../../contexts/SubmissionContext';\nimport { Spinner } from '../common/spinner';\nimport { PageContainer } from '../common/Page';\nimport { releaseCameraAccess } from '../../lib/camera/Camera';\nimport { SubmissionContext } from '../submission/SubmissionProvider';\nimport { IdCaptureStateProvider } from '../id_capture/IdCaptureStateProvider';\nimport { CameraVideoTag } from '../camera/CameraVideoTag';\nimport { defaultDocumentDetectionModelLoadTimeoutMs } from '../../lib/models/DocumentDetection';\nexport var VideoIdWizard = function (_a) {\n var _b, _c, _d, _e, _f;\n var onComplete = _a.onComplete, onExitCapture = _a.onExitCapture, onExitAfterFailure = _a.onExitAfterFailure, onUserCancel = _a.onUserCancel, onIdCaptureModelError = _a.onIdCaptureModelError, onCameraAccessDenied = _a.onCameraAccessDenied, onMicrophoneAccessDenied = _a.onMicrophoneAccessDenied, _g = _a.idCaptureProps, idCaptureProps = _g === void 0 ? {} : _g, _h = _a.faceLivenessProps, faceLivenessProps = _h === void 0 ? {} : _h, _j = _a.idCaptureModelsEnabled, idCaptureModelsEnabled = _j === void 0 ? true : _j, _k = _a.videoIdCaptureThresholds, videoIdCaptureThresholds = _k === void 0 ? defaultVideoIdCaptureThresholds : _k, readTextPrompt = _a.readTextPrompt, readTextTimeoutDurationMs = _a.readTextTimeoutDurationMs, readTextMinReadingMs = _a.readTextMinReadingMs, _l = _a.skipIdCapture, skipIdCapture = _l === void 0 ? false : _l, _m = _a.skipShowIdCardBack, skipShowIdCardBack = _m === void 0 ? false : _m, _o = _a.skipSuccessScreen, skipSuccessScreen = _o === void 0 ? false : _o, _p = _a.idCaptureLoadingOverlayMode, idCaptureLoadingOverlayMode = _p === void 0 ? 'default' : _p, _q = _a.idCaptureGuideType, idCaptureGuideType = _q === void 0 ? 'fit' : _q, _r = _a.idCapturePortraitGuidesOnMobile, idCapturePortraitGuidesOnMobile = _r === void 0 ? true : _r, _s = _a.idCaptureRotateLoadingOverlayImageWhenPortrait, idCaptureRotateLoadingOverlayImageWhenPortrait = _s === void 0 ? true : _s, _t = _a.idCaptureModelLoadTimeoutMs, idCaptureModelLoadTimeoutMs = _t === void 0 ? defaultDocumentDetectionModelLoadTimeoutMs : _t, _u = _a.faceLivenessLoadingOverlayMode, faceLivenessLoadingOverlayMode = _u === void 0 ? 'default' : _u, _v = _a.disableFaceDetectionWhileAudioCapture, disableFaceDetectionWhileAudioCapture = _v === void 0 ? true : _v, _w = _a.disableFaceDetectionWhileAudioCaptureMsDelay, disableFaceDetectionWhileAudioCaptureMsDelay = _w === void 0 ? 2000 : _w, _x = _a.silentFallback, silentFallback = _x === void 0 ? false : _x, _y = _a.mergeAVStreams, mergeAVStreams = _y === void 0 ? false : _y, _z = _a.assets, assets = _z === void 0 ? {} : _z, _0 = _a.classNames, classNames = _0 === void 0 ? {} : _0, _1 = _a.colors, colors = _1 === void 0 ? {} : _1, _2 = _a.verbiage, verbiage = _2 === void 0 ? {} : _2, _3 = _a.debugMode, debugMode = _3 === void 0 ? false : _3;\n var _4 = useContext(SubmissionContext), submissionStatus = _4.submissionStatus, idCaptureVideoUrl = _4.idCaptureVideoUrl, idCaptureVideoAudioUrl = _4.idCaptureVideoAudioUrl, idCaptureVideoIdFrontImage = _4.idCaptureVideoIdFrontImage, idCaptureVideoIdBackImage = _4.idCaptureVideoIdBackImage, setIdCaptureVideoUrl = _4.setIdCaptureVideoUrl, setIdCaptureVideoIdFrontImage = _4.setIdCaptureVideoIdFrontImage, setIdCaptureVideoIdBackImage = _4.setIdCaptureVideoIdBackImage, setIdCaptureVideoAudioUrl = _4.setIdCaptureVideoAudioUrl;\n var _5 = useState('CAPTURING_ID'), captureState = _5[0], setCaptureState = _5[1];\n useEffect(function () {\n if (skipIdCapture && captureState === 'CAPTURING_ID')\n setCaptureState('CHECKING_LIVENESS');\n }, [captureState, skipIdCapture]);\n var onIdCaptureSuccessProp = idCaptureProps.onSuccess;\n var onIdCaptureSuccess = useCallback(function (submission) {\n onIdCaptureSuccessProp === null || onIdCaptureSuccessProp === void 0 ? void 0 : onIdCaptureSuccessProp(submission);\n setCaptureState('CHECKING_LIVENESS');\n }, [onIdCaptureSuccessProp]);\n var onFaceCaptureSuccess = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n setCaptureState('CAPTURING_VIDEO');\n return [2 /*return*/];\n });\n }); }, []);\n var onVideoCaptureComplete = useCallback(function (videoUrl, audioUrl) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n setIdCaptureVideoUrl(videoUrl);\n audioUrl && setIdCaptureVideoAudioUrl(audioUrl);\n setCaptureState('SUCCESS');\n if (skipSuccessScreen)\n onComplete === null || onComplete === void 0 ? void 0 : onComplete();\n return [2 /*return*/];\n });\n }); }, [\n onComplete,\n setIdCaptureVideoAudioUrl,\n setIdCaptureVideoUrl,\n skipSuccessScreen,\n ]);\n var onVideoCaptureFaceNotDetected = useCallback(function () {\n setCaptureState('CHECKING_LIVENESS');\n }, []);\n var _6 = useState(0), attempt = _6[0], setAttempt = _6[1];\n var userSuppliedExitAfterFailure = onExitAfterFailure !== null && onExitAfterFailure !== void 0 ? onExitAfterFailure : faceLivenessProps.onExitAfterFailure;\n var onFaceCaptureExitAfterFailure = useCallback(function (resp, req) {\n userSuppliedExitAfterFailure === null || userSuppliedExitAfterFailure === void 0 ? void 0 : userSuppliedExitAfterFailure(resp, req);\n setAttempt(function (n) { return n + 1; });\n setCaptureState('CAPTURING_ID');\n }, [userSuppliedExitAfterFailure]);\n var onSuccessRetryClick = useCallback(function () {\n setAttempt(function (n) { return n + 1; });\n setCaptureState('CAPTURING_ID');\n }, []);\n var isCapturingId = ['LOADING', 'CAPTURING_ID'].includes(captureState);\n useEffect(function () {\n if (submissionStatus === SubmissionStatus.SUBMITTING)\n releaseCameraAccess();\n }, [submissionStatus]);\n var onRecordingFailed = useCallback(function () {\n setAttempt(function (n) { return n + 1; });\n setCaptureState('CHECKING_LIVENESS');\n }, []);\n var handleExitCapture = useCallback(function () {\n setAttempt(function (n) { return n + 1; });\n onExitCapture === null || onExitCapture === void 0 ? void 0 : onExitCapture();\n }, [onExitCapture]);\n if (submissionStatus === SubmissionStatus.SUBMITTING) {\n return (React.createElement(PageContainer, { className: \"flex\" },\n React.createElement(Spinner, null)));\n }\n return (React.createElement(CameraProvider, { key: \"\".concat(isCapturingId ? 'id' : 'selfie', \"-camera-\").concat(attempt), preferContinuityCamera: isCapturingId, preferFrontFacingCamera: !isCapturingId, requireMicrophoneAccess: !isCapturingId && !!readTextPrompt, maxVideoWidth: isCapturingId ? 1920 : 1280, maxFps: isCapturingId ? 60 : 30, onCameraAccessDenied: onCameraAccessDenied, onMicrophoneAccessDenied: onMicrophoneAccessDenied, debugMode: debugMode },\n React.createElement(IdCaptureModelsProvider, { autoStart: false, documentDetectionModelUrl: (_c = (_b = idCaptureProps.assets) === null || _b === void 0 ? void 0 : _b.documentDetectionModelUrl) !== null && _c !== void 0 ? _c : '', focusModelUrl: (_e = (_d = idCaptureProps.assets) === null || _d === void 0 ? void 0 : _d.focusModelUrl) !== null && _e !== void 0 ? _e : '', onModelError: onIdCaptureModelError, modelLoadTimeoutMs: idCaptureModelLoadTimeoutMs },\n React.createElement(SelfieGuidanceModelsProvider, { autoStart: false, onModelError: faceLivenessProps === null || faceLivenessProps === void 0 ? void 0 : faceLivenessProps.onModelError, modelLoadTimeoutMs: faceLivenessProps === null || faceLivenessProps === void 0 ? void 0 : faceLivenessProps.modelLoadTimeoutMs },\n React.createElement(PageContainer, { className: \"flex \".concat((_f = classNames.container) !== null && _f !== void 0 ? _f : '') },\n ['CHECKING_LIVENESS', 'CAPTURING_VIDEO'].includes(captureState) && React.createElement(CameraVideoTag, { className: classNames.cameraFeed }),\n (function () {\n switch (captureState) {\n case 'CAPTURING_ID':\n return (React.createElement(IdCaptureStateProvider, null,\n React.createElement(GuideOrientationProvider, null,\n React.createElement(IdCaptureWizard, __assign({ key: \"id-capture-\".concat(attempt), loadingOverlayMode: idCaptureLoadingOverlayMode, silentFallback: silentFallback }, idCaptureProps, { assets: assets.idCapture, classNames: classNames.idCapture, colors: colors.idCapture, verbiage: verbiage.idCapture, onSuccess: onIdCaptureSuccess, onExitCapture: handleExitCapture, onUserCancel: onUserCancel, skipSuccessScreen: true, releaseCameraAccessOnExit: false, guideType: idCaptureGuideType, portraitGuidesOnMobile: idCapturePortraitGuidesOnMobile, rotateLoadingOverlayImageWhenPortrait: idCaptureRotateLoadingOverlayImageWhenPortrait, debugMode: debugMode })))));\n case 'CHECKING_LIVENESS':\n return (React.createElement(FaceLivenessWizard, __assign({ key: \"face-liveness-\".concat(attempt), loadingOverlayMode: faceLivenessLoadingOverlayMode, silentFallback: silentFallback }, faceLivenessProps, { onComplete: onFaceCaptureSuccess, onExitCapture: handleExitCapture, onExitAfterFailure: onFaceCaptureExitAfterFailure, onUserCancel: onUserCancel, skipSuccessScreen: true, renderCameraFeed: false, releaseCameraAccessOnExit: false, assets: assets.faceLiveness, classNames: classNames.faceLiveness, colors: colors.faceLiveness, verbiage: verbiage.faceLiveness, debugMode: debugMode })));\n case 'CAPTURING_VIDEO':\n return (React.createElement(IdVideoCapture, { key: \"id-video-capture-\".concat(attempt), onComplete: onVideoCaptureComplete, onIdFrontImageCaptured: setIdCaptureVideoIdFrontImage, onIdBackImageCaptured: setIdCaptureVideoIdBackImage, onFaceNotDetected: onVideoCaptureFaceNotDetected, onRecordingFailed: onRecordingFailed, onExitCapture: handleExitCapture, idCaptureModelsEnabled: idCaptureModelsEnabled, videoIdCaptureThresholds: videoIdCaptureThresholds, skipShowIdCardBack: skipShowIdCardBack, disableFaceDetectionWhileAudioCapture: disableFaceDetectionWhileAudioCapture, disableFaceDetectionWhileAudioCaptureMsDelay: disableFaceDetectionWhileAudioCaptureMsDelay, readTextPrompt: readTextPrompt, readTextTimeoutDurationMs: readTextTimeoutDurationMs, readTextMinReadingMs: readTextMinReadingMs, mergeAVStreams: mergeAVStreams, assets: assets.idVideoCapture, classNames: classNames.idVideoCapture, colors: colors.idVideoCapture, verbiage: verbiage.idVideoCapture, debugMode: debugMode }));\n case 'SUCCESS':\n return (React.createElement(IdVideoCaptureSuccess, { videoUrl: idCaptureVideoUrl !== null && idCaptureVideoUrl !== void 0 ? idCaptureVideoUrl : '', audioUrl: idCaptureVideoAudioUrl !== null && idCaptureVideoAudioUrl !== void 0 ? idCaptureVideoAudioUrl : '', idFrontImageUrl: idCaptureVideoIdFrontImage !== null && idCaptureVideoIdFrontImage !== void 0 ? idCaptureVideoIdFrontImage : '', idBackImageUrl: idCaptureVideoIdBackImage !== null && idCaptureVideoIdBackImage !== void 0 ? idCaptureVideoIdBackImage : undefined, onDoneClick: onComplete, onRetryClick: onSuccessRetryClick, classNames: classNames.success, colors: colors.success, verbiage: verbiage.success }));\n default:\n return React.createElement(React.Fragment, null);\n }\n })())))));\n};\n//# sourceMappingURL=IdVideoCaptureWizard.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport React, { useCallback, useContext, useEffect, useMemo, useState, } from 'react';\nimport { IdCaptureWizard, } from './id_capture/IdCaptureWizard';\nimport { FaceLivenessWizard, } from './face_liveness/FaceLivenessWizard';\nimport { IdCaptureModelsProvider } from './id_capture/IdCaptureModelsProvider';\nimport { CameraProvider } from './camera/CameraProvider';\nimport { GuideOrientationProvider } from './GuideOrientationProvider';\nimport { SubmissionContext, SubmissionProvider, } from './submission/SubmissionProvider';\nimport { SubmissionAction, SubmissionStatus, } from '../contexts/SubmissionContext';\nimport { SubmissionSuccess } from './submission/SubmissionSuccess';\nimport { Spinner } from './common/spinner';\nimport { AdditionalDocumentCaptureWizard, } from './additional_document_capture/AdditionalDocumentCaptureWizard';\nimport { SignatureCapture, } from './signature_capture/SignatureCapture';\nimport { SelfieGuidanceModelsProvider } from './selfie_capture/SelfieGuidanceModelsProvider';\nimport { VideoSignatureWizard, } from './video_signature_capture/VideoSignatureWizard';\nimport { PageContainer } from './common/Page';\nimport { VideoIdWizard, } from './video_id/IdVideoCaptureWizard';\nimport { IdCaptureStateProvider } from './id_capture/IdCaptureStateProvider';\nimport { AuthProvider } from '../contexts/AuthStateContext';\nexport var CompositeWizard = function (props) {\n var _a;\n return (React.createElement(AuthProvider, { authUrl: props.authUrl, sessionId: props.sessionId },\n React.createElement(SubmissionProvider, { action: (_a = props.submissionAction) !== null && _a !== void 0 ? _a : SubmissionAction.VALIDATE, submissionUrl: props.submissionUrl, onResponseReceived: props.onComplete },\n React.createElement(CompositeWizardComponent, __assign({}, props)))));\n};\nexport var CompositeWizardComponent = function (_a) {\n var _b, _c, _d, _e, _f;\n var userChecks = _a.checks, _g = _a.idCaptureProps, idCaptureProps = _g === void 0 ? {} : _g, _h = _a.faceLivenessProps, faceLivenessProps = _h === void 0 ? {} : _h, additionalDocumentCaptureProps = _a.additionalDocumentCaptureProps, _j = _a.signatureCaptureProps, signatureCaptureProps = _j === void 0 ? {} : _j, _k = _a.videoSignatureCaptureProps, videoSignatureCaptureProps = _k === void 0 ? {} : _k, _l = _a.videoIdCaptureProps, videoIdCaptureProps = _l === void 0 ? {} : _l, _m = _a.captureSignature, captureSignature = _m === void 0 ? false : _m, _o = _a.captureSignatureVideo, captureSignatureVideo = _o === void 0 ? false : _o, onCameraAccessDenied = _a.onCameraAccessDenied, onMicrophoneAccessDenied = _a.onMicrophoneAccessDenied, _p = _a.debugMode, debugMode = _p === void 0 ? false : _p;\n var _q = useContext(SubmissionContext), submit = _q.submit, submissionStatus = _q.submissionStatus, setSignatureData = _q.setSignatureData, setAdditionalDocuments = _q.setAdditionalDocuments;\n var _r = useState(0), checkIndex = _r[0], setCheckIndex = _r[1];\n var checks = useMemo(function () {\n var _a, _b;\n var checks = __spreadArray([], userChecks, true);\n if (captureSignature && captureSignatureVideo) {\n throw new Error('captureSignature and captureSignatureVideo cannot be used together');\n }\n if (captureSignature) {\n checks.push('SignatureCapture');\n }\n if (captureSignatureVideo) {\n checks.push('VideoSignatureCapture');\n // remove face liveness because video signature already has it.\n if (checks.includes('FaceLiveness'))\n checks.splice(checks.indexOf('FaceLiveness'), 1);\n }\n if ((_b = (_a = additionalDocumentCaptureProps === null || additionalDocumentCaptureProps === void 0 ? void 0 : additionalDocumentCaptureProps.documents) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0 > 0) {\n checks.push('AdditionalDocumentCapture');\n }\n return checks;\n }, [\n (_b = additionalDocumentCaptureProps === null || additionalDocumentCaptureProps === void 0 ? void 0 : additionalDocumentCaptureProps.documents) === null || _b === void 0 ? void 0 : _b.length,\n captureSignature,\n captureSignatureVideo,\n userChecks,\n ]);\n var currentCheck = checks[checkIndex];\n var isComplete = checkIndex >= checks.length;\n useEffect(function () {\n if (currentCheck === 'SignatureCapture' &&\n typeof captureSignature === 'function') {\n captureSignature().then(function (shouldProceed) {\n if (!shouldProceed) {\n setCheckIndex(function (i) { return i + 1; });\n }\n });\n }\n else if (currentCheck === 'VideoSignatureCapture' &&\n typeof captureSignatureVideo === 'function') {\n captureSignatureVideo().then(function (shouldProceed) {\n if (!shouldProceed) {\n setCheckIndex(function (i) { return i + 1; });\n }\n });\n }\n }, [captureSignature, captureSignatureVideo, currentCheck]);\n useEffect(function () {\n if (isComplete)\n submit();\n }, [isComplete, submit]);\n var onIdCaptureSuccessProp = idCaptureProps.onSuccess;\n var onIdCaptureSuccess = useCallback(function (submission) {\n onIdCaptureSuccessProp === null || onIdCaptureSuccessProp === void 0 ? void 0 : onIdCaptureSuccessProp(submission);\n setCheckIndex(function (i) { return i + 1; });\n }, [onIdCaptureSuccessProp]);\n var onVideoIdCaptureCompleteProp = videoIdCaptureProps.onComplete;\n var onVideoIdCaptureComplete = useCallback(function () {\n onVideoIdCaptureCompleteProp === null || onVideoIdCaptureCompleteProp === void 0 ? void 0 : onVideoIdCaptureCompleteProp();\n setCheckIndex(function (i) { return i + 1; });\n }, [onVideoIdCaptureCompleteProp]);\n var onFaceLivenessCompleteProp = faceLivenessProps.onComplete;\n var onFaceLivenessComplete = useCallback(function (resp, req) {\n onFaceLivenessCompleteProp === null || onFaceLivenessCompleteProp === void 0 ? void 0 : onFaceLivenessCompleteProp(resp, req);\n setCheckIndex(function (i) { return i + 1; });\n }, [onFaceLivenessCompleteProp]);\n var onSignatureCaptureSuccess = useCallback(function (signatureData) {\n setSignatureData(signatureData);\n setCheckIndex(function (i) { return i + 1; });\n }, [setSignatureData]);\n var onVideoSignatureCompleteProp = videoSignatureCaptureProps.onComplete;\n var onVideoSignatureComplete = useCallback(function () {\n onVideoSignatureCompleteProp === null || onVideoSignatureCompleteProp === void 0 ? void 0 : onVideoSignatureCompleteProp();\n setCheckIndex(function (i) { return i + 1; });\n }, [onVideoSignatureCompleteProp]);\n var _s = useState(0), videoSignatureAttempts = _s[0], setVideoSignatureAttempts = _s[1];\n var onVideoSignatureRetryProp = videoSignatureCaptureProps.onRetryClicked;\n var onVideoSignatureRetry = useCallback(function () {\n onVideoSignatureRetryProp === null || onVideoSignatureRetryProp === void 0 ? void 0 : onVideoSignatureRetryProp();\n setVideoSignatureAttempts(function (n) { return n + 1; });\n }, [onVideoSignatureRetryProp]);\n var onAdditionalDocumentCaptureCompleteProp = additionalDocumentCaptureProps === null || additionalDocumentCaptureProps === void 0 ? void 0 : additionalDocumentCaptureProps.onComplete;\n var onAdditionalDocumentCaptureComplete = useCallback(function (uploadedDocuments) {\n setAdditionalDocuments(uploadedDocuments);\n onAdditionalDocumentCaptureCompleteProp === null || onAdditionalDocumentCaptureCompleteProp === void 0 ? void 0 : onAdditionalDocumentCaptureCompleteProp(uploadedDocuments);\n setCheckIndex(function (i) { return i + 1; });\n }, [onAdditionalDocumentCaptureCompleteProp, setAdditionalDocuments]);\n var documents = useMemo(function () { var _a; return (_a = additionalDocumentCaptureProps === null || additionalDocumentCaptureProps === void 0 ? void 0 : additionalDocumentCaptureProps.documents) !== null && _a !== void 0 ? _a : []; }, [additionalDocumentCaptureProps === null || additionalDocumentCaptureProps === void 0 ? void 0 : additionalDocumentCaptureProps.documents]);\n if (isComplete) {\n switch (submissionStatus) {\n case SubmissionStatus.SUBMITTING:\n return (React.createElement(PageContainer, { className: \"flex\" },\n React.createElement(Spinner, null)));\n case SubmissionStatus.SUBMITTED:\n return React.createElement(SubmissionSuccess, null);\n case SubmissionStatus.FAILED:\n return React.createElement(React.Fragment, null, \"Submission failed!\");\n default:\n return React.createElement(React.Fragment, null, \"Complete!!\");\n }\n }\n switch (checks[checkIndex]) {\n case 'IdCapture':\n return (React.createElement(CameraProvider, { key: \"IdCaptureCamera\", onCameraAccessDenied: onCameraAccessDenied, onMicrophoneAccessDenied: onMicrophoneAccessDenied, debugMode: debugMode },\n React.createElement(IdCaptureModelsProvider, { autoStart: false, documentDetectionModelUrl: (_d = (_c = idCaptureProps.assets) === null || _c === void 0 ? void 0 : _c.documentDetectionModelUrl) !== null && _d !== void 0 ? _d : '', focusModelUrl: (_f = (_e = idCaptureProps.assets) === null || _e === void 0 ? void 0 : _e.focusModelUrl) !== null && _f !== void 0 ? _f : '', onModelError: idCaptureProps.onModelError, modelLoadTimeoutMs: idCaptureProps.modelLoadTimeoutMs },\n React.createElement(IdCaptureStateProvider, null,\n React.createElement(GuideOrientationProvider, null,\n React.createElement(IdCaptureWizard, __assign({}, idCaptureProps, { onSuccess: onIdCaptureSuccess })))))));\n case 'VideoIdCapture':\n return (React.createElement(VideoIdWizard, __assign({}, videoIdCaptureProps, { onComplete: onVideoIdCaptureComplete, onCameraAccessDenied: onCameraAccessDenied, onMicrophoneAccessDenied: onMicrophoneAccessDenied })));\n case 'FaceLiveness':\n return (React.createElement(CameraProvider, { key: \"FaceLivenessCamera\", preferFrontFacingCamera: true, preferContinuityCamera: false, onCameraAccessDenied: onCameraAccessDenied, onMicrophoneAccessDenied: onMicrophoneAccessDenied, debugMode: debugMode },\n React.createElement(SelfieGuidanceModelsProvider, { autoStart: false, onModelError: faceLivenessProps.onModelError, modelLoadTimeoutMs: faceLivenessProps.modelLoadTimeoutMs },\n React.createElement(FaceLivenessWizard, __assign({}, faceLivenessProps, { onComplete: onFaceLivenessComplete })))));\n case 'SignatureCapture':\n return (React.createElement(SignatureCapture, __assign({}, signatureCaptureProps, { onAccept: onSignatureCaptureSuccess })));\n case 'VideoSignatureCapture':\n return (React.createElement(CameraProvider, { key: \"SignatureKycCamera-\".concat(videoSignatureAttempts), preferContinuityCamera: false, preferFrontFacingCamera: true, maxVideoWidth: 1280, maxFps: 30, onCameraAccessDenied: onCameraAccessDenied, onMicrophoneAccessDenied: onMicrophoneAccessDenied, debugMode: debugMode },\n React.createElement(SelfieGuidanceModelsProvider, { autoStart: false, throttleMs: 250, onModelError: videoSignatureCaptureProps.onModelError, modelLoadTimeoutMs: videoSignatureCaptureProps.modelLoadTimeoutMs },\n React.createElement(VideoSignatureWizard, __assign({}, videoSignatureCaptureProps, { onComplete: onVideoSignatureComplete, onRetryClicked: onVideoSignatureRetry })))));\n case 'AdditionalDocumentCapture':\n return (React.createElement(AdditionalDocumentCaptureWizard, __assign({}, additionalDocumentCaptureProps, { documents: documents, onComplete: onAdditionalDocumentCaptureComplete })));\n default:\n return React.createElement(React.Fragment, null);\n }\n};\n//# sourceMappingURL=CompositeWizard.js.map","import React, { useEffect } from 'react';\nimport { ThemeProvider as ScThemeProvider, } from 'styled-components';\nvar noneTheme = {};\nvar defaultTheme = {\n fontFamily: \"Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif\",\n isFullscreen: true,\n background: 'white',\n textColor: 'black',\n textAlign: 'center',\n padding: '25px',\n colors: {\n primary: {\n '50': '#eef8ff',\n '100': '#d8eeff',\n '200': '#b9e0ff',\n '300': '#89cfff',\n '400': '#52b4ff',\n '500': '#2a91ff',\n '600': '#0d6efd', // default\n '700': '#0c5ae9',\n '800': '#1149bc',\n '900': '#144194',\n '950': '#11295a',\n },\n secondary: {\n '50': '#f6f6f6',\n '100': '#e7e7e7',\n '200': '#d1d1d1',\n '300': '#b0b0b0',\n '400': '#888888',\n '500': '#666666', // default\n '600': '#5d5d5d',\n '700': '#4f4f4f',\n '800': '#454545',\n '900': '#3d3d3d',\n '950': '#262626',\n },\n positive: {\n '50': '#f1fcf9',\n '100': '#cef9eb',\n '200': '#9df2d8',\n '300': '#65e3c2',\n '400': '#4fd4ad',\n '500': '#1cb090',\n '600': '#16a085', // default\n '700': '#147160',\n '800': '#155a4f',\n '900': '#164b42',\n '950': '#062d28',\n },\n negative: {\n '50': '#fff1f2',\n '100': '#ffe4e6',\n '200': '#fecdd3',\n '300': '#fda4af',\n '400': '#fb7185',\n '500': '#f43f5e', // default\n '600': '#e11d48',\n '700': '#be123c',\n '800': '#9f1239',\n '900': '#881337',\n '950': '#4c0519',\n },\n warning: {\n '50': '#fdf5ef',\n '100': '#fbe7d9',\n '200': '#f6cdb2',\n '300': '#f0ab81',\n '400': '#ea8557', // default\n '500': '#e35e2c',\n '600': '#d54621',\n '700': '#b1341d',\n '800': '#8d2b1f',\n '900': '#72261c',\n '950': '#3d100d',\n },\n },\n buttons: {\n style: 'bootstrap',\n primary: {\n backgroundColor: 'var(--idm-color-primary-600)',\n textColor: 'white',\n },\n secondary: {\n backgroundColor: 'var(--idm-color-secondary-500)',\n textColor: 'white',\n },\n positive: {\n backgroundColor: 'var(--idm-color-positive-600)',\n textColor: 'white',\n },\n negative: {\n backgroundColor: 'var(--idm-color-negative-400)',\n textColor: 'white',\n },\n warning: {\n backgroundColor: 'var(--idm-color-warning-400)',\n textColor: 'white',\n },\n loading: {\n backgroundColor: 'gray',\n textColor: 'white',\n },\n },\n guidanceMessages: {\n default: {\n backgroundColor: 'var(--idm-color-secondary-200)',\n textColor: 'black',\n },\n positive: {\n backgroundColor: 'var(--idm-color-positive-700)',\n textColor: 'white',\n },\n negative: {\n backgroundColor: 'var(--idm-color-negative-600)',\n textColor: 'white',\n },\n },\n idCapture: {\n loadingOverlay: {\n backgroundColor: '#ecedf3',\n textColor: 'black',\n loadingGraphicAccentColor: 'var(--idm-color-positive-600)',\n loadingGraphicAccentOpacity: 0.2,\n progressBarBackgroundColor: 'var(--idm-color-positive-600)',\n progressBarBackgroundOpacity: 0.75,\n progressBarIndicatorColor: 'var(--idm-color-positive-600)',\n progressBarTextColor: 'white',\n continueBtnBorder: '2px solid white',\n },\n guideOverlay: {\n backgroundColor: '#708090',\n textColor: 'white',\n },\n guideBox: {\n unsatisfiedColor: 'white',\n satisfiedColor: 'var(--idm-color-positive-500)',\n borderWidth: 4,\n desktopPadding: 50,\n mobilePadding: 0,\n imagePadding: 25,\n },\n },\n selfieCapture: {\n loadingOverlay: {\n backgroundColor: '#ecedf3',\n textColor: 'black',\n loadingGraphicAccentColor: 'var(--idm-color-positive-600)',\n progressBarBackgroundColor: 'var(--idm-color-positive-600)',\n progressBarBackgroundOpacity: 0.75,\n progressBarIndicatorColor: 'var(--idm-color-positive-600)',\n progressBarTextColor: 'white',\n continueBtnBorder: '2px solid white',\n },\n guides: {\n unsatisfiedColor: 'white',\n satisfiedColor: 'var(--idm-color-positive-500)',\n },\n },\n signatureCapture: {\n background: 'radial-gradient(#444cf7 0.5px, transparent 0.5px), radial-gradient(#444cf7 0.5px, #e5e5f7 0.5px)',\n backgroundSize: '20px 20px',\n backgroundPosition: '0 0, 10px 10px',\n },\n idVideoCapture: {\n readTextPrompt: {\n heading: {\n backgroundColor: 'rgba(255, 255, 255, 0.5)',\n textColor: 'black',\n borderRadius: '8px',\n },\n prompt: {\n backgroundColor: 'rgba(255, 255, 255, 0.5)',\n textColor: 'black',\n borderRadius: '8px',\n },\n timeRemaining: {\n backgroundColor: 'rgba(255, 255, 255, 0.5)',\n textColor: 'black',\n borderRadius: '4px',\n },\n },\n },\n};\nexport var themes = {\n default: defaultTheme,\n none: noneTheme,\n};\nexport var resolveTheme = function (input) {\n if (typeof input === 'string') {\n if (input in themes)\n return themes[input];\n return themes.none;\n }\n return input;\n};\nexport var ThemeProvider = function (_a) {\n var children = _a.children, themeInput = _a.theme;\n var theme = resolveTheme(themeInput);\n var colors = theme.colors;\n useEffect(function () {\n for (var name_1 in colors) {\n var variants = colors[name_1];\n for (var num in variants) {\n var color = variants[num];\n document.documentElement.style.setProperty(\"--idm-color-\".concat(name_1, \"-\").concat(num), color);\n }\n }\n }, [colors]);\n return React.createElement(ScThemeProvider, { theme: theme }, children);\n};\n//# sourceMappingURL=index.js.map","import React, { useCallback, useMemo, } from 'react';\nimport { SubmissionProvider, } from '../submission/SubmissionProvider';\nimport { SubmissionAction, } from '../../contexts/SubmissionContext';\nimport { CompositeWizardComponent } from '../CompositeWizard';\nimport { useLanguage } from '../../lib/locales';\nimport { ThemeProvider } from '../../themes';\nimport { AuthProvider } from '../../contexts/AuthStateContext';\nimport { useDebugLogging } from '../../lib/utils/logger';\nimport { defaultDocumentDetectionModelLoadTimeoutMs } from '../../lib/models/DocumentDetection';\nimport { defaultIdCaptureThresholds, } from '../id_capture/IdCaptureModelsProvider';\n/**\n * Render a fullscreen ID capture component that instructs the user to photograph both sides of their ID card, or full page of their passport.\n */\nexport var IdValidation = function (_a) {\n var _b = _a.lang, lang = _b === void 0 ? 'auto' : _b, sessionId = _a.sessionId, clientRequestID = _a.clientRequestID, submissionUrl = _a.submissionUrl, authUrl = _a.authUrl, documentServiceUrl = _a.documentServiceUrl, companyId = _a.companyId, needImmediateResponse = _a.needImmediateResponse, manualReviewRequired = _a.manualReviewRequired, idBackImageRequired = _a.idBackImageRequired, verifyIdWithExternalDatabases = _a.verifyIdWithExternalDatabases, bypassAgeValidation = _a.bypassAgeValidation, bypassNameMatching = _a.bypassNameMatching, personalData = _a.personalData, cardData = _a.cardData, idData = _a.idData, webhooksEnabled = _a.webhooksEnabled, webhooksClientTraceId = _a.webhooksClientTraceId, webhooksStripSpecialCharacters = _a.webhooksStripSpecialCharacters, webhooksSendInputImages = _a.webhooksSendInputImages, webhooksSendProcessedImages = _a.webhooksSendProcessedImages, webhooksFireOnReview = _a.webhooksFireOnReview, sendBase64DocumentsInSwaggerProxy = _a.sendBase64DocumentsInSwaggerProxy, customerDataMatchConfig = _a.customerDataMatchConfig, precapturedDocuments = _a.precapturedDocuments, _c = _a.loadingOverlayMode, loadingOverlayMode = _c === void 0 ? 'default' : _c, _d = _a.idCaptureRequirement, idCaptureRequirement = _d === void 0 ? 'idCardOrPassport' : _d, _e = _a.separateIdCardCaptureSequence, separateIdCardCaptureSequence = _e === void 0 ? false : _e, _f = _a.idCaptureThresholds, idCaptureThresholds = _f === void 0 ? defaultIdCaptureThresholds : _f, _g = _a.skipSuccessScreen, skipSuccessScreen = _g === void 0 ? false : _g, instructions = _a.instructions, _h = _a.guideType, guideType = _h === void 0 ? 'fit' : _h, _j = _a.portraitGuidesOnMobile, portraitGuidesOnMobile = _j === void 0 ? true : _j, _k = _a.rotateLoadingOverlayImageWhenPortrait, rotateLoadingOverlayImageWhenPortrait = _k === void 0 ? true : _k, _l = _a.modelLoadTimeoutMs, modelLoadTimeoutMs = _l === void 0 ? defaultDocumentDetectionModelLoadTimeoutMs : _l, _m = _a.forceFallbackMode, forceFallbackMode = _m === void 0 ? false : _m, _o = _a.allowIdCardBackToFrontCapture, allowIdCardBackToFrontCapture = _o === void 0 ? false : _o, onBeforeSubmit = _a.onBeforeSubmit, onBeforeDocumentUpload = _a.onBeforeDocumentUpload, onDocumentUploadProgress = _a.onDocumentUploadProgress, onDocumentUploaded = _a.onDocumentUploaded, onDocumentUploadFailed = _a.onDocumentUploadFailed, onSubmit = _a.onSubmit, onComplete = _a.onComplete, onApproved = _a.onApproved, onDenied = _a.onDenied, onExitCapture = _a.onExitCapture, onUserCancel = _a.onUserCancel, onModelError = _a.onModelError, onCameraAccessDenied = _a.onCameraAccessDenied, _p = _a.theme, theme = _p === void 0 ? 'default' : _p, _q = _a.assets, assets = _q === void 0 ? {} : _q, _r = _a.classNames, classNames = _r === void 0 ? {} : _r, _s = _a.colors, colors = _s === void 0 ? {} : _s, _t = _a.verbiage, verbiage = _t === void 0 ? {} : _t, _u = _a.captureSignature, captureSignature = _u === void 0 ? false : _u, _v = _a.captureSignatureVideo, captureSignatureVideo = _v === void 0 ? false : _v, _w = _a.captureAdditionalDocuments, captureAdditionalDocuments = _w === void 0 ? [] : _w, _x = _a.geolocationEnabled, geolocationEnabled = _x === void 0 ? true : _x, _y = _a.geolocationRequired, geolocationRequired = _y === void 0 ? false : _y, _z = _a.debugMode, debugMode = _z === void 0 ? false : _z;\n useLanguage(lang);\n useDebugLogging(debugMode);\n var idCaptureProps = useMemo(function () {\n return ({\n onExitCapture: onExitCapture,\n onUserCancel: onUserCancel,\n onModelError: onModelError,\n precapturedDocuments: precapturedDocuments,\n captureRequirement: idCaptureRequirement,\n separateIdCardCaptureSequence: separateIdCardCaptureSequence,\n thresholds: idCaptureThresholds,\n skipSuccessScreen: skipSuccessScreen,\n loadingOverlayMode: loadingOverlayMode,\n forceFallbackMode: forceFallbackMode,\n allowIdCardBackToFrontCapture: allowIdCardBackToFrontCapture,\n instructions: instructions,\n guideType: guideType,\n portraitGuidesOnMobile: portraitGuidesOnMobile,\n rotateLoadingOverlayImageWhenPortrait: rotateLoadingOverlayImageWhenPortrait,\n modelLoadTimeoutMs: modelLoadTimeoutMs,\n assets: assets,\n classNames: classNames,\n colors: colors,\n verbiage: verbiage,\n debugMode: debugMode,\n });\n }, [\n onExitCapture,\n onUserCancel,\n onModelError,\n precapturedDocuments,\n idCaptureRequirement,\n separateIdCardCaptureSequence,\n idCaptureThresholds,\n skipSuccessScreen,\n loadingOverlayMode,\n forceFallbackMode,\n allowIdCardBackToFrontCapture,\n instructions,\n guideType,\n portraitGuidesOnMobile,\n rotateLoadingOverlayImageWhenPortrait,\n modelLoadTimeoutMs,\n assets,\n classNames,\n colors,\n verbiage,\n debugMode,\n ]);\n var additionalDocumentCaptureProps = useMemo(function () {\n return ({\n documents: captureAdditionalDocuments,\n classNames: classNames.additionalDocumentCapture,\n verbiage: verbiage.additionalDocumentCapture,\n });\n }, [\n captureAdditionalDocuments,\n classNames.additionalDocumentCapture,\n verbiage.additionalDocumentCapture,\n ]);\n var signatureCaptureProps = useMemo(function () {\n return ({\n classNames: classNames.signatureCapture,\n verbiage: verbiage.signatureCapture,\n });\n }, [classNames.signatureCapture, verbiage.signatureCapture]);\n var videoSignatureCaptureProps = useMemo(function () {\n return ({\n onExitCapture: onExitCapture,\n onUserCancel: onUserCancel,\n skipSuccessScreen: skipSuccessScreen,\n classNames: classNames.videoSignatureCapture,\n colors: colors.videoSignatureCapture,\n verbiage: verbiage.videoSignatureCapture,\n debugMode: debugMode,\n });\n }, [\n classNames.videoSignatureCapture,\n colors.videoSignatureCapture,\n debugMode,\n onExitCapture,\n onUserCancel,\n skipSuccessScreen,\n verbiage.videoSignatureCapture,\n ]);\n var onResponseReceived = useCallback(function (resp, req) {\n onComplete === null || onComplete === void 0 ? void 0 : onComplete(resp, req);\n if (resp.resultData['verificationResult'] === 'Approved') {\n onApproved === null || onApproved === void 0 ? void 0 : onApproved(resp, req);\n }\n else {\n onDenied === null || onDenied === void 0 ? void 0 : onDenied(resp, req);\n }\n }, [onApproved, onComplete, onDenied]);\n return (React.createElement(AuthProvider, { sessionId: sessionId, authUrl: authUrl },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(SubmissionProvider, { action: SubmissionAction.VALIDATE, submissionUrl: submissionUrl, clientRequestID: clientRequestID, documentServiceUrl: documentServiceUrl, companyId: companyId, needImmediateResponse: needImmediateResponse, manualReviewRequired: manualReviewRequired, idBackImageRequired: idBackImageRequired, verifyIdWithExternalDatabases: verifyIdWithExternalDatabases, bypassAgeValidation: bypassAgeValidation, bypassNameMatching: bypassNameMatching, personalData: personalData, cardData: cardData, idData: idData, webhooksEnabled: webhooksEnabled, webhooksClientTraceId: webhooksClientTraceId, webhooksStripSpecialCharacters: webhooksStripSpecialCharacters, webhooksSendInputImages: webhooksSendInputImages, webhooksSendProcessedImages: webhooksSendProcessedImages, webhooksFireOnReview: webhooksFireOnReview, sendBase64DocumentsInSwaggerProxy: sendBase64DocumentsInSwaggerProxy, customerDataMatchConfig: customerDataMatchConfig, onBeforeDocumentUpload: onBeforeDocumentUpload, onDocumentUploadProgress: onDocumentUploadProgress, onDocumentUploaded: onDocumentUploaded, onDocumentUploadFailed: onDocumentUploadFailed, onBeforeSubmit: onBeforeSubmit, onSubmit: onSubmit, onResponseReceived: onResponseReceived, geolocationEnabled: geolocationEnabled, geolocationRequired: geolocationRequired },\n React.createElement(CompositeWizardComponent, { checks: useMemo(function () { return ['IdCapture']; }, []), idCaptureProps: idCaptureProps, additionalDocumentCaptureProps: additionalDocumentCaptureProps, signatureCaptureProps: signatureCaptureProps, videoSignatureCaptureProps: videoSignatureCaptureProps, captureSignature: captureSignature, captureSignatureVideo: captureSignatureVideo, onCameraAccessDenied: onCameraAccessDenied, debugMode: debugMode })))));\n};\n//# sourceMappingURL=IdValidation.js.map","import React, { useMemo } from 'react';\nimport { SubmissionProvider, } from '../submission/SubmissionProvider';\nimport { SubmissionAction, } from '../../contexts/SubmissionContext';\nimport { CompositeWizardComponent } from '../CompositeWizard';\nimport { useLanguage } from '../../lib/locales';\nimport { ThemeProvider } from '../../themes';\nimport { AuthProvider } from '../../contexts/AuthStateContext';\nimport { useDebugLogging } from '../../lib/utils/logger';\nimport { defaultSelfieCaptureModelLoadTimeoutMs } from '../../lib/models/FaceDetection';\n/** Render a fullscreen capture component that analyzes frames from the user's front-facing camera to determine whether a live human face is present. */\nexport var FaceValidation = function (_a) {\n var _b = _a.lang, lang = _b === void 0 ? 'auto' : _b, sessionId = _a.sessionId, authUrl = _a.authUrl, submissionUrl = _a.submissionUrl, documentServiceUrl = _a.documentServiceUrl, companyId = _a.companyId, needImmediateResponse = _a.needImmediateResponse, webhooksEnabled = _a.webhooksEnabled, webhooksClientTraceId = _a.webhooksClientTraceId, webhooksStripSpecialCharacters = _a.webhooksStripSpecialCharacters, webhooksSendInputImages = _a.webhooksSendInputImages, webhooksSendProcessedImages = _a.webhooksSendProcessedImages, sendBase64DocumentsInSwaggerProxy = _a.sendBase64DocumentsInSwaggerProxy, _c = _a.loadingOverlayMode, loadingOverlayMode = _c === void 0 ? 'default' : _c, _d = _a.timeoutDurationMs, timeoutDurationMs = _d === void 0 ? 15000 : _d, _e = _a.modelLoadTimeoutMs, modelLoadTimeoutMs = _e === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _e, _f = _a.skipSuccessScreen, skipSuccessScreen = _f === void 0 ? false : _f, idCardForFaceMatch = _a.idCardForFaceMatch, onBeforeDocumentUpload = _a.onBeforeDocumentUpload, onDocumentUploadProgress = _a.onDocumentUploadProgress, onDocumentUploaded = _a.onDocumentUploaded, onDocumentUploadFailed = _a.onDocumentUploadFailed, onBeforeSubmit = _a.onBeforeSubmit, onComplete = _a.onComplete, onApproved = _a.onApproved, onDenied = _a.onDenied, onExitCapture = _a.onExitCapture, onExitAfterFailure = _a.onExitAfterFailure, onUserCancel = _a.onUserCancel, onModelError = _a.onModelError, onCameraAccessDenied = _a.onCameraAccessDenied, _g = _a.theme, theme = _g === void 0 ? 'default' : _g, assets = _a.assets, classNames = _a.classNames, colors = _a.colors, verbiage = _a.verbiage, _h = _a.geolocationEnabled, geolocationEnabled = _h === void 0 ? true : _h, _j = _a.geolocationRequired, geolocationRequired = _j === void 0 ? false : _j, _k = _a.debugMode, debugMode = _k === void 0 ? false : _k;\n useLanguage(lang);\n useDebugLogging(debugMode);\n var faceLivenessProps = useMemo(function () {\n return ({\n loadingOverlayMode: loadingOverlayMode,\n timeoutDurationMs: timeoutDurationMs,\n modelLoadTimeoutMs: modelLoadTimeoutMs,\n skipSuccessScreen: skipSuccessScreen,\n onComplete: onComplete,\n onSuccess: onApproved,\n onTimeout: onDenied,\n onExitCapture: onExitCapture,\n onExitAfterFailure: onExitAfterFailure,\n onModelError: onModelError,\n onUserCancel: onUserCancel,\n assets: assets,\n classNames: classNames,\n colors: colors,\n verbiage: verbiage,\n debugMode: debugMode,\n });\n }, [\n assets,\n classNames,\n colors,\n debugMode,\n loadingOverlayMode,\n modelLoadTimeoutMs,\n onApproved,\n onComplete,\n onDenied,\n onExitAfterFailure,\n onExitCapture,\n onModelError,\n onUserCancel,\n skipSuccessScreen,\n timeoutDurationMs,\n verbiage,\n ]);\n return (React.createElement(AuthProvider, { sessionId: sessionId, authUrl: authUrl },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(SubmissionProvider, { action: SubmissionAction.NONE, submissionUrl: submissionUrl, documentServiceUrl: documentServiceUrl, companyId: companyId, needImmediateResponse: needImmediateResponse, webhooksEnabled: webhooksEnabled, webhooksClientTraceId: webhooksClientTraceId, webhooksStripSpecialCharacters: webhooksStripSpecialCharacters, webhooksSendInputImages: webhooksSendInputImages, webhooksSendProcessedImages: webhooksSendProcessedImages, sendBase64DocumentsInSwaggerProxy: sendBase64DocumentsInSwaggerProxy, idCardForFaceMatch: idCardForFaceMatch, onBeforeDocumentUpload: onBeforeDocumentUpload, onDocumentUploadProgress: onDocumentUploadProgress, onDocumentUploaded: onDocumentUploaded, onDocumentUploadFailed: onDocumentUploadFailed, onBeforeLivenessCheck: onBeforeSubmit, geolocationEnabled: geolocationEnabled, geolocationRequired: geolocationRequired },\n React.createElement(CompositeWizardComponent, { checks: useMemo(function () { return ['FaceLiveness']; }, []), faceLivenessProps: faceLivenessProps, onCameraAccessDenied: onCameraAccessDenied, debugMode: debugMode })))));\n};\n//# sourceMappingURL=FaceValidation.js.map","import React, { useCallback, useMemo, } from 'react';\nimport { SubmissionProvider, } from '../submission/SubmissionProvider';\nimport { SubmissionAction, } from '../../contexts/SubmissionContext';\nimport { CompositeWizardComponent, } from '../CompositeWizard';\nimport { useLanguage } from '../../lib/locales';\nimport { ThemeProvider } from '../../themes';\nimport { AuthProvider } from '../../contexts/AuthStateContext';\nimport { useDebugLogging } from '../../lib/utils/logger';\nimport { defaultDocumentDetectionModelLoadTimeoutMs } from '../../lib/models/DocumentDetection';\nimport { defaultSelfieCaptureModelLoadTimeoutMs } from '../../lib/models/FaceDetection';\nimport { defaultIdCaptureThresholds, } from '../id_capture/IdCaptureModelsProvider';\n/**\n * Render a fullscreen capture component that performs `IDValidation` and `FaceValidation` sequentially.\n * */\nexport var IdAndFaceValidation = function (_a) {\n var _b = _a.lang, lang = _b === void 0 ? 'auto' : _b, sessionId = _a.sessionId, authUrl = _a.authUrl, submissionUrl = _a.submissionUrl, documentServiceUrl = _a.documentServiceUrl, companyId = _a.companyId, needImmediateResponse = _a.needImmediateResponse, manualReviewRequired = _a.manualReviewRequired, idBackImageRequired = _a.idBackImageRequired, verifyIdWithExternalDatabases = _a.verifyIdWithExternalDatabases, bypassAgeValidation = _a.bypassAgeValidation, bypassNameMatching = _a.bypassNameMatching, personalData = _a.personalData, cardData = _a.cardData, idData = _a.idData, webhooksEnabled = _a.webhooksEnabled, webhooksClientTraceId = _a.webhooksClientTraceId, webhooksStripSpecialCharacters = _a.webhooksStripSpecialCharacters, webhooksSendInputImages = _a.webhooksSendInputImages, webhooksSendProcessedImages = _a.webhooksSendProcessedImages, webhooksFireOnReview = _a.webhooksFireOnReview, sendBase64DocumentsInSwaggerProxy = _a.sendBase64DocumentsInSwaggerProxy, customerDataMatchConfig = _a.customerDataMatchConfig, precapturedDocuments = _a.precapturedDocuments, _c = _a.idCaptureLoadingOverlayMode, idCaptureLoadingOverlayMode = _c === void 0 ? 'default' : _c, _d = _a.idCaptureRequirement, idCaptureRequirement = _d === void 0 ? 'idCardOrPassport' : _d, _e = _a.idCaptureThresholds, idCaptureThresholds = _e === void 0 ? defaultIdCaptureThresholds : _e, _f = _a.faceLivenessLoadingOverlayMode, faceLivenessLoadingOverlayMode = _f === void 0 ? 'default' : _f, _g = _a.faceLivenessTimeoutDurationMs, faceLivenessTimeoutDurationMs = _g === void 0 ? 15000 : _g, _h = _a.skipSuccessScreen, skipSuccessScreen = _h === void 0 ? false : _h, idCaptureInstructions = _a.idCaptureInstructions, _j = _a.idCaptureGuideType, idCaptureGuideType = _j === void 0 ? 'fit' : _j, _k = _a.idCapturePortraitGuidesOnMobile, idCapturePortraitGuidesOnMobile = _k === void 0 ? true : _k, _l = _a.idCaptureRotateLoadingOverlayImageWhenPortrait, idCaptureRotateLoadingOverlayImageWhenPortrait = _l === void 0 ? true : _l, _m = _a.idCaptureModelLoadTimeoutMs, idCaptureModelLoadTimeoutMs = _m === void 0 ? defaultDocumentDetectionModelLoadTimeoutMs : _m, _o = _a.selfieCaptureModelLoadTimeoutMs, selfieCaptureModelLoadTimeoutMs = _o === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _o, onBeforeDocumentUpload = _a.onBeforeDocumentUpload, onDocumentUploaded = _a.onDocumentUploaded, onDocumentUploadProgress = _a.onDocumentUploadProgress, onDocumentUploadFailed = _a.onDocumentUploadFailed, onBeforeLivenessCheck = _a.onBeforeLivenessCheck, onBeforeSubmit = _a.onBeforeSubmit, onSubmit = _a.onSubmit, onComplete = _a.onComplete, onApproved = _a.onApproved, onDenied = _a.onDenied, onExitCapture = _a.onExitCapture, onExitAfterFailure = _a.onExitAfterFailure, onUserCancel = _a.onUserCancel, onIdCaptureModelError = _a.onIdCaptureModelError, onSelfieCaptureModelError = _a.onSelfieCaptureModelError, onCameraAccessDenied = _a.onCameraAccessDenied, _p = _a.captureSignature, captureSignature = _p === void 0 ? false : _p, _q = _a.captureSignatureVideo, captureSignatureVideo = _q === void 0 ? false : _q, _r = _a.captureAdditionalDocuments, captureAdditionalDocuments = _r === void 0 ? [] : _r, _s = _a.theme, theme = _s === void 0 ? 'default' : _s, _t = _a.assets, assets = _t === void 0 ? {} : _t, _u = _a.classNames, classNames = _u === void 0 ? {} : _u, _v = _a.colors, colors = _v === void 0 ? {} : _v, _w = _a.verbiage, verbiage = _w === void 0 ? {} : _w, _x = _a.geolocationEnabled, geolocationEnabled = _x === void 0 ? true : _x, _y = _a.geolocationRequired, geolocationRequired = _y === void 0 ? false : _y, _z = _a.debugMode, debugMode = _z === void 0 ? false : _z;\n useLanguage(lang);\n useDebugLogging(debugMode);\n var idCaptureProps = useMemo(function () {\n return ({\n onExitCapture: onExitCapture,\n onUserCancel: onUserCancel,\n onModelError: onIdCaptureModelError,\n assets: assets.idCapture,\n classNames: classNames.idCapture,\n colors: colors.idCapture,\n verbiage: verbiage.idCapture,\n precapturedDocuments: precapturedDocuments,\n captureRequirement: idCaptureRequirement,\n thresholds: idCaptureThresholds,\n loadingOverlayMode: idCaptureLoadingOverlayMode,\n instructions: idCaptureInstructions,\n guideType: idCaptureGuideType,\n portraitGuidesOnMobile: idCapturePortraitGuidesOnMobile,\n rotateLoadingOverlayImageWhenPortrait: idCaptureRotateLoadingOverlayImageWhenPortrait,\n modelLoadTimeoutMs: idCaptureModelLoadTimeoutMs,\n skipSuccessScreen: skipSuccessScreen,\n debugMode: debugMode,\n });\n }, [\n onExitCapture,\n onUserCancel,\n onIdCaptureModelError,\n assets.idCapture,\n classNames.idCapture,\n colors.idCapture,\n verbiage.idCapture,\n precapturedDocuments,\n idCaptureRequirement,\n idCaptureThresholds,\n idCaptureLoadingOverlayMode,\n idCaptureInstructions,\n idCaptureGuideType,\n idCapturePortraitGuidesOnMobile,\n idCaptureRotateLoadingOverlayImageWhenPortrait,\n idCaptureModelLoadTimeoutMs,\n skipSuccessScreen,\n debugMode,\n ]);\n var faceLivenessProps = useMemo(function () {\n return ({\n loadingOverlayMode: faceLivenessLoadingOverlayMode,\n timeoutDurationMs: faceLivenessTimeoutDurationMs,\n modelLoadTimeoutMs: selfieCaptureModelLoadTimeoutMs,\n onTimeout: onDenied,\n onExitCapture: onExitCapture,\n onExitAfterFailure: onExitAfterFailure,\n onUserCancel: onUserCancel,\n onModelError: onSelfieCaptureModelError,\n skipSuccessScreen: skipSuccessScreen,\n assets: assets.faceLiveness,\n classNames: classNames.faceLiveness,\n colors: colors.faceLiveness,\n verbiage: verbiage.faceLiveness,\n debugMode: debugMode,\n });\n }, [\n assets.faceLiveness,\n classNames.faceLiveness,\n colors.faceLiveness,\n debugMode,\n faceLivenessLoadingOverlayMode,\n faceLivenessTimeoutDurationMs,\n onDenied,\n onExitAfterFailure,\n onExitCapture,\n onSelfieCaptureModelError,\n onUserCancel,\n selfieCaptureModelLoadTimeoutMs,\n skipSuccessScreen,\n verbiage.faceLiveness,\n ]);\n var additionalDocumentCaptureProps = useMemo(function () {\n return ({\n documents: captureAdditionalDocuments,\n classNames: classNames.additionalDocumentCapture,\n verbiage: verbiage.additionalDocumentCapture,\n });\n }, [\n captureAdditionalDocuments,\n classNames.additionalDocumentCapture,\n verbiage.additionalDocumentCapture,\n ]);\n var signatureCaptureProps = useMemo(function () {\n return ({\n classNames: classNames.signatureCapture,\n verbiage: verbiage.signatureCapture,\n });\n }, [classNames.signatureCapture, verbiage.signatureCapture]);\n var videoSignatureCaptureProps = useMemo(function () {\n return ({\n onExitCapture: onExitCapture,\n onUserCancel: onUserCancel,\n skipSuccessScreen: skipSuccessScreen,\n classNames: classNames.videoSignatureCapture,\n colors: colors.videoSignatureCapture,\n verbiage: verbiage.videoSignatureCapture,\n debugMode: debugMode,\n });\n }, [\n classNames.videoSignatureCapture,\n colors.videoSignatureCapture,\n debugMode,\n onExitCapture,\n onUserCancel,\n skipSuccessScreen,\n verbiage.videoSignatureCapture,\n ]);\n var onResponseReceived = useCallback(function (resp, req) {\n onComplete === null || onComplete === void 0 ? void 0 : onComplete(resp, req);\n if (resp.resultData['verificationResult'] === 'Approved') {\n onApproved === null || onApproved === void 0 ? void 0 : onApproved(resp, req);\n }\n else {\n onDenied === null || onDenied === void 0 ? void 0 : onDenied(resp, req);\n }\n }, [onApproved, onComplete, onDenied]);\n var checks = useMemo(function () {\n return (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie)\n ? ['IdCapture']\n : ['IdCapture', 'FaceLiveness'];\n }, [precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie]);\n return (React.createElement(AuthProvider, { sessionId: sessionId, authUrl: authUrl },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(SubmissionProvider, { action: SubmissionAction.VALIDATE, submissionUrl: submissionUrl, documentServiceUrl: documentServiceUrl, companyId: companyId, needImmediateResponse: needImmediateResponse, manualReviewRequired: manualReviewRequired, idBackImageRequired: idBackImageRequired, verifyIdWithExternalDatabases: verifyIdWithExternalDatabases, bypassAgeValidation: bypassAgeValidation, bypassNameMatching: bypassNameMatching, personalData: personalData, cardData: cardData, idData: idData, webhooksEnabled: webhooksEnabled, webhooksClientTraceId: webhooksClientTraceId, webhooksStripSpecialCharacters: webhooksStripSpecialCharacters, webhooksSendInputImages: webhooksSendInputImages, webhooksSendProcessedImages: webhooksSendProcessedImages, webhooksFireOnReview: webhooksFireOnReview, sendBase64DocumentsInSwaggerProxy: sendBase64DocumentsInSwaggerProxy, customerDataMatchConfig: customerDataMatchConfig, precapturedDocuments: precapturedDocuments, onBeforeDocumentUpload: onBeforeDocumentUpload, onDocumentUploadProgress: onDocumentUploadProgress, onDocumentUploaded: onDocumentUploaded, onDocumentUploadFailed: onDocumentUploadFailed, onBeforeSubmit: onBeforeSubmit, onBeforeLivenessCheck: onBeforeLivenessCheck, onSubmit: onSubmit, onResponseReceived: onResponseReceived, geolocationEnabled: geolocationEnabled, geolocationRequired: geolocationRequired },\n React.createElement(CompositeWizardComponent, { checks: checks, idCaptureProps: idCaptureProps, faceLivenessProps: faceLivenessProps, signatureCaptureProps: signatureCaptureProps, videoSignatureCaptureProps: videoSignatureCaptureProps, additionalDocumentCaptureProps: additionalDocumentCaptureProps, captureSignature: captureSignature, captureSignatureVideo: captureSignatureVideo, onCameraAccessDenied: onCameraAccessDenied, debugMode: debugMode })))));\n};\n//# sourceMappingURL=IdAndFaceValidation.js.map","import React, { useCallback, useMemo, } from 'react';\nimport { SubmissionProvider, } from '../submission/SubmissionProvider';\nimport { SubmissionAction, } from '../../contexts/SubmissionContext';\nimport { CompositeWizardComponent } from '../CompositeWizard';\nimport { useLanguage } from '../../lib/locales';\nimport { ThemeProvider } from '../../themes';\nimport { AuthProvider } from '../../contexts/AuthStateContext';\nimport { useDebugLogging } from '../../lib/utils/logger';\nimport { defaultDocumentDetectionModelLoadTimeoutMs } from '../../lib/models/DocumentDetection';\nimport { defaultSelfieCaptureModelLoadTimeoutMs } from '../../lib/models/FaceDetection';\nimport { defaultIdCaptureThresholds, } from '../id_capture/IdCaptureModelsProvider';\n/**\n * Render a fullscreen capture component that performs IDValidation and FaceValidation sequentially, and then stores the results in IDmission's customer database using the supplied `enrollmentId` for later verification or 1:N matching.\n */\nexport var CustomerIdAndBiometricsEnrollment = function (_a) {\n var enrollmentId = _a.enrollmentId, _b = _a.lang, lang = _b === void 0 ? 'auto' : _b, sessionId = _a.sessionId, authUrl = _a.authUrl, submissionUrl = _a.submissionUrl, documentServiceUrl = _a.documentServiceUrl, companyId = _a.companyId, needImmediateResponse = _a.needImmediateResponse, manualReviewRequired = _a.manualReviewRequired, idBackImageRequired = _a.idBackImageRequired, idImageResolutionCheck = _a.idImageResolutionCheck, verifyIdWithExternalDatabases = _a.verifyIdWithExternalDatabases, bypassAgeValidation = _a.bypassAgeValidation, bypassNameMatching = _a.bypassNameMatching, personalData = _a.personalData, cardData = _a.cardData, idData = _a.idData, deduplicationEnabled = _a.deduplicationEnabled, deduplicationSynchronous = _a.deduplicationSynchronous, webhooksEnabled = _a.webhooksEnabled, webhooksClientTraceId = _a.webhooksClientTraceId, webhooksStripSpecialCharacters = _a.webhooksStripSpecialCharacters, webhooksSendInputImages = _a.webhooksSendInputImages, webhooksSendProcessedImages = _a.webhooksSendProcessedImages, webhooksFireOnReview = _a.webhooksFireOnReview, sendBase64DocumentsInSwaggerProxy = _a.sendBase64DocumentsInSwaggerProxy, customerDataMatchConfig = _a.customerDataMatchConfig, _c = _a.idCaptureLoadingOverlayMode, idCaptureLoadingOverlayMode = _c === void 0 ? 'default' : _c, _d = _a.idCaptureRequirement, idCaptureRequirement = _d === void 0 ? 'idCardOrPassport' : _d, _e = _a.idCaptureThresholds, idCaptureThresholds = _e === void 0 ? defaultIdCaptureThresholds : _e, _f = _a.faceLivenessTimeoutDurationMs, faceLivenessTimeoutDurationMs = _f === void 0 ? 15000 : _f, _g = _a.faceLivenessLoadingOverlayMode, faceLivenessLoadingOverlayMode = _g === void 0 ? 'default' : _g, _h = _a.skipSuccessScreen, skipSuccessScreen = _h === void 0 ? false : _h, idCaptureInstructions = _a.idCaptureInstructions, _j = _a.idCaptureGuideType, idCaptureGuideType = _j === void 0 ? 'fit' : _j, _k = _a.idCapturePortraitGuidesOnMobile, idCapturePortraitGuidesOnMobile = _k === void 0 ? true : _k, _l = _a.idCaptureRotateLoadingOverlayImageWhenPortrait, idCaptureRotateLoadingOverlayImageWhenPortrait = _l === void 0 ? true : _l, _m = _a.idCaptureModelLoadTimeoutMs, idCaptureModelLoadTimeoutMs = _m === void 0 ? defaultDocumentDetectionModelLoadTimeoutMs : _m, _o = _a.selfieCaptureModelLoadTimeoutMs, selfieCaptureModelLoadTimeoutMs = _o === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _o, onBeforeDocumentUpload = _a.onBeforeDocumentUpload, onDocumentUploadProgress = _a.onDocumentUploadProgress, onDocumentUploaded = _a.onDocumentUploaded, onDocumentUploadFailed = _a.onDocumentUploadFailed, onBeforeSubmit = _a.onBeforeSubmit, onSubmit = _a.onSubmit, onComplete = _a.onComplete, onEnrolled = _a.onEnrolled, onDenied = _a.onDenied, onExitCapture = _a.onExitCapture, onExitAfterFailure = _a.onExitAfterFailure, onUserCancel = _a.onUserCancel, onIdCaptureModelError = _a.onIdCaptureModelError, onSelfieCaptureModelError = _a.onSelfieCaptureModelError, onCameraAccessDenied = _a.onCameraAccessDenied, _p = _a.captureSignature, captureSignature = _p === void 0 ? false : _p, _q = _a.captureSignatureVideo, captureSignatureVideo = _q === void 0 ? false : _q, _r = _a.captureAdditionalDocuments, captureAdditionalDocuments = _r === void 0 ? [] : _r, _s = _a.theme, theme = _s === void 0 ? 'default' : _s, _t = _a.assets, assets = _t === void 0 ? {} : _t, _u = _a.classNames, classNames = _u === void 0 ? {} : _u, _v = _a.colors, colors = _v === void 0 ? {} : _v, _w = _a.verbiage, verbiage = _w === void 0 ? {} : _w, _x = _a.geolocationEnabled, geolocationEnabled = _x === void 0 ? true : _x, _y = _a.geolocationRequired, geolocationRequired = _y === void 0 ? false : _y, _z = _a.debugMode, debugMode = _z === void 0 ? false : _z;\n useLanguage(lang);\n useDebugLogging(debugMode);\n var idCaptureProps = useMemo(function () {\n return ({\n assets: assets.idCapture,\n classNames: classNames.idCapture,\n colors: colors.idCapture,\n verbiage: verbiage.idCapture,\n captureRequirement: idCaptureRequirement,\n thresholds: idCaptureThresholds,\n loadingOverlayMode: idCaptureLoadingOverlayMode,\n instructions: idCaptureInstructions,\n guideType: idCaptureGuideType,\n portraitGuidesOnMobile: idCapturePortraitGuidesOnMobile,\n rotateLoadingOverlayImageWhenPortrait: idCaptureRotateLoadingOverlayImageWhenPortrait,\n modelLoadTimeoutMs: idCaptureModelLoadTimeoutMs,\n onExitCapture: onExitCapture,\n onUserCancel: onUserCancel,\n onModelError: onIdCaptureModelError,\n skipSuccessScreen: skipSuccessScreen,\n debugMode: debugMode,\n });\n }, [\n assets.idCapture,\n classNames.idCapture,\n colors.idCapture,\n verbiage.idCapture,\n idCaptureRequirement,\n idCaptureThresholds,\n idCaptureLoadingOverlayMode,\n idCaptureInstructions,\n idCaptureGuideType,\n idCapturePortraitGuidesOnMobile,\n idCaptureRotateLoadingOverlayImageWhenPortrait,\n idCaptureModelLoadTimeoutMs,\n onExitCapture,\n onUserCancel,\n onIdCaptureModelError,\n skipSuccessScreen,\n debugMode,\n ]);\n var faceLivenessProps = useMemo(function () {\n return ({\n onExitCapture: onExitCapture,\n onExitAfterFailure: onExitAfterFailure,\n onUserCancel: onUserCancel,\n onModelError: onSelfieCaptureModelError,\n loadingOverlayMode: faceLivenessLoadingOverlayMode,\n timeoutDurationMs: faceLivenessTimeoutDurationMs,\n modelLoadTimeoutMs: selfieCaptureModelLoadTimeoutMs,\n skipSuccessScreen: skipSuccessScreen,\n assets: assets.faceLiveness,\n classNames: classNames.faceLiveness,\n colors: colors.faceLiveness,\n verbiage: verbiage.faceLiveness,\n debugMode: debugMode,\n });\n }, [\n assets.faceLiveness,\n classNames.faceLiveness,\n colors.faceLiveness,\n debugMode,\n faceLivenessLoadingOverlayMode,\n faceLivenessTimeoutDurationMs,\n onExitAfterFailure,\n onExitCapture,\n onSelfieCaptureModelError,\n onUserCancel,\n selfieCaptureModelLoadTimeoutMs,\n skipSuccessScreen,\n verbiage.faceLiveness,\n ]);\n var additionalDocumentCaptureProps = useMemo(function () {\n return ({\n documents: captureAdditionalDocuments,\n classNames: classNames.additionalDocumentCapture,\n verbiage: verbiage.additionalDocumentCapture,\n });\n }, [\n captureAdditionalDocuments,\n classNames.additionalDocumentCapture,\n verbiage.additionalDocumentCapture,\n ]);\n var signatureCaptureProps = useMemo(function () {\n return ({\n classNames: classNames.signatureCapture,\n verbiage: verbiage.signatureCapture,\n });\n }, [classNames.signatureCapture, verbiage.signatureCapture]);\n var videoSignatureCaptureProps = useMemo(function () {\n return ({\n onExitCapture: onExitCapture,\n onUserCancel: onUserCancel,\n skipSuccessScreen: skipSuccessScreen,\n classNames: classNames.videoSignatureCapture,\n colors: colors.videoSignatureCapture,\n verbiage: verbiage.videoSignatureCapture,\n debugMode: debugMode,\n });\n }, [\n classNames.videoSignatureCapture,\n colors.videoSignatureCapture,\n debugMode,\n onExitCapture,\n onUserCancel,\n skipSuccessScreen,\n verbiage.videoSignatureCapture,\n ]);\n var onResponseReceived = useCallback(function (resp, req) {\n onComplete === null || onComplete === void 0 ? void 0 : onComplete(resp, req);\n if (resp.resultData['verificationResult'] === 'Customer Onboarded') {\n onEnrolled === null || onEnrolled === void 0 ? void 0 : onEnrolled(resp, req);\n }\n else {\n onDenied === null || onDenied === void 0 ? void 0 : onDenied(resp, req);\n }\n }, [onEnrolled, onComplete, onDenied]);\n return (React.createElement(AuthProvider, { sessionId: sessionId, authUrl: authUrl },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(SubmissionProvider, { action: SubmissionAction.ENROLL, submissionUrl: submissionUrl, documentServiceUrl: documentServiceUrl, companyId: companyId, enrollmentId: enrollmentId, needImmediateResponse: needImmediateResponse, manualReviewRequired: manualReviewRequired, idBackImageRequired: idBackImageRequired, idImageResolutionCheck: idImageResolutionCheck, verifyIdWithExternalDatabases: verifyIdWithExternalDatabases, bypassAgeValidation: bypassAgeValidation, bypassNameMatching: bypassNameMatching, personalData: personalData, cardData: cardData, idData: idData, deduplicationEnabled: deduplicationEnabled, deduplicationSynchronous: deduplicationSynchronous, webhooksEnabled: webhooksEnabled, webhooksClientTraceId: webhooksClientTraceId, webhooksStripSpecialCharacters: webhooksStripSpecialCharacters, webhooksSendInputImages: webhooksSendInputImages, webhooksSendProcessedImages: webhooksSendProcessedImages, webhooksFireOnReview: webhooksFireOnReview, sendBase64DocumentsInSwaggerProxy: sendBase64DocumentsInSwaggerProxy, customerDataMatchConfig: customerDataMatchConfig, onBeforeDocumentUpload: onBeforeDocumentUpload, onDocumentUploadProgress: onDocumentUploadProgress, onDocumentUploaded: onDocumentUploaded, onDocumentUploadFailed: onDocumentUploadFailed, onBeforeSubmit: onBeforeSubmit, onSubmit: onSubmit, onResponseReceived: onResponseReceived, geolocationEnabled: geolocationEnabled, geolocationRequired: geolocationRequired },\n React.createElement(CompositeWizardComponent, { checks: useMemo(function () { return ['IdCapture', 'FaceLiveness']; }, []), idCaptureProps: idCaptureProps, faceLivenessProps: faceLivenessProps, additionalDocumentCaptureProps: additionalDocumentCaptureProps, signatureCaptureProps: signatureCaptureProps, videoSignatureCaptureProps: videoSignatureCaptureProps, captureSignature: captureSignature, captureSignatureVideo: captureSignatureVideo, onCameraAccessDenied: onCameraAccessDenied, debugMode: debugMode })))));\n};\n//# sourceMappingURL=CustomerIdAndBiometricsEnrollment.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport React, { useCallback, useContext, useEffect, useReducer, useRef, useState, } from 'react';\nimport { SelfieCapture, } from '../selfie_capture/SelfieCapture';\nimport { dataUrlToBase64 } from '../../lib/utils/dataUrlToBase64';\nimport { cropToShoulders } from '../../lib/utils/cropping';\nimport { SelfieProgressPreview, } from '../common/SelfieProgressPreview';\nimport { useTimeout } from '../../lib/utils/useTimeout';\nimport { InvisibleCanvas } from '../common/InvisibleCanvas';\nimport { useVerbiage } from '../../lib/locales';\nimport { SubmissionContext } from '../submission/SubmissionProvider';\nimport { useTheme } from 'styled-components';\nvar ALLOWED_RETRIES = 0;\nvar initialState = {\n frame: null,\n face: null,\n imageUrl: null,\n requestState: 'CAPTURING',\n requestError: null,\n unverifiedTimes: 0,\n};\nvar reducer = function (state, action) {\n switch (action.type) {\n case 'verificationReady': {\n var allowedStates = ['CAPTURING', 'ERROR'];\n if (allowedStates.includes(state.requestState)) {\n return __assign(__assign({}, state), { requestState: 'CAPTURED', frame: action.payload.frame, face: action.payload.face });\n }\n else {\n return state;\n }\n }\n case 'verifying':\n return __assign(__assign({}, state), { requestState: 'VERIFYING', imageUrl: action.payload.imageUrl });\n case 'verificationCompleted': {\n var _a = action.payload.response, _b = _a.status, statusCode = _b.statusCode, statusMessage = _b.statusMessage, errorData = _b.errorData, resultData = _a.resultData;\n if (statusCode !== '000') {\n return __assign(__assign({}, state), { requestState: 'ERROR', requestError: new Error(\"\".concat(statusMessage, \": \").concat(errorData)) });\n }\n var requestState = state.requestState, unverifiedTimes = state.unverifiedTimes;\n var customerMatched = resultData.verificationResultCode === '00';\n if (customerMatched) {\n requestState = 'VERIFIED';\n }\n else {\n if (unverifiedTimes < ALLOWED_RETRIES) {\n requestState = 'CAPTURING';\n unverifiedTimes += 1;\n }\n else {\n requestState = 'REJECTED';\n }\n }\n return __assign(__assign({}, state), { requestState: requestState, unverifiedTimes: unverifiedTimes });\n }\n case 'verificationFailed':\n return __assign(__assign({}, state), { requestState: 'ERROR', requestError: action.payload.error });\n default:\n return state;\n }\n};\nexport var CustomerVerificationCapture = function (_a) {\n var _b, _c;\n var onCustomerMatched = _a.onCustomerMatched, onCustomerNotMatched = _a.onCustomerNotMatched, onCaptureGuidanceTimeout = _a.onCaptureGuidanceTimeout, onExit = _a.onExit, captureGuidanceTimeoutDurationMs = _a.captureGuidanceTimeoutDurationMs, _d = _a.classNames, classNames = _d === void 0 ? {} : _d, _e = _a.colors, colors = _e === void 0 ? {} : _e, _f = _a.verbiage, verbiage = _f === void 0 ? {} : _f, _g = _a.debugMode, debugMode = _g === void 0 ? false : _g;\n var _h = useReducer(reducer, initialState), state = _h[0], dispatch = _h[1];\n var frame = state.frame, face = state.face;\n var _j = useContext(SubmissionContext), submit = _j.submit, submissionRequest = _j.submissionRequest, submissionResponse = _j.submissionResponse, submissionError = _j.submissionError, selfieImage = _j.selfieImage, setSelfieImage = _j.setSelfieImage;\n var _k = useState(null), imageUrl = _k[0], setImageUrl = _k[1];\n var rawCanvas = useRef(null);\n var cropCanvas = useRef(null);\n var resizeCanvas = useRef(null);\n var onSelfieCaptured = useCallback(function (frame, face) {\n dispatch({ type: 'verificationReady', payload: { frame: frame, face: face } });\n }, []);\n var isReady = state.requestState === 'CAPTURED';\n useEffect(function () {\n if (!frame || !face || submissionError)\n return;\n var imageUrl = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face);\n setImageUrl(imageUrl);\n dataUrlToBase64(imageUrl).then(function (img) {\n setSelfieImage(img);\n });\n }, [face, frame, setSelfieImage, submissionError]);\n useEffect(function () {\n if (!isReady || !selfieImage || submissionError)\n return;\n (function () { return __awaiter(void 0, void 0, void 0, function () {\n var submissionResponse_1, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n dispatch({ type: 'verifying', payload: { imageUrl: selfieImage } });\n return [4 /*yield*/, submit()];\n case 1:\n submissionResponse_1 = _a.sent();\n if (!submissionResponse_1)\n throw new Error('submission failed!');\n dispatch({\n type: 'verificationCompleted',\n payload: { response: submissionResponse_1 },\n });\n return [3 /*break*/, 3];\n case 2:\n e_1 = _a.sent();\n dispatch({\n type: 'verificationFailed',\n payload: { error: e_1 },\n });\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n }); })();\n }, [\n isReady,\n onCustomerMatched,\n onCustomerNotMatched,\n selfieImage,\n state.requestState,\n submissionError,\n submit,\n ]);\n useEffect(function () {\n if (!submissionRequest || !submissionResponse)\n return;\n if (state.requestState === 'VERIFIED') {\n onCustomerMatched === null || onCustomerMatched === void 0 ? void 0 : onCustomerMatched(submissionResponse, submissionRequest);\n }\n else if (state.requestState === 'REJECTED') {\n onCustomerNotMatched === null || onCustomerNotMatched === void 0 ? void 0 : onCustomerNotMatched(submissionResponse, submissionRequest);\n }\n }, [\n onCustomerMatched,\n onCustomerNotMatched,\n state.requestState,\n submissionRequest,\n submissionResponse,\n ]);\n useTimeout(captureGuidanceTimeoutDurationMs, onCaptureGuidanceTimeout, ['VERIFIED', 'REJECTED'].includes(state.requestState), state.requestState === 'VERIFYING');\n var progressPreviewText = useVerbiage(verbiage.progressPreviewText, 'Processing...');\n var theme = useTheme();\n return (React.createElement(React.Fragment, null,\n React.createElement(InvisibleCanvas, { ref: rawCanvas }),\n React.createElement(InvisibleCanvas, { ref: cropCanvas }),\n React.createElement(InvisibleCanvas, { ref: resizeCanvas }),\n React.createElement(SelfieCapture, { onSelfieCaptured: onSelfieCaptured, onExit: onExit, timeoutDurationMs: captureGuidanceTimeoutDurationMs, classNames: classNames, colors: colors, verbiage: verbiage, debugMode: debugMode }),\n !((_c = (_b = theme.selfieCapture) === null || _b === void 0 ? void 0 : _b.capturePreview) === null || _c === void 0 ? void 0 : _c.disabled) && imageUrl && (React.createElement(SelfieProgressPreview, { imageUrl: imageUrl, text: progressPreviewText, classNames: classNames.imagePreview }))));\n};\n//# sourceMappingURL=CustomerVerificationCapture.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { OverlayContainer, OverlayInner } from '../common/overlay';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport { ButtonsRow } from '../common/ButtonsRow';\nimport styled from 'styled-components';\nexport var CustomerVerificationSuccess = function (_a) {\n var imageUrl = _a.imageUrl, onDoneClick = _a.onDoneClick, onRetryClick = _a.onRetryClick, _b = _a.classNames, classNames = _b === void 0 ? {} : _b, _c = _a.colors, colors = _c === void 0 ? {} : _c, _d = _a.verbiage, rawVerbiage = _d === void 0 ? {} : _d;\n imageUrl || (imageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Selfie-Image-1.png\"));\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Customer has been verified!',\n retryBtnText: 'Retry',\n doneBtnText: 'Done',\n });\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n React.createElement(Heading, { className: classNames.heading }, verbiage.headingText),\n React.createElement(ImageContainer, { className: classNames.imageContainer },\n React.createElement(\"img\", { alt: verbiage.headingText, src: imageUrl, className: classNames.image })),\n React.createElement(StyledButtonsRow, { className: classNames.buttonsRow },\n React.createElement(LoaderButton, { variant: \"warning\", className: classNames.retryBtn, onClick: onRetryClick, colors: colors.retryBtn, finished: true }, verbiage.retryBtnText),\n React.createElement(LoaderButton, { variant: \"positive\", className: classNames.doneBtn, onClick: onDoneClick, colors: colors.doneBtn, finished: true }, verbiage.doneBtnText)))));\n};\nvar Heading = styled.h3(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin-bottom: 24px;\\n\"], [\"\\n margin-bottom: 24px;\\n\"])));\nvar ImageContainer = styled(ButtonsRow)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n max-height: calc(100vh - 185px);\\n\"], [\"\\n max-height: calc(100vh - 185px);\\n\"])));\nvar StyledButtonsRow = styled(ButtonsRow)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin-top: 24px;\\n\"], [\"\\n margin-top: 24px;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3;\n//# sourceMappingURL=CustomerVerificationSuccess.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { OverlayContainer, OverlayInner } from '../common/overlay';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport styled from 'styled-components';\nimport { ButtonsRow } from '../common/ButtonsRow';\nexport var CustomerVerificationFailure = function (_a) {\n var _b = _a.canRetry, canRetry = _b === void 0 ? true : _b, onRetryClick = _a.onRetryClick, onExitClick = _a.onExitClick, _c = _a.assets, assets = _c === void 0 ? {} : _c, _d = _a.classNames, classNames = _d === void 0 ? {} : _d, _e = _a.colors, colors = _e === void 0 ? {} : _e, _f = _a.verbiage, rawVerbiage = _f === void 0 ? {} : _f;\n assets.imageUrl || (assets.imageUrl = \"\".concat(DEFAULT_CDN_URL, \"/manual_capture.png\"));\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Customer not verified',\n retryBtnText: 'Retry',\n exitBtnText: 'Exit',\n });\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n React.createElement(Heading, { className: classNames.heading }, verbiage.headingText),\n React.createElement(ImageContainer, { className: classNames.imageContainer },\n React.createElement(\"img\", { alt: verbiage.headingText, src: assets.imageUrl, className: classNames.image })),\n React.createElement(StyledButtonsRow, { className: classNames.buttonsRow },\n canRetry && (React.createElement(LoaderButton, { variant: \"warning\", className: classNames.retryBtn, onClick: onRetryClick, colors: colors.retryBtn, finished: true }, verbiage.retryBtnText)),\n React.createElement(LoaderButton, { variant: \"secondary\", className: classNames.exitBtn, onClick: onExitClick, colors: colors.exitBtn, finished: true }, verbiage.exitBtnText)))));\n};\nvar Heading = styled.h3(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin-bottom: 24px;\\n\"], [\"\\n margin-bottom: 24px;\\n\"])));\nvar ImageContainer = styled(ButtonsRow)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n max-height: calc(100vh - 185px);\\n\"], [\"\\n max-height: calc(100vh - 185px);\\n\"])));\nvar StyledButtonsRow = styled(ButtonsRow)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin-top: 24px;\\n\"], [\"\\n margin-top: 24px;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3;\n//# sourceMappingURL=CustomerVerificationFailure.js.map","import { __awaiter, __generator } from \"tslib\";\nimport React, { useCallback, useContext, useEffect, useState, } from 'react';\nimport { CustomerVerificationCapture, } from './CustomerVerificationCapture';\nimport { CustomerVerificationSuccess, } from './CustomerVerificationSuccess';\nimport { CustomerVerificationFailure, } from './CustomerVerificationFailure';\nimport { useShowSuccessScreen } from '../common/useShowSuccessScreen';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { SubmissionContext } from '../submission/SubmissionProvider';\nimport { SelfieCaptureLoadingOverlay, } from '../selfie_capture/SelfieCaptureLoadingOverlay';\nimport { CameraVideoTag } from '../camera/CameraVideoTag';\nimport { PageContainer } from '../common/Page';\nimport { SelfieGuidanceModelsContext } from '../selfie_capture/SelfieGuidanceModelsProvider';\nvar ALLOWED_RETRIES = 2;\nexport var CustomerVerificationWizard = function (_a) {\n var _b;\n var onComplete = _a.onComplete, onCustomerMatched = _a.onCustomerMatched, onCustomerNotMatched = _a.onCustomerNotMatched, onExitCapture = _a.onExitCapture, onExitAfterFailure = _a.onExitAfterFailure, onUserCancel = _a.onUserCancel, onCaptureGuidanceTimeout = _a.onCaptureGuidanceTimeout, captureGuidanceTimeoutDurationMs = _a.captureGuidanceTimeoutDurationMs, _c = _a.skipSuccessScreen, skipSuccessScreen = _c === void 0 ? false : _c, _d = _a.loadingOverlayMode, loadingOverlayMode = _d === void 0 ? 'default' : _d, _e = _a.assets, assets = _e === void 0 ? {} : _e, _f = _a.classNames, classNames = _f === void 0 ? {} : _f, _g = _a.colors, colors = _g === void 0 ? {} : _g, _h = _a.verbiage, verbiage = _h === void 0 ? {} : _h, _j = _a.debugMode, debugMode = _j === void 0 ? false : _j;\n var _k = useContext(SubmissionContext), submissionRequest = _k.submissionRequest, submissionResponse = _k.submissionResponse, selfieImage = _k.selfieImage;\n var _l = useState('LOADING'), captureState = _l[0], setCaptureState = _l[1];\n var _m = useContext(CameraStateContext), cameraAccessDenied = _m.cameraAccessDenied, releaseCameraAccess = _m.releaseCameraAccess;\n var _o = useContext(SelfieGuidanceModelsContext), start = _o.start, stop = _o.stop;\n useEffect(function () {\n if (captureState !== 'CAPTURING')\n return;\n start();\n return function () {\n stop();\n };\n }, [captureState, start, stop]);\n var onCustomerMatchedCallback = useCallback(function (resp, req) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n setCaptureState('MATCHED');\n onCustomerMatched === null || onCustomerMatched === void 0 ? void 0 : onCustomerMatched(resp, req);\n return [2 /*return*/];\n });\n }); }, [onCustomerMatched]);\n var onCustomerNotMatchedCallback = useCallback(function (resp, req) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n setCaptureState('NOT_MATCHED');\n onCustomerNotMatched === null || onCustomerNotMatched === void 0 ? void 0 : onCustomerNotMatched(resp, req);\n return [2 /*return*/];\n });\n }); }, [onCustomerNotMatched]);\n var onCaptureGuidanceTimeoutCallback = useCallback(function () {\n setCaptureState('FAILED');\n onCaptureGuidanceTimeout === null || onCaptureGuidanceTimeout === void 0 ? void 0 : onCaptureGuidanceTimeout();\n }, [onCaptureGuidanceTimeout]);\n var _p = useState(0), attempt = _p[0], setAttempt = _p[1];\n var onExitCallback = useCallback(function () {\n setAttempt(function (n) { return n + 1; });\n setCaptureState('LOADING');\n onExitCapture === null || onExitCapture === void 0 ? void 0 : onExitCapture();\n }, [onExitCapture]);\n var onDoneCallback = useCallback(function () {\n releaseCameraAccess();\n if (submissionRequest && submissionResponse)\n onComplete === null || onComplete === void 0 ? void 0 : onComplete(submissionResponse, submissionRequest);\n }, [onComplete, releaseCameraAccess, submissionRequest, submissionResponse]);\n var showSuccessScreen = useShowSuccessScreen(skipSuccessScreen, captureState === 'MATCHED', onDoneCallback);\n useEffect(function () {\n if (cameraAccessDenied) {\n setAttempt(function (n) { return n + 1; });\n setCaptureState('LOADING');\n }\n }, [cameraAccessDenied]);\n return (React.createElement(React.Fragment, null,\n React.createElement(PageContainer, { className: \"flex \".concat((_b = classNames.container) !== null && _b !== void 0 ? _b : '') },\n React.createElement(CameraVideoTag, { className: classNames.cameraFeed }),\n captureState !== 'LOADING' &&\n (function () {\n switch (captureState) {\n case 'CAPTURING':\n return (React.createElement(CustomerVerificationCapture, { key: \"capture\".concat(attempt), onCustomerMatched: onCustomerMatchedCallback, onCustomerNotMatched: onCustomerNotMatchedCallback, onCaptureGuidanceTimeout: onCaptureGuidanceTimeoutCallback, onExit: onExitCallback, captureGuidanceTimeoutDurationMs: captureGuidanceTimeoutDurationMs, classNames: classNames, colors: colors, verbiage: verbiage, debugMode: debugMode }));\n case 'MATCHED':\n if (!showSuccessScreen)\n return;\n return (React.createElement(CustomerVerificationSuccess, { imageUrl: \"data:image/png;base64, \".concat(selfieImage), classNames: classNames.success, colors: colors.success, verbiage: verbiage.success, onDoneClick: onDoneCallback, onRetryClick: function () {\n setCaptureState('CAPTURING');\n setAttempt(0);\n } }));\n case 'NOT_MATCHED':\n case 'FAILED':\n return (React.createElement(CustomerVerificationFailure, { assets: assets.failure, classNames: classNames.failure, colors: colors.failure, verbiage: verbiage.failure, canRetry: attempt < ALLOWED_RETRIES, onExitClick: function () {\n releaseCameraAccess();\n onExitAfterFailure === null || onExitAfterFailure === void 0 ? void 0 : onExitAfterFailure();\n }, onRetryClick: function () {\n setAttempt(function (n) { return n + 1; });\n } }));\n default:\n return null;\n }\n })()),\n React.createElement(SelfieCaptureLoadingOverlay, { key: attempt, mode: loadingOverlayMode, assets: assets.loadingOverlay, classNames: classNames.loadingOverlay, colors: colors.loadingOverlay, verbiage: verbiage.loadingOverlay, onUserCancel: onUserCancel, onDismissed: function () {\n setCaptureState('CAPTURING');\n } })));\n};\n//# sourceMappingURL=CustomerVerificationWizard.js.map","import React from 'react';\nimport { SubmissionProvider, } from '../submission/SubmissionProvider';\nimport { SubmissionAction, } from '../../contexts/SubmissionContext';\nimport { useLanguage } from '../../lib/locales';\nimport { CustomerVerificationWizard, } from '../customer_verification/CustomerVerificationWizard';\nimport { CameraProvider } from '../camera/CameraProvider';\nimport { SelfieGuidanceModelsProvider } from '../selfie_capture/SelfieGuidanceModelsProvider';\nimport { ThemeProvider } from '../../themes';\nimport { AuthProvider } from '../../contexts/AuthStateContext';\nimport { useDebugLogging } from '../../lib/utils/logger';\nimport { defaultSelfieCaptureModelLoadTimeoutMs } from '../../lib/models/FaceDetection';\n/**\n * Render a fullscreen capture component that analyzes frames from the user's front-facing camera to determine whether the user matches a specified `enrollmentId` that they have previously registered in IDmission's customer database.\n */\nexport var CustomerVerification = function (_a) {\n var _b = _a.lang, lang = _b === void 0 ? 'auto' : _b, enrollmentId = _a.enrollmentId, sessionId = _a.sessionId, authUrl = _a.authUrl, submissionUrl = _a.submissionUrl, documentServiceUrl = _a.documentServiceUrl, companyId = _a.companyId, needImmediateResponse = _a.needImmediateResponse, webhooksEnabled = _a.webhooksEnabled, webhooksClientTraceId = _a.webhooksClientTraceId, webhooksStripSpecialCharacters = _a.webhooksStripSpecialCharacters, webhooksSendInputImages = _a.webhooksSendInputImages, webhooksSendProcessedImages = _a.webhooksSendProcessedImages, sendBase64DocumentsInSwaggerProxy = _a.sendBase64DocumentsInSwaggerProxy, _c = _a.loadingOverlayMode, loadingOverlayMode = _c === void 0 ? 'default' : _c, _d = _a.timeoutDurationMs, timeoutDurationMs = _d === void 0 ? 15000 : _d, _e = _a.modelLoadTimeoutMs, modelLoadTimeoutMs = _e === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _e, _f = _a.skipSuccessScreen, skipSuccessScreen = _f === void 0 ? false : _f, _g = _a.theme, theme = _g === void 0 ? 'default' : _g, assets = _a.assets, classNames = _a.classNames, colors = _a.colors, verbiage = _a.verbiage, onBeforeDocumentUpload = _a.onBeforeDocumentUpload, onDocumentUploadProgress = _a.onDocumentUploadProgress, onDocumentUploaded = _a.onDocumentUploaded, onDocumentUploadFailed = _a.onDocumentUploadFailed, onBeforeSubmit = _a.onBeforeSubmit, onSubmit = _a.onSubmit, onComplete = _a.onComplete, onCustomerMatched = _a.onCustomerMatched, onCustomerNotMatched = _a.onCustomerNotMatched, onExitCapture = _a.onExitCapture, onExitAfterFailure = _a.onExitAfterFailure, onUserCancel = _a.onUserCancel, onModelError = _a.onModelError, onCameraAccessDenied = _a.onCameraAccessDenied, _h = _a.geolocationEnabled, geolocationEnabled = _h === void 0 ? true : _h, _j = _a.geolocationRequired, geolocationRequired = _j === void 0 ? false : _j, _k = _a.debugMode, debugMode = _k === void 0 ? false : _k;\n useLanguage(lang);\n useDebugLogging(debugMode);\n return (React.createElement(AuthProvider, { sessionId: sessionId, authUrl: authUrl },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(SubmissionProvider, { action: SubmissionAction.VERIFY, submissionUrl: submissionUrl, documentServiceUrl: documentServiceUrl, companyId: companyId, enrollmentId: enrollmentId, needImmediateResponse: needImmediateResponse, webhooksEnabled: webhooksEnabled, webhooksClientTraceId: webhooksClientTraceId, webhooksStripSpecialCharacters: webhooksStripSpecialCharacters, webhooksSendInputImages: webhooksSendInputImages, webhooksSendProcessedImages: webhooksSendProcessedImages, sendBase64DocumentsInSwaggerProxy: sendBase64DocumentsInSwaggerProxy, onBeforeDocumentUpload: onBeforeDocumentUpload, onDocumentUploadProgress: onDocumentUploadProgress, onDocumentUploaded: onDocumentUploaded, onDocumentUploadFailed: onDocumentUploadFailed, onBeforeSubmit: onBeforeSubmit, onSubmit: onSubmit, geolocationEnabled: geolocationEnabled, geolocationRequired: geolocationRequired },\n React.createElement(CameraProvider, { preferFrontFacingCamera: true, onCameraAccessDenied: onCameraAccessDenied, debugMode: debugMode },\n React.createElement(SelfieGuidanceModelsProvider, { autoStart: false, onModelError: onModelError, modelLoadTimeoutMs: modelLoadTimeoutMs },\n React.createElement(CustomerVerificationWizard, { onComplete: onComplete, onCustomerMatched: onCustomerMatched, onCustomerNotMatched: onCustomerNotMatched, onExitCapture: onExitCapture, onExitAfterFailure: onExitAfterFailure, onUserCancel: onUserCancel, captureGuidanceTimeoutDurationMs: timeoutDurationMs, loadingOverlayMode: loadingOverlayMode, skipSuccessScreen: skipSuccessScreen, assets: assets, classNames: classNames, colors: colors, verbiage: verbiage, debugMode: debugMode })))))));\n};\n//# sourceMappingURL=CustomerVerification.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport React, { useCallback, useContext, useEffect, useReducer, useRef, useState, } from 'react';\nimport { SelfieCapture, } from '../selfie_capture/SelfieCapture';\nimport { dataUrlToBase64 } from '../../lib/utils/dataUrlToBase64';\nimport { cropToShoulders } from '../../lib/utils/cropping';\nimport { SelfieProgressPreview, } from '../common/SelfieProgressPreview';\nimport { useTimeout } from '../../lib/utils/useTimeout';\nimport { InvisibleCanvas } from '../common/InvisibleCanvas';\nimport { useVerbiage } from '../../lib/locales';\nimport { SubmissionContext } from '../submission/SubmissionProvider';\nimport { useTheme } from 'styled-components';\nvar ALLOWED_RETRIES = 0;\nvar initialState = {\n frame: null,\n face: null,\n imageUrl: null,\n requestState: 'CAPTURING',\n requestError: null,\n notFoundTimes: 0,\n};\nvar reducer = function (state, action) {\n switch (action.type) {\n case 'identificationReady': {\n var allowedStates = ['CAPTURING', 'ERROR'];\n if (allowedStates.includes(state.requestState)) {\n return __assign(__assign({}, state), { requestState: 'CAPTURED', frame: action.payload.frame, face: action.payload.face });\n }\n else {\n return state;\n }\n }\n case 'identifying':\n return __assign(__assign({}, state), { requestState: 'IDENTIFYING', imageUrl: action.payload.imageUrl });\n case 'identificationCompleted': {\n var _a = action.payload.response, _b = _a.status, statusCode = _b.statusCode, statusMessage = _b.statusMessage, errorData = _b.errorData, resultData = _a.resultData;\n if (statusCode !== '000') {\n return __assign(__assign({}, state), { requestState: 'ERROR', requestError: new Error(\"\".concat(statusMessage, \": \").concat(errorData)) });\n }\n var requestState = state.requestState, notFoundTimes = state.notFoundTimes;\n var customerMatched = resultData.verificationResultCode === '46';\n if (customerMatched) {\n requestState = 'FOUND';\n }\n else if (notFoundTimes < ALLOWED_RETRIES) {\n requestState = 'CAPTURING';\n notFoundTimes += 1;\n }\n else {\n requestState = 'NOT_FOUND';\n }\n return __assign(__assign({}, state), { requestState: requestState, notFoundTimes: notFoundTimes });\n }\n case 'identificationFailed':\n return __assign(__assign({}, state), { requestState: 'ERROR', requestError: action.payload.error });\n default:\n return state;\n }\n};\nexport var CustomerIdentificationCapture = function (_a) {\n var _b, _c;\n var onCustomerMatched = _a.onCustomerMatched, onCustomerNotMatched = _a.onCustomerNotMatched, onCaptureGuidanceTimeout = _a.onCaptureGuidanceTimeout, onExit = _a.onExit, captureGuidanceTimeoutDurationMs = _a.captureGuidanceTimeoutDurationMs, _d = _a.classNames, classNames = _d === void 0 ? {} : _d, _e = _a.colors, colors = _e === void 0 ? {} : _e, _f = _a.verbiage, verbiage = _f === void 0 ? {} : _f, _g = _a.debugMode, debugMode = _g === void 0 ? false : _g;\n var _h = useReducer(reducer, initialState), state = _h[0], dispatch = _h[1];\n var _j = useContext(SubmissionContext), submit = _j.submit, submissionRequest = _j.submissionRequest, submissionResponse = _j.submissionResponse, submissionError = _j.submissionError, selfieImage = _j.selfieImage, setSelfieImage = _j.setSelfieImage;\n var _k = useState(null), imageUrl = _k[0], setImageUrl = _k[1];\n var rawCanvas = useRef(null);\n var cropCanvas = useRef(null);\n var resizeCanvas = useRef(null);\n var onSelfieCaptured = useCallback(function (frame, face) {\n dispatch({ type: 'identificationReady', payload: { frame: frame, face: face } });\n }, []);\n var frame = state.frame, face = state.face;\n var isReady = state.requestState === 'CAPTURED';\n useEffect(function () {\n if (!frame || !face || submissionError)\n return;\n var imageUrl = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face);\n setImageUrl(imageUrl);\n dataUrlToBase64(imageUrl).then(function (img) {\n setSelfieImage(img);\n });\n }, [face, frame, setSelfieImage, submissionError]);\n useEffect(function () {\n if (!isReady || !selfieImage || submissionError)\n return;\n (function () { return __awaiter(void 0, void 0, void 0, function () {\n var submissionResponse_1, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n dispatch({ type: 'identifying', payload: { imageUrl: selfieImage } });\n return [4 /*yield*/, submit()];\n case 1:\n submissionResponse_1 = _a.sent();\n if (!submissionResponse_1)\n throw new Error('submission failed!');\n dispatch({\n type: 'identificationCompleted',\n payload: { response: submissionResponse_1 },\n });\n return [3 /*break*/, 3];\n case 2:\n e_1 = _a.sent();\n dispatch({\n type: 'identificationFailed',\n payload: { error: e_1 },\n });\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n }); })();\n }, [\n isReady,\n onCustomerMatched,\n onCustomerNotMatched,\n selfieImage,\n state.requestState,\n submissionError,\n submit,\n ]);\n useEffect(function () {\n if (!submissionRequest || !submissionResponse)\n return;\n if (state.requestState === 'FOUND') {\n onCustomerMatched === null || onCustomerMatched === void 0 ? void 0 : onCustomerMatched(submissionResponse, submissionRequest);\n }\n else if (state.requestState === 'NOT_FOUND') {\n onCustomerNotMatched === null || onCustomerNotMatched === void 0 ? void 0 : onCustomerNotMatched(submissionResponse, submissionRequest);\n }\n }, [\n onCustomerMatched,\n onCustomerNotMatched,\n state.requestState,\n submissionRequest,\n submissionResponse,\n ]);\n useTimeout(captureGuidanceTimeoutDurationMs, onCaptureGuidanceTimeout, ['FOUND', 'NOT_FOUND'].includes(state.requestState), state.requestState === 'IDENTIFYING');\n var progressPreviewText = useVerbiage(verbiage.progressPreviewText, 'Processing...');\n var theme = useTheme();\n return (React.createElement(React.Fragment, null,\n React.createElement(InvisibleCanvas, { ref: rawCanvas }),\n React.createElement(InvisibleCanvas, { ref: cropCanvas }),\n React.createElement(InvisibleCanvas, { ref: resizeCanvas }),\n React.createElement(SelfieCapture, { onSelfieCaptured: onSelfieCaptured, onExit: onExit, timeoutDurationMs: captureGuidanceTimeoutDurationMs, classNames: classNames, colors: colors, verbiage: verbiage, debugMode: debugMode }),\n !((_c = (_b = theme.selfieCapture) === null || _b === void 0 ? void 0 : _b.capturePreview) === null || _c === void 0 ? void 0 : _c.disabled) && imageUrl && (React.createElement(SelfieProgressPreview, { text: progressPreviewText, imageUrl: imageUrl, classNames: classNames.imagePreview }))));\n};\n//# sourceMappingURL=CustomerIdentificationCapture.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport { OverlayContainer, OverlayInner } from '../common/overlay';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport { ButtonsRow } from '../common/ButtonsRow';\nimport styled from 'styled-components';\nexport var CustomerIdentificationSuccess = function (_a) {\n var imageUrl = _a.imageUrl, onDoneClick = _a.onDoneClick, onRetryClick = _a.onRetryClick, _b = _a.classNames, classNames = _b === void 0 ? {} : _b, _c = _a.colors, colors = _c === void 0 ? {} : _c, _d = _a.verbiage, rawVerbiage = _d === void 0 ? {} : _d;\n imageUrl || (imageUrl = \"\".concat(DEFAULT_CDN_URL, \"/Selfie-Image-1.png\"));\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Customer has been identified!',\n retryBtnText: 'Retry',\n doneBtnText: 'Done',\n });\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n React.createElement(Heading, { className: classNames.heading }, verbiage.headingText),\n React.createElement(ImageContainer, { className: classNames.imageContainer },\n React.createElement(\"img\", { alt: verbiage.headingText, src: imageUrl, className: classNames.image })),\n React.createElement(StyledButtonsRow, { className: classNames.buttonsRow },\n React.createElement(LoaderButton, { variant: \"warning\", className: classNames.retryBtn, onClick: onRetryClick, colors: colors.retryBtn, finished: true }, verbiage.retryBtnText),\n React.createElement(LoaderButton, { variant: \"positive\", className: classNames.doneBtn, onClick: onDoneClick, colors: colors.doneBtn, finished: true }, verbiage.doneBtnText)))));\n};\nvar Heading = styled.h3(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin-bottom: 24px;\\n\"], [\"\\n margin-bottom: 24px;\\n\"])));\nvar ImageContainer = styled(ButtonsRow)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n max-height: calc(100vh - 185px);\\n\"], [\"\\n max-height: calc(100vh - 185px);\\n\"])));\nvar StyledButtonsRow = styled(ButtonsRow)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin-top: 24px;\\n\"], [\"\\n margin-top: 24px;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3;\n//# sourceMappingURL=CustomerIdentificationSuccess.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport { OverlayContainer, OverlayInner } from '../common/overlay';\nimport { DEFAULT_CDN_URL } from '../common/cdn';\nimport { LoaderButton } from '../common/LoaderButton';\nimport { useTranslations } from '../../lib/locales';\nimport styled from 'styled-components';\nimport { ButtonsRow } from '../common/ButtonsRow';\nexport var CustomerIdentificationFailure = function (_a) {\n var _b = _a.canRetry, canRetry = _b === void 0 ? true : _b, onRetryClick = _a.onRetryClick, onExitClick = _a.onExitClick, _c = _a.assets, assets = _c === void 0 ? {} : _c, _d = _a.classNames, classNames = _d === void 0 ? {} : _d, _e = _a.colors, colors = _e === void 0 ? {} : _e, _f = _a.verbiage, rawVerbiage = _f === void 0 ? {} : _f;\n assets.imageUrl || (assets.imageUrl = \"\".concat(DEFAULT_CDN_URL, \"/manual_capture.png\"));\n var verbiage = useTranslations(rawVerbiage, {\n headingText: 'Customer not found',\n retryBtnText: 'Retry',\n exitBtnText: 'Exit',\n });\n return (React.createElement(OverlayContainer, { className: classNames.container },\n React.createElement(OverlayInner, { className: classNames.inner },\n React.createElement(Heading, { className: classNames.heading }, verbiage.headingText),\n React.createElement(ImageContainer, { className: classNames.imageContainer },\n React.createElement(\"img\", { alt: verbiage.headingText, src: assets.imageUrl, className: classNames.image })),\n React.createElement(StyledButtonsRow, { className: classNames.buttonsRow },\n canRetry && (React.createElement(LoaderButton, { variant: \"warning\", className: classNames.retryBtn, onClick: onRetryClick, colors: colors.retryBtn, finished: true }, verbiage.retryBtnText)),\n React.createElement(LoaderButton, { variant: \"secondary\", className: classNames.exitBtn, onClick: onExitClick, colors: colors.exitBtn, finished: true }, verbiage.exitBtnText)))));\n};\nvar Heading = styled.h3(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin-bottom: 24px;\\n\"], [\"\\n margin-bottom: 24px;\\n\"])));\nvar ImageContainer = styled(ButtonsRow)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n max-height: calc(100vh - 185px);\\n\"], [\"\\n max-height: calc(100vh - 185px);\\n\"])));\nvar StyledButtonsRow = styled(ButtonsRow)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin-top: 24px;\\n\"], [\"\\n margin-top: 24px;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3;\n//# sourceMappingURL=CustomerIdentificationFailure.js.map","import { __awaiter, __generator } from \"tslib\";\nimport React, { useCallback, useContext, useEffect, useState, } from 'react';\nimport { CustomerIdentificationCapture, } from './CustomerIdentificationCapture';\nimport { CustomerIdentificationSuccess, } from './CustomerIdentificationSuccess';\nimport { CustomerIdentificationFailure, } from './CustomerIdentificationFailure';\nimport { CameraStateContext } from '../camera/CameraProvider';\nimport { useShowSuccessScreen } from '../common/useShowSuccessScreen';\nimport { SubmissionContext } from '../submission/SubmissionProvider';\nimport { SelfieCaptureLoadingOverlay, } from '../selfie_capture/SelfieCaptureLoadingOverlay';\nimport { PageContainer } from '../common/Page';\nimport { CameraVideoTag } from '../camera/CameraVideoTag';\nimport { SelfieGuidanceModelsContext } from '../selfie_capture/SelfieGuidanceModelsProvider';\nvar ALLOWED_RETRIES = 2;\nexport var CustomerIdentificationWizard = function (_a) {\n var _b;\n var onComplete = _a.onComplete, onCustomerMatched = _a.onCustomerMatched, onCustomerNotMatched = _a.onCustomerNotMatched, onExitCapture = _a.onExitCapture, onExitAfterFailure = _a.onExitAfterFailure, onUserCancel = _a.onUserCancel, onCaptureGuidanceTimeout = _a.onCaptureGuidanceTimeout, captureGuidanceTimeoutDurationMs = _a.captureGuidanceTimeoutDurationMs, _c = _a.skipSuccessScreen, skipSuccessScreen = _c === void 0 ? false : _c, _d = _a.loadingOverlayMode, loadingOverlayMode = _d === void 0 ? 'default' : _d, _e = _a.assets, assets = _e === void 0 ? {} : _e, _f = _a.classNames, classNames = _f === void 0 ? {} : _f, _g = _a.colors, colors = _g === void 0 ? {} : _g, _h = _a.verbiage, verbiage = _h === void 0 ? {} : _h, _j = _a.debugMode, debugMode = _j === void 0 ? false : _j;\n var _k = useContext(SubmissionContext), submissionResponse = _k.submissionResponse, submissionRequest = _k.submissionRequest, selfieImage = _k.selfieImage;\n var _l = useState('LOADING'), captureState = _l[0], setCaptureState = _l[1];\n var _m = useContext(CameraStateContext), cameraAccessDenied = _m.cameraAccessDenied, releaseCameraAccess = _m.releaseCameraAccess;\n var _o = useContext(SelfieGuidanceModelsContext), start = _o.start, stop = _o.stop;\n useEffect(function () {\n if (captureState !== 'CAPTURING')\n return;\n start();\n return function () {\n stop();\n };\n }, [captureState, start, stop]);\n var onCustomerMatchedCallback = useCallback(function (resp, req) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n setCaptureState('FOUND');\n onCustomerMatched === null || onCustomerMatched === void 0 ? void 0 : onCustomerMatched(resp, req);\n return [2 /*return*/];\n });\n }); }, [onCustomerMatched]);\n var onCustomerNotMatchedCallback = useCallback(function (resp, req) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n setCaptureState('NOT_FOUND');\n onCustomerNotMatched === null || onCustomerNotMatched === void 0 ? void 0 : onCustomerNotMatched(resp, req);\n return [2 /*return*/];\n });\n }); }, [onCustomerNotMatched]);\n var onCaptureGuidanceTimeoutCallback = useCallback(function () {\n setCaptureState('FAILED');\n onCaptureGuidanceTimeout === null || onCaptureGuidanceTimeout === void 0 ? void 0 : onCaptureGuidanceTimeout();\n }, [onCaptureGuidanceTimeout]);\n var _p = useState(0), attempt = _p[0], setAttempt = _p[1];\n var onExitCallback = useCallback(function () {\n setAttempt(function (n) { return n + 1; });\n setCaptureState('LOADING');\n onExitCapture === null || onExitCapture === void 0 ? void 0 : onExitCapture();\n }, [onExitCapture]);\n var onDoneCallback = useCallback(function () {\n releaseCameraAccess();\n if (submissionRequest && submissionResponse)\n onComplete === null || onComplete === void 0 ? void 0 : onComplete(submissionResponse, submissionRequest);\n }, [onComplete, releaseCameraAccess, submissionRequest, submissionResponse]);\n var showSuccessScreen = useShowSuccessScreen(skipSuccessScreen, captureState === 'FOUND', onDoneCallback);\n useEffect(function () {\n if (cameraAccessDenied) {\n setAttempt(function (n) { return n + 1; });\n setCaptureState('LOADING');\n }\n }, [cameraAccessDenied]);\n return (React.createElement(React.Fragment, null,\n React.createElement(PageContainer, { className: \"flex \".concat((_b = classNames.container) !== null && _b !== void 0 ? _b : '') },\n React.createElement(CameraVideoTag, { className: classNames.cameraFeed }),\n captureState !== 'LOADING' &&\n (function () {\n switch (captureState) {\n case 'CAPTURING':\n return (React.createElement(CustomerIdentificationCapture, { key: \"capture\".concat(attempt), onCustomerMatched: onCustomerMatchedCallback, onCustomerNotMatched: onCustomerNotMatchedCallback, onCaptureGuidanceTimeout: onCaptureGuidanceTimeoutCallback, onExit: onExitCallback, captureGuidanceTimeoutDurationMs: captureGuidanceTimeoutDurationMs, classNames: classNames, colors: colors, verbiage: verbiage, debugMode: debugMode }));\n case 'FOUND':\n if (!showSuccessScreen)\n return;\n return (React.createElement(CustomerIdentificationSuccess, { imageUrl: \"data:image/png;base64, \".concat(selfieImage), classNames: classNames.success, colors: colors.success, verbiage: verbiage.success, onDoneClick: onDoneCallback, onRetryClick: function () {\n setCaptureState('CAPTURING');\n setAttempt(0);\n } }));\n case 'NOT_FOUND':\n case 'FAILED':\n return (React.createElement(CustomerIdentificationFailure, { assets: assets.failure, classNames: classNames.failure, colors: colors.failure, verbiage: verbiage.failure, canRetry: attempt < ALLOWED_RETRIES, onExitClick: function () {\n releaseCameraAccess();\n onExitAfterFailure === null || onExitAfterFailure === void 0 ? void 0 : onExitAfterFailure();\n }, onRetryClick: function () {\n setAttempt(function (n) { return n + 1; });\n } }));\n default:\n return null;\n }\n })()),\n React.createElement(SelfieCaptureLoadingOverlay, { key: attempt, mode: loadingOverlayMode, assets: assets.loadingOverlay, classNames: classNames.loadingOverlay, colors: colors.loadingOverlay, verbiage: verbiage.loadingOverlay, onUserCancel: onUserCancel, onDismissed: function () {\n setCaptureState('CAPTURING');\n } })));\n};\n//# sourceMappingURL=CustomerIdentificationWizard.js.map","import React from 'react';\nimport { SubmissionProvider, } from '../submission/SubmissionProvider';\nimport { SubmissionAction, } from '../../contexts/SubmissionContext';\nimport { CustomerIdentificationWizard, } from '../customer_identification/CustomerIdentificationWizard';\nimport { CameraProvider } from '../camera/CameraProvider';\nimport { useLanguage } from '../../lib/locales';\nimport { SelfieGuidanceModelsProvider } from '../selfie_capture/SelfieGuidanceModelsProvider';\nimport { ThemeProvider } from '../../themes';\nimport { AuthProvider } from '../../contexts/AuthStateContext';\nimport { useDebugLogging } from '../../lib/utils/logger';\nimport { defaultSelfieCaptureModelLoadTimeoutMs } from '../../lib/models/FaceDetection';\n/**\n * Render a fullscreen capture component that analyzes frames from the user's front-facing camera to determine whether the user matches any previously registered customer in IDmission's customer database.\n * */\nexport var CustomerIdentification = function (_a) {\n var _b = _a.lang, lang = _b === void 0 ? 'auto' : _b, sessionId = _a.sessionId, authUrl = _a.authUrl, submissionUrl = _a.submissionUrl, documentServiceUrl = _a.documentServiceUrl, companyId = _a.companyId, needImmediateResponse = _a.needImmediateResponse, webhooksEnabled = _a.webhooksEnabled, webhooksClientTraceId = _a.webhooksClientTraceId, webhooksStripSpecialCharacters = _a.webhooksStripSpecialCharacters, webhooksSendInputImages = _a.webhooksSendInputImages, webhooksSendProcessedImages = _a.webhooksSendProcessedImages, sendBase64DocumentsInSwaggerProxy = _a.sendBase64DocumentsInSwaggerProxy, _c = _a.loadingOverlayMode, loadingOverlayMode = _c === void 0 ? 'default' : _c, _d = _a.timeoutDurationMs, timeoutDurationMs = _d === void 0 ? 15000 : _d, _e = _a.modelLoadTimeoutMs, modelLoadTimeoutMs = _e === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _e, _f = _a.skipSuccessScreen, skipSuccessScreen = _f === void 0 ? false : _f, onBeforeDocumentUpload = _a.onBeforeDocumentUpload, onDocumentUploadProgress = _a.onDocumentUploadProgress, onDocumentUploaded = _a.onDocumentUploaded, onDocumentUploadFailed = _a.onDocumentUploadFailed, onBeforeSubmit = _a.onBeforeSubmit, onSubmit = _a.onSubmit, onComplete = _a.onComplete, onCustomerMatched = _a.onCustomerMatched, onCustomerNotMatched = _a.onCustomerNotMatched, onCaptureGuidanceTimeout = _a.onCaptureGuidanceTimeout, onExitCapture = _a.onExitCapture, onExitAfterFailure = _a.onExitAfterFailure, onUserCancel = _a.onUserCancel, onModelError = _a.onModelError, onCameraAccessDenied = _a.onCameraAccessDenied, _g = _a.theme, theme = _g === void 0 ? 'default' : _g, assets = _a.assets, classNames = _a.classNames, colors = _a.colors, verbiage = _a.verbiage, geolocationEnabled = _a.geolocationEnabled, _h = _a.geolocationRequired, geolocationRequired = _h === void 0 ? false : _h, _j = _a.debugMode, debugMode = _j === void 0 ? false : _j;\n useLanguage(lang);\n useDebugLogging(debugMode);\n return (React.createElement(AuthProvider, { sessionId: sessionId, authUrl: authUrl },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(SubmissionProvider, { action: SubmissionAction.IDENTIFY, submissionUrl: submissionUrl, documentServiceUrl: documentServiceUrl, companyId: companyId, needImmediateResponse: needImmediateResponse, webhooksEnabled: webhooksEnabled, webhooksClientTraceId: webhooksClientTraceId, webhooksStripSpecialCharacters: webhooksStripSpecialCharacters, webhooksSendInputImages: webhooksSendInputImages, webhooksSendProcessedImages: webhooksSendProcessedImages, sendBase64DocumentsInSwaggerProxy: sendBase64DocumentsInSwaggerProxy, onBeforeDocumentUpload: onBeforeDocumentUpload, onDocumentUploadProgress: onDocumentUploadProgress, onDocumentUploaded: onDocumentUploaded, onDocumentUploadFailed: onDocumentUploadFailed, onBeforeSubmit: onBeforeSubmit, onSubmit: onSubmit, geolocationEnabled: geolocationEnabled, geolocationRequired: geolocationRequired },\n React.createElement(CameraProvider, { preferFrontFacingCamera: true, onCameraAccessDenied: onCameraAccessDenied, debugMode: debugMode },\n React.createElement(SelfieGuidanceModelsProvider, { autoStart: false, modelLoadTimeoutMs: modelLoadTimeoutMs, onModelError: onModelError },\n React.createElement(CustomerIdentificationWizard, { onComplete: onComplete, onCustomerMatched: onCustomerMatched, onCustomerNotMatched: onCustomerNotMatched, onExitCapture: onExitCapture, onExitAfterFailure: onExitAfterFailure, onUserCancel: onUserCancel, onCaptureGuidanceTimeout: onCaptureGuidanceTimeout, captureGuidanceTimeoutDurationMs: timeoutDurationMs, loadingOverlayMode: loadingOverlayMode, skipSuccessScreen: skipSuccessScreen, assets: assets, classNames: classNames, colors: colors, verbiage: verbiage, debugMode: debugMode })))))));\n};\n//# sourceMappingURL=CustomerIdentification.js.map","import React, { useMemo } from 'react';\nimport { useLanguage } from '../../lib/locales';\nimport { SubmissionAction, } from '../../contexts/SubmissionContext';\nimport { SubmissionProvider, } from '../submission/SubmissionProvider';\nimport { ThemeProvider } from '../../themes';\nimport { AuthProvider } from '../../contexts/AuthStateContext';\nimport { CompositeWizardComponent } from '../CompositeWizard';\nimport { useDebugLogging } from '../../lib/utils/logger';\nimport { defaultSelfieCaptureModelLoadTimeoutMs } from '../../lib/models/FaceDetection';\n/** Render a fullscreen capture component that captures a video of the user signing the screen. */\nexport var SignatureKYC = function (_a) {\n var _b = _a.lang, lang = _b === void 0 ? 'auto' : _b, sessionId = _a.sessionId, clientRequestID = _a.clientRequestID, authUrl = _a.authUrl, submissionUrl = _a.submissionUrl, documentServiceUrl = _a.documentServiceUrl, sendBase64DocumentsInSwaggerProxy = _a.sendBase64DocumentsInSwaggerProxy, onBeforeDocumentUpload = _a.onBeforeDocumentUpload, onDocumentUploadProgress = _a.onDocumentUploadProgress, onDocumentUploaded = _a.onDocumentUploaded, onDocumentUploadFailed = _a.onDocumentUploadFailed, onBeforeSubmit = _a.onBeforeSubmit, onSubmit = _a.onSubmit, onComplete = _a.onComplete, onUserCancel = _a.onUserCancel, onModelError = _a.onModelError, onCameraAccessDenied = _a.onCameraAccessDenied, _c = _a.loadingOverlayMode, loadingOverlayMode = _c === void 0 ? 'default' : _c, _d = _a.skipSuccessScreen, skipSuccessScreen = _d === void 0 ? false : _d, idCardForFaceMatch = _a.idCardForFaceMatch, _e = _a.modelLoadTimeoutMs, modelLoadTimeoutMs = _e === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _e, _f = _a.theme, theme = _f === void 0 ? 'default' : _f, classNames = _a.classNames, colors = _a.colors, verbiage = _a.verbiage, geolocationEnabled = _a.geolocationEnabled, geolocationRequired = _a.geolocationRequired, _g = _a.debugMode, debugMode = _g === void 0 ? false : _g;\n useLanguage(lang);\n useDebugLogging(debugMode);\n return (React.createElement(AuthProvider, { sessionId: sessionId, authUrl: authUrl },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(SubmissionProvider, { action: SubmissionAction.NONE, submissionUrl: submissionUrl, clientRequestID: clientRequestID, documentServiceUrl: documentServiceUrl, idCardForFaceMatch: idCardForFaceMatch, sendBase64DocumentsInSwaggerProxy: sendBase64DocumentsInSwaggerProxy, onBeforeDocumentUpload: onBeforeDocumentUpload, onDocumentUploadProgress: onDocumentUploadProgress, onDocumentUploaded: onDocumentUploaded, onDocumentUploadFailed: onDocumentUploadFailed, onBeforeSubmit: onBeforeSubmit, onSubmit: onSubmit, onResponseReceived: onComplete, geolocationEnabled: geolocationEnabled, geolocationRequired: geolocationRequired },\n React.createElement(CompositeWizardComponent, { checks: useMemo(function () { return ['VideoSignatureCapture']; }, []), onCameraAccessDenied: onCameraAccessDenied, videoSignatureCaptureProps: useMemo(function () { return ({\n loadingOverlayMode: loadingOverlayMode,\n skipSuccessScreen: skipSuccessScreen,\n modelLoadTimeoutMs: modelLoadTimeoutMs,\n classNames: classNames,\n colors: colors,\n debugMode: debugMode,\n verbiage: verbiage,\n onModelError: onModelError,\n onUserCancel: onUserCancel,\n }); }, [\n classNames,\n colors,\n debugMode,\n loadingOverlayMode,\n modelLoadTimeoutMs,\n onModelError,\n onUserCancel,\n skipSuccessScreen,\n verbiage,\n ]) })))));\n};\n//# sourceMappingURL=SignatureKYC.js.map","import React, { useMemo } from 'react';\nimport { SubmissionAction, } from '../../contexts/SubmissionContext';\nimport { SubmissionProvider, } from '../submission/SubmissionProvider';\nimport { useLanguage, } from '../../lib/locales';\nimport { ThemeProvider } from '../../themes';\nimport { CompositeWizardComponent } from '../CompositeWizard';\nimport { AuthProvider } from '../../contexts/AuthStateContext';\nimport { useDebugLogging } from '../../lib/utils/logger';\nimport { defaultVideoIdCaptureThresholds, } from '../video_id/IdVideoCapture';\n/**\n * Render a fullscreen capture component that performs IDValidation and FaceValidation sequentially, then captures a video of the user holding their ID, and optionally speaking a prompt aloud.\n * */\nexport var VideoIdValidation = function (_a) {\n var _b = _a.lang, lang = _b === void 0 ? 'auto' : _b, sessionId = _a.sessionId, clientRequestID = _a.clientRequestID, authUrl = _a.authUrl, submissionUrl = _a.submissionUrl, documentServiceUrl = _a.documentServiceUrl, companyId = _a.companyId, needImmediateResponse = _a.needImmediateResponse, manualReviewRequired = _a.manualReviewRequired, idBackImageRequired = _a.idBackImageRequired, verifyIdWithExternalDatabases = _a.verifyIdWithExternalDatabases, bypassAgeValidation = _a.bypassAgeValidation, bypassNameMatching = _a.bypassNameMatching, personalData = _a.personalData, cardData = _a.cardData, idData = _a.idData, webhooksEnabled = _a.webhooksEnabled, webhooksClientTraceId = _a.webhooksClientTraceId, webhooksStripSpecialCharacters = _a.webhooksStripSpecialCharacters, webhooksSendInputImages = _a.webhooksSendInputImages, webhooksSendProcessedImages = _a.webhooksSendProcessedImages, webhooksFireOnReview = _a.webhooksFireOnReview, sendBase64DocumentsInSwaggerProxy = _a.sendBase64DocumentsInSwaggerProxy, customerDataMatchConfig = _a.customerDataMatchConfig, onBeforeDocumentUpload = _a.onBeforeDocumentUpload, onDocumentUploadProgress = _a.onDocumentUploadProgress, onDocumentUploaded = _a.onDocumentUploaded, onDocumentUploadFailed = _a.onDocumentUploadFailed, onSubmit = _a.onSubmit, onBeforeSubmit = _a.onBeforeSubmit, onComplete = _a.onComplete, onExitCapture = _a.onExitCapture, onExitAfterFailure = _a.onExitAfterFailure, onUserCancel = _a.onUserCancel, onCameraAccessDenied = _a.onCameraAccessDenied, onMicrophoneAccessDenied = _a.onMicrophoneAccessDenied, idCaptureProps = _a.idCaptureProps, faceLivenessProps = _a.faceLivenessProps, _c = _a.idCaptureModelsEnabled, idCaptureModelsEnabled = _c === void 0 ? true : _c, _d = _a.videoIdCaptureThresholds, videoIdCaptureThresholds = _d === void 0 ? defaultVideoIdCaptureThresholds : _d, readTextPrompt = _a.readTextPrompt, _e = _a.readTextTimeoutDurationMs, readTextTimeoutDurationMs = _e === void 0 ? 15000 : _e, _f = _a.readTextMinReadingMs, readTextMinReadingMs = _f === void 0 ? 10000 : _f, _g = _a.skipSuccessScreen, skipSuccessScreen = _g === void 0 ? false : _g, _h = _a.skipIdCapture, skipIdCapture = _h === void 0 ? false : _h, _j = _a.skipShowIdCardBack, skipShowIdCardBack = _j === void 0 ? false : _j, _k = _a.idCaptureLoadingOverlayMode, idCaptureLoadingOverlayMode = _k === void 0 ? 'default' : _k, _l = _a.idCaptureGuideType, idCaptureGuideType = _l === void 0 ? 'fit' : _l, _m = _a.idCapturePortraitGuidesOnMobile, idCapturePortraitGuidesOnMobile = _m === void 0 ? true : _m, _o = _a.idCaptureRotateLoadingOverlayImageWhenPortrait, idCaptureRotateLoadingOverlayImageWhenPortrait = _o === void 0 ? true : _o, idCardForFaceMatch = _a.idCardForFaceMatch, _p = _a.faceLivenessLoadingOverlayMode, faceLivenessLoadingOverlayMode = _p === void 0 ? 'default' : _p, _q = _a.disableFaceDetectionWhileAudioCapture, disableFaceDetectionWhileAudioCapture = _q === void 0 ? false : _q, _r = _a.disableFaceDetectionWhileAudioCaptureMsDelay, disableFaceDetectionWhileAudioCaptureMsDelay = _r === void 0 ? 2000 : _r, _s = _a.silentFallback, silentFallback = _s === void 0 ? false : _s, _t = _a.mergeAVStreams, mergeAVStreams = _t === void 0 ? false : _t, _u = _a.theme, theme = _u === void 0 ? 'default' : _u, _v = _a.assets, assets = _v === void 0 ? {} : _v, _w = _a.classNames, classNames = _w === void 0 ? {} : _w, _x = _a.colors, colors = _x === void 0 ? {} : _x, _y = _a.verbiage, verbiage = _y === void 0 ? {} : _y, _z = _a.captureSignature, captureSignature = _z === void 0 ? false : _z, _0 = _a.captureSignatureVideo, captureSignatureVideo = _0 === void 0 ? false : _0, _1 = _a.captureAdditionalDocuments, captureAdditionalDocuments = _1 === void 0 ? [] : _1, _2 = _a.geolocationEnabled, geolocationEnabled = _2 === void 0 ? true : _2, _3 = _a.geolocationRequired, geolocationRequired = _3 === void 0 ? false : _3, _4 = _a.debugMode, debugMode = _4 === void 0 ? false : _4;\n useLanguage(lang);\n useDebugLogging(debugMode);\n var videoIdCaptureProps = useMemo(function () {\n return ({\n idCaptureProps: idCaptureProps,\n faceLivenessProps: faceLivenessProps,\n idCaptureModelsEnabled: idCaptureModelsEnabled,\n videoIdCaptureThresholds: videoIdCaptureThresholds,\n readTextPrompt: readTextPrompt,\n readTextTimeoutDurationMs: readTextTimeoutDurationMs,\n readTextMinReadingMs: readTextMinReadingMs,\n onExitCapture: onExitCapture,\n onExitAfterFailure: onExitAfterFailure,\n onUserCancel: onUserCancel,\n skipSuccessScreen: skipSuccessScreen,\n skipIdCapture: skipIdCapture,\n skipShowIdCardBack: skipShowIdCardBack,\n idCaptureLoadingOverlayMode: idCaptureLoadingOverlayMode,\n idCaptureGuideType: idCaptureGuideType,\n idCapturePortraitGuidesOnMobile: idCapturePortraitGuidesOnMobile,\n idCaptureRotateLoadingOverlayImageWhenPortrait: idCaptureRotateLoadingOverlayImageWhenPortrait,\n faceLivenessLoadingOverlayMode: faceLivenessLoadingOverlayMode,\n disableFaceDetectionWhileAudioCapture: disableFaceDetectionWhileAudioCapture,\n disableFaceDetectionWhileAudioCaptureMsDelay: disableFaceDetectionWhileAudioCaptureMsDelay,\n silentFallback: silentFallback,\n mergeAVStreams: mergeAVStreams,\n assets: assets,\n classNames: classNames,\n colors: colors,\n verbiage: verbiage,\n debugMode: debugMode,\n });\n }, [\n idCaptureProps,\n faceLivenessProps,\n idCaptureModelsEnabled,\n videoIdCaptureThresholds,\n readTextPrompt,\n readTextTimeoutDurationMs,\n readTextMinReadingMs,\n onExitCapture,\n onExitAfterFailure,\n onUserCancel,\n skipSuccessScreen,\n skipIdCapture,\n skipShowIdCardBack,\n idCaptureLoadingOverlayMode,\n idCaptureGuideType,\n idCapturePortraitGuidesOnMobile,\n idCaptureRotateLoadingOverlayImageWhenPortrait,\n faceLivenessLoadingOverlayMode,\n disableFaceDetectionWhileAudioCapture,\n disableFaceDetectionWhileAudioCaptureMsDelay,\n silentFallback,\n mergeAVStreams,\n assets,\n classNames,\n colors,\n verbiage,\n debugMode,\n ]);\n var additionalDocumentCaptureProps = useMemo(function () {\n return ({\n documents: captureAdditionalDocuments,\n classNames: classNames.additionalDocumentCapture,\n verbiage: verbiage.additionalDocumentCapture,\n });\n }, [\n captureAdditionalDocuments,\n classNames.additionalDocumentCapture,\n verbiage.additionalDocumentCapture,\n ]);\n var signatureCaptureProps = useMemo(function () {\n return ({\n classNames: classNames.signatureCapture,\n verbiage: verbiage.signatureCapture,\n });\n }, [classNames.signatureCapture, verbiage.signatureCapture]);\n var videoSignatureCaptureProps = useMemo(function () {\n return ({\n onExitCapture: onExitCapture,\n onUserCancel: onUserCancel,\n skipSuccessScreen: skipSuccessScreen,\n classNames: classNames.videoSignatureCapture,\n colors: colors.videoSignatureCapture,\n verbiage: verbiage.videoSignatureCapture,\n debugMode: debugMode,\n });\n }, [\n classNames.videoSignatureCapture,\n colors.videoSignatureCapture,\n debugMode,\n onExitCapture,\n onUserCancel,\n skipSuccessScreen,\n verbiage.videoSignatureCapture,\n ]);\n return (React.createElement(AuthProvider, { sessionId: sessionId, authUrl: authUrl },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(SubmissionProvider, { action: skipIdCapture ? SubmissionAction.NONE : SubmissionAction.VALIDATE, submissionUrl: submissionUrl, clientRequestID: clientRequestID, documentServiceUrl: documentServiceUrl, companyId: companyId, needImmediateResponse: needImmediateResponse, manualReviewRequired: manualReviewRequired, idBackImageRequired: idBackImageRequired, verifyIdWithExternalDatabases: verifyIdWithExternalDatabases, bypassAgeValidation: bypassAgeValidation, bypassNameMatching: bypassNameMatching, personalData: personalData, cardData: cardData, idData: idData, webhooksEnabled: webhooksEnabled, webhooksClientTraceId: webhooksClientTraceId, webhooksStripSpecialCharacters: webhooksStripSpecialCharacters, webhooksSendInputImages: webhooksSendInputImages, webhooksSendProcessedImages: webhooksSendProcessedImages, webhooksFireOnReview: webhooksFireOnReview, sendBase64DocumentsInSwaggerProxy: sendBase64DocumentsInSwaggerProxy, customerDataMatchConfig: customerDataMatchConfig, idCardForFaceMatch: idCardForFaceMatch, onBeforeDocumentUpload: onBeforeDocumentUpload, onDocumentUploadProgress: onDocumentUploadProgress, onDocumentUploaded: onDocumentUploaded, onDocumentUploadFailed: onDocumentUploadFailed, onSubmit: onSubmit, onBeforeSubmit: onBeforeSubmit, onResponseReceived: onComplete, geolocationEnabled: geolocationEnabled, geolocationRequired: geolocationRequired },\n React.createElement(CompositeWizardComponent, { checks: useMemo(function () { return ['VideoIdCapture']; }, []), videoIdCaptureProps: videoIdCaptureProps, additionalDocumentCaptureProps: additionalDocumentCaptureProps, signatureCaptureProps: signatureCaptureProps, videoSignatureCaptureProps: videoSignatureCaptureProps, captureSignature: captureSignature, captureSignatureVideo: captureSignatureVideo, onCameraAccessDenied: onCameraAccessDenied, onMicrophoneAccessDenied: onMicrophoneAccessDenied, debugMode: debugMode })))));\n};\n//# sourceMappingURL=VideoIdValidation.js.map","import React, { useCallback, useMemo } from 'react';\nimport { SubmissionProvider, } from '../submission/SubmissionProvider';\nimport { SubmissionAction, } from '../../contexts/SubmissionContext';\nimport { CompositeWizardComponent } from '../CompositeWizard';\nimport { useLanguage } from '../../lib/locales';\nimport { ThemeProvider } from '../../themes';\nimport { AuthProvider } from '../../contexts/AuthStateContext';\nimport { useDebugLogging } from '../../lib/utils/logger';\nimport { defaultSelfieCaptureModelLoadTimeoutMs } from '../../lib/models/FaceDetection';\n/** Render a fullscreen capture component that performs FaceValidation, and then stores the results in IDmission's customer database using the supplied `enrollmentId` for later verification or 1:N matching. */\nexport var CustomerBiometricsEnrollment = function (_a) {\n var enrollmentId = _a.enrollmentId, _b = _a.lang, lang = _b === void 0 ? 'auto' : _b, sessionId = _a.sessionId, authUrl = _a.authUrl, submissionUrl = _a.submissionUrl, documentServiceUrl = _a.documentServiceUrl, companyId = _a.companyId, needImmediateResponse = _a.needImmediateResponse, deduplicationEnabled = _a.deduplicationEnabled, deduplicationSynchronous = _a.deduplicationSynchronous, webhooksEnabled = _a.webhooksEnabled, webhooksClientTraceId = _a.webhooksClientTraceId, webhooksStripSpecialCharacters = _a.webhooksStripSpecialCharacters, webhooksSendInputImages = _a.webhooksSendInputImages, webhooksSendProcessedImages = _a.webhooksSendProcessedImages, sendBase64DocumentsInSwaggerProxy = _a.sendBase64DocumentsInSwaggerProxy, _c = _a.loadingOverlayMode, loadingOverlayMode = _c === void 0 ? 'default' : _c, _d = _a.timeoutDurationMs, timeoutDurationMs = _d === void 0 ? 15000 : _d, _e = _a.modelLoadTimeoutMs, modelLoadTimeoutMs = _e === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _e, _f = _a.skipSuccessScreen, skipSuccessScreen = _f === void 0 ? false : _f, onBeforeDocumentUpload = _a.onBeforeDocumentUpload, onDocumentUploadProgress = _a.onDocumentUploadProgress, onDocumentUploaded = _a.onDocumentUploaded, onDocumentUploadFailed = _a.onDocumentUploadFailed, onBeforeSubmit = _a.onBeforeSubmit, onSubmit = _a.onSubmit, onComplete = _a.onComplete, onEnrolled = _a.onEnrolled, onDenied = _a.onDenied, onExitCapture = _a.onExitCapture, onExitAfterFailure = _a.onExitAfterFailure, onUserCancel = _a.onUserCancel, onModelError = _a.onModelError, onCameraAccessDenied = _a.onCameraAccessDenied, _g = _a.captureAdditionalDocuments, captureAdditionalDocuments = _g === void 0 ? [] : _g, _h = _a.captureSignature, captureSignature = _h === void 0 ? false : _h, _j = _a.captureSignatureVideo, captureSignatureVideo = _j === void 0 ? false : _j, _k = _a.theme, theme = _k === void 0 ? 'default' : _k, _l = _a.assets, assets = _l === void 0 ? {} : _l, _m = _a.classNames, classNames = _m === void 0 ? {} : _m, _o = _a.colors, colors = _o === void 0 ? {} : _o, _p = _a.verbiage, verbiage = _p === void 0 ? {} : _p, _q = _a.geolocationEnabled, geolocationEnabled = _q === void 0 ? true : _q, _r = _a.geolocationRequired, geolocationRequired = _r === void 0 ? false : _r, _s = _a.debugMode, debugMode = _s === void 0 ? false : _s;\n useLanguage(lang);\n useDebugLogging(debugMode);\n var faceLivenessProps = useMemo(function () {\n return ({\n onExitCapture: onExitCapture,\n onUserCancel: onUserCancel,\n onExitAfterFailure: onExitAfterFailure,\n onModelError: onModelError,\n timeoutDurationMs: timeoutDurationMs,\n modelLoadTimeoutMs: modelLoadTimeoutMs,\n loadingOverlayMode: loadingOverlayMode,\n skipSuccessScreen: skipSuccessScreen,\n assets: assets.faceLiveness,\n classNames: classNames.faceLiveness,\n colors: colors.faceLiveness,\n verbiage: verbiage.faceLiveness,\n debugMode: debugMode,\n });\n }, [\n assets.faceLiveness,\n classNames.faceLiveness,\n colors.faceLiveness,\n debugMode,\n loadingOverlayMode,\n modelLoadTimeoutMs,\n onExitAfterFailure,\n onExitCapture,\n onModelError,\n onUserCancel,\n skipSuccessScreen,\n timeoutDurationMs,\n verbiage.faceLiveness,\n ]);\n var additionalDocumentCaptureProps = useMemo(function () {\n return ({\n documents: captureAdditionalDocuments,\n classNames: classNames.additionalDocumentCapture,\n verbiage: verbiage.additionalDocumentCapture,\n });\n }, [\n captureAdditionalDocuments,\n classNames.additionalDocumentCapture,\n verbiage.additionalDocumentCapture,\n ]);\n var signatureCaptureProps = useMemo(function () {\n return ({\n classNames: classNames.signatureCapture,\n verbiage: verbiage.signatureCapture,\n });\n }, [classNames.signatureCapture, verbiage.signatureCapture]);\n var videoSignatureCaptureProps = useMemo(function () {\n return ({\n onExitCapture: onExitCapture,\n onUserCancel: onUserCancel,\n skipSuccessScreen: skipSuccessScreen,\n classNames: classNames.videoSignatureCapture,\n colors: colors.videoSignatureCapture,\n verbiage: verbiage.videoSignatureCapture,\n debugMode: debugMode,\n });\n }, [\n classNames.videoSignatureCapture,\n colors.videoSignatureCapture,\n debugMode,\n onExitCapture,\n onUserCancel,\n skipSuccessScreen,\n verbiage.videoSignatureCapture,\n ]);\n var onResponseReceived = useCallback(function (resp, req) {\n onComplete === null || onComplete === void 0 ? void 0 : onComplete(resp, req);\n if (resp.resultData['verificationResult'] === 'Customer Onboarded') {\n onEnrolled === null || onEnrolled === void 0 ? void 0 : onEnrolled(resp, req);\n }\n else {\n onDenied === null || onDenied === void 0 ? void 0 : onDenied(resp, req);\n }\n }, [onEnrolled, onComplete, onDenied]);\n return (React.createElement(AuthProvider, { sessionId: sessionId, authUrl: authUrl },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(SubmissionProvider, { action: SubmissionAction.ENROLL, submissionUrl: submissionUrl, documentServiceUrl: documentServiceUrl, companyId: companyId, enrollmentId: enrollmentId, needImmediateResponse: needImmediateResponse, deduplicationEnabled: deduplicationEnabled, deduplicationSynchronous: deduplicationSynchronous, webhooksEnabled: webhooksEnabled, webhooksClientTraceId: webhooksClientTraceId, webhooksStripSpecialCharacters: webhooksStripSpecialCharacters, webhooksSendInputImages: webhooksSendInputImages, webhooksSendProcessedImages: webhooksSendProcessedImages, sendBase64DocumentsInSwaggerProxy: sendBase64DocumentsInSwaggerProxy, onBeforeDocumentUpload: onBeforeDocumentUpload, onDocumentUploadProgress: onDocumentUploadProgress, onDocumentUploaded: onDocumentUploaded, onDocumentUploadFailed: onDocumentUploadFailed, onBeforeSubmit: onBeforeSubmit, onSubmit: onSubmit, onResponseReceived: onResponseReceived, geolocationEnabled: geolocationEnabled, geolocationRequired: geolocationRequired },\n React.createElement(CompositeWizardComponent, { checks: useMemo(function () { return ['FaceLiveness']; }, []), faceLivenessProps: faceLivenessProps, additionalDocumentCaptureProps: additionalDocumentCaptureProps, signatureCaptureProps: signatureCaptureProps, videoSignatureCaptureProps: videoSignatureCaptureProps, captureSignature: captureSignature, captureSignatureVideo: captureSignatureVideo, onCameraAccessDenied: onCameraAccessDenied, debugMode: debugMode })))));\n};\n//# sourceMappingURL=CustomerBiometricsEnrollment.js.map","import React from 'react';\nimport { ThemeProvider } from '../../themes';\nimport { useLanguage } from '../../lib/locales';\nimport { SubmissionProvider, } from '../submission/SubmissionProvider';\nimport { SubmissionAction } from '../../contexts/SubmissionContext';\nimport { DocumentCaptureWizard, } from '../document_capture/DocumentCaptureWizard';\nimport { CameraProvider } from '../camera/CameraProvider';\nimport { AuthProvider } from '../../contexts/AuthStateContext';\nimport { useDebugLogging } from '../../lib/utils/logger';\n/**\n * Render a fullscreen capture component that instructs the user to photograph their document.\n */\nexport var DocumentCapture = function (_a) {\n var _b = _a.lang, lang = _b === void 0 ? 'auto' : _b, sessionId = _a.sessionId, authUrl = _a.authUrl, submissionUrl = _a.submissionUrl, documentServiceUrl = _a.documentServiceUrl, sendBase64DocumentsInSwaggerProxy = _a.sendBase64DocumentsInSwaggerProxy, onBeforeDocumentUpload = _a.onBeforeDocumentUpload, onDocumentUploadProgress = _a.onDocumentUploadProgress, onDocumentUploaded = _a.onDocumentUploaded, onDocumentUploadFailed = _a.onDocumentUploadFailed, onComplete = _a.onComplete, onExitCapture = _a.onExitCapture, onUserCancel = _a.onUserCancel, onCameraAccessDenied = _a.onCameraAccessDenied, _c = _a.documents, documents = _c === void 0 ? [] : _c, aspectRatio = _a.aspectRatio, cameraFeedMode = _a.cameraFeedMode, instructions = _a.instructions, _d = _a.theme, theme = _d === void 0 ? 'default' : _d, _e = _a.classNames, classNames = _e === void 0 ? {} : _e, _f = _a.verbiage, verbiage = _f === void 0 ? {} : _f, _g = _a.geolocationEnabled, geolocationEnabled = _g === void 0 ? true : _g, _h = _a.geolocationRequired, geolocationRequired = _h === void 0 ? false : _h, _j = _a.debugMode, debugMode = _j === void 0 ? false : _j;\n useLanguage(lang);\n useDebugLogging(debugMode);\n return (React.createElement(AuthProvider, { sessionId: sessionId, authUrl: authUrl },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(SubmissionProvider, { action: SubmissionAction.NONE, submissionUrl: submissionUrl, documentServiceUrl: documentServiceUrl, sendBase64DocumentsInSwaggerProxy: sendBase64DocumentsInSwaggerProxy, onBeforeDocumentUpload: onBeforeDocumentUpload, onDocumentUploadProgress: onDocumentUploadProgress, onDocumentUploaded: onDocumentUploaded, onDocumentUploadFailed: onDocumentUploadFailed, geolocationEnabled: geolocationEnabled, geolocationRequired: geolocationRequired },\n React.createElement(CameraProvider, { requestAccessAutomatically: false, preferContinuityCamera: true, onCameraAccessDenied: onCameraAccessDenied, debugMode: debugMode },\n React.createElement(DocumentCaptureWizard, { onSuccess: onComplete, onExitCapture: onExitCapture, onUserCancel: onUserCancel, documents: documents, aspectRatio: aspectRatio, cameraFeedMode: cameraFeedMode, instructions: instructions, classNames: classNames, verbiage: verbiage }))))));\n};\n//# sourceMappingURL=DocumentCapture.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport * as ReactDOM from 'react-dom/client';\nimport { IdValidation, } from './components/customer_flows/IdValidation';\nimport { FaceValidation, } from './components/customer_flows/FaceValidation';\nimport { IdAndFaceValidation, } from './components/customer_flows/IdAndFaceValidation';\nimport { CustomerIdAndBiometricsEnrollment, } from './components/customer_flows/CustomerIdAndBiometricsEnrollment';\nimport { CustomerVerification, } from './components/customer_flows/CustomerVerification';\nimport { CustomerIdentification, } from './components/customer_flows/CustomerIdentification';\nimport { SignatureKYC, } from './components/customer_flows/SignatureKYC';\nimport { VideoIdValidation, } from './components/customer_flows/VideoIdValidation';\nimport { preloadModels } from './lib/models/preloadModels';\nimport { initializeI18n } from './lib/locales';\nimport { CustomerBiometricsEnrollment, } from './components/customer_flows/CustomerBiometricsEnrollment';\nimport { OverlayContainer } from './components/common/overlay';\nimport { webSdkVersion } from './version';\nimport { themes } from './themes';\nimport { DocumentCapture, } from './components/customer_flows/DocumentCapture';\nimport { CapturedDocumentImg } from './components/common/CapturedDocumentImg';\nimport { defaultSubmissionUrl, setServerUrl, } from './components/submission/SubmissionProvider';\nimport { defaultAuthUrl, allowedAuthUrls } from './contexts/AuthStateContext';\ninitializeI18n();\nfunction renderElement(component, targetElement) {\n if (typeof targetElement === 'string') {\n var result = document.querySelector(targetElement);\n if (!result)\n throw new Error(\"targetElement \".concat(targetElement, \" not found\"));\n targetElement = result;\n }\n else if (!targetElement) {\n targetElement = document.createElement('div');\n document.body.append(targetElement);\n }\n var root = ReactDOM.createRoot(targetElement);\n root.render(React.createElement(OverlayContainer, null, component));\n if ('remove' in targetElement) {\n var originalRemove_1 = targetElement.remove;\n targetElement.remove = function () {\n try {\n root.unmount();\n originalRemove_1();\n }\n catch (e) { }\n };\n }\n return targetElement;\n}\nfunction renderComponent(Component, targetElement, options) {\n if (!options) {\n options = targetElement;\n targetElement = undefined;\n }\n return renderElement(React.createElement(Component, __assign({}, options)), targetElement);\n}\nexport var renderIdValidation = function (optionsOrTargetElement, options) { return renderComponent(IdValidation, optionsOrTargetElement, options); };\nexport var renderFaceValidation = function (optionsOrTargetElement, options) { return renderComponent(FaceValidation, optionsOrTargetElement, options); };\nexport var renderIdAndFaceValidation = function (optionsOrTargetElement, options) { return renderComponent(IdAndFaceValidation, optionsOrTargetElement, options); };\nexport var renderCustomerIdAndBiometricsEnrollment = function (optionsOrTargetElement, options) {\n return renderComponent(CustomerIdAndBiometricsEnrollment, optionsOrTargetElement, options);\n};\nexport var renderCustomerBiometricsEnrollment = function (optionsOrTargetElement, options) {\n return renderComponent(CustomerBiometricsEnrollment, optionsOrTargetElement, options);\n};\nexport var renderCustomerVerification = function (optionsOrTargetElement, options) { return renderComponent(CustomerVerification, optionsOrTargetElement, options); };\nexport var renderCustomerIdentification = function (optionsOrTargetElement, options) { return renderComponent(CustomerIdentification, optionsOrTargetElement, options); };\nexport var renderSignatureKYC = function (optionsOrTargetElement, options) { return renderComponent(SignatureKYC, optionsOrTargetElement, options); };\nexport var renderVideoIdValidation = function (optionsOrTargetElement, options) { return renderComponent(VideoIdValidation, optionsOrTargetElement, options); };\nexport var renderDocumentCapture = function (optionsOrTargetElement, options) { return renderComponent(DocumentCapture, optionsOrTargetElement, options); };\nglobalThis.IDmissionSDK = {\n renderIdValidation: renderIdValidation,\n renderFaceValidation: renderFaceValidation,\n renderIdAndFaceValidation: renderIdAndFaceValidation,\n renderCustomerIdAndBiometricsEnrollment: renderCustomerIdAndBiometricsEnrollment,\n renderCustomerBiometricsEnrollment: renderCustomerBiometricsEnrollment,\n renderCustomerVerification: renderCustomerVerification,\n renderCustomerIdentification: renderCustomerIdentification,\n renderSignatureKYC: renderSignatureKYC,\n renderVideoIdValidation: renderVideoIdValidation,\n renderDocumentCapture: renderDocumentCapture,\n preloadModels: preloadModels,\n themes: themes,\n version: webSdkVersion,\n ready: true,\n authMode: 'session',\n allowedAuthUrls: allowedAuthUrls,\n defaultAuthUrl: defaultAuthUrl,\n defaultSubmissionUrl: defaultSubmissionUrl,\n setServerUrl: setServerUrl,\n};\nexport { preloadModels, themes, IdValidation, FaceValidation, IdAndFaceValidation, CustomerIdAndBiometricsEnrollment, CustomerBiometricsEnrollment, CustomerVerification, CustomerIdentification, SignatureKYC, VideoIdValidation, DocumentCapture, CapturedDocumentImg, allowedAuthUrls, defaultAuthUrl, defaultSubmissionUrl, setServerUrl, };\n//# sourceMappingURL=index.js.map"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","_","label","sent","trys","ops","f","y","g","verb","Symbol","iterator","v","op","pop","push","__spreadArray","to","from","pack","l","ar","slice","concat","__makeTemplateObject","cooked","raw","defineProperty","SuppressedError","error","suppressed","message","Error","name","webSdkVersion","getPlatform","window","platform","dataUrlToBase64","url","fetch","response","ok","blob","reader","FileReader","onload","base64String","split","onerror","abort","readAsDataURL","replace","dataUrlToBase64Sync","contentDispositionFromDataUrl","_b","_a","match","blobToB64","onloadend","SubmissionAction","SubmissionStatus","submissionHosts","prod","demo","determineSubmissionHost","environment","token","host","determineSubmissionEndpoint","action","hasId","hasSelfie","ENROLL","IDENTIFY","VALIDATE","VERIFY","liveCheckEndpoint","hasDocumentToMatchFace","apiHeaders","sessionId","sendBase64DocumentsInSwaggerProxy","headers","Origin","attachMetadataToRequest","request","selfieCaptureAttempts","idFrontCaptureAttempts","idBackCaptureAttempts","geolocationResult","metadata","selfie","front","back","isRealIDCheckRequired","sdkVersion","Resolution","innerWidth","innerHeight","os","family","osVersion","_c","version","browserVersion","GeoLocation","JSON","stringify","additionalData","videoDataUrlToB64","resp","PageContainerDiv","styled","div","templateObject_1","props","theme","isFullscreen","$heightOffset","fontFamily","PageContainer","forwardRef","ref","children","className","heightOffset","style","onClick","useState","dimensionsCalculated","setDimensionsCalculated","useEffect","calcAppDimensions","doc","document","documentElement","setProperty","addEventListener","removeEventListener","React","createElement","displayName","OverlayContainer","background","textColor","OverlayInner","templateObject_2","textAlign","padding","OverlayImageContainer","templateObject_3","OverlayImageRow","templateObject_4","LoaderButton","colors","disabled","finished","variant","buttonRef","useRef","laddaRef","_d","laddaLoaded","setLaddaLoaded","interval","Ladda","current","start","currentProgress","setInterval","setProgress","remove","clearInterval","stop","StyledButton","backgroundColor","loadingBackgroundColor","loadingTextColor","button","buttons","_f","$textColor","_e","$variant","_l","_g","$backgroundColor","_k","_h","_j","_q","_m","$disabledTextColor","_p","_o","loading","_u","_r","$disabledBackgroundColor","_t","_s","_v","GeolocationAccessDeniedOverlay","accessBlockedImageUrl","useTranslation","retryLocationAccess","useContext","SubmissionContext","display","height","maxWidth","margin","flexGrow","src","alt","lineHeight","marginBottom","width","marginLeft","marginRight","SubmissionError","_super","status","_this","statusMessage","NetworkError","SessionValidationFailedError","err","SubmissionErrorOverlay","onRetry","justifyContent","NetworkErrorContent","SubmissionErrorContent","headingText","Fragment","statusCode","errorData","messageText","retryText","marginTop","SessionIdMissingOverlay","href","target","rel","SessionValidationFailedOverlay","AuthUrlNotAllowedOverlay","SessionValidationErrorOverlay","Spinner","$size","$thickness","$color","defaultAuthUrl","allowedAuthUrls","setDefaultAuthUrl","includes","initialState","authUrl","sessionCheckState","AuthStateContext","createContext","AuthDispatchContext","reducer","state","type","payload","authError","undefined","useAuthReducer","useReducer","dispatch","resolvedSessionId","Function","method","id","json","valid","e_1","useAuthContext","AuthProvider","Provider","LogLevel","logLevel","Warn","useLogLevel","newLogLevel","oldLogLevel","useDebugLogging","enabled","Debug","log","parts","_i","Info","console","warn","defaultSubmissionUrl","setDefaultSubmissionUrl","defaultDocumentServiceUrl","setDefaultDocumentServiceUrl","setServerUrl","submit","submissionStatus","READY","submissionRequest","submissionResponse","submissionError","submissionEnvironment","idFrontImage","idBackImage","passportImage","selfieImage","signatureData","signatureVideoUrl","idCaptureVideoUrl","idCaptureVideoIdFrontImage","idCaptureVideoIdBackImage","idCaptureVideoAudioUrl","idCaptureVideoAudioStartsAt","additionalDocuments","setIdFrontImage","setIdBackImage","setPassportImage","setSelfieImage","setSignatureData","setSignatureVideoUrl","setIdCaptureVideoUrl","setIdCaptureVideoIdFrontImage","setIdCaptureVideoIdBackImage","setIdCaptureVideoAudioUrl","setIdCaptureVideoAudioStartsAt","setExpectedAudioText","setAdditionalDocuments","uploadDocument","logIdFrontCaptureAttempt","logIdBackCaptureAttempt","logSelfieCaptureAttempt","livenessCheckRequest","checkLiveness","SubmissionProvider","submissionUrl","companyId","enrollmentId","personalData","cardData","idData","bypassAgeValidation","bypassNameMatching","needImmediateResponse","manualReviewRequired","idBackImageRequired","idImageResolutionCheck","verifyIdWithExternalDatabases","deduplicationEnabled","deduplicationSynchronous","idCardForFaceMatch","geolocationEnabled","geolocationRequired","webhooksEnabled","webhooksClientTraceId","webhooksStripSpecialCharacters","webhooksSendInputImages","webhooksSendProcessedImages","webhooksFireOnReview","customerDataMatchConfig","precapturedDocuments","documentServiceUrl","_w","onSubmit","onBeforeSubmit","onBeforeLivenessCheck","onBeforeDocumentUpload","onDocumentUploadProgress","onDocumentUploaded","onDocumentUploadFailed","onResponseReceived","onRequestFailure","clientRequestID","_x","setSubmissionStatus","_y","setSubmissionRequest","_z","setSubmissionResponse","_0","setSubmissionError","_1","retrySubmission","setRetrySubmission","_2","setLivenessCheckRequest","_3","_4","_5","_6","_7","_8","_9","_10","_11","_12","_13","_14","expectedAudioText","_15","_16","setGeolocationResult","_17","geolocationAttempts","setGeolocationAttempts","_18","geolocationBlocked","setGeolocationBlocked","_19","setIdFrontCaptureAttempts","_20","setIdBackCaptureAttempts","_21","setSelfieCaptureAttempts","useCallback","attempt","attempts","imageData","convertBase64ToBlob","upload","createUpload","endpoint","retryDelays","filetype","onProgress","bytesUploaded","bytesTotal","percentage","toFixed","onSuccess","documentId","shift","onError","findPreviousUploads","previousUploads","resumeFromPreviousUpload","buildSubmissionPayload","uploadIfPossible","src_1","filename_1","filename","startsWith","signatureVideo","idCaptureVideo","documents","idCaptureVideoAudio","signatureImage","fileContent","all","keys","map","k","securityData","userName","password","merchantId","customerData","idType","idCountry","idState","uniqueRequestId","Date","getTime","toString","postDataAPIRequired","postDataOnReviewRequired","sendInputImagesInPost","sendProcessedImagesInPost","deDuplicationRequired","verifyDataWithHost","stripSpecialCharacters","idImageFront","idImageBack","biometricData","employee","uniqueNumber","clientTraceId","additionalDocument","uniqueId","videoData","voiceData","voiceStartTime","videoIdImageFront","videoIdImageBack","onBeforeSubmitResult","defaultOnSubmit","NONE","submissionResponse_1","resultData","SUBMITTED","SUBMITTING","text","statusText","submissionResponse_2","FAILED","imageDataUrl","estimateAge","predictGender","onBeforeLivenessCheckResult","submissionResponse_3","e_2","navigator","geolocation","getCurrentPosition","position","positionError","code","options","UploadType","tus","Upload","base64Image","imageType","decodedData","atob","uInt8Array","Uint8Array","charCodeAt","Blob","getFrameDimensions","frame","frameWidth","frameHeight","HTMLImageElement","naturalWidth","naturalHeight","HTMLVideoElement","videoWidth","videoHeight","InvisibleCanvas","canvas","drawToCanvas","ctx","getContext","drawImage","clearCanvas","clearRect","listAvailableCameras","facingMode_1","facingMode","requestMicAccess","mediaDevices","getUserMedia","video","exact","audio","cameraEnumerationStream","enumerateDevices","videoDevices","filter","kind","getVideoTracks","forEach","track","frontLabels","toLocaleLowerCase","join","rearLabels","backUltraWideLabels","labelMatches","labelOrDevice","labelSetOrLabel","MediaDeviceInfo","getDeviceLabel","labelSet","some","deviceInfo","currentCamera","currentAudioStream","obtainCameraAccess","stream","deviceLabel","releaseCameraAccess","getSettings","isRearFacing","release","getTracks","pause","srcObject","releaseMicrophoneAccess","getAudioTracks","usePreferredCaptureDevice","requestAccessAutomatically","preferFrontFacingCamera","preferContinuityCamera","requireMicrophoneAccess","maxVideoWidth","maxFps","debugMode","videoRef","videoRefStack","cameraRef","cameraReady","setCameraReady","microphoneReady","setMicrophoneReady","videoDevice","setVideoDevice","audioStream","setAudioStream","videoLoaded","setVideoLoaded","iphoneContinuityCameraAvailable","setIphoneContinuityCameraAvailable","iphoneContinuityCameraAllowed","setIphoneContinuityCameraAllowed","iphoneContinuityCameraDenied","setIphoneContinuityCameraDenied","cameraAccessDenied","setCameraAccessDenied","microphoneAccessDenied","setMicrophoneAccessDenied","videoRefElement","pushVideoRefToStackWhenChanged","topOfStack","onVideoUnmounted","videoElement","resetCameraOnContinuityPreferenceChanged","requestCameraAccess","chooseFromAvailableCameras","availableCameras","selectedCamera","platform_1","iphoneContinuityCamera","find","every","c","sort","a","toLowerCase","localeCompare","requestCameraAccessAutomatically","accessChosenCamera","cleanup","constraints","deviceId","ideal","aspectRatio","frameRate","max","handleStreamEnded","onended","triggerCameraReady","requestMicrophoneAccess","_requestMicrophoneAccess","requestMicrophoneAccessIfNeeded","takePhoto","_takePhoto","ImageCapture","toBlob","useMemo","CameraStateContext","CameraProvider","onCameraAccessDenied","onMicrophoneAccessDenied","captureDevice","visionTasksBasePath","visionRuntimePreloading","preloadVisionRuntime","handleDownloadProgress","event","detail","progressByUseCase","visionRuntime","sumUpProgressForDependencies","dispatchEvent","CustomEvent","preloadDependency","cropToShoulders","rawCanvas","cropCanvas","resizeCanvas","face","quality","maxHeight","rawCtx","cropCtx","resizeCtx","putImageData","box","xMin","xPadding","xPos","Math","dataURL","toDataURL","TextEncoder","encode","cropToDetectedObjectBox","yMin","defaultImageSegmenterModelPath","imageSegmenterModelSizeInBytes","tinyModelCacheKey","initialModelCapabilities","probeState","delegate","networkTier","networkSpeed","networkTestTime","modelCapabilities","probeModelCapabilities","loadTinyModel","error_1","error_2","maxTime","modelAssetPath","startedAt","race","giveUpAfter","time","speedMbps","ImageSegmenter","createFromOptions","FilesetResolver","forVisionTasks","baseOptions","model","emptyFrame","segment","_resolve","setTimeout","convertBoundingBox","originX","xMax","originY","yMax","waitForVideoReady","checkEveryMs","readyState","defaultFocusModelPath","defaultFocusModelLoadTimeoutMs","defaultFocusThresholds","idCardFront","desktop","mobile","idCardBack","passport","models","loadFocusModel","preloadFocusModelDependencies","ImageClassifier","runningMode","useLoadFocusModel","modelPath","modelLoadTimeoutMs","onModelError","ready","setReady","modelDownloadProgress","setModelDownloadProgress","modelError","setModelError","loadModel","progressToPercentage","modelLoadTimeout","loadedModel","clearTimeout","classifyForVideo","performance","now","handleModelError","makeFocusModelPrediction","rotateCanvas","image","cropIfNecessary","score","classifications","categories","categoryName","predictionTime","cropped","bw","bh","translate","rotate","x","aa","ba","defineProperties","ca","globalThis","self","global","B","configurable","writable","random","da","C","D","ea","fa","ha","ia","ja","ka","E","getOwnPropertyDescriptor","na","la","h","u","o","j","ma","G","oa","pa","qa","H","ra","sa","J","m","A","I","Event","cancelable","createEvent","initCustomEvent","promise","reason","M","r","q","ta","ua","is","RegExp","va","K","execScript","L","wa","fromCharCode","xa","ya","TextDecoder","za","Aa","Ba","Ca","Da","floor","Ea","Fa","subarray","charAt","test","Ga","Ha","Ia","Ja","Ka","N","O","La","ArrayBuffer","buffer","byteOffset","byteLength","Ma","Na","Oa","Pa","reset","Q","Qa","Ra","end","S","Sa","W","Ta","Ua","Va","Wa","T","Xa","U","Ya","isFrozen","enumerable","Za","$a","ab","isArray","bb","cb","db","freeze","eb","fb","hasInstance","gb","V","hb","X","ib","jb","splice","kb","lb","mb","isFinite","nb","ob","pb","qb","rb","toJSON","sb","tb","Number","MAX_VALUE","ub","vb","wb","F","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","set","Wb","Y","NaN","Infinity","pow","isNaN","round","LN2","Xb","abs","Yb","Zb","fatal","decode","$b","Z","ac","bc","cc","dc","ec","addClassification","fc","gc","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","createShader","VERTEX_SHADER","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","vc","index","ga","wc","z","visibility","xc","yc","zc","transferToImageBitmap","createImageBitmap","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","getUniformLocation","getAttribLocation","createBuffer","bindBuffer","ARRAY_BUFFER","enableVertexAttribArray","vertexAttribPointer","FLOAT","bufferData","Float32Array","STATIC_DRAW","uniform1i","viewport","activeTexture","TEXTURE0","bindTexture2d","glName","bindFramebuffer","DRAW_FRAMEBUFFER","FRAMEBUFFER","clearColor","clear","COLOR_BUFFER_BIT","colorMask","drawArrays","TRIANGLE_FAN","disableVertexAttribArray","Ac","Bc","Cc","Dc","Ec","setAttribute","appendChild","Fc","WebAssembly","instantiate","Gc","listeners","locateFile","location","pathname","substring","lastIndexOf","$","close","Hc","files","data","Ic","path","w","overrideFile","simd","createMediapipeSolutionsWasm","createMediapipeSolutionsPackedAssets","graph","importScripts","Module","OffscreenCanvas","GL","antialias","alpha","WebGL2RenderingContext","makeContextCurrent","alert","SolutionWasm","Jc","loadGraph","Kc","setOptions","R","onChange","graphOptionXref","valueNumber","valueBoolean","valueString","calculatorName","calculatorIndex","Lc","GraphOptionChangeRequestList","push_back","changeOptions","initialize","arrayBuffer","clearOverriddenFiles","send","inputs","PacketDataList","createTexture","texImage2D","TEXTURE_2D","RGBA","UNSIGNED_BYTE","DetectionListData","setBoundingBox","boundingBox","xCenter","yCenter","rotation","rectId","landmarks","addNormalizedLandmark","pushTexture2d","timestamp","pushDetectionList","Mc","Nc","getRectList","getLandmarksList","getClassificationsList","size","get","transform","Uint8BlobList","Texture2dDataOut","wants","StringList","PacketListener","implement","onResults","outs","attachMultiListener","BOOL","NUMBER","Oc","calculatorType","fieldName","detections","useCpuInference","userAgent","selfieMode","minDetectionConfidence","this","defaultFaceDetectorModelPath","defaultSelfieCaptureModelLoadTimeoutMs","detector","loadFaceDetector","preloadFaceDetectorDependencies","FaceDetector","useLoadFaceDetector","detectForVideo","makeFaceDetectorPrediction","prediction","faces","keypoints","preloadModels","documentDetectionModel","focusModel","faceDetectionModel","preloadTasks","preloadDocumentDetectorDependencies","progressByUrl","loaded","total","documentDetection","focus","faceDetection","xhr","XMLHttpRequest","lengthComputable","open","documentDetectorPreloading","focusModelPreloading","faceDetectorPreloading","dependencies","defaultDocumentDetectorModelPath","handleModelDownloadProgress","progress","reduce","dependency","dependencyProgress","defaultDocumentDetectionScoreThreshold","defaultDocumentDetectionModelLoadTimeoutMs","defaultDocumentDetectionThresholds","documentTypeDisplayNames","none","detectors","loadDocumentDetector","scoreThreshold","ObjectDetector","useLoadDocumentDetector","makeDocumentDetectorPrediction","logError","processDocumentDetectorPrediction","thresholds","detectedObjects","applyNonMaxSuppression","category","allZero","values","bestIdCardFront","obj","bestIdCardBack","bestPassportPage","idCardFrontDetectionScore","idCardBackDetectionScore","passportDetectionScore","idCardFrontDetectionThresholdMet","idCardBackDetectionThresholdMet","passportDetectionThresholdMet","bestDocument","detectionThreshold","detectionScore","detectionThresholdMet","detectedDocumentType","documentInBounds","boundaryPx","boundaryX","boundaryY","boundaryWidth","boundaryHeight","documentTooClose","docWidth","docHeight","detectionTime","maxes","useFrameLoop","fn","throttleMs","autoStart","running","setRunning","loopId","frameId","runFrameLoop","timer","currentLoopId","renderPrediction","requestAnimationFrame","cancelAnimationFrame","startAutomatically","DocumentDetectionModelContext","startDocumentDetection","stopDocumentDetection","documentDetectionModelReady","documentDetectionModelDownloadProgress","documentDetectionModelError","onDocumentDetected","documentDetectionThresholds","setDocumentDetectionThresholds","documentDetectionLastPredictionCanvas","clearDocumentDetectionLastPredictionCanvas","DocumentDetectionModelProvider","documentDetectionModelPath","documentDetectionModelScoreThreshold","documentDetectionModelLoadTimeoutMs","onDocumentDetectionModelError","lastPredictionCanvas","onPredictionHandler","setDetectionTime","timesAllZero","setTimesAllZero","canvasKey","setCanvasKey","stopDetection","stopDetectionAtStart","vw","vh","processedPrediction","setErrorIfAllZero","handler","key","FocusModelContext","focusModelReady","focusModelDownloadProgress","focusModelError","focusThresholds","setFocusThresholds","makeFocusPrediction","focusPredictionTime","FocusModelProvider","focusModelPath","focusModelLoadTimeoutMs","onFocusModelError","showCanvases","setFocusPredictionTime","_isNavigatorDefined","isMobile","nav","product","vendor","opera","navAny","userAgentData","substr","onMobile","defaultIdCaptureThresholds","detection","IdCaptureModelsContext","setThresholds","onPredictionMade","bestFrameDetails","getBestFrame","resetBestFrame","requiredDocumentType","setRequiredDocumentType","IdCaptureModelsProviderInner","setBestFrameDetails","bestPredictionCanvas","bestFocusScore","handleDetections","focusScore","focusThresholdMet","isRequiredDocumentType","focusPrediction","focusThresholdSet","focusThreshold","documentType","handleModelErrors","IdCaptureModelsProvider","CapturedDocumentTypeValues","requiredDocumentsForOption","idCard","idCardAndPassport","idCardOrPassport","requiredImageCountForOption","idCaptureRequirement","allowedImageCountForOption","initialDrawComplete","redrawing","guideRectX","guideRectY","guideRectWidth","guideRectHeight","guideRectOffsetTop","guideImageWidth","guideImageHeight","pageWidth","pageHeight","flipRequired","backDetectedFirst","isGoodFrame","goodFramesCount","goodFramesThreshold","goodFramesThresholdMet","lastFrameCapturedAt","frameCaptureRate","capturing","captureFailed","imageUrl","captureState","capturedDocuments","captureRequirement","requestedDocumentType","allowIdCardBackToFrontCapture","operationStartedAt","captureStartedAt","IdCaptureStateContext","IdCaptureDispatchContext","newState","CapturedDocumentTypeValues_1","frameCapturedAt","ceil","newState_1","remainingRequirements","newState_2","IdCaptureStateProvider","onResize","useDebouncedCallback","useLayoutEffect","useIdCaptureState","DebugStatsPane","element","DebugStatsPaneDiv","portalLocation","getElementById","createPortal","span","ObjectDetectionDebugOverlayDiv","$flipX","ObjectDetectionDebugBox","FaceDetectionKeypointMarker","useDebugScalingDetails","horizontal","scaledWidth","scaledHeight","xOffset","yOffset","DebugBoundingBoxOverlay","scaling","top","left","IdCaptureDetectedObjectDebugBox","flipX","color","SelfieCaptureFaceDebugBox","point","ii","SelfieCaptureFaceKeypoint","Continue","Retry","Passport","Submit","Exit","Done","Next","Accept","Clear","Capture","resources","en","translation","enTranslation","es","esTranslation","initializeI18n","i18n","use","LanguageDetector","initReactI18next","init","caches","fallbackLng","debug","interpolation","escapeValue","useLanguage","lang","changeLanguage","evaluateVerbiage","currentLanguage","verbiage","fallback","translations","nonLocaleLang","useVerbiage","language","useTranslations","fallbacks","GuidanceMessageContainerDiv","$top","$bottom","GuidanceMessageContainer","GuidanceMessage","$background","guidanceMessages","DEFAULT_CDN_URL","IdCapture","guidanceMessage","guidanceSatisfied","onCapture","assets","classNames","rawVerbiage","useResizeObserver","modelsReady","shouldCapture","timeSince","bestFrame","capturedDocumentType","captureTime","autoCapture","bestDetectionScore","portraitGuidesImageUrl","landscapeGuidesImageUrl","useTheme","guideBoxUnsatisfiedColor","idCapture","guideBox","unsatisfiedColor","guideBoxSatisfiedColor","satisfiedColor","instructionText","processingIdCardText","guidanceSatisfiedText","guidancePleaseFlipText","guidanceBackDetectedFirstText","guidanceTooBlurryText","guidanceNotCenteredText","guidanceTooCloseText","guidanceNotDetectedText","debugScalingDetails","satisfied","container","guidanceMessageContainer","EPSILON","CameraAccessDeniedOverlay","descriptionText","retryBtnText","StyledOverlayInner","inner","StyledOverlayImageContainer","imageContainer","heading","Description","description","RetryButton","retryBtn","ExitCaptureStyledButton","ExitCaptureButton","xmlns","viewBox","enableBackground","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","strokeMiterlimit","x1","y1","x2","y2","ButtonsRow","IdCaptureLoadingGraphic","IdCaptureLoadingGraphicMobile","IdCaptureLoadingGraphicDesktop","setFrame","accentColor","loadingOverlay","loadingGraphicAccentColor","accentOpacity","loadingGraphicAccentOpacity","transition","border","maskType","maskUnits","rx","mask","fillOpacity","cx","cy","strokeOpacity","filterUnits","colorInterpolationFilters","floodOpacity","mode","in2","stdDeviation","clipPath","fillRule","clipRule","legacyInstructionImageUrl","IdCaptureLoadingOverlayDefault","onDismissed","onUserCancel","instructions","rotateImage","dismissed","setDismissed","instructionImageUrl","useContinuityCameraText","downloadingText","modelsWarmingUpText","modelsReadyText","cameraInitializingText","cameraInitializedText","continueText","imageRef","imageStyle","scale","OverlayHeader","StyledGuidanceMessage","cancelBtn","pointerEvents","CustomLoadingGraphic","ContinuityCameraCheckboxContainer","continuityCameraCheckboxContainer","ContinuityCameraCheckboxInner","continuityCameraCheckboxInner","ContinuityCameraCheckbox","continuityCameraCheckbox","defaultChecked","checked","htmlFor","continuityCameraCheckboxLabel","StyledButtonsRow","buttonsRow","ProgressContainer","progressContainer","ProgressBarBackground","progressBackground","ProgressBar","progressBar","ProgressIndicator","progressIndicator","LoadingListContainer","loadingListContainer","LoadingList","loadingList","LoadingListItem","loadingListItem","ContinueButtonContainer","continueBtnContainer","ContinueButton","continueBtn","templateObject_5","templateObject_6","input","templateObject_7","templateObject_8","selfieCapture","progressBarTextColor","progressBarFontSize","templateObject_9","ul","templateObject_10","li","templateObject_11","templateObject_12","templateObject_13","progressBarBackgroundColor","progressBarBackgroundOpacity","templateObject_14","$progress","templateObject_15","progressBarIndicatorColor","img","templateObject_16","templateObject_17","templateObject_18","continueBtnBorder","IdCaptureLoadingOverlayLegacy","components","legacy","IdCaptureLoadingOverlay","Component","CapturedDocumentImg","setUrl","setCropped","bbox","imgRef","onLoaded","onLoad","URL","createObjectURL","link","click","parentNode","removeChild","OverlayInstruction","IdCaptureSuccess","onSubmitClick","onRetryClick","idCardFrontText","idCardBackText","passportText","submittingText","submitText","ImagesContainer","ImageRow","imageRow","Heading","ImageCol","imageCol","ImageHeading","imageHeading","CapturedImageWrapper","imageWrapper","StyledImage","instruction","submitBtn","doneBtn","h1","h3","success","imageBorderColor","CameraVideoTag","notifyCameraProviderOfUnmount","setVideoLoadedToFalseOnMount","attachCameraStreamToVideoTagWhenReady","onLoadedData","FullscreenVideoTag","autoPlay","playsInline","muted","$isRearFacing","useShowSuccessScreen","skipSuccessScreen","successScreenReady","onDoneCallback","skipSuccessScreenResolvedFalse","setSkipSuccessScreenResolvedFalse","CameraFeedWrapper","$mode","$x","$y","$w","$h","setCanvasDimensions","devicePixelRatio","resetCanvasDimensions","GuideOrientationContext","orientation","wrapperWidth","wrapperHeight","wrapperAspectRatio","imageAspectRatio","wrapperRef","setDimensions","onImageLoaded","StyledPageContainer","GuidesContainer","GuideCenterRow","GuideRegion","$maskColor","guideOverlay","$minWidth","$minHeight","Spacer","GuideCenterRegion","$isMirrored","GuideCenterBorder","$borderWidth","$borderColor","GuideText","GuideImage","$padding","$visible","IdCaptureGuideOverlay","userSuppliedPadding","userSuppliedImagePadding","imagePadding","imageVisible","borderWidth","borderColor","maskColor","isMirrored","guideOrientationOnImageLoaded","mobilePadding","desktopPadding","paddingAndBorderPx","imgSrc","imageWidth","imageHeight","regionClsx","guideText","centerRow","centerRegion","centerRegionInner","opacity","which","dimmingRegion","FlippingImage","$transitionTime","$transforms","FlipIdPrompt","frontPortraitGuidesImageUrl","frontLandscapeGuidesImageUrl","backPortraitGuidesImageUrl","backLandscapeGuidesImageUrl","transitionTime","setTransitionTime","rotationAngle","setRotationAngle","frontTransforms","backTransforms","doFlip","IdCaptureFitGuide","borderRadius","frontImageUrl","backImageUrl","requestingFlip","canvasRef","boundingWidth","boundingHeight","rectX","rectY","rectWidth","rectHeight","fillStyle","fillRect","beginPath","roundRect","lineWidth","strokeStyle","getComputedStyle","getPropertyValue","globalCompositeOperation","rectOffsetTop","offsetTop","CanvasWrapper","canvasWrapper","Canvas","IdCaptureGuides","guideType","portraitGuidesOnMobile","isBackToFront","flipIdPromptAssets","capturingText","captureFailedText","temp","IdCaptureImagePreview","setLoaded","setAspectRatio","ImagePreviewWrapper","ImagePreviewText","ImagePreviewImageWrapper","SelfieProgressPreview","StyledSpinner","spinner","documentCaptureInitialState","currentDocumentIndex","uploadCapturedDocument","DocumentCaptureStateContext","DocumentCaptureDispatchContext","documentCaptureStateReducer","content","contentUrl","onDocumentCaptured","uploadState","onUploaded","onAllDocumentsUploaded","DocumentCaptureStateProvider","cameraFeedMode","documentId_1","resolvedDocuments","title","videoTag","onComplete","tracks","videoCameraTrack","imageCapture","stateWithActions","useDocumentCaptureState","DocumentCaptureGuideOverlay","documentCapture","DocumentCaptureScreen","onCaptureClicked","cameraAccessRequested","setCameraAccessRequested","cameraAccessNeeded","active","requestCameraAccessIfNeeded","loadingBtnText","retryCameraAccessBtnText","captureBtnText","capturingBtnText","retryCaptureBtnText","uploadBtnText","uploadingBtnText","retryUploadBtnText","successBtnText","onCaptureClick","cameraFeedWrapper","PreviewImage","previewImage","cameraFeed","CaptureContainer","captureContainer","HeadingRow","headingRow","FooterRow","footerRow","Instructions","retryCameraAccessBtn","retryCaptureBtn","uploadBtn","uploadProgressBtn","captureBtn","DocumentCaptureWizard","useFileState","file","setFile","fileInputOnChange","currentTarget","rawFile","useFileDataUrl","aborted","useResizeMaxEdge","maxEdgePx","resizedImageFile","setResizedImageFile","Image","context","imageSmoothingQuality","dataUrl","IdCaptureFallback","onFinished","silentFallback","lastResizedFileRef","fileInput","images","setImages","documentToCapture","setDocumentToCapture","useFallback","setUseFallback","allowedImageCount","requiredImageCount","isProcessing","setIsProcessing","whatToCapture","firstInstructionText","secondInstructionText","thirdInstructionText","captureMoreBtnText","doneBtnText","resetAfterCapturingImage","onFileSelected","Instruction","accept","capture","hidden","captureMoreBtn","IdCaptureWizard","onExitCapture","loadingOverlayMode","separateIdCardCaptureSequence","releaseCameraAccessOnExit","rotateLoadingOverlayImageWhenPortrait","forceFallbackMode","overlayDismissed","setOverlayDismissed","documentCount","logCaptureMetadata","operationTime","startModelsWhenCapturing","showSuccessScreen","setAttempt","onExit","flipIdPrompt","idCaptureVerbiages","idCaptureAssets","idCaptureVerbiage","handleCapture","base64ImageData","capturePreview","imagePreview","exitCaptureBtn","FaceCaptureGuideContainer","FaceCaptureGuideOval","guides","FaceCaptureGuideOverlay","oval","SelfieGuidanceModelsContext","SelfieGuidanceModelsProvider","useTimeout","durationMs","onTimeout","timeoutAverted","shouldWaitLonger","shouldStart","timedOut","setTimedOut","timeoutStartedAt","setTimeoutStartedAt","SelfieCaptureFallback","invalidSelfie","setImage","setLoading","usingDocumentCapture","setUsingDocumentCapture","doneBtnLoadingText","livenessFailedText","livenessFailedReasonText","retryButtonText","retryCaptureButtonText","triggerInputWhenInSilentFallbackMode","fallbackTimeout","ImageContainer","faceNotCentered","faceLookingAway","faceTooClose","faceTooFar","faceReady","faceReadyAt","vCX","vCY","fCX","fCY","vTX","vTY","fTW","fTH","nose","tooCloseMultiple","tooFarMultiple","SelfieCapture","onGuidanceSatisfied","onGuidanceNotSatisfied","onSelfieCaptured","timeoutDurationMs","guidanceError","useThrottledCallback","captureReady","setCaptureReady","getImageData","guidesUnsatisfiedColor","guidesSatisfiedColor","guidanceHoldStillText","guidanceLookStraightText","guidanceMoveBackText","guidanceMoveForwardText","guidanceMoveToCenterText","requestState","requestError","faceLive","eyeCoveringDetected","maskDetected","headCoveringDetected","phoneDetected","timesLivenessCheckFailed","allowedStates","verificationResult","eyeCovering","faceMask","headCovering","cellPhone","livenessCheckPassed","FaceLivenessCapture","setImageUrl","isReady","isPassed","checkLivenessIfPossible","imageUrl_1","onFallbackImageCaptured","callSuccessIfAvailable","timeoutOnTooManyLivenessCheckFailures","allowedFailures","guidanceRemoveEyeCoveringsText","guidanceRemoveHeadCoveringsText","guidanceRemoveMaskText","progressPreviewText","FaceLivenessSuccess","onDoneClick","FaceLivenessFailure","canRetry","onExitClick","exitBtnText","exitBtn","MicrophoneAccessDeniedOverlay","SelfieCaptureLoadingOverlayLegacy","removeEyeCoveringsText","avoidExcessiveBacklightingText","SelfieCaptureLoadingGraphic","preserveAspectRatio","SelfieCaptureLoadingOverlayDefault","headingTextIndex","setHeadingTextIndex","headingContainer","SelfieCaptureLoadingOverlay","FaceLivenessWizard","onExitAfterFailure","maxRetries","renderCameraFeed","faceCropImageUrl","setFaceCropImageUrl","retryCount","setRetryCount","setCaptureState","captureEndedAt","onSuccessCallback","onFailureOrTimeout","onExitCallback","onRetryCallback","failure","GuideOrientationProvider","setImageAspectRatio","SubmissionSuccess","showRequestBody","setShowRequestBody","truncateImages","setTruncateImages","requestBodyDisplay","parse","truncate","str","max_chars","truncated","AdditionalDocumentCapture","nextBtnText","onNextClicked","fileReader","documentName","processAsPOA","fileUploadType","isImageControlData","fieldId","Inner","nextBtn","AdditionalDocumentCaptureWizard","uploadedDocuments","setUploadedDocuments","documentIndex","currentDocument","isComplete","skip","signatureDataToIdmissionFormat","signatureCanvas","clickX_simple","clickY_simple","time_simple","pressure","toData","xs","ys","times","SignaturePaperBacking","signatureCapture","backgroundSize","backgroundPosition","SignatureCanvasContainer","SignaturePad","SignatureButtonsContainer","SignatureCapture","onAccept","signaturePad","acceptBtnText","clearBtnText","onAcceptClicked","canvasContainer","canvasInner","SignatureCanvas","canvasProps","clearBtn","AcceptBtn","acceptBtn","useVideoRecorder","camera","mergeAVStreams","videoRecorder","audioRecorder","videoChunks","audioChunks","videoUrl","setVideoUrl","audioUrl","setAudioUrl","isRecordingVideo","setIsRecordingVideo","isRecordingAudio","setIsRecordingAudio","videoRecordingStopped","setVideoRecordingStopped","audioRecordingStopped","setAudioRecordingStopped","videoRecordingIntentionallyStopped","setVideoRecordingIntentionallyStopped","audioRecordingIntentionallyStopped","setAudioRecordingIntentionallyStopped","getVideoStream","videoTracks","audioTracks","MediaStream","processVideo","videoBlob","processAudio","audioBlob","startRecordingVideo","videoStream","MediaRecorder","videoBitsPerSecond","audioBitsPerSecond","ondataavailable","onstop","startRecordingAudio","stopRecordingVideo","stopRecordingAudio","videoRecordingUnintentionallyStopped","audioRecordingUnintentionallyStopped","VideoSignatureCapture","onVideoCaptured","onFaceNotDetected","signatureRecorder","recordedChunks","signatureDataUrl","setSignatureDataUrl","signatureVideoData","setSignatureVideoData","guidanceMessageBackgroundColor","guidanceMessageTextColor","guidanceMessageText","outputCanvas","recordingLock","captureStream","animationFrame","isPortrait","cameraIsLandscape","runFrame","rect","getCanvas","numFramesWithoutFaces","setNumFramesWithoutFaces","VideoSignatureSuccess","videoContainer","StyledVideo","poster","controls","preload","VideoSignatureWizard","onRetryClicked","shouldRun","onLoadingOverlayDismissed","onFaceCaptureSuccess","onSignatureCaptureCompleted","signatureImageData","onSignatureCaptureFacesNotDetected","faceLiveness","IdVideoCaptureFlipIdPrompt","timeout","FlipImage","$isBack","$imageWidth","$imageHeight","IdVideoCaptureGuides","requestedAction","faceGuideBorderWidth","faceGuideBorderColor","idCardGuideBorderWidth","idCardGuideBorderColor","setImageWidth","setImageHeight","idFrontInstructionText","idBackInstructionText","flipIdInstructionText","idVideoCapture","faceGuides","idCardGuides","captureImageSize","Container","FaceGuide","faceGuide","IdCardGuideContainer","idCardGuideContainer","IdCardGuideInstructionsContainer","idCardGuideInstructionsContainer","IdCardGuideInstructions","idCardGuideInstructions","instructionsTextColor","instructionsBackgroundColor","IdCardGuideImageContainer","idCardGuideImageContainer","flipIdPromptImage","IdCardGuideImage","idCardGuideImage","ReadTextPrompt","minReadingMs","countdownTimeoutRef","countdownRemaining","setCountdownRemaining","manualCountdown","remainingTime","nextCycle_1","minReadingTimeElapsed","setMinReadingTimeElapsed","trackReadingTime","ReadTextPromptContainer","ReadTextPromptHeading","ReadTextPromptText","prompt","ReadTextPromptButtonsRow","ReadTextPromptTimeRemaining","timeRemaining","DoneButton","readTextPrompt","edgeBoundary","defaultVideoIdCaptureThresholds","goodFrames","IdVideoCapture","onIdFrontImageCaptured","onIdBackImageCaptured","onRecordingFailed","idCaptureModelsEnabled","idCardFrontDelay","videoIdCaptureThresholds","skipShowIdCardBack","captureCountdownSeconds","readTextTimeoutDurationMs","readTextMinReadingMs","disableFaceDetectionWhileAudioCapture","disableFaceDetectionWhileAudioCaptureMsDelay","setDetectedObjects","setFaces","idModelsReady","startIdModels","stopIdModels","onIdPredictionMade","idModelError","videoStartsAt","setVideoStartsAt","onSelfiePredictionMade","selfieModelError","_22","needsAudio","audioReady","_23","setRequestedAction","shouldRunIdModels","_24","currentDetectionScore","setCurrentDetectionScore","_25","currentFocusScore","setCurrentFocusScore","_26","setGoodFramesCount","_27","idFrontCaptureStartedAt","setFirstGoodFrameTime","delaySatisfied","translatedText","onIdBackCaptureComplete","faceBox","faceCentered","_28","countdownStartedAt","setCountdownStartedAt","photoCanvas","frameLock","captureFrame","frameBase64","isFlipping","stopRecording","_29","ignoreMissingFaces","_30","faceNotCenteredText","searchingForIdCardText","capturingId","searchingForIdCard","guidanceText","negative","CountdownContainer","countdownContainer","Countdown","countdown","CaptureButtonContainer","captureBtnContainer","CaptureButton","IdVideoCaptureSuccess","idFrontImageUrl","idBackImageUrl","displayedAsset","setDisplayedAsset","idFrontText","idBackText","AssetSelectorOptions","assetSelectorOptions","AssetSelectorOption","assetSelectorOption","VideoIdWizard","onIdCaptureModelError","idCaptureProps","faceLivenessProps","skipIdCapture","idCaptureLoadingOverlayMode","idCaptureGuideType","idCapturePortraitGuidesOnMobile","idCaptureRotateLoadingOverlayImageWhenPortrait","idCaptureModelLoadTimeoutMs","faceLivenessLoadingOverlayMode","onIdCaptureSuccessProp","onIdCaptureSuccess","submission","onVideoCaptureComplete","onVideoCaptureFaceNotDetected","userSuppliedExitAfterFailure","onFaceCaptureExitAfterFailure","req","onSuccessRetryClick","isCapturingId","handleExitCapture","documentDetectionModelUrl","focusModelUrl","CompositeWizardComponent","userChecks","checks","additionalDocumentCaptureProps","signatureCaptureProps","videoSignatureCaptureProps","videoIdCaptureProps","captureSignature","captureSignatureVideo","checkIndex","setCheckIndex","currentCheck","shouldProceed","onVideoIdCaptureCompleteProp","onVideoIdCaptureComplete","onFaceLivenessCompleteProp","onFaceLivenessComplete","onSignatureCaptureSuccess","onVideoSignatureCompleteProp","onVideoSignatureComplete","videoSignatureAttempts","setVideoSignatureAttempts","onVideoSignatureRetryProp","onVideoSignatureRetry","onAdditionalDocumentCaptureCompleteProp","onAdditionalDocumentCaptureComplete","noneTheme","defaultTheme","primary","secondary","positive","warning","themes","resolveTheme","ThemeProvider","themeInput","name_1","variants","num","ScThemeProvider","IdValidation","idCaptureThresholds","onApproved","onDenied","captureAdditionalDocuments","additionalDocumentCapture","videoSignatureCapture","FaceValidation","IdAndFaceValidation","faceLivenessTimeoutDurationMs","idCaptureInstructions","selfieCaptureModelLoadTimeoutMs","onSelfieCaptureModelError","CustomerIdAndBiometricsEnrollment","onEnrolled","ALLOWED_RETRIES","unverifiedTimes","customerMatched","verificationResultCode","CustomerVerificationCapture","onCustomerMatched","onCustomerNotMatched","onCaptureGuidanceTimeout","captureGuidanceTimeoutDurationMs","CustomerVerificationSuccess","CustomerVerificationFailure","CustomerVerificationWizard","onCustomerMatchedCallback","onCustomerNotMatchedCallback","onCaptureGuidanceTimeoutCallback","CustomerVerification","notFoundTimes","CustomerIdentificationCapture","CustomerIdentificationSuccess","CustomerIdentificationFailure","CustomerIdentificationWizard","CustomerIdentification","SignatureKYC","VideoIdValidation","CustomerBiometricsEnrollment","DocumentCapture","renderElement","component","targetElement","querySelector","append","root","ReactDOM","createRoot","render","originalRemove_1","unmount","renderComponent","renderIdValidation","optionsOrTargetElement","renderFaceValidation","renderIdAndFaceValidation","renderCustomerIdAndBiometricsEnrollment","renderCustomerBiometricsEnrollment","renderCustomerVerification","renderCustomerIdentification","renderSignatureKYC","renderVideoIdValidation","renderDocumentCapture","IDmissionSDK","authMode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIA,cAAa,GAAG,SAAhBA,aAAaA,CAAYC,CAAC,EAAEC,CAAC,EAAE;AACjCF,EAAAA,cAAa,GAAGG,MAAM,CAACC,cAAc,IAChC;AAAEC,IAAAA,SAAS,EAAE,EAAA;AAAG,GAAC,YAAYC,KAAK,IAAI,UAAUL,CAAC,EAAEC,CAAC,EAAE;IAAED,CAAC,CAACI,SAAS,GAAGH,CAAC,CAAA;AAAE,GAAE,IAC5E,UAAUD,CAAC,EAAEC,CAAC,EAAE;IAAE,KAAK,IAAIK,CAAC,IAAIL,CAAC,EAAE,IAAIC,MAAM,CAACK,SAAS,CAACC,cAAc,CAACC,IAAI,CAACR,CAAC,EAAEK,CAAC,CAAC,EAAEN,CAAC,CAACM,CAAC,CAAC,GAAGL,CAAC,CAACK,CAAC,CAAC,CAAA;GAAG,CAAA;AACrG,EAAA,OAAOP,cAAa,CAACC,CAAC,EAAEC,CAAC,CAAC,CAAA;AAC5B,CAAC,CAAA;AAEM,SAASS,SAASA,CAACV,CAAC,EAAEC,CAAC,EAAE;EAC9B,IAAI,OAAOA,CAAC,KAAK,UAAU,IAAIA,CAAC,KAAK,IAAI,EACrC,MAAM,IAAIU,SAAS,CAAC,sBAAsB,GAAGC,MAAM,CAACX,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAA;AAC7FF,EAAAA,cAAa,CAACC,CAAC,EAAEC,CAAC,CAAC,CAAA;EACnB,SAASY,EAAEA,GAAG;IAAE,IAAI,CAACC,WAAW,GAAGd,CAAC,CAAA;AAAE,GAAA;EACtCA,CAAC,CAACO,SAAS,GAAGN,CAAC,KAAK,IAAI,GAAGC,MAAM,CAACa,MAAM,CAACd,CAAC,CAAC,IAAIY,EAAE,CAACN,SAAS,GAAGN,CAAC,CAACM,SAAS,EAAE,IAAIM,EAAE,EAAE,CAAC,CAAA;AACtF,CAAA;AAEO,IAAIG,OAAQ,GAAG,SAAXA,QAAQA,GAAc;EAC/BA,OAAQ,GAAGd,MAAM,CAACe,MAAM,IAAI,SAASD,QAAQA,CAACE,CAAC,EAAE;AAC7C,IAAA,KAAK,IAAIC,CAAC,EAAEC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAGC,SAAS,CAACC,MAAM,EAAEH,CAAC,GAAGC,CAAC,EAAED,CAAC,EAAE,EAAE;AACjDD,MAAAA,CAAC,GAAGG,SAAS,CAACF,CAAC,CAAC,CAAA;MAChB,KAAK,IAAId,CAAC,IAAIa,CAAC,EAAE,IAAIjB,MAAM,CAACK,SAAS,CAACC,cAAc,CAACC,IAAI,CAACU,CAAC,EAAEb,CAAC,CAAC,EAAEY,CAAC,CAACZ,CAAC,CAAC,GAAGa,CAAC,CAACb,CAAC,CAAC,CAAA;AAChF,KAAA;AACA,IAAA,OAAOY,CAAC,CAAA;GACX,CAAA;AACD,EAAA,OAAOF,OAAQ,CAACQ,KAAK,CAAC,IAAI,EAAEF,SAAS,CAAC,CAAA;AACxC,CAAC,CAAA;AAEM,SAASG,MAAMA,CAACN,CAAC,EAAEO,CAAC,EAAE;EAC3B,IAAIR,CAAC,GAAG,EAAE,CAAA;AACV,EAAA,KAAK,IAAIZ,CAAC,IAAIa,CAAC,EAAE,IAAIjB,MAAM,CAACK,SAAS,CAACC,cAAc,CAACC,IAAI,CAACU,CAAC,EAAEb,CAAC,CAAC,IAAIoB,CAAC,CAACC,OAAO,CAACrB,CAAC,CAAC,GAAG,CAAC,EAC/EY,CAAC,CAACZ,CAAC,CAAC,GAAGa,CAAC,CAACb,CAAC,CAAC,CAAA;AACf,EAAA,IAAIa,CAAC,IAAI,IAAI,IAAI,OAAOjB,MAAM,CAAC0B,qBAAqB,KAAK,UAAU,EAC/D,KAAK,IAAIR,CAAC,GAAG,CAAC,EAAEd,CAAC,GAAGJ,MAAM,CAAC0B,qBAAqB,CAACT,CAAC,CAAC,EAAEC,CAAC,GAAGd,CAAC,CAACiB,MAAM,EAAEH,CAAC,EAAE,EAAE;AACpE,IAAA,IAAIM,CAAC,CAACC,OAAO,CAACrB,CAAC,CAACc,CAAC,CAAC,CAAC,GAAG,CAAC,IAAIlB,MAAM,CAACK,SAAS,CAACsB,oBAAoB,CAACpB,IAAI,CAACU,CAAC,EAAEb,CAAC,CAACc,CAAC,CAAC,CAAC,EAC1EF,CAAC,CAACZ,CAAC,CAACc,CAAC,CAAC,CAAC,GAAGD,CAAC,CAACb,CAAC,CAACc,CAAC,CAAC,CAAC,CAAA;AACzB,GAAA;AACJ,EAAA,OAAOF,CAAC,CAAA;AACV,CAAA;AA8DO,SAASY,SAASA,CAACC,OAAO,EAAEC,UAAU,EAAEC,CAAC,EAAEC,SAAS,EAAE;EAC3D,SAASC,KAAKA,CAACC,KAAK,EAAE;IAAE,OAAOA,KAAK,YAAYH,CAAC,GAAGG,KAAK,GAAG,IAAIH,CAAC,CAAC,UAAUI,OAAO,EAAE;MAAEA,OAAO,CAACD,KAAK,CAAC,CAAA;AAAE,KAAC,CAAC,CAAA;AAAE,GAAA;AAC3G,EAAA,OAAO,KAAKH,CAAC,KAAKA,CAAC,GAAGK,OAAO,CAAC,EAAE,UAAUD,OAAO,EAAEE,MAAM,EAAE;IACvD,SAASC,SAASA,CAACJ,KAAK,EAAE;MAAE,IAAI;AAAEK,QAAAA,IAAI,CAACP,SAAS,CAACQ,IAAI,CAACN,KAAK,CAAC,CAAC,CAAA;OAAG,CAAC,OAAOV,CAAC,EAAE;QAAEa,MAAM,CAACb,CAAC,CAAC,CAAA;AAAE,OAAA;AAAE,KAAA;IAC1F,SAASiB,QAAQA,CAACP,KAAK,EAAE;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAAC,OAAO,CAAC,CAACE,KAAK,CAAC,CAAC,CAAA;OAAG,CAAC,OAAOV,CAAC,EAAE;QAAEa,MAAM,CAACb,CAAC,CAAC,CAAA;AAAE,OAAA;AAAE,KAAA;IAC7F,SAASe,IAAIA,CAACG,MAAM,EAAE;MAAEA,MAAM,CAACC,IAAI,GAAGR,OAAO,CAACO,MAAM,CAACR,KAAK,CAAC,GAAGD,KAAK,CAACS,MAAM,CAACR,KAAK,CAAC,CAACU,IAAI,CAACN,SAAS,EAAEG,QAAQ,CAAC,CAAA;AAAE,KAAA;AAC7GF,IAAAA,IAAI,CAAC,CAACP,SAAS,GAAGA,SAAS,CAACV,KAAK,CAACO,OAAO,EAAEC,UAAU,IAAI,EAAE,CAAC,EAAEU,IAAI,EAAE,CAAC,CAAA;AACzE,GAAC,CAAC,CAAA;AACJ,CAAA;AAEO,SAASK,WAAWA,CAAChB,OAAO,EAAEiB,IAAI,EAAE;AACzC,EAAA,IAAIC,CAAC,GAAG;AAAEC,MAAAA,KAAK,EAAE,CAAC;AAAEC,MAAAA,IAAI,EAAE,SAANA,IAAIA,GAAa;QAAE,IAAIjC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAMA,CAAC,CAAC,CAAC,CAAC,CAAA;QAAE,OAAOA,CAAC,CAAC,CAAC,CAAC,CAAA;OAAG;AAAEkC,MAAAA,IAAI,EAAE,EAAE;AAAEC,MAAAA,GAAG,EAAE,EAAA;KAAI;IAAEC,CAAC;IAAEC,CAAC;IAAErC,CAAC;IAAEsC,CAAC,CAAA;AAChH,EAAA,OAAOA,CAAC,GAAG;AAAEd,IAAAA,IAAI,EAAEe,IAAI,CAAC,CAAC,CAAC;AAAE,IAAA,OAAO,EAAEA,IAAI,CAAC,CAAC,CAAC;IAAE,QAAQ,EAAEA,IAAI,CAAC,CAAC,CAAA;AAAE,GAAC,EAAE,OAAOC,MAAM,KAAK,UAAU,KAAKF,CAAC,CAACE,MAAM,CAACC,QAAQ,CAAC,GAAG,YAAW;AAAE,IAAA,OAAO,IAAI,CAAA;GAAG,CAAC,EAAEH,CAAC,CAAA;EACxJ,SAASC,IAAIA,CAACpC,CAAC,EAAE;IAAE,OAAO,UAAUuC,CAAC,EAAE;AAAE,MAAA,OAAOnB,IAAI,CAAC,CAACpB,CAAC,EAAEuC,CAAC,CAAC,CAAC,CAAA;KAAG,CAAA;AAAE,GAAA;EACjE,SAASnB,IAAIA,CAACoB,EAAE,EAAE;AACd,IAAA,IAAIP,CAAC,EAAE,MAAM,IAAI3C,SAAS,CAAC,iCAAiC,CAAC,CAAA;AAC7D,IAAA,OAAO6C,CAAC,KAAKA,CAAC,GAAG,CAAC,EAAEK,EAAE,CAAC,CAAC,CAAC,KAAKZ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAEA,CAAC,EAAE,IAAI;AAC1C,MAAA,IAAIK,CAAC,GAAG,CAAC,EAAEC,CAAC,KAAKrC,CAAC,GAAG2C,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGN,CAAC,CAAC,QAAQ,CAAC,GAAGM,EAAE,CAAC,CAAC,CAAC,GAAGN,CAAC,CAAC,OAAO,CAAC,KAAK,CAACrC,CAAC,GAAGqC,CAAC,CAAC,QAAQ,CAAC,KAAKrC,CAAC,CAACT,IAAI,CAAC8C,CAAC,CAAC,EAAE,CAAC,CAAC,GAAGA,CAAC,CAACb,IAAI,CAAC,IAAI,CAAC,CAACxB,CAAC,GAAGA,CAAC,CAACT,IAAI,CAAC8C,CAAC,EAAEM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEhB,IAAI,EAAE,OAAO3B,CAAC,CAAA;AAC5J,MAAA,IAAIqC,CAAC,GAAG,CAAC,EAAErC,CAAC,EAAE2C,EAAE,GAAG,CAACA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE3C,CAAC,CAACkB,KAAK,CAAC,CAAA;MACvC,QAAQyB,EAAE,CAAC,CAAC,CAAC;AACT,QAAA,KAAK,CAAC,CAAA;AAAE,QAAA,KAAK,CAAC;AAAE3C,UAAAA,CAAC,GAAG2C,EAAE,CAAA;AAAE,UAAA,MAAA;AACxB,QAAA,KAAK,CAAC;UAAEZ,CAAC,CAACC,KAAK,EAAE,CAAA;UAAE,OAAO;AAAEd,YAAAA,KAAK,EAAEyB,EAAE,CAAC,CAAC,CAAC;AAAEhB,YAAAA,IAAI,EAAE,KAAA;WAAO,CAAA;AACvD,QAAA,KAAK,CAAC;UAAEI,CAAC,CAACC,KAAK,EAAE,CAAA;AAAEK,UAAAA,CAAC,GAAGM,EAAE,CAAC,CAAC,CAAC,CAAA;UAAEA,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;AAAE,UAAA,SAAA;AACxC,QAAA,KAAK,CAAC;AAAEA,UAAAA,EAAE,GAAGZ,CAAC,CAACI,GAAG,CAACS,GAAG,EAAE,CAAA;AAAEb,UAAAA,CAAC,CAACG,IAAI,CAACU,GAAG,EAAE,CAAA;AAAE,UAAA,SAAA;AACxC,QAAA;AACI,UAAA,IAAI,EAAE5C,CAAC,GAAG+B,CAAC,CAACG,IAAI,EAAElC,CAAC,GAAGA,CAAC,CAACK,MAAM,GAAG,CAAC,IAAIL,CAAC,CAACA,CAAC,CAACK,MAAM,GAAG,CAAC,CAAC,CAAC,KAAKsC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAIA,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAAEZ,YAAAA,CAAC,GAAG,CAAC,CAAA;AAAE,YAAA,SAAA;AAAU,WAAA;AAC3G,UAAA,IAAIY,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC3C,CAAC,IAAK2C,EAAE,CAAC,CAAC,CAAC,GAAG3C,CAAC,CAAC,CAAC,CAAC,IAAI2C,EAAE,CAAC,CAAC,CAAC,GAAG3C,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE;AAAE+B,YAAAA,CAAC,CAACC,KAAK,GAAGW,EAAE,CAAC,CAAC,CAAC,CAAA;AAAE,YAAA,MAAA;AAAO,WAAA;AACrF,UAAA,IAAIA,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAIZ,CAAC,CAACC,KAAK,GAAGhC,CAAC,CAAC,CAAC,CAAC,EAAE;AAAE+B,YAAAA,CAAC,CAACC,KAAK,GAAGhC,CAAC,CAAC,CAAC,CAAC,CAAA;AAAEA,YAAAA,CAAC,GAAG2C,EAAE,CAAA;AAAE,YAAA,MAAA;AAAO,WAAA;UACpE,IAAI3C,CAAC,IAAI+B,CAAC,CAACC,KAAK,GAAGhC,CAAC,CAAC,CAAC,CAAC,EAAE;AAAE+B,YAAAA,CAAC,CAACC,KAAK,GAAGhC,CAAC,CAAC,CAAC,CAAC,CAAA;AAAE+B,YAAAA,CAAC,CAACI,GAAG,CAACU,IAAI,CAACF,EAAE,CAAC,CAAA;AAAE,YAAA,MAAA;AAAO,WAAA;UAClE,IAAI3C,CAAC,CAAC,CAAC,CAAC,EAAE+B,CAAC,CAACI,GAAG,CAACS,GAAG,EAAE,CAAA;AACrBb,UAAAA,CAAC,CAACG,IAAI,CAACU,GAAG,EAAE,CAAA;AAAE,UAAA,SAAA;AACtB,OAAA;MACAD,EAAE,GAAGb,IAAI,CAACvC,IAAI,CAACsB,OAAO,EAAEkB,CAAC,CAAC,CAAA;KAC7B,CAAC,OAAOvB,CAAC,EAAE;AAAEmC,MAAAA,EAAE,GAAG,CAAC,CAAC,EAAEnC,CAAC,CAAC,CAAA;AAAE6B,MAAAA,CAAC,GAAG,CAAC,CAAA;AAAE,KAAC,SAAS;MAAED,CAAC,GAAGpC,CAAC,GAAG,CAAC,CAAA;AAAE,KAAA;IACzD,IAAI2C,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAMA,EAAE,CAAC,CAAC,CAAC,CAAA;IAAE,OAAO;AAAEzB,MAAAA,KAAK,EAAEyB,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAAEhB,MAAAA,IAAI,EAAE,IAAA;KAAM,CAAA;AACpF,GAAA;AACF,CAAA;AA+DO,SAASmB,aAAaA,CAACC,EAAE,EAAEC,IAAI,EAAEC,IAAI,EAAE;AAC5C,EAAA,IAAIA,IAAI,IAAI7C,SAAS,CAACC,MAAM,KAAK,CAAC,EAAE,KAAK,IAAIH,CAAC,GAAG,CAAC,EAAEgD,CAAC,GAAGF,IAAI,CAAC3C,MAAM,EAAE8C,EAAE,EAAEjD,CAAC,GAAGgD,CAAC,EAAEhD,CAAC,EAAE,EAAE;AACjF,IAAA,IAAIiD,EAAE,IAAI,EAAEjD,CAAC,IAAI8C,IAAI,CAAC,EAAE;AACpB,MAAA,IAAI,CAACG,EAAE,EAAEA,EAAE,GAAGhE,KAAK,CAACE,SAAS,CAAC+D,KAAK,CAAC7D,IAAI,CAACyD,IAAI,EAAE,CAAC,EAAE9C,CAAC,CAAC,CAAA;AACpDiD,MAAAA,EAAE,CAACjD,CAAC,CAAC,GAAG8C,IAAI,CAAC9C,CAAC,CAAC,CAAA;AACnB,KAAA;AACJ,GAAA;AACA,EAAA,OAAO6C,EAAE,CAACM,MAAM,CAACF,EAAE,IAAIhE,KAAK,CAACE,SAAS,CAAC+D,KAAK,CAAC7D,IAAI,CAACyD,IAAI,CAAC,CAAC,CAAA;AAC1D,CAAA;AAiCO,SAASM,oBAAoBA,CAACC,MAAM,EAAEC,GAAG,EAAE;EAChD,IAAIxE,MAAM,CAACyE,cAAc,EAAE;AAAEzE,IAAAA,MAAM,CAACyE,cAAc,CAACF,MAAM,EAAE,KAAK,EAAE;AAAErC,MAAAA,KAAK,EAAEsC,GAAAA;AAAI,KAAC,CAAC,CAAA;AAAE,GAAC,MAAM;IAAED,MAAM,CAACC,GAAG,GAAGA,GAAG,CAAA;AAAE,GAAA;AAC9G,EAAA,OAAOD,MAAM,CAAA;AACf,CAAA;AA6DuB,OAAOG,eAAe,KAAK,UAAU,GAAGA,eAAe,GAAG,UAAUC,KAAK,EAAEC,UAAU,EAAEC,OAAO,EAAE;AACrH,EAAA,IAAIrD,CAAC,GAAG,IAAIsD,KAAK,CAACD,OAAO,CAAC,CAAA;AAC1B,EAAA,OAAOrD,CAAC,CAACuD,IAAI,GAAG,iBAAiB,EAAEvD,CAAC,CAACmD,KAAK,GAAGA,KAAK,EAAEnD,CAAC,CAACoD,UAAU,GAAGA,UAAU,EAAEpD,CAAC,CAAA;AAClF;;ACjUO,IAAMwD,aAAa,GAAG,QAAQ;;ACI/B,SAAUC,WAAWA,GAAA;AACzB;AACA;EACA,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAI,OAAOA,MAAM,CAACC,QAAQ,KAAK,WAAW;AACzE;AACA;IACA,OAAOD,MAAM,CAACC,QAAQ,CAAA;AAExB,EAAA,OAAOA,QAAQ,CAAA;AACjB;;ACbM,SAAgBC,eAAeA,CAACC,GAAW,EAAA;;;MAC/C,IAAIA,GAAG,CAAC5D,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC7B,QAAA,OAAA,CAAA,CAAA,aAAO,IAAIW,OAAO,CAAC,UAACD,OAAO,EAAEE,MAAM,EAAA;AACjC;AACAiD,UAAAA,KAAK,CAACD,GAAG,CAAC,CACPzC,IAAI,CAAC,UAAA2C,QAAQ,EAAA;AACZ,YAAA,IAAI,CAACA,QAAQ,CAACC,EAAE,EAAE;AAChB,cAAA,MAAM,IAAIV,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,aAAA;YACA,OAAOS,QAAQ,CAACE,IAAI,EAAE,CAAA;AACxB,WAAC,CAAC,CACD7C,IAAI,CAAC,UAAA6C,IAAI,EAAA;AACR,YAAA,IAAMC,MAAM,GAAG,IAAIC,UAAU,EAAE,CAAA;YAC/BD,MAAM,CAACE,MAAM,GAAG,YAAA;AACd,cAAA,IAAMC,YAAY,GAAGH,MAAM,CAAChD,MAAM,GAAIgD,MAAM,CAAChD,MAAiB,CAACoD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;cACjF3D,OAAO,CAAC0D,YAAY,CAAC,CAAA;aACtB,CAAA;YACDH,MAAM,CAACK,OAAO,GAAG,YAAA;cACfL,MAAM,CAACM,KAAK,EAAE,CAAA;AACd3D,cAAAA,MAAM,CAAC,IAAIyC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAA;aACrD,CAAA;AACDY,YAAAA,MAAM,CAACO,aAAa,CAACR,IAAI,CAAC,CAAA;AAC5B,WAAC,CAAC,CAAA,OAAA,CACI,CAAC,UAAAd,KAAK,EAAA;YACVtC,MAAM,CAACsC,KAAK,CAAC,CAAA;AACf,WAAC,CAAC,CAAA;AACN,SAAC,CAAC,CAAA,CAAA;AACJ,OAAA;AACA,MAAA,OAAA,CAAA,CAAA,aAAOU,GAAG,CAACa,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAA,CAAA;;;;AAGrD,SAAUC,mBAAmBA,CAACd,GAAW,EAAA;AAC7C,EAAA,OAAOA,GAAG,CAACa,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;AAC5C,CAAA;AAEM,SAAUE,6BAA6BA,CAACf,GAAW,EAAA;;EACvD,OAAO,CAAAgB,EAAA,GAAAC,CAAAA,EAAA,GAAAjB,GAAG,CAACkB,KAAK,CAAC,oBAAoB,CAAC,cAAAD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAG,CAAC,CAAC,cAAAD,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI,EAAE,CAAA;AACnD,CAAA;AAqBM,SAAUG,SAASA,CAACf,IAAU,EAAA;AAClC,EAAA,OAAO,IAAIrD,OAAO,CAAC,UAACD,OAAO,EAAA;AACzB,IAAA,IAAMuD,MAAM,GAAG,IAAIC,UAAU,EAAE,CAAA;IAC/BD,MAAM,CAACe,SAAS,GAAG,YAAA;AAAM,MAAA,OAAAtE,OAAO,CAACuD,MAAM,CAAChD,MAAgB,CAAC,CAAA;KAAA,CAAA;AACzDgD,IAAAA,MAAM,CAACO,aAAa,CAACR,IAAI,CAAC,CAAA;AAC5B,GAAC,CAAC,CAAA;AACJ;;AC1DA,IAAYiB,gBAMX,CAAA;AAND,CAAA,UAAYA,gBAAgB,EAAA;AAC1BA,EAAAA,gBAAA,CAAa,MAAA,CAAA,GAAA,MAAA,CAAA;AACbA,EAAAA,gBAAA,CAAiB,QAAA,CAAA,GAAA,QAAA,CAAA;AACjBA,EAAAA,gBAAA,CAAqB,UAAA,CAAA,GAAA,UAAA,CAAA;AACrBA,EAAAA,gBAAA,CAAqB,UAAA,CAAA,GAAA,UAAA,CAAA;AACrBA,EAAAA,gBAAA,CAAiB,QAAA,CAAA,GAAA,QAAA,CAAA;AACnB,CAAC,EANWA,gBAAgB,KAAhBA,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAA;AAQ5B,IAAYC,gBAKX,CAAA;AALD,CAAA,UAAYA,gBAAgB,EAAA;AAC1BA,EAAAA,gBAAA,CAAe,OAAA,CAAA,GAAA,OAAA,CAAA;AACfA,EAAAA,gBAAA,CAAyB,YAAA,CAAA,GAAA,YAAA,CAAA;AACzBA,EAAAA,gBAAA,CAAuB,WAAA,CAAA,GAAA,WAAA,CAAA;AACvBA,EAAAA,gBAAA,CAAiB,QAAA,CAAA,GAAA,QAAA,CAAA;AACnB,CAAC,EALWA,gBAAgB,KAAhBA,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAA;AASrB,IAAMC,eAAe,GAAG;AAC7BC,EAAAA,IAAI,EAAE,2BAA2B;AACjCC,EAAAA,IAAI,EAAE,+BAAA;AACP,CAAA,CAAA;AA4LK,SAAUC,uBAAuBA,CACrCC,WAAkC,EAClCC,KAAc,EAAA;AAWd,EAAA,IAAMC,IAAI,GAAGN,eAAe,CAACI,WAAW,CAAC,CAAA;AACzC,EAAA,IAAI,CAACE,IAAI,EACP,MAAM,IAAIpC,KAAK,CAAC,qCAAA,CAAAT,MAAA,CAAsC2C,WAAW,CAAE,CAAC,CAAA;AACtE,EAAA,OAAOE,IAAI,CAAA;AACb,CAAA;AAEM,SAAUC,2BAA2BA,CACzCC,MAAwB,EACxBC,KAAc,EACdC,SAAkB,EAAA;AAElB,EAAA,QAAQF,MAAM;IACZ,KAAKV,gBAAgB,CAACa,MAAM;AAC1B,MAAA,OAAOF,KAAK,GAAG,qBAAqB,GAAG,gCAAgC,CAAA;IAEzE,KAAKX,gBAAgB,CAACc,QAAQ;AAC5B,MAAA,OAAO,uBAAuB,CAAA;IAEhC,KAAKd,gBAAgB,CAACe,QAAQ;AAC5B,MAAA,OAAOH,SAAS,GACZ,qCAAqC,GACrC,0BAA0B,CAAA;IAEhC,KAAKZ,gBAAgB,CAACgB,MAAM;AAC1B,MAAA,OAAO,qBAAqB,CAAA;AAE9B,IAAA;MACE,MAAM,IAAI5C,KAAK,CAAC,gCAAA,CAAAT,MAAA,CAAiC+C,MAAM,CAAE,CAAC,CAAA;AAC9D,GAAA;AACF,CAAA;AAEM,SAAUO,iBAAiBA,CAACC,sBAA8B,EAAA;AAA9B,EAAA,IAAAA,sBAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,sBAAA,GAA8B,KAAA,CAAA;AAAA,GAAA;AAC9D,EAAA,OAAOA,sBAAsB,GACzB,4BAA4B,GAC5B,yBAAyB,CAAA;AAC/B,CAAA;AAEM,SAAUC,UAAUA,CACxBC,SAAkB,EAClBC,iCAAyC,EAAA;AAAzC,EAAA,IAAAA,iCAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,iCAAA,GAAyC,KAAA,CAAA;AAAA,GAAA;AAEzC,EAAA,IAAMC,OAAO,GAAgB;AAC3B,IAAA,cAAc,EAAE,kBAAkB;AAClC,IAAA,yBAAyB,EAAED,iCAAiC,GAAG,GAAG,GAAG,GAAG;AACxEE,IAAAA,MAAM,EAAE,GAAA;AACT,GAAA,CAAA;AACD,EAAA,IAAIH,SAAS,EAAE;AACbE,IAAAA,OAAO,CAAC,cAAc,CAAC,GAAGF,SAAS,CAAA;AACrC,GAAA;AACA,EAAA,OAAOE,OAAO,CAAA;AAChB,CAAA;AAEM,SAAUE,uBAAuBA,CACrCC,OAAiD,EACjD7B,EAUC,EAAA;;MATC8B,qBAAqB,GAAA9B,EAAA,CAAA8B,qBAAA;IACrBC,sBAAsB,GAAA/B,EAAA,CAAA+B,sBAAA;IACtBC,qBAAqB,GAAAhC,EAAA,CAAAgC,qBAAA;IACrBC,iBAAiB,GAAAjC,EAAA,CAAAiC,iBAAA,CAAA;AAQnB,EAAA,IAAMC,QAAQ,GAAuB;AACnCC,IAAAA,MAAM,EAAEL,qBAAqB;AAC7BM,IAAAA,KAAK,EAAEL,sBAAsB;AAC7BM,IAAAA,IAAI,EAAEL,qBAAqB;AAC3BM,IAAAA,qBAAqB,EAAE,OAAO;AAC9BC,IAAAA,UAAU,EAAE,SAAA,CAAAxE,MAAA,CAAUW,aAAa,CAAE;AACrC8D,IAAAA,UAAU,EACR,OAAO5D,MAAM,KAAK,WAAW,GACzB,GAAAb,MAAA,CAAGa,MAAM,CAAC6D,UAAU,SAAA1E,MAAA,CAAMa,MAAM,CAAC8D,WAAW,CAAE,GAC9C,SAAA;AACP,GAAA,CAAA;EACD,IAAM7D,QAAQ,GAAGF,WAAW,EAAE,CAAA;AAC9B,EAAA,IAAIE,QAAQ,EAAE;AACZqD,IAAAA,QAAQ,CAACS,EAAE,GAAG,CAAA5C,EAAA,GAAAlB,QAAQ,CAAC8D,EAAE,MAAA5C,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAE6C,MAAM,CAAA;AACjCV,IAAAA,QAAQ,CAACW,SAAS,GAAG,CAAAC,EAAA,GAAAjE,QAAQ,CAAC8D,EAAE,MAAAG,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAEC,OAAO,CAAA;AACzCb,IAAAA,QAAQ,CAACc,cAAc,GAAG,EAAA,CAAAjF,MAAA,CAAGc,QAAQ,CAACJ,IAAI,OAAAV,MAAA,CAAIc,QAAQ,CAACkE,OAAO,CAAE,CAAA;AAClE,GAAA;AACA,EAAA,IAAId,iBAAiB,EAAE;IACrBC,QAAQ,CAACe,WAAW,GAAGC,IAAI,CAACC,SAAS,CAAClB,iBAAiB,CAAC,CAAA;AAC1D,GAAA;EACAJ,OAAO,CAACuB,cAAc,CAAClB,QAAQ,GAAGgB,IAAI,CAACC,SAAS,CAACjB,QAAQ,CAAC,CAAA;AAC5D,CAAA;AAEM,SAAUmB,iBAAiBA,CAACtE,GAAW,EAAA;AAC3C,EAAA,OAAO,IAAIjD,OAAO,CAAC,UAACD,OAAO,EAAA;AACzB,IAAA,IAAMuD,MAAM,GAAG,IAAIC,UAAU,EAAE,CAAA;IAC/BD,MAAM,CAACe,SAAS,GAAG,YAAA;AACjBtE,MAAAA,OAAO,CAACgE,mBAAmB,CAACT,MAAM,CAAChD,MAAgB,CAAC,CAAC,CAAA;KACtD,CAAA;AACD4C,IAAAA,KAAK,CAACD,GAAG,CAAC,CACPzC,IAAI,CAAC,UAACgH,IAAI,EAAA;MAAK,OAAAA,IAAI,CAACnE,IAAI,EAAE,CAAA;AAAX,KAAW,CAAC,CAC3B7C,IAAI,CAAC,UAAC6C,IAAI,EAAA;AAAK,MAAA,OAAAC,MAAM,CAACO,aAAa,CAACR,IAAI,CAAC,CAAA;AAA1B,KAA0B,CAAC,CAAA;AAC/C,GAAC,CAAC,CAAA;AACJ;;AC3TO,IAAMoE,gBAAgB,GAAGC,MAAM,CAACC,GAAG,CAAAC,kBAAA,KAAAA,kBAAA,GAAA1F,oBAAA,CAAA,CAAA,MAAA,EAAA,QAAA,EAAA,sHAAA,CAAA,EAAA,CAExC,MACE,EAaD,QAEC,EACuE,sHAU1E,CAAA,CAAA,CAAA,EA1BG,UAAC2F,KAAK,EAAA;;EACN,OAAAA,KAAK,CAACC,KAAK,CAACC,YAAY,KAAK,KAAK,GAC9B,EAAE,GACF,gIAAA9F,CAAAA,MAAA,CAMoB,CAAAiC,EAAA,GAAA2D,KAAK,CAACG,aAAa,MAAA9D,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,EAAA,GAAI,CAAC,EAIjD,gEAAA,CAAA,CAAA;AAAA,CAAA,EAEC,UAAC2D,KAAK,EAAA;AACN,EAAA,OAAAA,KAAK,CAACC,KAAK,CAACG,UAAU,GAAG,eAAAhG,CAAAA,MAAA,CAAgB4F,KAAK,CAACC,KAAK,CAACG,UAAU,EAAA,GAAA,CAAG,GAAG,EAAE,CAAA;AAAvE,CAAuE,CAU1E,CAAA;AAEM,IAAMC,aAAa,gBAAGC,gBAAU,CACrC,UACEjE,EAaC,EACDkE,GAAuC,EAAA;MAbrCC,QAAQ,GAAAnE,EAAA,CAAAmE,QAAA;IACRC,SAAS,GAAApE,EAAA,CAAAoE,SAAA;IACTrE,EAAA,GAAAC,EAAA,CAAAqE,YAAgB;AAAhBA,IAAAA,YAAY,GAAAtE,EAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,EAAA;IAChBuE,KAAK,GAAAtE,EAAA,CAAAsE,KAAA;IACLC,OAAO,GAAAvE,EAAA,CAAAuE,OAAA,CAAA;AAWH,EAAA,IAAAzB,EAAA,GAAkD0B,cAAQ,CAAC,KAAK,CAAC;AAAhEC,IAAAA,oBAAoB,GAAA3B,EAAA,CAAA,CAAA,CAAA;IAAE4B,uBAAuB,GAAA5B,EAAA,CAAmB,CAAA,CAAA,CAAA;AAEvE6B,EAAAA,eAAS,CAAC,YAAA;AACR,IAAA,IAAI,OAAO/F,MAAM,KAAK,WAAW,EAAE,OAAA;IAEnC8F,uBAAuB,CAAC,KAAK,CAAC,CAAA;AAC9B,IAAA,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAG;AACxB,MAAA,IAAMC,GAAG,GAAGC,QAAQ,CAACC,eAAe,CAAA;AACpCF,MAAAA,GAAG,CAACP,KAAK,CAACU,WAAW,CAAC,aAAa,EAAE,EAAAjH,CAAAA,MAAA,CAAGa,MAAM,CAAC6D,UAAU,OAAI,CAAC,CAAA;AAC9DoC,MAAAA,GAAG,CAACP,KAAK,CAACU,WAAW,CAAC,cAAc,EAAE,EAAAjH,CAAAA,MAAA,CAAGa,MAAM,CAAC8D,WAAW,OAAI,CAAC,CAAA;KACjE,CAAA;AACD9D,IAAAA,MAAM,CAACqG,gBAAgB,CAAC,QAAQ,EAAEL,iBAAiB,CAAC,CAAA;AACpDA,IAAAA,iBAAiB,EAAE,CAAA;IACnBF,uBAAuB,CAAC,IAAI,CAAC,CAAA;IAE7B,OAAO,YAAA;AACL9F,MAAAA,MAAM,CAACsG,mBAAmB,CAAC,QAAQ,EAAEN,iBAAiB,CAAC,CAAA;KACxD,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,oBACEO,KAAA,CAAAC,aAAA,CAAC7B,gBAAgB,EAAA;AACfW,IAAAA,GAAG,EAAEA,GAAG;AACRI,IAAAA,KAAK,EAAEA,KAAK;AACZC,IAAAA,OAAO,EAAEA,OAAO;AAChBH,IAAAA,SAAS,EAAEA,SAAS;IAAA,eACLC,EAAAA,YAAAA;GAEdI,EAAAA,oBAAoB,IAAIN,QAAQ,CAChB,CAAA;AAEvB,CAAC,CACF,CAAA;AAEDH,aAAa,CAACqB,WAAW,GAAG,eAAe,CAAA;;;AC3FpC,IAAMC,gBAAgB,GAAG9B,MAAM,CAACQ,aAAa,CAAC,CAAAN,kBAAA,KAAAA,kBAAA,GAAA1F,oBAAA,4EACrC,EACkD,OAC9D,EAC+D,uBAElE,CAAA,CAAA,CAAA,EALe,UAAC2F,KAAK,EAAA;AAClB,EAAA,OAAAA,KAAK,CAACC,KAAK,CAAC2B,UAAU,GAAG,EAAAxH,CAAAA,MAAA,CAAG4F,KAAK,CAACC,KAAK,CAAC2B,UAAU,CAAE,GAAG,OAAO,CAAA;AAA9D,CAA8D,EAC9D,UAAC5B,KAAK,EAAA;AACN,EAAA,OAAAA,KAAK,CAACC,KAAK,CAAC4B,SAAS,GAAG,SAAAzH,CAAAA,MAAA,CAAU4F,KAAK,CAACC,KAAK,CAAC4B,SAAS,EAAA,GAAA,CAAG,GAAG,EAAE,CAAA;AAA/D,CAA+D,CAElE,CAAA;AAEM,IAAMC,cAAY,GAAGjC,MAAM,CAACC,GAAG,CAAAiC,kBAAA,KAAAA,kBAAA,GAAA1H,oBAAA,+KACtB,EAA4C,6HAMxD,EAGM,IACT,CAAA,CAAA,CAAA,EAVe,UAAC2F,KAAK,EAAA;AAAA,EAAA,IAAA3D,EAAA,CAAA;AAAK,EAAA,OAAA,CAAAA,EAAA,GAAA2D,KAAK,CAACC,KAAK,CAAC+B,SAAS,MAAA,IAAA,IAAA3F,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI,QAAQ,CAAA;AAAA,CAAA,EAMxD,UAAC2D,KAAK,EAAA;AACN,EAAA,OAAAA,KAAK,CAACC,KAAK,CAACgC,OAAO,GACf,mCAAA7H,CAAAA,MAAA,CAAoC4F,KAAK,CAACC,KAAK,CAACgC,OAAO,EAAA,GAAA,CAAG,GAC1D,EAAE,CAAA;AAFN,CAEM,CACT,CAAA;AAEM,IAAMC,qBAAqB,GAAGrC,MAAM,CAACC,GAAG,CAAAqC,kBAAA,KAAAA,kBAAA,GAAA9H,oBAAA,CAmB9C,CAAA,oXAAA,CAAA,EAAA,CAAA,oXAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAM+H,eAAe,GAAGvC,MAAM,CAACC,GAAG,CAAAuC,kBAAA,KAAAA,kBAAA,GAAAhI,oBAAA,CAcxC,CAAA,uNAAA,CAAA,EAAA,CAAA,uNAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;ACxBM,IAAMiI,YAAY,GAAG,SAAfA,YAAYA,CAAIjG,EAST,EAAA;MARlBmE,QAAQ,GAAAnE,EAAA,CAAAmE,QAAA;IACRC,SAAS,GAAApE,EAAA,CAAAoE,SAAA;IACTrE,EAAA,GAAAC,EAAA,CAAAkG,MAAW;AAAXA,IAAAA,MAAM,GAAAnG,EAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,EAAA;IACXoG,QAAQ,GAAAnG,EAAA,CAAAmG,QAAA;IACRC,QAAQ,GAAApG,EAAA,CAAAoG,QAAA;IACR7B,OAAO,GAAAvE,EAAA,CAAAuE,OAAA;IACPD,KAAK,GAAAtE,EAAA,CAAAsE,KAAA;IACLxB,EAAA,GAAA9C,EAAA,CAAAqG,OAAmB;AAAnBA,IAAAA,OAAO,GAAAvD,EAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,EAAA,CAAA;AAEnB,EAAA,IAAMwD,SAAS,GAAGC,YAAM,CAA2B,IAAI,CAAC,CAAA;AACxD,EAAA,IAAMC,QAAQ,GAAGD,YAAM,CAAqB,IAAI,CAAC,CAAA;AAC3C,EAAA,IAAAE,EAAA,GAAgCjC,cAAQ,CAAC,KAAK,CAAC;AAA9CkC,IAAAA,WAAW,GAAAD,EAAA,CAAA,CAAA,CAAA;IAAEE,cAAc,GAAAF,EAAA,CAAmB,CAAA,CAAA,CAAA;AAErD9B,EAAAA,eAAS,CAAC,YAAA;IACR,IAAI+B,WAAW,IAAIN,QAAQ,EAAE,OAAA;AAE7B,IAAA,IAAIQ,QAAwB,CAAA;AAE5B,IAAA,OAAO,OAAO,CAAC,CAACtK,IAAI,CAAC,UAACuK,KAAK,EAAA;AACzB,MAAA,IAAI,CAACP,SAAS,CAACQ,OAAO,EAAE,OAAA;MACxBN,QAAQ,CAACM,OAAO,GAAGD,KAAK,CAACtM,MAAM,CAAC+L,SAAS,CAACQ,OAAO,CAAC,CAAA;AAClDN,MAAAA,QAAQ,CAACM,OAAO,CAACC,KAAK,EAAE,CAAA;MACxBJ,cAAc,CAAC,IAAI,CAAC,CAAA;MAEpB,IAAIK,eAAe,GAAG,CAAC,CAAA;MACvBJ,QAAQ,GAAGK,WAAW,CAAC,YAAA;;AACrB,QAAA,IAAID,eAAe,GAAG,GAAG,EAAEA,eAAe,IAAI,GAAG,CAAA;AACjD,QAAA,CAAAhH,EAAA,GAAAwG,QAAQ,CAACM,OAAO,MAAA,IAAA,IAAA9G,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEkH,WAAW,CAACF,eAAe,CAAC,CAAA;OAC/C,EAAE,GAAG,CAAC,CAAA;AACT,KAAC,CAAC,CAAA;IAEF,OAAO,YAAA;;MACL,CAAAhH,EAAA,GAAAwG,QAAQ,CAACM,OAAO,MAAA9G,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAEmH,MAAM,EAAE,CAAA;MAC1BC,aAAa,CAACR,QAAQ,CAAC,CAAA;KACxB,CAAA;AACH,GAAC,EAAE,CAACR,QAAQ,EAAEM,WAAW,CAAC,CAAC,CAAA;AAE3B/B,EAAAA,eAAS,CAAC,YAAA;;AACR,IAAA,IAAI+B,WAAW,IAAIN,QAAQ,EAAE,CAAApG,EAAA,GAAAwG,QAAQ,CAACM,OAAO,cAAA9G,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEqH,IAAI,EAAE,CAAA;AACvD,GAAC,EAAE,CAACjB,QAAQ,EAAEM,WAAW,CAAC,CAAC,CAAA;AAE3B,EAAA,oBACEvB,KAAA,CAAAC,aAAA,CAACkC,YAAY,EAAA;AACXlD,IAAAA,SAAS,EAAE,eAAA,CAAArG,MAAA,CAAgBqG,SAAS,EAAA,GAAA,CAAA,CAAArG,MAAA,CAAIoI,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAE;AAAA,IAAA,YAAA,EACzD,cAAc;AACzBA,IAAAA,QAAQ,EAAEA,QAAQ;AAClBjC,IAAAA,GAAG,EAAEoC,SAAS;AACd/B,IAAAA,OAAO,EAAEA,OAAO;IAAA,kBACE2B,EAAAA,MAAM,CAACqB,eAAe;IAAA,YAC5BrB,EAAAA,MAAM,CAACV,SAAS;IAAA,0BACFU,EAAAA,MAAM,CAACsB,sBAAsB;IAAA,oBACnCtB,EAAAA,MAAM,CAACuB,gBAAgB;AAAA,IAAA,UAAA,EACjCpB,OAAO;AACjB/B,IAAAA,KAAK,EAAEA,KAAAA;GAEPa,eAAAA,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMhB,IAAAA,SAAS,EAAC,aAAA;GAAeD,EAAAA,QAAQ,CAAQ,CAClC,CAAA;AAEnB,CAAC,CAAA;AAED,IAAMmD,YAAY,GAAG9D,MAAM,CAACkE,MAAM,CAAAhE,kBAAA,KAAAA,kBAAA,GAAA1F,oBAAA,CAMhC,CAAA,MAAA,EAAA,i6OAAA,CAAA,EAAA,CAAA,MACE,EAsHD,i6OAgTF,CAAA,CAAA,CAAA,EAtaG,UAAC2F,KAAK,EAAA;;EACN,OAAA3D,CAAAA,CAAAA,EAAA,GAAA2D,KAAK,CAACC,KAAK,CAAC+D,OAAO,MAAA,IAAA,IAAA3H,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEsE,KAAK,MAAK,WAAW,IAC1C,skFAAA,CAAAvG,MAAA,CAmFE,CAAA6J,EAAA,GAAA7H,CAAAA,EAAA,GAAA4D,KAAK,CAACkE,UAAU,cAAA9H,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAChB,CAAA+H,EAAA,IAAAhF,EAAA,GAAAa,KAAK,CAACC,KAAK,CAAC+D,OAAO,MAAA7E,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAG,CAAA2D,EAAA,GAAA9C,KAAK,CAACoE,QAAQ,MAAA,IAAA,IAAAtB,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI,SAAS,CAAC,MAAA,IAAA,IAAAqB,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEtC,SAAS,MAAAoC,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,EAAA,GAC7D,MAAM,EAAA,sBAAA,CAAA,CAAA7J,MAAA,CAGN,CAAAiK,EAAA,GAAAC,CAAAA,EAAA,GAAAtE,KAAK,CAACuE,gBAAgB,MAAAD,IAAAA,IAAAA,EAAA,cAAAA,EAAA,GACtB,CAAAE,EAAA,GAAAC,CAAAA,EAAA,GAAAzE,KAAK,CAACC,KAAK,CAAC+D,OAAO,MAAAS,IAAAA,IAAAA,EAAA,uBAAAA,EAAA,CAAG,CAAAC,EAAA,GAAA1E,KAAK,CAACoE,QAAQ,MAAAM,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,EAAA,GAAI,SAAS,CAAC,MAAAF,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAEZ,eAAe,cAAAS,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GACnE,SAAS,EAAA,iTAAA,CAAA,CAAAjK,MAAA,CAST,CAAAuK,EAAA,GAAA,CAAAC,EAAA,GAAA5E,KAAK,CAAC6E,kBAAkB,MAAA,IAAA,IAAAD,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GACxB,CAAAE,EAAA,GAAA,CAAAC,EAAA,GAAA/E,KAAK,CAACC,KAAK,CAAC+D,OAAO,MAAA,IAAA,IAAAe,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEC,OAAO,MAAAF,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAEjD,SAAS,MAAA8C,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,EAAA,GACvC,MAAM,EAAAvK,+BAAAA,CAAAA,CAAAA,MAAA,CAGN,CAAA6K,EAAA,GAAAC,CAAAA,EAAA,GAAAlF,KAAK,CAACmF,wBAAwB,MAAA,IAAA,IAAAD,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAC9B,CAAAE,EAAA,GAAA,CAAAC,EAAA,GAAArF,KAAK,CAACC,KAAK,CAAC+D,OAAO,MAAA,IAAA,IAAAqB,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEL,OAAO,MAAAI,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAExB,eAAe,MAAAqB,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,EAAA,GAC7C,MAAM,EAAA7K,yCAAAA,CAAAA,CAAAA,MAAA,CAGN,CAAAkL,EAAA,GAAAtF,KAAK,CAACmF,wBAAwB,MAAAG,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,EAAA,GAAI,SAAS,EAO9C,0IAAA,CAAA,CAAA;CAAA,CAgTF,CAAA;;;AC/fM,IAAMC,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAIlJ,EAET,EAAA;MADpCmJ,qBAAqB,GAAAnJ,EAAA,CAAAmJ,qBAAA,CAAA;AAEb,EAAA,IAAAzO,CAAC,GAAK0O,2BAAc,EAAE,CAAA1O,CAArB,CAAA;AACD,EAAA,IAAA2O,mBAAmB,GAAKC,gBAAU,CAACC,iBAAiB,CAAC,CAAAF,mBAAlC,CAAA;EAE3B,oBACElE,KAAA,CAAAC,aAAA,CAACE,gBAAgB,EACfH,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,KAAK,EAAE;AAAEkF,MAAAA,OAAO,EAAE,MAAM;AAAEC,MAAAA,MAAM,EAAE,MAAA;AAAM,KAAA;AAAE,GAAA,eAC7CtE,KAAA,CAAAC,aAAA,CAACK,cAAY,EAAA;AAACnB,IAAAA,KAAK,EAAE;AAAEoF,MAAAA,QAAQ,EAAE,GAAG;AAAED,MAAAA,MAAM,EAAE,MAAM;AAAEE,MAAAA,MAAM,EAAE,MAAA;AAAM,KAAA;AAAE,GAAA,eACpExE,KAAA,CAAAC,aAAA,CAACS,qBAAqB,EAAA;AAACvB,IAAAA,KAAK,EAAE;AAAEsF,MAAAA,QAAQ,EAAE,CAAA;AAAC,KAAA;GACzCzE,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKyE,IAAAA,GAAG,EAAEV,qBAAqB;AAAEW,IAAAA,GAAG,EAAE,EAAA;AAAE,GAAA,CAAI,CACtB,eAExB3E,KAAA,CAAAC,aAAA,CAAK1K,IAAAA,EAAAA,IAAAA,EAAAA,CAAC,CAAC,kCAAkC,CAAC,CAAM,eAChDyK,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAEyF,MAAAA,UAAU,EAAE,GAAG;AAAEC,MAAAA,YAAY,EAAE,EAAA;AAAE,KAAA;AAAE,GAAA,EAC5CtP,CAAC,CACA,iEAAiE,GAC/D,6DAA6D,GAC7D,mFAAmF,GACnF,qDAAqD,CACxD,CACC,eAEJyK,KAAA,CAAAC,aAAA,CAACa,YAAY,EAAA;AACXI,IAAAA,OAAO,EAAC,SAAS;AACjB9B,IAAAA,OAAO,EAAE8E,mBAAmB;AAC5B/E,IAAAA,KAAK,EAAE;AAAE2F,MAAAA,KAAK,EAAE,GAAG;AAAEC,MAAAA,UAAU,EAAE,MAAM;AAAEC,MAAAA,WAAW,EAAE,MAAA;KAAQ;IAC9D/D,QAAQ,EAAA,IAAA;AAAA,GAAA,EAEP1L,CAAC,CAAC,OAAO,CAAC,CACE,CACF,CACX,CACW,CAAA;AAEvB,CAAC;;AChDD,IAAA0P,eAAA,0BAAAC,MAAA,EAAA;EAAqCnQ,SAAA,CAAAkQ,eAAA,EAAAC,MAAA,CAAA,CAAA;AACnC,EAAA,SAAAD,gBAAmBE,MAAgC,EAAA;IACjD,IAAAC,KAAA,GAAAF,MAAK,CAAApQ,IAAA,CAACqQ,IAAAA,EAAAA,MAAM,CAACE,aAAa,CAAC,IAAA,IAAA,CAAA;IADVD,KAAA,CAAAD,MAAM,GAANA,MAAM,CAAA;;AAEzB,GAAA;AACF,EAAA,OAAAF,eAAC,CAAA;AAAD,CAAC,CAJoC5L,KAAK,CAAA,CAAA;AAM1C,IAAAiM,YAAA,0BAAAJ,MAAA,EAAA;EAAkCnQ,SAAA,CAAAuQ,YAAA,EAAAJ,MAAA,CAAA,CAAA;AAAlC,EAAA,SAAAI,YAAA,GAAA;;AAAyC,GAAA;AAAA,EAAA,OAAAA,YAAC,CAAA;AAAD,CAAC,CAARjM,KAAK,CAAA,CAAA;AAEvC,IAAAkM,4BAAA,0BAAAL,MAAA,EAAA;EAAkDnQ,SAAA,CAAAwQ,4BAAA,EAAAL,MAAA,CAAA,CAAA;EAChD,SAAAK,4BAAAA,CACSC,GAAU,EACV/J,IAAY,EAAA;IAEnB,IAAA2J,KAAA,GAAAF,MAAK,CAAApQ,IAAA,CAAC0Q,IAAAA,EAAAA,GAAG,CAACpM,OAAO,CAAC,IAAA,IAAA,CAAA;IAHXgM,KAAA,CAAAI,GAAG,GAAHA,GAAG,CAAA;IACHJ,KAAA,CAAA3J,IAAI,GAAJA,IAAI,CAAA;;AAGb,GAAA;AACF,EAAA,OAAA8J,4BAAC,CAAA;AAAD,CAAC,CAPiDlM,KAAK,CAAA;;ACChD,IAAMoM,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAI5K,EAGT,EAAA;MAF5B3B,KAAK,GAAA2B,EAAA,CAAA3B,KAAA;IACLwM,OAAO,GAAA7K,EAAA,CAAA6K,OAAA,CAAA;EAEP,oBACE1F,KAAA,CAAAC,aAAA,CAACE,gBAAgB,qBACfH,KAAA,CAAAC,aAAA,CAACK,cAAY,EAAA;AAACnB,IAAAA,KAAK,EAAE;AAAEwG,MAAAA,cAAc,EAAE,QAAA;AAAQ,KAAA;GAC5CzM,EAAAA,KAAK,YAAYoM,YAAY,kBAC5BtF,KAAA,CAAAC,aAAA,CAAC2F,mBAAmB,EAAA;AAAC1M,IAAAA,KAAK,EAAEA,KAAK;AAAEwM,IAAAA,OAAO,EAAEA,OAAAA;AAAO,GAAA,CAAI,mBAEvD1F,KAAA,CAAAC,aAAA,CAAC4F,sBAAsB,EAAA;AAAC3M,IAAAA,KAAK,EAAEA,KAAAA;GAAS,CAAA,CACzC,CACY,CACE,CAAA;AAEvB,CAAC,CAAA;AAED,IAAM2M,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIhL,EAAqC,EAAA;MAAnC3B,KAAK,GAAA2B,EAAA,CAAA3B,KAAA,CAAA;AAC7B,EAAA,IAAA3D,CAAC,GAAK0O,2BAAc,EAAE,CAAA1O,CAArB,CAAA;AAET,EAAA,IAAMuQ,WAAW,GAAGvQ,CAAC,CAAC,gDAAgD,CAAC,CAAA;EAEvE,oBACEyK,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAA+F,QAAA,EAAA,IAAA,eACE/F,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAId,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;GAAKiB,EAAAA,WAAW,CAAM,EACjD5M,KAAK,CAACiM,MAAM,CAACa,UAAU,mBACtBhG,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;AAAE,GAAA,eAC3B7E,KAAA,CAAAC,aAAA,2BAAe/G,KAAK,CAACiM,MAAM,CAACa,UAAU,CAAQ,CAC5C,CACL,eACDhG,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;AAAE,GAAA,4BAClB7E,KAAA,CAAAC,aAAA,CAAO/G,MAAAA,EAAAA,IAAAA,EAAAA,KAAK,CAACE,OAAO,CAAQ,CACnC,EACHF,KAAK,CAACiM,MAAM,CAACc,SAAS,mBACrBjG,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;AAAE,GAAA,UACrB7E,eAAAA,KAAA,CAAAC,aAAA,CAAO/G,MAAAA,EAAAA,IAAAA,EAAAA,KAAK,CAACiM,MAAM,CAACc,SAAS,CAAQ,CACzC,CACL,CACA,CAAA;AAEP,CAAC,CAAA;AAED,IAAML,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAI/K,EAK5B,EAAA;MAJC6K,OAAO,GAAA7K,EAAA,CAAA6K,OAAA,CAAA;AAKC,EAAA,IAAAnQ,CAAC,GAAK0O,2BAAc,EAAE,CAAA1O,CAArB,CAAA;AACT,EAAA,IAAMuQ,WAAW,GAAGvQ,CAAC,CAAC,qBAAqB,CAAC,CAAA;AAC5C,EAAA,IAAM2Q,WAAW,GAAG3Q,CAAC,CACnB,yFAAyF,CAC1F,CAAA;AACD,EAAA,IAAM4Q,SAAS,GAAG5Q,CAAC,CAAC,OAAO,CAAC,CAAA;EAE5B,oBACEyK,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAA+F,QAAA,EAAA,IAAA,eACE/F,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAId,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;AAAE,GAAA,EAAGiB,WAAW,CAAM,eAClD9F,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;AAAE,GAAA,EAAGqB,WAAW,CAAK,EAE/CR,OAAO,mBACN1F,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,KAAK,EAAE;AAAEiH,MAAAA,SAAS,EAAE,EAAA;AAAE,KAAA;AAAE,GAAA,eAC3BpG,KAAA,CAAAC,aAAA,CAACa,YAAY,EAAA;AAACI,IAAAA,OAAO,EAAC,SAAS;IAACD,QAAQ,EAAA,IAAA;AAAC7B,IAAAA,OAAO,EAAEsG,OAAAA;AAAO,GAAA,EACtDS,SAAS,CACG,CACX,CACP,CACA,CAAA;AAEP,CAAC;;AC7EM,IAAME,uBAAuB,GAAG,SAA1BA,uBAAuBA,GAAG;EACrC,oBACErG,KAAA,CAAAC,aAAA,CAACE,gBAAgB,qBACfH,KAAA,CAAAC,aAAA,CAACK,cAAY,EAAA;AAACnB,IAAAA,KAAK,EAAE;AAAEwG,MAAAA,cAAc,EAAE,QAAA;AAAQ,KAAA;GAC7C3F,eAAAA,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAId,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;GAAwC,EAAA,iCAAA,CAAA,eACpE7E,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;wCACP7E,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAA,WAAA,CAAsB,gBACtC,CAAA,eACJD,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAEyF,MAAAA,UAAU,EAAE,QAAA;AAAQ,KAAA;AAAE,GAAA,uBACZ,EAAA,GAAG,eACvB5E,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEqG,IAAAA,IAAI,EAAC,iEAAiE;AACtEC,IAAAA,MAAM,EAAC,QAAQ;AACfC,IAAAA,GAAG,EAAC,YAAA;AAAY,GAAA,EAAA,iBAAA,CAGd,EAAC,GAAG,8OAKN,CACS,CACE,CAAA;AAEvB,CAAC;;ACzBM,IAAMC,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAI5L,EAI9C,EAAA;MAHCzB,OAAO,GAAAyB,EAAA,CAAAzB,OAAA,CAAA;EAIP,oBACE4G,KAAA,CAAAC,aAAA,CAACE,gBAAgB,qBACfH,KAAA,CAAAC,aAAA,CAACK,cAAY,EAAA;AAACnB,IAAAA,KAAK,EAAE;AAAEwG,MAAAA,cAAc,EAAE,QAAA;AAAQ,KAAA;GAC7C3F,eAAAA,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAId,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;GAAwC,EAAA,iCAAA,CAAA,eACpE7E,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;AAAE,GAAA,qCACT7E,KAAA,CAAAC,aAAA,CAAsB,MAAA,EAAA,IAAA,EAAA,WAAA,CAAA,mBACvC7G,OAAO,IAAI,KAAAR,MAAA,CAAKQ,OAAO,EAAG,GAAA,CAAA,MACzB,eAEJ4G,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAEyF,MAAAA,UAAU,EAAE,QAAA;AAAQ,KAAA;AAAE,GAAA,uBACZ,EAAA,GAAG,eACvB5E,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEqG,IAAAA,IAAI,EAAC,iEAAiE;AACtEC,IAAAA,MAAM,EAAC,QAAQ;AACfC,IAAAA,GAAG,EAAC,YAAA;AAAY,GAAA,EAAA,iBAAA,CAGd,EAAC,GAAG,8OAKN,CACS,CACE,CAAA;AAEvB,CAAC;;AC/BM,IAAME,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAG;EACtC,oBACE1G,KAAA,CAAAC,aAAA,CAACE,gBAAgB,qBACfH,KAAA,CAAAC,aAAA,CAACK,cAAY,EAAA;AAACnB,IAAAA,KAAK,EAAE;AAAEwG,MAAAA,cAAc,EAAE,QAAA;AAAQ,KAAA;GAC7C3F,eAAAA,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAId,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;GAAwC,EAAA,iCAAA,CAAA,eACpE7E,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;wCACP7E,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAA,SAAA,CAAoB,uCAEpC,CAAA,eACJD,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAC;AAAED,MAAAA,UAAU,EAAE,QAAA;AAAQ,KAAA;GAG7C,EAAA,qFAAA,CAAA,eACJ5E,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAEyF,MAAAA,UAAU,EAAE,QAAA;AAAQ,KAAA;AAAE,GAAA,uBACZ,EAAA,GAAG,eACvB5E,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEqG,IAAAA,IAAI,EAAC,iEAAiE;AACtEC,IAAAA,MAAM,EAAC,QAAQ;AACfC,IAAAA,GAAG,EAAC,YAAA;AAAY,GAAA,EAAA,iBAAA,CAGd,EAAC,GAAG,8OAKN,CACS,CACE,CAAA;AAEvB,CAAC;;AC3BM,IAAMG,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAI9L,EAM7C,EAAA;MALC3B,KAAK,GAAA2B,EAAA,CAAA3B,KAAA;IACLwM,OAAO,GAAA7K,EAAA,CAAA6K,OAAA,CAAA;AAKC,EAAA,IAAAnQ,CAAC,GAAK0O,2BAAc,EAAE,CAAA1O,CAArB,CAAA;AACT,EAAA,IAAM4Q,SAAS,GAAG5Q,CAAC,CAAC,OAAO,CAAC,CAAA;EAE5B,oBACEyK,KAAA,CAAAC,aAAA,CAACE,gBAAgB,qBACfH,KAAA,CAAAC,aAAA,CAACK,cAAY,EAAA;AAACnB,IAAAA,KAAK,EAAE;AAAEwG,MAAAA,cAAc,EAAE,QAAA;AAAQ,KAAA;GAC7C3F,eAAAA,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAId,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;GAAwC,EAAA,iCAAA,CAAA,eACpE7E,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAA;AAAC,KAAA;GACxB,EAAA,CAAA3L,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEuC,IAAI,mBACVuE,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAA+F,QAAA,EAAA,IAAA,oBACkB/F,eAAAA,KAAA,CAAAC,aAAA,CAAO/G,MAAAA,EAAAA,IAAAA,EAAAA,KAAK,CAACuC,IAAI,CAAQ,KACxC,CAAA,mBAEHuE,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAA+F,QAAA,4CACqB/F,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAA,WAAA,CAAsB,MACxC,CACJ,CACC,EACH,CAAA/G,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEE,OAAO,oBACb4G,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAC;AAAED,MAAAA,UAAU,EAAE,QAAA;AAAQ,KAAA;AAAE,GAAA,eACjD5E,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAO/G,KAAK,CAACE,OAAO,CAAQ,CAC1B,CACL,eACD4G,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGd,IAAAA,KAAK,EAAE;AAAE0F,MAAAA,YAAY,EAAE,CAAC;AAAED,MAAAA,UAAU,EAAE,QAAA;AAAQ,KAAA;AAAE,GAAA,mIAEiB,EAAA,GAAG,eACrE5E,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGqG,IAAAA,IAAI,EAAC,8BAAA;AAA8B,GAAA,EAAA,uBAAA,CAA0B,KAC9D,CAAA,EAEHZ,OAAO,mBACN1F,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,KAAK,EAAE;AAAEiH,MAAAA,SAAS,EAAE,EAAA;AAAE,KAAA;AAAE,GAAA,eAC3BpG,KAAA,CAAAC,aAAA,CAACa,YAAY,EAAA;AAACI,IAAAA,OAAO,EAAC,SAAS;IAACD,QAAQ,EAAA,IAAA;AAAC7B,IAAAA,OAAO,EAAEsG,OAAAA;AAAO,GAAA,EACtDS,SAAS,CACG,CACX,CACP,CACY,CACE,CAAA;AAEvB,CAAC;;AClDM,IAAMS,OAAO,GAAGvI,MAAM,CAACC,GAAG,CAAAC,kBAAA,KAAAA,kBAAA,GAAA1F,oBAAA,CAAA,CAAA,uCAAA,EAAA,iBAAA,EAAA,0FAAA,EAAA,mBAAA,EAAA,8DAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,mPAAA,CAAA,EAAA,CAI/B,uCAES,EAA0B,iBACzB,EAA0B,0FAMzB,EAAiC,mBAChC,EAAiC,8DAGjC,EAAmC,kBACzC,EAAgC,uBACpB,EAAgC,sBAC5C,EAAgC,mPAavC,CAAA,CAAA,CAAA,EA3BU,UAACgC,EAAS,EAAA;MAAPgM,KAAK,GAAAhM,EAAA,CAAAgM,KAAA,CAAA;AAAO,EAAA,OAAAA,KAAK,KAALA,IAAAA,IAAAA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAK,GAAI,EAAE,CAAA;AAAX,CAAW,EACzB,UAAChM,EAAS,EAAA;MAAPgM,KAAK,GAAAhM,EAAA,CAAAgM,KAAA,CAAA;AAAO,EAAA,OAAAA,KAAK,KAALA,IAAAA,IAAAA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAK,GAAI,EAAE,CAAA;AAAX,CAAW,EAMzB,UAAChM,EAAS,EAAA;MAAPgM,KAAK,GAAAhM,EAAA,CAAAgM,KAAA,CAAA;EAAO,OAACA,CAAAA,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAALA,KAAK,GAAI,EAAE,IAAI,EAAE,CAAA;AAAlB,CAAkB,EAChC,UAAChM,EAAS,EAAA;MAAPgM,KAAK,GAAAhM,EAAA,CAAAgM,KAAA,CAAA;EAAO,OAACA,CAAAA,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAALA,KAAK,GAAI,EAAE,IAAI,EAAE,CAAA;AAAlB,CAAkB,EAGjC,UAAChM,EAAc,EAAA;MAAZiM,UAAU,GAAAjM,EAAA,CAAAiM,UAAA,CAAA;AAAO,EAAA,OAAAA,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAI,CAAC,CAAA;AAAf,CAAe,EACzC,UAACjM,EAAU,EAAA;MAARkM,MAAM,GAAAlM,EAAA,CAAAkM,MAAA,CAAA;AAAO,EAAA,OAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,MAAM,GAAI,MAAM,CAAA;AAAhB,CAAgB,EACpB,UAAClM,EAAU,EAAA;MAARkM,MAAM,GAAAlM,EAAA,CAAAkM,MAAA,CAAA;AAAO,EAAA,OAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,MAAM,GAAI,MAAM,CAAA;AAAhB,CAAgB,EAC5C,UAAClM,EAAU,EAAA;MAARkM,MAAM,GAAAlM,EAAA,CAAAkM,MAAA,CAAA;AAAO,EAAA,OAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,MAAM,GAAI,MAAM,CAAA;AAAhB,CAAgB,CAavC,CAAA;;;ACnBUC,sBAAc,GAAG,mCAAkC;AACjDC,IAAAA,eAAe,GAAG,CAC7B,kCAAkC,EAClC,sCAAsC,EACtC,uCAAuC,EACvC,sCAAsC,EACtC,wBAAwB,EACzB;AAEK,SAAUC,iBAAiBA,CAACtN,GAAW,EAAA;AAC3C,EAAA,IAAI,CAACqN,eAAe,CAACE,QAAQ,CAACvN,GAAG,CAAC,EAAE,MAAM,IAAIP,KAAK,CAAC,kBAAkB,CAAC,CAAA;AACvE2N,EAAAA,sBAAc,GAAGpN,GAAG,CAAA;AACtB,CAAA;AAkBA,IAAMwN,cAAY,GAAG;AACnBC,EAAAA,OAAO,EAAEL,sBAAc;AACvBM,EAAAA,iBAAiB,EAAE,OAAA;AACA,CAAA,CAAA;AAEd,IAAMC,gBAAgB,gBAAGC,mBAAa,CAAYJ,cAAY,CAAC,CAAA;AAgB/D,IAAMK,mBAAmB,gBAAGD,mBAAa,CAAe,YAAA,EAAQ,CAAC,CAAA;AAExE,IAAME,SAAO,GAAG,SAAVA,OAAOA,CAAIC,KAAgB,EAAEhM,MAAkB,EAAA;EACnD,QAAQA,MAAM,CAACiM,IAAI;AACjB,IAAA,KAAK,cAAc;AACjB,MAAA,OAAAvS,OAAA,CAAAA,OAAA,CAAA,EAAA,EAAYsS,KAAK,CAAA,EAAA;QAAEtL,SAAS,EAAEV,MAAM,CAACkM,OAAAA;AAAO,OAAA,CAAA,CAAA;AAE9C,IAAA,KAAK,eAAe;AAClB,MAAA,OAAAxS,OAAA,CAAAA,OAAA,CAAA,EAAA,EAAYsS,KAAK,CAAA,EAAA;QAAEL,iBAAiB,EAAE3L,MAAM,CAACkM,OAAAA;AAAO,OAAA,CAAA,CAAA;AAEtD,IAAA,KAAK,UAAU;AACb,MAAA,OAAAxS,OAAA,CAAAA,OAAA,CAAA,EAAA,EAAYsS,KAAK,CAAA,EAAA;AAAEL,QAAAA,iBAAiB,EAAE,OAAO;QAAEQ,SAAS,EAAEnM,MAAM,CAACkM,OAAAA;AAAO,OAAA,CAAA,CAAA;AAE1E,IAAA,KAAK,OAAO;AACV,MAAA,OAAAxS,OAAA,CAAAA,OAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA;AACRL,QAAAA,iBAAiB,EAAE,OAAO;AAC1BQ,QAAAA,SAAS,EAAEC,SAAS;AACpB1L,QAAAA,SAAS,EAAE0L,SAAAA;AAAS,OAAA,CAAA,CAAA;AAGxB,IAAA;AACE,MAAA,OAAOJ,KAAK,CAAA;AAChB,GAAA;AACF,CAAC,CAAA;AAEK,SAAUK,cAAcA,CAC5BX,OAAwB,EACxBhL,SAA4C,EAAA;AAF9C,EAAA,IAAA+I,KAAA,GAAA,IAAA,CAAA;AACE,EAAA,IAAAiC,OAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,OAAA,GAAAL,sBAAwB,CAAA;AAAA,GAAA;EAGlB,IAAAnM,EAAA,GAAoBoN,gBAAU,CAACP,SAAO,EAAArS,OAAA,CAAAA,OAAA,CAAA,EAAA,EAAO+R,cAAY,CAAA,EAAA;AAAEC,MAAAA,OAAO,EAAAA,OAAAA;KAAG,CAAA,CAAA;AAApEM,IAAAA,KAAK,GAAA9M,EAAA,CAAA,CAAA,CAAA;IAAEqN,QAAQ,GAAArN,EAAA,CAAqD,CAAA,CAAA,CAAA;AACnE,EAAA,IAAWsN,iBAAiB,GAAwBR,KAAK,CAAAtL,SAA7B;IAAEiL,iBAAiB,GAAKK,KAAK,CAAAL,iBAAV,CAAA;AAEvD9H,EAAAA,eAAS,CAAC,YAAA;IACR,IAAI,CAACyH,eAAe,CAACE,QAAQ,CAACE,OAAO,CAAC,EACpC,OAAOa,QAAQ,CAAC;AACdN,MAAAA,IAAI,EAAE,eAAe;AACrBC,MAAAA,OAAO,EAAE,sBAAA;KACV,CAAC,CAAA;AACN,GAAC,EAAE,CAACR,OAAO,CAAC,CAAC,CAAA;AAEb7H,EAAAA,eAAS,CAAC,YAAA;IACR,IAAI8H,iBAAiB,KAAK,OAAO,EAAE,OAAA;IAEnC,IAAI,CAACa,iBAAiB,EAAE;AACtB,MAAA,IAAI,CAAC9L,SAAS,EACZ,OAAO6L,QAAQ,CAAC;AAAEN,QAAAA,IAAI,EAAE,eAAe;AAAEC,QAAAA,OAAO,EAAE,SAAA;AAAS,OAAE,CAAC,CAAA;AAEhE,MAAA,IAAI,OAAOxL,SAAS,KAAK,QAAQ,EAC/B,OAAO6L,QAAQ,CAAC;AAAEN,QAAAA,IAAI,EAAE,cAAc;AAAEC,QAAAA,OAAO,EAAExL,SAAAA;AAAS,OAAE,CAAC,CAAA;MAE/D,IAAIA,SAAS,YAAY+L,QAAQ,EAAE;AACjC/L,QAAAA,SAAS,EAAE,CACRlF,IAAI,CAAC,UAACkF,SAAS,EAAA;AACd6L,UAAAA,QAAQ,CAAC;AAAEN,YAAAA,IAAI,EAAE,cAAc;AAAEC,YAAAA,OAAO,EAAExL,SAAAA;AAAS,WAAE,CAAC,CAAA;AACxD,SAAC,CAAC,CAAA,OAAA,CACI,CAAC,UAACtG,CAAC,EAAA;AACPmS,UAAAA,QAAQ,CAAC;AACPN,YAAAA,IAAI,EAAE,UAAU;AAChBC,YAAAA,OAAO,EAAE,IAAItC,4BAA4B,CAACxP,CAAC,EAAEsR,OAAO,CAAA;WACrD,CAAC,CAAA;AACJ,SAAC,CAAC,CAAA;AACN,OAAA;AACF,KAAC,MAAM;AACLa,MAAAA,QAAQ,CAAC;AAAEN,QAAAA,IAAI,EAAE,eAAe;AAAEC,QAAAA,OAAO,EAAE,SAAA;AAAS,OAAE,CAAC,CAAA;MACtD,CAAC,YAAA;QAAA,OAAA1R,SAAA,CAAAiP,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;;;AAEe,gBAAA,OAAA,CAAA,CAAA,YAAMvL,KAAK,CACtB,EAAA,CAAAjB,MAAA,CAAGyO,OAAO,wDAAqD,EAC/D;AACEgB,kBAAAA,MAAM,EAAE,MAAM;AACd9L,kBAAAA,OAAO,EAAE;AAAE,oBAAA,cAAc,EAAE,kBAAA;mBAAoB;AAC/ClF,kBAAAA,IAAI,EAAE0G,IAAI,CAACC,SAAS,CAAC;AAAEsK,oBAAAA,EAAE,EAAEH,iBAAAA;mBAAmB,CAAA;iBAC/C,CACF,CAAA,CAAA;;AAPKhK,gBAAAA,IAAI,GAAGvD,EAAA,CAAApD,IAAA,EAOZ,CAAA;gBAC0B,OAAM2G,CAAAA,CAAAA,YAAAA,IAAI,CAACoK,IAAI,EAAE,CAAA,CAAA;;AAAtC1N,gBAAAA,EAAA,GAAqBD,EAAA,CAAApD,IAAA,EAAiB,EAApCgR,KAAK,GAAA3N,EAAA,CAAA2N,KAAA,EAAEpP,OAAO,GAAAyB,EAAA,CAAAzB,OAAA,CAAA;AACtB,gBAAA,IAAI,CAAC+E,IAAI,CAACpE,EAAE,EAAE;AACZmO,kBAAAA,QAAQ,CAAC;AACPN,oBAAAA,IAAI,EAAE,UAAU;oBAChBC,OAAO,EAAE,IAAItC,4BAA4B,CACvC,IAAIlM,KAAK,CAACD,OAAO,CAAC,EAClBiO,OAAO,CAAA;mBAEV,CAAC,CAAA;AACJ,iBAAA;AACAa,gBAAAA,QAAQ,CAAC;AACPN,kBAAAA,IAAI,EAAE,eAAe;AACrBC,kBAAAA,OAAO,EAAEW,KAAK,GAAG,QAAQ,GAAG,QAAA;iBAC7B,CAAC,CAAA;;;;AAEFN,gBAAAA,QAAQ,CAAC;AACPN,kBAAAA,IAAI,EAAE,UAAU;AAChBC,kBAAAA,OAAO,EAAE,IAAItC,4BAA4B,CAACkD,GAAU,EAAEpB,OAAO,CAAA;iBAC9D,CAAC,CAAA;;;;;;;AAEL,OAAA,GAAG,CAAA;AACN,KAAA;GACD,EAAE,CAACA,OAAO,EAAEC,iBAAiB,EAAEa,iBAAiB,EAAE9L,SAAS,CAAC,CAAC,CAAA;AAE9D,EAAA,OAAO,CAACsL,KAAK,EAAEO,QAAQ,CAAC,CAAA;AAC1B,CAAA;AAEM,SAAUQ,cAAcA,GAAA;AAC5B,EAAA,IAAMf,KAAK,GAAGxD,gBAAU,CAACoD,gBAAgB,CAAC,CAAA;AAC1C,EAAA,IAAMW,QAAQ,GAAG/D,gBAAU,CAACsD,mBAAmB,CAAC,CAAA;EAChD,IAAI,CAACE,KAAK,IAAI,CAACO,QAAQ,EACrB,MAAM,IAAI7O,KAAK,CAAC,yDAAyD,CAAC,CAAA;AAE5E,EAAA,OAAO,CAACsO,KAAK,EAAEO,QAAQ,CAAC,CAAA;AAC1B,CAAA;AAEM,SAAUS,YAAYA,CAAC9N,EAQ5B,EAAA;;MAPC8C,EAAA,GAAA9C,EAAA,CAAAwM,OAAwB;AAAxBA,IAAAA,OAAO,GAAA1J,EAAA,KAAGqJ,KAAAA,CAAAA,GAAAA,sBAAc,GAAArJ,EAAA;IACxBtB,SAAS,GAAAxB,EAAA,CAAAwB,SAAA;IACT2C,QAAQ,GAAAnE,EAAA,CAAAmE,QAAA,CAAA;AAMF,EAAA,IAAAsC,EAAA,GAAoB0G,cAAc,CAACX,OAAO,EAAEhL,SAAS,CAAC;AAArDsL,IAAAA,KAAK,GAAArG,EAAA,CAAA,CAAA,CAAA;IAAE4G,QAAQ,GAAA5G,EAAA,CAAsC,CAAA,CAAA,CAAA;AAE5D,EAAA,IAAIqG,KAAK,CAACL,iBAAiB,KAAK,SAAS,EAAE;AACzC,IAAA,oBAAOtH,KAAA,CAAAC,aAAA,CAACoG,uBAAuB,EAAG,IAAA,CAAA,CAAA;AACpC,GAAA;AAEA,EAAA,IAAIsB,KAAK,CAACL,iBAAiB,KAAK,QAAQ,EAAE;AACxC,IAAA,oBAAOtH,KAAA,CAAAC,aAAA,CAACwG,8BAA8B,EAAA;MAACrN,OAAO,EAAE,CAAAwB,EAAA,GAAA+M,KAAK,CAACG,SAAS,MAAAlN,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAExB,OAAAA;KAAW,CAAA,CAAA;AAC9E,GAAA;AAEA,EAAA,IAAIuO,KAAK,CAACL,iBAAiB,KAAK,sBAAsB,EAAE;AACtD,IAAA,oBAAOtH,KAAA,CAAAC,aAAA,CAACyG,wBAAwB,EAAG,IAAA,CAAA,CAAA;AACrC,GAAA;AAEA,EAAA,IAAIiB,KAAK,CAACL,iBAAiB,KAAK,OAAO,EAAE;AACvC,IAAA,oBACEtH,KAAA,CAAAC,aAAA,CAAC0G,6BAA6B,EAAA;MAC5BzN,KAAK,EAAEyO,KAAK,CAACG,SAAU;AACvBpC,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAE;AAAM,QAAA,OAAAwC,QAAQ,CAAC;AAAEN,UAAAA,IAAI,EAAE,OAAA;AAAO,SAAE,CAAC,CAAA;AAA3B,OAAA;KACf,CAAA,CAAA;AAEN,GAAA;AAEA,EAAA,IACED,KAAK,CAACL,iBAAiB,KAAK,OAAO,IACnCK,KAAK,CAACL,iBAAiB,KAAK,SAAS,EAErC,oBACEtH,KAAA,CAAAC,aAAA,CAACpB,aAAa,EAAA;AAACI,IAAAA,SAAS,EAAC,MAAA;AAAM,GAAA,eAC7Be,KAAA,CAAAC,aAAA,CAAC2G,OAAO,OAAG,CACG,CAAA;AAGpB,EAAA,oBACE5G,KAAA,CAAAC,aAAA,CAACsH,gBAAgB,CAACqB,QAAQ,EAAA;AAACnS,IAAAA,KAAK,EAAEkR,KAAAA;AAAK,GAAA,eACrC3H,KAAA,CAAAC,aAAA,CAACwH,mBAAmB,CAACmB,QAAQ,EAAA;AAACnS,IAAAA,KAAK,EAAEyR,QAAAA;GAClClJ,EAAAA,QAAQ,CACoB,CACL,CAAA;AAEhC;;ACjOA,IAAY6J,QAMX,CAAA;AAND,CAAA,UAAYA,QAAQ,EAAA;EAClBA,QAAA,CAAAA,QAAA,CAAG,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAA,CAAA;EACHA,QAAA,CAAAA,QAAA,CAAK,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAA,CAAA;EACLA,QAAA,CAAAA,QAAA,CAAI,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAA,CAAA;EACJA,QAAA,CAAAA,QAAA,CAAI,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAA,CAAA;EACJA,QAAA,CAAAA,QAAA,CAAK,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAA,CAAA;AACP,CAAC,EANWA,QAAQ,KAARA,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAA;AAQpB,IAAIC,QAAQ,GAAaD,QAAQ,CAACE,IAAI,CAAA;AAEhC,SAAUC,WAAWA,CAACC,WAAqB,EAAA;AAC/CzJ,EAAAA,eAAS,CAAC,YAAA;IACR,IAAM0J,WAAW,GAAGJ,QAAQ,CAAA;IAC5B,IAAIG,WAAW,KAAKC,WAAW,EAAE,OAAA;AACjCJ,IAAAA,QAAQ,GAAGG,WAAW,CAAA;IACtB,OAAO,YAAA;AACLH,MAAAA,QAAQ,GAAGI,WAAW,CAAA;KACvB,CAAA;AACH,GAAC,EAAE,CAACD,WAAW,CAAC,CAAC,CAAA;AACnB,CAAA;AAEM,SAAUE,eAAeA,CAACC,OAAgB,EAAA;EAC9CJ,WAAW,CAACI,OAAO,GAAGP,QAAQ,CAACQ,KAAK,GAAGP,QAAQ,CAAC,CAAA;AAClD,CAAA;AAOM,SAAUQ,GAAGA,GAAA;AAAC,EAAA,IAAAC,KAAA,GAAA,EAAA,CAAA;OAAA,IAAAC,EAAA,GAAmB,CAAA,EAAnBA,EAAA,GAAA7T,SAAA,CAAAC,MAAmB,EAAnB4T,EAAA,EAAmB,EAAA;AAAnBD,IAAAA,KAAA,CAAAC,EAAA,CAAA7T,GAAAA,SAAA,CAAA6T,EAAA,CAAA,CAAA;;AAClB,EAAA,IAAIV,QAAQ,GAAGD,QAAQ,CAACY,IAAI,EAAE,OAAA;EAC9BC,OAAO,CAACJ,GAAG,CAAAzT,KAAA,CAAX6T,OAAO,EAAQH,KAAK,CAAA,CAAC;AACvB,CAAA;AAEM,SAAUI,IAAIA,GAAA;AAAC,EAAA,IAAAJ,KAAA,GAAA,EAAA,CAAA;OAAA,IAAAC,EAAA,GAAmB,CAAA,EAAnBA,EAAA,GAAA7T,SAAA,CAAAC,MAAmB,EAAnB4T,EAAA,EAAmB,EAAA;AAAnBD,IAAAA,KAAA,CAAAC,EAAA,CAAA7T,GAAAA,SAAA,CAAA6T,EAAA,CAAA,CAAA;;AACnB,EAAA,IAAIV,QAAQ,GAAGD,QAAQ,CAACE,IAAI,EAAE,OAAA;EAC9BW,OAAO,CAACC,IAAI,CAAA9T,KAAA,CAAZ6T,OAAO,EAASH,KAAK,CAAA,CAAC;AACxB,CAAA;AAEM,SAAUrQ,KAAKA,GAAA;AAAC,EAAA,IAAAqQ,KAAA,GAAA,EAAA,CAAA;OAAA,IAAAC,EAAA,GAAmB,CAAA,EAAnBA,EAAA,GAAA7T,SAAA,CAAAC,MAAmB,EAAnB4T,EAAA,EAAmB,EAAA;AAAnBD,IAAAA,KAAA,CAAAC,EAAA,CAAA7T,GAAAA,SAAA,CAAA6T,EAAA,CAAA,CAAA;;AACpB,EAAA,IAAIV,QAAQ,GAAGD,QAAQ,CAACxP,KAAK,EAAE,OAAA;EAC/BqQ,OAAO,CAACxQ,KAAK,CAAArD,KAAA,CAAb6T,OAAO,EAAUH,KAAK,CAAA,CAAC;AACzB;;ACAWK,4BAAoB,GAAG,2CAA0C;AACtE,SAAUC,uBAAuBA,CAACjQ,GAAW,EAAA;AACjDgQ,EAAAA,4BAAoB,GAAGhQ,GAAG,CAAA;AAC5B,CAAA;AACO,IAAIkQ,yBAAyB,GAAG,yCAAyC,CAAA;AAC1E,SAAUC,4BAA4BA,CAACnQ,GAAW,EAAA;AACtDkQ,EAAAA,yBAAyB,GAAGlQ,GAAG,CAAA;AACjC,CAAA;AAEM,SAAUoQ,YAAYA,CAACpQ,GAAW,EAAA;EACtCsN,iBAAiB,CAACtN,GAAG,CAAC,CAAA;AACtBiQ,EAAAA,uBAAuB,CAACjQ,GAAG,GAAG,UAAU,CAAC,CAAA;AACzCmQ,EAAAA,4BAA4B,CAACnQ,GAAG,GAAG,SAAS,CAAC,CAAA;AAC/C,CAAA;AAwEO,IAAMwK,iBAAiB,gBAAGoD,mBAAa,CAAkB;AAC9DyC,EAAAA,MAAM,EAAE,SAARA,MAAMA,GAAE;AAAA,IAAA,OAAA9T,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;MAAA,OAAAiB,WAAA,iBAAAyD,EAAA,EAAA;QAAY,OAAI,CAAA,CAAA,aAAA,IAAA,CAAA,CAAA;;;AAAA,GAAA;EACxBqP,gBAAgB,EAAEhP,gBAAgB,CAACiP,KAAK;AACxCC,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,kBAAkB,EAAE,IAAI;AACxBC,EAAAA,eAAe,EAAE,IAAI;AACrBC,EAAAA,qBAAqB,EAAE,MAAM;AAE7BC,EAAAA,YAAY,EAAE,IAAI;AAClBC,EAAAA,WAAW,EAAE,IAAI;AACjBC,EAAAA,aAAa,EAAE,IAAI;AACnBC,EAAAA,WAAW,EAAE,IAAI;AACjBC,EAAAA,aAAa,EAAE,IAAI;AACnBC,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,0BAA0B,EAAE,IAAI;AAChCC,EAAAA,yBAAyB,EAAE,IAAI;AAC/BC,EAAAA,sBAAsB,EAAE,IAAI;AAC5BC,EAAAA,2BAA2B,EAAE,IAAI;AACjCC,EAAAA,mBAAmB,EAAE,IAAI;AAEzBC,EAAAA,eAAe,EAAE,SAAjBA,eAAeA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAC3BC,EAAAA,cAAc,EAAE,SAAhBA,cAAcA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAC1BC,EAAAA,gBAAgB,EAAE,SAAlBA,gBAAgBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAC5BC,EAAAA,cAAc,EAAE,SAAhBA,cAAcA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAC1BC,EAAAA,gBAAgB,EAAE,SAAlBA,gBAAgBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAC5BC,EAAAA,oBAAoB,EAAE,SAAtBA,oBAAoBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAChCC,EAAAA,oBAAoB,EAAE,SAAtBA,oBAAoBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAChCC,EAAAA,6BAA6B,EAAE,SAA/BA,6BAA6BA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AACzCC,EAAAA,4BAA4B,EAAE,SAA9BA,4BAA4BA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AACxCC,EAAAA,yBAAyB,EAAE,SAA3BA,yBAAyBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AACrCC,EAAAA,8BAA8B,EAAE,SAAhCA,8BAA8BA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAC1CC,EAAAA,oBAAoB,EAAE,SAAtBA,oBAAoBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAChCC,EAAAA,sBAAsB,EAAE,SAAxBA,sBAAsBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;EAElCC,cAAc,EAAEtV,OAAO,CAACD,OAAO;AAE/BwV,EAAAA,wBAAwB,EAAE,SAA1BA,wBAAwBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AACpCC,EAAAA,uBAAuB,EAAE,SAAzBA,uBAAuBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AACnCC,EAAAA,uBAAuB,EAAE,SAAzBA,uBAAuBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAEnCC,EAAAA,oBAAoB,EAAE,IAAI;AAC1BC,EAAAA,aAAa,EAAE,SAAfA,aAAaA,GAAE;AAAA,IAAA,OAAAnW,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;AACb,QAAA,MAAM,IAAIkD,KAAK,CAAC,kCAAkC,CAAC,CAAA;;;AACpD,GAAA;AAED6K,EAAAA,mBAAmB,EAAE,SAArBA,mBAAmBA,GAAE;IAAM,OAAI,IAAA,CAAA;AAAJ,GAAA;CAC5B,CAAC,CAAA;AAiDK,IAAMqI,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAI1R,EA0CT,EAAA;MAzCxBc,MAAM,GAAAd,EAAA,CAAAc,MAAA;IACNqD,QAAQ,GAAAnE,EAAA,CAAAmE,QAAA;IACRpE,EAAA,GAAAC,EAAA,CAAA2R,aAAoC;AAApCA,IAAAA,aAAa,GAAA5R,EAAA,KAAGgP,KAAAA,CAAAA,GAAAA,4BAAoB,GAAAhP,EAAA;IACpC+C,EAAA,GAAA9C,EAAA,CAAAU,WAAoB;AAApBA,IAAAA,WAAW,GAAAoC,EAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,EAAA;IACpB8O,SAAS,GAAA5R,EAAA,CAAA4R,SAAA;IACTC,YAAY,GAAA7R,EAAA,CAAA6R,YAAA;IACZC,YAAY,GAAA9R,EAAA,CAAA8R,YAAA;IACZC,QAAQ,GAAA/R,EAAA,CAAA+R,QAAA;IACRC,MAAM,GAAAhS,EAAA,CAAAgS,MAAA;IACNvL,EAAA,GAAAzG,EAAA,CAAAiS,mBAA2B;AAA3BA,IAAAA,mBAAmB,GAAAxL,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IAC3BqB,EAAA,GAAA9H,EAAA,CAAAkS,kBAAyB;AAAzBA,IAAAA,kBAAkB,GAAApK,EAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,EAAA;IACzBF,EAAA,GAAA5H,EAAA,CAAAmS,qBAA6B;AAA7BA,IAAAA,qBAAqB,GAAAvK,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IAC7BK,EAAA,GAAAjI,EAAA,CAAAoS,oBAA4B;AAA5BA,IAAAA,oBAAoB,GAAAnK,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IAC5BG,EAAA,GAAApI,EAAA,CAAAqS,mBAA0B;AAA1BA,IAAAA,mBAAmB,GAAAjK,EAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,EAAA;IAC1BC,EAAA,GAAArI,EAAA,CAAAsS,sBAA6B;AAA7BA,IAAAA,sBAAsB,GAAAjK,EAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,EAAA;IAC7BF,EAAA,GAAAnI,EAAA,CAAAuS,6BAAqC;AAArCA,IAAAA,6BAA6B,GAAApK,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IACrCH,EAAA,GAAAhI,EAAA,CAAAwS,oBAA4B;AAA5BA,IAAAA,oBAAoB,GAAAxK,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IAC5BO,EAAA,GAAAvI,EAAA,CAAAyS,wBAAgC;AAAhCA,IAAAA,wBAAwB,GAAAlK,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IAChCmK,kBAAkB,GAAA1S,EAAA,CAAA0S,kBAAA;IAClBhK,EAAA,GAAA1I,EAAA,CAAA2S,kBAAyB;AAAzBA,IAAAA,kBAAkB,GAAAjK,EAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,EAAA;IACzBD,EAAA,GAAAzI,EAAA,CAAA4S,mBAA2B;AAA3BA,IAAAA,mBAAmB,GAAAnK,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IAC3BH,EAAA,GAAAtI,EAAA,CAAA6S,eAAuB;AAAvBA,IAAAA,eAAe,GAAAvK,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IACvBwK,qBAAqB,GAAA9S,EAAA,CAAA8S,qBAAA;IACrBjK,EAAA,GAAA7I,EAAA,CAAA+S,8BAAqC;AAArCA,IAAAA,8BAA8B,GAAAlK,EAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,EAAA;IACrCG,EAAA,GAAAhJ,EAAA,CAAAgT,uBAA+B;AAA/BA,IAAAA,uBAAuB,GAAAhK,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IAC/BD,EAAA,GAAA/I,EAAA,CAAAiT,2BAAmC;AAAnCA,IAAAA,2BAA2B,GAAAlK,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IACnCH,EAAA,GAAA5I,EAAA,CAAAkT,oBAA4B;AAA5BA,IAAAA,oBAAoB,GAAAtK,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IAC5BuK,uBAAuB,GAAAnT,EAAA,CAAAmT,uBAAA;IACvBC,oBAAoB,GAAApT,EAAA,CAAAoT,oBAAA;IACpBnK,EAAA,GAAAjJ,EAAA,CAAAqT,kBAA8C;AAA9CA,IAAAA,kBAAkB,GAAApK,EAAA,KAAGgG,KAAAA,CAAAA,GAAAA,yBAAyB,GAAAhG,EAAA;IAC9CqK,EAAA,GAAAtT,EAAA,CAAAyB,iCAAyC;AAAzCA,IAAAA,iCAAiC,GAAA6R,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IACzCC,QAAQ,GAAAvT,EAAA,CAAAuT,QAAA;IACRC,cAAc,GAAAxT,EAAA,CAAAwT,cAAA;IACdC,qBAAqB,GAAAzT,EAAA,CAAAyT,qBAAA;IACrBC,sBAAsB,GAAA1T,EAAA,CAAA0T,sBAAA;IACtBC,wBAAwB,GAAA3T,EAAA,CAAA2T,wBAAA;IACxBC,kBAAkB,GAAA5T,EAAA,CAAA4T,kBAAA;IAClBC,sBAAsB,GAAA7T,EAAA,CAAA6T,sBAAA;IACtBC,kBAAkB,GAAA9T,EAAA,CAAA8T,kBAAA;IAClBC,gBAAgB,GAAA/T,EAAA,CAAA+T,gBAAA;IAChBC,eAAe,GAAAhU,EAAA,CAAAgU,eAAA,CAAA;AAEN,EAAA,IAAAxS,SAAS,GAAMqM,cAAc,EAAE,IAAArM,SAAtB,CAAA;AACZ,EAAA,IAAAyS,EAAA,GAA0CzP,cAAQ,CACtDnE,gBAAgB,CAACiP,KAAK,CACvB;AAFMD,IAAAA,gBAAgB,GAAA4E,EAAA,CAAA,CAAA,CAAA;IAAEC,mBAAmB,GAAAD,EAAA,CAE3C,CAAA,CAAA,CAAA;AACK,EAAA,IAAAE,EAAA,GACJ3P,cAAQ,CAA2B,IAAI,CAAC;AADnC+K,IAAAA,iBAAiB,GAAA4E,EAAA,CAAA,CAAA,CAAA;IAAEC,oBAAoB,GAAAD,EAAA,CACJ,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAE,EAAA,GACJ7P,cAAQ,CAA4B,IAAI,CAAC;AADpCgL,IAAAA,kBAAkB,GAAA6E,EAAA,CAAA,CAAA,CAAA;IAAEC,qBAAqB,GAAAD,EAAA,CACL,CAAA,CAAA,CAAA;AACrC,EAAA,IAAAE,EAAA,GAAwC/P,cAAQ,CAEpD,IAAI,CAAC;AAFAiL,IAAAA,eAAe,GAAA8E,EAAA,CAAA,CAAA,CAAA;IAAEC,kBAAkB,GAAAD,EAAA,CAEnC,CAAA,CAAA,CAAA;AACD,EAAA,IAAAE,EAAA,GAAwCjQ,cAAQ,CACpD,IAAI,CACL;AAFMkQ,IAAAA,eAAe,GAAAD,EAAA,CAAA,CAAA,CAAA;IAAEE,kBAAkB,GAAAF,EAAA,CAEzC,CAAA,CAAA,CAAA;AACK,EAAA,IAAAG,EAAA,GACJpQ,cAAQ,CAA8B,IAAI,CAAC;AADtCgN,IAAAA,oBAAoB,GAAAoD,EAAA,CAAA,CAAA,CAAA;IAAEC,uBAAuB,GAAAD,EAAA,CACP,CAAA,CAAA,CAAA;AAEvC,EAAA,IAAAE,EAAA,GAAkCtQ,cAAQ,CAAgB,IAAI,CAAC;AAA9DmL,IAAAA,YAAY,GAAAmF,EAAA,CAAA,CAAA,CAAA;IAAEvE,eAAe,GAAAuE,EAAA,CAAiC,CAAA,CAAA,CAAA;AAC/D,EAAA,IAAAC,EAAA,GAAgCvQ,cAAQ,CAAgB,IAAI,CAAC;AAA5DoL,IAAAA,WAAW,GAAAmF,EAAA,CAAA,CAAA,CAAA;IAAEvE,cAAc,GAAAuE,EAAA,CAAiC,CAAA,CAAA,CAAA;AAC7D,EAAA,IAAAC,EAAA,GAAoCxQ,cAAQ,CAAgB,IAAI,CAAC;AAAhEqL,IAAAA,aAAa,GAAAmF,EAAA,CAAA,CAAA,CAAA;IAAEvE,gBAAgB,GAAAuE,EAAA,CAAiC,CAAA,CAAA,CAAA;AACjE,EAAA,IAAAC,EAAA,GAAgCzQ,cAAQ,CAAgB,IAAI,CAAC;AAA5DsL,IAAAA,WAAW,GAAAmF,EAAA,CAAA,CAAA,CAAA;IAAEvE,cAAc,GAAAuE,EAAA,CAAiC,CAAA,CAAA,CAAA;AAC7D,EAAA,IAAAC,EAAA,GAAoC1Q,cAAQ,CAAuB,IAAI,CAAC;AAAvEuL,IAAAA,aAAa,GAAAmF,EAAA,CAAA,CAAA,CAAA;IAAEvE,gBAAgB,GAAAuE,EAAA,CAAwC,CAAA,CAAA,CAAA;AACxE,EAAA,IAAAC,EAAA,GAA4C3Q,cAAQ,CACxD,IAAI,CACL;AAFMwL,IAAAA,iBAAiB,GAAAmF,EAAA,CAAA,CAAA,CAAA;IAAEvE,oBAAoB,GAAAuE,EAAA,CAE7C,CAAA,CAAA,CAAA;AACK,EAAA,IAAAC,EAAA,GAA4C5Q,cAAQ,CACxD,IAAI,CACL;AAFMyL,IAAAA,iBAAiB,GAAAmF,EAAA,CAAA,CAAA,CAAA;IAAEvE,oBAAoB,GAAAuE,EAAA,CAE7C,CAAA,CAAA,CAAA;AACK,EAAA,IAAAC,GAAA,GAA8D7Q,cAAQ,CAE1E,IAAI,CAAC;AAFA0L,IAAAA,0BAA0B,GAAAmF,GAAA,CAAA,CAAA,CAAA;IAAEvE,6BAA6B,GAAAuE,GAAA,CAEzD,CAAA,CAAA,CAAA;AACD,EAAA,IAAAC,GAAA,GAA4D9Q,cAAQ,CAExE,IAAI,CAAC;AAFA2L,IAAAA,yBAAyB,GAAAmF,GAAA,CAAA,CAAA,CAAA;IAAEvE,4BAA4B,GAAAuE,GAAA,CAEvD,CAAA,CAAA,CAAA;AACD,EAAA,IAAAC,GAAA,GAAsD/Q,cAAQ,CAElE,IAAI,CAAC;AAFA4L,IAAAA,sBAAsB,GAAAmF,GAAA,CAAA,CAAA,CAAA;IAAEvE,yBAAyB,GAAAuE,GAAA,CAEjD,CAAA,CAAA,CAAA;AACD,EAAA,IAAAC,GAAA,GACJhR,cAAQ,CAAgB,IAAI,CAAC;AADxB6L,IAAAA,2BAA2B,GAAAmF,GAAA,CAAA,CAAA,CAAA;IAAEvE,8BAA8B,GAAAuE,GAAA,CACnC,CAAA,CAAA,CAAA;AACzB,EAAA,IAAAC,GAAA,GAA4CjR,cAAQ,CACxD,IAAI,CACL;AAFMkR,IAAAA,iBAAiB,GAAAD,GAAA,CAAA,CAAA,CAAA;IAAEvE,oBAAoB,GAAAuE,GAAA,CAE7C,CAAA,CAAA,CAAA;AACK,EAAA,IAAAE,GAAA,GAAgDnR,cAAQ,CAE5D,IAAI,CAAC;AAFA8L,IAAAA,mBAAmB,GAAAqF,GAAA,CAAA,CAAA,CAAA;IAAExE,sBAAsB,GAAAwE,GAAA,CAE3C,CAAA,CAAA,CAAA;AAED,EAAA,IAAAC,GAAA,GACJpR,cAAQ,CAA6B,IAAI,CAAC;AADrCvC,IAAAA,iBAAiB,GAAA2T,GAAA,CAAA,CAAA,CAAA;IAAEC,oBAAoB,GAAAD,GAAA,CACF,CAAA,CAAA,CAAA;AACtC,EAAA,IAAAE,GAAA,GAAgDtR,cAAQ,CAAC,CAAC,CAAC;AAA1DuR,IAAAA,mBAAmB,GAAAD,GAAA,CAAA,CAAA,CAAA;IAAEE,sBAAsB,GAAAF,GAAA,CAAe,CAAA,CAAA,CAAA;AAC3D,EAAA,IAAAG,GAAA,GAA8CzR,cAAQ,CAAC,KAAK,CAAC;AAA5D0R,IAAAA,kBAAkB,GAAAD,GAAA,CAAA,CAAA,CAAA;IAAEE,qBAAqB,GAAAF,GAAA,CAAmB,CAAA,CAAA,CAAA;AAE7D,EAAA,IAAAG,GAAA,GAAsD5R,cAAQ,CAElE,EAAE,CAAC;AAFEzC,IAAAA,sBAAsB,GAAAqU,GAAA,CAAA,CAAA,CAAA;IAAEC,yBAAyB,GAAAD,GAAA,CAEnD,CAAA,CAAA,CAAA;AACC,EAAA,IAAAE,GAAA,GAAoD9R,cAAQ,CAEhE,EAAE,CAAC;AAFExC,IAAAA,qBAAqB,GAAAsU,GAAA,CAAA,CAAA,CAAA;IAAEC,wBAAwB,GAAAD,GAAA,CAEjD,CAAA,CAAA,CAAA;AACC,EAAA,IAAAE,GAAA,GAAoDhS,cAAQ,CAEhE,EAAE,CAAC;AAFE1C,IAAAA,qBAAqB,GAAA0U,GAAA,CAAA,CAAA,CAAA;IAAEC,wBAAwB,GAAAD,GAAA,CAEjD,CAAA,CAAA,CAAA;AAEL,EAAA,IAAMnF,wBAAwB,GAAGqF,iBAAW,CAC1C,UAACC,OAA+B,EAAA;IAC9BN,yBAAyB,CAAC,UAACO,QAAQ,EAAA;AAAK,MAAA,OAAApZ,aAAA,CAAAA,aAAA,CAAIoZ,EAAAA,EAAAA,QAAQ,UAAED,OAAO,CAAA,EAAA,KAAA,CAAA,CAAA;AAArB,KAAsB,CAAC,CAAA;GAChE,EACD,EAAE,CACH,CAAA;AACD,EAAA,IAAMrF,uBAAuB,GAAGoF,iBAAW,CACzC,UAACC,OAA+B,EAAA;IAC9BJ,wBAAwB,CAAC,UAACK,QAAQ,EAAA;AAAK,MAAA,OAAApZ,aAAA,CAAAA,aAAA,CAAIoZ,EAAAA,EAAAA,QAAQ,UAAED,OAAO,CAAA,EAAA,KAAA,CAAA,CAAA;AAArB,KAAsB,CAAC,CAAA;GAC/D,EACD,EAAE,CACH,CAAA;AACD,EAAA,IAAMpF,uBAAuB,GAAGmF,iBAAW,CACzC,UAACC,OAA+B,EAAA;IAC9BF,wBAAwB,CAAC,UAACG,QAAQ,EAAA;AAAK,MAAA,OAAApZ,aAAA,CAAAA,aAAA,CAAIoZ,EAAAA,EAAAA,QAAQ,UAAED,OAAO,CAAA,EAAA,KAAA,CAAA,CAAA;AAArB,KAAsB,CAAC,CAAA;GAC/D,EACD,EAAE,CACH,CAAA;AAEDhS,EAAAA,eAAS,CAAC,YAAA;AACR,IAAA,IAAIyO,oBAAoB,KAApBA,IAAAA,IAAAA,oBAAoB,uBAApBA,oBAAoB,CAAEjR,MAAM,EAAE;MAChCuO,cAAc,CAAC7Q,mBAAmB,CAACuT,oBAAoB,CAACjR,MAAM,CAAC0U,SAAS,CAAC,CAAC,CAAA;AAC5E,KAAA;GACD,EAAE,CAACzD,oBAAoB,KAApBA,IAAAA,IAAAA,oBAAoB,uBAApBA,oBAAoB,CAAEjR,MAAM,CAAC,CAAC,CAAA;AAElC,EAAA,IAAMiP,cAAc,GAAGsF,iBAAW,CAChC,UAAC7M,GAAkB,EAAE3H,QAA2B,EAAA;AAC9C,IAAA,OAAA,IAAIpG,OAAO,CAAS,UAAOD,OAAO,EAAEE,MAAM,EAAA;AAAA,MAAA,OAAAT,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;;cAClC6D,IAAI,GAAG,OAAO0K,GAAG,KAAK,QAAQ,GAAGiN,mBAAmB,CAACjN,GAAG,CAAC,GAAGA,GAAG,CAAA;AAEnE7J,cAAAA,EAAA,GAAA0T,sBAAsB,CAAA;AAAtB,cAAA,IAAA,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;cACC,OAAMA,CAAAA,CAAAA,YAAAA,sBAAsB,aAAtBA,sBAAsB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAtBA,sBAAsB,CAAGvU,IAAI,EAAE+C,QAAQ,CAAC,CAAA,CAAA;;AAA/ClC,cAAAA,EAAA,GAACD,EAAA,CAAApD,IAAA,EAA8C,KAAM,KAAK,CAAA;;;cAF5D,IAAAqD,EAAA,EAIE,OAAOnE,CAAAA,CAAAA,aAAAA,OAAO,CAACqE,SAAS,CAACf,IAAI,CAAC,CAAC,CAAA,CAAA;AAE3B4X,cAAAA,MAAM,GAAGC,YAAY,CAAC7X,IAAI,EAAE;AAChC8X,gBAAAA,QAAQ,EAAE5D,kBAAkB;AAC5B6D,gBAAAA,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AAC5DxV,gBAAAA,OAAO,EAAE;AAAE,kBAAA,cAAc,EAAEF,SAAAA;iBAAY;gBACvCU,QAAQ,EAAEA,QAAQ,IAAI;kBAAEiV,QAAQ,EAAEhY,IAAI,CAAC4N,IAAAA;iBAAM;AAC7CqK,gBAAAA,UAAU,EAAVA,SAAAA,UAAUA,CAACC,aAAa,EAAEC,UAAU,EAAA;AAClC3D,kBAAAA,wBAAwB,KAAxBA,IAAAA,IAAAA,wBAAwB,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,wBAAwB,CAAG;AACzB0D,oBAAAA,aAAa,EAAAA,aAAA;AACbC,oBAAAA,UAAU,EAAAA,UAAA;AACVC,oBAAAA,UAAU,EAAE,CAAEF,aAAa,GAAGC,UAAU,GAAI,GAAG,EAAEE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;AACjEtV,oBAAAA,QAAQ,EAAAA,QAAAA;mBACT,CAAC,CAAA;iBACH;gBACDuV,SAAS,EAAA,SAATA,SAASA,GAAA;;AACP,kBAAA,IAAMC,UAAU,GACd,kBAAkB,IAClB,CAAA1X,EAAA,GAAA+W,MAAM,CAAChY,GAAI,CAACS,KAAK,CAAC,SAAS,CAAC,CAAClC,GAAG,EAAE,MAAA0C,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAER,KAAK,CAAC,GAAG,CAAEmY,CAAAA,KAAK,EAAE,CAAA,CAAA;kBAExD/D,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAkB,CAAG8D,UAAU,EAAExV,QAAQ,CAAC,CAAA;kBAC1CrG,OAAO,CAAC6b,UAAU,CAAC,CAAA;iBACpB;gBACDE,OAAO,EAAA,SAAPA,OAAOA,CAACvZ,KAAK,EAAA;AACXoQ,kBAAAA,GAAG,CAAC,kBAAkB,GAAGpQ,KAAK,CAAC,CAAA;kBAC/BwV,sBAAsB,KAAA,IAAA,IAAtBA,sBAAsB,KAAtBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAsB,CAAGxV,KAAK,EAAE6D,QAAQ,CAAC,CAAA;kBACzCnG,MAAM,CAACsC,KAAK,CAAC,CAAA;AACf,iBAAA;eACD,CAAC,CAAA;AAEF;AACA0Y,cAAAA,MAAM,CAACc,mBAAmB,EAAE,CAACvb,IAAI,CAAC,UAAUwb,eAAe,EAAA;AACzD;gBACA,IAAIA,eAAe,CAAC/c,MAAM,EAAE;AAC1Bgc,kBAAAA,MAAM,CAACgB,wBAAwB,CAACD,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;AACrD,iBAAA;AAEA;gBACAf,MAAM,CAAChQ,KAAK,EAAE,CAAA;AAChB,eAAC,CAAC,CAAA;;;;;KACH,CAAC,CAAA;AA9CF,GA8CE,EACJ,CACE2M,sBAAsB,EACtBL,kBAAkB,EAClB7R,SAAS,EACTmS,wBAAwB,EACxBC,kBAAkB,EAClBC,sBAAsB,CACvB,CACF,CAAA;EAED,IAAMmE,sBAAsB,GAAGtB,iBAAW,CAAC,YAAA;AAAA,IAAA,OAAApb,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;AACzC,MAAA,SAAe2c,gBAAgBA,CAAAC,KAAA,EAAAC,UAAA,EAAA;4DAC7BtO,GAAW,EACXuO,QAAgB,EAChBjB,QAAuB,EAAA;AAAvB,UAAA,IAAAA,QAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,YAAAA,QAAA,GAAuB,YAAA,CAAA;AAAA,WAAA;;;;AAEvB,gBAAA,IAAI,CAAC9D,kBAAkB,EAAE,OAAA,CAAA,CAAA,aAAOxJ,GAAG,CAAA,CAAA;AACnC,gBAAA,IAAI,CAACA,GAAG,CAACwO,UAAU,CAAC,OAAO,CAAC,EAAExO,GAAG,GAAG,OAAA,CAAA9L,MAAA,CAAQoZ,QAAQ,cAAApZ,MAAA,CAAW8L,GAAG,CAAE,CAAA;gBAC7D,OAAMuH,CAAAA,CAAAA,YAAAA,cAAc,CAACvH,GAAG,EAAE;AAAEuO,kBAAAA,QAAQ,EAAAA,QAAA;AAAEjB,kBAAAA,QAAQ,EAAAA,QAAAA;AAAA,iBAAE,CAAC,CAAA,CAAA;;gBAAxD,OAAOnX,CAAAA,CAAAA,aAAAA,EAAA,CAAArD,IAAA,EAAiD,CAAA,CAAA;;;;;;;;;;;;AAIxDgT,cAAAA,YAAY,EAAAA,YAAA;AACZC,cAAAA,WAAW,EAAAA,WAAA;AACXC,cAAAA,aAAa,EAAAA,aAAA;AACbC,cAAAA,WAAW,EAAAA,WAAAA;;AAET9P,YAAAA,EAAA,GAAAgQ,iBAAiB,CAAA;AAAjB,YAAA,IAAA,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;YAAsB,OAAM3M,CAAAA,CAAAA,YAAAA,iBAAiB,CAAC2M,iBAAiB,CAAC,CAAA,CAAA;;AAA3ChQ,YAAAA,EAAA,GAACoI,EAAA,CAAAzL,IAAA,EAA2C,CAAA;;;YADnE8J,EAAA,CAAA6R,cAAc,GAAAtY,EACqD,CAAA;AAEjED,YAAAA,EAAA,GAAAkQ,iBAAiB,CAAA;AAAjB,YAAA,IAAA,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;YAAsB,OAAM5M,CAAAA,CAAAA,YAAAA,iBAAiB,CAAC4M,iBAAiB,CAAC,CAAA,CAAA;;AAA3ClQ,YAAAA,EAAA,GAACqI,EAAA,CAAAzL,IAAA,EAA2C,CAAA;;;YADnE8J,EAAA,CAAA8R,cAAc,GAAAxY,EACqD,CAAA;AAEjE+C,YAAAA,EAAA,GAAAsN,sBAAsB,CAAA;AAAtB,YAAA,IAAA,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;YACC,OAAM/M,CAAAA,CAAAA,YAAAA,iBAAiB,CAAC+M,sBAAsB,CAAC,CAAA,CAAA;;AAAhDtN,YAAAA,EAAA,GAACsF,EAAA,CAAAzL,IAAA,EAAgD,CAAA;;;AAX/C6b,YAAAA,SAAS,IASb/R,EAAA,CAAAgS,mBAAmB,GAAA3V,EAEgC,EACnD2D,EAAA,CAAAyJ,0BAA0B,GAAAA,0BAAA,EAC1BzJ,EAAA,CAAA0J,yBAAyB,GAAAA,yBAAA,IAC1B,CAAA,CAAA;AACD,YAAA,IAAIJ,aAAa,EAAE;cACjByI,SAAS,CAACE,cAAc,GAAG3I,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAE4I,WAAW,CAAA;AACvD,aAAA;AACItF,YAAAA,IAAAA,CAAAA,kBAAkB,EAAlB,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AACF,YAAA,OAAA,CAAA,CAAA,YAAMvX,OAAO,CAAC8c,GAAG,CACflf,MAAM,CAACmf,IAAI,CAACL,SAAS,CAAC,CAACM,GAAG,CAAC,UAAOC,CAAC,EAAA;AAAA,cAAA,OAAAzd,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;;2BAC7Bkd,SAAS,CAACO,CAAC,CAAC,EAAZ,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AACF/Y,sBAAAA,EAAA,GAAAwY,SAAS,CAAA;AAACzY,sBAAAA,EAAA,GAAAgZ,CAAC,CAAA;sBAAI,OAAMd,CAAAA,CAAAA,YAAAA,gBAAgB,CAACO,SAAS,CAACO,CAAC,CAAE,EAAEA,CAAC,CAAC,CAAA,CAAA;;AAAvD/Y,sBAAAA,EAAA,CAAAD,EAAA,CAAY,GAAG+C,EAAA,CAAAnG,IAAA,EAAwC,CAAA;;;;;;;AAE1D,aAAA,CAAC,CACH,CAAA,CAAA;;YANDyL,EAAA,CAAAzL,IAAA,EAMC,CAAA;;;AAGC4S,YAAAA,iBAAiB,GAAsB;AACzCyJ,cAAAA,YAAY,EAAE;AAAEC,gBAAAA,QAAQ,EAAE,EAAE;AAAEC,gBAAAA,QAAQ,EAAE,EAAE;AAAEC,gBAAAA,UAAU,EAAE,CAAA;eAAG;AAC3DC,cAAAA,YAAY,EAAE;AACZpH,gBAAAA,MAAM,EAAAxX,OAAA,CAAA;AAAI6e,kBAAAA,MAAM,EAAE,KAAK;AAAEC,kBAAAA,SAAS,EAAE,KAAK;AAAEC,kBAAAA,OAAO,EAAE,EAAA;AAAE,iBAAA,EAAKvH,MAAM,CAAA;AAClE,eAAA;AACD5O,cAAAA,cAAc,EAAE;gBACdoW,eAAe,EAAE,IAAIC,IAAI,EAAE,CAACC,OAAO,EAAE,CAACC,QAAQ,EAAE;AAChDvH,gBAAAA,oBAAoB,EAAEA,oBAAoB,GAAG,GAAG,GAAG,GAAG;AACtDH,gBAAAA,mBAAmB,EAAEA,mBAAmB,GAAG,GAAG,GAAG,GAAG;AACpDC,gBAAAA,kBAAkB,EAAEA,kBAAkB,GAAG,GAAG,GAAG,GAAG;AAClD0H,gBAAAA,mBAAmB,EAAE/G,eAAe,GAAG,GAAG,GAAG,GAAG;AAChDgH,gBAAAA,wBAAwB,EAAE3G,oBAAoB,GAAG,GAAG,GAAG,GAAG;AAC1D4G,gBAAAA,qBAAqB,EAAE9G,uBAAuB,GAAG,GAAG,GAAG,GAAG;AAC1D+G,gBAAAA,yBAAyB,EAAE9G,2BAA2B,GAAG,GAAG,GAAG,GAAG;AAClEd,gBAAAA,qBAAqB,EAAEA,qBAAqB,GAAG,GAAG,GAAG,GAAG;AACxD6H,gBAAAA,qBAAqB,EAAExH,oBAAoB,GAAG,GAAG,GAAG,GAAG;AACvDC,gBAAAA,wBAAwB,EAAEA,wBAAwB,GAAG,GAAG,GAAG,GAAG;AAC9DwH,gBAAAA,kBAAkB,EAAE1H,6BAA6B,GAAG,GAAG,GAAG,GAAG;AAC7DF,gBAAAA,mBAAmB,EAAEA,mBAAmB,GAAG,GAAG,GAAG,GAAG;AACpD6H,gBAAAA,sBAAsB,EAAEnH,8BAA8B,GAAG,GAAG,GAAG,GAAG;AAClET,gBAAAA,sBAAsB,EAAEA,sBAAsB,GAAG,GAAG,GAAG,GAAG;AAC1Da,gBAAAA,uBAAuB,EAAAA,uBAAAA;;AAE1B,aAAA,CAAA;AAED,YAAA,IAAIa,eAAe,EAAE;AACnBzE,cAAAA,iBAAiB,CAACnM,cAAc,CAAC4Q,eAAe,GAAGA,eAAe,CAAA;AACpE,aAAA;YACA,IAAIwE,SAAS,CAAC7I,YAAY,EAAE;cAC1BJ,iBAAiB,CAAC6J,YAAY,CAACpH,MAAM,CAACmI,YAAY,GAChD3B,SAAS,CAAC7I,YAAY,CAAA;AAC1B,aAAA;YACA,IAAI6I,SAAS,CAAC5I,WAAW,EAAE;cACzBL,iBAAiB,CAAC6J,YAAY,CAACpH,MAAM,CAACoI,WAAW,GAAG5B,SAAS,CAAC5I,WAAW,CAAA;AAC3E,aAAA;YACA,IAAI4I,SAAS,CAAC3I,aAAa,EAAE;cAC3BN,iBAAiB,CAAC6J,YAAY,CAACpH,MAAM,CAACmI,YAAY,GAChD3B,SAAS,CAAC3I,aAAa,CAAA;AAC3B,aAAA;YACA,IAAI2I,SAAS,CAAC1I,WAAW,EAAE;AACzB;AACA;AACA;AACA;AACAP,cAAAA,iBAAiB,CAAC6J,YAAY,CAACiB,aAAa,GAAG;gBAC7ClY,MAAM,EAAEqW,SAAS,CAAC1I,WAAAA;AACnB,eAAA,CAAA;AACH,aAAA;AACA,YAAA,IAAI8B,SAAS,EAAE;cACbrC,iBAAiB,CAAC+K,QAAQ,GAAG;AAAE1I,gBAAAA,SAAS,EAAAA,SAAAA;eAAE,CAAA;AAC5C,aAAA;AACA,YAAA,IAAIE,YAAY,EAAE;AAChBvC,cAAAA,iBAAiB,CAAC6J,YAAY,CAACtH,YAAY,GAAGA,YAAY,CAAA;AAC5D,aAAA;AACA,YAAA,IAAIC,QAAQ,EAAE;AACZxC,cAAAA,iBAAiB,CAAC6J,YAAY,CAACrH,QAAQ,GAAGA,QAAQ,CAAA;AACpD,aAAA;AACA,YAAA,IAAIF,YAAY,EAAE;AAChB,cAAA,CAAA/J,EAAA,GAAAyH,iBAAiB,CAAC6J,YAAY,EAACtH,YAAY,KAAAhK,EAAA,CAAZgK,YAAY,GAAK,EAAE,CAAA,CAAA;AAClDvC,cAAAA,iBAAiB,CAAC6J,YAAY,CAACtH,YAAY,CAACyI,YAAY,GAAG1I,YAAY,CAAA;AACzE,aAAA;AACA,YAAA,IAAIiB,qBAAqB,EAAE;AACzBvD,cAAAA,iBAAiB,CAACnM,cAAc,CAACoX,aAAa,GAAG1H,qBAAqB,CAAA;AACxE,aAAA;AACA,YAAA,IAAI/C,aAAa,EAAE;AACjBR,cAAAA,iBAAiB,CAAC6J,YAAY,CAACrJ,aAAa,GAAG;AAC7C2I,gBAAAA,cAAc,EAAExV,IAAI,CAACC,SAAS,CAAC4M,aAAa,CAAA;AAC7C,eAAA,CAAA;cACD,IAAIyI,SAAS,CAACF,cAAc,EAAE;gBAC5B/I,iBAAiB,CAAC6J,YAAY,CAACrJ,aAAa,CAACuI,cAAc,GACzDE,SAAS,CAACF,cAAc,CAAA;AAC5B,eAAA;AACF,aAAA;AACA,YAAA,IAAIhI,mBAAmB,EAAE;cACvBf,iBAAiB,CAAC6J,YAAY,CAAC9I,mBAAmB,GAChDA,mBAAmB,CAACwI,GAAG,CAAC,UAACtf,CAAC,EAAA;AAAK,gBAAA,OAAAgB,OAAA,CAAAA,OAAA,CAAA,EAAA,EAC1BhB,CAAC,CAAA,EAAA;kBACJihB,kBAAkB,EAAEvX,IAAI,CAACC,SAAS,CAAA3I,OAAA,CAAAA,OAAA,CAAA,EAAA,EAC5BhB,CAAC,CAACihB,kBAA6C,CAAA,EAAA;AACnDC,oBAAAA,QAAQ,EAAEnL,iBAAiB,CAACnM,cAAc,CAACoW,eAAAA;AAAe,mBAAA,CAAA,CAAA;AAC1D,iBAAA,CAAA,CAAA;AAL2B,eAM7B,CAAC,CAAA;AACP,aAAA;YACA,IAAIhB,SAAS,CAACD,cAAc,EAAE;AAC5B,cAAA,CAAA3Q,EAAA,GAAA2H,iBAAiB,CAAC6J,YAAY,EAACiB,aAAa,KAAAzS,EAAA,CAAbyS,aAAa,GAAK,EAAE,CAAA,CAAA;cACnD9K,iBAAiB,CAAC6J,YAAY,CAACiB,aAAa,CAACM,SAAS,GACpDnC,SAAS,CAACD,cAAc,CAAA;AAC5B,aAAA;YACA,IAAIC,SAAS,CAACC,mBAAmB,EAAE;AACjC,cAAA,CAAAxQ,EAAA,GAAAsH,iBAAiB,CAAC6J,YAAY,EAACiB,aAAa,KAAApS,EAAA,CAAboS,aAAa,GAAK,EAAE,CAAA,CAAA;cACnD9K,iBAAiB,CAAC6J,YAAY,CAACiB,aAAa,CAACO,SAAS,GACpDpC,SAAS,CAACC,mBAAmB,CAAA;AAC/BlJ,cAAAA,iBAAiB,CAAC6J,YAAY,CAACiB,aAAa,CAACQ,cAAc,GACzDxK,2BAA2B,KAA3BA,IAAAA,IAAAA,2BAA2B,KAA3BA,KAAAA,CAAAA,GAAAA,2BAA2B,GAAInD,SAAS,CAAA;AAC1CqC,cAAAA,iBAAiB,CAAC6J,YAAY,CAACiB,aAAa,CAAC3E,iBAAiB,GAC5DA,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,KAAjBA,KAAAA,CAAAA,GAAAA,iBAAiB,GAAIxI,SAAS,CAAA;AAClC,aAAA;YACA,IAAIsL,SAAS,CAACtI,0BAA0B,EAAE;cACxCX,iBAAiB,CAAC6J,YAAY,CAACpH,MAAM,CAAC8I,iBAAiB,GACrDtC,SAAS,CAACtI,0BAA0B,CAAA;AACxC,aAAA;YACA,IAAIsI,SAAS,CAACrI,yBAAyB,EAAE;cACvCZ,iBAAiB,CAAC6J,YAAY,CAACpH,MAAM,CAAC+I,gBAAgB,GACpDvC,SAAS,CAACrI,yBAAyB,CAAA;AACvC,aAAA;YAEAvO,uBAAuB,CAAC2N,iBAAiB,EAAE;AACzCzN,cAAAA,qBAAqB,EAAAA,qBAAA;AACrBC,cAAAA,sBAAsB,EAAAA,sBAAA;AACtBC,cAAAA,qBAAqB,EAAAA,qBAAA;AACrBC,cAAAA,iBAAiB,EAAAA,iBAAAA;aAClB,CAAC,CAAA;AAEEuR,YAAAA,IAAAA,CAAAA,cAAc,EAAd,OAAA,CAAA,CAAA,YAAA,EAAA,CAAA,CAAA;YAC2B,OAAMA,CAAAA,CAAAA,YAAAA,cAAc,CAACjE,iBAAiB,CAAC,CAAA,CAAA;;AAA9DyL,YAAAA,oBAAoB,GAAG5S,EAAA,CAAAzL,IAAA,EAAuC,CAAA;AACpE,YAAA,IAAIqe,oBAAoB,EAAEzL,iBAAiB,GAAGyL,oBAAoB,CAAA;;;AAGpE,YAAA,OAAA,CAAA,CAAA,aAAOzL,iBAAiB,CAAA,CAAA;;;;AACzB,GAAA,EAAE,CACDe,mBAAmB,EACnB2B,mBAAmB,EACnBC,kBAAkB,EAClBH,QAAQ,EACRiC,eAAe,EACfpC,SAAS,EACTuB,uBAAuB,EACvBX,oBAAoB,EACpBC,wBAAwB,EACxBY,kBAAkB,EAClBxB,YAAY,EACZ6D,iBAAiB,EACjBzT,iBAAiB,EACjBD,qBAAqB,EACrB4N,WAAW,EACXyC,mBAAmB,EACnBhC,2BAA2B,EAC3BD,sBAAsB,EACtBD,yBAAyB,EACzBD,0BAA0B,EAC1BD,iBAAiB,EACjB+B,MAAM,EACNjQ,sBAAsB,EACtB4N,YAAY,EACZ2C,sBAAsB,EACtBF,oBAAoB,EACpBD,qBAAqB,EACrBqB,cAAc,EACd3D,aAAa,EACbiC,YAAY,EACZhQ,qBAAqB,EACrBgO,WAAW,EACXC,aAAa,EACbC,iBAAiB,EACjBoB,cAAc,EACdmB,6BAA6B,EAC7BO,qBAAqB,EACrBD,eAAe,EACfK,oBAAoB,EACpBF,uBAAuB,EACvBC,2BAA2B,EAC3BF,8BAA8B,CAC/B,CAAC,CAAA;EAEF,IAAMkI,eAAe,GAAGvE,iBAAW,CAAC,YAAA;AAAA,IAAA,OAAApb,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;;;AAClC,YAAA,IAAIwF,MAAM,KAAKV,gBAAgB,CAAC8a,IAAI,EAAE;AAC9BC,cAAAA,oBAAA,GAAqB;AACzB7Q,gBAAAA,MAAM,EAAE;AAAEa,kBAAAA,UAAU,EAAE,KAAA;iBAAO;AAC7BiQ,gBAAAA,UAAU,EAAE,EAAA;AACb,eAAA,CAAA;AACDlH,cAAAA,mBAAmB,CAAC7T,gBAAgB,CAACgb,SAAS,CAAC,CAAA;cAC/C/G,qBAAqB,CAAC6G,oBAAkB,CAAC,CAAA;AACzC,cAAA,OAAA,CAAA,CAAA,aAAOA,oBAAkB,CAAA,CAAA;AAC3B,aAAA;AAEAjH,YAAAA,mBAAmB,CAAC7T,gBAAgB,CAACib,UAAU,CAAC,CAAA;;;;AAG9B,YAAA,OAAA,CAAA,CAAA,YAAMtD,sBAAsB,EAAE,CAAA,CAAA;;AAAxChL,YAAAA,OAAO,GAAGjN,EAAA,CAAApD,IAAA,EAA8B,CAAA;AACxCiE,YAAAA,IAAI,GAAG+Q,aAAa,IAAIlR,uBAAuB,CAACC,WAAW,CAAC,CAAA;AAC5DuW,YAAAA,QAAQ,GAAGpW,2BAA2B,CAC1CC,MAAM,EACN,CAAC,EAAE6O,YAAY,IAAIC,WAAW,IAAIC,aAAa,CAAC,EAChD,CAAC,CAACC,WAAW,CACd,CAAA;AACgB,YAAA,OAAA,CAAA,CAAA,YAAM9Q,KAAK,CAAC4B,IAAI,GAAGqW,QAAQ,EAAE;AAC5CzJ,cAAAA,MAAM,EAAE,MAAM;AACd9L,cAAAA,OAAO,EAAEH,UAAU,CAACC,SAAS,EAAEC,iCAAiC,CAAC;AACjEjF,cAAAA,IAAI,EAAE0G,IAAI,CAACC,SAAS,CAAC6J,OAAO,CAAA;aAC7B,CAAC,CAAA,OAAA,CAAM,CAAC,UAAC9R,CAAC,EAAA;AACT,cAAA,MAAM,IAAIuP,YAAY,CAACvP,CAAC,CAACqD,OAAO,CAAC,CAAA;AACnC,aAAC,CAAC,CAAA,CAAA;;AANIU,YAAAA,QAAQ,GAAGc,EAAA,CAAApD,IAAA,EAMf,CAAA;AAEE,YAAA,IAAA,EAAA,CAACsC,QAAQ,IAAI,CAACA,QAAQ,CAACC,EAAE,CAAzB,EAAA,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AACoB,YAAA,OAAA,CAAA,CAAA,YAAMD,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,uBAARA,QAAQ,CAAEsc,IAAI,EAAE,CAAA,CAAA;;AAAtC/Q,YAAAA,aAAa,GAAGzK,EAAA,CAAApD,IAAA,EAAsB,CAAA;AAE5C,YAAA,IAAI,CAAC6N,aAAa,IAAIA,aAAa,KAAK,aAAa,EACnD,MAAM,IAAIC,YAAY,CAACD,aAAa,CAAC,CAAA;YAEvC,MAAM,IAAIJ,eAAe,CAAC;AACxBe,cAAAA,UAAU,EAAE,CAAAnL,EAAA,GAAAf,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAEuc,UAAU,MAAAxb,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,EAAA,GAAI,KAAK;AACzCwK,cAAAA,aAAa,EAAAA,aAAAA;aACd,CAAC,CAAA;;YAGuB,OAAMvL,CAAAA,CAAAA,YAAAA,QAAQ,CAACyO,IAAI,EAAE,CAAA,CAAA;;AAA1C+N,YAAAA,oBAAA,GAAqB1b,EAAA,CAAApD,IAAA,EAAqB,CAAA;AAChD,YAAA,IAAI8e,oBAAkB,CAACnR,MAAM,CAACa,UAAU,KAAK,KAAK,EAAE;AAClD,cAAA,MAAM,IAAIf,eAAe,CAACqR,oBAAkB,CAACnR,MAAM,CAAC,CAAA;AACtD,aAAA;YAEA8J,oBAAoB,CAACpH,OAAO,CAAC,CAAA;YAC7BsH,qBAAqB,CAACmH,oBAAkB,CAAC,CAAA;AACzCvH,YAAAA,mBAAmB,CAAC7T,gBAAgB,CAACgb,SAAS,CAAC,CAAA;YAC/CvH,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAkB,CAAG2H,oBAAkB,EAAEzO,OAAO,CAAC,CAAA;AACjD,YAAA,OAAA,CAAA,CAAA,aAAOyO,oBAAkB,CAAA,CAAA;;;AAEnB9Q,YAAAA,GAAG,GAAGiD,GAAU,CAAA;AACtBsG,YAAAA,mBAAmB,CAAC7T,gBAAgB,CAACqb,MAAM,CAAC,CAAA;YAC5ClH,kBAAkB,CAChB5G,GAAC,YAAYxD,eAAe,IAAIwD,GAAC,YAAYnD,YAAY,GACrDmD,GAAC,GACDjD,GAAG,CAACpM,OAAO,KAAK,aAAa,GAC3B,IAAIkM,YAAY,EAAE,GAClB,IAAIL,eAAe,CAAC;AAClBe,cAAAA,UAAU,EAAE,EAAE;cACdX,aAAa,EAAEG,GAAG,CAACpM,OAAAA;AACpB,aAAA,CAAC,CACT,CAAA;AACDoW,YAAAA,kBAAkB,CAAC,YAAA;cACjB,OAAC,CAAA,QAAQ,EAAE,UAAU,CAAC,CAACrI,QAAQ,CAACxL,MAAM,CAAC,GAAG,YAAA;gBAAM,OAAI,IAAA,CAAA;AAAJ,eAAI,GAAGma,eAAe,CAAA;AAAtE,aAAsE,CACvE,CAAA;AACDlH,YAAAA,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAGpJ,GAAG,CAAC,CAAA;AACvB,YAAA,MAAMA,GAAG,CAAA;;;;;;GAEZ,EAAE,CACD7J,MAAM,EACNkX,sBAAsB,EACtBrG,aAAa,EACbjR,WAAW,EACXiP,YAAY,EACZC,WAAW,EACXC,aAAa,EACbC,WAAW,EACXtO,SAAS,EACTC,iCAAiC,EACjCqS,kBAAkB,EAClBC,gBAAgB,CACjB,CAAC,CAAA;EAEF,IAAM3E,MAAM,GAAGsH,iBAAW,CAAC,YAAA;AAAA,IAAA,OAAApb,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;;AACrBiY,YAAAA,IAAAA,CAAAA,QAAQ,EAAR,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AAAiBvT,YAAAA,EAAA,GAAAuT,QAAQ,CAAA;AAAC,YAAA,OAAA,CAAA,CAAA,YAAMyE,sBAAsB,EAAE,CAAA,CAAA;;YAA9C,OAAOhY,CAAAA,CAAAA,aAAAA,EAAA,CAAAhF,KAAA,CAAA,KAAA,CAAA,EAAA,CAAS+E,EAAA,CAAApD,IAAA,EAA8B,CAAC,CAAA,CAAA,CAAA;;AACtD,YAAA,OAAA,CAAA,CAAA,YAAMse,eAAe,EAAE,CAAA,CAAA;;YAA9B,OAAOlb,CAAAA,CAAAA,aAAAA,EAAA,CAAApD,IAAA,EAAuB,CAAA,CAAA;;;;AAC/B,GAAA,EAAE,CAACqb,sBAAsB,EAAEiD,eAAe,EAAE1H,QAAQ,CAAC,CAAC,CAAA;AAEvD,EAAA,IAAM9B,aAAa,GAAGiF,iBAAW,CAC/B,UAAOiF,YAAoB,EAAA;AAAA,IAAA,OAAArgB,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;;;;;AAGrB0d,cAAAA,YAAY,EAAE;AAAEC,gBAAAA,QAAQ,EAAE,EAAE;AAAEC,gBAAAA,QAAQ,EAAE,EAAE;AAAEC,gBAAAA,UAAU,EAAE,CAAA;AAAC,eAAA;;;;YAE9B,OAAMra,CAAAA,CAAAA,YAAAA,eAAe,CAAC6c,YAAY,CAAC,CAAA,CAAA;;YAH5D9Z,OAAO,IAET7B,EAAA,CAAAoZ,YAAY,IACVrZ,EAAA,CAAAsa,aAAa,IAAIvX,EAAA,CAAAX,MAAM,GAAEsE,EAAA,CAAA9J,IAAA,EAAmC,EAAAmG,EAAA,CAAE,KAC/D,EACD9C,EAAA,CAAAoD,cAAc,GAAE;cACdoW,eAAe,EAAE,IAAIC,IAAI,EAAE,CAACC,OAAO,EAAE,CAACC,QAAQ,EAAE;AAChDO,cAAAA,sBAAsB,EAAEnH,8BAA8B,GAAG,GAAG,GAAG,GAAG;AAClE6I,cAAAA,WAAW,EAAE,GAAG;AAChBC,cAAAA,aAAa,EAAE,GAAA;AAChB,aAAA,IACF,CAAA,CAAA;AAED,YAAA,IAAI7H,eAAe,EAAE;AACnBnS,cAAAA,OAAO,CAACuB,cAAc,CAAC4Q,eAAe,GAAGA,eAAe,CAAA;AAC1D,aAAA;AAEA,YAAA,IAAItB,kBAAkB,EAAE;AACtB7Q,cAAAA,OAAO,CAACuX,YAAY,CAACpH,MAAM,GAAG;AAAEmI,gBAAAA,YAAY,EAAEzH,kBAAAA;eAAoB,CAAA;AAClE;AACA7Q,cAAAA,OAAO,CAACuX,YAAY,CAAChW,cAAc,GAAG;AACpCoW,gBAAAA,eAAe,EAAE3X,OAAO,CAACuB,cAAc,CAACoW,eAAAA;AACzC,eAAA,CAAA;AACH,aAAA;YAEA5X,uBAAuB,CAACC,OAAO,EAAE;AAC/BC,cAAAA,qBAAqB,EAAAA,qBAAA;AACrBC,cAAAA,sBAAsB,EAAAA,sBAAA;AACtBC,cAAAA,qBAAqB,EAAAA,qBAAA;AACrBC,cAAAA,iBAAiB,EAAAA,iBAAAA;aAClB,CAAC,CAAA;YAEF4S,uBAAuB,CAAChT,OAAO,CAAC,CAAA;AAE5B4R,YAAAA,IAAAA,CAAAA,qBAAqB,EAArB,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;YAEA,OAAMA,CAAAA,CAAAA,YAAAA,qBAAqB,CAAC5R,OAAO,CAAC,CAAA,CAAA;;AADhCia,YAAAA,2BAA2B,GAC/BrV,EAAA,CAAA9J,IAAA,EAAoC,CAAA;AACtC,YAAA,IAAImf,2BAA2B,EAAEja,OAAO,GAAGia,2BAA2B,CAAA;;;AAGlElb,YAAAA,IAAI,GAAG+Q,aAAa,IAAIlR,uBAAuB,CAACC,WAAW,CAAC,CAAA;AAC5DuW,YAAAA,QAAQ,GAAG5V,iBAAiB,CAAC,CAAC,CAACqR,kBAAkB,CAAC,CAAA;AACvC,YAAA,OAAA,CAAA,CAAA,YAAM1T,KAAK,CAAC4B,IAAI,GAAGqW,QAAQ,EAAE;AAC5CzJ,cAAAA,MAAM,EAAE,MAAM;AACd9L,cAAAA,OAAO,EAAEH,UAAU,CAACC,SAAS,EAAEC,iCAAiC,CAAC;AACjEjF,cAAAA,IAAI,EAAE0G,IAAI,CAACC,SAAS,CAACtB,OAAO,CAAA;aAC7B,CAAC,CAAA,OAAA,CAAM,CAAC,UAAC3G,CAAC,EAAA;AACT,cAAA,MAAM,IAAIuP,YAAY,CAACvP,CAAC,CAACqD,OAAO,CAAC,CAAA;AACnC,aAAC,CAAC,CAAA,CAAA;;AANIU,YAAAA,QAAQ,GAAGwH,EAAA,CAAA9J,IAAA,EAMf,CAAA;iBAEE,CAACsC,QAAQ,CAACC,EAAE,EAAZ,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;YACoB,OAAMD,CAAAA,CAAAA,YAAAA,QAAQ,CAACsc,IAAI,EAAE,CAAA,CAAA;;AAArC/Q,YAAAA,aAAa,GAAG/D,EAAA,CAAA9J,IAAA,EAAqB,CAAA;AAE3C,YAAA,IAAI,CAAC6N,aAAa,IAAIA,aAAa,KAAK,aAAa,EACnD,MAAM,IAAIC,YAAY,CAACD,aAAa,CAAC,CAAA;YAEvC,MAAM,IAAIJ,eAAe,CAAC;cACxBe,UAAU,EAAElM,QAAQ,CAACuc,UAAU;AAC/BhR,cAAAA,aAAa,EAAAA,aAAAA;aACd,CAAC,CAAA;;YAGuB,OAAMvL,CAAAA,CAAAA,YAAAA,QAAQ,CAACyO,IAAI,EAAE,CAAA,CAAA;;AAA1CqO,YAAAA,oBAAA,GAAqBtV,EAAA,CAAA9J,IAAA,EAAqB,CAAA;AAChD,YAAA,IAAIof,oBAAkB,CAACzR,MAAM,CAACa,UAAU,KAAK,KAAK,EAAE;AAClD,cAAA,MAAM,IAAIf,eAAe,CAAC2R,oBAAkB,CAACzR,MAAM,CAAC,CAAA;AACtD,aAAA;YAEAgK,qBAAqB,CAACyH,oBAAkB,CAAC,CAAA;AACzC,YAAA,OAAA,CAAA,CAAA,aAAOA,oBAAkB,CAAA,CAAA;;;AAEnBpR,YAAAA,GAAG,GAAGqR,GAAU,CAAA;AACtB9H,YAAAA,mBAAmB,CAAC7T,gBAAgB,CAACqb,MAAM,CAAC,CAAA;YAC5ClH,kBAAkB,CAChBwH,GAAC,YAAY5R,eAAe,IAAI4R,GAAC,YAAYvR,YAAY,GACrDuR,GAAC,GACDrR,GAAG,CAACpM,OAAO,KAAK,aAAa,GAC3B,IAAIkM,YAAY,EAAE,GAClB,IAAIL,eAAe,CAAC;AAClBe,cAAAA,UAAU,EAAE,EAAE;cACdX,aAAa,EAAEG,GAAG,CAACpM,OAAAA;AACpB,aAAA,CAAC,CACT,CAAA;AACD;AACAoW,YAAAA,kBAAkB,CAAC,YAAA;AAAM,cAAA,OAAA,YAAA;gBAAM,OAAI,IAAA,CAAA;eAAA,CAAA;AAAV,aAAU,CAAC,CAAA;AACpCZ,YAAAA,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAGpJ,GAAG,CAAC,CAAA;AACvB,YAAA,MAAMA,GAAG,CAAA;;;;;;GAEZ,EACD,CACEoI,8BAA8B,EAC9BiB,eAAe,EACftB,kBAAkB,EAClB5Q,qBAAqB,EACrBC,sBAAsB,EACtBC,qBAAqB,EACrBC,iBAAiB,EACjBwR,qBAAqB,EACrB9B,aAAa,EACbjR,WAAW,EACXc,SAAS,EACTC,iCAAiC,EACjCsS,gBAAgB,CACjB,CACF,CAAA;EAED,IAAM1K,mBAAmB,GAAGqN,iBAAW,CAAC,YAAA;IACtCV,sBAAsB,CAAC,UAACnb,CAAC,EAAA;MAAK,OAAAA,CAAC,GAAG,CAAC,CAAA;AAAL,KAAK,CAAC,CAAA;GACrC,EAAE,EAAE,CAAC,CAAA;AAEN8J,EAAAA,eAAS,CAAC,YAAA;IACR,IAAI,CAACgO,kBAAkB,EAAE,OAAA;AAEzBlE,IAAAA,GAAG,CAAC,4BAA4B,EAAEsH,mBAAmB,CAAC,CAAA;AACtDkG,IAAAA,SAAS,CAACC,WAAW,CAACC,kBAAkB,CACtC,UAACC,QAAQ,EAAA;MACPvG,oBAAoB,CAACuG,QAAQ,CAAC,CAAA;MAC9BjG,qBAAqB,CAAC,KAAK,CAAC,CAAA;KAC7B,EACD,UAACkG,aAAa,EAAA;AACZ,MAAA,IAAIA,aAAa,CAACC,IAAI,KAAK,CAAC,EAAE;QAC5BnG,qBAAqB,CAAC,IAAI,CAAC,CAAA;AAC7B,OAAC,MAAM;AACL,QAAA,MAAM,IAAI3X,KAAK,CAAC6d,aAAa,CAAC9d,OAAO,CAAC,CAAA;AACxC,OAAA;AACF,KAAC,CACF,CAAA;GACF,EAAE,CAACwX,mBAAmB,EAAEpD,kBAAkB,EAAEC,mBAAmB,CAAC,CAAC,CAAA;EAElE,IAAM/H,OAAO,GAAG6L,iBAAW,CAAC,YAAA;IAC1B,IAAI,CAAChC,eAAe,EAAE,OAAA;IACtBF,kBAAkB,CAAC,IAAI,CAAC,CAAA;AACxBN,IAAAA,mBAAmB,CAAC7T,gBAAgB,CAACiP,KAAK,CAAC,CAAA;AAC3CoF,IAAAA,eAAe,EAAE,CAAA;AACnB,GAAC,EAAE,CAACA,eAAe,CAAC,CAAC,CAAA;AAErB,EAAA,IAAM9Y,KAAK,GAAoB;AAC7BwT,IAAAA,MAAM,EAAAA,MAAA;AACNC,IAAAA,gBAAgB,EAAAA,gBAAA;AAChBE,IAAAA,iBAAiB,EAAAA,iBAAA;AACjBC,IAAAA,kBAAkB,EAAAA,kBAAA;AAClBC,IAAAA,eAAe,EAAAA,eAAA;AACfC,IAAAA,qBAAqB,EAAEhP,WAAW;AAElCiP,IAAAA,YAAY,EAAAA,YAAA;AACZC,IAAAA,WAAW,EAAAA,WAAA;AACXC,IAAAA,aAAa,EAAAA,aAAA;AACbC,IAAAA,WAAW,EAAAA,WAAA;AACXC,IAAAA,aAAa,EAAAA,aAAA;AACbC,IAAAA,iBAAiB,EAAAA,iBAAA;AACjBC,IAAAA,iBAAiB,EAAAA,iBAAA;AACjBC,IAAAA,0BAA0B,EAAAA,0BAAA;AAC1BC,IAAAA,yBAAyB,EAAAA,yBAAA;AACzBC,IAAAA,sBAAsB,EAAAA,sBAAA;AACtBC,IAAAA,2BAA2B,EAAAA,2BAAA;AAC3BC,IAAAA,mBAAmB,EAAAA,mBAAA;AAEnBC,IAAAA,eAAe,EAAAA,eAAA;AACfC,IAAAA,cAAc,EAAAA,cAAA;AACdC,IAAAA,gBAAgB,EAAAA,gBAAA;AAChBC,IAAAA,cAAc,EAAAA,cAAA;AACdC,IAAAA,gBAAgB,EAAAA,gBAAA;AAChBC,IAAAA,oBAAoB,EAAAA,oBAAA;AACpBC,IAAAA,oBAAoB,EAAAA,oBAAA;AACpBC,IAAAA,6BAA6B,EAAAA,6BAAA;AAC7BC,IAAAA,4BAA4B,EAAAA,4BAAA;AAC5BC,IAAAA,yBAAyB,EAAAA,yBAAA;AACzBC,IAAAA,8BAA8B,EAAAA,8BAAA;AAC9BC,IAAAA,oBAAoB,EAAAA,oBAAA;AACpBC,IAAAA,sBAAsB,EAAAA,sBAAA;AAEtBC,IAAAA,cAAc,EAAAA,cAAA;AAEdC,IAAAA,wBAAwB,EAAAA,wBAAA;AACxBC,IAAAA,uBAAuB,EAAAA,uBAAA;AACvBC,IAAAA,uBAAuB,EAAAA,uBAAA;AAEvBC,IAAAA,oBAAoB,EAAAA,oBAAA;AACpBC,IAAAA,aAAa,EAAAA,aAAA;AACbpI,IAAAA,mBAAmB,EAAAA,mBAAAA;AACpB,GAAA,CAAA;AAED,EAAA,oBACElE,KAAA,CAAAC,aAAA,CAACmE,iBAAiB,CAACwE,QAAQ,EAAA;AAACnS,IAAAA,KAAK,EAAEA,KAAAA;AAAK,GAAA,EACrCgX,mBAAmB,IAAIsD,kBAAkB,kBACxC/Q,KAAA,CAAAC,aAAA,CAAC8D,8BAA8B,OAAG,IAElC/E,QACD,EAEAsL,eAAe,mBACdtK,KAAA,CAAAC,aAAA,CAACwF,sBAAsB,EAAA;AAACvM,IAAAA,KAAK,EAAEoR,eAAe;AAAE5E,IAAAA,OAAO,EAAEA,OAAAA;AAAO,GAAA,CAAI,CACrE,CAC0B,CAAA;AAEjC,CAAC,CAAA;AAED,SAASmM,YAAYA,CAAC7X,IAAU,EAAEod,OAAsB,EAAA;AACtD,EAAA,IAAMC,UAAU;AACd;AACA;AACA,EAAA,OAAO5d,MAAM,CAAC6d,GAAG,KAAK,WAAW,GAAG7d,MAAM,CAAC6d,GAAG,CAACC,MAAM,GAAGA,kBAAM,CAAA;AAEhE,EAAA,OAAO,IAAIF,UAAU,CAACrd,IAAI,EAAEod,OAAO,CAAC,CAAA;AACtC,CAAA;AAEA,SAASzF,mBAAmBA,CAAC6F,WAAmB,EAAA;AAC9C;AACA,EAAA,IAAMjO,KAAK,GAAGiO,WAAW,CAACnd,KAAK,CAAC,UAAU,CAAC,CAAA;AAE3C;AACA,EAAA,IAAMod,SAAS,GAAGlO,KAAK,CAAC,CAAC,CAAC,CAAClP,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC;EACA,IAAMqd,WAAW,GAAGje,MAAM,CAACke,IAAI,CAACpO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAEzC;EACA,IAAMqO,UAAU,GAAG,IAAIC,UAAU,CAACH,WAAW,CAAC9hB,MAAM,CAAC,CAAA;AAErD;AACA,EAAA,KAAK,IAAIH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGiiB,WAAW,CAAC9hB,MAAM,EAAE,EAAEH,CAAC,EAAE;IAC3CmiB,UAAU,CAACniB,CAAC,CAAC,GAAGiiB,WAAW,CAACI,UAAU,CAACriB,CAAC,CAAC,CAAA;AAC3C,GAAA;AAEA;AACA,EAAA,OAAO,IAAIsiB,IAAI,CAAC,CAACH,UAAU,CAAC,EAAE;AAAEhQ,IAAAA,IAAI,EAAE6P,SAAAA;AAAS,GAAE,CAAC,CAAA;AACpD;;ACj6BM,SAAUO,kBAAkBA,CAACC,KAAY,EAAA;AAC7C,EAAA,IAAIC,UAAU,GAAGD,KAAK,CAACnT,KAAK;IAC1BqT,WAAW,GAAGF,KAAK,CAAC3T,MAAM,CAAA;EAE5B,IAAI2T,KAAK,YAAYG,gBAAgB,EAAE;IACrCF,UAAU,GAAGD,KAAK,CAACI,YAAY,CAAA;IAC/BF,WAAW,GAAGF,KAAK,CAACK,aAAa,CAAA;AACnC,GAAA;EAEA,IAAIL,KAAK,YAAYM,gBAAgB,EAAE;IACrCL,UAAU,GAAGD,KAAK,CAACO,UAAU,CAAA;IAC7BL,WAAW,GAAGF,KAAK,CAACQ,WAAW,CAAA;AACjC,GAAA;AAEA,EAAA,OAAO,CAACP,UAAU,EAAEC,WAAW,CAAC,CAAA;AAClC;;AClBO,IAAMO,eAAe,GAAGra,MAAM,CAACsa,MAAM,CAAApa,kBAAA,KAAAA,kBAAA,GAAA1F,oBAAA,CAE3C,CAAA,sBAAA,CAAA,EAAA,CAAA,sBAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEK,SAAU+f,YAAYA,CAC1BD,MAAgC,EAChCV,KAAY,EACZnT,KAAc,EACdR,MAAe,EAAA;EAEf,IAAI,CAACqU,MAAM,EAAE,OAAA;AACb,EAAA,IAAME,GAAG,GAAGF,MAAM,CAACG,UAAU,CAAC,IAAI,CAAC,CAAA;EACnC,IAAI,CAACD,GAAG,EAAE,OAAA;AACV,EAAA,IAAI,CAAC/T,KAAK,IAAI,CAACR,MAAM,EAAE;AACf,IAAA,IAAAzJ,EAAA,GAA4Bmd,kBAAkB,CAACC,KAAK,CAAC;AAApDC,MAAAA,UAAU,GAAArd,EAAA,CAAA,CAAA,CAAA;MAAEsd,WAAW,GAAAtd,EAAA,CAA6B,CAAA,CAAA,CAAA;IAC3DiK,KAAK,KAALA,KAAK,GAAKoT,UAAU,CAAA,CAAA;IACpB5T,MAAM,KAANA,MAAM,GAAK6T,WAAW,CAAA,CAAA;AACxB,GAAA;EACAQ,MAAM,CAAC7T,KAAK,GAAGA,KAAK,CAAA;EACpB6T,MAAM,CAACrU,MAAM,GAAGA,MAAM,CAAA;AACtBuU,EAAAA,GAAG,CAACE,SAAS,CAACd,KAAK,EAAE,CAAC,EAAE,CAAC,EAAEnT,KAAK,EAAER,MAAM,CAAC,CAAA;AAC3C,CAAA;AAEM,SAAU0U,WAAWA,CAACL,MAAgC,EAAA;;AAC1D,EAAA,CAAA9d,EAAA,GAAA8d,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAEG,UAAU,CAAC,IAAI,CAAC,MAAA,IAAA,IAAAje,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAEoe,SAAS,CAAC,CAAC,EAAE,CAAC,EAAEN,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE7T,KAAK,EAAE6T,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAErU,MAAM,CAAC,CAAA;AAC1E,CAAA;;;ACgSM,SAAgB4U,oBAAoBA,CAAAC,YAAA,EAAA;AACxCC,EAAAA,OAAAA,SAAAA,CAAAA,IAAAA,EAAAA,SAAAA,EAAAA,KAAAA,CAAAA,EAAAA,UAAAA,UAAuB,EACvBC,gBAAiC,EAAA;;AAAjC,IAAA,IAAAA,gBAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,MAAAA,gBAAA,GAAiC,KAAA,CAAA;AAAA,KAAA;;;;AAI/B,UAAA,OAAA,CAAA,CAAA,YAAMvC,SAAS,CAACwC,YAAY,CAACC,YAAY,CAAC;AACxCC,YAAAA,KAAK,EAAE;AAAEJ,cAAAA,UAAU,EAAE;AAAEK,gBAAAA,KAAK,EAAEL,UAAAA;AAAU,eAAA;aAAI;AAC5CM,YAAAA,KAAK,EAAEL,gBAAAA;AACR,WAAA,CAAA;AAEH;;;AANIM,UAAAA,uBAAuB,GACzB9e,EAAA,CAAArD,IAAA,EAGE,CAAA;AAGkB,UAAA,OAAA,CAAA,CAAA,YAAMsf,SAAS,CAACwC,YAAY,CAACM,gBAAgB,EAAE,CAAA,CAAA;;UAA/DC,YAAY,GAAIhf,EAAA,CAAArD,IAAA,EAA+C,CAAEsiB,MAAM,CAC3E,UAACjf,EAAQ,EAAA;gBAANkf,IAAI,GAAAlf,EAAA,CAAAkf,IAAA,CAAA;YAAO,OAAAA,IAAI,KAAK,YAAY,CAAA;AAArB,WAAqB,CACpC,CAAA;AAED;AACAJ,UAAAA,uBAAuB,CAACK,cAAc,EAAE,CAACC,OAAO,CAAC,UAACC,KAAK,EAAA;YACrDA,KAAK,CAAC9Q,OAAO,GAAG,KAAK,CAAA;YACrB8Q,KAAK,CAAChY,IAAI,EAAE,CAAA;AACd,WAAC,CAAC,CAAA;AAEFyX,UAAAA,uBAAuB,GAAG,IAAI,CAAA;AAE9B,UAAA,OAAA,CAAA,CAAA,aAAOE,YAAY,CAAA,CAAA;;;;;AAGrB,IAAMM,WAAW,GAAG,CAClB,OAAO,EACP,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,eAAe,CAChB,CAACxG,GAAG,CAAC,UAACne,CAAC,EAAA;AAAK,EAAA,OAAAA,CAAC,CAAC4kB,iBAAiB,EAAE,CAAC/f,KAAK,CAAC,GAAG,CAAC,CAACggB,IAAI,CAAC,EAAE,CAAC,CAAA;AAAzC,CAAyC,CAAC,CAAA;AACvD,IAAMC,UAAU,GAAG,CACjB,MAAM,EACN,MAAM,EACN,WAAW,EACX,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,eAAe,CAChB,CAAC3G,GAAG,CAAC,UAACne,CAAC,EAAA;AAAK,EAAA,OAAAA,CAAC,CAAC4kB,iBAAiB,EAAE,CAAC/f,KAAK,CAAC,GAAG,CAAC,CAACggB,IAAI,CAAC,EAAE,CAAC,CAAA;AAAzC,CAAyC,CAAC,CAAA;AACvD,IAAME,mBAAmB,GAAG,CAC1B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,gCAAgC,EAChC,gCAAgC,EAChC,kCAAkC,EAClC,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,EAC9B,qBAAqB,EACrB,yCAAyC,EACzC,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,EAChC,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAC3B,iCAAiC,EACjC,iCAAiC,EACjC,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,UAAU,EACV,aAAa,EACb,0BAA0B,CAC3B,CAAC5G,GAAG,CAAC,UAACne,CAAC,EAAA;AAAK,EAAA,OAAAA,CAAC,CAAC4kB,iBAAiB,EAAE,CAAC/f,KAAK,CAAC,GAAG,CAAC,CAACggB,IAAI,CAAC,EAAE,CAAC,CAAA;AAAzC,CAAyC,CAAC,CAAA;AAEvD,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAChBC,aAAuC,EACvCC,eAAkC,EAAA;EAElC,IAAMnjB,KAAK,GACTkjB,aAAa,YAAYE,eAAe,GACpCC,cAAc,CAACH,aAAa,CAAC,GAC7BA,aAAa,CAAA;EAEnB,IAAMI,QAAQ,GACZ,OAAOH,eAAe,KAAK,QAAQ,GAAG,CAACA,eAAe,CAAC,GAAGA,eAAe,CAAA;AAE3E,EAAA,OAAOG,QAAQ,CAACC,IAAI,CAAC,UAACriB,CAAC,EAAA;AAAK,IAAA,OAAAlB,KAAK,CAAC4P,QAAQ,CAAC1O,CAAC,CAAC,CAAA;AAAjB,GAAiB,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,IAAMmiB,cAAc,GAAG,SAAjBA,cAAcA,CAAIG,UAA2B,EAAA;AACjD,EAAA,OAAAA,UAAU,CAACxjB,KAAK,CAAC6iB,iBAAiB,EAAE,CAAC/f,KAAK,CAAC,GAAG,CAAC,CAACggB,IAAI,CAAC,EAAE,CAAC,CAAA;AAAxD,CAAwD,CAAA;AAE1D,IAAIW,aAAiC,CAAA;AACrC,IAAIC,kBAA2C,CAAA;AAEzC,SAAUC,kBAAkBA,CAChCC,MAAmB,EACnBC,WAAmB,EACnB5B,KAA+B,EAAA;AAE/B6B,EAAAA,mBAAmB,EAAE,CAAA;EAErB/R,GAAG,CAAC,4BAA4B,CAAC,CAAA;EAC7B,IAAAzO,EAAA,GAAoBsgB,MAAM,CAACnB,cAAc,EAAE,CAAC,CAAC,CAAC,CAACsB,WAAW,EAAE;IAA1DxW,KAAK,GAAAjK,EAAA,CAAAiK,KAAA;IAAER,MAAM,GAAAzJ,EAAA,CAAAyJ,MAA6C,CAAA;AAChE,EAAA,IAAM/M,KAAK,GAAG6jB,WAAW,CAAChB,iBAAiB,EAAE,CAAC/f,KAAK,CAAC,GAAG,CAAC,CAACggB,IAAI,CAAC,EAAE,CAAC,CAAA;AACjE,EAAA,IAAMkB,YAAY,GAAGf,YAAY,CAACjjB,KAAK,EAAAc,aAAA,CAAAA,aAAA,CAAAA,aAAA,KAClCiiB,UAAU,EAAA,IAAA,CAAA,EACVC,mBAAmB,EACtB,IAAA,CAAA,EAAA,CAAA,QAAQ,GACR,KAAA,CAAA,CAAA,CAAA;AACF,EAAA,IAAMiB,OAAO,GAAG,SAAVA,OAAOA,GAAG;AACdL,IAAAA,MAAM,CAACM,SAAS,EAAE,CAACxB,OAAO,CAAC,UAACC,KAAK,EAAA;MAC/BA,KAAK,CAAC9Q,OAAO,GAAG,KAAK,CAAA;MACrB8Q,KAAK,CAAChY,IAAI,EAAE,CAAA;AACd,KAAC,CAAC,CAAA;AACF,IAAA,IAAIsX,KAAK,EAAE;MACTA,KAAK,CAACkC,KAAK,EAAE,CAAA;MACblC,KAAK,CAACmC,SAAS,GAAG,IAAI,CAAA;MACtBnC,KAAK,CAAC9U,GAAG,GAAG,EAAE,CAAA;AAChB,KAAA;GACD,CAAA;EAEDI,KAAK,KAALA,KAAK,GAAK,CAAC,CAAA,CAAA;EACXR,MAAM,KAANA,MAAM,GAAK,CAAC,CAAA,CAAA;AAEZ0W,EAAAA,aAAa,GAAG;AACdzjB,IAAAA,KAAK,EAAE6jB,WAAW;AAClBD,IAAAA,MAAM,EAAAA,MAAA;AACNrW,IAAAA,KAAK,EAAAA,KAAA;AACLR,IAAAA,MAAM,EAAAA,MAAA;AACNiX,IAAAA,YAAY,EAAAA,YAAA;AACZC,IAAAA,OAAO,EAAAA,OAAAA;AACR,GAAA,CAAA;AACD,EAAA,IAAIhC,KAAK,EAAEA,KAAK,CAACmC,SAAS,GAAGR,MAAM,CAAA;AAEnC,EAAA,OAAOH,aAAa,CAAA;AACtB,CAAA;AAEM,SAAUK,mBAAmBA,GAAA;EACjC,IAAI,CAACL,aAAa,EAAE,OAAA;EACpB1R,GAAG,CAAC,4BAA4B,CAAC,CAAA;EACjC0R,aAAa,CAACQ,OAAO,EAAE,CAAA;AACvBR,EAAAA,aAAa,GAAGjT,SAAS,CAAA;AAC3B,CAAA;AAEM,SAAU6T,uBAAuBA,GAAA;;EACrC,IAAI,CAACX,kBAAkB,EAAE,OAAA;EACzB3R,GAAG,CAAC,gCAAgC,CAAC,CAAA;AACrC,EAAA,CAAAzO,EAAA,GAAAogB,kBAAkB,CAAC/Y,IAAI,MAAA,IAAA,IAAArH,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAA/F,IAAA,CAAAmmB,kBAAA,CAAI,CAAA;AAC3BA,EAAAA,kBAAkB,CAACY,cAAc,EAAE,CAAC5B,OAAO,CAAC,UAAC1kB,CAAC,EAAA;;AAC5C,IAAA,CAAAsF,EAAA,GAAAtF,CAAC,CAAC2M,IAAI,MAAA,IAAA,IAAArH,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAA/F,IAAA,CAAAS,CAAA,CAAI,CAAA;AACZ,GAAC,CAAC,CAAA;AACF0lB,EAAAA,kBAAkB,GAAGlT,SAAS,CAAA;AAChC,CAAA;AAiCM,SAAU+T,yBAAyBA,CAACjhB,EAQH,EAAA;AARGD,EAAAA,IAAAA,EAAA,GAAAC,EAAA,KAQL,KAAA,CAAA,GAAA,EAAE,GAAAA,EAAA;IAPrC8C,EAAA,GAAA/C,EAAA,CAAAmhB,0BAAiC;AAAjCA,IAAAA,0BAA0B,GAAApe,EAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,EAAA;IACjC2D,EAAA,GAAA1G,EAAA,CAAAohB,uBAA+B;AAA/BA,IAAAA,uBAAuB,GAAA1a,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IAC/BqB,EAAA,GAAA/H,EAAA,CAAAqhB,sBAA6B;AAA7BA,IAAAA,sBAAsB,GAAAtZ,EAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,EAAA;IAC7BF,EAAA,GAAA7H,EAAA,CAAAshB,uBAA+B;AAA/BA,IAAAA,uBAAuB,GAAAzZ,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IAC/BK,EAAA,GAAAlI,EAAA,CAAAuhB,aAAoB;AAApBA,IAAAA,aAAa,GAAArZ,EAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,EAAA;IACpBsZ,MAAM,GAAAxhB,EAAA,CAAAwhB,MAAA;IACNnZ,EAAA,GAAArI,EAAA,CAAAyhB,SAAiB;AAAjBA,IAAAA,SAAS,GAAApZ,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA,CAAA;AAEjB,EAAA,IAAMqZ,QAAQ,GAAGlb,YAAM,CAA0B,IAAI,CAAC,CAAA;AACtD,EAAA,IAAMmb,aAAa,GAAGnb,YAAM,CAAqB,EAAE,CAAC,CAAA;AACpD,EAAA,IAAMob,SAAS,GAAGpb,YAAM,CAAgB,IAAI,CAAC,CAAA;AACvC,EAAA,IAAA8B,EAAA,GAAgC7D,cAAQ,CAAC,KAAK,CAAC;AAA9Cod,IAAAA,WAAW,GAAAvZ,EAAA,CAAA,CAAA,CAAA;IAAEwZ,cAAc,GAAAxZ,EAAA,CAAmB,CAAA,CAAA,CAAA;AAC/C,EAAA,IAAAF,EAAA,GAAwC3D,cAAQ,CAAC,KAAK,CAAC;AAAtDsd,IAAAA,eAAe,GAAA3Z,EAAA,CAAA,CAAA,CAAA;IAAE4Z,kBAAkB,GAAA5Z,EAAA,CAAmB,CAAA,CAAA,CAAA;AACvD,EAAA,IAAAH,EAAA,GAAgCxD,cAAQ,CAAyB,IAAI,CAAC;AAArEwd,IAAAA,WAAW,GAAAha,EAAA,CAAA,CAAA,CAAA;IAAEia,cAAc,GAAAja,EAAA,CAA0C,CAAA,CAAA,CAAA;AACtE,EAAA,IAAAO,EAAA,GAAgC/D,cAAQ,CAAqB,IAAI,CAAC;AAAjE0d,IAAAA,WAAW,GAAA3Z,EAAA,CAAA,CAAA,CAAA;IAAE4Z,cAAc,GAAA5Z,EAAA,CAAsC,CAAA,CAAA,CAAA;AAClE,EAAA,IAAAG,EAAA,GAAgClE,cAAQ,CAAC,KAAK,CAAC;AAA9C4d,IAAAA,WAAW,GAAA1Z,EAAA,CAAA,CAAA,CAAA;IAAE2Z,cAAc,GAAA3Z,EAAA,CAAmB,CAAA,CAAA,CAAA;AAC/C,EAAA,IAAAD,EAAA,GACJjE,cAAQ,CAAC,KAAK,CAAC;AADV8d,IAAAA,+BAA+B,GAAA7Z,EAAA,CAAA,CAAA,CAAA;IAAE8Z,kCAAkC,GAAA9Z,EAAA,CACzD,CAAA,CAAA,CAAA;AACX,EAAA,IAAAH,EAAA,GACJ9D,cAAQ,CAAC4c,sBAAsB,CAAC;AAD3BoB,IAAAA,6BAA6B,GAAAla,EAAA,CAAA,CAAA,CAAA;IAAEma,gCAAgC,GAAAna,EAAA,CACpC,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAAO,EAAA,GACJrE,cAAQ,CAAC,KAAK,CAAC;AADVke,IAAAA,4BAA4B,GAAA7Z,EAAA,CAAA,CAAA,CAAA;IAAE8Z,+BAA+B,GAAA9Z,EAAA,CACnD,CAAA,CAAA,CAAA;AACX,EAAA,IAAAG,EAAA,GAA8CxE,cAAQ,CAAC,KAAK,CAAC;AAA5Doe,IAAAA,kBAAkB,GAAA5Z,EAAA,CAAA,CAAA,CAAA;IAAE6Z,qBAAqB,GAAA7Z,EAAA,CAAmB,CAAA,CAAA,CAAA;AAC7D,EAAA,IAAAD,EAAA,GAAsDvE,cAAQ,CAAC,KAAK,CAAC;AAApEse,IAAAA,sBAAsB,GAAA/Z,EAAA,CAAA,CAAA,CAAA;IAAEga,yBAAyB,GAAAha,EAAA,CAAmB,CAAA,CAAA,CAAA;AAE3E,EAAA,IAAMia,eAAe,GAAGvB,QAAQ,CAAC3a,OAAO,CAAA;EACxCnC,eAAS,CACP,SAASse,8BAA8BA,GAAA;AACrC;AACA,IAAA,IAAMC,UAAU,GAAGxB,aAAa,CAAC5a,OAAO,CAAChJ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrD,IAAA,IAAIklB,eAAe,IAAIA,eAAe,KAAKE,UAAU,EAAE;AACrDzU,MAAAA,GAAG,CAAC,uBAAuB,EAAEuU,eAAe,CAAC,CAAA;AAC7CtB,MAAAA,aAAa,CAAC5a,OAAO,CAACvJ,IAAI,CAACylB,eAAe,CAAC,CAAA;AAC7C,KAAA;AACF,GAAC,EACD,CAACA,eAAe,CAAC,CAClB,CAAA;AAED,EAAA,IAAMG,gBAAgB,GAAGzM,iBAAW,CAAC,UAAC0M,YAA8B,EAAA;AAClE3U,IAAAA,GAAG,CAAC,2BAA2B,EAAE2U,YAAY,CAAC,CAAA;IAC9C1B,aAAa,CAAC5a,OAAO,GAAG4a,aAAa,CAAC5a,OAAO,CAACmY,MAAM,CAClD,UAAC7hB,CAAC,EAAA;MAAK,OAAAA,CAAC,KAAKgmB,YAAY,CAAA;AAAlB,KAAkB,CAC1B,CAAA;AAED3B,IAAAA,QAAQ,CAAC3a,OAAO,GAAG4a,aAAa,CAAC5a,OAAO,CAAChJ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD2Q,IAAAA,GAAG,CAAC,iBAAiB,EAAEgT,QAAQ,CAAC3a,OAAO,CAAC,CAAA;GACzC,EAAE,EAAE,CAAC,CAAA;EAENnC,eAAS,CACP,SAAS0e,wCAAwCA,GAAA;AAC/C,IAAA,IAAI7B,SAAS,EAAE;AACb/S,MAAAA,GAAG,CACD,0CAA0C,EAC1C+T,6BAA6B,CAC9B,CAAA;AACH,KAAA;AACAhC,IAAAA,mBAAmB,EAAE,CAAA;IACrBmB,SAAS,CAAC7a,OAAO,GAAG,IAAI,CAAA;IACxBub,cAAc,CAAC,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACb,SAAS,EAAEgB,6BAA6B,CAAC,CAC3C,CAAA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,IAAMc,mBAAmB,GAAG5M,iBAAW,CACrC,SAAe6M,0BAA0BA,GAAA;;;;;;;YACvC1B,cAAc,CAAC,KAAK,CAAC,CAAA;YACrBgB,qBAAqB,CAAC,KAAK,CAAC,CAAA;;;;AAGH,YAAA,OAAA,CAAA,CAAA,YAAMxE,oBAAoB,EAAE,CAAA,CAAA;;AAA/CmF,YAAAA,gBAAgB,GAAG1gB,EAAA,CAAAnG,IAAA,EAA4B,CAAA;AAC/C8mB,YAAAA,cAAc,GAA6B,KAAA,CAAA,CAAA;AAE/C,YAAA,IAAIjC,SAAS,EAAE;AACb/S,cAAAA,GAAG,CAAC,kBAAkB,EAAE+U,gBAAgB,CAAC,CAAA;AAC3C,aAAA;YAEME,UAAA,GAAW/kB,WAAW,EAAE,CAAA;AAC9B,YAAA,IAAI6iB,SAAS,EAAE;AACb/S,cAAAA,GAAG,CAAC,iBAAiB,EAAEiV,UAAQ,CAAC,CAAA;AAClC,aAAA;YACA,IACE,CAAChB,4BAA4B,KAC5B,EAACgB,UAAQ,KAARA,IAAAA,IAAAA,UAAQ,uBAARA,UAAQ,CAAE/gB,EAAE,CAAI+gB,IAAAA,UAAQ,CAAC/gB,EAAE,CAACC,MAAM,KAAK,MAAM,CAAC,EAChD;AACM+gB,cAAAA,sBAAsB,GAAGH,gBAAgB,CAACI,IAAI,CAAC,UAAC1D,UAAU,EAAA;AAC9D,gBAAA,OAAAP,YAAY,CAACO,UAAU,EAAE,QAAQ,CAAC,CAAA;AAAlC,eAAkC,CACnC,CAAA;AACDqC,cAAAA,kCAAkC,CAAC,CAAC,CAACoB,sBAAsB,CAAC,CAAA;cAC5D,IAAIA,sBAAsB,IAAInB,6BAA6B,EAAE;AAC3DiB,gBAAAA,cAAc,GAAGE,sBAAsB,CAAA;AACzC,eAAA;aACD,MAAM,IACL,CAAA,CAAA3jB,EAAA,GAAA0jB,UAAQ,KAAA,IAAA,IAARA,UAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,UAAQ,CAAE/gB,EAAE,MAAA,IAAA,IAAA3C,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAE4C,MAAM,MAAK,SAAS,IAClC4gB,gBAAgB,CAACK,KAAK,CAAC,UAACC,CAAC,EAAA;AAAK,cAAA,OAAAA,CAAC,CAACpnB,KAAK,CAAC2b,UAAU,CAAC,UAAU,CAAC,CAAA;AAA9B,aAA8B,CAAC,EAC7D;cACAmL,gBAAgB,GAAGA,gBAAgB,CAACO,IAAI,CAAC,UAACC,CAAC,EAAEvqB,CAAC,EAAA;AAC5C,gBAAA,OAAAuqB,CAAC,CAACtnB,KAAK,CAACunB,WAAW,EAAE,CAACC,aAAa,CAACzqB,CAAC,CAACiD,KAAK,CAACunB,WAAW,EAAE,CAAC,CAAA;AAA1D,eAA0D,CAC3D,CAAA;AACD,cAAA,IAAIzC,SAAS,EAAE;AACb/S,gBAAAA,GAAG,CAAC,0BAA0B,EAAE+U,gBAAgB,CAAC,CAAA;AACnD,eAAA;AACF,aAAA;AAEA,YAAA,IAAIrC,uBAAuB,EAAE;AAC3BsC,cAAAA,cAAc,GAAGD,gBAAgB,CAACI,IAAI,CAAC,UAAC1D,UAAU,EAAA;AAChD,gBAAA,OAAAP,YAAY,CAACO,UAAU,EAAEZ,WAAW,CAAC,CAAA;AAArC,eAAqC,CACtC,CAAA;AACH,aAAA;YAEAmE,cAAc,KAAdA,cAAc,GAAKD,gBAAgB,CAACI,IAAI,CAAC,UAAC1D,UAAU,EAAA;AAClD,cAAA,OAAAP,YAAY,CAACO,UAAU,EAAE,kBAAkB,CAAC,CAAA;AAA5C,aAA4C,CAC7C,CAAA,CAAA;YACDuD,cAAc,KAAdA,cAAc,GAAKD,gBAAgB,CAACI,IAAI,CAAC,UAAC1D,UAAU,EAAA;AAClD,cAAA,OAAAP,YAAY,CAACO,UAAU,EAAE,gBAAgB,CAAC,CAAA;AAA1C,aAA0C,CAC3C,CAAA,CAAA;YACDuD,cAAc,KAAdA,cAAc,GAAKD,gBAAgB,CAACI,IAAI,CACtC,UAAC1D,UAAU,EAAA;AACT,cAAA,OAAAP,YAAY,CAACO,UAAU,EAAET,UAAU,CAAC,IACpC,CAACE,YAAY,CAACO,UAAU,EAAER,mBAAmB,CAAC,CAAA;AAD9C,aAC8C,CACjD,CAAA,CAAA;YAED+D,cAAc,KAAdA,cAAc,GAAKD,gBAAgB,CAACI,IAAI,CAAC,UAAC1D,UAAU,EAAA;AAClD,cAAA,OAAAP,YAAY,CAACO,UAAU,EAAET,UAAU,CAAC,CAAA;AAApC,aAAoC,CACrC,CAAA,CAAA;AAED;YACA,IACE,CAAC0B,uBAAuB,IACxB,CAAAphB,CAAAA,EAAA,GAAA2jB,UAAQ,KAARA,IAAAA,IAAAA,UAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAQ,CAAE/gB,EAAE,MAAA5C,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAE6C,MAAM,MAAK,KAAK,IAC9B4gB,gBAAgB,CAACzoB,MAAM,GAAG,CAAC,EAC3B;AACA0oB,cAAAA,cAAc,KAAdA,cAAc,GAAKD,gBAAgB,CAAC,CAAC,CAAC,CAAA,CAAA;AACxC,aAAA;AAEAC,YAAAA,cAAc,KAAdA,cAAc,GAAKD,gBAAgB,CAAC,CAAC,CAAC,CAAA,CAAA;AAEtC,YAAA,IAAIhC,SAAS,EAAE/S,GAAG,CAAC,gBAAgB,EAAEgV,cAAc,CAAC,CAAA;YACpDxB,cAAc,CAACwB,cAAc,CAAC,CAAA;;;;AAE9B,YAAA,IAAK7V,GAAsB,CAACnP,IAAI,KAAK,iBAAiB,EAAE;AACtDJ,cAAAA,KAAK,CAAC,4CAA4C,EAAEuP,GAAC,CAAC,CAAA;cACtDiV,qBAAqB,CAAC,IAAI,CAAC,CAAA;AAC7B,aAAC,MAAM;AACLxkB,cAAAA,KAAK,CAAC,4CAA4C,EAAEuP,GAAC,CAAC,CAAA;AACtD,cAAA,MAAMA,GAAC,CAAA;AACT,aAAA;;;;;;;GAEH,EACD,CACE4T,SAAS,EACTgB,6BAA6B,EAC7BE,4BAA4B,EAC5BvB,uBAAuB,CACxB,CACF,CAAA;EAEDxc,eAAS,CACP,SAASwf,gCAAgCA,GAAA;AACvC,IAAA,IAAIjD,0BAA0B,IAAI,CAAC0B,kBAAkB,EAAE;AACrDU,MAAAA,mBAAmB,EAAE,CAAA,OAAA,CAAM,CAACjlB,KAAK,CAAC,CAAA;AACpC,KAAA;GACD,EACD,CAACukB,kBAAkB,EAAE1B,0BAA0B,EAAEoC,mBAAmB,CAAC,CACtE,CAAA;EAED3e,eAAS,CACP,SAASyf,kBAAkBA,GAAA;AAA3B,IAAA,IAAA7Z,KAAA,GAAA,IAAA,CAAA;;IACE,IAAI,CAACyX,WAAW,EAAE,OAAA;AAElB,IAAA,IAAMqC,OAAO,GAAG,SAAVA,OAAOA,GAAG;AACd7D,MAAAA,mBAAmB,EAAE,CAAA;MACrBmB,SAAS,CAAC7a,OAAO,GAAG,IAAI,CAAA;MACxBub,cAAc,CAAC,KAAK,CAAC,CAAA;KACtB,CAAA;AAED,IAAA,IAAI,EAAC,CAAAriB,EAAA,GAAAic,SAAS,CAACwC,YAAY,MAAAze,IAAAA,IAAAA,EAAA,uBAAAA,EAAA,CAAE0e,YAAY,CAAA,EAAE,OAAO2F,OAAO,CAAA;IACxD,CAAC,YAAA;MAAA,OAAA/oB,SAAA,CAAAiP,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;;;AACM+Z,cAAAA,WAAW,GAA2B;AAC1CzF,gBAAAA,KAAK,EAAE,KAAK;AACZF,gBAAAA,KAAK,EAAE;AACL4F,kBAAAA,QAAQ,EAAE;oBAAE3F,KAAK,EAAEoD,WAAW,CAACuC,QAAAA;mBAAU;AACzCta,kBAAAA,KAAK,EAAE;AAAEua,oBAAAA,KAAK,EAAElD,aAAAA;mBAAe;AAC/BmD,kBAAAA,WAAW,EAAE,WAAW;AACxBC,kBAAAA,SAAS,EAAE,EAAA;;AAEd,eAAA,CAAA;AAED,cAAA,IAAInD,MAAM,EAAE;AACV;AACA;AACA+C,gBAAAA,WAAW,CAAC3F,KAAK,CAAC+F,SAAS,GAAG;AAAEC,kBAAAA,GAAG,EAAEpD,MAAAA;iBAAQ,CAAA;AAC/C,eAAA;AAEIjB,cAAAA,MAAM,GAAuB,IAAI,CAAA;;;;AAE1B,cAAA,OAAA,CAAA,CAAA,YAAMrE,SAAS,CAACwC,YAAY,CAACC,YAAY,CAAC4F,WAAW,CAAC,CAAA,CAAA;;AAA/DhE,cAAAA,MAAM,GAAGvgB,EAAA,CAAApD,IAAA,EAAsD,CAAA;;;;AAE/D,cAAA,IAAKqf,GAAsB,CAACvd,IAAI,KAAK,iBAAiB,EAAE;AACtD,gBAAA,IAAI+jB,6BAA6B,EAAE;kBACjCD,kCAAkC,CAAC,KAAK,CAAC,CAAA;kBACzCI,+BAA+B,CAAC,IAAI,CAAC,CAAA;AACvC,iBAAC,MAAM;kBACLE,qBAAqB,CAAC,IAAI,CAAC,CAAA;AAC7B,iBAAA;AACA,gBAAA,OAAA,CAAA,CAAA,YAAA,CAAA;AACF,eAAA;;;AAGE,cAAA,IAAA,CAAA,CAACvC,MAAM,EAAP,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;;;;AAES,cAAA,OAAA,CAAA,CAAA,YAAMrE,SAAS,CAACwC,YAAY,CAACC,YAAY,CAAC;AACjDG,gBAAAA,KAAK,EAAE,KAAK;AACZF,gBAAAA,KAAK,EAAE,IAAA;eACR,CAAC,CAAA,CAAA;;AAHF2B,cAAAA,MAAM,GAAGvgB,EAAA,CAAApD,IAAA,EAGP,CAAA;cAEF8R,GAAG,CAAC,oDAAoD,CAAC,CAAA;;;;cAEzDA,GAAG,CAAC,2BAA2B,CAAC,CAAA;;;cAIpC,IAAI,CAAC6R,MAAM,EAAE;AACX,gBAAA,MAAM,IAAI9hB,KAAK,CAAC,uBAAuB,CAAC,CAAA;AAC1C,eAAA;AAEMomB,cAAAA,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAG;gBACxB,IACEtC,+BAA+B,IAC/BE,6BAA6B,EAC7B;kBACA/T,GAAG,CAAC,yCAAyC,CAAC,CAAA;AAC9C+R,kBAAAA,mBAAmB,EAAE,CAAA;kBACrBmB,SAAS,CAAC7a,OAAO,GAAG,IAAI,CAAA;kBACxByb,kCAAkC,CAAC,KAAK,CAAC,CAAA;kBACzCI,+BAA+B,CAAC,IAAI,CAAC,CAAA;kBACrCV,cAAc,CAAC,IAAI,CAAC,CAAA;AACtB,iBAAC,MAAM;kBACLxT,GAAG,CAAC,8BAA8B,CAAC,CAAA;AACnC+R,kBAAAA,mBAAmB,EAAE,CAAA;kBACrBmB,SAAS,CAAC7a,OAAO,GAAG,IAAI,CAAA;kBACxBub,cAAc,CAAC,KAAK,CAAC,CAAA;kBACrBQ,qBAAqB,CAAC,IAAI,CAAC,CAAA;AAC7B,iBAAA;eACD,CAAA;AAED,cAAA,CAAA7iB,EAAA,GAAAyhB,QAAQ,CAAC3a,OAAO,MAAA9G,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAEiF,gBAAgB,CAAC,OAAO,EAAE2f,iBAAiB,CAAC,CAAA;AAC9DtE,cAAAA,MAAM,CAACnB,cAAc,EAAE,CAACC,OAAO,CAAC,UAACC,KAAK,EAAA;gBACpCA,KAAK,CAACwF,OAAO,GAAGD,iBAAiB,CAAA;AACnC,eAAC,CAAC,CAAA;AAEFjD,cAAAA,SAAS,CAAC7a,OAAO,GAAGuZ,kBAAkB,CACpCC,MAAM,EACN0B,WAAW,CAACtlB,KAAK,EACjB+kB,QAAQ,CAAC3a,OAAO,CACjB,CAAA;;;;;AACF,KAAA,GAAG,CAAA;AAEJ,IAAA,OAAOud,OAAO,CAAA;AAChB,GAAC,EACD,CACE7B,6BAA6B,EAC7BF,+BAA+B,EAC/Bf,MAAM,EACND,aAAa,EACbU,WAAW,CACZ,CACF,CAAA;EAEDrd,eAAS,CACP,SAASmgB,kBAAkBA,GAAA;AACzB;AACA;AACA;IAEAjD,cAAc,CAAC,KAAK,CAAC,CAAA;IAErB,IAAIG,WAAW,IAAII,WAAW,EAAE;AAC9BP,MAAAA,cAAc,CAACG,WAAW,IAAII,WAAW,CAAC,CAAA;AAC5C,KAAA;AACF,GAAC,EACD,CAACA,WAAW,EAAEJ,WAAW,CAAC,CAC3B,CAAA;AAED,EAAA,IAAM+C,uBAAuB,GAAGrO,iBAAW,CACzC,SAAesO,wBAAwBA,GAAA;;;;;;YACrCjD,kBAAkB,CAAC,KAAK,CAAC,CAAA;YACzBgB,yBAAyB,CAAC,KAAK,CAAC,CAAA;;;;AAGf,YAAA,OAAA,CAAA,CAAA,YAAM9G,SAAS,CAACwC,YAAY,CAACC,YAAY,CAAC;AACvDG,cAAAA,KAAK,EAAE,IAAI;AACXF,cAAAA,KAAK,EAAE,KAAA;aACR,CAAC,CAAA,CAAA;;AAHI2B,YAAAA,MAAM,GAAGtgB,EAAA,CAAArD,IAAA,EAGb,CAAA;AACFyjB,YAAAA,kBAAkB,GAAGE,MAAM,CAAA;YAC3B6B,cAAc,CAAC7B,MAAM,CAAC,CAAA;YACtByB,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAExBzB,YAAAA,MAAM,CAACU,cAAc,EAAE,CAAC5B,OAAO,CAAC,UAACC,KAAK,EAAA;cACpCA,KAAK,CAACwF,OAAO,GAAG,YAAA;gBACd9B,yBAAyB,CAAC,IAAI,CAAC,CAAA;eAChC,CAAA;AACH,aAAC,CAAC,CAAA;;;;YAEFA,yBAAyB,CAAC,IAAI,CAAC,CAAA;;;;;;;AAElC,GAAA,EACD,EAAE,CACH,CAAA;EAEDpe,eAAS,CACP,SAASsgB,+BAA+BA,GAAA;AACtC,IAAA,IAAI,CAAC5D,uBAAuB,IAAIyB,sBAAsB,EAAE,OAAA;AAExDiC,IAAAA,uBAAuB,EAAE,CAAA,OAAA,CAAM,CAAC1mB,KAAK,CAAC,CAAA;IAEtC,OAAO,YAAA;AACL0iB,MAAAA,uBAAuB,EAAE,CAAA;MACzBoB,cAAc,CAAC,IAAI,CAAC,CAAA;MACpBJ,kBAAkB,CAAC,KAAK,CAAC,CAAA;KAC1B,CAAA;GACF,EACD,CAACe,sBAAsB,EAAEiC,uBAAuB,EAAE1D,uBAAuB,CAAC,CAC3E,CAAA;AAED,EAAA,IAAM6D,SAAS,GAAGxO,iBAAW,CAC3B,SAAeyO,UAAUA,GAAA;;;;;;AACvB,YAAA,IAAI,CAACxD,SAAS,CAAC7a,OAAO,EAAE,sBAAO,IAAI,CAAA,CAAA;kBAC/B,OAAOse,YAAY,KAAK,WAAW,CAAnC,EAAA,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AACK,YAAA,OAAA,CAAA,CAAA,YAAM,IAAIA,YAAY,CAC3BzD,SAAS,CAAC7a,OAAO,CAACwZ,MAAM,CAACM,SAAS,EAAE,CAAC,CAAC,CAAC,CACxC,CAACsE,SAAS,EAAE,CAAA,CAAA;;YAFb,OAAOllB,CAAAA,CAAAA,aAAAA,EAAA,CAAArD,IAAA,EAEM,CAAA,CAAA;;AAGf,YAAA,IAAI,CAAC8kB,QAAQ,CAAC3a,OAAO,EAAE,sBAAO,IAAI,CAAA,CAAA;AAC5BgX,YAAAA,MAAM,GAAGhZ,QAAQ,CAACM,aAAa,CAAC,QAAQ,CAAC,CAAA;AAC/C2Y,YAAAA,YAAY,CAACD,MAAM,EAAE2D,QAAQ,CAAC3a,OAAO,CAAC,CAAA;AACtC,YAAA,OAAA,CAAA,CAAA,aAAO,IAAIhL,OAAO,CAAC,UAACD,OAAO,EAAA;AAAK,cAAA,OAAAiiB,MAAM,CAACuH,MAAM,CAACxpB,OAAO,CAAC,CAAA;AAAtB,aAAsB,CAAC,CAAA,CAAA;;;;AACxD,GAAA,EACD,EAAE,CACH,CAAA;AAED,EAAA,OAAOypB,aAAO,CACZ,YAAA;IAAM,OAAC;AACL7D,MAAAA,QAAQ,EAAAA,QAAA;AACRO,MAAAA,WAAW,EAAAA,WAAA;AACXI,MAAAA,WAAW,EAAAA,WAAA;AACXC,MAAAA,cAAc,EAAAA,cAAA;AACdc,MAAAA,gBAAgB,EAAAA,gBAAA;AAChBxB,MAAAA,SAAS,EAAAA,SAAA;AACTC,MAAAA,WAAW,EAAAA,WAAA;AACXgB,MAAAA,kBAAkB,EAAAA,kBAAA;AAClBU,MAAAA,mBAAmB,EAAAA,mBAAA;AACnB9C,MAAAA,mBAAmB,EAAAA,mBAAA;AACnB8B,MAAAA,+BAA+B,EAAAA,+BAAA;AAC/BE,MAAAA,6BAA6B,EAAAA,6BAAA;AAC7BC,MAAAA,gCAAgC,EAAAA,gCAAA;AAChCyC,MAAAA,SAAS,EAAAA,SAAA;AACThD,MAAAA,WAAW,EAAAA,WAAA;AACXJ,MAAAA,eAAe,EAAAA,eAAA;AACfgB,MAAAA,sBAAsB,EAAAA,sBAAA;AACtBiC,MAAAA,uBAAuB,EAAAA,uBAAAA;AACxB,KAAA,CAAA;AAnBK,GAmBJ,EACF,CACE7C,WAAW,EACXU,kBAAkB,EAClBhB,WAAW,EACXY,6BAA6B,EAC7BF,+BAA+B,EAC/BQ,sBAAsB,EACtBhB,eAAe,EACfqB,gBAAgB,EAChBG,mBAAmB,EACnByB,uBAAuB,EACvBG,SAAS,EACTlD,WAAW,EACXI,WAAW,CACZ,CACF,CAAA;AACH;;ACn7BO,IAAMmD,kBAAkB,gBAAG5Y,mBAAa,CAAgB;AAC7D8U,EAAAA,QAAQ,EAAE;AAAE3a,IAAAA,OAAO,EAAE,IAAA;GAAM;AAC3Bkb,EAAAA,WAAW,EAAE,IAAI;AACjBI,EAAAA,WAAW,EAAE,KAAK;AAClBT,EAAAA,SAAS,EAAE;AAAE7a,IAAAA,OAAO,EAAE,IAAA;GAAM;AAC5B8a,EAAAA,WAAW,EAAE,KAAK;AAClBgB,EAAAA,kBAAkB,EAAE,KAAK;AACzBU,EAAAA,mBAAmB,EAAE,SAArBA,mBAAmBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAC/B9C,EAAAA,mBAAmB,EAAE,SAArBA,mBAAmBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAC/B8B,EAAAA,+BAA+B,EAAE,KAAK;AACtCE,EAAAA,6BAA6B,EAAE,IAAI;AACnCC,EAAAA,gCAAgC,EAAE,SAAlCA,gCAAgCA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAC5CyC,EAAAA,SAAS,EAAE,SAAXA,SAASA,GAAE;AAAM,IAAA,OAAAppB,OAAO,CAACD,OAAO,CAAC,IAAI,CAAC,CAAA;GAAA;AACtCwmB,EAAAA,cAAc,EAAE,SAAhBA,cAAcA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAC1Bc,EAAAA,gBAAgB,EAAE,SAAlBA,gBAAgBA,GAAE;IAAM,OAAI,IAAA,CAAA;GAAA;AAC5BjB,EAAAA,WAAW,EAAE,IAAI;AACjBJ,EAAAA,eAAe,EAAE,KAAK;AACtBgB,EAAAA,sBAAsB,EAAE,KAAK;AAC7BiC,EAAAA,uBAAuB,EAAE,SAAzBA,uBAAuBA,GAAE;IAAM,OAAI,IAAA,CAAA;AAAJ,GAAA;CAChC,CAAC,CAAA;AAeK,IAAMS,cAAc,GAAG,SAAjBA,cAAcA,CAAIxlB,EAWT,EAAA;MAVpBmE,QAAQ,GAAAnE,EAAA,CAAAmE,QAAA;IACRpE,EAAA,GAAAC,EAAA,CAAAkhB,0BAAiC;AAAjCA,IAAAA,0BAA0B,GAAAnhB,EAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,EAAA;IACjC+C,EAAA,GAAA9C,EAAA,CAAAmhB,uBAA+B;AAA/BA,IAAAA,uBAAuB,GAAAre,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IAC/B2D,EAAA,GAAAzG,EAAA,CAAAohB,sBAA6B;AAA7BA,IAAAA,sBAAsB,GAAA3a,EAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,EAAA;IAC7BqB,EAAA,GAAA9H,EAAA,CAAAqhB,uBAA+B;AAA/BA,IAAAA,uBAAuB,GAAAvZ,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IAC/BF,EAAA,GAAA5H,EAAA,CAAAshB,aAAoB;AAApBA,IAAAA,aAAa,GAAA1Z,EAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,EAAA;IACpB2Z,MAAM,GAAAvhB,EAAA,CAAAuhB,MAAA;IACNkE,oBAAoB,GAAAzlB,EAAA,CAAAylB,oBAAA;IACpBC,wBAAwB,GAAA1lB,EAAA,CAAA0lB,wBAAA;IACxBzd,EAAA,GAAAjI,EAAA,CAAAwhB,SAAiB;AAAjBA,IAAAA,SAAS,GAAAvZ,EAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA,CAAA;EAEjB,IAAM0d,aAAa,GAAG1E,yBAAyB,CAAC;AAC9CC,IAAAA,0BAA0B,EAAAA,0BAAA;AAC1BC,IAAAA,uBAAuB,EAAAA,uBAAA;AACvBC,IAAAA,sBAAsB,EAAAA,sBAAA;AACtBC,IAAAA,uBAAuB,EAAAA,uBAAA;AACvBC,IAAAA,aAAa,EAAAA,aAAA;AACbC,IAAAA,MAAM,EAAAA,MAAA;AACNC,IAAAA,SAAS,EAAAA,SAAAA;GACV,CAAC,CAAA;AAEF7c,EAAAA,eAAS,CAAC,YAAA;IACR,IAAIghB,aAAa,CAAC/C,kBAAkB,EAAE6C,oBAAoB,KAApBA,IAAAA,IAAAA,oBAAoB,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAoB,EAAI,CAAA;GAC/D,EAAE,CAACE,aAAa,CAAC/C,kBAAkB,EAAE6C,oBAAoB,CAAC,CAAC,CAAA;AAE5D9gB,EAAAA,eAAS,CAAC,YAAA;IACR,IAAIghB,aAAa,CAAC7C,sBAAsB,EAAE4C,wBAAwB,KAAxBA,IAAAA,IAAAA,wBAAwB,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,wBAAwB,EAAI,CAAA;GACvE,EAAE,CAACC,aAAa,CAAC7C,sBAAsB,EAAE4C,wBAAwB,CAAC,CAAC,CAAA;AAEpE,EAAA,IAAMlF,mBAAmB,GAAGmF,aAAa,CAACnF,mBAAmB,CAAA;AAE7D7b,EAAAA,eAAS,CAAC,YAAA;IACR,OAAO,YAAA;AACL6b,MAAAA,mBAAmB,EAAE,CAAA;KACtB,CAAA;AACH,GAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC,CAAA;AAEzB,EAAA,oBACErb,KAAA,CAAAC,aAAA,CAACmgB,kBAAkB,CAACxX,QAAQ,EAAA;AAACnS,IAAAA,KAAK,EAAE+pB,aAAAA;AAAa,GAAA,EAC9CxhB,QAAQ,CACmB,CAAA;AAElC,CAAC;;AC7EM,IAAMyhB,mBAAmB,GAAG,kEAAkE,CAAA;AAErG,IAAIC,uBAAuB,GAAG,KAAK,CAAA;AAE7B,SAAgBC,oBAAoBA,GAAA;;IAYxC,SAASC,sBAAsBA,CAACC,KAAY,EAAA;AAC1C,MAAA,IAAMC,MAAM,GAAID,KAAqB,CAACC,MAAM,CAAA;AAC5C,MAAA,IAAIA,MAAM,CAAClnB,GAAG,KAAKA,GAAG,EAAE,OAAA;MACxBmnB,iBAAiB,CAACC,aAAa,GAAGC,4BAA4B,CAAC,CAACrnB,GAAG,CAAC,CAAC,CAAA;AACrE+F,MAAAA,QAAQ,CAACuhB,aAAa,CACpB,IAAIC,WAAW,CAAC,yCAAyC,EAAE;QACzDL,MAAM,EAAEC,iBAAiB,CAACC,aAAAA;AAC3B,OAAA,CAAC,CACH,CAAA;AACH,KAAA;;;;;AApBA,UAAA,IAAIN,uBAAuB,EACzB,OAAA,CAAA,CAAA,aAAO,IAAI/pB,OAAO,CAAC,UAACD,OAAO,EAAA;AACzBoL,YAAAA,WAAW,CAAC,YAAA;AACV,cAAA,IAAI,CAAC4e,uBAAuB,EAAEhqB,OAAO,EAAE,CAAA;aACxC,EAAE,GAAG,CAAC,CAAA;AACT,WAAC,CAAC,CAAA,CAAA;AAEJgqB,UAAAA,uBAAuB,GAAG,IAAI,CAAA;AAExB9mB,UAAAA,GAAG,GAAG,EAAA,CAAAhB,MAAA,CAAG6nB,mBAAmB,EAA4B,4BAAA,CAAA,CAAA;AAa9D9gB,UAAAA,QAAQ,CAACG,gBAAgB,CAAC,2BAA2B,EAAE8gB,sBAAsB,CAAC,CAAA;;;;UAG5E,OAAMQ,CAAAA,CAAAA,YAAAA,iBAAiB,CAACxnB,GAAG,CAAC,CAAA,CAAA;;UAA5BiB,EAAA,CAAArD,IAAA,EAA4B,CAAA;;;AAE5BmI,UAAAA,QAAQ,CAACI,mBAAmB,CAC1B,2BAA2B,EAC3B6gB,sBAAsB,CACvB,CAAA;AACDF,UAAAA,uBAAuB,GAAG,KAAK,CAAA;;;;;;;;;ACpC7B,SAAUW,eAAeA,CAC7BC,SAAmC,EACnCC,UAAoC,EACpCC,YAAsC,EACtCvJ,KAAgB,EAChBwJ,IAAU,EACVC,OAAc,EACdC,SAAkB,EAAA;AADlB,EAAA,IAAAD,OAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,OAAA,GAAc,IAAA,CAAA;AAAA,GAAA;EAGd,IAAI,CAACJ,SAAS,IAAI,CAACC,UAAU,IAAI,CAACC,YAAY,EAAE,OAAO,EAAE,CAAA;AAEzD,EAAA,IAAMI,MAAM,GAAGN,SAAS,CAACxI,UAAU,CAAC,IAAI,CAAC,CAAA;AACzC,EAAA,IAAM+I,OAAO,GAAGN,UAAU,CAACzI,UAAU,CAAC,IAAI,CAAC,CAAA;AAC3C,EAAA,IAAMgJ,SAAS,GAAGN,YAAY,CAAC1I,UAAU,CAAC,IAAI,CAAC,CAAA;AAC/C,EAAA,IAAI,CAAC8I,MAAM,IAAI,CAACC,OAAO,IAAI,CAACC,SAAS,EACnC,MAAM,IAAIzoB,KAAK,CAAC,0BAA0B,CAAC,CAAA;AAE7CioB,EAAAA,SAAS,CAACxc,KAAK,GAAGmT,KAAK,CAACnT,KAAK,CAAA;AAC7Bwc,EAAAA,SAAS,CAAChd,MAAM,GAAG2T,KAAK,CAAC3T,MAAM,CAAA;EAC/Bsd,MAAM,CAACG,YAAY,CAAC9J,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAE1B,EAAA,IAAApd,EAAA,GAAkB4mB,IAAI,CAACO,GAAG;IAAxBC,IAAI,GAAApnB,EAAA,CAAAonB,IAAA;IAAEnd,KAAK,GAAAjK,EAAA,CAAAiK,KAAa,CAAA;AAChC,EAAA,IAAMqT,WAAW,GAAGF,KAAK,CAAC3T,MAAM,CAAA;AAChC,EAAA,IAAM4d,QAAQ,GAAG/J,WAAW,GAAG,GAAG,GAAGrT,KAAK,CAAA;AAC1C,EAAA,IAAMqd,IAAI,GAAGC,IAAI,CAAC5C,GAAG,CAAC,CAAC,EAAEyC,IAAI,GAAGC,QAAQ,GAAG,CAAC,CAAC,CAAA;AAC7C,EAAA,IAAIjK,KAAK,CAAC3T,MAAM,GAAG2T,KAAK,CAACnT,KAAK,EAAE;AAC9Byc,IAAAA,UAAU,CAACzc,KAAK,GAAGmT,KAAK,CAACnT,KAAK,CAAA;AAC9Byc,IAAAA,UAAU,CAACjd,MAAM,GAAG2T,KAAK,CAAC3T,MAAM,CAAA;AAChCud,IAAAA,OAAO,CAAC9I,SAAS,CAACuI,SAAS,EAAE,CAAC,EAAE,CAAC,EAAEC,UAAU,CAACzc,KAAK,EAAEyc,UAAU,CAACjd,MAAM,CAAC,CAAA;AACzE,GAAC,MAAM;AACLid,IAAAA,UAAU,CAACzc,KAAK,GAAGA,KAAK,GAAGod,QAAQ,CAAA;AACnCX,IAAAA,UAAU,CAACjd,MAAM,GAAG2T,KAAK,CAAC3T,MAAM,CAAA;AAChCud,IAAAA,OAAO,CAAC9I,SAAS,CACfuI,SAAS,EACTa,IAAI,EACJ,CAAC,EACDZ,UAAU,CAACzc,KAAK,EAChByc,UAAU,CAACjd,MAAM,EACjB,CAAC,EACD,CAAC,EACDid,UAAU,CAACzc,KAAK,EAChByc,UAAU,CAACjd,MAAM,CAClB,CAAA;AACH,GAAA;EAEAkd,YAAY,CAACld,MAAM,GAAGqd,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,KAAA,CAAA,GAATA,SAAS,GAAIJ,UAAU,CAACjd,MAAM,CAAA;AACpDkd,EAAAA,YAAY,CAAC1c,KAAK,GAChByc,UAAU,CAACzc,KAAK,IAAI0c,YAAY,CAACld,MAAM,GAAGid,UAAU,CAACjd,MAAM,CAAC,CAAA;EAE9Dwd,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAE/I,SAAS,CAClBwI,UAAU,EACV,CAAC,EACD,CAAC,EACDC,YAAY,CAAC1c,KAAK,EAClB0c,YAAY,CAACld,MAAM,CACpB,CAAA;EAED,IAAM+d,OAAO,GAAGb,YAAY,CAACc,SAAS,CAAC,YAAY,EAAEZ,OAAO,CAAC,CAAA;AAE7DpY,EAAAA,GAAG,CAAC,sBAAsB,EAAE,IAAIiZ,WAAW,EAAE,CAACC,MAAM,CAACH,OAAO,CAAC,CAACzsB,MAAM,CAAC,CAAA;EAErEojB,WAAW,CAACsI,SAAS,CAAC,CAAA;EACtBtI,WAAW,CAACuI,UAAU,CAAC,CAAA;EACvBvI,WAAW,CAACwI,YAAY,CAAC,CAAA;AAEzB,EAAA,OAAOa,OAAO,CAAA;AAChB,CAAA;AAEM,SAAUI,uBAAuBA,CACrCxK,KAAY,EACZ+J,GAAsB,EACtBrJ,MAA0B,EAAA;EAE1BA,MAAM,KAANA,MAAM,GAAKhZ,QAAQ,CAACM,aAAa,CAAC,QAAQ,CAAC,CAAA,CAAA;AAC3C,EAAA,IAAM4Y,GAAG,GAAGF,MAAM,CAACG,UAAU,CAAC,IAAI,CAAC,CAAA;EACnC,IAAI,CAACD,GAAG,EAAE,MAAM,IAAIxf,KAAK,CAAC,0BAA0B,CAAC,CAAA;AAE7C,EAAA,IAAA4oB,IAAI,GAA0BD,GAAG,CAAAC,IAA7B;IAAES,IAAI,GAAoBV,GAAG,CAAAU,IAAvB;IAAE5d,KAAK,GAAakd,GAAG,CAAAld,KAAhB;IAAER,MAAM,GAAK0d,GAAG,CAAA1d,MAAR,CAAA;EACjCqU,MAAM,CAAC7T,KAAK,GAAGA,KAAK,CAAA;EACpB6T,MAAM,CAACrU,MAAM,GAAGA,MAAM,CAAA;EACtBuU,GAAG,CAACE,SAAS,CAACd,KAAK,EAAEgK,IAAI,EAAES,IAAI,EAAE5d,KAAK,EAAER,MAAM,EAAE,CAAC,EAAE,CAAC,EAAEQ,KAAK,EAAER,MAAM,CAAC,CAAA;AACpE,EAAA,OAAOqU,MAAM,CAAA;AACf;;ACvEO,IAAMgK,8BAA8B,GACzC,oGAAoG,CAAA;AACtG,IAAMC,8BAA8B,GAAG,SAAS,CAAA;AAEhD;AACA;AACA,IAAIC,iBAAiB,GAAG,IAAIvO,IAAI,EAAE,CAACC,OAAO,EAAE,CAAA;AAE5C,IAAMuO,wBAAwB,GAAG;AAC/BC,EAAAA,UAAU,EAAE,WAAW;AACvBC,EAAAA,QAAQ,EAAE,KAAK;AACfC,EAAAA,WAAW,EAAE,UAAU;AACvBC,EAAAA,YAAY,EAAE,CAAC;AACfC,EAAAA,eAAe,EAAE,CAAA;AACU,CAAA,CAAA;AAEtB,IAAIC,iBAAiB,GAAA/tB,OAAA,CAAA,EAAA,EACvBytB,wBAAwB,CAC5B,CAAA;AAEK,SAAgBO,sBAAsBA,GAAA;;;;;;AAC1C,UAAA,IAAID,iBAAiB,CAACL,UAAU,KAAK,QAAQ,EAAE,OAAA,CAAA,CAAA,YAAA,CAAA;UAC/C,IAAIK,iBAAiB,CAACL,UAAU,KAAK,SAAS,EAC5C,OAAA,CAAA,CAAA,aAAO,IAAIpsB,OAAO,CAAC,UAACD,OAAO,EAAA;AACzBoL,YAAAA,WAAW,CAAC,YAAA;AACV,cAAA,IAAIshB,iBAAiB,CAACL,UAAU,KAAK,QAAQ,EAAErsB,OAAO,EAAE,CAAA;aACzD,EAAE,GAAG,CAAC,CAAA;AACT,WAAC,CAAC,CAAA,CAAA;UAEJ0sB,iBAAiB,CAACL,UAAU,GAAG,SAAS,CAAA;AACxC,UAAA,OAAA,CAAA,CAAA,YAAMpC,oBAAoB,EAAE,CAAA,CAAA;;UAA5B9lB,EAAA,CAAArD,IAAA,EAA4B,CAAA;;;;UAE1B8R,GAAG,CAAC,4CAA4C,CAAC,CAAA;UACjD,OAAMga,CAAAA,CAAAA,YAAAA,aAAa,CAAC,KAAK,CAAC,CAAA,CAAA;;UAA1BzoB,EAAA,CAAArD,IAAA,EAA0B,CAAA;UAC1B8R,GAAG,CAAC,gCAAgC,CAAC,CAAA;;;;AAErCK,UAAAA,IAAI,CAAC,iDAAiD,EAAE4Z,OAAK,CAAC,CAAA;UAC9DH,iBAAiB,CAACJ,QAAQ,GAAG,KAAK,CAAA;;;;UAEhC1Z,GAAG,CAAC,4CAA4C,CAAC,CAAA;UACjD,OAAMga,CAAAA,CAAAA,YAAAA,aAAa,CAAC,KAAK,CAAC,CAAA,CAAA;;UAA1BzoB,EAAA,CAAArD,IAAA,EAA0B,CAAA;UAC1B8R,GAAG,CAAC,gCAAgC,CAAC,CAAA;;;;AAErCK,UAAAA,IAAI,CAAC,iDAAiD,EAAE6Z,OAAK,CAAC,CAAA;UAC9DJ,iBAAiB,CAACJ,QAAQ,GAAG,MAAM,CAAA;;;;;UAGrCI,iBAAiB,CAACL,UAAU,GAAG,QAAQ,CAAA;;;;;;;;AAI3C,SAAeO,aAAaA,GAAA;AAACN,EAAAA,OAAAA,SAAAA,CAAAA,IAAAA,EAAAA,SAAAA,EAAAA,KAAAA,CAAAA,EAAAA,UAAAA,QAA+B,EAAES,OAAe,EAAA;;AAAhD,IAAA,IAAAT,QAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,MAAAA,QAAA,GAA+B,KAAA,CAAA;AAAA,KAAA;AAAE,IAAA,IAAAS,OAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,MAAAA,OAAA,GAAe,KAAA,CAAA;AAAA,KAAA;;;;UACrEC,cAAc,GAAG,GAAA9qB,MAAA,CAAG+pB,8BAA8B,EAAA/pB,KAAAA,CAAAA,CAAAA,MAAA,CAAMiqB,iBAAiB,CAAE,CAAA;UAE3Ec,SAAS,GAAG,IAAIrP,IAAI,EAAE,CAAA;;;;AAE1B,UAAA,OAAA,CAAA,CAAA,YAAM3d,OAAO,CAACitB,IAAI,CAAC,CACjBxC,iBAAiB,CAACsC,cAAc,CAAC,EACjCG,WAAW,CAACJ,OAAO,CAAC,CACrB,CAAC,CAAA,CAAA;;UAHF9lB,EAAA,CAAAnG,IAAA,EAGE,CAAA;;;;AAEF0B,UAAAA,KAAK,CAAC,mBAAmB,EAAEuP,GAAC,CAAC,CAAA;UAC7B2a,iBAAiB,CAACH,WAAW,GAAG,UAAU,CAAA;AAC1C,UAAA,OAAA,CAAA,CAAA,YAAA,CAAA;;AAGIa,UAAAA,IAAI,GAAG,CAAC,IAAIxP,IAAI,EAAE,CAACC,OAAO,EAAE,GAAGoP,SAAS,CAACpP,OAAO,EAAE,IAAI,MAAM,CAAA;AAElE6O,UAAAA,iBAAiB,CAACD,eAAe,KAAjCC,iBAAiB,CAACD,eAAe,GAAKW,IAAI,CAAA,CAAA;UAC1CV,iBAAiB,CAACF,YAAY,KAA9BE,iBAAiB,CAACF,YAAY,GAAKN,8BAA8B,GAAGkB,IAAI,CAAA,CAAA;AACxEV,UAAAA,iBAAiB,CAACH,WAAW,GAC3Ba,IAAI,GAAG,GAAG,GAAG,MAAM,GAAGA,IAAI,GAAG,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE9CC,UAAAA,SAAS,GAAGX,iBAAiB,CAACF,YAAY,GAAG,IAAI,GAAG,IAAI,CAAA;UAC9D5Z,GAAG,CAAC,8BAA8B,EAAEya,SAAS,CAAC1R,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AACjE/I,UAAAA,GAAG,CAAC,kCAAkC,EAAEwa,IAAI,CAAC,CAAA;AAC7Cxa,UAAAA,GAAG,CAAC,6BAA6B,EAAE8Z,iBAAiB,CAACH,WAAW,CAAC,CAAA;AAE7CroB,UAAAA,EAAA,GAAAC,CAAAA,EAAA,GAAAmpB,0BAAc,EAACC,iBAAiB,CAAA;AAClD,UAAA,OAAA,CAAA,CAAA,YAAMC,2BAAe,CAACC,cAAc,CAAC1D,mBAAmB,CAAC,CAAA,CAAA;;UAD7C,OAAM7lB,CAAAA,CAAAA,YAAAA,EAAA,CAAA/E,KAAA,CAAAgF,EAAA,GAClB8C,EAAA,CAAAnG,IAAA,EAAyD,EACzD;AAAE4sB,YAAAA,WAAW,EAAE;AAAEV,cAAAA,cAAc,EAAAA,cAAA;AAAEV,cAAAA,QAAQ,EAAAA,QAAAA;AAAA,aAAA;AAAE,WAAE,CAC9C,CAAA,CAAA,CAAA;;AAHKqB,UAAAA,KAAK,GAAG1mB,EAAA,CAAAnG,IAAA,EAGb,CAAA;AAEK8sB,UAAAA,UAAU,GAAG3kB,QAAQ,CAACM,aAAa,CAAC,QAAQ,CAAC,CAAA;AACnDokB,UAAAA,KAAK,CAACE,OAAO,CAACD,UAAU,CAAC,CAAA;UACzBA,UAAU,CAACtiB,MAAM,EAAE,CAAA;;;;;;AAGrB,SAAS6hB,WAAWA,CAACJ,OAAe,EAAA;AAClC,EAAA,OAAO,IAAI9sB,OAAO,CAAC,UAAC6tB,QAAQ,EAAE5tB,MAAM,EAAA;AAClC6tB,IAAAA,UAAU,CAAC,YAAA;AACT7tB,MAAAA,MAAM,CAAC,IAAIyC,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAA;KACjE,EAAEoqB,OAAO,CAAC,CAAA;AACb,GAAC,CAAC,CAAA;AACJ;;AC5GM,SAAUiB,kBAAkBA,CAAC1C,GAAiB,EAAA;;EAClD,OAAO;AACLC,IAAAA,IAAI,EAAE,CAAApnB,EAAA,GAAAmnB,GAAG,aAAHA,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAHA,GAAG,CAAE2C,OAAO,MAAA9pB,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,EAAA,GAAI,CAAC;AACvB+pB,IAAAA,IAAI,EAAE,CAAC,CAAAhqB,EAAA,GAAAonB,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAHA,GAAG,CAAE2C,OAAO,MAAA/pB,IAAAA,IAAAA,EAAA,cAAAA,EAAA,GAAI,CAAC,KAAK,CAAA+C,EAAA,GAAAqkB,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAHA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAG,CAAEld,KAAK,cAAAnH,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI,CAAC,CAAC;AAC7C+kB,IAAAA,IAAI,EAAE,CAAAphB,EAAA,GAAA0gB,GAAG,aAAHA,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAHA,GAAG,CAAE6C,OAAO,MAAAvjB,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,EAAA,GAAI,CAAC;AACvBwjB,IAAAA,IAAI,EAAE,CAAC,CAAAniB,EAAA,GAAAqf,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAHA,GAAG,CAAE6C,OAAO,MAAAliB,IAAAA,IAAAA,EAAA,cAAAA,EAAA,GAAI,CAAC,KAAK,CAAAF,EAAA,GAAAuf,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAHA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAG,CAAE1d,MAAM,cAAA7B,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI,CAAC,CAAC;AAC9CqC,IAAAA,KAAK,EAAE,CAAAhC,EAAA,GAAAkf,GAAG,aAAHA,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAHA,GAAG,CAAEld,KAAK,MAAAhC,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,EAAA,GAAI,CAAC;AACtBwB,IAAAA,MAAM,EAAE,CAAArB,EAAA,GAAA+e,GAAG,KAAHA,IAAAA,IAAAA,GAAG,KAAHA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAG,CAAE1d,MAAM,MAAA,IAAA,IAAArB,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI,CAAA;AACxB,GAAA,CAAA;AACH,CAAA;AAEM,SAAU8hB,iBAAiBA,CAC/BzI,QAAmD,EACnD0I,YAAkB,EAAA;AAAlB,EAAA,IAAAA,YAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,YAAA,GAAkB,GAAA,CAAA;AAAA,GAAA;AAElB,EAAA,OAAO,IAAIruB,OAAO,CAAO,UAACD,OAAO,EAAA;;IAC/B,IAAI,CAAC,CAAAkE,EAAA,GAAAC,CAAAA,EAAA,GAAAyhB,QAAQ,CAAC3a,OAAO,MAAA9G,IAAAA,IAAAA,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAEoqB,UAAU,MAAA,IAAA,IAAArqB,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI,CAAC,KAAK,CAAC,EAAE,OAAOlE,OAAO,EAAE,CAAA;IAE9D,IAAM+K,QAAQ,GAAGK,WAAW,CAAC,YAAA;;MAC3B,IAAI,CAAC,CAAAlH,EAAA,GAAA,CAAAC,EAAA,GAAAyhB,QAAQ,CAAC3a,OAAO,MAAA9G,IAAAA,IAAAA,EAAA,uBAAAA,EAAA,CAAEoqB,UAAU,MAAA,IAAA,IAAArqB,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI,CAAC,KAAK,CAAC,EAAE;QAC5CqH,aAAa,CAACR,QAAQ,CAAC,CAAA;AACvB/K,QAAAA,OAAO,EAAE,CAAA;AACX,OAAA;KACD,EAAEsuB,YAAY,CAAC,CAAA;AAClB,GAAC,CAAC,CAAA;AACJ;;ACdO,IAAME,qBAAqB,GAAG,sFAAsF,CAAA;AACpH,IAAMC,8BAA8B,GAAG,KAAK,CAAA;AAsB5C,IAAMC,sBAAsB,GAAoB;AACrDC,EAAAA,WAAW,EAAE;AACXC,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,MAAM,EAAE,GAAA;AACT,GAAA;AACDC,EAAAA,UAAU,EAAE;AACVF,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,MAAM,EAAE,GAAA;AACT,GAAA;AACDE,EAAAA,QAAQ,EAAE;AACRH,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,MAAM,EAAE,GAAA;;AAEX,CAAA,CAAA;AAED,IAAMG,MAAM,GAAsC,EAAE,CAAA;AAE9C,SAAgBC,cAAcA,CAClCjC,cAAsB,EAAA;;;;;;AAEhBpb,UAAAA,EAAE,GAAG,EAAA,CAAA1P,MAAA,CAAG8qB,cAAc,CAAE,CAAA;UAC9B,IAAIgC,MAAM,CAACpd,EAAE,CAAC,EAAE,OAAOod,CAAAA,CAAAA,aAAAA,MAAM,CAACpd,EAAE,CAAC,CAAA,CAAA;AAEjC,UAAA,OAAA,CAAA,CAAA,YAAMsd,6BAA6B,EAAE,CAAA,CAAA;;UAArCjjB,EAAA,CAAAnL,IAAA,EAAqC,CAAA;AACrC,UAAA,IAAI4rB,iBAAiB,CAACJ,QAAQ,KAAK,MAAM,EAAE;AACzC,YAAA,MAAM,IAAI3pB,KAAK,CAAC,2CAA2C,CAAC,CAAA;AAC9D,WAAA;AAEAwB,UAAAA,EAAA,GAAA6qB,MAAM,CAAA;AAAC9qB,UAAAA,EAAA,GAAA0N,EAAE,CAAA;AAAUhH,UAAAA,EAAA,GAAA3D,CAAAA,EAAA,GAAAkoB,2BAAe,EAAC5B,iBAAiB,CAAA;AAClD,UAAA,OAAA,CAAA,CAAA,YAAMC,2BAAe,CAACC,cAAc,CAAC1D,mBAAmB,CAAC,CAAA,CAAA;;UAD9C,OAAMnf,CAAAA,CAAAA,YAAAA,EAAA,CAAAzL,KAAA,CAAA8H,EAAA,GACjBgF,EAAA,CAAAnL,IAAA,EAAyD,EACzD;AACE4sB,YAAAA,WAAW,EAAE;AAAEV,cAAAA,cAAc,EAAAA,cAAA;cAAEV,QAAQ,EAAEI,iBAAiB,CAACJ,QAAAA;aAAU;AACrE8C,YAAAA,WAAW,EAAE,OAAA;WACd,CACF,CAAA,CAAA,CAAA;;AANDjrB,UAAAA,EAAA,CAAAD,EAAA,CAAU,GAAG+H,EAAA,CAAAnL,IAAA,EAMZ,CAAA;UAED,OAAOkuB,CAAAA,CAAAA,aAAAA,MAAM,CAACpd,EAAE,CAAC,CAAA,CAAA;;;;;AAGb,SAAUyd,iBAAiBA,CAAClrB,EAQjC,EAAA;MAPCD,EAAA,GAAAC,EAAA,CAAAmrB,SAAiC;AAAjCA,IAAAA,SAAS,GAAAprB,EAAA,KAAGsqB,KAAAA,CAAAA,GAAAA,qBAAqB,GAAAtqB,EAAA;IACjC+C,EAAA,GAAA9C,EAAA,CAAAorB,kBAAmD;AAAnDA,IAAAA,kBAAkB,GAAAtoB,EAAA,KAAGwnB,KAAAA,CAAAA,GAAAA,8BAA8B,GAAAxnB,EAAA;IACnDuoB,YAAY,GAAArrB,EAAA,CAAAqrB,YAAA,CAAA;AAMZ,EAAA,IAAM7B,KAAK,GAAGjjB,YAAM,CAAyB,IAAI,CAAC,CAAA;AAC5C,EAAA,IAAAE,EAAA,GAAoBjC,cAAQ,CAAC,KAAK,CAAC;AAAlC8mB,IAAAA,KAAK,GAAA7kB,EAAA,CAAA,CAAA,CAAA;IAAE8kB,QAAQ,GAAA9kB,EAAA,CAAmB,CAAA,CAAA,CAAA;AACnC,EAAA,IAAAqB,EAAA,GAAoDtD,cAAQ,CAAC,CAAC,CAAC;AAA9DgnB,IAAAA,qBAAqB,GAAA1jB,EAAA,CAAA,CAAA,CAAA;IAAE2jB,wBAAwB,GAAA3jB,EAAA,CAAe,CAAA,CAAA,CAAA;AAC/D,EAAA,IAAAF,EAAA,GAA8BpD,cAAQ,CAAe,IAAI,CAAC;AAAzDknB,IAAAA,UAAU,GAAA9jB,EAAA,CAAA,CAAA,CAAA;IAAE+jB,aAAa,GAAA/jB,EAAA,CAAgC,CAAA,CAAA,CAAA;AACxD,EAAA,IAAA6Z,QAAQ,GAAKnY,gBAAU,CAACic,kBAAkB,CAAC,CAAA9D,QAAnC,CAAA;EAEhB9c,eAAS,CACP,SAASinB,SAASA,GAAA;AAAlB,IAAA,IAAArhB,KAAA,GAAA,IAAA,CAAA;IACEghB,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEf,SAASxF,sBAAsBA,CAACC,KAAY,EAAA;AAC1CyF,MAAAA,wBAAwB,CACtBI,oBAAoB,CAAE7F,KAAqB,CAACC,MAAM,CAAC,CACpD,CAAA;AACH,KAAA;AAEAnhB,IAAAA,QAAQ,CAACG,gBAAgB,CACvB,iCAAiC,EACjC8gB,sBAAsB,CACvB,CAAA;IAED,IAAM+F,gBAAgB,GAAGlC,UAAU,CAAC,YAAA;AAClC+B,MAAAA,aAAa,CAAC,IAAIntB,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAA;KAC/D,EAAE4sB,kBAAkB,CAAC,CAAA;AAEtBN,IAAAA,cAAc,CAACK,SAAS,CAAC,CACtB7uB,IAAI,CAAC,UAAOyvB,WAAW,EAAA;MAAA,OAAAzwB,SAAA,CAAAiP,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;cACtBif,KAAK,CAAC1iB,OAAO,GAAGilB,WAAW,CAAA;cAC3BN,wBAAwB,CAAC,GAAG,CAAC,CAAA;cAC7BO,YAAY,CAACF,gBAAgB,CAAC,CAAA;cAC9B,OAAM5B,CAAAA,CAAAA,YAAAA,iBAAiB,CAACzI,QAAQ,CAAC,CAAA,CAAA;;cAAjCzhB,EAAA,CAAArD,IAAA,EAAiC,CAAA;cACjCovB,WAAW,CAACE,gBAAgB,CAACxK,QAAQ,CAAC3a,OAAQ,EAAEolB,WAAW,CAACC,GAAG,EAAE,CAAC,CAAA;cAClEZ,QAAQ,CAAC,IAAI,CAAC,CAAA;;;;;KACf,CAAC,CAAA,OAAA,CACI,CAAC,UAACrwB,CAAC,EAAA;MACPywB,aAAa,CAACzwB,CAAU,CAAC,CAAA;KAC1B,CAAC,WACM,CAAC,YAAA;MACP8wB,YAAY,CAACF,gBAAgB,CAAC,CAAA;AAChC,KAAC,CAAC,CAAA;IAEJ,OAAO,YAAA;MACLE,YAAY,CAACF,gBAAgB,CAAC,CAAA;AAC9BhnB,MAAAA,QAAQ,CAACI,mBAAmB,CAC1B,iCAAiC,EACjC6gB,sBAAsB,CACvB,CAAA;KACF,CAAA;GACF,EACD,CAACoF,SAAS,EAAEC,kBAAkB,EAAE3J,QAAQ,CAAC,CAC1C,CAAA;EAED9c,eAAS,CACP,SAASynB,gBAAgBA,GAAA;IACvBV,UAAU,KAAIL,YAAY,KAAZA,IAAAA,IAAAA,YAAY,uBAAZA,YAAY,CAAGK,UAAU,CAAC,CAAA,CAAA;AAC1C,GAAC,EACD,CAACA,UAAU,EAAEL,YAAY,CAAC,CAC3B,CAAA;EAED,OAAO;AAAE7B,IAAAA,KAAK,EAAAA,KAAA;AAAE8B,IAAAA,KAAK,EAAAA,KAAA;AAAEE,IAAAA,qBAAqB,EAAAA,qBAAA;AAAEE,IAAAA,UAAU,EAAAA,UAAAA;GAAE,CAAA;AAC5D,CAAA;AAEM,SAAUW,wBAAwBA,CACtC7C,KAAsB,EACtB3S,SAAgB,EAChB6P,UAA6B,EAC7B4F,YAA+B,EAC/BnF,GAAuB,EAAA;;AAEvB,EAAA,IAAM2B,SAAS,GAAG,IAAIrP,IAAI,EAAE,CAAA;EAC5B,IAAM8S,KAAK,GAAGC,eAAe,CAAC3V,SAAS,EAAE6P,UAAU,EAAE4F,YAAY,EAAEnF,GAAG,CAAC,CAAA;AACvE,EAAA,IAAM/qB,MAAM,GAAGotB,KAAK,CAACyC,gBAAgB,CAACM,KAAK,EAAEL,WAAW,CAACC,GAAG,EAAE,CAAC,CAAA;AAC/D,EAAA,IAAMM,KAAK,GACT,CAAA3kB,EAAA,GAAArB,CAAAA,EAAA,IAAA3D,EAAA,GAAA,CAAA/C,EAAA,GAAA,CAAAC,EAAA,GAAA5D,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEswB,eAAe,MAAA1sB,IAAAA,IAAAA,EAAA,uBAAAA,EAAA,CAAG,CAAC,CAAC,MAAA,IAAA,IAAAD,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAE4sB,UAAU,MAAA,IAAA,IAAA7pB,EAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAA,CAAE8gB,IAAI,CAC5C,UAACE,CAAC,EAAA;AAAK,IAAA,OAAAA,CAAC,CAAC8I,YAAY,KAAK,SAAS,CAAA;AAA5B,GAA4B,CACpC,MAAA,IAAA,IAAAnmB,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEgmB,KAAK,MAAA,IAAA,IAAA3kB,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI,CAAC,CAAA;AACf,EAAA,IAAM+kB,cAAc,GAAG,IAAIpT,IAAI,EAAE,CAACC,OAAO,EAAE,GAAGoP,SAAS,CAACpP,OAAO,EAAE,CAAA;EACjE,OAAO;AAAE+S,IAAAA,KAAK,EAAAA,KAAA;AAAEI,IAAAA,cAAc,EAAAA,cAAAA;GAAE,CAAA;AAClC,CAAA;AAEA,SAASL,eAAeA,CACtB3V,SAAgB,EAChB6P,UAA6B,EAC7B4F,YAA+B,EAC/BnF,GAAuB,EAAA;AAEvB,EAAA,IAAI,CAACA,GAAG,EAAE,OAAOtQ,SAAS,CAAA;EAE1B,IAAMiW,OAAO,GAAGlF,uBAAuB,CAAC/Q,SAAS,EAAEsQ,GAAG,EAAET,UAAU,CAAC,CAAA;EAC7D,IAAA1mB,EAAA,GAAW,CAACmnB,GAAG,CAACld,KAAK,EAAEkd,GAAG,CAAC1d,MAAM,CAAC;AAAjCsjB,IAAAA,EAAE,GAAA/sB,EAAA,CAAA,CAAA,CAAA;IAAEgtB,EAAE,GAAAhtB,EAAA,CAA2B,CAAA,CAAA,CAAA;AACxC,EAAA,IAAIgtB,EAAE,IAAID,EAAE,EAAE,OAAOD,OAAO,CAAA;AAE5B,EAAA,IAAM9O,GAAG,GAAGsO,YAAY,CAACrO,UAAU,CAAC,IAAI,CAAC,CAAA;AACzC,EAAA,IAAI,CAACD,GAAG,EAAE,OAAO8O,OAAO,CAAA;EAExBR,YAAY,CAACriB,KAAK,GAAG+iB,EAAE,CAAA;EACvBV,YAAY,CAAC7iB,MAAM,GAAGsjB,EAAE,CAAA;AACxB/O,EAAAA,GAAG,CAACI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAEkO,YAAY,CAACriB,KAAK,EAAEqiB,YAAY,CAAC7iB,MAAM,CAAC,CAAA;AAC5DuU,EAAAA,GAAG,CAACiP,SAAS,CAACX,YAAY,CAACriB,KAAK,GAAG,CAAC,EAAEqiB,YAAY,CAAC7iB,MAAM,GAAG,CAAC,CAAC,CAAA;AAC9DuU,EAAAA,GAAG,CAACkP,MAAM,CAAC,MAAM,CAAC,CAAC;AACnBlP,EAAAA,GAAG,CAACE,SAAS,CAAC4O,OAAO,EAAE,CAACC,EAAE,GAAG,CAAC,EAAE,CAACC,EAAE,GAAG,CAAC,CAAC,CAAA;AACxC,EAAA,OAAOV,YAAY,CAAA;AACrB;;;;AC3LA,CAAC,YAAU;;AAKE,EAAA,IAAIa,CAAC,CAAA;EAAC,SAASC,EAAEA,CAACpJ,CAAC,EAAC;IAAC,IAAIvqB,CAAC,GAAC,CAAC,CAAA;AAAC,IAAA,OAAO,YAAU;AAAC,MAAA,OAAOA,CAAC,GAACuqB,CAAC,CAACjpB,MAAM,GAAC;QAACsB,IAAI,EAAC,CAAC,CAAC;AAACT,QAAAA,KAAK,EAACooB,CAAC,CAACvqB,CAAC,EAAE,CAAA;AAAC,OAAC,GAAC;AAAC4C,QAAAA,IAAI,EAAC,CAAC,CAAA;OAAE,CAAA;KAAC,CAAA;AAAA,GAAA;AAAC,EAAA,IAAIgxB,EAAE,GAAC,UAAU,IAAE,OAAO3zB,MAAM,CAAC4zB,gBAAgB,GAAC5zB,MAAM,CAACyE,cAAc,GAAC,UAAS6lB,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;AAAC,IAAA,IAAGE,CAAC,IAAEnqB,KAAK,CAACE,SAAS,IAAEiqB,CAAC,IAAEtqB,MAAM,CAACK,SAAS,EAAC,OAAOiqB,CAAC,CAAA;AAACA,IAAAA,CAAC,CAACvqB,CAAC,CAAC,GAACqqB,CAAC,CAACloB,KAAK,CAAA;AAAC,IAAA,OAAOooB,CAAC,CAAA;GAAC,CAAA;EAClR,SAASuJ,EAAEA,CAACvJ,CAAC,EAAC;AAACA,IAAAA,CAAC,GAAC,CAAC,QAAQ,IAAE,OAAOwJ,UAAU,IAAEA,UAAU,EAACxJ,CAAC,EAAC,QAAQ,IAAE,OAAOplB,MAAM,IAAEA,MAAM,EAAC,QAAQ,IAAE,OAAO6uB,IAAI,IAAEA,IAAI,EAAC,QAAQ,IAAE,OAAOC,cAAM,IAAEA,cAAM,CAAC,CAAA;AAAC,IAAA,KAAI,IAAIj0B,CAAC,GAAC,CAAC,EAACA,CAAC,GAACuqB,CAAC,CAACjpB,MAAM,EAAC,EAAEtB,CAAC,EAAC;AAAC,MAAA,IAAIqqB,CAAC,GAACE,CAAC,CAACvqB,CAAC,CAAC,CAAA;MAAC,IAAGqqB,CAAC,IAAEA,CAAC,CAACyD,IAAI,IAAEA,IAAI,EAAC,OAAOzD,CAAC,CAAA;AAAA,KAAA;IAAC,MAAMtlB,KAAK,CAAC,2BAA2B,CAAC,CAAA;AAAC,GAAA;AAAC,EAAA,IAAIzB,CAAC,GAACwwB,EAAE,CAAC,IAAI,CAAC,CAAA;AAAC,EAAA,SAASI,CAACA,CAAC3J,CAAC,EAACvqB,CAAC,EAAC;IAAC,IAAGA,CAAC,EAACuqB,CAAC,EAAC;MAAC,IAAIF,CAAC,GAAC/mB,CAAC,CAAA;AAACinB,MAAAA,CAAC,GAACA,CAAC,CAACxkB,KAAK,CAAC,GAAG,CAAC,CAAA;AAAC,MAAA,KAAI,IAAIhG,CAAC,GAAC,CAAC,EAACA,CAAC,GAACwqB,CAAC,CAACjpB,MAAM,GAAC,CAAC,EAACvB,CAAC,EAAE,EAAC;AAAC,QAAA,IAAI0B,CAAC,GAAC8oB,CAAC,CAACxqB,CAAC,CAAC,CAAA;AAAC,QAAA,IAAG,EAAE0B,CAAC,IAAI4oB,CAAC,CAAC,EAAC,MAAME,CAAC,CAAA;AAACF,QAAAA,CAAC,GAACA,CAAC,CAAC5oB,CAAC,CAAC,CAAA;AAAA,OAAA;MAAC8oB,CAAC,GAACA,CAAC,CAACA,CAAC,CAACjpB,MAAM,GAAC,CAAC,CAAC,CAAA;AAACvB,MAAAA,CAAC,GAACsqB,CAAC,CAACE,CAAC,CAAC,CAAA;AAACvqB,MAAAA,CAAC,GAACA,CAAC,CAACD,CAAC,CAAC,CAAA;AAACC,MAAAA,CAAC,IAAED,CAAC,IAAE,IAAI,IAAEC,CAAC,IAAE4zB,EAAE,CAACvJ,CAAC,EAACE,CAAC,EAAC;QAAC4J,YAAY,EAAC,CAAC,CAAC;QAACC,QAAQ,EAAC,CAAC,CAAC;AAACjyB,QAAAA,KAAK,EAACnC,CAAAA;AAAC,OAAC,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA;AACpek0B,EAAAA,CAAC,CAAC,QAAQ,EAAC,UAAS3J,CAAC,EAAC;IAAC,SAASvqB,CAACA,CAACuD,CAAC,EAAC;MAAC,IAAG,IAAI,YAAYvD,CAAC,EAAC,MAAM,IAAIU,SAAS,CAAC,6BAA6B,CAAC,CAAA;AAAC,MAAA,OAAO,IAAI2pB,CAAC,CAACtqB,CAAC,IAAEwD,CAAC,IAAE,EAAE,CAAC,GAAC,GAAG,GAAC9B,CAAC,EAAE,EAAC8B,CAAC,CAAC,CAAA;AAAA,KAAA;AAAC,IAAA,SAAS8mB,CAACA,CAAC9mB,CAAC,EAACF,CAAC,EAAC;MAAC,IAAI,CAACE,CAAC,GAACA,CAAC,CAAA;AAACqwB,MAAAA,EAAE,CAAC,IAAI,EAAC,aAAa,EAAC;QAACO,YAAY,EAAC,CAAC,CAAC;QAACC,QAAQ,EAAC,CAAC,CAAC;AAACjyB,QAAAA,KAAK,EAACkB,CAAAA;AAAC,OAAC,CAAC,CAAA;AAAA,KAAA;IAAC,IAAGknB,CAAC,EAAC,OAAOA,CAAC,CAAA;AAACF,IAAAA,CAAC,CAAC/pB,SAAS,CAAC4f,QAAQ,GAAC,YAAU;MAAC,OAAO,IAAI,CAAC3c,CAAC,CAAA;KAAC,CAAA;AAAC,IAAA,IAAIxD,CAAC,GAAC,gBAAgB,IAAE,GAAG,GAAC+tB,IAAI,CAACuG,MAAM,EAAE,KAAG,CAAC,CAAC,GAAC,GAAG;AAAC5yB,MAAAA,CAAC,GAAC,CAAC,CAAA;AAAC,IAAA,OAAOzB,CAAC,CAAA;AAAA,GAAC,CAAC,CAAA;AACnWk0B,EAAAA,CAAC,CAAC,iBAAiB,EAAC,UAAS3J,CAAC,EAAC;IAAC,IAAGA,CAAC,EAAC,OAAOA,CAAC,CAAA;AAACA,IAAAA,CAAC,GAAC9mB,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAAC,KAAI,IAAIzD,CAAC,GAAC,sHAAsH,CAAC+F,KAAK,CAAC,GAAG,CAAC,EAACskB,CAAC,GAAC,CAAC,EAACA,CAAC,GAACrqB,CAAC,CAACsB,MAAM,EAAC+oB,CAAC,EAAE,EAAC;MAAC,IAAItqB,CAAC,GAACuD,CAAC,CAACtD,CAAC,CAACqqB,CAAC,CAAC,CAAC,CAAA;MAAC,UAAU,KAAG,OAAOtqB,CAAC,IAAE,UAAU,IAAE,OAAOA,CAAC,CAACO,SAAS,CAACiqB,CAAC,CAAC,IAAEqJ,EAAE,CAAC7zB,CAAC,CAACO,SAAS,EAACiqB,CAAC,EAAC;QAAC4J,YAAY,EAAC,CAAC,CAAC;QAACC,QAAQ,EAAC,CAAC,CAAC;AAACjyB,QAAAA,KAAK,EAAC,SAANA,KAAKA,GAAW;AAAC,UAAA,OAAOmyB,EAAE,CAACX,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;AAAA,SAAA;AAAC,OAAC,CAAC,CAAA;AAAA,KAAA;AAAC,IAAA,OAAOpJ,CAAC,CAAA;AAAA,GAAC,CAAC,CAAA;EAAC,SAAS+J,EAAEA,CAAC/J,CAAC,EAAC;AAACA,IAAAA,CAAC,GAAC;AAAC9nB,MAAAA,IAAI,EAAC8nB,CAAAA;KAAE,CAAA;AAACA,IAAAA,CAAC,CAAC9mB,MAAM,CAACC,QAAQ,CAAC,GAAC,YAAU;AAAC,MAAA,OAAO,IAAI,CAAA;KAAC,CAAA;AAAC,IAAA,OAAO6mB,CAAC,CAAA;AAAA,GAAA;EAChe,SAASgK,CAACA,CAAChK,CAAC,EAAC;AAAC,IAAA,IAAIvqB,CAAC,GAAC,WAAW,IAAE,OAAOyD,MAAM,IAAEA,MAAM,CAACC,QAAQ,IAAE6mB,CAAC,CAAC9mB,MAAM,CAACC,QAAQ,CAAC,CAAA;IAAC,OAAO1D,CAAC,GAACA,CAAC,CAACQ,IAAI,CAAC+pB,CAAC,CAAC,GAAC;MAAC9nB,IAAI,EAACkxB,EAAE,CAACpJ,CAAC,CAAA;KAAE,CAAA;AAAA,GAAA;EAAC,SAASiK,CAACA,CAACjK,CAAC,EAAC;AAAC,IAAA,IAAG,EAAEA,CAAC,YAAYnqB,KAAK,CAAC,EAAC;AAACmqB,MAAAA,CAAC,GAACgK,CAAC,CAAChK,CAAC,CAAC,CAAA;MAAC,KAAI,IAAIvqB,CAAC,EAACqqB,CAAC,GAAC,EAAE,EAAC,CAAC,CAACrqB,CAAC,GAACuqB,CAAC,CAAC9nB,IAAI,EAAE,EAAEG,IAAI,GAAEynB,CAAC,CAACvmB,IAAI,CAAC9D,CAAC,CAACmC,KAAK,CAAC,CAAA;AAACooB,MAAAA,CAAC,GAACF,CAAC,CAAA;AAAA,KAAA;AAAC,IAAA,OAAOE,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,IAAIkK,EAAE,GAAC,UAAU,IAAE,OAAOx0B,MAAM,CAACa,MAAM,GAACb,MAAM,CAACa,MAAM,GAAC,UAASypB,CAAC,EAAC;MAAC,SAASvqB,CAACA,GAAE,EAAA;MAAEA,CAAC,CAACM,SAAS,GAACiqB,CAAC,CAAA;MAAC,OAAO,IAAIvqB,CAAC,EAAA,CAAA;KAAC;IAAC00B,EAAE,CAAA;AACjV,EAAA,IAAG,UAAU,IAAE,OAAOz0B,MAAM,CAACC,cAAc,EAACw0B,EAAE,GAACz0B,MAAM,CAACC,cAAc,CAAC,KAAI;AAAC,IAAA,IAAIy0B,EAAE,CAAA;AAACpK,IAAAA,CAAC,EAAC;AAAC,MAAA,IAAIqK,EAAE,GAAC;AAACrK,UAAAA,CAAC,EAAC,CAAC,CAAA;SAAE;QAACsK,EAAE,GAAC,EAAE,CAAA;MAAC,IAAG;QAACA,EAAE,CAAC10B,SAAS,GAACy0B,EAAE,CAAA;QAACD,EAAE,GAACE,EAAE,CAACtK,CAAC,CAAA;AAAC,QAAA,MAAMA,CAAC,CAAA;OAAC,CAAA,OAAMA,CAAC,EAAC,EAAE;MAAAoK,EAAE,GAAC,CAAC,CAAC,CAAA;AAAA,KAAA;AAACD,IAAAA,EAAE,GAACC,EAAE,GAAC,UAASpK,CAAC,EAACvqB,CAAC,EAAC;MAACuqB,CAAC,CAACpqB,SAAS,GAACH,CAAC,CAAA;AAAC,MAAA,IAAGuqB,CAAC,CAACpqB,SAAS,KAAGH,CAAC,EAAC,MAAM,IAAIU,SAAS,CAAC6pB,CAAC,GAAC,oBAAoB,CAAC,CAAA;AAAC,MAAA,OAAOA,CAAC,CAAA;AAAA,KAAC,GAAC,IAAI,CAAA;AAAA,GAAA;EAAC,IAAIuK,EAAE,GAACJ,EAAE,CAAA;AACrR,EAAA,SAASK,CAACA,CAACxK,CAAC,EAACvqB,CAAC,EAAC;IAACuqB,CAAC,CAACjqB,SAAS,GAACm0B,EAAE,CAACz0B,CAAC,CAACM,SAAS,CAAC,CAAA;AAACiqB,IAAAA,CAAC,CAACjqB,SAAS,CAACO,WAAW,GAAC0pB,CAAC,CAAA;IAAC,IAAGuK,EAAE,EAACA,EAAE,CAACvK,CAAC,EAACvqB,CAAC,CAAC,CAAC,KAAK,KAAI,IAAIqqB,CAAC,IAAIrqB,CAAC,EAAC,IAAG,WAAW,IAAEqqB,CAAC,EAAC,IAAGpqB,MAAM,CAAC4zB,gBAAgB,EAAC;MAAC,IAAI9zB,CAAC,GAACE,MAAM,CAAC+0B,wBAAwB,CAACh1B,CAAC,EAACqqB,CAAC,CAAC,CAAA;MAACtqB,CAAC,IAAEE,MAAM,CAACyE,cAAc,CAAC6lB,CAAC,EAACF,CAAC,EAACtqB,CAAC,CAAC,CAAA;KAAC,MAAKwqB,CAAC,CAACF,CAAC,CAAC,GAACrqB,CAAC,CAACqqB,CAAC,CAAC,CAAA;AAACE,IAAAA,CAAC,CAAC0K,EAAE,GAACj1B,CAAC,CAACM,SAAS,CAAA;AAAA,GAAA;EAAC,SAAS40B,EAAEA,GAAE;AAAC,IAAA,IAAI,CAAC/wB,CAAC,GAAC,CAAC,CAAC,CAAA;IAAC,IAAI,CAAChD,CAAC,GAAC,IAAI,CAAA;AAAC,IAAA,IAAI,CAACg0B,CAAC,GAAC,KAAK,CAAC,CAAA;IAAC,IAAI,CAAC5xB,CAAC,GAAC,CAAC,CAAA;AAAC,IAAA,IAAI,CAAC6xB,CAAC,GAAC,IAAI,CAACC,CAAC,GAAC,CAAC,CAAA;IAAC,IAAI,CAACC,CAAC,GAAC,IAAI,CAAA;AAAA,GAAA;EAAC,SAASC,EAAEA,CAAChL,CAAC,EAAC;IAAC,IAAGA,CAAC,CAACpmB,CAAC,EAAC,MAAM,IAAIzD,SAAS,CAAC,8BAA8B,CAAC,CAAA;AAAC6pB,IAAAA,CAAC,CAACpmB,CAAC,GAAC,CAAC,CAAC,CAAA;AAAA,GAAA;AAAC+wB,EAAAA,EAAE,CAAC50B,SAAS,CAACY,CAAC,GAAC,UAASqpB,CAAC,EAAC;IAAC,IAAI,CAAC4K,CAAC,GAAC5K,CAAC,CAAA;GAAC,CAAA;AAC7c,EAAA,SAAS0K,EAAEA,CAAC1K,CAAC,EAACvqB,CAAC,EAAC;IAACuqB,CAAC,CAAC+K,CAAC,GAAC;AAAChB,MAAAA,EAAE,EAACt0B,CAAC;AAACy0B,MAAAA,EAAE,EAAC,CAAC,CAAA;KAAE,CAAA;IAAClK,CAAC,CAAChnB,CAAC,GAACgnB,CAAC,CAAC8K,CAAC,IAAE9K,CAAC,CAAC6K,CAAC,CAAA;AAAA,GAAA;AAACF,EAAAA,EAAE,CAAC50B,SAAS,CAAA,QAAA,CAAO,GAAC,UAASiqB,CAAC,EAAC;IAAC,IAAI,CAAC+K,CAAC,GAAC;MAAC,QAAO/K,EAAAA,CAAAA;KAAE,CAAA;AAAC,IAAA,IAAI,CAAChnB,CAAC,GAAC,IAAI,CAAC6xB,CAAC,CAAA;GAAC,CAAA;AAAC,EAAA,SAASI,CAACA,CAACjL,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;IAACE,CAAC,CAAChnB,CAAC,GAAC8mB,CAAC,CAAA;IAAC,OAAM;AAACloB,MAAAA,KAAK,EAACnC,CAAAA;KAAE,CAAA;AAAA,GAAA;EAAC,SAASy1B,EAAEA,CAAClL,CAAC,EAAC;AAAC,IAAA,IAAI,CAAChnB,CAAC,GAAC,IAAI2xB,EAAE,EAAA,CAAA;IAAC,IAAI,CAACC,CAAC,GAAC5K,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAASmL,EAAEA,CAACnL,CAAC,EAACvqB,CAAC,EAAC;AAACu1B,IAAAA,EAAE,CAAChL,CAAC,CAAChnB,CAAC,CAAC,CAAA;AAAC,IAAA,IAAI8mB,CAAC,GAACE,CAAC,CAAChnB,CAAC,CAACpC,CAAC,CAAA;AAAC,IAAA,IAAGkpB,CAAC,EAAC,OAAOsL,EAAE,CAACpL,CAAC,EAAC,QAAQ,IAAGF,CAAC,GAACA,CAAC,CAAC,QAAQ,CAAC,GAAC,UAAStqB,CAAC,EAAC;MAAC,OAAM;AAACoC,QAAAA,KAAK,EAACpC,CAAC;AAAC6C,QAAAA,IAAI,EAAC,CAAC,CAAA;OAAE,CAAA;AAAA,KAAC,EAAC5C,CAAC,EAACuqB,CAAC,CAAChnB,CAAC,UAAO,CAAC,CAAA;AAACgnB,IAAAA,CAAC,CAAChnB,CAAC,CAAO,QAAA,CAAA,CAACvD,CAAC,CAAC,CAAA;IAAC,OAAO41B,CAAC,CAACrL,CAAC,CAAC,CAAA;AAAA,GAAA;EACzV,SAASoL,EAAEA,CAACpL,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC;IAAC,IAAG;AAAC,MAAA,IAAI0B,CAAC,GAACzB,CAAC,CAACQ,IAAI,CAAC+pB,CAAC,CAAChnB,CAAC,CAACpC,CAAC,EAACkpB,CAAC,CAAC,CAAA;AAAC,MAAA,IAAG,EAAE5oB,CAAC,YAAYxB,MAAM,CAAC,EAAC,MAAM,IAAIS,SAAS,CAAC,kBAAkB,GAACe,CAAC,GAAC,mBAAmB,CAAC,CAAA;AAAC,MAAA,IAAG,CAACA,CAAC,CAACmB,IAAI,EAAC,OAAO2nB,CAAC,CAAChnB,CAAC,CAACY,CAAC,GAAC,CAAC,CAAC,EAAC1C,CAAC,CAAA;AAAC,MAAA,IAAI8B,CAAC,GAAC9B,CAAC,CAACU,KAAK,CAAA;KAAC,CAAA,OAAMkB,CAAC,EAAC;MAAC,OAAOknB,CAAC,CAAChnB,CAAC,CAACpC,CAAC,GAAC,IAAI,EAAC8zB,EAAE,CAAC1K,CAAC,CAAChnB,CAAC,EAACF,CAAC,CAAC,EAACuyB,CAAC,CAACrL,CAAC,CAAC,CAAA;AAAA,KAAA;AAACA,IAAAA,CAAC,CAAChnB,CAAC,CAACpC,CAAC,GAAC,IAAI,CAAA;IAACpB,CAAC,CAACS,IAAI,CAAC+pB,CAAC,CAAChnB,CAAC,EAACA,CAAC,CAAC,CAAA;IAAC,OAAOqyB,CAAC,CAACrL,CAAC,CAAC,CAAA;AAAA,GAAA;EAAC,SAASqL,CAACA,CAACrL,CAAC,EAAC;AAAC,IAAA,OAAKA,CAAC,CAAChnB,CAAC,CAACA,CAAC,GAAE,IAAG;MAAC,IAAIvD,CAAC,GAACuqB,CAAC,CAAC4K,CAAC,CAAC5K,CAAC,CAAChnB,CAAC,CAAC,CAAA;MAAC,IAAGvD,CAAC,EAAC,OAAOuqB,CAAC,CAAChnB,CAAC,CAACY,CAAC,GAAC,CAAC,CAAC,EAAC;QAAChC,KAAK,EAACnC,CAAC,CAACmC,KAAK;AAACS,QAAAA,IAAI,EAAC,CAAC,CAAA;OAAE,CAAA;KAAC,CAAA,OAAMynB,CAAC,EAAC;AAACE,MAAAA,CAAC,CAAChnB,CAAC,CAAC4xB,CAAC,GAAC,KAAK,CAAC,EAACF,EAAE,CAAC1K,CAAC,CAAChnB,CAAC,EAAC8mB,CAAC,CAAC,CAAA;AAAA,KAAA;AAACE,IAAAA,CAAC,CAAChnB,CAAC,CAACY,CAAC,GAAC,CAAC,CAAC,CAAA;AAAC,IAAA,IAAGomB,CAAC,CAAChnB,CAAC,CAAC+xB,CAAC,EAAC;AAACt1B,MAAAA,CAAC,GAACuqB,CAAC,CAAChnB,CAAC,CAAC+xB,CAAC,CAAA;AAAC/K,MAAAA,CAAC,CAAChnB,CAAC,CAAC+xB,CAAC,GAAC,IAAI,CAAA;AAAC,MAAA,IAAGt1B,CAAC,CAACy0B,EAAE,EAAC,MAAMz0B,CAAC,CAACs0B,EAAE,CAAA;MAAC,OAAM;QAACnyB,KAAK,EAACnC,CAAC,CAAO,QAAA,CAAA;AAAC4C,QAAAA,IAAI,EAAC,CAAC,CAAA;OAAE,CAAA;AAAA,KAAA;IAAC,OAAM;MAACT,KAAK,EAAC,KAAK,CAAC;AAACS,MAAAA,IAAI,EAAC,CAAC,CAAA;KAAE,CAAA;AAAA,GAAA;EAC/e,SAASizB,EAAEA,CAACtL,CAAC,EAAC;AAAC,IAAA,IAAI,CAAC9nB,IAAI,GAAC,UAASzC,CAAC,EAAC;AAACu1B,MAAAA,EAAE,CAAChL,CAAC,CAAChnB,CAAC,CAAC,CAAA;AAACgnB,MAAAA,CAAC,CAAChnB,CAAC,CAACpC,CAAC,GAACnB,CAAC,GAAC21B,EAAE,CAACpL,CAAC,EAACA,CAAC,CAAChnB,CAAC,CAACpC,CAAC,CAACsB,IAAI,EAACzC,CAAC,EAACuqB,CAAC,CAAChnB,CAAC,CAACrC,CAAC,CAAC,IAAEqpB,CAAC,CAAChnB,CAAC,CAACrC,CAAC,CAAClB,CAAC,CAAC,EAACA,CAAC,GAAC41B,CAAC,CAACrL,CAAC,CAAC,CAAC,CAAA;AAAC,MAAA,OAAOvqB,CAAC,CAAA;KAAC,CAAA;AAAC,IAAA,IAAI,CAAM,OAAA,CAAA,GAAC,UAASA,CAAC,EAAC;AAACu1B,MAAAA,EAAE,CAAChL,CAAC,CAAChnB,CAAC,CAAC,CAAA;MAACgnB,CAAC,CAAChnB,CAAC,CAACpC,CAAC,GAACnB,CAAC,GAAC21B,EAAE,CAACpL,CAAC,EAACA,CAAC,CAAChnB,CAAC,CAACpC,CAAC,CAAC,OAAO,CAAC,EAACnB,CAAC,EAACuqB,CAAC,CAAChnB,CAAC,CAACrC,CAAC,CAAC,IAAE+zB,EAAE,CAAC1K,CAAC,CAAChnB,CAAC,EAACvD,CAAC,CAAC,EAACA,CAAC,GAAC41B,CAAC,CAACrL,CAAC,CAAC,CAAC,CAAA;AAAC,MAAA,OAAOvqB,CAAC,CAAA;KAAC,CAAA;AAAC,IAAA,IAAI,CAAO,QAAA,CAAA,GAAC,UAASA,CAAC,EAAC;AAAC,MAAA,OAAO01B,EAAE,CAACnL,CAAC,EAACvqB,CAAC,CAAC,CAAA;KAAC,CAAA;AAAC,IAAA,IAAI,CAACyD,MAAM,CAACC,QAAQ,CAAC,GAAC,YAAU;AAAC,MAAA,OAAO,IAAI,CAAA;KAAC,CAAA;AAAA,GAAA;EAAC,SAASoyB,EAAEA,CAACvL,CAAC,EAAC;IAAC,SAASvqB,CAACA,CAACD,CAAC,EAAC;AAAC,MAAA,OAAOwqB,CAAC,CAAC9nB,IAAI,CAAC1C,CAAC,CAAC,CAAA;AAAA,KAAA;IAAC,SAASsqB,CAACA,CAACtqB,CAAC,EAAC;AAAC,MAAA,OAAOwqB,CAAC,CAAA,OAAA,CAAM,CAACxqB,CAAC,CAAC,CAAA;AAAA,KAAA;AAAC,IAAA,OAAO,IAAIsC,OAAO,CAAC,UAAStC,CAAC,EAAC0B,CAAC,EAAC;MAAC,SAAS8B,CAACA,CAACF,CAAC,EAAC;AAACA,QAAAA,CAAC,CAACT,IAAI,GAAC7C,CAAC,CAACsD,CAAC,CAAClB,KAAK,CAAC,GAACE,OAAO,CAACD,OAAO,CAACiB,CAAC,CAAClB,KAAK,CAAC,CAACU,IAAI,CAAC7C,CAAC,EAACqqB,CAAC,CAAC,CAACxnB,IAAI,CAACU,CAAC,EAAC9B,CAAC,CAAC,CAAA;AAAA,OAAA;AAAC8B,MAAAA,CAAC,CAACgnB,CAAC,CAAC9nB,IAAI,EAAE,CAAC,CAAA;AAAA,KAAC,CAAC,CAAA;AAAA,GAAA;EAC1e,SAASszB,CAACA,CAACxL,CAAC,EAAC;IAAC,OAAOuL,EAAE,CAAC,IAAID,EAAE,CAAC,IAAIJ,EAAE,CAAClL,CAAC,CAAC,CAAC,CAAC,CAAA;AAAA,GAAA;AAC1C2J,EAAAA,CAAC,CAAC,SAAS,EAAC,UAAS3J,CAAC,EAAC;IAAC,SAASvqB,CAACA,CAACqD,CAAC,EAAC;MAAC,IAAI,CAAC8xB,CAAC,GAAC,CAAC,CAAA;AAAC,MAAA,IAAI,CAACh0B,CAAC,GAAC,KAAK,CAAC,CAAA;MAAC,IAAI,CAACoC,CAAC,GAAC,EAAE,CAAA;AAAC,MAAA,IAAI,CAACrC,CAAC,GAAC,CAAC,CAAC,CAAA;AAAC,MAAA,IAAIi0B,CAAC,GAAC,IAAI,CAACG,CAAC,EAAE,CAAA;MAAC,IAAG;QAACjyB,CAAC,CAAC8xB,CAAC,CAAC/yB,OAAO,EAAC+yB,CAAC,CAAC7yB,MAAM,CAAC,CAAA;OAAC,CAAA,OAAMgd,CAAC,EAAC;AAAC6V,QAAAA,CAAC,CAAC7yB,MAAM,CAACgd,CAAC,CAAC,CAAA;AAAA,OAAA;AAAC,KAAA;IAAC,SAAS+K,CAACA,GAAE;MAAC,IAAI,CAAC9mB,CAAC,GAAC,IAAI,CAAA;AAAA,KAAA;IAAC,SAASxD,CAACA,CAACsD,CAAC,EAAC;MAAC,OAAOA,CAAC,YAAYrD,CAAC,GAACqD,CAAC,GAAC,IAAIrD,CAAC,CAAC,UAASm1B,CAAC,EAAC;QAACA,CAAC,CAAC9xB,CAAC,CAAC,CAAA;AAAA,OAAC,CAAC,CAAA;AAAA,KAAA;IAAC,IAAGknB,CAAC,EAAC,OAAOA,CAAC,CAAA;AAACF,IAAAA,CAAC,CAAC/pB,SAAS,CAAC60B,CAAC,GAAC,UAAS9xB,CAAC,EAAC;AAAC,MAAA,IAAG,IAAI,IAAE,IAAI,CAACE,CAAC,EAAC;QAAC,IAAI,CAACA,CAAC,GAAC,EAAE,CAAA;QAAC,IAAI4xB,CAAC,GAAC,IAAI,CAAA;QAAC,IAAI,CAACh0B,CAAC,CAAC,YAAU;UAACg0B,CAAC,CAAChxB,CAAC,EAAE,CAAA;AAAA,SAAC,CAAC,CAAA;AAAA,OAAA;AAAC,MAAA,IAAI,CAACZ,CAAC,CAACO,IAAI,CAACT,CAAC,CAAC,CAAA;KAAC,CAAA;AAAC,IAAA,IAAI5B,CAAC,GAAC6B,CAAC,CAAC6sB,UAAU,CAAA;AAAC9F,IAAAA,CAAC,CAAC/pB,SAAS,CAACa,CAAC,GAAC,UAASkC,CAAC,EAAC;AAAC5B,MAAAA,CAAC,CAAC4B,CAAC,EAAC,CAAC,CAAC,CAAA;KAAC,CAAA;AAACgnB,IAAAA,CAAC,CAAC/pB,SAAS,CAAC6D,CAAC,GAAC,YAAU;MAAC,OAAK,IAAI,CAACZ,CAAC,IAAE,IAAI,CAACA,CAAC,CAACjC,MAAM,GAAE;AAAC,QAAA,IAAI+B,CAAC,GAAC,IAAI,CAACE,CAAC,CAAA;QAAC,IAAI,CAACA,CAAC,GAAC,EAAE,CAAA;AAAC,QAAA,KAAI,IAAI4xB,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC9xB,CAAC,CAAC/B,MAAM,EAAC,EAAE6zB,CAAC,EAAC;AAAC,UAAA,IAAI7V,CAAC,GACngBjc,CAAC,CAAC8xB,CAAC,CAAC,CAAA;AAAC9xB,UAAAA,CAAC,CAAC8xB,CAAC,CAAC,GAAC,IAAI,CAAA;UAAC,IAAG;AAAC7V,YAAAA,CAAC,EAAE,CAAA;WAAC,CAAA,OAAMnb,CAAC,EAAC;AAAC,YAAA,IAAI,CAACmxB,CAAC,CAACnxB,CAAC,CAAC,CAAA;AAAA,WAAA;AAAC,SAAA;AAAC,OAAA;MAAC,IAAI,CAACZ,CAAC,GAAC,IAAI,CAAA;KAAC,CAAA;AAAC8mB,IAAAA,CAAC,CAAC/pB,SAAS,CAACg1B,CAAC,GAAC,UAASjyB,CAAC,EAAC;MAAC,IAAI,CAAClC,CAAC,CAAC,YAAU;AAAC,QAAA,MAAMkC,CAAC,CAAA;AAAC,OAAC,CAAC,CAAA;KAAC,CAAA;AAACrD,IAAAA,CAAC,CAACM,SAAS,CAACg1B,CAAC,GAAC,YAAU;MAAC,SAASjyB,CAACA,CAACc,CAAC,EAAC;QAAC,OAAO,UAAS6xB,CAAC,EAAC;AAAC1W,UAAAA,CAAC,KAAGA,CAAC,GAAC,CAAC,CAAC,EAACnb,CAAC,CAAC3D,IAAI,CAAC20B,CAAC,EAACa,CAAC,CAAC,CAAC,CAAA;SAAC,CAAA;AAAA,OAAA;MAAC,IAAIb,CAAC,GAAC,IAAI;QAAC7V,CAAC,GAAC,CAAC,CAAC,CAAA;MAAC,OAAM;AAACld,QAAAA,OAAO,EAACiB,CAAC,CAAC,IAAI,CAACmxB,CAAC,CAAC;AAAClyB,QAAAA,MAAM,EAACe,CAAC,CAAC,IAAI,CAACc,CAAC,CAAA;OAAE,CAAA;KAAC,CAAA;AAACnE,IAAAA,CAAC,CAACM,SAAS,CAACk0B,CAAC,GAAC,UAASnxB,CAAC,EAAC;AAAC,MAAA,IAAGA,CAAC,KAAG,IAAI,EAAC,IAAI,CAACc,CAAC,CAAC,IAAIzD,SAAS,CAAC,oCAAoC,CAAC,CAAC,CAAC,KAAK,IAAG2C,CAAC,YAAYrD,CAAC,EAAC,IAAI,CAAC41B,CAAC,CAACvyB,CAAC,CAAC,CAAC,KAAI;QAACknB,CAAC,EAAC,QAAO,OAAOlnB,CAAC;AAAE,UAAA,KAAK,QAAQ;AAAC,YAAA,IAAI8xB,CAAC,GAAC,IAAI,IAAE9xB,CAAC,CAAA;AAAC,YAAA,MAAMknB,CAAC,CAAA;AAAC,UAAA,KAAK,UAAU;YAAC4K,CAAC,GAAC,CAAC,CAAC,CAAA;AAAC,YAAA,MAAM5K,CAAC,CAAA;AAAC,UAAA;YAAQ4K,CAAC,GAAC,CAAC,CAAC,CAAA;AAAA,SAAA;AAACA,QAAAA,CAAC,GAAC,IAAI,CAACc,CAAC,CAAC5yB,CAAC,CAAC,GAAC,IAAI,CAACgyB,CAAC,CAAChyB,CAAC,CAAC,CAAA;AAAA,OAAA;KAAE,CAAA;AAC9frD,IAAAA,CAAC,CAACM,SAAS,CAAC21B,CAAC,GAAC,UAAS5yB,CAAC,EAAC;MAAC,IAAI8xB,CAAC,GAAC,KAAK,CAAC,CAAA;MAAC,IAAG;QAACA,CAAC,GAAC9xB,CAAC,CAACR,IAAI,CAAA;OAAC,CAAA,OAAMyc,CAAC,EAAC;AAAC,QAAA,IAAI,CAACnb,CAAC,CAACmb,CAAC,CAAC,CAAA;AAAC,QAAA,OAAA;AAAM,OAAA;AAAC,MAAA,UAAU,IAAE,OAAO6V,CAAC,GAAC,IAAI,CAACe,CAAC,CAACf,CAAC,EAAC9xB,CAAC,CAAC,GAAC,IAAI,CAACgyB,CAAC,CAAChyB,CAAC,CAAC,CAAA;KAAC,CAAA;AAACrD,IAAAA,CAAC,CAACM,SAAS,CAAC6D,CAAC,GAAC,UAASd,CAAC,EAAC;AAAC,MAAA,IAAI,CAAC+xB,CAAC,CAAC,CAAC,EAAC/xB,CAAC,CAAC,CAAA;KAAC,CAAA;AAACrD,IAAAA,CAAC,CAACM,SAAS,CAAC+0B,CAAC,GAAC,UAAShyB,CAAC,EAAC;AAAC,MAAA,IAAI,CAAC+xB,CAAC,CAAC,CAAC,EAAC/xB,CAAC,CAAC,CAAA;KAAC,CAAA;IAACrD,CAAC,CAACM,SAAS,CAAC80B,CAAC,GAAC,UAAS/xB,CAAC,EAAC8xB,CAAC,EAAC;MAAC,IAAG,CAAC,IAAE,IAAI,CAACA,CAAC,EAAC,MAAMpwB,KAAK,CAAC,gBAAgB,GAAC1B,CAAC,GAAC,IAAI,GAAC8xB,CAAC,GAAC,qCAAqC,GAAC,IAAI,CAACA,CAAC,CAAC,CAAA;MAAC,IAAI,CAACA,CAAC,GAAC9xB,CAAC,CAAA;MAAC,IAAI,CAAClC,CAAC,GAACg0B,CAAC,CAAA;MAAC,CAAC,KAAG,IAAI,CAACA,CAAC,IAAE,IAAI,CAACK,CAAC,EAAE,CAAA;MAAC,IAAI,CAACtB,CAAC,EAAE,CAAA;KAAC,CAAA;AAACl0B,IAAAA,CAAC,CAACM,SAAS,CAACk1B,CAAC,GAAC,YAAU;MAAC,IAAInyB,CAAC,GAAC,IAAI,CAAA;AAAC5B,MAAAA,CAAC,CAAC,YAAU;AAAC,QAAA,IAAG4B,CAAC,CAACkxB,CAAC,EAAE,EAAC;AAAC,UAAA,IAAIY,CAAC,GAAC7xB,CAAC,CAAC8R,OAAO,CAAA;UAAC,WAAW,KAAG,OAAO+f,CAAC,IAAEA,CAAC,CAACvwB,KAAK,CAACvB,CAAC,CAAClC,CAAC,CAAC,CAAA;AAAA,SAAA;OAAE,EAAC,CAAC,CAAC,CAAA;KAAC,CAAA;AAACnB,IAAAA,CAAC,CAACM,SAAS,CAACi0B,CAAC,GACzf,YAAU;AAAC,MAAA,IAAG,IAAI,CAACrzB,CAAC,EAAC,OAAM,CAAC,CAAC,CAAA;AAAC,MAAA,IAAImC,CAAC,GAACC,CAAC,CAACupB,WAAW;QAACsI,CAAC,GAAC7xB,CAAC,CAAC6yB,KAAK;QAAC7W,CAAC,GAAChc,CAAC,CAACspB,aAAa,CAAA;AAAC,MAAA,IAAG,WAAW,KAAG,OAAOtN,CAAC,EAAC,OAAM,CAAC,CAAC,CAAA;MAAC,UAAU,KAAG,OAAOjc,CAAC,GAACA,CAAC,GAAC,IAAIA,CAAC,CAAC,oBAAoB,EAAC;AAAC+yB,QAAAA,UAAU,EAAC,CAAC,CAAA;AAAC,OAAC,CAAC,GAAC,UAAU,KAAG,OAAOjB,CAAC,GAAC9xB,CAAC,GAAC,IAAI8xB,CAAC,CAAC,oBAAoB,EAAC;AAACiB,QAAAA,UAAU,EAAC,CAAC,CAAA;OAAE,CAAC,IAAE/yB,CAAC,GAACC,CAAC,CAAC+H,QAAQ,CAACgrB,WAAW,CAAC,aAAa,CAAC,EAAChzB,CAAC,CAACizB,eAAe,CAAC,oBAAoB,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAACjzB,CAAC,CAAC,CAAC,CAAA;MAACA,CAAC,CAACkzB,OAAO,GAAC,IAAI,CAAA;AAAClzB,MAAAA,CAAC,CAACmzB,MAAM,GAAC,IAAI,CAACr1B,CAAC,CAAA;MAAC,OAAOme,CAAC,CAACjc,CAAC,CAAC,CAAA;KAAC,CAAA;AAACrD,IAAAA,CAAC,CAACM,SAAS,CAAC4zB,CAAC,GAAC,YAAU;AAAC,MAAA,IAAG,IAAI,IAAE,IAAI,CAAC3wB,CAAC,EAAC;QAAC,KAAI,IAAIF,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,IAAI,CAACE,CAAC,CAACjC,MAAM,EAAC,EAAE+B,CAAC,EAACE,CAAC,CAAC4xB,CAAC,CAAC,IAAI,CAAC5xB,CAAC,CAACF,CAAC,CAAC,CAAC,CAAA;QAAC,IAAI,CAACE,CAAC,GAAC,IAAI,CAAA;AAAA,OAAA;KAAE,CAAA;AAAC,IAAA,IAAIA,CAAC,GAAC,IAAI8mB,CAAC,EAAA,CAAA;AAACrqB,IAAAA,CAAC,CAACM,SAAS,CAACs1B,CAAC,GAC/f,UAASvyB,CAAC,EAAC;AAAC,MAAA,IAAI8xB,CAAC,GAAC,IAAI,CAACG,CAAC,EAAE,CAAA;MAACjyB,CAAC,CAACozB,CAAC,CAACtB,CAAC,CAAC/yB,OAAO,EAAC+yB,CAAC,CAAC7yB,MAAM,CAAC,CAAA;KAAC,CAAA;IAACtC,CAAC,CAACM,SAAS,CAAC41B,CAAC,GAAC,UAAS7yB,CAAC,EAAC8xB,CAAC,EAAC;AAAC,MAAA,IAAI7V,CAAC,GAAC,IAAI,CAACgW,CAAC,EAAE,CAAA;MAAC,IAAG;AAACjyB,QAAAA,CAAC,CAAC7C,IAAI,CAAC20B,CAAC,EAAC7V,CAAC,CAACld,OAAO,EAACkd,CAAC,CAAChd,MAAM,CAAC,CAAA;OAAC,CAAA,OAAM6B,CAAC,EAAC;AAACmb,QAAAA,CAAC,CAAChd,MAAM,CAAC6B,CAAC,CAAC,CAAA;AAAA,OAAA;KAAE,CAAA;IAACnE,CAAC,CAACM,SAAS,CAACuC,IAAI,GAAC,UAASQ,CAAC,EAAC8xB,CAAC,EAAC;AAAC,MAAA,SAAS7V,CAACA,CAACjf,CAAC,EAACe,CAAC,EAAC;AAAC,QAAA,OAAM,UAAU,IAAE,OAAOf,CAAC,GAAC,UAASq2B,CAAC,EAAC;UAAC,IAAG;AAACvyB,YAAAA,CAAC,CAAC9D,CAAC,CAACq2B,CAAC,CAAC,CAAC,CAAA;WAAC,CAAA,OAAMz1B,CAAC,EAAC;YAAC+0B,CAAC,CAAC/0B,CAAC,CAAC,CAAA;AAAA,WAAA;AAAC,SAAC,GAACG,CAAC,CAAA;AAAA,OAAA;AAAC,MAAA,IAAI+C,CAAC;QAAC6xB,CAAC;QAACW,CAAC,GAAC,IAAI32B,CAAC,CAAC,UAASK,CAAC,EAACe,CAAC,EAAC;AAAC+C,UAAAA,CAAC,GAAC9D,CAAC,CAAA;AAAC21B,UAAAA,CAAC,GAAC50B,CAAC,CAAA;AAAA,SAAC,CAAC,CAAA;AAAC,MAAA,IAAI,CAACq1B,CAAC,CAACnX,CAAC,CAACjc,CAAC,EAACc,CAAC,CAAC,EAACmb,CAAC,CAAC6V,CAAC,EAACa,CAAC,CAAC,CAAC,CAAA;AAAC,MAAA,OAAOW,CAAC,CAAA;KAAC,CAAA;AAAC32B,IAAAA,CAAC,CAACM,SAAS,CAAA,OAAA,CAAM,GAAC,UAAS+C,CAAC,EAAC;MAAC,OAAO,IAAI,CAACR,IAAI,CAAC,KAAK,CAAC,EAACQ,CAAC,CAAC,CAAA;KAAC,CAAA;IAACrD,CAAC,CAACM,SAAS,CAACm2B,CAAC,GAAC,UAASpzB,CAAC,EAAC8xB,CAAC,EAAC;MAAC,SAAS7V,CAACA,GAAE;QAAC,QAAOnb,CAAC,CAACgxB,CAAC;AAAE,UAAA,KAAK,CAAC;AAAC9xB,YAAAA,CAAC,CAACc,CAAC,CAAChD,CAAC,CAAC,CAAA;AAAC,YAAA,MAAA;AAAM,UAAA,KAAK,CAAC;AAACg0B,YAAAA,CAAC,CAAChxB,CAAC,CAAChD,CAAC,CAAC,CAAA;AAAC,YAAA,MAAA;AAAM,UAAA;AAAQ,YAAA,MAAM4D,KAAK,CAAC,oBAAoB,GAClhBZ,CAAC,CAACgxB,CAAC,CAAC,CAAA;AAAC,SAAA;AAAC,OAAA;MAAC,IAAIhxB,CAAC,GAAC,IAAI,CAAA;AAAC,MAAA,IAAI,IAAE,IAAI,CAACZ,CAAC,GAACA,CAAC,CAAC4xB,CAAC,CAAC7V,CAAC,CAAC,GAAC,IAAI,CAAC/b,CAAC,CAACO,IAAI,CAACwb,CAAC,CAAC,CAAA;AAAC,MAAA,IAAI,CAACpe,CAAC,GAAC,CAAC,CAAC,CAAA;KAAC,CAAA;IAAClB,CAAC,CAACoC,OAAO,GAACrC,CAAC,CAAA;AAACC,IAAAA,CAAC,CAACsC,MAAM,GAAC,UAASe,CAAC,EAAC;AAAC,MAAA,OAAO,IAAIrD,CAAC,CAAC,UAASm1B,CAAC,EAAC7V,CAAC,EAAC;QAACA,CAAC,CAACjc,CAAC,CAAC,CAAA;AAAA,OAAC,CAAC,CAAA;KAAC,CAAA;AAACrD,IAAAA,CAAC,CAACsvB,IAAI,GAAC,UAASjsB,CAAC,EAAC;AAAC,MAAA,OAAO,IAAIrD,CAAC,CAAC,UAASm1B,CAAC,EAAC7V,CAAC,EAAC;AAAC,QAAA,KAAI,IAAInb,CAAC,GAACowB,CAAC,CAAClxB,CAAC,CAAC,EAAC2yB,CAAC,GAAC7xB,CAAC,CAAC1B,IAAI,EAAE,EAAC,CAACuzB,CAAC,CAACpzB,IAAI,EAACozB,CAAC,GAAC7xB,CAAC,CAAC1B,IAAI,EAAE,EAAC1C,CAAC,CAACi2B,CAAC,CAAC7zB,KAAK,CAAC,CAACs0B,CAAC,CAACtB,CAAC,EAAC7V,CAAC,CAAC,CAAA;AAAA,OAAC,CAAC,CAAA;KAAC,CAAA;AAACtf,IAAAA,CAAC,CAACmf,GAAG,GAAC,UAAS9b,CAAC,EAAC;AAAC,MAAA,IAAI8xB,CAAC,GAACZ,CAAC,CAAClxB,CAAC,CAAC;AAACic,QAAAA,CAAC,GAAC6V,CAAC,CAAC1yB,IAAI,EAAE,CAAA;AAAC,MAAA,OAAO6c,CAAC,CAAC1c,IAAI,GAAC7C,CAAC,CAAC,EAAE,CAAC,GAAC,IAAIC,CAAC,CAAC,UAASmE,CAAC,EAAC6xB,CAAC,EAAC;QAAC,SAASW,CAACA,CAACD,CAAC,EAAC;UAAC,OAAO,UAASz1B,CAAC,EAAC;AAACZ,YAAAA,CAAC,CAACq2B,CAAC,CAAC,GAACz1B,CAAC,CAAA;AAACG,YAAAA,CAAC,EAAE,CAAA;AAAC,YAAA,CAAC,IAAEA,CAAC,IAAE+C,CAAC,CAAC9D,CAAC,CAAC,CAAA;WAAC,CAAA;AAAA,SAAA;QAAC,IAAIA,CAAC,GAAC,EAAE;AAACe,UAAAA,CAAC,GAAC,CAAC,CAAA;QAAC,GAAGf,CAAC,CAACyD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC1C,CAAC,EAAE,EAACrB,CAAC,CAACuf,CAAC,CAACnd,KAAK,CAAC,CAACs0B,CAAC,CAACE,CAAC,CAACt2B,CAAC,CAACiB,MAAM,GAAC,CAAC,CAAC,EAAC00B,CAAC,CAAC,EAAC1W,CAAC,GAAC6V,CAAC,CAAC1yB,IAAI,EAAE,CAAC,QAAM,CAAC6c,CAAC,CAAC1c,IAAI,EAAA;AAAC,OAAC,CAAC,CAAA;KAAC,CAAA;AAAC,IAAA,OAAO5C,CAAC,CAAA;AAAA,GAAC,CAAC,CAAA;AACpe,EAAA,SAAS42B,EAAEA,CAACrM,CAAC,EAACvqB,CAAC,EAAC;AAACuqB,IAAAA,CAAC,YAAY5pB,MAAM,KAAG4pB,CAAC,IAAE,EAAE,CAAC,CAAA;IAAC,IAAIF,CAAC,GAAC,CAAC;MAACtqB,CAAC,GAAC,CAAC,CAAC;AAAC0B,MAAAA,CAAC,GAAC;AAACgB,QAAAA,IAAI,EAAC,SAALA,IAAIA,GAAW;UAAC,IAAG,CAAC1C,CAAC,IAAEsqB,CAAC,GAACE,CAAC,CAACjpB,MAAM,EAAC;YAAC,IAAIiC,CAAC,GAAC8mB,CAAC,EAAE,CAAA;YAAC,OAAM;cAACloB,KAAK,EAACnC,CAAC,CAACuD,CAAC,EAACgnB,CAAC,CAAChnB,CAAC,CAAC,CAAC;AAACX,cAAAA,IAAI,EAAC,CAAC,CAAA;aAAE,CAAA;AAAA,WAAA;UAAC7C,CAAC,GAAC,CAAC,CAAC,CAAA;UAAC,OAAM;YAAC6C,IAAI,EAAC,CAAC,CAAC;AAACT,YAAAA,KAAK,EAAC,KAAK,CAAA;WAAE,CAAA;AAAA,SAAA;OAAE,CAAA;AAACV,IAAAA,CAAC,CAACgC,MAAM,CAACC,QAAQ,CAAC,GAAC,YAAU;AAAC,MAAA,OAAOjC,CAAC,CAAA;KAAC,CAAA;AAAC,IAAA,OAAOA,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,IAAIo1B,EAAE,GAAC,UAAU,IAAE,OAAO52B,MAAM,CAACe,MAAM,GAACf,MAAM,CAACe,MAAM,GAAC,UAASupB,CAAC,EAACvqB,CAAC,EAAC;AAAC,IAAA,KAAI,IAAIqqB,CAAC,GAAC,CAAC,EAACA,CAAC,GAAChpB,SAAS,CAACC,MAAM,EAAC+oB,CAAC,EAAE,EAAC;AAAC,MAAA,IAAItqB,CAAC,GAACsB,SAAS,CAACgpB,CAAC,CAAC,CAAA;AAAC,MAAA,IAAGtqB,CAAC,EAAC,KAAI,IAAI0B,CAAC,IAAI1B,CAAC,EAACE,MAAM,CAACK,SAAS,CAACC,cAAc,CAACC,IAAI,CAACT,CAAC,EAAC0B,CAAC,CAAC,KAAG8oB,CAAC,CAAC9oB,CAAC,CAAC,GAAC1B,CAAC,CAAC0B,CAAC,CAAC,CAAC,CAAA;AAAA,KAAA;AAAC,IAAA,OAAO8oB,CAAC,CAAA;GAAC,CAAA;AAAC2J,EAAAA,CAAC,CAAC,eAAe,EAAC,UAAS3J,CAAC,EAAC;IAAC,OAAOA,CAAC,IAAEsM,EAAE,CAAA;AAAA,GAAC,CAAC,CAAA;AAC5d3C,EAAAA,CAAC,CAAC,WAAW,EAAC,UAAS3J,CAAC,EAAC;IAAC,OAAOA,CAAC,GAACA,CAAC,GAAC,UAASvqB,CAAC,EAACqqB,CAAC,EAAC;MAAC,OAAOrqB,CAAC,KAAGqqB,CAAC,GAAC,CAAC,KAAGrqB,CAAC,IAAE,CAAC,GAACA,CAAC,KAAG,CAAC,GAACqqB,CAAC,GAACrqB,CAAC,KAAGA,CAAC,IAAEqqB,CAAC,KAAGA,CAAC,CAAA;KAAC,CAAA;AAAA,GAAC,CAAC,CAAA;AAAC6J,EAAAA,CAAC,CAAC,0BAA0B,EAAC,UAAS3J,CAAC,EAAC;IAAC,OAAOA,CAAC,GAACA,CAAC,GAAC,UAASvqB,CAAC,EAACqqB,CAAC,EAAC;MAAC,IAAItqB,CAAC,GAAC,IAAI,CAAA;MAACA,CAAC,YAAYY,MAAM,KAAGZ,CAAC,GAACY,MAAM,CAACZ,CAAC,CAAC,CAAC,CAAA;AAAC,MAAA,IAAI0B,CAAC,GAAC1B,CAAC,CAACuB,MAAM,CAAA;MAAC+oB,CAAC,GAACA,CAAC,IAAE,CAAC,CAAA;MAAC,KAAI,CAAC,GAACA,CAAC,KAAGA,CAAC,GAACyD,IAAI,CAAC5C,GAAG,CAACb,CAAC,GAAC5oB,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC4oB,CAAC,GAAC5oB,CAAC,EAAC4oB,CAAC,EAAE,EAAC;AAAC,QAAA,IAAI9mB,CAAC,GAACxD,CAAC,CAACsqB,CAAC,CAAC,CAAA;AAAC,QAAA,IAAG9mB,CAAC,KAAGvD,CAAC,IAAEC,MAAM,CAAC62B,EAAE,CAACvzB,CAAC,EAACvD,CAAC,CAAC,EAAC,OAAM,CAAC,CAAC,CAAA;AAAA,OAAA;AAAC,MAAA,OAAM,CAAC,CAAC,CAAA;KAAC,CAAA;AAAA,GAAC,CAAC,CAAA;AACrUk0B,EAAAA,CAAC,CAAC,2BAA2B,EAAC,UAAS3J,CAAC,EAAC;IAAC,OAAOA,CAAC,GAACA,CAAC,GAAC,UAASvqB,CAAC,EAACqqB,CAAC,EAAC;MAAC,IAAG,IAAI,IAAE,IAAI,EAAC,MAAM,IAAI3pB,SAAS,CAAC,8EAA8E,CAAC,CAAA;MAAC,IAAGV,CAAC,YAAY+2B,MAAM,EAAC,MAAM,IAAIr2B,SAAS,CAAC,8EAA8E,CAAC,CAAA;AAAC,MAAA,OAAM,CAAC,CAAC,KAAG,IAAI,CAACgB,OAAO,CAAC1B,CAAC,EAACqqB,CAAC,IAAE,CAAC,CAAC,CAAA;KAAC,CAAA;AAAA,GAAC,CAAC,CAAA;AAAC6J,EAAAA,CAAC,CAAC,sBAAsB,EAAC,UAAS3J,CAAC,EAAC;AAAC,IAAA,OAAOA,CAAC,GAACA,CAAC,GAAC,YAAU;AAAC,MAAA,OAAOqM,EAAE,CAAC,IAAI,EAAC,UAAS52B,CAAC,EAAC;AAAC,QAAA,OAAOA,CAAC,CAAA;AAAA,OAAC,CAAC,CAAA;KAAC,CAAA;AAAA,GAAC,CAAC,CAAA;AAAC,EAAA,IAAIg3B,EAAE,GAAC,IAAI,IAAEhD,IAAI,CAAA;AACxc,EAAA,SAASiD,CAACA,CAAC1M,CAAC,EAACvqB,CAAC,EAAC;AAACuqB,IAAAA,CAAC,GAACA,CAAC,CAACxkB,KAAK,CAAC,GAAG,CAAC,CAAA;IAAC,IAAIskB,CAAC,GAAC2M,EAAE,CAAA;IAACzM,CAAC,CAAC,CAAC,CAAC,IAAGF,CAAC,IAAE,WAAW,IAAE,OAAOA,CAAC,CAAC6M,UAAU,IAAE7M,CAAC,CAAC6M,UAAU,CAAC,MAAM,GAAC3M,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAAC,IAAA,KAAI,IAAIxqB,CAAC,EAACwqB,CAAC,CAACjpB,MAAM,KAAGvB,CAAC,GAACwqB,CAAC,CAACrM,KAAK,EAAE,CAAC,GAAEqM,CAAC,CAACjpB,MAAM,IAAE,KAAK,CAAC,KAAGtB,CAAC,GAACqqB,CAAC,CAACtqB,CAAC,CAAC,IAAEsqB,CAAC,CAACtqB,CAAC,CAAC,KAAGE,MAAM,CAACK,SAAS,CAACP,CAAC,CAAC,GAACsqB,CAAC,GAACA,CAAC,CAACtqB,CAAC,CAAC,GAACsqB,CAAC,GAACA,CAAC,CAACtqB,CAAC,CAAC,GAAC,EAAE,GAACsqB,CAAC,CAACtqB,CAAC,CAAC,GAACC,CAAC,CAAA;AAAA,GAAA;EAAE,SAASm3B,CAACA,GAAE;IAAC,MAAMpyB,KAAK,CAAC,cAAc,CAAC,CAAA;AAAC,GAAA;AAAC,EAAA,SAASqyB,EAAEA,CAAC7M,CAAC,EAACvqB,CAAC,EAAC;IAACA,CAAC,GAACW,MAAM,CAAC02B,YAAY,CAAC91B,KAAK,CAAC,IAAI,EAACvB,CAAC,CAAC,CAAA;IAAC,OAAO,IAAI,IAAEuqB,CAAC,GAACvqB,CAAC,GAACuqB,CAAC,GAACvqB,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,IAAIs3B,EAAE;AAACC,IAAAA,EAAE,GAAC,WAAW,KAAG,OAAOC,WAAW;IAACC,EAAE;AAACC,IAAAA,EAAE,GAAC,WAAW,KAAG,OAAOzJ,WAAW,CAAA;EAAC,IAAI0J,EAAE,GAAC,EAAE;AAAClB,IAAAA,CAAC,GAAC,IAAI,CAAA;EAAC,SAASmB,EAAEA,CAACrN,CAAC,EAAC;AAAC,IAAA,IAAIvqB,CAAC,CAAA;AAAC,IAAA,KAAK,CAAC,KAAGA,CAAC,KAAGA,CAAC,GAAC,CAAC,CAAC,CAAA;AAAC63B,IAAAA,EAAE,EAAE,CAAA;AAAC73B,IAAAA,CAAC,GAAC23B,EAAE,CAAC33B,CAAC,CAAC,CAAA;IAAC,KAAI,IAAIqqB,CAAC,GAACjqB,KAAK,CAAC0tB,IAAI,CAACgK,KAAK,CAACvN,CAAC,CAACjpB,MAAM,GAAC,CAAC,CAAC,CAAC,EAACvB,CAAC,GAACC,CAAC,CAAC,EAAE,CAAC,IAAE,EAAE,EAACyB,CAAC,GAAC,CAAC,EAAC8B,CAAC,GAAC,CAAC,EAAC9B,CAAC,GAAC8oB,CAAC,CAACjpB,MAAM,GAAC,CAAC,EAACG,CAAC,IAAE,CAAC,EAAC;AAAC,MAAA,IAAI4B,CAAC,GAACknB,CAAC,CAAC9oB,CAAC,CAAC;AAAC0zB,QAAAA,CAAC,GAAC5K,CAAC,CAAC9oB,CAAC,GAAC,CAAC,CAAC;AAAC6d,QAAAA,CAAC,GAACiL,CAAC,CAAC9oB,CAAC,GAAC,CAAC,CAAC;AAAC0C,QAAAA,CAAC,GAACnE,CAAC,CAACqD,CAAC,IAAE,CAAC,CAAC,CAAA;AAACA,MAAAA,CAAC,GAACrD,CAAC,CAAC,CAACqD,CAAC,GAAC,CAAC,KAAG,CAAC,GAAC8xB,CAAC,IAAE,CAAC,CAAC,CAAA;AAACA,MAAAA,CAAC,GAACn1B,CAAC,CAAC,CAACm1B,CAAC,GAAC,EAAE,KAAG,CAAC,GAAC7V,CAAC,IAAE,CAAC,CAAC,CAAA;AAACA,MAAAA,CAAC,GAACtf,CAAC,CAACsf,CAAC,GAAC,EAAE,CAAC,CAAA;MAAC+K,CAAC,CAAC9mB,CAAC,EAAE,CAAC,GAACY,CAAC,GAACd,CAAC,GAAC8xB,CAAC,GAAC7V,CAAC,CAAA;AAAA,KAAA;AAACnb,IAAAA,CAAC,GAAC,CAAC,CAAA;AAACmb,IAAAA,CAAC,GAACvf,CAAC,CAAA;AAAC,IAAA,QAAOwqB,CAAC,CAACjpB,MAAM,GAACG,CAAC;AAAE,MAAA,KAAK,CAAC;QAAC0C,CAAC,GAAComB,CAAC,CAAC9oB,CAAC,GAAC,CAAC,CAAC,EAAC6d,CAAC,GAACtf,CAAC,CAAC,CAACmE,CAAC,GAAC,EAAE,KAAG,CAAC,CAAC,IAAEpE,CAAC,CAAA;AAAC,MAAA,KAAK,CAAC;AAACwqB,QAAAA,CAAC,GAACA,CAAC,CAAC9oB,CAAC,CAAC,EAAC4oB,CAAC,CAAC9mB,CAAC,CAAC,GAACvD,CAAC,CAACuqB,CAAC,IAAE,CAAC,CAAC,GAACvqB,CAAC,CAAC,CAACuqB,CAAC,GAAC,CAAC,KAAG,CAAC,GAACpmB,CAAC,IAAE,CAAC,CAAC,GAACmb,CAAC,GAACvf,CAAC,CAAA;AAAA,KAAA;AAAC,IAAA,OAAOsqB,CAAC,CAACtE,IAAI,CAAC,EAAE,CAAC,CAAA;AAAA,GAAA;EAC/xB,SAASgS,EAAEA,CAACxN,CAAC,EAAC;AAAC,IAAA,IAAIvqB,CAAC,GAACuqB,CAAC,CAACjpB,MAAM;AAAC+oB,MAAAA,CAAC,GAAC,CAAC,GAACrqB,CAAC,GAAC,CAAC,CAAA;IAACqqB,CAAC,GAAC,CAAC,GAACA,CAAC,GAACyD,IAAI,CAACgK,KAAK,CAACzN,CAAC,CAAC,GAAC,CAAC,CAAC,IAAE,IAAI,CAAC3oB,OAAO,CAAC6oB,CAAC,CAACvqB,CAAC,GAAC,CAAC,CAAC,CAAC,KAAGqqB,CAAC,GAAC,CAAC,CAAC,IAAE,IAAI,CAAC3oB,OAAO,CAAC6oB,CAAC,CAACvqB,CAAC,GAAC,CAAC,CAAC,CAAC,GAACqqB,CAAC,GAAC,CAAC,GAACA,CAAC,GAAC,CAAC,CAAC,CAAA;AAAC,IAAA,IAAItqB,CAAC,GAAC,IAAIwjB,UAAU,CAAC8G,CAAC,CAAC;AAAC5oB,MAAAA,CAAC,GAAC,CAAC,CAAA;AAACu2B,IAAAA,EAAE,CAACzN,CAAC,EAAC,UAAShnB,CAAC,EAAC;AAACxD,MAAAA,CAAC,CAAC0B,CAAC,EAAE,CAAC,GAAC8B,CAAC,CAAA;AAAA,KAAC,CAAC,CAAA;AAAC,IAAA,OAAO9B,CAAC,KAAG4oB,CAAC,GAACtqB,CAAC,CAACk4B,QAAQ,CAAC,CAAC,EAACx2B,CAAC,CAAC,GAAC1B,CAAC,CAAA;AAAA,GAAA;AAC/M,EAAA,SAASi4B,EAAEA,CAACzN,CAAC,EAACvqB,CAAC,EAAC;IAAC,SAASqqB,CAACA,CAAC/K,CAAC,EAAC;AAAC,MAAA,OAAKvf,CAAC,GAACwqB,CAAC,CAACjpB,MAAM,GAAE;QAAC,IAAI6C,CAAC,GAAComB,CAAC,CAAC2N,MAAM,CAACn4B,CAAC,EAAE,CAAC;AAACi2B,UAAAA,CAAC,GAACS,CAAC,CAACtyB,CAAC,CAAC,CAAA;AAAC,QAAA,IAAG,IAAI,IAAE6xB,CAAC,EAAC,OAAOA,CAAC,CAAA;AAAC,QAAA,IAAG,CAAC,aAAa,CAACmC,IAAI,CAACh0B,CAAC,CAAC,EAAC,MAAMY,KAAK,CAAC,mCAAmC,GAACZ,CAAC,CAAC,CAAA;AAAC,OAAA;AAAC,MAAA,OAAOmb,CAAC,CAAA;AAAA,KAAA;AAACuY,IAAAA,EAAE,EAAE,CAAA;AAAC,IAAA,KAAI,IAAI93B,CAAC,GAAC,CAAC,IAAG;AAAC,MAAA,IAAI0B,CAAC,GAAC4oB,CAAC,CAAC,CAAC,CAAC,CAAC;AAAC9mB,QAAAA,CAAC,GAAC8mB,CAAC,CAAC,CAAC,CAAC;AAAChnB,QAAAA,CAAC,GAACgnB,CAAC,CAAC,EAAE,CAAC;AAAC8K,QAAAA,CAAC,GAAC9K,CAAC,CAAC,EAAE,CAAC,CAAA;MAAC,IAAG,EAAE,KAAG8K,CAAC,IAAE,CAAC,CAAC,KAAG1zB,CAAC,EAAC,MAAA;MAAMzB,CAAC,CAACyB,CAAC,IAAE,CAAC,GAAC8B,CAAC,IAAE,CAAC,CAAC,CAAA;AAAC,MAAA,EAAE,IAAEF,CAAC,KAAGrD,CAAC,CAACuD,CAAC,IAAE,CAAC,GAAC,GAAG,GAACF,CAAC,IAAE,CAAC,CAAC,EAAC,EAAE,IAAE8xB,CAAC,IAAEn1B,CAAC,CAACqD,CAAC,IAAE,CAAC,GAAC,GAAG,GAAC8xB,CAAC,CAAC,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA;EAClU,SAAS0C,EAAEA,GAAE;IAAC,IAAG,CAACpB,CAAC,EAAC;MAACA,CAAC,GAAC,EAAE,CAAA;AAAC,MAAA,KAAI,IAAIlM,CAAC,GAAC,gEAAgE,CAACxkB,KAAK,CAAC,EAAE,CAAC,EAAC/F,CAAC,GAAC,CAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,CAAC,EAACqqB,CAAC,GAAC,CAAC,EAAC,CAAC,GAACA,CAAC,EAACA,CAAC,EAAE,EAAC;AAAC,QAAA,IAAItqB,CAAC,GAACwqB,CAAC,CAACjmB,MAAM,CAACtE,CAAC,CAACqqB,CAAC,CAAC,CAACtkB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAAC4xB,QAAAA,EAAE,CAACtN,CAAC,CAAC,GAACtqB,CAAC,CAAA;AAAC,QAAA,KAAI,IAAI0B,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC1B,CAAC,CAACuB,MAAM,EAACG,CAAC,EAAE,EAAC;AAAC,UAAA,IAAI8B,CAAC,GAACxD,CAAC,CAAC0B,CAAC,CAAC,CAAA;AAAC,UAAA,KAAK,CAAC,KAAGg1B,CAAC,CAAClzB,CAAC,CAAC,KAAGkzB,CAAC,CAAClzB,CAAC,CAAC,GAAC9B,CAAC,CAAC,CAAA;AAAA,SAAA;AAAC,OAAA;AAAC,KAAA;AAAC,GAAA;AAAE,EAAA,IAAI22B,EAAE,GAAC,UAAU,KAAG,OAAO7U,UAAU,CAAA;EAAC,SAAS8U,EAAEA,CAAC9N,CAAC,EAAC;IAAC,OAAO6N,EAAE,IAAE,IAAI,IAAE7N,CAAC,IAAEA,CAAC,YAAYhH,UAAU,CAAA;AAAA,GAAA;AAAC,EAAA,IAAI+U,EAAE,CAAA;EAAC,SAASC,EAAEA,CAAChO,CAAC,EAAC;IAAC,IAAI,CAAC4M,CAAC,GAAC5M,CAAC,CAAA;AAAC,IAAA,IAAG,IAAI,KAAGA,CAAC,IAAE,CAAC,KAAGA,CAAC,CAACjpB,MAAM,EAAC,MAAMyD,KAAK,CAAC,wDAAwD,CAAC,CAAA;AAAC,GAAA;EAAE,IAAIyzB,EAAE,GAAC,UAAU,KAAG,OAAOjV,UAAU,CAACjjB,SAAS,CAAC+D,KAAK;AAACo0B,IAAAA,CAAC,GAAC,CAAC;AAACC,IAAAA,CAAC,GAAC,CAAC,CAAA;AACriB,EAAA,SAASC,EAAEA,CAACpO,CAAC,EAACvqB,CAAC,EAAC;AAAC,IAAA,IAAGuqB,CAAC,CAAC1pB,WAAW,KAAG0iB,UAAU,EAAC,OAAOgH,CAAC,CAAA;IAAC,IAAGA,CAAC,CAAC1pB,WAAW,KAAG+3B,WAAW,EAAC,OAAO,IAAIrV,UAAU,CAACgH,CAAC,CAAC,CAAA;IAAC,IAAGA,CAAC,CAAC1pB,WAAW,KAAGT,KAAK,EAAC,OAAO,IAAImjB,UAAU,CAACgH,CAAC,CAAC,CAAA;IAAC,IAAGA,CAAC,CAAC1pB,WAAW,KAAGF,MAAM,EAAC,OAAOo3B,EAAE,CAACxN,CAAC,CAAC,CAAA;AAAC,IAAA,IAAGA,CAAC,CAAC1pB,WAAW,KAAG03B,EAAE,EAAC;AAAC,MAAA,IAAG,CAACv4B,CAAC,KAAGA,CAAC,GAACuqB,CAAC,CAAC4M,CAAC,CAAC,IAAEn3B,CAAC,CAACa,WAAW,KAAG0iB,UAAU,EAAC,OAAOvjB,CAAC,CAAA;MAACA,CAAC,GAACuqB,CAAC,CAAC4M,CAAC,CAAA;MAACn3B,CAAC,GAAC,IAAI,IAAEA,CAAC,IAAEq4B,EAAE,CAACr4B,CAAC,CAAC,GAACA,CAAC,GAAC,QAAQ,KAAG,OAAOA,CAAC,GAAC+3B,EAAE,CAAC/3B,CAAC,CAAC,GAAC,IAAI,CAAA;MAAC,OAAM,CAACuqB,CAAC,GAACA,CAAC,CAAC4M,CAAC,GAACn3B,CAAC,IAAE,IAAIujB,UAAU,CAACgH,CAAC,CAAC,GAAC+N,EAAE,KAAGA,EAAE,GAAC,IAAI/U,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAAA,KAAA;AAAC,IAAA,IAAGgH,CAAC,YAAYhH,UAAU,EAAC,OAAO,IAAIA,UAAU,CAACgH,CAAC,CAACsO,MAAM,EAACtO,CAAC,CAACuO,UAAU,EAACvO,CAAC,CAACwO,UAAU,CAAC,CAAA;IAAC,MAAMh0B,KAAK,CAAC,2HAA2H,CAAC,CAAA;AACtmB,GAAA;AAAE,EAAA,SAASi0B,EAAEA,CAACzO,CAAC,EAACvqB,CAAC,EAAC;IAAC,OAAO+E,KAAK,CAAC,qBAAqB,GAACwlB,CAAC,GAAC,gBAAgB,GAACvqB,CAAC,GAAC,GAAG,CAAC,CAAA;AAAA,GAAA;EAAC,SAASi5B,EAAEA,GAAE;IAAC,OAAOl0B,KAAK,CAAC,6CAA6C,CAAC,CAAA;AAAA,GAAA;AAAE,EAAA,SAASm0B,EAAEA,CAAC3O,CAAC,EAACvqB,CAAC,EAAC;IAACA,CAAC,GAAC,KAAK,CAAC,KAAGA,CAAC,GAAC,EAAE,GAACA,CAAC,CAAA;AAACA,IAAAA,CAAC,GAAC,KAAK,CAAC,KAAGA,CAAC,CAAC2D,CAAC,GAAC,CAAC,CAAC,GAAC3D,CAAC,CAAC2D,CAAC,CAAA;IAAC,IAAI,CAACwxB,CAAC,GAAC,IAAI,CAAA;IAAC,IAAI,CAAC5xB,CAAC,GAAC,IAAI,CAACpC,CAAC,GAAC,IAAI,CAACm0B,CAAC,GAAC,CAAC,CAAA;IAAC,IAAI,CAAC3xB,CAAC,GAAC3D,CAAC,CAAA;AAACuqB,IAAAA,CAAC,IAAE4O,EAAE,CAAC,IAAI,EAAC5O,CAAC,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAAS4O,EAAEA,CAAC5O,CAAC,EAACvqB,CAAC,EAAC;IAACuqB,CAAC,CAAC4K,CAAC,GAACwD,EAAE,CAAC34B,CAAC,EAACuqB,CAAC,CAAC5mB,CAAC,CAAC,CAAA;IAAC4mB,CAAC,CAAC+K,CAAC,GAAC,CAAC,CAAA;AAAC/K,IAAAA,CAAC,CAACppB,CAAC,GAACopB,CAAC,CAAC4K,CAAC,CAAC7zB,MAAM,CAAA;AAACipB,IAAAA,CAAC,CAAChnB,CAAC,GAACgnB,CAAC,CAAC+K,CAAC,CAAA;AAAA,GAAA;AAAC4D,EAAAA,EAAE,CAAC54B,SAAS,CAAC84B,KAAK,GAAC,YAAU;AAAC,IAAA,IAAI,CAAC71B,CAAC,GAAC,IAAI,CAAC+xB,CAAC,CAAA;GAAC,CAAA;EAAC,SAAStzB,CAACA,CAACuoB,CAAC,EAAC;IAAC,IAAGA,CAAC,CAAChnB,CAAC,GAACgnB,CAAC,CAACppB,CAAC,EAAC,MAAM4D,KAAK,CAAC,yCAAyC,GAACwlB,CAAC,CAAChnB,CAAC,GAAC,KAAK,GAACgnB,CAAC,CAACppB,CAAC,CAAC,CAAA;AAAC,GAAA;EACrd,SAASk4B,CAACA,CAAC9O,CAAC,EAAC;AAAC,IAAA,IAAIvqB,CAAC,GAACuqB,CAAC,CAAC4K,CAAC;AAAC9K,MAAAA,CAAC,GAACrqB,CAAC,CAACuqB,CAAC,CAAChnB,CAAC,CAAC;MAACxD,CAAC,GAACsqB,CAAC,GAAC,GAAG,CAAA;AAAC,IAAA,IAAG,GAAG,GAACA,CAAC,EAAC,OAAOE,CAAC,CAAChnB,CAAC,IAAE,CAAC,EAACvB,CAAC,CAACuoB,CAAC,CAAC,EAACxqB,CAAC,CAAA;IAACsqB,CAAC,GAACrqB,CAAC,CAACuqB,CAAC,CAAChnB,CAAC,GAAC,CAAC,CAAC,CAAA;AAACxD,IAAAA,CAAC,IAAE,CAACsqB,CAAC,GAAC,GAAG,KAAG,CAAC,CAAA;AAAC,IAAA,IAAG,GAAG,GAACA,CAAC,EAAC,OAAOE,CAAC,CAAChnB,CAAC,IAAE,CAAC,EAACvB,CAAC,CAACuoB,CAAC,CAAC,EAACxqB,CAAC,CAAA;IAACsqB,CAAC,GAACrqB,CAAC,CAACuqB,CAAC,CAAChnB,CAAC,GAAC,CAAC,CAAC,CAAA;AAACxD,IAAAA,CAAC,IAAE,CAACsqB,CAAC,GAAC,GAAG,KAAG,EAAE,CAAA;AAAC,IAAA,IAAG,GAAG,GAACA,CAAC,EAAC,OAAOE,CAAC,CAAChnB,CAAC,IAAE,CAAC,EAACvB,CAAC,CAACuoB,CAAC,CAAC,EAACxqB,CAAC,CAAA;IAACsqB,CAAC,GAACrqB,CAAC,CAACuqB,CAAC,CAAChnB,CAAC,GAAC,CAAC,CAAC,CAAA;AAACxD,IAAAA,CAAC,IAAE,CAACsqB,CAAC,GAAC,GAAG,KAAG,EAAE,CAAA;AAAC,IAAA,IAAG,GAAG,GAACA,CAAC,EAAC,OAAOE,CAAC,CAAChnB,CAAC,IAAE,CAAC,EAACvB,CAAC,CAACuoB,CAAC,CAAC,EAACxqB,CAAC,CAAA;IAACsqB,CAAC,GAACrqB,CAAC,CAACuqB,CAAC,CAAChnB,CAAC,GAAC,CAAC,CAAC,CAAA;IAACgnB,CAAC,CAAChnB,CAAC,IAAE,CAAC,CAAA;AAACxD,IAAAA,CAAC,IAAE,CAACsqB,CAAC,GAAC,EAAE,KAAG,EAAE,CAAA;IAAC,IAAG,GAAG,GAACA,CAAC,EAAC,OAAOroB,CAAC,CAACuoB,CAAC,CAAC,EAACxqB,CAAC,CAAA;IAAC,IAAG,GAAG,IAAEC,CAAC,CAACuqB,CAAC,CAAChnB,CAAC,EAAE,CAAC,IAAE,GAAG,IAAEvD,CAAC,CAACuqB,CAAC,CAAChnB,CAAC,EAAE,CAAC,IAAE,GAAG,IAAEvD,CAAC,CAACuqB,CAAC,CAAChnB,CAAC,EAAE,CAAC,IAAE,GAAG,IAAEvD,CAAC,CAACuqB,CAAC,CAAChnB,CAAC,EAAE,CAAC,IAAE,GAAG,IAAEvD,CAAC,CAACuqB,CAAC,CAAChnB,CAAC,EAAE,CAAC,EAAC,MAAM01B,EAAE,EAAE,CAAA;IAACj3B,CAAC,CAACuoB,CAAC,CAAC,CAAA;AAAC,IAAA,OAAOxqB,CAAC,CAAA;AAAA,GAAA;EAAC,IAAIu5B,EAAE,GAAC,EAAE,CAAA;EAAC,SAASC,EAAEA,GAAE;IAAC,IAAI,CAACh2B,CAAC,GAAC,EAAE,CAAA;AAAA,GAAA;AAACg2B,EAAAA,EAAE,CAACj5B,SAAS,CAACgB,MAAM,GAAC,YAAU;AAAC,IAAA,OAAO,IAAI,CAACiC,CAAC,CAACjC,MAAM,CAAA;GAAC,CAAA;AAACi4B,EAAAA,EAAE,CAACj5B,SAAS,CAACk5B,GAAG,GAAC,YAAU;AAAC,IAAA,IAAIjP,CAAC,GAAC,IAAI,CAAChnB,CAAC,CAAA;IAAC,IAAI,CAACA,CAAC,GAAC,EAAE,CAAA;AAAC,IAAA,OAAOgnB,CAAC,CAAA;GAAC,CAAA;AAAC,EAAA,SAASkP,CAACA,CAAClP,CAAC,EAACvqB,CAAC,EAAC;AAAC,IAAA,OAAK,GAAG,GAACA,CAAC,GAAEuqB,CAAC,CAAChnB,CAAC,CAACO,IAAI,CAAC9D,CAAC,GAAC,GAAG,GAAC,GAAG,CAAC,EAACA,CAAC,MAAI,CAAC,CAAA;AAACuqB,IAAAA,CAAC,CAAChnB,CAAC,CAACO,IAAI,CAAC9D,CAAC,CAAC,CAAA;AAAA,GAAA;EAAE,SAAS05B,EAAEA,CAACnP,CAAC,EAAC;IAAC,IAAIvqB,CAAC,GAAC,EAAE;AAACqqB,MAAAA,CAAC,GAAC,KAAK,CAAC,KAAGrqB,CAAC,CAAC25B,CAAC,GAAC,CAAC,CAAC,GAAC35B,CAAC,CAAC25B,CAAC,CAAA;IAAC,IAAI,CAACx1B,CAAC,GAAC;AAACR,MAAAA,CAAC,EAAC,KAAK,CAAC,KAAG3D,CAAC,CAAC2D,CAAC,GAAC,CAAC,CAAC,GAAC3D,CAAC,CAAC2D,CAAAA;KAAE,CAAA;IAAC,IAAI,CAACg2B,CAAC,GAACtP,CAAC,CAAA;IAACrqB,CAAC,GAAC,IAAI,CAACmE,CAAC,CAAA;AAACm1B,IAAAA,EAAE,CAACh4B,MAAM,IAAE+oB,CAAC,GAACiP,EAAE,CAACz1B,GAAG,EAAE,EAAC7D,CAAC,KAAGqqB,CAAC,CAAC1mB,CAAC,GAAC3D,CAAC,CAAC2D,CAAC,CAAC,EAAC4mB,CAAC,IAAE4O,EAAE,CAAC9O,CAAC,EAACE,CAAC,CAAC,EAACA,CAAC,GAACF,CAAC,IAAEE,CAAC,GAAC,IAAI2O,EAAE,CAAC3O,CAAC,EAACvqB,CAAC,CAAC,CAAA;IAAC,IAAI,CAACuD,CAAC,GAACgnB,CAAC,CAAA;AAAC,IAAA,IAAI,CAAC+K,CAAC,GAAC,IAAI,CAAC/xB,CAAC,CAACA,CAAC,CAAA;IAAC,IAAI,CAAC4xB,CAAC,GAAC,IAAI,CAACh0B,CAAC,GAAC,CAAC,CAAC,CAAA;AAAA,GAAA;AAACu4B,EAAAA,EAAE,CAACp5B,SAAS,CAAC84B,KAAK,GAAC,YAAU;AAAC,IAAA,IAAI,CAAC71B,CAAC,CAAC61B,KAAK,EAAE,CAAA;AAAC,IAAA,IAAI,CAAC9D,CAAC,GAAC,IAAI,CAAC/xB,CAAC,CAACA,CAAC,CAAA;IAAC,IAAI,CAAC4xB,CAAC,GAAC,IAAI,CAACh0B,CAAC,GAAC,CAAC,CAAC,CAAA;GAAC,CAAA;EAAC,SAASy4B,EAAEA,CAACrP,CAAC,EAAC;AAAC,IAAA,IAAIvqB,CAAC,GAACuqB,CAAC,CAAChnB,CAAC,CAAA;IAAC,IAAGvD,CAAC,CAACuD,CAAC,IAAEvD,CAAC,CAACmB,CAAC,EAAC,OAAM,CAAC,CAAC,CAAA;AAACopB,IAAAA,CAAC,CAAC+K,CAAC,GAAC/K,CAAC,CAAChnB,CAAC,CAACA,CAAC,CAAA;IAAC,IAAI8mB,CAAC,GAACgP,CAAC,CAAC9O,CAAC,CAAChnB,CAAC,CAAC,KAAG,CAAC,CAAA;IAACvD,CAAC,GAACqqB,CAAC,KAAG,CAAC,CAAA;AAACA,IAAAA,CAAC,IAAE,CAAC,CAAA;AAAC,IAAA,IAAG,EAAE,CAAC,IAAEA,CAAC,IAAE,CAAC,IAAEA,CAAC,CAAC,EAAC,MAAM2O,EAAE,CAAC3O,CAAC,EAACE,CAAC,CAAC+K,CAAC,CAAC,CAAA;AAAC,IAAA,IAAG,CAAC,GAACt1B,CAAC,EAAC,MAAM+E,KAAK,CAAC,wBAAwB,GAAC/E,CAAC,GAAC,gBAAgB,GAACuqB,CAAC,CAAC+K,CAAC,GAAC,GAAG,CAAC,CAAA;IAAC/K,CAAC,CAACppB,CAAC,GAACnB,CAAC,CAAA;IAACuqB,CAAC,CAAC4K,CAAC,GAAC9K,CAAC,CAAA;AAAC,IAAA,OAAM,CAAC,CAAC,CAAA;AAAA,GAAA;EAC/kC,SAASwP,EAAEA,CAACtP,CAAC,EAAC;IAAC,QAAOA,CAAC,CAAC4K,CAAC;AAAE,MAAA,KAAK,CAAC;AAAC,QAAA,IAAG,CAAC,IAAE5K,CAAC,CAAC4K,CAAC,EAAC0E,EAAE,CAACtP,CAAC,CAAC,CAAC,KAAKA,CAAC,EAAC;UAACA,CAAC,GAACA,CAAC,CAAChnB,CAAC,CAAA;AAAC,UAAA,KAAI,IAAIvD,CAAC,GAACuqB,CAAC,CAAChnB,CAAC,EAAC8mB,CAAC,GAACrqB,CAAC,GAAC,EAAE,EAACA,CAAC,GAACqqB,CAAC,GAAE,IAAG,CAAC,MAAIE,CAAC,CAAC4K,CAAC,CAACn1B,CAAC,EAAE,CAAC,GAAC,GAAG,CAAC,EAAC;YAACuqB,CAAC,CAAChnB,CAAC,GAACvD,CAAC,CAAA;YAACgC,CAAC,CAACuoB,CAAC,CAAC,CAAA;AAAC,YAAA,MAAMA,CAAC,CAAA;AAAA,WAAA;UAAC,MAAM0O,EAAE,EAAE,CAAA;AAAC,SAAA;AAAC,QAAA,MAAA;AAAM,MAAA,KAAK,CAAC;QAAC1O,CAAC,GAACA,CAAC,CAAChnB,CAAC,CAAA;QAACgnB,CAAC,CAAChnB,CAAC,IAAE,CAAC,CAAA;QAACvB,CAAC,CAACuoB,CAAC,CAAC,CAAA;AAAC,QAAA,MAAA;AAAM,MAAA,KAAK,CAAC;AAAC,QAAA,CAAC,IAAEA,CAAC,CAAC4K,CAAC,GAAC0E,EAAE,CAACtP,CAAC,CAAC,IAAEvqB,CAAC,GAACq5B,CAAC,CAAC9O,CAAC,CAAChnB,CAAC,CAAC,KAAG,CAAC,EAACgnB,CAAC,GAACA,CAAC,CAAChnB,CAAC,EAACgnB,CAAC,CAAChnB,CAAC,IAAEvD,CAAC,EAACgC,CAAC,CAACuoB,CAAC,CAAC,CAAC,CAAA;AAAC,QAAA,MAAA;AAAM,MAAA,KAAK,CAAC;QAACA,CAAC,GAACA,CAAC,CAAChnB,CAAC,CAAA;QAACgnB,CAAC,CAAChnB,CAAC,IAAE,CAAC,CAAA;QAACvB,CAAC,CAACuoB,CAAC,CAAC,CAAA;AAAC,QAAA,MAAA;AAAM,MAAA,KAAK,CAAC;QAACvqB,CAAC,GAACuqB,CAAC,CAACppB,CAAC,CAAA;QAAC,GAAE;UAAC,IAAG,CAACy4B,EAAE,CAACrP,CAAC,CAAC,EAAC,MAAMxlB,KAAK,CAAC,uCAAuC,CAAC,CAAA;AAAC,UAAA,IAAG,CAAC,IAAEwlB,CAAC,CAAC4K,CAAC,EAAC;YAAC,IAAG5K,CAAC,CAACppB,CAAC,IAAEnB,CAAC,EAAC,MAAM+E,KAAK,CAAC,yBAAyB,CAAC,CAAA;AAAC,YAAA,MAAA;AAAK,WAAA;UAAC80B,EAAE,CAACtP,CAAC,CAAC,CAAA;AAAA,SAAC,QAAM,CAAC,EAAA;AAAE,QAAA,MAAA;AAAM,MAAA;QAAQ,MAAMyO,EAAE,CAACzO,CAAC,CAAC4K,CAAC,EAAC5K,CAAC,CAAC+K,CAAC,CAAC,CAAA;AAAC,KAAA;AAAC,GAAA;EAAC,IAAIwE,EAAE,GAAC,EAAE,CAAA;EAAC,SAASC,EAAEA,GAAE;IAAC,IAAI,CAAC54B,CAAC,GAAC,EAAE,CAAA;IAAC,IAAI,CAACg0B,CAAC,GAAC,CAAC,CAAA;AAAC,IAAA,IAAI,CAAC5xB,CAAC,GAAC,IAAIg2B,EAAE,EAAA,CAAA;AAAA,GAAA;AAAC,EAAA,SAASS,CAACA,CAACzP,CAAC,EAACvqB,CAAC,EAAC;IAAC,CAAC,KAAGA,CAAC,CAACsB,MAAM,KAAGipB,CAAC,CAACppB,CAAC,CAAC2C,IAAI,CAAC9D,CAAC,CAAC,EAACuqB,CAAC,CAAC4K,CAAC,IAAEn1B,CAAC,CAACsB,MAAM,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAAS24B,EAAEA,CAAC1P,CAAC,EAACvqB,CAAC,EAAC;AAAC,IAAA,IAAGA,CAAC,GAACA,CAAC,CAAC4zB,EAAE,EAAC;MAACoG,CAAC,CAACzP,CAAC,EAACA,CAAC,CAAChnB,CAAC,CAACi2B,GAAG,EAAE,CAAC,CAAA;MAAC,KAAI,IAAInP,CAAC,GAAC,CAAC,EAACA,CAAC,GAACrqB,CAAC,CAACsB,MAAM,EAAC+oB,CAAC,EAAE,EAAC2P,CAAC,CAACzP,CAAC,EAACvqB,CAAC,CAACqqB,CAAC,CAAC,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA;EAAE,IAAI6P,CAAC,GAAC,UAAU,KAAG,OAAOz2B,MAAM,IAAE,QAAQ,KAAG,OAAOA,MAAM,EAAE,GAACA,MAAM,CAAC,KAAK,CAAC,CAAC,GAAC,KAAK,CAAC,CAAA;AAAC,EAAA,SAAS02B,EAAEA,CAAC5P,CAAC,EAACvqB,CAAC,EAAC;AAACC,IAAAA,MAAM,CAACm6B,QAAQ,CAAC7P,CAAC,CAAC,KAAG2P,CAAC,GAAC3P,CAAC,CAAC2P,CAAC,CAAC,IAAEl6B,CAAC,GAAC,KAAK,CAAC,KAAGuqB,CAAC,CAACkO,CAAC,GAAClO,CAAC,CAACkO,CAAC,IAAEz4B,CAAC,GAACC,MAAM,CAAC4zB,gBAAgB,CAACtJ,CAAC,EAAC;AAACkO,MAAAA,CAAC,EAAC;AAACt2B,QAAAA,KAAK,EAACnC,CAAC;QAACm0B,YAAY,EAAC,CAAC,CAAC;QAACC,QAAQ,EAAC,CAAC,CAAC;AAACiG,QAAAA,UAAU,EAAC,CAAC,CAAA;AAAC,OAAA;AAAC,KAAC,CAAC,CAAC,CAAA;AAAA,GAAA;EAAC,SAASC,EAAEA,CAAC/P,CAAC,EAAC;AAAC,IAAA,IAAIvqB,CAAC,CAAA;AAACk6B,IAAAA,CAAC,GAACl6B,CAAC,GAACuqB,CAAC,CAAC2P,CAAC,CAAC,GAACl6B,CAAC,GAACuqB,CAAC,CAACkO,CAAC,CAAA;AAAC,IAAA,OAAO,IAAI,IAAEz4B,CAAC,GAAC,CAAC,GAACA,CAAC,CAAA;AAAA,GAAA;EAAC,SAASu6B,EAAEA,CAAChQ,CAAC,EAAC;AAAC4P,IAAAA,EAAE,CAAC5P,CAAC,EAAC,CAAC,CAAC,CAAA;AAAC,IAAA,OAAOA,CAAC,CAAA;AAAA,GAAA;EAAC,SAASiQ,EAAEA,CAACjQ,CAAC,EAAC;AAAC,IAAA,OAAOnqB,KAAK,CAACq6B,OAAO,CAAClQ,CAAC,CAAC,GAAC,CAAC,EAAE+P,EAAE,CAAC/P,CAAC,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAA;AAAA,GAAA;EAAC,SAASmQ,EAAEA,CAACnQ,CAAC,EAAC;AAAC,IAAA,IAAG,CAACnqB,KAAK,CAACq6B,OAAO,CAAClQ,CAAC,CAAC,EAAC,MAAMxlB,KAAK,CAAC,oCAAoC,CAAC,CAAA;AAACo1B,IAAAA,EAAE,CAAC5P,CAAC,EAAC,CAAC,CAAC,CAAA;AAAA,GAAA;EAAE,SAASoQ,EAAEA,CAACpQ,CAAC,EAAC;IAAC,OAAO,IAAI,KAAGA,CAAC,IAAE,QAAQ,KAAG,OAAOA,CAAC,IAAE,CAACnqB,KAAK,CAACq6B,OAAO,CAAClQ,CAAC,CAAC,IAAEA,CAAC,CAAC1pB,WAAW,KAAGZ,MAAM,CAAA;AAAA,GAAA;EAAC,IAAI26B,EAAE,GAAC36B,MAAM,CAAC46B,MAAM,CAACN,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;EAAC,SAASO,EAAEA,CAACvQ,CAAC,EAAC;IAAC,IAAGiQ,EAAE,CAACjQ,CAAC,CAACyL,CAAC,CAAC,EAAC,MAAMjxB,KAAK,CAAC,oCAAoC,CAAC,CAAA;AAAC,GAAA;AAAC,EAAA,IAAIg2B,EAAE,GAAC,WAAW,IAAE,OAAOt3B,MAAM,IAAE,WAAW,IAAE,OAAOA,MAAM,CAACu3B,WAAW,CAAA;EAAC,SAASC,EAAEA,CAAC1Q,CAAC,EAAC;IAAC,OAAM;AAACpoB,MAAAA,KAAK,EAACooB,CAAC;MAAC4J,YAAY,EAAC,CAAC,CAAC;MAACC,QAAQ,EAAC,CAAC,CAAC;AAACiG,MAAAA,UAAU,EAAC,CAAC,CAAA;KAAE,CAAA;AAAA,GAAA;AAAE,EAAA,SAASa,CAACA,CAAC3Q,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;AAAC,IAAA,OAAM,CAAC,CAAC,KAAGrqB,CAAC,GAAC,IAAI,GAACA,CAAC,IAAEuqB,CAAC,CAACppB,CAAC,GAACopB,CAAC,CAAChnB,CAAC,GAACgnB,CAAC,CAAChnB,CAAC,CAACvD,CAAC,CAAC,GAAC,KAAK,CAAC,GAAC,CAAC,KAAK,CAAC,KAAGqqB,CAAC,GAAC,CAAC,GAACA,CAAC,KAAGE,CAAC,CAAChnB,CAAC,KAAG8mB,CAAC,GAACE,CAAC,CAAChnB,CAAC,CAACvD,CAAC,CAAC,EAAC,IAAI,IAAEqqB,CAAC,CAAC,GAACA,CAAC,GAACE,CAAC,CAACyL,CAAC,CAACh2B,CAAC,GAACuqB,CAAC,CAAC4K,CAAC,CAAC,CAAA;AAAA,GAAA;EAAC,SAASwE,CAACA,CAACpP,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC;IAACA,CAAC,GAAC,KAAK,CAAC,KAAGA,CAAC,GAAC,CAAC,CAAC,GAACA,CAAC,CAAA;IAAC+6B,EAAE,CAACvQ,CAAC,CAAC,CAAA;IAACvqB,CAAC,GAACuqB,CAAC,CAACppB,CAAC,IAAE,CAACpB,CAAC,GAACwqB,CAAC,CAACyL,CAAC,CAACh2B,CAAC,GAACuqB,CAAC,CAAC4K,CAAC,CAAC,GAAC9K,CAAC,GAAC,CAACE,CAAC,CAAChnB,CAAC,KAAGgnB,CAAC,CAAChnB,CAAC,GAACgnB,CAAC,CAACyL,CAAC,CAACzL,CAAC,CAACppB,CAAC,GAACopB,CAAC,CAAC4K,CAAC,CAAC,GAAC,EAAE,CAAC,EAAEn1B,CAAC,CAAC,GAACqqB,CAAC,CAAA;AAAA,GAAA;EAAC,SAAS8Q,EAAEA,CAAC5Q,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC;IAACsqB,CAAC,GAAC,KAAK,CAAC,KAAGA,CAAC,GAAC,CAAC,CAAC,GAACA,CAAC,CAAA;IAACtqB,CAAC,GAAC,KAAK,CAAC,KAAGA,CAAC,GAAC,CAAC,CAAC,GAACA,CAAC,CAAA;IAAC,IAAI0B,CAAC,GAACy5B,CAAC,CAAC3Q,CAAC,EAACvqB,CAAC,EAACD,CAAC,CAAC,CAAA;AAAC,IAAA,IAAI,IAAE0B,CAAC,KAAGA,CAAC,GAACm5B,EAAE,CAAC,CAAA;IAAC,IAAGJ,EAAE,CAACjQ,CAAC,CAACyL,CAAC,CAAC,EAAC3L,CAAC,KAAGqQ,EAAE,CAACj5B,CAAC,CAAC,EAACxB,MAAM,CAAC46B,MAAM,CAACp5B,CAAC,CAAC,CAAC,CAAC,KAAK,IAAGA,CAAC,KAAGm5B,EAAE,IAAEJ,EAAE,CAAC/4B,CAAC,CAAC,EAACA,CAAC,GAAC84B,EAAE,CAAC94B,CAAC,CAAC4C,KAAK,EAAE,CAAC,EAACs1B,CAAC,CAACpP,CAAC,EAACvqB,CAAC,EAACyB,CAAC,EAAC1B,CAAC,CAAC,CAAA;AAAC,IAAA,OAAO0B,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAAS25B,CAACA,CAAC7Q,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;AAACE,IAAAA,CAAC,GAAC2Q,CAAC,CAAC3Q,CAAC,EAACvqB,CAAC,CAAC,CAAA;IAACuqB,CAAC,GAAC,IAAI,IAAEA,CAAC,GAACA,CAAC,GAAC,CAACA,CAAC,CAAA;AAAC,IAAA,OAAO,IAAI,IAAEA,CAAC,GAAC,KAAK,CAAC,KAAGF,CAAC,GAAC,CAAC,GAACA,CAAC,GAACE,CAAC,CAAA;AAAA,GAAA;EACr6D,SAAS8Q,EAAEA,CAAC9Q,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC;IAACwqB,CAAC,CAAC+K,CAAC,KAAG/K,CAAC,CAAC+K,CAAC,GAAC,EAAE,CAAC,CAAA;AAAC,IAAA,IAAI7zB,CAAC,GAAC+4B,EAAE,CAACjQ,CAAC,CAACyL,CAAC,CAAC;AAACzyB,MAAAA,CAAC,GAACgnB,CAAC,CAAC+K,CAAC,CAACjL,CAAC,CAAC,CAAA;IAAC,IAAG,CAAC9mB,CAAC,EAAC;AAACxD,MAAAA,CAAC,GAACo7B,EAAE,CAAC5Q,CAAC,EAACF,CAAC,EAAC,CAAC,CAAC,EAAC,KAAK,CAAC,KAAGtqB,CAAC,GAAC,CAAC,CAAC,GAACA,CAAC,CAAC,CAAA;AAACwD,MAAAA,CAAC,GAAC,EAAE,CAAA;AAAC9B,MAAAA,CAAC,GAACA,CAAC,IAAE+4B,EAAE,CAACz6B,CAAC,CAAC,CAAA;AAAC,MAAA,KAAI,IAAIsD,CAAC,GAAC,CAAC,EAACA,CAAC,GAACtD,CAAC,CAACuB,MAAM,EAAC+B,CAAC,EAAE,EAACE,CAAC,CAACF,CAAC,CAAC,GAAC,IAAIrD,CAAC,CAACD,CAAC,CAACsD,CAAC,CAAC,CAAC,EAAC5B,CAAC,IAAEi5B,EAAE,CAACn3B,CAAC,CAACF,CAAC,CAAC,CAAC2yB,CAAC,CAAC,CAAA;AAACv0B,MAAAA,CAAC,KAAGi5B,EAAE,CAACn3B,CAAC,CAAC,EAACtD,MAAM,CAAC46B,MAAM,CAACt3B,CAAC,CAAC,CAAC,CAAA;AAACgnB,MAAAA,CAAC,CAAC+K,CAAC,CAACjL,CAAC,CAAC,GAAC9mB,CAAC,CAAA;AAAA,KAAA;AAAC,IAAA,OAAOA,CAAC,CAAA;AAAA,GAAA;EAAC,SAAS+3B,EAAEA,CAAC/Q,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC0B,CAAC,EAAC;IAAC,IAAI8B,CAAC,GAAC,KAAK,CAAC,KAAGA,CAAC,GAAC,CAAC,CAAC,GAACA,CAAC,CAAA;IAACu3B,EAAE,CAACvQ,CAAC,CAAC,CAAA;IAAChnB,CAAC,GAAC83B,EAAE,CAAC9Q,CAAC,EAACF,CAAC,EAACrqB,CAAC,EAACuD,CAAC,CAAC,CAAA;IAAC8mB,CAAC,GAACtqB,CAAC,GAACA,CAAC,GAAC,IAAIsqB,CAAC,EAAA,CAAA;AAACE,IAAAA,CAAC,GAAC4Q,EAAE,CAAC5Q,CAAC,EAACvqB,CAAC,CAAC,CAAA;AAAC,IAAA,KAAK,CAAC,IAAEyB,CAAC,IAAE8B,CAAC,CAACg4B,MAAM,CAAC95B,CAAC,EAAC,CAAC,EAAC4oB,CAAC,CAAC,EAACE,CAAC,CAACgR,MAAM,CAAC95B,CAAC,EAAC,CAAC,EAAC4oB,CAAC,CAAC2L,CAAC,CAAC,KAAGzyB,CAAC,CAACO,IAAI,CAACumB,CAAC,CAAC,EAACE,CAAC,CAACzmB,IAAI,CAACumB,CAAC,CAAC2L,CAAC,CAAC,CAAC,CAAA;AAAC,IAAA,OAAO3L,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAASmR,EAAEA,CAACjR,CAAC,EAACvqB,CAAC,EAAC;AAACuqB,IAAAA,CAAC,GAAC2Q,CAAC,CAAC3Q,CAAC,EAACvqB,CAAC,CAAC,CAAA;AAAC,IAAA,OAAO,IAAI,IAAEuqB,CAAC,GAAC,CAAC,GAACA,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAASkR,EAAEA,CAAClR,CAAC,EAACvqB,CAAC,EAAC;AAACuqB,IAAAA,CAAC,GAAC2Q,CAAC,CAAC3Q,CAAC,EAACvqB,CAAC,CAAC,CAAA;AAAC,IAAA,OAAO,IAAI,IAAEuqB,CAAC,GAAC,EAAE,GAACA,CAAC,CAAA;AAAA,GAAA;EAAE,SAASmR,EAAEA,CAACnR,CAAC,EAAC;AAAC,IAAA,QAAO,OAAOA,CAAC;AAAE,MAAA,KAAK,QAAQ;QAAC,OAAOoR,QAAQ,CAACpR,CAAC,CAAC,GAACA,CAAC,GAAC5pB,MAAM,CAAC4pB,CAAC,CAAC,CAAA;AAAC,MAAA,KAAK,QAAQ;QAAC,IAAGA,CAAC,IAAE,CAACnqB,KAAK,CAACq6B,OAAO,CAAClQ,CAAC,CAAC,EAAC;UAAC,IAAG8N,EAAE,CAAC9N,CAAC,CAAC,EAAC,OAAOqN,EAAE,CAACrN,CAAC,CAAC,CAAA;UAAC,IAAGA,CAAC,YAAYgO,EAAE,EAAC;AAAC,YAAA,IAAIv4B,CAAC,GAACuqB,CAAC,CAAC4M,CAAC,CAAA;YAACn3B,CAAC,GAAC,IAAI,IAAEA,CAAC,IAAE,QAAQ,KAAG,OAAOA,CAAC,GAACA,CAAC,GAACo4B,EAAE,IAAEp4B,CAAC,YAAYujB,UAAU,GAACqU,EAAE,CAAC53B,CAAC,CAAC,GAAC,IAAI,CAAA;AAAC,YAAA,OAAM,CAACuqB,CAAC,CAAC4M,CAAC,GAACn3B,CAAC,KAAG,EAAE,CAAA;AAAA,WAAA;AAAC,SAAA;AAAC,KAAA;AAAC,IAAA,OAAOuqB,CAAC,CAAA;AAAA,GAAA;EAAE,SAASqR,EAAEA,CAACrR,CAAC,EAAC;IAAC,IAAIvqB,CAAC,GAAC67B,EAAE,CAAA;IAAC77B,CAAC,GAAC,KAAK,CAAC,KAAGA,CAAC,GAAC87B,EAAE,GAAC97B,CAAC,CAAA;AAAC,IAAA,OAAO+7B,EAAE,CAACxR,CAAC,EAACvqB,CAAC,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAASg8B,EAAEA,CAACzR,CAAC,EAACvqB,CAAC,EAAC;IAAC,IAAG,IAAI,IAAEuqB,CAAC,EAAC;MAAC,IAAGnqB,KAAK,CAACq6B,OAAO,CAAClQ,CAAC,CAAC,EAACA,CAAC,GAACwR,EAAE,CAACxR,CAAC,EAACvqB,CAAC,CAAC,CAAC,KAAK,IAAG26B,EAAE,CAACpQ,CAAC,CAAC,EAAC;QAAC,IAAIF,CAAC,GAAC,EAAE;UAACtqB,CAAC,CAAA;AAAC,QAAA,KAAIA,CAAC,IAAIwqB,CAAC,EAACF,CAAC,CAACtqB,CAAC,CAAC,GAACi8B,EAAE,CAACzR,CAAC,CAACxqB,CAAC,CAAC,EAACC,CAAC,CAAC,CAAA;AAACuqB,QAAAA,CAAC,GAACF,CAAC,CAAA;AAAA,OAAC,MAAKE,CAAC,GAACvqB,CAAC,CAACuqB,CAAC,CAAC,CAAA;AAAC,MAAA,OAAOA,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA;AAAC,EAAA,SAASwR,EAAEA,CAACxR,CAAC,EAACvqB,CAAC,EAAC;AAAC,IAAA,KAAI,IAAIqqB,CAAC,GAACE,CAAC,CAAClmB,KAAK,EAAE,EAACtE,CAAC,GAAC,CAAC,EAACA,CAAC,GAACsqB,CAAC,CAAC/oB,MAAM,EAACvB,CAAC,EAAE,EAACsqB,CAAC,CAACtqB,CAAC,CAAC,GAACi8B,EAAE,CAAC3R,CAAC,CAACtqB,CAAC,CAAC,EAACC,CAAC,CAAC,CAAA;AAACI,IAAAA,KAAK,CAACq6B,OAAO,CAAClQ,CAAC,CAAC,IAAE+P,EAAE,CAAC/P,CAAC,CAAC,GAAC,CAAC,IAAEgQ,EAAE,CAAClQ,CAAC,CAAC,CAAA;AAAC,IAAA,OAAOA,CAAC,CAAA;AAAA,GAAA;EAAC,SAASwR,EAAEA,CAACtR,CAAC,EAAC;AAAC,IAAA,IAAGA,CAAC,IAAE,QAAQ,IAAE,OAAOA,CAAC,IAAEA,CAAC,CAAC0R,MAAM,EAAC,OAAO1R,CAAC,CAAC0R,MAAM,EAAE,CAAA;AAAC1R,IAAAA,CAAC,GAACmR,EAAE,CAACnR,CAAC,CAAC,CAAA;AAAC,IAAA,OAAOnqB,KAAK,CAACq6B,OAAO,CAAClQ,CAAC,CAAC,GAACqR,EAAE,CAACrR,CAAC,CAAC,GAACA,CAAC,CAAA;AAAA,GAAA;EAAC,SAASuR,EAAEA,CAACvR,CAAC,EAAC;IAAC,OAAO8N,EAAE,CAAC9N,CAAC,CAAC,GAAC,IAAIhH,UAAU,CAACgH,CAAC,CAAC,GAACA,CAAC,CAAA;AAAA,GAAA;AAAE,EAAA,SAAS2R,EAAEA,CAAC3R,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;AAACE,IAAAA,CAAC,KAAGA,CAAC,GAAC4R,EAAE,CAAC,CAAA;AAACA,IAAAA,EAAE,GAAC,IAAI,CAAA;AAAC,IAAA,IAAIp8B,CAAC,GAAC,IAAI,CAACc,WAAW,CAACs0B,CAAC,CAAA;IAAC5K,CAAC,KAAGA,CAAC,GAACxqB,CAAC,GAAC,CAACA,CAAC,CAAC,GAAC,EAAE,CAAC,CAAA;AAAC,IAAA,IAAI,CAACo1B,CAAC,GAAC,CAACp1B,CAAC,GAAC,CAAC,GAAC,CAAC,CAAC,KAAG,IAAI,CAACc,WAAW,CAAC0C,CAAC,IAAE,CAAC,CAAC,CAAA;AAAC,IAAA,IAAI,CAAC+xB,CAAC,GAAC,KAAK,CAAC,CAAA;IAAC,IAAI,CAACU,CAAC,GAACzL,CAAC,CAAA;AAACA,IAAAA,CAAC,EAAC;AAACxqB,MAAAA,CAAC,GAAC,IAAI,CAACi2B,CAAC,CAAC10B,MAAM,CAAA;MAACipB,CAAC,GAACxqB,CAAC,GAAC,CAAC,CAAA;AAAC,MAAA,IAAGA,CAAC,KAAGA,CAAC,GAAC,IAAI,CAACi2B,CAAC,CAACzL,CAAC,CAAC,EAACoQ,EAAE,CAAC56B,CAAC,CAAC,CAAC,EAAC;AAAC,QAAA,IAAI,CAACoB,CAAC,GAACopB,CAAC,GAAC,IAAI,CAAC4K,CAAC,CAAA;QAAC,IAAI,CAAC5xB,CAAC,GAACxD,CAAC,CAAA;AAAC,QAAA,MAAMwqB,CAAC,CAAA;AAAA,OAAA;AAAC,MAAA,KAAK,CAAC,KAAGvqB,CAAC,IAAE,CAAC,CAAC,GAACA,CAAC,IAAE,IAAI,CAACmB,CAAC,GAAC2sB,IAAI,CAAC5C,GAAG,CAAClrB,CAAC,EAACuqB,CAAC,GAAC,CAAC,GAAC,IAAI,CAAC4K,CAAC,CAAC,EAAC,IAAI,CAAC5xB,CAAC,GAAC,KAAK,CAAC,IAAE,IAAI,CAACpC,CAAC,GAACi7B,MAAM,CAACC,SAAS,CAAA;AAAA,KAAA;AAAC,IAAA,IAAGhS,CAAC,EAAC,KAAIrqB,CAAC,GAAC,CAAC,EAACA,CAAC,GAACqqB,CAAC,CAAC/oB,MAAM,EAACtB,CAAC,EAAE,EAAC,IAAGuqB,CAAC,GAACF,CAAC,CAACrqB,CAAC,CAAC,EAACuqB,CAAC,GAAC,IAAI,CAACppB,CAAC,EAACopB,CAAC,IAAE,IAAI,CAAC4K,CAAC,EAAC,CAACp1B,CAAC,GAAC,IAAI,CAACi2B,CAAC,CAACzL,CAAC,CAAC,IAAEnqB,KAAK,CAACq6B,OAAO,CAAC16B,CAAC,CAAC,IAAEw6B,EAAE,CAACx6B,CAAC,CAAC,GAAC,IAAI,CAACi2B,CAAC,CAACzL,CAAC,CAAC,GAACqQ,EAAE,CAAC,KAAI;MAAC76B,CAAC,GAAC,IAAI,CAACwD,CAAC,KAAG,IAAI,CAACA,CAAC,GAAC,IAAI,CAACyyB,CAAC,CAAC,IAAI,CAAC70B,CAAC,GAAC,IAAI,CAACg0B,CAAC,CAAC,GAAC,EAAE,CAAC,CAAA;AAAC,MAAA,IAAI1zB,CAAC,GAAC1B,CAAC,CAACwqB,CAAC,CAAC,CAAA;AAAC9oB,MAAAA,CAAC,GAACrB,KAAK,CAACq6B,OAAO,CAACh5B,CAAC,CAAC,IAC3qD84B,EAAE,CAAC94B,CAAC,CAAC,GAAC1B,CAAC,CAACwqB,CAAC,CAAC,GAACqQ,EAAE,CAAA;AAAA,KAAA;AAAC,GAAA;AAACsB,EAAAA,EAAE,CAAC57B,SAAS,CAAC27B,MAAM,GAAC,YAAU;AAAC,IAAA,OAAOL,EAAE,CAAC,IAAI,CAAC5F,CAAC,CAAC,CAAA;GAAC,CAAA;AAACkG,EAAAA,EAAE,CAAC57B,SAAS,CAAC4f,QAAQ,GAAC,YAAU;AAAC,IAAA,OAAO,IAAI,CAAC8V,CAAC,CAAC9V,QAAQ,EAAE,CAAA;GAAC,CAAA;AAAC,EAAA,IAAIic,EAAE,CAAA;EAAC,SAASG,EAAEA,GAAE;AAACJ,IAAAA,EAAE,CAAC36B,KAAK,CAAC,IAAI,EAACF,SAAS,CAAC,CAAA;AAAA,GAAA;AAAC0zB,EAAAA,CAAC,CAACuH,EAAE,EAACJ,EAAE,CAAC,CAAA;AAAC,EAAA,IAAGnB,EAAE,EAAC;IAAC,IAAIwB,EAAE,GAAC,EAAE,CAAA;AAACt8B,IAAAA,MAAM,CAAC4zB,gBAAgB,CAACyI,EAAE,GAAEC,EAAE,CAAC94B,MAAM,CAACu3B,WAAW,CAAC,GAACC,EAAE,CAAC,YAAU;MAAC,MAAMl2B,KAAK,CAAC,qDAAqD,CAAC,CAAA;AAAC,KAAC,CAAC,EAACw3B,EAAE,EAAE,CAAA;AAAA,GAAA;AAAE,EAAA,SAASC,EAAEA,CAACjS,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;AAAC,IAAA,IAAGA,CAAC,EAAC;MAAC,IAAItqB,CAAC,GAAC,EAAE;QAAC0B,CAAC,CAAA;MAAC,KAAIA,CAAC,IAAI4oB,CAAC,EAAC;AAAC,QAAA,IAAI9mB,CAAC,GAAC8mB,CAAC,CAAC5oB,CAAC,CAAC;UAAC4B,CAAC,GAACE,CAAC,CAACoxB,EAAE,CAAA;AAACtxB,QAAAA,CAAC,KAAGtD,CAAC,CAAC08B,CAAC,GAACl5B,CAAC,CAAC2xB,EAAE,IAAE3xB,CAAC,CAACmxB,EAAE,CAAC1yB,CAAC,EAACuB,CAAC,CAACowB,EAAE,IAAE5zB,CAAC,CAACm6B,CAAC,GAACwC,EAAE,CAACn5B,CAAC,CAACowB,EAAE,CAAC,EAACtwB,CAAC,GAAC,UAAS8xB,CAAC,EAAC;AAAC,UAAA,OAAO,UAAS7V,CAAC,EAACnb,CAAC,EAAC6xB,CAAC,EAAC;AAAC,YAAA,OAAOb,CAAC,CAACsH,CAAC,CAACnd,CAAC,EAACnb,CAAC,EAAC6xB,CAAC,EAACb,CAAC,CAAC+E,CAAC,CAAC,CAAA;WAAC,CAAA;AAAA,SAAC,CAACn6B,CAAC,CAAC,IAAEwD,CAAC,CAACuwB,EAAE,IAAE/zB,CAAC,CAACi6B,CAAC,GAAC2C,EAAE,CAACp5B,CAAC,CAAC63B,CAAC,CAAC73B,CAAC,EAACA,CAAC,CAACuwB,EAAE,CAAC,EAACzwB,CAAC,GAAC,UAAS8xB,CAAC,EAAC;AAAC,UAAA,OAAO,UAAS7V,CAAC,EAACnb,CAAC,EAAC6xB,CAAC,EAAC;AAAC,YAAA,OAAOb,CAAC,CAACsH,CAAC,CAACnd,CAAC,EAACnb,CAAC,EAAC6xB,CAAC,EAACb,CAAC,CAAC6E,CAAC,CAAC,CAAA;WAAC,CAAA;AAAA,SAAC,CAACj6B,CAAC,CAAC,IAAEsD,CAAC,GAACtD,CAAC,CAAC08B,CAAC,EAACl5B,CAAC,CAACoxB,EAAE,GAACtxB,CAAC,CAAC,CAAA;QAACA,CAAC,CAACrD,CAAC,EAACuqB,CAAC,EAAChnB,CAAC,CAAC63B,CAAC,CAAC,CAAA;AAACr7B,QAAAA,CAAC,GAAC;UAAC08B,CAAC,EAAC18B,CAAC,CAAC08B,CAAC;UAACvC,CAAC,EAACn6B,CAAC,CAACm6B,CAAC;UAACF,CAAC,EAACj6B,CAAC,CAACi6B,CAAAA;SAAE,CAAA;AAAA,OAAA;AAAC,KAAA;AAACC,IAAAA,EAAE,CAACj6B,CAAC,EAACuqB,CAAC,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,IAAIqS,EAAE,GAACn5B,MAAM,EAAE,CAAA;AAAC,EAAA,SAASo5B,EAAEA,CAACtS,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;AAAC,IAAA,OAAOE,CAAC,CAACqS,EAAE,CAAC,KAAGrS,CAAC,CAACqS,EAAE,CAAC,GAAC,UAAS78B,CAAC,EAAC0B,CAAC,EAAC;AAAC,MAAA,OAAOzB,CAAC,CAACD,CAAC,EAAC0B,CAAC,EAAC4oB,CAAC,CAAC,CAAA;AAAA,KAAC,CAAC,CAAA;AAAA,GAAA;EACruB,SAASyS,EAAEA,CAACvS,CAAC,EAAC;AAAC,IAAA,IAAIvqB,CAAC,GAACuqB,CAAC,CAACqS,EAAE,CAAC,CAAA;IAAC,IAAG,CAAC58B,CAAC,EAAC;AAAC,MAAA,IAAIqqB,CAAC,GAAC0S,EAAE,CAACxS,CAAC,CAAC,CAAA;AAACvqB,MAAAA,CAAC,GAAC,SAAFA,CAACA,CAAUD,CAAC,EAAC0B,CAAC,EAAC;AAAC,QAAA,OAAOu7B,EAAE,CAACj9B,CAAC,EAAC0B,CAAC,EAAC4oB,CAAC,CAAC,CAAA;OAAC,CAAA;AAACE,MAAAA,CAAC,CAACqS,EAAE,CAAC,GAAC58B,CAAC,CAAA;AAAA,KAAA;AAAC,IAAA,OAAOA,CAAC,CAAA;AAAA,GAAA;EAAC,SAASi9B,EAAEA,CAAC1S,CAAC,EAAC;AAAC,IAAA,IAAIvqB,CAAC,GAACuqB,CAAC,CAACoJ,EAAE,CAAA;AAAC,IAAA,IAAG3zB,CAAC,EAAC,OAAO88B,EAAE,CAAC98B,CAAC,CAAC,CAAA;IAAC,IAAGA,CAAC,GAACuqB,CAAC,CAACuK,EAAE,EAAC,OAAO+H,EAAE,CAACtS,CAAC,CAAC6Q,CAAC,CAAC73B,CAAC,EAACvD,CAAC,EAACuqB,CAAC,CAACuJ,EAAE,CAAC,CAAA;AAAA,GAAA;EAAC,SAASoJ,EAAEA,CAAC3S,CAAC,EAAC;AAAC,IAAA,IAAIvqB,CAAC,GAACi9B,EAAE,CAAC1S,CAAC,CAAC;MAACF,CAAC,GAACE,CAAC,CAAC6Q,CAAC;AAACr7B,MAAAA,CAAC,GAACwqB,CAAC,CAACmK,EAAE,CAACgE,CAAC,CAAA;AAAC,IAAA,OAAO14B,CAAC,GAAC,UAASyB,CAAC,EAAC8B,CAAC,EAAC;MAAC,OAAOxD,CAAC,CAAC0B,CAAC,EAAC8B,CAAC,EAAC8mB,CAAC,EAACrqB,CAAC,CAAC,CAAA;AAAA,KAAC,GAAC,UAASyB,CAAC,EAAC8B,CAAC,EAAC;AAAC,MAAA,OAAOxD,CAAC,CAAC0B,CAAC,EAAC8B,CAAC,EAAC8mB,CAAC,CAAC,CAAA;KAAC,CAAA;AAAA,GAAA;AACjS,EAAA,SAAS8S,EAAEA,CAAC5S,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC0B,CAAC,EAAC8B,CAAC,EAAC;IAACgnB,CAAC,GAACA,CAAC,EAAE,CAAA;IAAC,IAAIlnB,CAAC,GAAC,CAAC,CAAA;IAACknB,CAAC,CAACjpB,MAAM,IAAE,QAAQ,KAAG,OAAOipB,CAAC,CAAC,CAAC,CAAC,KAAGF,CAAC,CAACrqB,CAAC,EAACuqB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAClnB,CAAC,EAAE,CAAC,CAAA;AAAC,IAAA,OAAKA,CAAC,GAACknB,CAAC,CAACjpB,MAAM,GAAE;AAAC+oB,MAAAA,CAAC,GAACE,CAAC,CAAClnB,CAAC,EAAE,CAAC,CAAA;MAAC,KAAI,IAAI8xB,CAAC,GAAC9xB,CAAC,GAAC,CAAC,EAAC8xB,CAAC,GAAC5K,CAAC,CAACjpB,MAAM,IAAE,QAAQ,KAAG,OAAOipB,CAAC,CAAC4K,CAAC,CAAC,GAAEA,CAAC,EAAE,CAAA;AAAC,MAAA,IAAI7V,CAAC,GAACiL,CAAC,CAAClnB,CAAC,EAAE,CAAC,CAAA;AAAC8xB,MAAAA,CAAC,IAAE9xB,CAAC,CAAA;AAAC,MAAA,QAAO8xB,CAAC;AAAE,QAAA,KAAK,CAAC;AAACp1B,UAAAA,CAAC,CAACC,CAAC,EAACqqB,CAAC,EAAC/K,CAAC,CAAC,CAAA;AAAC,UAAA,MAAA;AAAM,QAAA,KAAK,CAAC;AAACvf,UAAAA,CAAC,CAACC,CAAC,EAACqqB,CAAC,EAAC/K,CAAC,EAACiL,CAAC,CAAClnB,CAAC,EAAE,CAAC,CAAC,CAAA;AAAC,UAAA,MAAA;AAAM,QAAA,KAAK,CAAC;AAAC5B,UAAAA,CAAC,CAACzB,CAAC,EAACqqB,CAAC,EAAC/K,CAAC,EAACiL,CAAC,CAAClnB,CAAC,EAAE,CAAC,EAACknB,CAAC,CAAClnB,CAAC,EAAE,CAAC,CAAC,CAAA;AAAC,UAAA,MAAA;AAAM,QAAA,KAAK,CAAC;AAAC8xB,UAAAA,CAAC,GAAC5K,CAAC,CAAClnB,CAAC,EAAE,CAAC,CAAA;AAAC,UAAA,IAAIc,CAAC,GAAComB,CAAC,CAAClnB,CAAC,EAAE,CAAC;AAAC2yB,YAAAA,CAAC,GAACzL,CAAC,CAAClnB,CAAC,EAAE,CAAC,CAAA;AAACjD,UAAAA,KAAK,CAACq6B,OAAO,CAACzE,CAAC,CAAC,GAACv0B,CAAC,CAACzB,CAAC,EAACqqB,CAAC,EAAC/K,CAAC,EAAC6V,CAAC,EAAChxB,CAAC,EAAC6xB,CAAC,CAAC,GAACzyB,CAAC,CAACvD,CAAC,EAACqqB,CAAC,EAAC/K,CAAC,EAAC6V,CAAC,EAAChxB,CAAC,EAAC6xB,CAAC,CAAC,CAAA;AAAC,UAAA,MAAA;AAAM,QAAA,KAAK,CAAC;AAACzyB,UAAAA,CAAC,CAACvD,CAAC,EAACqqB,CAAC,EAAC/K,CAAC,EAACiL,CAAC,CAAClnB,CAAC,EAAE,CAAC,EAACknB,CAAC,CAAClnB,CAAC,EAAE,CAAC,EAACknB,CAAC,CAAClnB,CAAC,EAAE,CAAC,EAACknB,CAAC,CAAClnB,CAAC,EAAE,CAAC,CAAC,CAAA;AAAC,UAAA,MAAA;AAAM,QAAA;AAAQ,UAAA,MAAM0B,KAAK,CAAC,+CAA+C,GAACowB,CAAC,CAAC,CAAA;AAAC,OAAA;AAAC,KAAA;AAAC,IAAA,OAAOn1B,CAAC,CAAA;AAAA,GAAA;AAC3f,EAAA,IAAIo9B,EAAE,GAAC35B,MAAM,EAAE,CAAA;EAAC,SAASi5B,EAAEA,CAACnS,CAAC,EAAC;AAAC,IAAA,IAAIvqB,CAAC,GAACuqB,CAAC,CAAC6S,EAAE,CAAC,CAAA;IAAC,IAAG,CAACp9B,CAAC,EAAC;AAAC,MAAA,IAAIqqB,CAAC,GAACgT,EAAE,CAAC9S,CAAC,CAAC,CAAA;AAACvqB,MAAAA,CAAC,GAAC,SAAFA,CAACA,CAAUD,CAAC,EAAC0B,CAAC,EAAC;AAAC,QAAA,OAAO67B,EAAE,CAACv9B,CAAC,EAAC0B,CAAC,EAAC4oB,CAAC,CAAC,CAAA;OAAC,CAAA;AAACE,MAAAA,CAAC,CAAC6S,EAAE,CAAC,GAACp9B,CAAC,CAAA;AAAA,KAAA;AAAC,IAAA,OAAOA,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAAS28B,EAAEA,CAACpS,CAAC,EAACvqB,CAAC,EAAC;AAAC,IAAA,IAAIqqB,CAAC,GAACE,CAAC,CAAC6S,EAAE,CAAC,CAAA;IAAC/S,CAAC,KAAGA,CAAC,GAAC,SAAFA,CAACA,CAAUtqB,CAAC,EAAC0B,CAAC,EAAC;AAAC,MAAA,OAAO+6B,EAAE,CAACz8B,CAAC,EAAC0B,CAAC,EAACzB,CAAC,CAAC,CAAA;AAAA,KAAC,EAACuqB,CAAC,CAAC6S,EAAE,CAAC,GAAC/S,CAAC,CAAC,CAAA;AAAC,IAAA,OAAOA,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,IAAIkT,EAAE,GAAC95B,MAAM,EAAE,CAAA;AAAC,EAAA,SAAS+5B,EAAEA,CAACjT,CAAC,EAACvqB,CAAC,EAAC;AAACuqB,IAAAA,CAAC,CAACzmB,IAAI,CAAC9D,CAAC,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAASy9B,EAAEA,CAAClT,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;IAACE,CAAC,CAACzmB,IAAI,CAAC9D,CAAC,EAACqqB,CAAC,CAACroB,CAAC,CAAC,CAAA;AAAA,GAAA;EAAC,SAAS07B,EAAEA,CAACnT,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC0B,CAAC,EAAC;AAAC,IAAA,IAAI8B,CAAC,GAACm5B,EAAE,CAACj7B,CAAC,CAAC;MAAC4B,CAAC,GAACgnB,CAAC,CAACroB,CAAC,CAAA;IAACuoB,CAAC,CAACzmB,IAAI,CAAC9D,CAAC,EAAC,UAASm1B,CAAC,EAAC7V,CAAC,EAACnb,CAAC,EAAC;MAAC,OAAOd,CAAC,CAAC8xB,CAAC,EAAC7V,CAAC,EAACnb,CAAC,EAACpE,CAAC,EAACwD,CAAC,CAAC,CAAA;AAAA,KAAC,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAASo6B,EAAEA,CAACpT,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC0B,CAAC,EAAC8B,CAAC,EAAC;AAAC,IAAA,IAAIF,CAAC,GAACs5B,EAAE,CAAC58B,CAAC,EAACwD,CAAC,CAAC;MAAC4xB,CAAC,GAAC9K,CAAC,CAACroB,CAAC,CAAA;IAACuoB,CAAC,CAACzmB,IAAI,CAAC9D,CAAC,EAAC,UAASsf,CAAC,EAACnb,CAAC,EAAC6xB,CAAC,EAAC;MAAC,OAAOb,CAAC,CAAC7V,CAAC,EAACnb,CAAC,EAAC6xB,CAAC,EAACj2B,CAAC,EAACsD,CAAC,CAAC,CAAA;AAAA,KAAC,CAAC,CAAA;AAAA,GAAA;EACrc,SAASg6B,EAAEA,CAAC9S,CAAC,EAAC;AAAC,IAAA,IAAIvqB,CAAC,GAACuqB,CAAC,CAACgT,EAAE,CAAC,CAAA;IAAC,OAAOv9B,CAAC,GAACA,CAAC,GAACm9B,EAAE,CAAC5S,CAAC,EAACA,CAAC,CAACgT,EAAE,CAAC,GAAC,EAAE,EAACC,EAAE,EAACC,EAAE,EAACC,EAAE,EAACC,EAAE,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,IAAIC,EAAE,GAACn6B,MAAM,EAAE,CAAA;AAAC,EAAA,SAASo6B,EAAEA,CAACtT,CAAC,EAACvqB,CAAC,EAAC;AAACuqB,IAAAA,CAAC,CAAC,CAAC,CAAC,GAACvqB,CAAC,CAAA;AAAA,GAAA;EAAC,SAAS89B,EAAEA,CAACvT,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC;AAAC,IAAA,IAAI0B,CAAC,GAAC4oB,CAAC,CAACqO,CAAC,CAAA;AAACnO,IAAAA,CAAC,CAACvqB,CAAC,CAAC,GAACD,CAAC,GAAC,UAASwD,CAAC,EAACF,CAAC,EAAC8xB,CAAC,EAAC;MAAC,OAAO1zB,CAAC,CAAC8B,CAAC,EAACF,CAAC,EAAC8xB,CAAC,EAACp1B,CAAC,CAAC,CAAA;AAAA,KAAC,GAAC0B,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAASs8B,EAAEA,CAACxT,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC0B,CAAC,EAAC8B,CAAC,EAAC;AAAC,IAAA,IAAIF,CAAC,GAACgnB,CAAC,CAACqO,CAAC;AAACvD,MAAAA,CAAC,GAAC2H,EAAE,CAACr7B,CAAC,CAAC,CAAA;IAAC8oB,CAAC,CAACvqB,CAAC,CAAC,GAAC,UAASsf,CAAC,EAACnb,CAAC,EAAC6xB,CAAC,EAAC;AAAC,MAAA,OAAO3yB,CAAC,CAACic,CAAC,EAACnb,CAAC,EAAC6xB,CAAC,EAACj2B,CAAC,EAACo1B,CAAC,EAAC5xB,CAAC,CAAC,CAAA;KAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAASy6B,EAAEA,CAACzT,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC0B,CAAC,EAAC8B,CAAC,EAACF,CAAC,EAAC;AAAC,IAAA,IAAI8xB,CAAC,GAAC9K,CAAC,CAACqO,CAAC;MAACpZ,CAAC,GAACud,EAAE,CAAC98B,CAAC,EAAC0B,CAAC,EAAC8B,CAAC,CAAC,CAAA;IAACgnB,CAAC,CAACvqB,CAAC,CAAC,GAAC,UAASmE,CAAC,EAAC6xB,CAAC,EAACW,CAAC,EAAC;AAAC,MAAA,OAAOxB,CAAC,CAAChxB,CAAC,EAAC6xB,CAAC,EAACW,CAAC,EAAC52B,CAAC,EAACuf,CAAC,EAACjc,CAAC,CAAC,CAAA;KAAC,CAAA;AAAA,GAAA;EAAC,SAAS05B,EAAEA,CAACxS,CAAC,EAAC;AAAC,IAAA,IAAIvqB,CAAC,GAACuqB,CAAC,CAACqT,EAAE,CAAC,CAAA;IAAC,OAAO59B,CAAC,GAACA,CAAC,GAACm9B,EAAE,CAAC5S,CAAC,EAACA,CAAC,CAACqT,EAAE,CAAC,GAAC,EAAE,EAACC,EAAE,EAACC,EAAE,EAACC,EAAE,EAACC,EAAE,CAAC,CAAA;AAAA,GAAA;AACxa,EAAA,SAAShB,EAAEA,CAACzS,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;IAAC,OAAKuP,EAAE,CAAC55B,CAAC,CAAC,IAAE,CAAC,IAAEA,CAAC,CAACm1B,CAAC,GAAE;AAAC,MAAA,IAAIp1B,CAAC,GAACC,CAAC,CAACmB,CAAC;AAACM,QAAAA,CAAC,GAAC4oB,CAAC,CAACtqB,CAAC,CAAC,CAAA;MAAC,IAAG,CAAC0B,CAAC,EAAC;AAAC,QAAA,IAAI8B,CAAC,GAAC8mB,CAAC,CAAC,CAAC,CAAC,CAAA;QAAC9mB,CAAC,KAAGA,CAAC,GAACA,CAAC,CAACxD,CAAC,CAAC,CAAC,KAAG0B,CAAC,GAAC4oB,CAAC,CAACtqB,CAAC,CAAC,GAACm9B,EAAE,CAAC35B,CAAC,CAAC,CAAC,CAAA;AAAA,OAAA;AAAC,MAAA,IAAG,CAAC9B,CAAC,IAAE,CAACA,CAAC,CAACzB,CAAC,EAACuqB,CAAC,EAACxqB,CAAC,CAAC,EAAC,IAAG0B,CAAC,GAACzB,CAAC,EAACD,CAAC,GAACwqB,CAAC,EAAChnB,CAAC,GAAC9B,CAAC,CAAC6zB,CAAC,EAACuE,EAAE,CAACp4B,CAAC,CAAC,EAAC,CAACA,CAAC,CAACk4B,CAAC,EAAC;AAAC,QAAA,IAAIt2B,CAAC,GAAC5B,CAAC,CAAC8B,CAAC,CAAC4xB,CAAC,CAAA;AAAC1zB,QAAAA,CAAC,GAACA,CAAC,CAAC8B,CAAC,CAACA,CAAC,CAAA;AAAC9B,QAAAA,CAAC,GAAC8B,CAAC,KAAG9B,CAAC,GAAC62B,EAAE,KAAGA,EAAE,GAAC,IAAI/U,UAAU,CAAC,CAAC,CAAC,CAAC,GAACiV,EAAE,GAACn1B,CAAC,CAACgB,KAAK,CAACd,CAAC,EAAC9B,CAAC,CAAC,GAAC,IAAI8hB,UAAU,CAAClgB,CAAC,CAAC40B,QAAQ,CAAC10B,CAAC,EAAC9B,CAAC,CAAC,CAAC,CAAA;AAAC,QAAA,CAAC8B,CAAC,GAACxD,CAAC,CAAC6zB,EAAE,IAAErwB,CAAC,CAACO,IAAI,CAACrC,CAAC,CAAC,GAAC1B,CAAC,CAAC6zB,EAAE,GAAC,CAACnyB,CAAC,CAAC,CAAA;AAAA,OAAA;AAAC,KAAA;AAAC,IAAA,OAAO8oB,CAAC,CAAA;AAAA,GAAA;AACjS,EAAA,SAAS0T,EAAEA,CAAC1T,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;IAAC,IAAGyP,EAAE,CAACx4B,MAAM,EAAC;AAAC,MAAA,IAAIvB,CAAC,GAAC+5B,EAAE,CAACj2B,GAAG,EAAE,CAAA;MAAC0mB,CAAC,KAAG4O,EAAE,CAACp5B,CAAC,CAACwD,CAAC,EAACgnB,CAAC,CAAC,EAACxqB,CAAC,CAACoB,CAAC,GAAC,CAAC,CAAC,EAACpB,CAAC,CAACo1B,CAAC,GAAC,CAAC,CAAC,CAAC,CAAA;AAAC5K,MAAAA,CAAC,GAACxqB,CAAC,CAAA;AAAA,KAAC,MAAKwqB,CAAC,GAAC,IAAImP,EAAE,CAACnP,CAAC,CAAC,CAAA;IAAC,IAAG;AAAC,MAAA,OAAOyS,EAAE,CAAC,IAAIh9B,CAAC,EAAA,EAACuqB,CAAC,EAACwS,EAAE,CAAC1S,CAAC,CAAC,CAAC,CAAA;AAAA,KAAC,SAAO;AAACrqB,MAAAA,CAAC,GAACuqB,CAAC,CAAChnB,CAAC,EAACvD,CAAC,CAACm1B,CAAC,GAAC,IAAI,EAACn1B,CAAC,CAACs1B,CAAC,GAAC,CAAC,EAACt1B,CAAC,CAACmB,CAAC,GAAC,CAAC,EAACnB,CAAC,CAACuD,CAAC,GAAC,CAAC,EAACvD,CAAC,CAAC2D,CAAC,GAAC,CAAC,CAAC,EAAC4mB,CAAC,CAACppB,CAAC,GAAC,CAAC,CAAC,EAACopB,CAAC,CAAC4K,CAAC,GAAC,CAAC,CAAC,EAAC,GAAG,GAAC2E,EAAE,CAACx4B,MAAM,IAAEw4B,EAAE,CAACh2B,IAAI,CAACymB,CAAC,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA;AAAC,EAAA,SAAS+S,EAAEA,CAAC/S,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;IAAC,KAAI,IAAItqB,CAAC,GAACsqB,CAAC,CAAC/oB,MAAM,EAACG,CAAC,GAAC,CAAC,IAAE1B,CAAC,GAAC,CAAC,EAACwD,CAAC,GAAC9B,CAAC,GAAC,CAAC,GAAC,CAAC,EAAC8B,CAAC,GAACxD,CAAC,EAACwD,CAAC,IAAE,CAAC,EAAC,IAAG8mB,CAAC,CAAC9mB,CAAC,GAAC,CAAC,CAAC,EAAEvD,CAAC,EAACuqB,CAAC,EAACF,CAAC,CAAC9mB,CAAC,CAAC,CAAC,CAAA;AAACi5B,IAAAA,EAAE,CAACjS,CAAC,EAACvqB,CAAC,EAACyB,CAAC,GAAC4oB,CAAC,CAAC,CAAC,CAAC,GAAC,KAAK,CAAC,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,SAAS6T,EAAEA,CAAC3T,CAAC,EAACvqB,CAAC,EAAC;AAAC,IAAA,IAAIqqB,CAAC,GAAC,IAAI0P,EAAE,EAAA,CAAA;IAACuD,EAAE,CAAC/S,CAAC,EAACF,CAAC,EAACgT,EAAE,CAACr9B,CAAC,CAAC,CAAC,CAAA;IAACg6B,CAAC,CAAC3P,CAAC,EAACA,CAAC,CAAC9mB,CAAC,CAACi2B,GAAG,EAAE,CAAC,CAAA;AAACjP,IAAAA,CAAC,GAAC,IAAIhH,UAAU,CAAC8G,CAAC,CAAC8K,CAAC,CAAC,CAAA;IAACn1B,CAAC,GAACqqB,CAAC,CAAClpB,CAAC,CAAA;IAAC,KAAI,IAAIpB,CAAC,GAACC,CAAC,CAACsB,MAAM,EAACG,CAAC,GAAC,CAAC,EAAC8B,CAAC,GAAC,CAAC,EAACA,CAAC,GAACxD,CAAC,EAACwD,CAAC,EAAE,EAAC;AAAC,MAAA,IAAIF,CAAC,GAACrD,CAAC,CAACuD,CAAC,CAAC,CAAA;AAACgnB,MAAAA,CAAC,CAAC4T,GAAG,CAAC96B,CAAC,EAAC5B,CAAC,CAAC,CAAA;MAACA,CAAC,IAAE4B,CAAC,CAAC/B,MAAM,CAAA;AAAA,KAAA;AAAC+oB,IAAAA,CAAC,CAAClpB,CAAC,GAAC,CAACopB,CAAC,CAAC,CAAA;AAAC,IAAA,OAAOA,CAAC,CAAA;AAAA,GAAA;AAChf,EAAA,SAAS6T,EAAEA,CAAC7T,CAAC,EAACvqB,CAAC,EAAC;IAAC,OAAM;AAAC04B,MAAAA,CAAC,EAACnO,CAAC;AAACvoB,MAAAA,CAAC,EAAChC,CAAAA;KAAE,CAAA;AAAA,GAAA;EAChC,IAAIq+B,CAAC,GAACD,EAAE,CAAC,UAAS7T,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;MAAC,IAAG,CAAC,KAAGE,CAAC,CAAC4K,CAAC,EAAC,OAAM,CAAC,CAAC,CAAA;MAAC5K,CAAC,GAACA,CAAC,CAAChnB,CAAC,CAAA;MAAC,IAAIxD,CAAC,GAACwqB,CAAC,CAAC4K,CAAC,CAAC5K,CAAC,CAAChnB,CAAC,CAAC,CAAA;MAAC,IAAI9B,CAAC,GAAC8oB,CAAC,CAAC4K,CAAC,CAAC5K,CAAC,CAAChnB,CAAC,GAAC,CAAC,CAAC,CAAA;MAAC,IAAIA,CAAC,GAACgnB,CAAC,CAAC4K,CAAC,CAAC5K,CAAC,CAAChnB,CAAC,GAAC,CAAC,CAAC;QAACF,CAAC,GAACknB,CAAC,CAAC4K,CAAC,CAAC5K,CAAC,CAAChnB,CAAC,GAAC,CAAC,CAAC,CAAA;MAACgnB,CAAC,CAAChnB,CAAC,IAAE,CAAC,CAAA;MAACvB,CAAC,CAACuoB,CAAC,CAAC,CAAA;AAAC9oB,MAAAA,CAAC,GAAC,CAAC1B,CAAC,IAAE,CAAC,GAAC0B,CAAC,IAAE,CAAC,GAAC8B,CAAC,IAAE,EAAE,GAACF,CAAC,IAAE,EAAE,MAAI,CAAC,CAAA;MAACknB,CAAC,GAAC,CAAC,IAAE9oB,CAAC,IAAE,EAAE,CAAC,GAAC,CAAC,CAAA;AAAC1B,MAAAA,CAAC,GAAC0B,CAAC,KAAG,EAAE,GAAC,GAAG,CAAA;AAACA,MAAAA,CAAC,IAAE,OAAO,CAAA;MAACk4B,CAAC,CAAC35B,CAAC,EAACqqB,CAAC,EAAC,GAAG,IAAEtqB,CAAC,GAAC0B,CAAC,GAAC68B,GAAG,GAACC,QAAQ,GAAChU,CAAC,GAAC,CAAC,IAAExqB,CAAC,GAACwqB,CAAC,GAACuD,IAAI,CAAC0Q,GAAG,CAAC,CAAC,EAAC,CAAC,GAAG,CAAC,GAAC/8B,CAAC,GAAC8oB,CAAC,GAACuD,IAAI,CAAC0Q,GAAG,CAAC,CAAC,EAACz+B,CAAC,GAAC,GAAG,CAAC,IAAE0B,CAAC,GAACqsB,IAAI,CAAC0Q,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAAC,MAAA,OAAM,CAAC,CAAC,CAAA;AAAA,KAAC,EAAC,UAASjU,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;AAACrqB,MAAAA,CAAC,GAACk7B,CAAC,CAACl7B,CAAC,EAACqqB,CAAC,CAAC,CAAA;MAAC,IAAG,IAAI,IAAErqB,CAAC,EAAC;QAACy5B,CAAC,CAAClP,CAAC,CAAChnB,CAAC,EAAC,CAAC,GAAC8mB,CAAC,GAAC,CAAC,CAAC,CAAA;QAACE,CAAC,GAACA,CAAC,CAAChnB,CAAC,CAAA;QAAC,IAAIxD,CAAC,GAACC,CAAC,CAAA;AAACD,QAAAA,CAAC,GAAC,CAACsqB,CAAC,GAAC,CAAC,GAACtqB,CAAC,GAAC,CAAC,GAAC,CAAC,IAAE,CAACA,CAAC,GAACA,CAAC,CAAA;AAAC,QAAA,CAAC,KAAGA,CAAC,GAAC,CAAC,GAAC,CAAC,GAACA,CAAC,GAAC04B,CAAC,GAACC,CAAC,GAAC,CAAC,IAAEA,CAAC,GAAC,CAAC,EAACD,CAAC,GAAC,UAAU,CAAC,GAACgG,KAAK,CAAC1+B,CAAC,CAAC,IAAE24B,CAAC,GAAC,CAAC,EAACD,CAAC,GAAC,UAAU,IAAE,qBAAqB,GAAC14B,CAAC,IAAE24B,CAAC,GAAC,CAAC,EAACD,CAAC,GAAC,CAACpO,CAAC,IAAE,EAAE,GAAC,UAAU,MAAI,CAAC,IACpf,sBAAsB,GAACtqB,CAAC,IAAEA,CAAC,GAAC+tB,IAAI,CAAC4Q,KAAK,CAAC3+B,CAAC,GAAC+tB,IAAI,CAAC0Q,GAAG,CAAC,CAAC,EAAC,CAAC,GAAG,CAAC,CAAC,EAAC9F,CAAC,GAAC,CAAC,EAACD,CAAC,GAAC,CAACpO,CAAC,IAAE,EAAE,GAACtqB,CAAC,MAAI,CAAC,KAAGC,CAAC,GAAC8tB,IAAI,CAACgK,KAAK,CAAChK,IAAI,CAAC9Y,GAAG,CAACjV,CAAC,CAAC,GAAC+tB,IAAI,CAAC6Q,GAAG,CAAC,EAAC5+B,CAAC,IAAE+tB,IAAI,CAAC0Q,GAAG,CAAC,CAAC,EAAC,CAACx+B,CAAC,CAAC,EAACD,CAAC,GAAC+tB,IAAI,CAAC4Q,KAAK,CAAC,OAAO,GAAC3+B,CAAC,CAAC,EAAC,QAAQ,IAAEA,CAAC,IAAE,EAAEC,CAAC,EAAC04B,CAAC,GAAC,CAAC,EAACD,CAAC,GAAC,CAACpO,CAAC,IAAE,EAAE,GAACrqB,CAAC,GAAC,GAAG,IAAE,EAAE,GAACD,CAAC,GAAC,OAAO,MAAI,CAAC,CAAC,CAAA;AAACsqB,QAAAA,CAAC,GAACoO,CAAC,CAAA;QAAClO,CAAC,CAAChnB,CAAC,CAACO,IAAI,CAACumB,CAAC,KAAG,CAAC,GAAC,GAAG,CAAC,CAAA;QAACE,CAAC,CAAChnB,CAAC,CAACO,IAAI,CAACumB,CAAC,KAAG,CAAC,GAAC,GAAG,CAAC,CAAA;QAACE,CAAC,CAAChnB,CAAC,CAACO,IAAI,CAACumB,CAAC,KAAG,EAAE,GAAC,GAAG,CAAC,CAAA;QAACE,CAAC,CAAChnB,CAAC,CAACO,IAAI,CAACumB,CAAC,KAAG,EAAE,GAAC,GAAG,CAAC,CAAA;AAAA,OAAA;AAAC,KAAC,CAAC;IAACuU,EAAE,GAACR,EAAE,CAAC,UAAS7T,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;MAAC,IAAG,CAAC,KAAGE,CAAC,CAAC4K,CAAC,EAAC,OAAM,CAAC,CAAC,CAAA;MAAC,KAAI,IAAIp1B,CAAC,GAACwqB,CAAC,CAAChnB,CAAC,EAAC9B,CAAC,GAAC,GAAG,EAAC8B,CAAC,GAAC,CAAC,EAACF,CAAC,GAACknB,CAAC,GAAC,CAAC,EAAC,CAAC,GAAClnB,CAAC,IAAE,GAAG,IAAE5B,CAAC,EAAC4B,CAAC,EAAE,EAAC5B,CAAC,GAAC1B,CAAC,CAACo1B,CAAC,CAACp1B,CAAC,CAACwD,CAAC,EAAE,CAAC,EAACvB,CAAC,CAACjC,CAAC,CAAC,EAACwD,CAAC,IAAE,CAAC9B,CAAC,GAAC,GAAG,KAAG,CAAC,GAAC4B,CAAC,CAAA;AAAC,MAAA,GAAG,IAAE5B,CAAC,KAAGA,CAAC,GAAC1B,CAAC,CAACo1B,CAAC,CAACp1B,CAAC,CAACwD,CAAC,EAAE,CAAC,EAACvB,CAAC,CAACjC,CAAC,CAAC,EAACwD,CAAC,IAAE,CAAC9B,CAAC,GAAC,GAAG,KAAG,EAAE,EAAC8oB,CAAC,IAAE,CAAC9oB,CAAC,GAAC,GAAG,KAAG,CAAC,CAAC,CAAA;MAAC,IAAG,GAAG,IAAEA,CAAC,EAAC,KAAI4B,CAAC,GAAC,CAAC,EAAC,CAAC,GACrfA,CAAC,IAAE,GAAG,IAAE5B,CAAC,EAAC4B,CAAC,EAAE,EAAC5B,CAAC,GAAC1B,CAAC,CAACo1B,CAAC,CAACp1B,CAAC,CAACwD,CAAC,EAAE,CAAC,EAACvB,CAAC,CAACjC,CAAC,CAAC,EAACwqB,CAAC,IAAE,CAAC9oB,CAAC,GAAC,GAAG,KAAG,CAAC,GAAC4B,CAAC,GAAC,CAAC,CAAA;MAAC,IAAG,GAAG,GAAC5B,CAAC,EAAC;QAAC1B,CAAC,GAACwD,CAAC,KAAG,CAAC,CAAA;QAAC9B,CAAC,GAAC8oB,CAAC,KAAG,CAAC,CAAA;AAAC,QAAA,IAAGA,CAAC,GAAC9oB,CAAC,GAAC,UAAU,EAAC1B,CAAC,GAAC,CAACA,CAAC,GAAC,CAAC,KAAG,CAAC,EAAC0B,CAAC,GAAC,CAACA,CAAC,KAAG,CAAC,EAAC,CAAC,IAAE1B,CAAC,KAAG0B,CAAC,GAACA,CAAC,GAAC,CAAC,KAAG,CAAC,CAAC,CAAA;QAAC1B,CAAC,GAAC,UAAU,GAAC0B,CAAC,IAAE1B,CAAC,KAAG,CAAC,CAAC,CAAA;AAAA,OAAC,MAAK,MAAMk5B,EAAE,EAAE,CAAA;MAACU,CAAC,CAAC35B,CAAC,EAACqqB,CAAC,EAACE,CAAC,GAAC,CAACxqB,CAAC,GAACA,CAAC,CAAC,CAAA;AAAC,MAAA,OAAM,CAAC,CAAC,CAAA;AAAA,KAAC,EAAC,UAASwqB,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;AAACrqB,MAAAA,CAAC,GAACk7B,CAAC,CAACl7B,CAAC,EAACqqB,CAAC,CAAC,CAAA;AAAC,MAAA,IAAG,IAAI,IAAErqB,CAAC,IAAE,IAAI,IAAEA,CAAC,EAAC;QAACy5B,CAAC,CAAClP,CAAC,CAAChnB,CAAC,EAAC,CAAC,GAAC8mB,CAAC,CAAC,CAAA;QAACE,CAAC,GAACA,CAAC,CAAChnB,CAAC,CAAA;QAAC,IAAIxD,CAAC,GAACC,CAAC,CAAA;QAACqqB,CAAC,GAAC,CAAC,GAACtqB,CAAC,CAAA;AAACA,QAAAA,CAAC,GAAC+tB,IAAI,CAAC+Q,GAAG,CAAC9+B,CAAC,CAAC,CAAA;QAACC,CAAC,GAACD,CAAC,KAAG,CAAC,CAAA;QAACA,CAAC,GAAC+tB,IAAI,CAACgK,KAAK,CAAC,CAAC/3B,CAAC,GAACC,CAAC,IAAE,UAAU,CAAC,CAAA;AAACD,QAAAA,CAAC,MAAI,CAAC,CAAA;AAACsqB,QAAAA,CAAC,KAAGtqB,CAAC,GAAC,CAACA,CAAC,KAAG,CAAC,EAACC,CAAC,GAAC,CAAC,CAACA,CAAC,KAAG,CAAC,IAAE,CAAC,EAAC,UAAU,GAACA,CAAC,KAAGA,CAAC,GAAC,CAAC,EAACD,CAAC,EAAE,EAAC,UAAU,GAACA,CAAC,KAAGA,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAAC04B,QAAAA,CAAC,GAACz4B,CAAC,CAAA;AAAC04B,QAAAA,CAAC,GAAC34B,CAAC,CAAA;AAACsqB,QAAAA,CAAC,GAACoO,CAAC,CAAA;AAAC,QAAA,KAAIz4B,CAAC,GAAC04B,CAAC,EAAC,CAAC,GAAC14B,CAAC,IAAE,GAAG,GAACqqB,CAAC,GAAEE,CAAC,CAAChnB,CAAC,CAACO,IAAI,CAACumB,CAAC,GAAC,GAAG,GAAC,GAAG,CAAC,EAACA,CAAC,GAAC,CAACA,CAAC,KAAG,CAAC,GAACrqB,CAAC,IAAE,EAAE,MAAI,CAAC,EAACA,CAAC,MAAI,CAAC,CAAA;AAACuqB,QAAAA,CAAC,CAAChnB,CAAC,CAACO,IAAI,CAACumB,CAAC,CAAC,CAAA;AAAA,OAAA;AAAC,KAAC,CAAC;IAACyU,EAAE,GAACV,EAAE,CAAC,UAAS7T,CAAC,EACjgBvqB,CAAC,EAACqqB,CAAC,EAAC;MAAC,IAAG,CAAC,KAAGE,CAAC,CAAC4K,CAAC,EAAC,OAAM,CAAC,CAAC,CAAA;MAACwE,CAAC,CAAC35B,CAAC,EAACqqB,CAAC,EAACgP,CAAC,CAAC9O,CAAC,CAAChnB,CAAC,CAAC,CAAC,CAAA;AAAC,MAAA,OAAM,CAAC,CAAC,CAAA;AAAA,KAAC,EAAC,UAASgnB,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;AAACrqB,MAAAA,CAAC,GAACk7B,CAAC,CAACl7B,CAAC,EAACqqB,CAAC,CAAC,CAAA;AAAC,MAAA,IAAG,IAAI,IAAErqB,CAAC,IAAE,IAAI,IAAEA,CAAC,EAAC,IAAGy5B,CAAC,CAAClP,CAAC,CAAChnB,CAAC,EAAC,CAAC,GAAC8mB,CAAC,CAAC,EAACE,CAAC,GAACA,CAAC,CAAChnB,CAAC,EAAC8mB,CAAC,GAACrqB,CAAC,EAAC,CAAC,IAAEqqB,CAAC,EAACoP,CAAC,CAAClP,CAAC,EAACF,CAAC,CAAC,CAAC,KAAI;QAAC,KAAIrqB,CAAC,GAAC,CAAC,EAAC,CAAC,GAACA,CAAC,EAACA,CAAC,EAAE,EAACuqB,CAAC,CAAChnB,CAAC,CAACO,IAAI,CAACumB,CAAC,GAAC,GAAG,GAAC,GAAG,CAAC,EAACA,CAAC,KAAG,CAAC,CAAA;AAACE,QAAAA,CAAC,CAAChnB,CAAC,CAACO,IAAI,CAAC,CAAC,CAAC,CAAA;AAAA,OAAA;AAAC,KAAC,CAAC;IAACi7B,EAAE,GAACX,EAAE,CAAC,UAAS7T,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;MAAC,IAAG,CAAC,KAAGE,CAAC,CAAC4K,CAAC,EAAC,OAAM,CAAC,CAAC,CAAA;MAAC,IAAIp1B,CAAC,GAACs5B,CAAC,CAAC9O,CAAC,CAAChnB,CAAC,CAAC,KAAG,CAAC,CAAA;MAACgnB,CAAC,GAACA,CAAC,CAAChnB,CAAC,CAAA;AAAC,MAAA,IAAI9B,CAAC,GAAC8oB,CAAC,CAAChnB,CAAC,CAAA;MAACgnB,CAAC,CAAChnB,CAAC,IAAExD,CAAC,CAAA;MAACiC,CAAC,CAACuoB,CAAC,CAAC,CAAA;MAACA,CAAC,GAACA,CAAC,CAAC4K,CAAC,CAAA;AAAC,MAAA,IAAI5xB,CAAC,CAAA;AAAC,MAAA,IAAGg0B,EAAE,EAAC,CAACh0B,CAAC,GAAC+zB,EAAE,MAAI/zB,CAAC,GAAC+zB,EAAE,GAAC,IAAIE,WAAW,CAAC,OAAO,EAAC;AAACwH,QAAAA,KAAK,EAAC,CAAC,CAAA;OAAE,CAAC,CAAC,EAACz7B,CAAC,GAACA,CAAC,CAAC07B,MAAM,CAAC1U,CAAC,CAAC0N,QAAQ,CAACx2B,CAAC,EAACA,CAAC,GAAC1B,CAAC,CAAC,CAAC,CAAC,KAAI;QAACA,CAAC,GAAC0B,CAAC,GAAC1B,CAAC,CAAA;AAAC,QAAA,KAAI,IAAIsD,CAAC,GAAC,EAAE,EAAC8xB,CAAC,GAAC,IAAI,EAAC7V,CAAC,EAACnb,CAAC,EAAC6xB,CAAC,EAACv0B,CAAC,GAAC1B,CAAC,GAAEuf,CAAC,GAACiL,CAAC,CAAC9oB,CAAC,EAAE,CAAC,EAAC,GAAG,GAAC6d,CAAC,GAACjc,CAAC,CAACS,IAAI,CAACwb,CAAC,CAAC,GAAC,GAAG,GAACA,CAAC,GAAC7d,CAAC,IAAE1B,CAAC,GAACo3B,CAAC,EAAE,IAAEhzB,CAAC,GAAComB,CAAC,CAAC9oB,CAAC,EAAE,CAAC,EAAC,GAAG,GAAC6d,CAAC,IAAE,GAAG,MAAInb,CAAC,GAAC,GAAG,CAAC,IAAE1C,CAAC,EAAE,EAAC01B,CAAC,EAAE,IACnf9zB,CAAC,CAACS,IAAI,CAAC,CAACwb,CAAC,GAAC,EAAE,KAAG,CAAC,GAACnb,CAAC,GAAC,EAAE,CAAC,CAAC,GAAC,GAAG,GAACmb,CAAC,GAAC7d,CAAC,IAAE1B,CAAC,GAAC,CAAC,GAACo3B,CAAC,EAAE,IAAEhzB,CAAC,GAAComB,CAAC,CAAC9oB,CAAC,EAAE,CAAC,EAAC,GAAG,MAAI0C,CAAC,GAAC,GAAG,CAAC,IAAE,GAAG,KAAGmb,CAAC,IAAE,GAAG,GAACnb,CAAC,IAAE,GAAG,KAAGmb,CAAC,IAAE,GAAG,IAAEnb,CAAC,IAAE,GAAG,MAAI,CAACZ,CAAC,GAACgnB,CAAC,CAAC9oB,CAAC,EAAE,CAAC,IAAE,GAAG,CAAC,IAAEA,CAAC,EAAE,EAAC01B,CAAC,EAAE,IAAE9zB,CAAC,CAACS,IAAI,CAAC,CAACwb,CAAC,GAAC,EAAE,KAAG,EAAE,GAAC,CAACnb,CAAC,GAAC,EAAE,KAAG,CAAC,GAACZ,CAAC,GAAC,EAAE,CAAC,CAAC,GAAC,GAAG,IAAE+b,CAAC,GAAC7d,CAAC,IAAE1B,CAAC,GAAC,CAAC,GAACo3B,CAAC,EAAE,IAAEhzB,CAAC,GAAComB,CAAC,CAAC9oB,CAAC,EAAE,CAAC,EAAC,GAAG,MAAI0C,CAAC,GAAC,GAAG,CAAC,IAAE,CAAC,KAAG,CAACmb,CAAC,IAAE,EAAE,KAAGnb,CAAC,GAAC,GAAG,CAAC,IAAE,EAAE,IAAE,GAAG,MAAI,CAACZ,CAAC,GAACgnB,CAAC,CAAC9oB,CAAC,EAAE,CAAC,IAAE,GAAG,CAAC,IAAE,GAAG,MAAI,CAACu0B,CAAC,GAACzL,CAAC,CAAC9oB,CAAC,EAAE,CAAC,IAAE,GAAG,CAAC,IAAEA,CAAC,EAAE,EAAC01B,CAAC,EAAE,KAAG7X,CAAC,GAAC,CAACA,CAAC,GAAC,CAAC,KAAG,EAAE,GAAC,CAACnb,CAAC,GAAC,EAAE,KAAG,EAAE,GAAC,CAACZ,CAAC,GAAC,EAAE,KAAG,CAAC,GAACyyB,CAAC,GAAC,EAAE,EAAC1W,CAAC,IAAE,KAAK,EAACjc,CAAC,CAACS,IAAI,CAAC,CAACwb,CAAC,IAAE,EAAE,GAAC,IAAI,IAAE,KAAK,EAAC,CAACA,CAAC,GAAC,IAAI,IAAE,KAAK,CAAC,CAAC,CAAC,GAAC6X,CAAC,EAAE,EAAC,IAAI,IAAE9zB,CAAC,CAAC/B,MAAM,KAAG6zB,CAAC,GAACiC,EAAE,CAACjC,CAAC,EAAC9xB,CAAC,CAAC,EAACA,CAAC,CAAC/B,MAAM,GAAC,CAAC,CAAC,CAAA;AAACiC,QAAAA,CAAC,GAAC6zB,EAAE,CAACjC,CAAC,EAAC9xB,CAAC,CAAC,CAAA;AAAA,OAAA;AAACs2B,MAAAA,CAAC,CAAC35B,CAAC,EAACqqB,CAAC,EAAC9mB,CAAC,CAAC,CAAA;AAAC,MAAA,OAAM,CAAC,CAAC,CAAA;AAAA,KAAC,EAAC,UAASgnB,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAAC;AAACrqB,MAAAA,CAAC,GAACk7B,CAAC,CAACl7B,CAAC,EAACqqB,CAAC,CAAC,CAAA;MAAC,IAAG,IAAI,IAAErqB,CAAC,EAAC;QAAC,IAAID,CAAC,GAAC,CAAC,CAAC,CAAA;QACrfA,CAAC,GAAC,KAAK,CAAC,KAAGA,CAAC,GAAC,CAAC,CAAC,GAACA,CAAC,CAAA;AAAC,QAAA,IAAG23B,EAAE,EAAC;AAAC,UAAA,IAAG33B,CAAC,IAAE,0EAA0E,CAACo4B,IAAI,CAACn4B,CAAC,CAAC,EAAC,MAAM+E,KAAK,CAAC,6BAA6B,CAAC,CAAA;AAAC/E,UAAAA,CAAC,GAAC,CAACy3B,EAAE,KAAGA,EAAE,GAAC,IAAIxJ,WAAW,EAAA,CAAC,EAAEC,MAAM,CAACluB,CAAC,CAAC,CAAA;AAAA,SAAC,MAAI;AAAC,UAAA,KAAI,IAAIyB,CAAC,GAAC,CAAC,EAAC8B,CAAC,GAAC,IAAIggB,UAAU,CAAC,CAAC,GAACvjB,CAAC,CAACsB,MAAM,CAAC,EAAC+B,CAAC,GAAC,CAAC,EAACA,CAAC,GAACrD,CAAC,CAACsB,MAAM,EAAC+B,CAAC,EAAE,EAAC;AAAC,YAAA,IAAI8xB,CAAC,GAACn1B,CAAC,CAACwjB,UAAU,CAACngB,CAAC,CAAC,CAAA;AAAC,YAAA,IAAG,GAAG,GAAC8xB,CAAC,EAAC5xB,CAAC,CAAC9B,CAAC,EAAE,CAAC,GAAC0zB,CAAC,CAAC,KAAI;AAAC,cAAA,IAAG,IAAI,GAACA,CAAC,EAAC5xB,CAAC,CAAC9B,CAAC,EAAE,CAAC,GAAC0zB,CAAC,IAAE,CAAC,GAAC,GAAG,CAAC,KAAI;AAAC,gBAAA,IAAG,KAAK,IAAEA,CAAC,IAAE,KAAK,IAAEA,CAAC,EAAC;kBAAC,IAAG,KAAK,IAAEA,CAAC,IAAE9xB,CAAC,GAACrD,CAAC,CAACsB,MAAM,EAAC;oBAAC,IAAIge,CAAC,GAACtf,CAAC,CAACwjB,UAAU,CAAC,EAAEngB,CAAC,CAAC,CAAA;AAAC,oBAAA,IAAG,KAAK,IAAEic,CAAC,IAAE,KAAK,IAAEA,CAAC,EAAC;AAAC6V,sBAAAA,CAAC,GAAC,IAAI,IAAEA,CAAC,GAAC,KAAK,CAAC,GAAC7V,CAAC,GAAC,KAAK,GAAC,KAAK,CAAA;sBAAC/b,CAAC,CAAC9B,CAAC,EAAE,CAAC,GAAC0zB,CAAC,IAAE,EAAE,GAAC,GAAG,CAAA;sBAAC5xB,CAAC,CAAC9B,CAAC,EAAE,CAAC,GAAC0zB,CAAC,IAAE,EAAE,GAAC,EAAE,GAAC,GAAG,CAAA;sBACpf5xB,CAAC,CAAC9B,CAAC,EAAE,CAAC,GAAC0zB,CAAC,IAAE,CAAC,GAAC,EAAE,GAAC,GAAG,CAAA;sBAAC5xB,CAAC,CAAC9B,CAAC,EAAE,CAAC,GAAC0zB,CAAC,GAAC,EAAE,GAAC,GAAG,CAAA;AAAC,sBAAA,SAAA;qBAAS,MAAK9xB,CAAC,EAAE,CAAA;AAAA,mBAAA;AAAC,kBAAA,IAAGtD,CAAC,EAAC,MAAMgF,KAAK,CAAC,6BAA6B,CAAC,CAAA;AAACowB,kBAAAA,CAAC,GAAC,KAAK,CAAA;AAAA,iBAAA;gBAAC5xB,CAAC,CAAC9B,CAAC,EAAE,CAAC,GAAC0zB,CAAC,IAAE,EAAE,GAAC,GAAG,CAAA;gBAAC5xB,CAAC,CAAC9B,CAAC,EAAE,CAAC,GAAC0zB,CAAC,IAAE,CAAC,GAAC,EAAE,GAAC,GAAG,CAAA;AAAA,eAAA;cAAC5xB,CAAC,CAAC9B,CAAC,EAAE,CAAC,GAAC0zB,CAAC,GAAC,EAAE,GAAC,GAAG,CAAA;AAAA,aAAA;AAAC,WAAA;UAACn1B,CAAC,GAACuD,CAAC,CAAC00B,QAAQ,CAAC,CAAC,EAACx2B,CAAC,CAAC,CAAA;AAAA,SAAA;QAACg4B,CAAC,CAAClP,CAAC,CAAChnB,CAAC,EAAC,CAAC,GAAC8mB,CAAC,GAAC,CAAC,CAAC,CAAA;QAACoP,CAAC,CAAClP,CAAC,CAAChnB,CAAC,EAACvD,CAAC,CAACsB,MAAM,CAAC,CAAA;QAAC04B,CAAC,CAACzP,CAAC,EAACA,CAAC,CAAChnB,CAAC,CAACi2B,GAAG,EAAE,CAAC,CAAA;AAACQ,QAAAA,CAAC,CAACzP,CAAC,EAACvqB,CAAC,CAAC,CAAA;AAAA,OAAA;AAAC,KAAC,CAAC;AAACk/B,IAAAA,EAAE,GAACd,EAAE,CAAC,UAAS7T,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC0B,CAAC,EAAC;MAAC,IAAG,CAAC,KAAG8oB,CAAC,CAAC4K,CAAC,EAAC,OAAM,CAAC,CAAC,CAAA;MAACn1B,CAAC,GAACs7B,EAAE,CAACt7B,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,CAAC,CAAA;AAACsqB,MAAAA,CAAC,GAACE,CAAC,CAAChnB,CAAC,CAACpC,CAAC,CAAA;MAACpB,CAAC,GAACs5B,CAAC,CAAC9O,CAAC,CAAChnB,CAAC,CAAC,KAAG,CAAC,CAAA;MAAC,IAAIA,CAAC,GAACgnB,CAAC,CAAChnB,CAAC,CAACA,CAAC,GAACxD,CAAC;QAACsD,CAAC,GAACE,CAAC,GAAC8mB,CAAC,CAAA;MAAC,CAAC,IAAEhnB,CAAC,KAAGknB,CAAC,CAAChnB,CAAC,CAACpC,CAAC,GAACoC,CAAC,EAAC9B,CAAC,CAACzB,CAAC,EAACuqB,CAAC,CAAC,EAAClnB,CAAC,GAACE,CAAC,GAACgnB,CAAC,CAAChnB,CAAC,CAACA,CAAC,CAAC,CAAA;AAAC,MAAA,IAAGF,CAAC,EAAC,MAAM0B,KAAK,CAAC,uDAAuD,IAAEhF,CAAC,GAAC,uBAAuB,IAAEA,CAAC,GAACsD,CAAC,CAAC,GAAC,sFAAsF,CAAC,CAAC,CAAA;AAChjBknB,MAAAA,CAAC,CAAChnB,CAAC,CAACA,CAAC,GAACA,CAAC,CAAA;AAACgnB,MAAAA,CAAC,CAAChnB,CAAC,CAACpC,CAAC,GAACkpB,CAAC,CAAA;AAAC,MAAA,OAAM,CAAC,CAAC,CAAA;KAAC,EAAC,UAASE,CAAC,EAACvqB,CAAC,EAACqqB,CAAC,EAACtqB,CAAC,EAAC0B,CAAC,EAAC;MAACzB,CAAC,GAACq7B,EAAE,CAACr7B,CAAC,EAACD,CAAC,EAACsqB,CAAC,CAAC,CAAA;AAAC,MAAA,IAAG,IAAI,IAAErqB,CAAC,EAAC,KAAID,CAAC,GAAC,CAAC,EAACA,CAAC,GAACC,CAAC,CAACsB,MAAM,EAACvB,CAAC,EAAE,EAAC;QAAC,IAAIwD,CAAC,GAACgnB,CAAC,CAAA;QAACkP,CAAC,CAACl2B,CAAC,CAACA,CAAC,EAAC,CAAC,GAAC8mB,CAAC,GAAC,CAAC,CAAC,CAAA;QAAC,IAAIhnB,CAAC,GAACE,CAAC,CAACA,CAAC,CAACi2B,GAAG,EAAE,CAAA;AAACQ,QAAAA,CAAC,CAACz2B,CAAC,EAACF,CAAC,CAAC,CAAA;AAACA,QAAAA,CAAC,CAACS,IAAI,CAACP,CAAC,CAAC4xB,CAAC,CAAC,CAAA;AAAC5xB,QAAAA,CAAC,GAACF,CAAC,CAAA;AAAC5B,QAAAA,CAAC,CAACzB,CAAC,CAACD,CAAC,CAAC,EAACwqB,CAAC,CAAC,CAAA;AAAClnB,QAAAA,CAAC,GAACknB,CAAC,CAAA;AAAC,QAAA,IAAI4K,CAAC,GAAC5xB,CAAC,CAACM,GAAG,EAAE,CAAA;AAAC,QAAA,KAAIsxB,CAAC,GAAC9xB,CAAC,CAAC8xB,CAAC,GAAC9xB,CAAC,CAACE,CAAC,CAACjC,MAAM,EAAE,GAAC6zB,CAAC,EAAC,GAAG,GAACA,CAAC,GAAE5xB,CAAC,CAACO,IAAI,CAACqxB,CAAC,GAAC,GAAG,GAAC,GAAG,CAAC,EAACA,CAAC,MAAI,CAAC,EAAC9xB,CAAC,CAAC8xB,CAAC,EAAE,CAAA;AAAC5xB,QAAAA,CAAC,CAACO,IAAI,CAACqxB,CAAC,CAAC,CAAA;QAAC9xB,CAAC,CAAC8xB,CAAC,EAAE,CAAA;AAAA,OAAA;AAAC,KAAC,CAAC,CAAA;EAAC,SAASgK,CAACA,GAAE;AAAC7C,IAAAA,EAAE,CAAC/6B,KAAK,CAAC,IAAI,EAACF,SAAS,CAAC,CAAA;AAAA,GAAA;AAAC0zB,EAAAA,CAAC,CAACoK,CAAC,EAAC7C,EAAE,CAAC,CAAA;AAAC,EAAA,IAAGvB,EAAE,EAAC;IAAC,IAAIqE,EAAE,GAAC,EAAE,CAAA;IAACn/B,MAAM,CAAC4zB,gBAAgB,CAACsL,CAAC,GAAEC,EAAE,CAAC37B,MAAM,CAACu3B,WAAW,CAAC,GAACC,EAAE,CAACh7B,MAAM,CAACwD,MAAM,CAACu3B,WAAW,CAAC,CAAC,EAACoE,EAAE,EAAE,CAAA;AAAA,GAAA;EAAE,SAASC,EAAEA,CAAC9U,CAAC,EAAC;AAAC4U,IAAAA,CAAC,CAAC3+B,IAAI,CAAC,IAAI,EAAC+pB,CAAC,CAAC,CAAA;AAAA,GAAA;AAACwK,EAAAA,CAAC,CAACsK,EAAE,EAACF,CAAC,CAAC,CAAA;EAAC,SAASG,EAAEA,GAAE;AAAC,IAAA,OAAM,CAAC,CAAC,EAACR,EAAE,EAAC,CAAC,EAACT,CAAC,EAAC,CAAC,EAACU,EAAE,EAAC,CAAC,EAACA,EAAE,CAAC,CAAA;AAAA,GAAA;EAAE,SAASQ,EAAEA,CAAChV,CAAC,EAAC;IAAC4U,CAAC,CAAC3+B,IAAI,CAAC,IAAI,EAAC+pB,CAAC,EAAC,CAAC,CAAC,EAACiV,EAAE,CAAC,CAAA;AAAA,GAAA;AAACzK,EAAAA,CAAC,CAACwK,EAAE,EAACJ,CAAC,CAAC,CAAA;EAACI,EAAE,CAACj/B,SAAS,CAACm/B,iBAAiB,GAAC,UAASlV,CAAC,EAACvqB,CAAC,EAAC;IAACs7B,EAAE,CAAC,IAAI,EAAC,CAAC,EAAC+D,EAAE,EAAC9U,CAAC,EAACvqB,CAAC,CAAC,CAAA;AAAC,IAAA,OAAO,IAAI,CAAA;GAAC,CAAA;EAAC,SAAS0/B,EAAEA,GAAE;IAAC,OAAM,CAAC,CAAC,EAACR,EAAE,EAACG,EAAE,EAACC,EAAE,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,IAAIE,EAAE,GAAC,CAAC,CAAC,CAAC,CAAA;EAAC,SAASG,EAAEA,CAACpV,CAAC,EAAC;AAAC4U,IAAAA,CAAC,CAAC3+B,IAAI,CAAC,IAAI,EAAC+pB,CAAC,CAAC,CAAA;AAAA,GAAA;AAACwK,EAAAA,CAAC,CAAC4K,EAAE,EAACR,CAAC,CAAC,CAAA;EAAC,SAASS,EAAEA,GAAE;IAAC,OAAM,CAAC,CAAC,EAACvB,CAAC,EAAC,CAAC,EAACA,CAAC,EAAC,CAAC,EAACA,CAAC,EAAC,CAAC,EAACA,CAAC,EAAC,CAAC,EAACA,CAAC,CAAC,CAAA;AAAA,GAAA;EAAE,SAASwB,EAAEA,CAACtV,CAAC,EAAC;IAAC4U,CAAC,CAAC3+B,IAAI,CAAC,IAAI,EAAC+pB,CAAC,EAAC,CAAC,CAAC,EAACuV,EAAE,CAAC,CAAA;AAAA,GAAA;AAAC/K,EAAAA,CAAC,CAAC8K,EAAE,EAACV,CAAC,CAAC,CAAA;EAAC,SAASY,EAAEA,GAAE;IAAC,OAAM,CAAC,CAAC,EAACb,EAAE,EAACS,EAAE,EAACC,EAAE,CAAC,CAAA;AAAA,GAAA;AAAC,EAAA,IAAIE,EAAE,GAAC,CAAC,CAAC,CAAC,CAAA;EAAC,SAASE,EAAEA,CAACzV,CAAC,EAAC;AAAC4U,IAAAA,CAAC,CAAC3+B,IAAI,CAAC,IAAI,EAAC+pB,CAAC,CAAC,CAAA;AAAA,GAAA;AAACwK,EAAAA,CAAC,CAACiL,EAAE,EAACb,CAAC,CAAC,CAAA;EAAC,SAASc,EAAEA,GAAE;IAAC,OAAM,CAAC,CAAC,EAAC5B,CAAC,EAAC,CAAC,EAACA,CAAC,EAAC,CAAC,EAACA,CAAC,EAAC,CAAC,EAACA,CAAC,EAAC,CAAC,EAACA,CAAC,EAAC,CAAC,EAACO,EAAE,CAAC,CAAA;AAAA,GAAA;EAAE,IAAIsB,EAAE,GAAC,CAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;IAACC,EAAE,GAAC,CAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACr4C,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;IAACC,EAAE,GAAC,CAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;IAACC,EAAE,GAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;IAACC,EAAE,GAAC,CAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,CAAC;IAACC,EAAE,GAAC,CAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACxf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;AAACC,IAAAA,EAAE,GA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G,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACtf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACrf,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACrf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACtf,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACpf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EACxf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EACxf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EACrf,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EACpf,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACrf,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACrf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACtf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACvf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACpf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACpf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACvf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACxf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EACpf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACrf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACpf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACvf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACpf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACpf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACxf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACrf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACtf,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EACpf,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EACpf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EACpf,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACxf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACpf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACvf,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACrf,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACvf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACtf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACvf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACtf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACrf,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACrf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACxf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACtf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACpf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACvf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACtf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACrf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACxf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EACpf,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EACxf,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,GAAG,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","x_google_ignoreList":[0,28]}
|